diff --git a/packages/craftcms-cp/src/styles/form.styles.ts b/packages/craftcms-cp/src/styles/form.styles.ts index a328d52b580..1e9c06d0977 100644 --- a/packages/craftcms-cp/src/styles/form.styles.ts +++ b/packages/craftcms-cp/src/styles/form.styles.ts @@ -28,7 +28,7 @@ export const baseInputStyles = css` `; export const baseFieldStyles = css` - :host(:not([label-sr-only])) .form-field__group-one { + :host(:not([label-sr-only])) .form-field__group-one .form-field__label slot:not(:empty) { margin-block-end: var(--c-spacing-sm); } diff --git a/resources/build/assets/AdminTable-BaWDz4rn.js b/resources/build/assets/AdminTable-BaWDz4rn.js deleted file mode 100644 index e748db506bc..00000000000 --- a/resources/build/assets/AdminTable-BaWDz4rn.js +++ /dev/null @@ -1,8 +0,0 @@ -import{t as e}from"./rolldown-runtime-DXc-PV0M.js";import{l as t}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{$ as n,B as r,E as i,F as a,H as o,I as s,J as c,L as l,N as u,P as d,T as f,U as p,X as m,Y as h,Z as g,_,at as v,b as y,et as b,f as ee,it as x,k as te,m as S,nt as ne,ot as re,q as C,t as w,ut as T,v as E,w as D,x as O,y as k,z as ie}from"./_plugin-vue_export-helper-C3orD-yt.js";import"./InlineFlash-Mr7imUWg.js";import{t as ae}from"./Select-BaRh7IFc.js";function oe(){return{accessor:(e,t)=>typeof e==`function`?{...t,accessorFn:e}:{...t,accessorKey:e},display:e=>e,group:e=>e}}function A(e,t){return typeof e==`function`?e(t):e}function j(e,t){return n=>{t.setState(t=>({...t,[e]:A(n,t[e])}))}}function M(e){return e instanceof Function}function se(e){return Array.isArray(e)&&e.every(e=>typeof e==`number`)}function ce(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i!=null&&i.length&&r(i)})};return r(e),n}function N(e,t,n){let r=[],i;return a=>{let o;n.key&&n.debug&&(o=Date.now());let s=e(a);if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug&&(c=Date.now()),i=t(...s),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.lengthe?.debugAll??e[t],key:!1,onChange:r}}function le(e,t,n,r){let i={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:()=>i.getValue()??e.options.renderFallbackValue,getContext:N(()=>[e,n,t,i],(e,t,n,r)=>({table:e,column:t,row:n,cell:r,getValue:r.getValue,renderValue:r.renderValue}),P(e.options,`debugCells`,`cell.getContext`))};return e._features.forEach(r=>{r.createCell==null||r.createCell(i,n,t,e)},{}),i}function ue(e,t,n,r){let i={...e._getDefaultColumnDef(),...t},a=i.accessorKey,o=i.id??(a?typeof String.prototype.replaceAll==`function`?a.replaceAll(`.`,`_`):a.replace(/\./g,`_`):void 0)??(typeof i.header==`string`?i.header:void 0),s;if(i.accessorFn?s=i.accessorFn:a&&(s=a.includes(`.`)?e=>{let t=e;for(let e of a.split(`.`))t=t?.[e];return t}:e=>e[i.accessorKey]),!o)throw Error();let c={id:`${String(o)}`,accessorFn:s,parent:r,depth:n,columnDef:i,columns:[],getFlatColumns:N(()=>[!0],()=>[c,...c.columns?.flatMap(e=>e.getFlatColumns())],P(e.options,`debugColumns`,`column.getFlatColumns`)),getLeafColumns:N(()=>[e._getOrderColumnsFn()],e=>{var t;return(t=c.columns)!=null&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},P(e.options,`debugColumns`,`column.getLeafColumns`))};for(let t of e._features)t.createColumn==null||t.createColumn(c,e);return c}var F=`debugHeaders`;function de(e,t,n){let r={id:n.id??t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=n=>{n.subHeaders&&n.subHeaders.length&&n.subHeaders.map(t),e.push(n)};return t(r),e},getContext:()=>({table:e,header:r,column:t})};return e._features.forEach(t=>{t.createHeader==null||t.createHeader(r,e)}),r}var fe={createTable:e=>{e.getHeaderGroups=N(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{let a=r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],o=i?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],s=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id)));return I(t,[...a,...s,...o],e)},P(e.options,F,`getHeaderGroups`)),e.getCenterHeaderGroups=N(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id))),I(t,n,e,`center`)),P(e.options,F,`getCenterHeaderGroups`)),e.getLeftHeaderGroups=N(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>I(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`left`),P(e.options,F,`getLeftHeaderGroups`)),e.getRightHeaderGroups=N(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>I(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`right`),P(e.options,F,`getRightHeaderGroups`)),e.getFooterGroups=N(()=>[e.getHeaderGroups()],e=>[...e].reverse(),P(e.options,F,`getFooterGroups`)),e.getLeftFooterGroups=N(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),P(e.options,F,`getLeftFooterGroups`)),e.getCenterFooterGroups=N(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),P(e.options,F,`getCenterFooterGroups`)),e.getRightFooterGroups=N(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),P(e.options,F,`getRightFooterGroups`)),e.getFlatHeaders=N(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),P(e.options,F,`getFlatHeaders`)),e.getLeftFlatHeaders=N(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),P(e.options,F,`getLeftFlatHeaders`)),e.getCenterFlatHeaders=N(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),P(e.options,F,`getCenterFlatHeaders`)),e.getRightFlatHeaders=N(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),P(e.options,F,`getRightFlatHeaders`)),e.getCenterLeafHeaders=N(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),P(e.options,F,`getCenterLeafHeaders`)),e.getLeftLeafHeaders=N(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),P(e.options,F,`getLeftLeafHeaders`)),e.getRightLeafHeaders=N(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),P(e.options,F,`getRightLeafHeaders`)),e.getLeafHeaders=N(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,n)=>[...e[0]?.headers??[],...t[0]?.headers??[],...n[0]?.headers??[]].map(e=>e.getLeafHeaders()).flat(),P(e.options,F,`getLeafHeaders`))}};function I(e,t,n,r){let i=0,a=function(e,t){t===void 0&&(t=1),i=Math.max(i,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var n;(n=e.columns)!=null&&n.length&&a(e.columns,t+1)},0)};a(e);let o=[],s=(e,t)=>{let i={depth:t,id:[r,`${t}`].filter(Boolean).join(`_`),headers:[]},a=[];e.forEach(e=>{let o=[...a].reverse()[0],s=e.column.depth===i.depth,c,l=!1;if(s&&e.column.parent?c=e.column.parent:(c=e.column,l=!0),o&&o?.column===c)o.subHeaders.push(e);else{let i=de(n,c,{id:[r,t,c.id,e?.id].filter(Boolean).join(`_`),isPlaceholder:l,placeholderId:l?`${a.filter(e=>e.column===c).length}`:void 0,depth:t,index:a.length});i.subHeaders.push(e),a.push(i)}i.headers.push(e),e.headerGroup=i}),o.push(i),t>0&&s(a,t-1)};s(t.map((e,t)=>de(n,e,{depth:i,index:t})),i-1),o.reverse();let c=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,n=0,r=[0];e.subHeaders&&e.subHeaders.length?(r=[],c(e.subHeaders).forEach(e=>{let{colSpan:n,rowSpan:i}=e;t+=n,r.push(i)})):t=1;let i=Math.min(...r);return n+=i,e.colSpan=t,e.rowSpan=n,{colSpan:t,rowSpan:n}});return c(o[0]?.headers??[]),o}var pe=(e,t,n,r,i,a,o)=>{let s={id:t,index:r,original:n,depth:i,parentId:o,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(s._valuesCache.hasOwnProperty(t))return s._valuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return s._valuesCache[t]=n.accessorFn(s.original,r),s._valuesCache[t]},getUniqueValues:t=>{if(s._uniqueValuesCache.hasOwnProperty(t))return s._uniqueValuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return n.columnDef.getUniqueValues?(s._uniqueValuesCache[t]=n.columnDef.getUniqueValues(s.original,r),s._uniqueValuesCache[t]):(s._uniqueValuesCache[t]=[s.getValue(t)],s._uniqueValuesCache[t])},renderValue:t=>s.getValue(t)??e.options.renderFallbackValue,subRows:a??[],getLeafRows:()=>ce(s.subRows,e=>e.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let e=[],t=s;for(;;){let n=t.getParentRow();if(!n)break;e.push(n),t=n}return e.reverse()},getAllCells:N(()=>[e.getAllLeafColumns()],t=>t.map(t=>le(e,s,t,t.id)),P(e.options,`debugRows`,`getAllCells`)),_getAllCellsByColumnId:N(()=>[s.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),P(e.options,`debugRows`,`getAllCellsByColumnId`))};for(let t=0;t{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},he=(e,t,n)=>{var r,i;let a=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((i=e.getValue(t))==null||(i=i.toString())==null||(i=i.toLowerCase())==null)&&i.includes(a))};he.autoRemove=e=>R(e);var ge=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};ge.autoRemove=e=>R(e);var _e=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};_e.autoRemove=e=>R(e);var ve=(e,t,n)=>e.getValue(t)?.includes(n);ve.autoRemove=e=>R(e);var ye=(e,t,n)=>!n.some(n=>{var r;return!((r=e.getValue(t))!=null&&r.includes(n))});ye.autoRemove=e=>R(e)||!(e!=null&&e.length);var be=(e,t,n)=>n.some(n=>e.getValue(t)?.includes(n));be.autoRemove=e=>R(e)||!(e!=null&&e.length);var xe=(e,t,n)=>e.getValue(t)===n;xe.autoRemove=e=>R(e);var Se=(e,t,n)=>e.getValue(t)==n;Se.autoRemove=e=>R(e);var Ce=(e,t,n)=>{let[r,i]=n,a=e.getValue(t);return a>=r&&a<=i};Ce.resolveFilterValue=e=>{let[t,n]=e,r=typeof t==`number`?t:parseFloat(t),i=typeof n==`number`?n:parseFloat(n),a=t===null||Number.isNaN(r)?-1/0:r,o=n===null||Number.isNaN(i)?1/0:i;if(a>o){let e=a;a=o,o=e}return[a,o]},Ce.autoRemove=e=>R(e)||R(e[0])&&R(e[1]);var L={includesString:he,includesStringSensitive:ge,equalsString:_e,arrIncludes:ve,arrIncludesAll:ye,arrIncludesSome:be,equals:xe,weakEquals:Se,inNumberRange:Ce};function R(e){return e==null||e===``}var we={getDefaultColumnDef:()=>({filterFn:`auto`}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:j(`columnFilters`,e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);return typeof n==`string`?L.includesString:typeof n==`number`?L.inNumberRange:typeof n==`boolean`||typeof n==`object`&&n?L.equals:Array.isArray(n)?L.arrIncludes:L.weakEquals},e.getFilterFn=()=>M(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn===`auto`?e.getAutoFilterFn():t.options.filterFns?.[e.columnDef.filterFn]??L[e.columnDef.filterFn],e.getCanFilter=()=>(e.columnDef.enableColumnFilter??!0)&&(t.options.enableColumnFilters??!0)&&(t.options.enableFilters??!0)&&!!e.accessorFn,e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(t=>t.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>t.getState().columnFilters?.findIndex(t=>t.id===e.id)??-1,e.setFilterValue=n=>{t.setColumnFilters(t=>{let r=e.getFilterFn(),i=t?.find(t=>t.id===e.id),a=A(n,i?i.value:void 0);if(Te(r,a,e))return t?.filter(t=>t.id!==e.id)??[];let o={id:e.id,value:a};return i?t?.map(t=>t.id===e.id?o:t)??[]:t!=null&&t.length?[...t,o]:[o]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let n=e.getAllLeafColumns();e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(e=>A(t,e)?.filter(e=>{let t=n.find(t=>t.id===e.id);return!(t&&Te(t.getFilterFn(),e.value,t))}))},e.resetColumnFilters=t=>{e.setColumnFilters(t?[]:e.initialState?.columnFilters??[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function Te(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||t===void 0||typeof t==`string`&&!t}var Ee={sum:(e,t,n)=>n.reduce((t,n)=>{let r=n.getValue(e);return t+(typeof r==`number`?r:0)},0),min:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}),r},max:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r=n)&&(r=n)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r===void 0?n>=n&&(r=i=n):(r>n&&(r=n),i{let n=0,r=0;if(t.forEach(t=>{let i=t.getValue(e);i!=null&&(i=+i)>=i&&(++n,r+=i)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=t.map(t=>t.getValue(e));if(!se(n))return;if(n.length===1)return n[0];let r=Math.floor(n.length/2),i=n.sort((e,t)=>e-t);return n.length%2==0?(i[r-1]+i[r])/2:i[r]},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},De={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t;return((t=e.getValue())==null||t.toString==null?void 0:t.toString())??null},aggregationFn:`auto`}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:j(`grouping`,e),groupedColumnMode:`reorder`}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(t=>t!==e.id):[...t??[],e.id])},e.getCanGroup=()=>(e.columnDef.enableGrouping??!0)&&(t.options.enableGrouping??!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue),e.getIsGrouped=()=>t.getState().grouping?.includes(e.id),e.getGroupedIndex=()=>t.getState().grouping?.indexOf(e.id),e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);if(typeof n==`number`)return Ee.sum;if(Object.prototype.toString.call(n)===`[object Date]`)return Ee.extent},e.getAggregationFn=()=>{if(!e)throw Error();return M(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn===`auto`?e.getAutoAggregationFn():t.options.aggregationFns?.[e.columnDef.aggregationFn]??Ee[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{e.setGrouping(t?[]:e.initialState?.grouping??[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];let r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((t=n.subRows)!=null&&t.length)}}};function Oe(e,t,n){if(!(t!=null&&t.length)||!n)return e;let r=e.filter(e=>!t.includes(e.id));return n===`remove`?r:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...r]}var ke={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:j(`columnOrder`,e)}),createColumn:(e,t)=>{e.getIndex=N(e=>[z(t,e)],t=>t.findIndex(t=>t.id===e.id),P(t.options,`debugColumns`,`getIndex`)),e.getIsFirstColumn=n=>z(t,n)[0]?.id===e.id,e.getIsLastColumn=n=>{let r=z(t,n);return r[r.length-1]?.id===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{e.setColumnOrder(t?[]:e.initialState.columnOrder??[])},e._getOrderColumnsFn=N(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,n)=>r=>{let i=[];if(!(e!=null&&e.length))i=r;else{let t=[...e],n=[...r];for(;n.length&&t.length;){let e=t.shift(),r=n.findIndex(t=>t.id===e);r>-1&&i.push(n.splice(r,1)[0])}i=[...i,...n]}return Oe(i,t,n)},P(e.options,`debugTable`,`_getOrderColumnsFn`))}},Ae=()=>({left:[],right:[]}),je={getInitialState:e=>({columnPinning:Ae(),...e}),getDefaultOptions:e=>({onColumnPinningChange:j(`columnPinning`,e)}),createColumn:(e,t)=>{e.pin=n=>{let r=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>n===`right`?{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:[...(e?.right??[]).filter(e=>!(r!=null&&r.includes(e))),...r]}:n===`left`?{left:[...(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),...r],right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))}:{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))})},e.getCanPin=()=>e.getLeafColumns().some(e=>(e.columnDef.enablePinning??!0)&&(t.options.enableColumnPinning??t.options.enablePinning??!0)),e.getIsPinned=()=>{let n=e.getLeafColumns().map(e=>e.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`left`:o?`right`:!1},e.getPinnedIndex=()=>{var n;let r=e.getIsPinned();return r?((n=t.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))??-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=N(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.column.id))},P(t.options,`debugRows`,`getCenterVisibleCells`)),e.getLeftVisibleCells=N(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`left`})),P(t.options,`debugRows`,`getLeftVisibleCells`)),e.getRightVisibleCells=N(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`right`})),P(t.options,`debugRows`,`getRightVisibleCells`))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>e.setColumnPinning(t?Ae():e.initialState?.columnPinning??Ae()),e.getIsSomeColumnsPinned=t=>{let n=e.getState().columnPinning;return t?!!n[t]?.length:!!(n.left?.length||n.right?.length)},e.getLeftLeafColumns=N(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),P(e.options,`debugColumns`,`getLeftLeafColumns`)),e.getRightLeafColumns=N(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),P(e.options,`debugColumns`,`getRightLeafColumns`)),e.getCenterLeafColumns=N(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.id))},P(e.options,`debugColumns`,`getCenterLeafColumns`))}};function Me(e){return e||(typeof document<`u`?document:null)}var Ne={size:150,minSize:20,maxSize:2**53-1},Pe=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),Fe={getDefaultColumnDef:()=>Ne,getInitialState:e=>({columnSizing:{},columnSizingInfo:Pe(),...e}),getDefaultOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnSizingChange:j(`columnSizing`,e),onColumnSizingInfoChange:j(`columnSizingInfo`,e)}),createColumn:(e,t)=>{e.getSize=()=>{let n=t.getState().columnSizing[e.id];return Math.min(Math.max(e.columnDef.minSize??Ne.minSize,n??e.columnDef.size??Ne.size),e.columnDef.maxSize??Ne.maxSize)},e.getStart=N(e=>[e,z(t,e),t.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),P(t.options,`debugColumns`,`getStart`)),e.getAfter=N(e=>[e,z(t,e),t.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),P(t.options,`debugColumns`,`getAfter`)),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>(e.columnDef.enableResizing??!0)&&(t.options.enableColumnResizing??!0),e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,n=e=>{e.subHeaders.length?e.subHeaders.forEach(n):t+=e.column.getSize()??0};return n(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=n=>{let r=t.getColumn(e.column.id),i=r?.getCanResize();return a=>{if(!r||!i||(a.persist==null||a.persist(),Re(a)&&a.touches&&a.touches.length>1))return;let o=e.getSize(),s=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[r.id,r.getSize()]],c=Re(a)?Math.round(a.touches[0].clientX):a.clientX,l={},u=(e,n)=>{typeof n==`number`&&(t.setColumnSizingInfo(e=>{let r=t.options.columnResizeDirection===`rtl`?-1:1,i=(n-(e?.startOffset??0))*r,a=Math.max(i/(e?.startSize??0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,n]=e;l[t]=Math.round(Math.max(n+n*a,0)*100)/100}),{...e,deltaOffset:i,deltaPercentage:a}}),(t.options.columnResizeMode===`onChange`||e===`end`)&&t.setColumnSizing(e=>({...e,...l})))},d=e=>u(`move`,e),f=e=>{u(`end`,e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=Me(n),m={moveHandler:e=>d(e.clientX),upHandler:e=>{p?.removeEventListener(`mousemove`,m.moveHandler),p?.removeEventListener(`mouseup`,m.upHandler),f(e.clientX)}},h={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1),upHandler:e=>{p?.removeEventListener(`touchmove`,h.moveHandler),p?.removeEventListener(`touchend`,h.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),f(e.touches[0]?.clientX)}},g=Le()?{passive:!1}:!1;Re(a)?(p?.addEventListener(`touchmove`,h.moveHandler,g),p?.addEventListener(`touchend`,h.upHandler,g)):(p?.addEventListener(`mousemove`,m.moveHandler,g),p?.addEventListener(`mouseup`,m.upHandler,g)),t.setColumnSizingInfo(e=>({...e,startOffset:c,startSize:o,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{e.setColumnSizing(t?{}:e.initialState.columnSizing??{})},e.resetHeaderSizeInfo=t=>{e.setColumnSizingInfo(t?Pe():e.initialState.columnSizingInfo??Pe())},e.getTotalSize=()=>e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getLeftTotalSize=()=>e.getLeftHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getCenterTotalSize=()=>e.getCenterHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getRightTotalSize=()=>e.getRightHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0}},Ie=null;function Le(){if(typeof Ie==`boolean`)return Ie;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return Ie=e,Ie}function Re(e){return e.type===`touchstart`}var ze={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:j(`columnVisibility`,e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{let n=e.columns;return(n.length?n.some(e=>e.getIsVisible()):t.getState().columnVisibility?.[e.id])??!0},e.getCanHide=()=>(e.columnDef.enableHiding??!0)&&(t.options.enableHiding??!0),e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=N(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),P(t.options,`debugRows`,`_getAllVisibleCells`)),e.getVisibleCells=N(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,n)=>[...e,...t,...n],P(t.options,`debugRows`,`getVisibleCells`))},createTable:e=>{let t=(t,n)=>N(()=>[n(),n().filter(e=>e.getIsVisible()).map(e=>e.id).join(`_`)],e=>e.filter(e=>e.getIsVisible==null?void 0:e.getIsVisible()),P(e.options,`debugColumns`,t));e.getVisibleFlatColumns=t(`getVisibleFlatColumns`,()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t(`getVisibleLeafColumns`,()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t(`getLeftVisibleLeafColumns`,()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t(`getRightVisibleLeafColumns`,()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t(`getCenterVisibleLeafColumns`,()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{e.setColumnVisibility(t?{}:e.initialState.columnVisibility??{})},e.toggleAllColumnsVisible=t=>{t??=!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,n)=>({...e,[n.id]:t||!(n.getCanHide!=null&&n.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(e.getIsVisible!=null&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>e.getIsVisible==null?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{e.toggleAllColumnsVisible(t.target?.checked)}}};function z(e,t){return t?t===`center`?e.getCenterVisibleLeafColumns():t===`left`?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}var Be={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,`__global__`),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,`__global__`),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,`__global__`),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},Ve={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:j(`globalFilter`,e),globalFilterFn:`auto`,getColumnCanGlobalFilter:t=>{var n;let r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r==`string`||typeof r==`number`}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>(e.columnDef.enableGlobalFilter??!0)&&(t.options.enableGlobalFilter??!0)&&(t.options.enableFilters??!0)&&((t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))??!0)&&!!e.accessorFn},createTable:e=>{e.getGlobalAutoFilterFn=()=>L.includesString,e.getGlobalFilterFn=()=>{let{globalFilterFn:t}=e.options;return M(t)?t:t===`auto`?e.getGlobalAutoFilterFn():e.options.filterFns?.[t]??L[t]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},He={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:j(`expanded`,e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=t=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{t??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{e.setExpanded(t?{}:e.initialState?.expanded??{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{t.persist==null||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return t===!0||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return typeof t==`boolean`?t===!0:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let n=e.split(`.`);t=Math.max(t,n.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{let i=r===!0?!0:!!(r!=null&&r[e.id]),a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(e=>{a[e]=!0}):a=r,n??=!i,!i&&n)return{...a,[e.id]:!0};if(i&&!n){let{[e.id]:t,...n}=a;return n}return r})},e.getIsExpanded=()=>{let n=t.getState().expanded;return!!((t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))??(n===!0||n?.[e.id]))},e.getCanExpand=()=>{var n;return(t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))??((t.options.enableExpanding??!0)&&!!((n=e.subRows)!=null&&n.length))},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},Ue=0,We=10,Ge=()=>({pageIndex:Ue,pageSize:We}),Ke={getInitialState:e=>({...e,pagination:{...Ge(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:j(`pagination`,e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=t=>e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(e=>A(t,e)),e.resetPagination=t=>{e.setPagination(t?Ge():e.initialState.pagination??Ge())},e.setPageIndex=t=>{e.setPagination(n=>{let r=A(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})},e.resetPageIndex=t=>{var n;e.setPageIndex(t?Ue:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageIndex)??Ue)},e.resetPageSize=t=>{var n;e.setPageSize(t?We:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageSize)??We)},e.setPageSize=t=>{e.setPagination(e=>{let n=Math.max(1,A(t,e.pageSize)),r=e.pageSize*e.pageIndex,i=Math.floor(r/n);return{...e,pageIndex:i,pageSize:n}})},e.setPageCount=t=>e.setPagination(n=>{let r=A(t,e.options.pageCount??-1);return typeof r==`number`&&(r=Math.max(-1,r)),{...n,pageCount:r}}),e.getPageOptions=N(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},P(e.options,`debugTable`,`getPageOptions`)),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,n=e.getPageCount();return n===-1?!0:n===0?!1:te.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>e.options.pageCount??Math.ceil(e.getRowCount()/e.getState().pagination.pageSize),e.getRowCount=()=>e.options.rowCount??e.getPrePaginationRowModel().rows.length}},qe=()=>({top:[],bottom:[]}),Je={getInitialState:e=>({rowPinning:qe(),...e}),getDefaultOptions:e=>({onRowPinningChange:j(`rowPinning`,e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{let a=r?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],o=i?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],s=new Set([...o,e.id,...a]);t.setRowPinning(e=>n===`bottom`?{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:[...(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)]}:n===`top`?{top:[...(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)],bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))}:{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))})},e.getCanPin=()=>{let{enableRowPinning:n,enablePinning:r}=t.options;return typeof n==`function`?n(e):n??r??!0},e.getIsPinned=()=>{let n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`top`:o?`bottom`:!1},e.getPinnedIndex=()=>{let n=e.getIsPinned();return n?((n===`top`?t.getTopRows():t.getBottomRows())?.map(e=>{let{id:t}=e;return t}))?.indexOf(e.id)??-1:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>e.setRowPinning(t?qe():e.initialState?.rowPinning??qe()),e.getIsSomeRowsPinned=t=>{let n=e.getState().rowPinning;return t?!!n[t]?.length:!!(n.top?.length||n.bottom?.length)},e._getPinnedRows=(t,n,r)=>(e.options.keepPinnedRows??!0?(n??[]).map(t=>{let n=e.getRow(t,!0);return n.getIsAllParentsExpanded()?n:null}):(n??[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:r})),e.getTopRows=N(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,`top`),P(e.options,`debugRows`,`getTopRows`)),e.getBottomRows=N(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,`bottom`),P(e.options,`debugRows`,`getBottomRows`)),e.getCenterRows=N(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,n)=>{let r=new Set([...t??[],...n??[]]);return e.filter(e=>!r.has(e.id))},P(e.options,`debugRows`,`getCenterRows`))}},Ye={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:j(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>e.setRowSelection(t?{}:e.initialState.rowSelection??{}),e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=t===void 0?!e.getIsAllRowsSelected():t;let r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(e=>{e.getCanSelect()&&(r[e.id]=!0)}):i.forEach(e=>{delete r[e.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{let r=t===void 0?!e.getIsAllPageRowsSelected():t,i={...n};return e.getRowModel().rows.forEach(t=>{Xe(i,t.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=N(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?Ze(e,n):{rows:[],flatRows:[],rowsById:{}},P(e.options,`debugTable`,`getSelectedRowModel`)),e.getFilteredSelectedRowModel=N(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?Ze(e,n):{rows:[],flatRows:[],rowsById:{}},P(e.options,`debugTable`,`getFilteredSelectedRowModel`)),e.getGroupedSelectedRowModel=N(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?Ze(e,n):{rows:[],flatRows:[],rowsById:{}},P(e.options,`debugTable`,`getGroupedSelectedRowModel`)),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState(),r=!!(t.length&&Object.keys(n).length);return r&&t.some(e=>e.getCanSelect()&&!n[e.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:n}=e.getState(),r=!!t.length;return r&&t.some(e=>!n[e.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{let t=Object.keys(e.getState().rowSelection??{}).length;return t>0&&t{let t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{let i=e.getIsSelected();t.setRowSelection(a=>{if(n=n===void 0?!i:n,e.getCanSelect()&&i===n)return a;let o={...a};return Xe(o,e.id,n,r?.selectChildren??!0,t),o})},e.getIsSelected=()=>{let{rowSelection:n}=t.getState();return Qe(e,n)},e.getIsSomeSelected=()=>{let{rowSelection:n}=t.getState();return $e(e,n)===`some`},e.getIsAllSubRowsSelected=()=>{let{rowSelection:n}=t.getState();return $e(e,n)===`all`},e.getCanSelect=()=>typeof t.options.enableRowSelection==`function`?t.options.enableRowSelection(e):t.options.enableRowSelection??!0,e.getCanSelectSubRows=()=>typeof t.options.enableSubRowSelection==`function`?t.options.enableSubRowSelection(e):t.options.enableSubRowSelection??!0,e.getCanMultiSelect=()=>typeof t.options.enableMultiRowSelection==`function`?t.options.enableMultiRowSelection(e):t.options.enableMultiRowSelection??!0,e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return n=>{t&&e.toggleSelected(n.target?.checked)}}}},Xe=(e,t,n,r,i)=>{var a;let o=i.getRow(t,!0);n?(o.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),o.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(a=o.subRows)!=null&&a.length&&o.getCanSelectSubRows()&&o.subRows.forEach(t=>Xe(e,t.id,n,r,i))};function Ze(e,t){let n=e.getState().rowSelection,r=[],i={},a=function(e,t){return e.map(e=>{var t;let o=Qe(e,n);if(o&&(r.push(e),i[e.id]=e),(t=e.subRows)!=null&&t.length&&(e={...e,subRows:a(e.subRows)}),o)return e}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function Qe(e,t){return t[e.id]??!1}function $e(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,a=!1;return e.subRows.forEach(e=>{if(!(a&&!i)&&(e.getCanSelect()&&(Qe(e,t)?a=!0:i=!1),e.subRows&&e.subRows.length)){let n=$e(e,t);n===`all`?a=!0:(n===`some`&&(a=!0),i=!1)}}),i?`all`:a?`some`:!1}var et=/([0-9]+)/gm,tt=(e,t,n)=>ct(B(e.getValue(n)).toLowerCase(),B(t.getValue(n)).toLowerCase()),nt=(e,t,n)=>ct(B(e.getValue(n)),B(t.getValue(n))),rt=(e,t,n)=>st(B(e.getValue(n)).toLowerCase(),B(t.getValue(n)).toLowerCase()),it=(e,t,n)=>st(B(e.getValue(n)),B(t.getValue(n))),at=(e,t,n)=>{let r=e.getValue(n),i=t.getValue(n);return r>i?1:rst(e.getValue(n),t.getValue(n));function st(e,t){return e===t?0:e>t?1:-1}function B(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function ct(e,t){let n=e.split(et).filter(Boolean),r=t.split(et).filter(Boolean);for(;n.length&&r.length;){let e=n.shift(),t=r.shift(),i=parseInt(e,10),a=parseInt(t,10),o=[i,a].sort();if(isNaN(o[0])){if(e>t)return 1;if(t>e)return-1;continue}if(isNaN(o[1]))return isNaN(i)?-1:1;if(i>a)return 1;if(a>i)return-1}return n.length-r.length}var V={alphanumeric:tt,alphanumericCaseSensitive:nt,text:rt,textCaseSensitive:it,datetime:at,basic:ot},lt=[fe,ze,ke,je,me,we,Be,Ve,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:`auto`,sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:j(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let n=t.getFilteredRowModel().flatRows.slice(10),r=!1;for(let t of n){let n=t?.getValue(e.id);if(Object.prototype.toString.call(n)===`[object Date]`)return V.datetime;if(typeof n==`string`&&(r=!0,n.split(et).length>1))return V.alphanumeric}return r?V.text:V.basic},e.getAutoSortDir=()=>typeof t.getFilteredRowModel().flatRows[0]?.getValue(e.id)==`string`?`asc`:`desc`,e.getSortingFn=()=>{if(!e)throw Error();return M(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn===`auto`?e.getAutoSortingFn():t.options.sortingFns?.[e.columnDef.sortingFn]??V[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{let i=e.getNextSortingOrder(),a=n!=null;t.setSorting(o=>{let s=o?.find(t=>t.id===e.id),c=o?.findIndex(t=>t.id===e.id),l=[],u,d=a?n:i===`desc`;return u=o!=null&&o.length&&e.getCanMultiSort()&&r?s?`toggle`:`add`:o!=null&&o.length&&c!==o.length-1?`replace`:s?`toggle`:`replace`,u===`toggle`&&(a||i||(u=`remove`)),u===`add`?(l=[...o,{id:e.id,desc:d}],l.splice(0,l.length-(t.options.maxMultiSortColCount??2**53-1))):l=u===`toggle`?o.map(t=>t.id===e.id?{...t,desc:d}:t):u===`remove`?o.filter(t=>t.id!==e.id):[{id:e.id,desc:d}],l})},e.getFirstSortDir=()=>e.columnDef.sortDescFirst??t.options.sortDescFirst??e.getAutoSortDir()===`desc`?`desc`:`asc`,e.getNextSortingOrder=n=>{let r=e.getFirstSortDir(),i=e.getIsSorted();return i?i!==r&&(t.options.enableSortingRemoval??!0)&&(!n||(t.options.enableMultiRemove??!0))?!1:i===`desc`?`asc`:`desc`:r},e.getCanSort=()=>(e.columnDef.enableSorting??!0)&&(t.options.enableSorting??!0)&&!!e.accessorFn,e.getCanMultiSort=()=>e.columnDef.enableMultiSort??t.options.enableMultiSort??!!e.accessorFn,e.getIsSorted=()=>{let n=t.getState().sorting?.find(t=>t.id===e.id);return n?n.desc?`desc`:`asc`:!1},e.getSortIndex=()=>t.getState().sorting?.findIndex(t=>t.id===e.id)??-1,e.clearSorting=()=>{t.setSorting(t=>t!=null&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{e.setSorting(t?[]:e.initialState?.sorting??[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},De,He,Ke,Je,Ye,Fe];function ut(e){let t=[...lt,...e._features??[]],n={_features:t},r=n._features.reduce((e,t)=>Object.assign(e,t.getDefaultOptions==null?void 0:t.getDefaultOptions(n)),{}),i=e=>n.options.mergeOptions?n.options.mergeOptions(r,e):{...r,...e},a={...e.initialState??{}};n._features.forEach(e=>{a=(e.getInitialState==null?void 0:e.getInitialState(a))??a});let o=[],s=!1,c={_features:t,options:{...r,...e},initialState:a,_queue:e=>{o.push(e),s||(s=!0,Promise.resolve().then(()=>{for(;o.length;)o.shift()();s=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{n.setState(n.initialState)},setOptions:e=>{n.options=i(A(e,n.options))},getState:()=>n.options.state,setState:e=>{n.options.onStateChange==null||n.options.onStateChange(e)},_getRowId:(e,t,r)=>(n.options.getRowId==null?void 0:n.options.getRowId(e,t,r))??`${r?[r.id,t].join(`.`):t}`,getCoreRowModel:()=>(n._getCoreRowModel||=n.options.getCoreRowModel(n),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:(e,t)=>{let r=(t?n.getPrePaginationRowModel():n.getRowModel()).rowsById[e];if(!r&&(r=n.getCoreRowModel().rowsById[e],!r))throw Error();return r},_getDefaultColumnDef:N(()=>[n.options.defaultColumn],e=>(e??={},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t;return((t=e.renderValue())==null||t.toString==null?void 0:t.toString())??null},...n._features.reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef==null?void 0:t.getDefaultColumnDef()),{}),...e}),P(e,`debugColumns`,`_getDefaultColumnDef`)),_getColumnDefs:()=>n.options.columns,getAllColumns:N(()=>[n._getColumnDefs()],e=>{let t=function(e,r,i){return i===void 0&&(i=0),e.map(e=>{let a=ue(n,e,i,r),o=e;return a.columns=o.columns?t(o.columns,a,i+1):[],a})};return t(e)},P(e,`debugColumns`,`getAllColumns`)),getAllFlatColumns:N(()=>[n.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),P(e,`debugColumns`,`getAllFlatColumns`)),_getAllFlatColumnsById:N(()=>[n.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),P(e,`debugColumns`,`getAllFlatColumnsById`)),getAllLeafColumns:N(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),P(e,`debugColumns`,`getAllLeafColumns`)),getColumn:e=>n._getAllFlatColumnsById()[e]};Object.assign(n,c);for(let e=0;eN(()=>[e.options.data],t=>{let n={rows:[],flatRows:[],rowsById:{}},r=function(t,i,a){i===void 0&&(i=0);let o=[];for(let c=0;ce._autoResetPageIndex()))}function H(){return!0}var ft=Symbol(`merge-proxy`),pt={get(e,t,n){return t===ft?n:e.get(t)},has(e,t){return e.has(t)},set:H,deleteProperty:H,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:H,deleteProperty:H}},ownKeys(e){return e.keys()}};function mt(e){return`value`in e?e.value:e}function U(){var e=[...arguments];return new Proxy({get(t){for(let n=e.length-1;n>=0;n--){let r=mt(e[n])[t];if(r!==void 0)return r}},has(t){for(let n=e.length-1;n>=0;n--)if(t in mt(e[n]))return!0;return!1},keys(){let t=[];for(let n=0;n()=>typeof e.render==`function`||typeof e.render==`object`?te(e.render,e.props):e.render});function gt(e){return U(e,{data:T(e.data)})}function _t(e){let t=ne(e.data),n=ut(U({state:{},onStateChange:()=>{},renderFallbackValue:null,mergeOptions(e,n){return t?{...e,...n}:U(e,n)}},t?gt(e):e));if(t){let t=re(e.data);C(t,()=>{n.setState(e=>({...e,data:t.value}))},{immediate:!0})}let r=v(n.initialState);return c(()=>{n.setOptions(n=>{let i=new Proxy({},{get:(e,t)=>r.value[t]});return U(n,t?gt(e):e,{state:U(i,e.state??{}),onStateChange:t=>{t instanceof Function?r.value=t(r.value):r.value=t,e.onStateChange==null||e.onStateChange(t)}})})}),n}function vt(e){if(Array.isArray(e))return e}function yt(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function bt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{Object.defineProperty(e,`__esModule`,{value:!0}),e.bind=void 0;function t(e,t){var n=t.type,r=t.listener,i=t.options;return e.addEventListener(n,r,i),function(){e.removeEventListener(n,r,i)}}e.bind=t})),Tt=e((e=>{var t=e&&e.__assign||function(){return t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{Object.defineProperty(e,`__esModule`,{value:!0}),e.bindAll=e.bind=void 0;var t=wt();Object.defineProperty(e,`bind`,{enumerable:!0,get:function(){return t.bind}});var n=Tt();Object.defineProperty(e,`bindAll`,{enumerable:!0,get:function(){return n.bindAll}})}))(),Et=`data-pdnd-honey-pot`;function Dt(e){return e instanceof Element&&e.hasAttribute(`data-pdnd-honey-pot`)}function Ot(e){var t=Ct(document.elementsFromPoint(e.x,e.y),2),n=t[0],r=t[1];return n?Dt(n)?r??null:n:null}function G(e){"@babel/helpers - typeof";return G=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},G(e)}function kt(e,t){if(G(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(G(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function At(e){var t=kt(e,`string`);return G(t)==`symbol`?t:t+``}function K(e,t,n){return(t=At(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var jt=2147483647,Mt={inset:`unset`,border:`none`,padding:0,margin:0,overflow:`visible`,color:`inherit`,background:`transparent`};function q(e){var t=null;return function(){if(!t){var n=[...arguments];t={result:e.apply(this,n)}}return t.result}}var J=q(function(){return typeof HTMLElement<`u`&&typeof HTMLElement.prototype.showPopover==`function`});function Nt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Pt(e){for(var t=1;t=n.x&&t.x<=n.x+n.width&&t.y>=n.y&&t.y<=n.y+n.height}function Ut(e){var t=e.initial,n=document.createElement(`div`);n.setAttribute(Et,`true`),J()&&n.setAttribute(`popover`,`manual`);var r=Bt({client:t});Object.assign(n.style,Pt(Pt({position:`fixed`},J()?Mt:{zIndex:jt}),{},{backgroundColor:`transparent`,padding:0,margin:0,boxSizing:`border-box`,pointerEvents:`auto`},Vt({clientRect:r}))),document.body.appendChild(n),J()&&n.showPopover();var i=(0,W.bind)(window,{type:`pointermove`,listener:function(e){r=Bt({client:{x:e.clientX,y:e.clientY}}),Object.assign(n.style,Vt({clientRect:r}))},options:{capture:!0}});return function(e){var t=e.current;if(i(),Ht({client:t,clientRect:r})){n.remove();return}function a(){o(),n.remove()}var o=(0,W.bindAll)(window,[{type:`pointerdown`,listener:a},{type:`pointermove`,listener:a},{type:`focusin`,listener:a},{type:`focusout`,listener:a},{type:`dragstart`,listener:a},{type:`dragenter`,listener:a},{type:`dragover`,listener:a}],{capture:!0})}}function Wt(){var e=null;function t(){return e=null,(0,W.bind)(window,{type:`pointermove`,listener:function(t){e={x:t.clientX,y:t.clientY}},options:{capture:!0}})}function n(){var t=null;return function(n){var r=n.eventName,i=n.payload;if(r===`onDragStart`){var a=i.location.initial.input;t=Ut({initial:e??{x:a.clientX,y:a.clientY}})}if(r===`onDrop`){var o,s=i.location.current.input;(o=t)==null||o({current:{x:s.clientX,y:s.clientY}}),t=null,e=null}}}return{bindEvents:t,getOnPostDispatch:n}}function Gt(e){if(Array.isArray(e))return bt(e)}function Kt(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function qt(){throw TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Jt(e){return Gt(e)||Kt(e)||xt(e)||qt()}var Yt=q(function(){return navigator.userAgent.includes(`Firefox`)}),Xt=q(function(){var e=navigator.userAgent;return e.includes(`AppleWebKit`)&&!e.includes(`Chrome`)}),Zt={isLeavingWindow:Symbol(`leaving`),isEnteringWindow:Symbol(`entering`)};function Qt(e){var t=e.dragLeave;return Xt()?t.hasOwnProperty(Zt.isLeavingWindow):!1}(function(){if(typeof window>`u`||!Xt())return;function e(){return{enterCount:0,isOverWindow:!1}}var t=e();function n(){t=e()}(0,W.bindAll)(window,[{type:`dragstart`,listener:function(){t.enterCount=0,t.isOverWindow=!0}},{type:`drop`,listener:n},{type:`dragend`,listener:n},{type:`dragenter`,listener:function(e){!t.isOverWindow&&t.enterCount===0&&(e[Zt.isEnteringWindow]=!0),t.isOverWindow=!0,t.enterCount++}},{type:`dragleave`,listener:function(e){t.enterCount--,t.isOverWindow&&t.enterCount===0&&(e[Zt.isLeavingWindow]=!0,t.isOverWindow=!1)}}],{capture:!0})})();function $t(e){return`nodeName`in e}function en(e){return $t(e)&&e.ownerDocument!==document}function tn(e){var t=e.dragLeave,n=t.type,r=t.relatedTarget;return n===`dragleave`?Xt()?Qt({dragLeave:t}):r==null?!0:Yt()?en(r):r instanceof HTMLIFrameElement:!1}function nn(e){var t=e.onDragEnd;return[{type:`pointermove`,listener:function(){var e=0;return function(){if(e<20){e++;return}t()}}()},{type:`pointerdown`,listener:t}]}function X(e){return{altKey:e.altKey,button:e.button,buttons:e.buttons,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY}}var rn=function(e){var t=[],n=null,r=function(){t=[...arguments],!n&&(n=requestAnimationFrame(function(){n=null,e.apply(void 0,t)}))};return r.cancel=function(){n&&=(cancelAnimationFrame(n),null)},r}(function(e){return e()}),Z=function(){var e=null;function t(t){e={frameId:requestAnimationFrame(function(){e=null,t()}),fn:t}}function n(){e&&=(cancelAnimationFrame(e.frameId),e.fn(),null)}return{schedule:t,flush:n}}();function an(e){var t=e.source,n=e.initial,r=e.dispatchEvent,i={dropTargets:[]};function a(e){r(e),i={dropTargets:e.payload.location.current.dropTargets}}return{start:function(e){var r=e.nativeSetDragImage,o={current:n,previous:i,initial:n};a({eventName:`onGenerateDragPreview`,payload:{source:t,location:o,nativeSetDragImage:r}}),Z.schedule(function(){a({eventName:`onDragStart`,payload:{source:t,location:o}})})},dragUpdate:function(e){var r=e.current;Z.flush(),rn.cancel(),a({eventName:`onDropTargetChange`,payload:{source:t,location:{initial:n,previous:i,current:r}}})},drag:function(e){var r=e.current;rn(function(){Z.flush(),a({eventName:`onDrag`,payload:{source:t,location:{initial:n,previous:i,current:r}}})})},drop:function(e){var r=e.current,o=e.updatedSourcePayload;Z.flush(),rn.cancel(),a({eventName:`onDrop`,payload:{source:o??t,location:{current:r,previous:i,initial:n}}})}}}var on={isActive:!1};function sn(){return!on.isActive}function cn(e){return e.dataTransfer?e.dataTransfer.setDragImage.bind(e.dataTransfer):null}function ln(e){var t=e.current,n=e.next;if(t.length!==n.length)return!0;for(var r=0;r0)&&(t.unmount(),mn.delete(e.typeKey))}}function _n(){var e=[...arguments];return function(){e.forEach(function(e){return e()})}}function vn(e,t){var n=t.attribute,r=t.value;return e.setAttribute(n,r),function(){return e.removeAttribute(n)}}function yn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Q(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function xn(e,t){if(e){if(typeof e==`string`)return Sn(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Sn(e,t):void 0}}function Sn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=a.length)return o;for(var s=Cn(a),l=Cn(o),u=[],d=0;d=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function En(e,t){if(e){if(typeof e==`string`)return Dn(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Dn(e,t):void 0}}function Dn(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);na(r,d,e.getBoundingClientRect()),onGenerateDragPreview({nativeSetDragImage:t,location:n}){let r=e.getBoundingClientRect();$n({getOffset:Yn({element:e,input:n.current.input}),render({container:t}){let n=e.cloneNode(!0);return n.style.width=`${r.width}px`,n.style.height=`${r.height}px`,t.appendChild(n),()=>n.remove()},nativeSetDragImage:t})},onDragStart(){l(r,{type:`is-dragging`})},onDrop(){l(r,tr)}}),Bn({element:e,getIsSticky:()=>!0,canDrop({source:e}){return o(e.data)&&e.data.instanceId===t},getData({input:t}){return qn(a(r,d,e.getBoundingClientRect()),{element:e,input:t,allowedEdges:i})},onDragEnter({source:e,self:t}){if(!o(e.data)||e.data.id===r)return;let n=Jn(t.data);n&&u(r,{type:`is-over`,closestEdge:n,draggingRect:e.data.rect})},onDrag({source:e,self:t}){if(!o(e.data)||e.data.id===r)return;let n=Jn(t.data);if(!n)return;let i=f(r);i.type===`is-over`&&i.closestEdge===n||u(r,{type:`is-over`,closestEdge:n,draggingRect:e.data.rect})},onDragLeave({source:e}){if(o(e.data)){if(e.data.id===r){l(r,{type:`is-dragging-and-left-self`});return}u(r,nr)}},onDrop(){u(r,nr)}}))}function m(){return Vn({canMonitor({source:e}){return o(e.data)&&e.data.instanceId===t},onDrop({location:t,source:n}){let i=t.current.dropTargets[0];if(!i)return;let a=n.data,s=i.data;if(!o(a)||!o(s))return;let c=a.index,l=s.index,u=er({startIndex:c,closestEdgeOfTarget:Jn(s),indexOfTarget:l,axis:r});u!==c&&e.onReorder(c,u)}})}return{registerItem:p,getDragState:d,getDropState:f,setupMonitor:m}}function ir(e){let t=v(new Map),n=v(new Map),r=v(new Map),i=null,{registerItem:o,getDragState:c,getDropState:l,setupMonitor:u}=rr({onReorder:e.onReorder,axis:`vertical`});function f(e,n){e?t.value.set(n,e):t.value.delete(n)}function p(e,t){e?n.value.set(t,e):n.value.delete(t)}function m(){e.enabled()&&(r.value.forEach(e=>e()),r.value.clear(),e.getRowIds().forEach((e,i)=>{let a=String(e),s=t.value.get(a),c=n.value.get(a);if(s){let e=o(s,c??null,a,i);r.value.set(a,e)}}))}return C(()=>e.getRowIds(),()=>{d(m)},{deep:!0}),a(()=>{i=u(),d(m)}),s(()=>{r.value.forEach(e=>e()),i?.()}),{setRowRef:f,setHandleRef:p,getDragState:c,getDropState:l,refreshRegistrations:m}}var $={Relaxed:`relaxed`,Compact:`compact`,Spacious:`spacious`},ar=[`aria-describedby`],or=w(i({__name:`ColumnHeaderTitle`,props:{isSortable:{type:Boolean,default:!1},sortInstructionsId:{}},emits:[`sortColumn`],setup(e){return(t,n)=>e.isSortable?(l(),O(`button`,{key:0,type:`button`,onClick:n[0]||=e=>t.$emit(`sortColumn`,e),"aria-describedby":e.sortInstructionsId},[r(t.$slots,`default`,{},void 0,!0)],8,ar)):r(t.$slots,`default`,{key:1},void 0,!0)}}),[[`__scopeId`,`data-v-6ed8c3ba`]]),sr=[`label`],cr={slot:`content`},lr=[`disabled`],ur=[`disabled`],dr=w(i({__name:`ReorderButton`,props:{label:{default:t(`Reorder`)},position:{default:`middle`}},emits:[`click:up`,`click:down`],setup(e,{emit:n}){let r=n;return(n,i)=>(l(),O(`craft-action-menu`,null,[E(`craft-button`,u({slot:`invoker`,type:`button`,icon:``,size:`small`,appearance:`plain`},n.$attrs),[E(`craft-icon`,{name:`custom-icons/grip-dots`,label:e.label},null,8,sr)],16),E(`div`,cr,[E(`craft-action-item`,{icon:`arrow-up`,onClick:i[0]||=e=>r(`click:up`),disabled:e.position===`first`},b(T(t)(`Move up`)),9,lr),E(`craft-action-item`,{icon:`arrow-down`,onClick:i[1]||=e=>r(`click:down`),disabled:e.position===`last`},b(T(t)(`Move down`)),9,ur)])]))}}),[[`__scopeId`,`data-v-49bec635`]]),fr=w(i({__name:`DropIndicator`,props:{edge:{},contained:{type:Boolean},inline:{type:Boolean},visible:{type:Boolean}},setup(e){return(t,n)=>e.edge||e.inline?(l(),O(`div`,{key:0,class:g({"drop-indicator":!0,"drop-indicator--contained":e.contained,"drop-indicator--top":e.edge===`top`,"drop-indicator--bottom":e.edge===`bottom`,"drop-indicator--left":e.edge===`left`,"drop-indicator--right":e.edge===`right`,"drop-indicator--horizontal":!e.edge||[`top`,`bottom`].includes(e.edge),"drop-indicator--vertical":e.edge&&[`left`,`right`].includes(e.edge),"drop-indicator--inline":e.inline,"drop-indicator--active":e.visible})},null,2)):y(``,!0)}}),[[`__scopeId`,`data-v-c2b7126d`]]),pr=i({__name:`Text`,props:{as:{default:`div`},template:{},params:{}},setup(e){let n=e,r=_(()=>t(n.template,n.params));return(t,n)=>(l(),k(o(e.as),u(t.$attrs,{innerHTML:r.value}),null,16,[`innerHTML`]))}}),mr={class:`py-20 w-full`},hr={class:`w-[60ch] mx-auto text-center grid gap-3 justify-items-center text-gray-500`},gr=[`name`],_r={class:`text-lg`},vr=i({__name:`Empty`,props:{icon:{},label:{}},setup(e){return(t,n)=>(l(),O(`div`,mr,[E(`div`,hr,[r(t.$slots,`graphic`,{},()=>[e.icon?(l(),O(`craft-icon`,{key:0,name:e.icon,style:{"font-size":`calc(48rem / 16)`}},null,8,gr)):y(``,!0)]),r(t.$slots,`content`,{},()=>[E(`p`,_r,b(e.label),1)]),r(t.$slots,`default`)])]))}}),yr={class:`cp-table-wrapper`},br={key:0,class:`cp-table-header`},xr={class:`sr-only`},Sr={key:0,class:`cell cell--header`},Cr=[`colSpan`,`id`,`aria-sort`],wr={key:1,name:`arrow-up-arrow-down`},Tr={key:2,name:`arrow-down`},Er={key:3,name:`arrow-up`},Dr={key:0},Or={key:0},kr={key:1,style:{"--table-template-columns":`1fr`,"--_cell-spacing-inline":`0`,"--_cell-spacing-block":`0`}},Ar={key:1,class:`cp-table-footer`},jr={class:`flex gap-1`},Mr=[`disabled`],Nr=[`label`],Pr={class:`flex items-center gap-1 mx-2`},Fr=[`label`],Ir=[`disabled`],Lr=[`label`],Rr={class:`flex gap-2 items-center`},zr=w(i({__name:`AdminTable`,props:{table:{},title:{},reorderable:{type:Boolean,default:!1},selectable:{type:Boolean,default:!0},readOnly:{type:Boolean},layout:{default:`auto`},spacing:{},from:{},to:{},total:{},enableAdjustPageSize:{type:Boolean,default:!1},pageSizeOptions:{default:()=>[50,100,250]}},emits:[`reorder`],setup(e,{emit:i}){let a=e,s=i,{setRowRef:c,setHandleRef:u,getDragState:d,getDropState:v}=ir({getRowIds:()=>a.table.getRowModel().rows.map(e=>e.id),onReorder:(e,t)=>{s(`reorder`,e,t)},enabled:()=>!a.readOnly&&a.reorderable}),x=`column-sort-instructions-${p()}`,te=_(()=>a.title?`${a.title}, `:null),ne=_({get(){return a.table.getState().pagination.pageIndex+1},set(e){e&&a.table.setPageIndex(parseInt(e)-1)}}),re=_({get(){return a.table.getState().pagination.pageSize},set(e){e&&a.table.setPageSize(parseInt(e))}}),C=_(()=>a.table.getPageCount()>1),w=_(()=>a.enableAdjustPageSize),oe=_(()=>a.from&&a.to&&a.total),A=_(()=>C.value||w.value||oe.value);function j(e){return e?typeof e==`string`?{[e]:!0}:e:{}}function M(e){if(e.getCanSort())return e.getIsSorted()?e.getIsSorted()===`asc`?`ascending`:`descending`:`none`}let se=_(()=>{let e=a.table.getAllColumns().filter(e=>e.getIsVisible()),t=e.length;a.reorderable&&(t+=1);let n={"--table-column-count":t},r=e.reduce((e,t)=>(e.push(t.columnDef.meta?.trackSize??`minmax(0, 1fr)`),e),[]);return a.reorderable&&r.unshift(`44px`),n[`--table-template-columns`]=r.join(` `),n});function ce(e){return e===0?`first`:e===a.table.getRowModel().rows.length-1?`last`:`middle`}return(i,a)=>(l(),O(`div`,yr,[i.$slots[`search-form`]?(l(),O(`div`,br,[r(i.$slots,`search-form`,{},void 0,!0)])):y(``,!0),E(`table`,{class:g({"cp-table":!0,"cp-table--grid":!0,"cp-table--compact":e.spacing===T($).Compact,"cp-table--relaxed":e.spacing===T($).Relaxed,"cp-table--spacious":e.spacing===T($).Spacious,"cp-table--auto":e.layout===`auto`}),style:n(se.value)},[E(`caption`,xr,[D(b(te.value)+` `,1),E(`span`,{id:x},b(T(t)(`Column headers with buttons are sortable`)),1)]),E(`thead`,null,[(l(!0),O(S,null,ie(e.table.getHeaderGroups(),t=>(l(),O(`tr`,{key:t.id},[!e.readOnly&&e.reorderable?(l(),O(`th`,Sr,[...a[4]||=[E(`span`,{class:`sr-only`},`Reorder`,-1)]])):y(``,!0),(l(!0),O(S,null,ie(t.headers,e=>(l(),O(`th`,{key:e.id,colSpan:e.colSpan,id:`header-${e.id}`,class:g({"cp-table-cell":!0,"cp-table-cell--header":!0,"cursor-pointer select-none":e.column.getCanSort()}),scope:`col`,"aria-sort":M(e.column)},[E(`div`,{class:g([`flex gap-1 items-center`,{"sr-only":e.column.columnDef.meta?.headerSrOnly,...j(e.column.columnDef.meta?.columnClass),...j(e.column.columnDef.meta?.headerClass)}])},[f(or,{isSortable:e.column.getCanSort(),sortInstructionsId:x,onSortColumn:t=>e.column.getToggleSortingHandler()?.(t)},{default:h(()=>[e.isPlaceholder?y(``,!0):(l(),k(T(ht),{key:0,render:e.column.columnDef.header,props:e.getContext()},null,8,[`render`,`props`])),e.column.getCanSort()&&!e.column.getIsSorted()?(l(),O(`craft-icon`,wr)):e.column.getIsSorted()===`asc`?(l(),O(`craft-icon`,Tr)):e.column.getIsSorted()===`desc`?(l(),O(`craft-icon`,Er)):y(``,!0)]),_:2},1032,[`isSortable`,`onSortColumn`]),e.column.columnDef.meta?.headerTip?(l(),O(`craft-info-icon`,Dr,b(e.column.columnDef.meta.headerTip),1)):y(``,!0)],2)],10,Cr))),128))]))),128))]),E(`tbody`,null,[e.table.getRowModel().rows.length>0?(l(!0),O(S,{key:0},ie(e.table.getRowModel().rows,t=>(l(),O(`tr`,{key:t.id,ref_for:!0,ref:e=>T(c)(e,t.id),class:g({row:!0,"cp-table-row":!0,"row--dragging":!e.readOnly&&T(d)(t.id).type===`is-dragging`})},[e.reorderable&&!e.readOnly?(l(),O(`td`,Or,[E(`div`,null,[f(dr,{"onClick:up":e=>s(`reorder`,t.index,t.index-1),"onClick:down":e=>s(`reorder`,t.index,t.index+1),position:ce(t.index),ref_for:!0,ref:e=>T(u)(e?.$el,t.id)},null,8,[`onClick:up`,`onClick:down`,`position`])]),f(fr,{edge:T(v)(t.id).closestEdge},null,8,[`edge`])])):y(``,!0),(l(!0),O(S,null,ie(t.getVisibleCells(),e=>(l(),k(o(e.column.columnDef.meta?.cellTag??`td`),{key:e.id,class:g({"cp-table-cell":!0,"cp-table-cell--wrap":e.column.columnDef.meta?.wrap,...j(e.column.columnDef.meta?.columnClass),...j(e.column.columnDef.meta?.cellClass)})},{default:h(()=>[f(T(ht),{render:e.column.columnDef.cell,props:e.getContext()},null,8,[`render`,`props`])]),_:2},1032,[`class`]))),128))],2))),128)):(l(),O(`tr`,kr,[E(`td`,null,[r(i.$slots,`empty-row`,{},()=>[f(vr,{label:T(t)(`No results`),icon:`empty-set`},null,8,[`label`])],!0)])]))])],6),A.value?(l(),O(`div`,Ar,[E(`div`,null,[oe.value?(l(),k(pr,{key:0,template:`{from} – {to} of {total, plural, =1{# item} other{# items}}`,params:{from:e.from,to:e.to,total:e.total}},null,8,[`params`])):y(``,!0)]),E(`div`,jr,[C.value?(l(),O(S,{key:0},[E(`craft-button`,{type:`button`,onClick:a[0]||=t=>e.table.previousPage(),disabled:!e.table.getCanPreviousPage(),icon:``,size:`small`},[E(`craft-icon`,{name:`chevron-left`,label:T(t)(`Previous page`)},null,8,Nr)],8,Mr),E(`div`,Pr,[a[5]||=D(` Page `,-1),m(E(`craft-input`,{type:`text`,"onUpdate:modelValue":a[1]||=e=>ne.value=e,maxlength:`3`,label:T(t)(`Current page`),"label-sr-only":``,center:``,size:`small`},null,8,Fr),[[ee,ne.value]]),D(` of `+b(e.table.getPageCount()),1)]),E(`craft-button`,{type:`button`,onClick:a[2]||=t=>e.table.nextPage(),disabled:!e.table.getCanNextPage(),size:`small`,icon:``},[E(`craft-icon`,{name:`chevron-right`,label:T(t)(`Next page`)},null,8,Lr)],8,Ir)],64)):y(``,!0)]),E(`div`,Rr,[w.value?(l(),O(S,{key:0},[D(b(T(t)(`Items per page:`))+` `,1),f(ae,{small:``,options:e.pageSizeOptions,modelValue:re.value,"onUpdate:modelValue":a[3]||=e=>re.value=e,class:`w-auto`},null,8,[`options`,`modelValue`])],64)):y(``,!0)])])):y(``,!0)]))}}),[[`__scopeId`,`data-v-67ffb342`]]);export{$ as a,oe as c,dr as i,dt as l,vr as n,rr as o,pr as r,_t as s,zr as t}; \ No newline at end of file diff --git a/resources/build/assets/AdminTable-BkB0sWZh.css b/resources/build/assets/AdminTable-BkB0sWZh.css deleted file mode 100644 index b7d63aa8e35..00000000000 --- a/resources/build/assets/AdminTable-BkB0sWZh.css +++ /dev/null @@ -1 +0,0 @@ -button[data-v-6ed8c3ba]{all:unset}button[data-v-6ed8c3ba]:after{content:"";width:100%;height:100%;position:absolute;top:0;left:0}craft-button[data-v-49bec635]{cursor:move}.drop-indicator[data-v-c2b7126d]{background-color:var(--c-color-accent-fill-loud,#2563eb);pointer-events:none;z-index:10;width:2000px;height:.125rem;position:absolute;left:0}.drop-indicator--contained[data-v-c2b7126d]{width:100%}.drop-indicator--inline[data-v-c2b7126d]{background-color:#0000;position:relative;top:auto;bottom:auto}.drop-indicator--active[data-v-c2b7126d]{background-color:var(--c-color-accent-fill-loud,#2563eb)}.drop-indicator--top[data-v-c2b7126d]{top:-1px}.drop-indicator--top.drop-indicator--contained[data-v-c2b7126d]{top:0}.drop-indicator--bottom[data-v-c2b7126d]{bottom:-1px}.drop-indicator--bottom.drop-indicator--contained[data-v-c2b7126d]{bottom:0}.cp-table-wrapper[data-v-67ffb342]{overflow:auto clip}[data-v-67ffb342] .cell,[data-v-67ffb342] .cell--header{white-space:nowrap}[data-v-67ffb342] .cell--header[aria-sort]:hover,[data-v-67ffb342] .cell--header[aria-sort]:focus-within{background-color:var(--c-color-neutral-fill-loud);color:var(--c-color-neutral-on-loud)}[data-v-67ffb342] .cell--wrap{white-space:normal}[data-v-67ffb342] .cell--drag-handle{width:40px;padding-inline:var(--c-spacing-sm);position:relative;overflow:visible}[data-v-67ffb342] .row--dragging{opacity:.4} diff --git a/resources/build/assets/AdminTable-CEQq3bAZ.css b/resources/build/assets/AdminTable-CEQq3bAZ.css new file mode 100644 index 00000000000..c4aa5b620d1 --- /dev/null +++ b/resources/build/assets/AdminTable-CEQq3bAZ.css @@ -0,0 +1 @@ +button[data-v-6ed8c3ba]{all:unset}button[data-v-6ed8c3ba]:after{content:"";width:100%;height:100%;position:absolute;top:0;left:0}craft-button[data-v-49bec635]{cursor:move}.cp-table-wrapper[data-v-67ffb342]{overflow:auto clip}[data-v-67ffb342] .cell,[data-v-67ffb342] .cell--header{white-space:nowrap}[data-v-67ffb342] .cell--header[aria-sort]:hover,[data-v-67ffb342] .cell--header[aria-sort]:focus-within{background-color:var(--c-color-neutral-fill-loud);color:var(--c-color-neutral-on-loud)}[data-v-67ffb342] .cell--wrap{white-space:normal}[data-v-67ffb342] .cell--drag-handle{width:40px;padding-inline:var(--c-spacing-sm);position:relative;overflow:visible}[data-v-67ffb342] .row--dragging{opacity:.4} diff --git a/resources/build/assets/AdminTable-TPqS7_4T.js b/resources/build/assets/AdminTable-TPqS7_4T.js new file mode 100644 index 00000000000..9cea62480da --- /dev/null +++ b/resources/build/assets/AdminTable-TPqS7_4T.js @@ -0,0 +1,4 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{A as t,B as n,D as r,E as i,F as a,I as o,J as s,L as c,P as l,Q as u,R as d,S as f,T as p,U as m,V as h,W as g,X as ee,Y as te,Z as ne,b as _,dt as v,et as re,h as y,ot as b,p as ie,rt as ae,st as x,t as S,tt as C,v as w,x as T,y as E}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{n as D,t as oe}from"./DropIndicator-CdS4AEr0.js";import{t as se}from"./Select-BfqUlpLH.js";function O(){return{accessor:(e,t)=>typeof e==`function`?{...t,accessorFn:e}:{...t,accessorKey:e},display:e=>e,group:e=>e}}function k(e,t){return typeof e==`function`?e(t):e}function A(e,t){return n=>{t.setState(t=>({...t,[e]:k(n,t[e])}))}}function j(e){return e instanceof Function}function ce(e){return Array.isArray(e)&&e.every(e=>typeof e==`number`)}function le(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i!=null&&i.length&&r(i)})};return r(e),n}function M(e,t,n){let r=[],i;return a=>{let o;n.key&&n.debug&&(o=Date.now());let s=e(a);if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug&&(c=Date.now()),i=t(...s),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.lengthe?.debugAll??e[t],key:!1,onChange:r}}function ue(e,t,n,r){let i={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:()=>i.getValue()??e.options.renderFallbackValue,getContext:M(()=>[e,n,t,i],(e,t,n,r)=>({table:e,column:t,row:n,cell:r,getValue:r.getValue,renderValue:r.renderValue}),N(e.options,`debugCells`,`cell.getContext`))};return e._features.forEach(r=>{r.createCell==null||r.createCell(i,n,t,e)},{}),i}function de(e,t,n,r){let i={...e._getDefaultColumnDef(),...t},a=i.accessorKey,o=i.id??(a?typeof String.prototype.replaceAll==`function`?a.replaceAll(`.`,`_`):a.replace(/\./g,`_`):void 0)??(typeof i.header==`string`?i.header:void 0),s;if(i.accessorFn?s=i.accessorFn:a&&(s=a.includes(`.`)?e=>{let t=e;for(let e of a.split(`.`))t=t?.[e];return t}:e=>e[i.accessorKey]),!o)throw Error();let c={id:`${String(o)}`,accessorFn:s,parent:r,depth:n,columnDef:i,columns:[],getFlatColumns:M(()=>[!0],()=>[c,...c.columns?.flatMap(e=>e.getFlatColumns())],N(e.options,`debugColumns`,`column.getFlatColumns`)),getLeafColumns:M(()=>[e._getOrderColumnsFn()],e=>{var t;return(t=c.columns)!=null&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},N(e.options,`debugColumns`,`column.getLeafColumns`))};for(let t of e._features)t.createColumn==null||t.createColumn(c,e);return c}var P=`debugHeaders`;function fe(e,t,n){let r={id:n.id??t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=n=>{n.subHeaders&&n.subHeaders.length&&n.subHeaders.map(t),e.push(n)};return t(r),e},getContext:()=>({table:e,header:r,column:t})};return e._features.forEach(t=>{t.createHeader==null||t.createHeader(r,e)}),r}var pe={createTable:e=>{e.getHeaderGroups=M(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{let a=r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],o=i?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],s=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id)));return F(t,[...a,...s,...o],e)},N(e.options,P,`getHeaderGroups`)),e.getCenterHeaderGroups=M(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id))),F(t,n,e,`center`)),N(e.options,P,`getCenterHeaderGroups`)),e.getLeftHeaderGroups=M(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>F(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`left`),N(e.options,P,`getLeftHeaderGroups`)),e.getRightHeaderGroups=M(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>F(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`right`),N(e.options,P,`getRightHeaderGroups`)),e.getFooterGroups=M(()=>[e.getHeaderGroups()],e=>[...e].reverse(),N(e.options,P,`getFooterGroups`)),e.getLeftFooterGroups=M(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),N(e.options,P,`getLeftFooterGroups`)),e.getCenterFooterGroups=M(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),N(e.options,P,`getCenterFooterGroups`)),e.getRightFooterGroups=M(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),N(e.options,P,`getRightFooterGroups`)),e.getFlatHeaders=M(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),N(e.options,P,`getFlatHeaders`)),e.getLeftFlatHeaders=M(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),N(e.options,P,`getLeftFlatHeaders`)),e.getCenterFlatHeaders=M(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),N(e.options,P,`getCenterFlatHeaders`)),e.getRightFlatHeaders=M(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),N(e.options,P,`getRightFlatHeaders`)),e.getCenterLeafHeaders=M(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),N(e.options,P,`getCenterLeafHeaders`)),e.getLeftLeafHeaders=M(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),N(e.options,P,`getLeftLeafHeaders`)),e.getRightLeafHeaders=M(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),N(e.options,P,`getRightLeafHeaders`)),e.getLeafHeaders=M(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,n)=>[...e[0]?.headers??[],...t[0]?.headers??[],...n[0]?.headers??[]].map(e=>e.getLeafHeaders()).flat(),N(e.options,P,`getLeafHeaders`))}};function F(e,t,n,r){let i=0,a=function(e,t){t===void 0&&(t=1),i=Math.max(i,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var n;(n=e.columns)!=null&&n.length&&a(e.columns,t+1)},0)};a(e);let o=[],s=(e,t)=>{let i={depth:t,id:[r,`${t}`].filter(Boolean).join(`_`),headers:[]},a=[];e.forEach(e=>{let o=[...a].reverse()[0],s=e.column.depth===i.depth,c,l=!1;if(s&&e.column.parent?c=e.column.parent:(c=e.column,l=!0),o&&o?.column===c)o.subHeaders.push(e);else{let i=fe(n,c,{id:[r,t,c.id,e?.id].filter(Boolean).join(`_`),isPlaceholder:l,placeholderId:l?`${a.filter(e=>e.column===c).length}`:void 0,depth:t,index:a.length});i.subHeaders.push(e),a.push(i)}i.headers.push(e),e.headerGroup=i}),o.push(i),t>0&&s(a,t-1)};s(t.map((e,t)=>fe(n,e,{depth:i,index:t})),i-1),o.reverse();let c=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,n=0,r=[0];e.subHeaders&&e.subHeaders.length?(r=[],c(e.subHeaders).forEach(e=>{let{colSpan:n,rowSpan:i}=e;t+=n,r.push(i)})):t=1;let i=Math.min(...r);return n+=i,e.colSpan=t,e.rowSpan=n,{colSpan:t,rowSpan:n}});return c(o[0]?.headers??[]),o}var me=(e,t,n,r,i,a,o)=>{let s={id:t,index:r,original:n,depth:i,parentId:o,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(s._valuesCache.hasOwnProperty(t))return s._valuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return s._valuesCache[t]=n.accessorFn(s.original,r),s._valuesCache[t]},getUniqueValues:t=>{if(s._uniqueValuesCache.hasOwnProperty(t))return s._uniqueValuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return n.columnDef.getUniqueValues?(s._uniqueValuesCache[t]=n.columnDef.getUniqueValues(s.original,r),s._uniqueValuesCache[t]):(s._uniqueValuesCache[t]=[s.getValue(t)],s._uniqueValuesCache[t])},renderValue:t=>s.getValue(t)??e.options.renderFallbackValue,subRows:a??[],getLeafRows:()=>le(s.subRows,e=>e.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let e=[],t=s;for(;;){let n=t.getParentRow();if(!n)break;e.push(n),t=n}return e.reverse()},getAllCells:M(()=>[e.getAllLeafColumns()],t=>t.map(t=>ue(e,s,t,t.id)),N(e.options,`debugRows`,`getAllCells`)),_getAllCellsByColumnId:M(()=>[s.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),N(e.options,`debugRows`,`getAllCellsByColumnId`))};for(let t=0;t{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},ge=(e,t,n)=>{var r,i;let a=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!(!((i=e.getValue(t))==null||(i=i.toString())==null||(i=i.toLowerCase())==null)&&i.includes(a))};ge.autoRemove=e=>R(e);var _e=(e,t,n)=>{var r;return!!(!((r=e.getValue(t))==null||(r=r.toString())==null)&&r.includes(n))};_e.autoRemove=e=>R(e);var ve=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};ve.autoRemove=e=>R(e);var ye=(e,t,n)=>e.getValue(t)?.includes(n);ye.autoRemove=e=>R(e);var be=(e,t,n)=>!n.some(n=>{var r;return!((r=e.getValue(t))!=null&&r.includes(n))});be.autoRemove=e=>R(e)||!(e!=null&&e.length);var xe=(e,t,n)=>n.some(n=>e.getValue(t)?.includes(n));xe.autoRemove=e=>R(e)||!(e!=null&&e.length);var Se=(e,t,n)=>e.getValue(t)===n;Se.autoRemove=e=>R(e);var Ce=(e,t,n)=>e.getValue(t)==n;Ce.autoRemove=e=>R(e);var I=(e,t,n)=>{let[r,i]=n,a=e.getValue(t);return a>=r&&a<=i};I.resolveFilterValue=e=>{let[t,n]=e,r=typeof t==`number`?t:parseFloat(t),i=typeof n==`number`?n:parseFloat(n),a=t===null||Number.isNaN(r)?-1/0:r,o=n===null||Number.isNaN(i)?1/0:i;if(a>o){let e=a;a=o,o=e}return[a,o]},I.autoRemove=e=>R(e)||R(e[0])&&R(e[1]);var L={includesString:ge,includesStringSensitive:_e,equalsString:ve,arrIncludes:ye,arrIncludesAll:be,arrIncludesSome:xe,equals:Se,weakEquals:Ce,inNumberRange:I};function R(e){return e==null||e===``}var we={getDefaultColumnDef:()=>({filterFn:`auto`}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:A(`columnFilters`,e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);return typeof n==`string`?L.includesString:typeof n==`number`?L.inNumberRange:typeof n==`boolean`||typeof n==`object`&&n?L.equals:Array.isArray(n)?L.arrIncludes:L.weakEquals},e.getFilterFn=()=>j(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn===`auto`?e.getAutoFilterFn():t.options.filterFns?.[e.columnDef.filterFn]??L[e.columnDef.filterFn],e.getCanFilter=()=>(e.columnDef.enableColumnFilter??!0)&&(t.options.enableColumnFilters??!0)&&(t.options.enableFilters??!0)&&!!e.accessorFn,e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(t=>t.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>t.getState().columnFilters?.findIndex(t=>t.id===e.id)??-1,e.setFilterValue=n=>{t.setColumnFilters(t=>{let r=e.getFilterFn(),i=t?.find(t=>t.id===e.id),a=k(n,i?i.value:void 0);if(Te(r,a,e))return t?.filter(t=>t.id!==e.id)??[];let o={id:e.id,value:a};return i?t?.map(t=>t.id===e.id?o:t)??[]:t!=null&&t.length?[...t,o]:[o]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let n=e.getAllLeafColumns();e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(e=>k(t,e)?.filter(e=>{let t=n.find(t=>t.id===e.id);return!(t&&Te(t.getFilterFn(),e.value,t))}))},e.resetColumnFilters=t=>{e.setColumnFilters(t?[]:e.initialState?.columnFilters??[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function Te(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||t===void 0||typeof t==`string`&&!t}var z={sum:(e,t,n)=>n.reduce((t,n)=>{let r=n.getValue(e);return t+(typeof r==`number`?r:0)},0),min:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}),r},max:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r=n)&&(r=n)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r===void 0?n>=n&&(r=i=n):(r>n&&(r=n),i{let n=0,r=0;if(t.forEach(t=>{let i=t.getValue(e);i!=null&&(i=+i)>=i&&(++n,r+=i)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=t.map(t=>t.getValue(e));if(!ce(n))return;if(n.length===1)return n[0];let r=Math.floor(n.length/2),i=n.sort((e,t)=>e-t);return n.length%2==0?(i[r-1]+i[r])/2:i[r]},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},Ee={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t;return((t=e.getValue())==null||t.toString==null?void 0:t.toString())??null},aggregationFn:`auto`}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:A(`grouping`,e),groupedColumnMode:`reorder`}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(t=>t!==e.id):[...t??[],e.id])},e.getCanGroup=()=>(e.columnDef.enableGrouping??!0)&&(t.options.enableGrouping??!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue),e.getIsGrouped=()=>t.getState().grouping?.includes(e.id),e.getGroupedIndex=()=>t.getState().grouping?.indexOf(e.id),e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);if(typeof n==`number`)return z.sum;if(Object.prototype.toString.call(n)===`[object Date]`)return z.extent},e.getAggregationFn=()=>{if(!e)throw Error();return j(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn===`auto`?e.getAutoAggregationFn():t.options.aggregationFns?.[e.columnDef.aggregationFn]??z[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{e.setGrouping(t?[]:e.initialState?.grouping??[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];let r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((t=n.subRows)!=null&&t.length)}}};function De(e,t,n){if(!(t!=null&&t.length)||!n)return e;let r=e.filter(e=>!t.includes(e.id));return n===`remove`?r:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...r]}var Oe={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:A(`columnOrder`,e)}),createColumn:(e,t)=>{e.getIndex=M(e=>[W(t,e)],t=>t.findIndex(t=>t.id===e.id),N(t.options,`debugColumns`,`getIndex`)),e.getIsFirstColumn=n=>W(t,n)[0]?.id===e.id,e.getIsLastColumn=n=>{let r=W(t,n);return r[r.length-1]?.id===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{e.setColumnOrder(t?[]:e.initialState.columnOrder??[])},e._getOrderColumnsFn=M(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,n)=>r=>{let i=[];if(!(e!=null&&e.length))i=r;else{let t=[...e],n=[...r];for(;n.length&&t.length;){let e=t.shift(),r=n.findIndex(t=>t.id===e);r>-1&&i.push(n.splice(r,1)[0])}i=[...i,...n]}return De(i,t,n)},N(e.options,`debugTable`,`_getOrderColumnsFn`))}},B=()=>({left:[],right:[]}),ke={getInitialState:e=>({columnPinning:B(),...e}),getDefaultOptions:e=>({onColumnPinningChange:A(`columnPinning`,e)}),createColumn:(e,t)=>{e.pin=n=>{let r=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>n===`right`?{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:[...(e?.right??[]).filter(e=>!(r!=null&&r.includes(e))),...r]}:n===`left`?{left:[...(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),...r],right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))}:{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))})},e.getCanPin=()=>e.getLeafColumns().some(e=>(e.columnDef.enablePinning??!0)&&(t.options.enableColumnPinning??t.options.enablePinning??!0)),e.getIsPinned=()=>{let n=e.getLeafColumns().map(e=>e.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`left`:o?`right`:!1},e.getPinnedIndex=()=>{var n;let r=e.getIsPinned();return r?((n=t.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))??-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=M(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.column.id))},N(t.options,`debugRows`,`getCenterVisibleCells`)),e.getLeftVisibleCells=M(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`left`})),N(t.options,`debugRows`,`getLeftVisibleCells`)),e.getRightVisibleCells=M(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`right`})),N(t.options,`debugRows`,`getRightVisibleCells`))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>e.setColumnPinning(t?B():e.initialState?.columnPinning??B()),e.getIsSomeColumnsPinned=t=>{let n=e.getState().columnPinning;return t?!!n[t]?.length:!!(n.left?.length||n.right?.length)},e.getLeftLeafColumns=M(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),N(e.options,`debugColumns`,`getLeftLeafColumns`)),e.getRightLeafColumns=M(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),N(e.options,`debugColumns`,`getRightLeafColumns`)),e.getCenterLeafColumns=M(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.id))},N(e.options,`debugColumns`,`getCenterLeafColumns`))}};function Ae(e){return e||(typeof document<`u`?document:null)}var V={size:150,minSize:20,maxSize:2**53-1},je=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),Me={getDefaultColumnDef:()=>V,getInitialState:e=>({columnSizing:{},columnSizingInfo:je(),...e}),getDefaultOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnSizingChange:A(`columnSizing`,e),onColumnSizingInfoChange:A(`columnSizingInfo`,e)}),createColumn:(e,t)=>{e.getSize=()=>{let n=t.getState().columnSizing[e.id];return Math.min(Math.max(e.columnDef.minSize??V.minSize,n??e.columnDef.size??V.size),e.columnDef.maxSize??V.maxSize)},e.getStart=M(e=>[e,W(t,e),t.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),N(t.options,`debugColumns`,`getStart`)),e.getAfter=M(e=>[e,W(t,e),t.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),N(t.options,`debugColumns`,`getAfter`)),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>(e.columnDef.enableResizing??!0)&&(t.options.enableColumnResizing??!0),e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,n=e=>{e.subHeaders.length?e.subHeaders.forEach(n):t+=e.column.getSize()??0};return n(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=n=>{let r=t.getColumn(e.column.id),i=r?.getCanResize();return a=>{if(!r||!i||(a.persist==null||a.persist(),U(a)&&a.touches&&a.touches.length>1))return;let o=e.getSize(),s=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[r.id,r.getSize()]],c=U(a)?Math.round(a.touches[0].clientX):a.clientX,l={},u=(e,n)=>{typeof n==`number`&&(t.setColumnSizingInfo(e=>{let r=t.options.columnResizeDirection===`rtl`?-1:1,i=(n-(e?.startOffset??0))*r,a=Math.max(i/(e?.startSize??0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,n]=e;l[t]=Math.round(Math.max(n+n*a,0)*100)/100}),{...e,deltaOffset:i,deltaPercentage:a}}),(t.options.columnResizeMode===`onChange`||e===`end`)&&t.setColumnSizing(e=>({...e,...l})))},d=e=>u(`move`,e),f=e=>{u(`end`,e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=Ae(n),m={moveHandler:e=>d(e.clientX),upHandler:e=>{p?.removeEventListener(`mousemove`,m.moveHandler),p?.removeEventListener(`mouseup`,m.upHandler),f(e.clientX)}},h={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1),upHandler:e=>{p?.removeEventListener(`touchmove`,h.moveHandler),p?.removeEventListener(`touchend`,h.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),f(e.touches[0]?.clientX)}},g=Ne()?{passive:!1}:!1;U(a)?(p?.addEventListener(`touchmove`,h.moveHandler,g),p?.addEventListener(`touchend`,h.upHandler,g)):(p?.addEventListener(`mousemove`,m.moveHandler,g),p?.addEventListener(`mouseup`,m.upHandler,g)),t.setColumnSizingInfo(e=>({...e,startOffset:c,startSize:o,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{e.setColumnSizing(t?{}:e.initialState.columnSizing??{})},e.resetHeaderSizeInfo=t=>{e.setColumnSizingInfo(t?je():e.initialState.columnSizingInfo??je())},e.getTotalSize=()=>e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getLeftTotalSize=()=>e.getLeftHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getCenterTotalSize=()=>e.getCenterHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getRightTotalSize=()=>e.getRightHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0}},H=null;function Ne(){if(typeof H==`boolean`)return H;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return H=e,H}function U(e){return e.type===`touchstart`}var Pe={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:A(`columnVisibility`,e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{let n=e.columns;return(n.length?n.some(e=>e.getIsVisible()):t.getState().columnVisibility?.[e.id])??!0},e.getCanHide=()=>(e.columnDef.enableHiding??!0)&&(t.options.enableHiding??!0),e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=M(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),N(t.options,`debugRows`,`_getAllVisibleCells`)),e.getVisibleCells=M(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,n)=>[...e,...t,...n],N(t.options,`debugRows`,`getVisibleCells`))},createTable:e=>{let t=(t,n)=>M(()=>[n(),n().filter(e=>e.getIsVisible()).map(e=>e.id).join(`_`)],e=>e.filter(e=>e.getIsVisible==null?void 0:e.getIsVisible()),N(e.options,`debugColumns`,t));e.getVisibleFlatColumns=t(`getVisibleFlatColumns`,()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t(`getVisibleLeafColumns`,()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t(`getLeftVisibleLeafColumns`,()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t(`getRightVisibleLeafColumns`,()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t(`getCenterVisibleLeafColumns`,()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{e.setColumnVisibility(t?{}:e.initialState.columnVisibility??{})},e.toggleAllColumnsVisible=t=>{t??=!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,n)=>({...e,[n.id]:t||!(n.getCanHide!=null&&n.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(e.getIsVisible!=null&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>e.getIsVisible==null?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{e.toggleAllColumnsVisible(t.target?.checked)}}};function W(e,t){return t?t===`center`?e.getCenterVisibleLeafColumns():t===`left`?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}var Fe={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,`__global__`),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,`__global__`),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,`__global__`),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},Ie={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:A(`globalFilter`,e),globalFilterFn:`auto`,getColumnCanGlobalFilter:t=>{var n;let r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r==`string`||typeof r==`number`}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>(e.columnDef.enableGlobalFilter??!0)&&(t.options.enableGlobalFilter??!0)&&(t.options.enableFilters??!0)&&((t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))??!0)&&!!e.accessorFn},createTable:e=>{e.getGlobalAutoFilterFn=()=>L.includesString,e.getGlobalFilterFn=()=>{let{globalFilterFn:t}=e.options;return j(t)?t:t===`auto`?e.getGlobalAutoFilterFn():e.options.filterFns?.[t]??L[t]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},Le={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:A(`expanded`,e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=t=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{t??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{e.setExpanded(t?{}:e.initialState?.expanded??{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{t.persist==null||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return t===!0||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return typeof t==`boolean`?t===!0:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let n=e.split(`.`);t=Math.max(t,n.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{let i=r===!0?!0:!!(r!=null&&r[e.id]),a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(e=>{a[e]=!0}):a=r,n??=!i,!i&&n)return{...a,[e.id]:!0};if(i&&!n){let{[e.id]:t,...n}=a;return n}return r})},e.getIsExpanded=()=>{let n=t.getState().expanded;return!!((t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))??(n===!0||n?.[e.id]))},e.getCanExpand=()=>{var n;return(t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))??((t.options.enableExpanding??!0)&&!!((n=e.subRows)!=null&&n.length))},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},G=0,K=10,q=()=>({pageIndex:G,pageSize:K}),Re={getInitialState:e=>({...e,pagination:{...q(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:A(`pagination`,e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{if(!t){e._queue(()=>{t=!0});return}if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=t=>e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(e=>k(t,e)),e.resetPagination=t=>{e.setPagination(t?q():e.initialState.pagination??q())},e.setPageIndex=t=>{e.setPagination(n=>{let r=k(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})},e.resetPageIndex=t=>{var n;e.setPageIndex(t?G:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageIndex)??G)},e.resetPageSize=t=>{var n;e.setPageSize(t?K:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageSize)??K)},e.setPageSize=t=>{e.setPagination(e=>{let n=Math.max(1,k(t,e.pageSize)),r=e.pageSize*e.pageIndex,i=Math.floor(r/n);return{...e,pageIndex:i,pageSize:n}})},e.setPageCount=t=>e.setPagination(n=>{let r=k(t,e.options.pageCount??-1);return typeof r==`number`&&(r=Math.max(-1,r)),{...n,pageCount:r}}),e.getPageOptions=M(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},N(e.options,`debugTable`,`getPageOptions`)),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,n=e.getPageCount();return n===-1?!0:n===0?!1:te.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>e.options.pageCount??Math.ceil(e.getRowCount()/e.getState().pagination.pageSize),e.getRowCount=()=>e.options.rowCount??e.getPrePaginationRowModel().rows.length}},ze=()=>({top:[],bottom:[]}),Be={getInitialState:e=>({rowPinning:ze(),...e}),getDefaultOptions:e=>({onRowPinningChange:A(`rowPinning`,e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{let a=r?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],o=i?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],s=new Set([...o,e.id,...a]);t.setRowPinning(e=>n===`bottom`?{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:[...(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)]}:n===`top`?{top:[...(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)],bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))}:{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))})},e.getCanPin=()=>{let{enableRowPinning:n,enablePinning:r}=t.options;return typeof n==`function`?n(e):n??r??!0},e.getIsPinned=()=>{let n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`top`:o?`bottom`:!1},e.getPinnedIndex=()=>{let n=e.getIsPinned();return n?((n===`top`?t.getTopRows():t.getBottomRows())?.map(e=>{let{id:t}=e;return t}))?.indexOf(e.id)??-1:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>e.setRowPinning(t?ze():e.initialState?.rowPinning??ze()),e.getIsSomeRowsPinned=t=>{let n=e.getState().rowPinning;return t?!!n[t]?.length:!!(n.top?.length||n.bottom?.length)},e._getPinnedRows=(t,n,r)=>(e.options.keepPinnedRows??!0?(n??[]).map(t=>{let n=e.getRow(t,!0);return n.getIsAllParentsExpanded()?n:null}):(n??[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:r})),e.getTopRows=M(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,`top`),N(e.options,`debugRows`,`getTopRows`)),e.getBottomRows=M(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,`bottom`),N(e.options,`debugRows`,`getBottomRows`)),e.getCenterRows=M(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,n)=>{let r=new Set([...t??[],...n??[]]);return e.filter(e=>!r.has(e.id))},N(e.options,`debugRows`,`getCenterRows`))}},Ve={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:A(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>e.setRowSelection(t?{}:e.initialState.rowSelection??{}),e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=t===void 0?!e.getIsAllRowsSelected():t;let r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(e=>{e.getCanSelect()&&(r[e.id]=!0)}):i.forEach(e=>{delete r[e.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{let r=t===void 0?!e.getIsAllPageRowsSelected():t,i={...n};return e.getRowModel().rows.forEach(t=>{He(i,t.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=M(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?Ue(e,n):{rows:[],flatRows:[],rowsById:{}},N(e.options,`debugTable`,`getSelectedRowModel`)),e.getFilteredSelectedRowModel=M(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?Ue(e,n):{rows:[],flatRows:[],rowsById:{}},N(e.options,`debugTable`,`getFilteredSelectedRowModel`)),e.getGroupedSelectedRowModel=M(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?Ue(e,n):{rows:[],flatRows:[],rowsById:{}},N(e.options,`debugTable`,`getGroupedSelectedRowModel`)),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState(),r=!!(t.length&&Object.keys(n).length);return r&&t.some(e=>e.getCanSelect()&&!n[e.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:n}=e.getState(),r=!!t.length;return r&&t.some(e=>!n[e.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{let t=Object.keys(e.getState().rowSelection??{}).length;return t>0&&t{let t=e.getPaginationRowModel().flatRows;return e.getIsAllPageRowsSelected()?!1:t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{let i=e.getIsSelected();t.setRowSelection(a=>{if(n=n===void 0?!i:n,e.getCanSelect()&&i===n)return a;let o={...a};return He(o,e.id,n,r?.selectChildren??!0,t),o})},e.getIsSelected=()=>{let{rowSelection:n}=t.getState();return We(e,n)},e.getIsSomeSelected=()=>{let{rowSelection:n}=t.getState();return Ge(e,n)===`some`},e.getIsAllSubRowsSelected=()=>{let{rowSelection:n}=t.getState();return Ge(e,n)===`all`},e.getCanSelect=()=>typeof t.options.enableRowSelection==`function`?t.options.enableRowSelection(e):t.options.enableRowSelection??!0,e.getCanSelectSubRows=()=>typeof t.options.enableSubRowSelection==`function`?t.options.enableSubRowSelection(e):t.options.enableSubRowSelection??!0,e.getCanMultiSelect=()=>typeof t.options.enableMultiRowSelection==`function`?t.options.enableMultiRowSelection(e):t.options.enableMultiRowSelection??!0,e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return n=>{t&&e.toggleSelected(n.target?.checked)}}}},He=(e,t,n,r,i)=>{var a;let o=i.getRow(t,!0);n?(o.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),o.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(a=o.subRows)!=null&&a.length&&o.getCanSelectSubRows()&&o.subRows.forEach(t=>He(e,t.id,n,r,i))};function Ue(e,t){let n=e.getState().rowSelection,r=[],i={},a=function(e,t){return e.map(e=>{var t;let o=We(e,n);if(o&&(r.push(e),i[e.id]=e),(t=e.subRows)!=null&&t.length&&(e={...e,subRows:a(e.subRows)}),o)return e}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function We(e,t){return t[e.id]??!1}function Ge(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,a=!1;return e.subRows.forEach(e=>{if(!(a&&!i)&&(e.getCanSelect()&&(We(e,t)?a=!0:i=!1),e.subRows&&e.subRows.length)){let n=Ge(e,t);n===`all`?a=!0:(n===`some`&&(a=!0),i=!1)}}),i?`all`:a?`some`:!1}var Ke=/([0-9]+)/gm,qe=(e,t,n)=>et(J(e.getValue(n)).toLowerCase(),J(t.getValue(n)).toLowerCase()),Je=(e,t,n)=>et(J(e.getValue(n)),J(t.getValue(n))),Ye=(e,t,n)=>$e(J(e.getValue(n)).toLowerCase(),J(t.getValue(n)).toLowerCase()),Xe=(e,t,n)=>$e(J(e.getValue(n)),J(t.getValue(n))),Ze=(e,t,n)=>{let r=e.getValue(n),i=t.getValue(n);return r>i?1:r$e(e.getValue(n),t.getValue(n));function $e(e,t){return e===t?0:e>t?1:-1}function J(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function et(e,t){let n=e.split(Ke).filter(Boolean),r=t.split(Ke).filter(Boolean);for(;n.length&&r.length;){let e=n.shift(),t=r.shift(),i=parseInt(e,10),a=parseInt(t,10),o=[i,a].sort();if(isNaN(o[0])){if(e>t)return 1;if(t>e)return-1;continue}if(isNaN(o[1]))return isNaN(i)?-1:1;if(i>a)return 1;if(a>i)return-1}return n.length-r.length}var Y={alphanumeric:qe,alphanumericCaseSensitive:Je,text:Ye,textCaseSensitive:Xe,datetime:Ze,basic:Qe},tt=[pe,Pe,Oe,ke,he,we,Fe,Ie,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:`auto`,sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:A(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let n=t.getFilteredRowModel().flatRows.slice(10),r=!1;for(let t of n){let n=t?.getValue(e.id);if(Object.prototype.toString.call(n)===`[object Date]`)return Y.datetime;if(typeof n==`string`&&(r=!0,n.split(Ke).length>1))return Y.alphanumeric}return r?Y.text:Y.basic},e.getAutoSortDir=()=>typeof t.getFilteredRowModel().flatRows[0]?.getValue(e.id)==`string`?`asc`:`desc`,e.getSortingFn=()=>{if(!e)throw Error();return j(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn===`auto`?e.getAutoSortingFn():t.options.sortingFns?.[e.columnDef.sortingFn]??Y[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{let i=e.getNextSortingOrder(),a=n!=null;t.setSorting(o=>{let s=o?.find(t=>t.id===e.id),c=o?.findIndex(t=>t.id===e.id),l=[],u,d=a?n:i===`desc`;return u=o!=null&&o.length&&e.getCanMultiSort()&&r?s?`toggle`:`add`:o!=null&&o.length&&c!==o.length-1?`replace`:s?`toggle`:`replace`,u===`toggle`&&(a||i||(u=`remove`)),u===`add`?(l=[...o,{id:e.id,desc:d}],l.splice(0,l.length-(t.options.maxMultiSortColCount??2**53-1))):l=u===`toggle`?o.map(t=>t.id===e.id?{...t,desc:d}:t):u===`remove`?o.filter(t=>t.id!==e.id):[{id:e.id,desc:d}],l})},e.getFirstSortDir=()=>e.columnDef.sortDescFirst??t.options.sortDescFirst??e.getAutoSortDir()===`desc`?`desc`:`asc`,e.getNextSortingOrder=n=>{let r=e.getFirstSortDir(),i=e.getIsSorted();return i?i!==r&&(t.options.enableSortingRemoval??!0)&&(!n||(t.options.enableMultiRemove??!0))?!1:i===`desc`?`asc`:`desc`:r},e.getCanSort=()=>(e.columnDef.enableSorting??!0)&&(t.options.enableSorting??!0)&&!!e.accessorFn,e.getCanMultiSort=()=>e.columnDef.enableMultiSort??t.options.enableMultiSort??!!e.accessorFn,e.getIsSorted=()=>{let n=t.getState().sorting?.find(t=>t.id===e.id);return n?n.desc?`desc`:`asc`:!1},e.getSortIndex=()=>t.getState().sorting?.findIndex(t=>t.id===e.id)??-1,e.clearSorting=()=>{t.setSorting(t=>t!=null&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{e.setSorting(t?[]:e.initialState?.sorting??[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},Ee,Le,Re,Be,Ve,Me];function nt(e){let t=[...tt,...e._features??[]],n={_features:t},r=n._features.reduce((e,t)=>Object.assign(e,t.getDefaultOptions==null?void 0:t.getDefaultOptions(n)),{}),i=e=>n.options.mergeOptions?n.options.mergeOptions(r,e):{...r,...e},a={...e.initialState??{}};n._features.forEach(e=>{a=(e.getInitialState==null?void 0:e.getInitialState(a))??a});let o=[],s=!1,c={_features:t,options:{...r,...e},initialState:a,_queue:e=>{o.push(e),s||(s=!0,Promise.resolve().then(()=>{for(;o.length;)o.shift()();s=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{n.setState(n.initialState)},setOptions:e=>{n.options=i(k(e,n.options))},getState:()=>n.options.state,setState:e=>{n.options.onStateChange==null||n.options.onStateChange(e)},_getRowId:(e,t,r)=>(n.options.getRowId==null?void 0:n.options.getRowId(e,t,r))??`${r?[r.id,t].join(`.`):t}`,getCoreRowModel:()=>(n._getCoreRowModel||=n.options.getCoreRowModel(n),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:(e,t)=>{let r=(t?n.getPrePaginationRowModel():n.getRowModel()).rowsById[e];if(!r&&(r=n.getCoreRowModel().rowsById[e],!r))throw Error();return r},_getDefaultColumnDef:M(()=>[n.options.defaultColumn],e=>(e??={},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t;return((t=e.renderValue())==null||t.toString==null?void 0:t.toString())??null},...n._features.reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef==null?void 0:t.getDefaultColumnDef()),{}),...e}),N(e,`debugColumns`,`_getDefaultColumnDef`)),_getColumnDefs:()=>n.options.columns,getAllColumns:M(()=>[n._getColumnDefs()],e=>{let t=function(e,r,i){return i===void 0&&(i=0),e.map(e=>{let a=de(n,e,i,r),o=e;return a.columns=o.columns?t(o.columns,a,i+1):[],a})};return t(e)},N(e,`debugColumns`,`getAllColumns`)),getAllFlatColumns:M(()=>[n.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),N(e,`debugColumns`,`getAllFlatColumns`)),_getAllFlatColumnsById:M(()=>[n.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),N(e,`debugColumns`,`getAllFlatColumnsById`)),getAllLeafColumns:M(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),N(e,`debugColumns`,`getAllLeafColumns`)),getColumn:e=>n._getAllFlatColumnsById()[e]};Object.assign(n,c);for(let e=0;eM(()=>[e.options.data],t=>{let n={rows:[],flatRows:[],rowsById:{}},r=function(t,i,a){i===void 0&&(i=0);let o=[];for(let c=0;ce._autoResetPageIndex()))}function X(){return!0}var it=Symbol(`merge-proxy`),at={get(e,t,n){return t===it?n:e.get(t)},has(e,t){return e.has(t)},set:X,deleteProperty:X,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:X,deleteProperty:X}},ownKeys(e){return e.keys()}};function Z(e){return`value`in e?e.value:e}function Q(){var e=[...arguments];return new Proxy({get(t){for(let n=e.length-1;n>=0;n--){let r=Z(e[n])[t];if(r!==void 0)return r}},has(t){for(let n=e.length-1;n>=0;n--)if(t in Z(e[n]))return!0;return!1},keys(){let t=[];for(let n=0;n()=>typeof e.render==`function`||typeof e.render==`object`?t(e.render,e.props):e.render});function st(e){return Q(e,{data:v(e.data)})}function ct(e){let t=ae(e.data),n=nt(Q({state:{},onStateChange:()=>{},renderFallbackValue:null,mergeOptions(e,n){return t?{...e,...n}:Q(e,n)}},t?st(e):e));if(t){let t=x(e.data);s(t,()=>{n.setState(e=>({...e,data:t.value}))},{immediate:!0})}let r=b(n.initialState);return te(()=>{n.setOptions(n=>{let i=new Proxy({},{get:(e,t)=>r.value[t]});return Q(n,t?st(e):e,{state:Q(i,e.state??{}),onStateChange:t=>{t instanceof Function?r.value=t(r.value):r.value=t,e.onStateChange==null||e.onStateChange(t)}})})}),n}function lt(e){let t=b(new Map),n=b(new Map),r=b(new Map),i=null,{registerItem:l,getDragState:u,getDropState:d,setupMonitor:f}=D({onReorder:e.onReorder,axis:`vertical`});function p(e,n){e?t.value.set(n,e):t.value.delete(n)}function m(e,t){e?n.value.set(t,e):n.value.delete(t)}function h(){e.enabled()&&(r.value.forEach(e=>e()),r.value.clear(),e.getRowIds().forEach((e,i)=>{let a=String(e),o=t.value.get(a),s=n.value.get(a);if(o){let e=l(o,s??null,a,i);r.value.set(a,e)}}))}return s(()=>e.getRowIds(),()=>{a(h)},{deep:!0}),o(()=>{i=f(),a(h)}),c(()=>{r.value.forEach(e=>e()),i?.()}),{setRowRef:p,setHandleRef:m,getDragState:u,getDropState:d,refreshRegistrations:h}}var $={Relaxed:`relaxed`,Compact:`compact`,Spacious:`spacious`},ut=[`aria-describedby`],dt=S(r({__name:`ColumnHeaderTitle`,props:{isSortable:{type:Boolean,default:!1},sortInstructionsId:{}},emits:[`sortColumn`],setup(e){return(t,n)=>e.isSortable?(d(),f(`button`,{key:0,type:`button`,onClick:n[0]||=e=>t.$emit(`sortColumn`,e),"aria-describedby":e.sortInstructionsId},[h(t.$slots,`default`,{},void 0,!0)],8,ut)):h(t.$slots,`default`,{key:1},void 0,!0)}}),[[`__scopeId`,`data-v-6ed8c3ba`]]),ft=[`label`],pt={slot:`content`},mt=[`disabled`],ht=[`disabled`],gt=S(r({__name:`ReorderButton`,props:{label:{default:e(`Reorder`)},position:{default:`middle`}},emits:[`click:up`,`click:down`],setup(t,{emit:n}){let r=n;return(n,i)=>(d(),f(`craft-action-menu`,null,[E(`craft-button`,l({slot:`invoker`,type:`button`,icon:``,size:`small`,appearance:`plain`},n.$attrs),[E(`craft-icon`,{name:`custom-icons/grip-dots`,label:t.label},null,8,ft)],16),E(`div`,pt,[E(`craft-action-item`,{icon:`arrow-up`,onClick:i[0]||=e=>r(`click:up`),disabled:t.position===`first`},C(v(e)(`Move up`)),9,mt),E(`craft-action-item`,{icon:`arrow-down`,onClick:i[1]||=e=>r(`click:down`),disabled:t.position===`last`},C(v(e)(`Move down`)),9,ht)])]))}}),[[`__scopeId`,`data-v-49bec635`]]),_t=r({__name:`Text`,props:{as:{default:`div`},template:{},params:{}},setup(t){let n=t,r=w(()=>e(n.template,n.params));return(e,n)=>(d(),_(m(t.as),l(e.$attrs,{innerHTML:r.value}),null,16,[`innerHTML`]))}}),vt={class:`py-20 w-full`},yt={class:`w-[60ch] mx-auto text-center grid gap-3 justify-items-center text-gray-500`},bt=[`name`],xt={class:`text-lg`},St=r({__name:`Empty`,props:{icon:{},label:{}},setup(e){return(t,n)=>(d(),f(`div`,vt,[E(`div`,yt,[h(t.$slots,`graphic`,{},()=>[e.icon?(d(),f(`craft-icon`,{key:0,name:e.icon,style:{"font-size":`calc(48rem / 16)`}},null,8,bt)):T(``,!0)]),h(t.$slots,`content`,{},()=>[E(`p`,xt,C(e.label),1)]),h(t.$slots,`default`)])]))}}),Ct={class:`cp-table-wrapper`},wt={key:0,class:`cp-table-header`},Tt={class:`sr-only`},Et={key:0,class:`cell cell--header`},Dt=[`colSpan`,`id`,`aria-sort`],Ot={key:1,name:`arrow-up-arrow-down`},kt={key:2,name:`arrow-down`},At={key:3,name:`arrow-up`},jt={key:0},Mt={key:0},Nt={key:1,style:{"--table-template-columns":`1fr`,"--_cell-spacing-inline":`0`,"--_cell-spacing-block":`0`}},Pt={key:1,class:`cp-table-footer`},Ft={class:`flex gap-1`},It=[`disabled`],Lt=[`label`],Rt={class:`flex items-center gap-1 mx-2`},zt=[`label`],Bt=[`disabled`],Vt=[`label`],Ht={class:`flex gap-2 items-center`},Ut=S(r({__name:`AdminTable`,props:{table:{},title:{},reorderable:{type:Boolean,default:!1},selectable:{type:Boolean,default:!0},readOnly:{type:Boolean},layout:{default:`auto`},spacing:{},from:{},to:{},total:{},enableAdjustPageSize:{type:Boolean,default:!1},pageSizeOptions:{default:()=>[50,100,250]}},emits:[`reorder`],setup(t,{emit:r}){let a=t,o=r,{setRowRef:s,setHandleRef:c,getDragState:l,getDropState:te}=lt({getRowIds:()=>a.table.getRowModel().rows.map(e=>e.id),onReorder:(e,t)=>{o(`reorder`,e,t)},enabled:()=>!a.readOnly&&a.reorderable}),b=`column-sort-instructions-${g()}`,ae=w(()=>a.title?`${a.title}, `:null),x=w({get(){return a.table.getState().pagination.pageIndex+1},set(e){e&&a.table.setPageIndex(parseInt(e)-1)}}),S=w({get(){return a.table.getState().pagination.pageSize},set(e){e&&a.table.setPageSize(parseInt(e))}}),D=w(()=>a.table.getPageCount()>1),O=w(()=>a.enableAdjustPageSize),k=w(()=>a.from&&a.to&&a.total),A=w(()=>D.value||O.value||k.value);function j(e){return e?typeof e==`string`?{[e]:!0}:e:{}}function ce(e){if(e.getCanSort())return e.getIsSorted()?e.getIsSorted()===`asc`?`ascending`:`descending`:`none`}let le=w(()=>{let e=a.table.getAllColumns().filter(e=>e.getIsVisible()),t=e.length;a.reorderable&&(t+=1);let n={"--table-column-count":t},r=e.reduce((e,t)=>(e.push(t.columnDef.meta?.trackSize??`minmax(0, 1fr)`),e),[]);return a.reorderable&&r.unshift(`44px`),n[`--table-template-columns`]=r.join(` `),n});function M(e){return e===0?`first`:e===a.table.getRowModel().rows.length-1?`last`:`middle`}return(r,a)=>(d(),f(`div`,Ct,[r.$slots[`search-form`]?(d(),f(`div`,wt,[h(r.$slots,`search-form`,{},void 0,!0)])):T(``,!0),E(`table`,{class:u({"cp-table":!0,"cp-table--grid":!0,"cp-table--compact":t.spacing===v($).Compact,"cp-table--relaxed":t.spacing===v($).Relaxed,"cp-table--spacious":t.spacing===v($).Spacious,"cp-table--auto":t.layout===`auto`}),style:re(le.value)},[E(`caption`,Tt,[p(C(ae.value)+` `,1),E(`span`,{id:b},C(v(e)(`Column headers with buttons are sortable`)),1)]),E(`thead`,null,[(d(!0),f(y,null,n(t.table.getHeaderGroups(),e=>(d(),f(`tr`,{key:e.id},[!t.readOnly&&t.reorderable?(d(),f(`th`,Et,[...a[4]||=[E(`span`,{class:`sr-only`},`Reorder`,-1)]])):T(``,!0),(d(!0),f(y,null,n(e.headers,e=>(d(),f(`th`,{key:e.id,colSpan:e.colSpan,id:`header-${e.id}`,class:u({"cp-table-cell":!0,"cp-table-cell--header":!0,"cursor-pointer select-none":e.column.getCanSort()}),scope:`col`,"aria-sort":ce(e.column)},[E(`div`,{class:u([`flex gap-1 items-center`,{"sr-only":e.column.columnDef.meta?.headerSrOnly,...j(e.column.columnDef.meta?.columnClass),...j(e.column.columnDef.meta?.headerClass)}])},[i(dt,{isSortable:e.column.getCanSort(),sortInstructionsId:b,onSortColumn:t=>e.column.getToggleSortingHandler()?.(t)},{default:ee(()=>[e.isPlaceholder?T(``,!0):(d(),_(v(ot),{key:0,render:e.column.columnDef.header,props:e.getContext()},null,8,[`render`,`props`])),e.column.getCanSort()&&!e.column.getIsSorted()?(d(),f(`craft-icon`,Ot)):e.column.getIsSorted()===`asc`?(d(),f(`craft-icon`,kt)):e.column.getIsSorted()===`desc`?(d(),f(`craft-icon`,At)):T(``,!0)]),_:2},1032,[`isSortable`,`onSortColumn`]),e.column.columnDef.meta?.headerTip?(d(),f(`craft-info-icon`,jt,C(e.column.columnDef.meta.headerTip),1)):T(``,!0)],2)],10,Dt))),128))]))),128))]),E(`tbody`,null,[t.table.getRowModel().rows.length>0?(d(!0),f(y,{key:0},n(t.table.getRowModel().rows,e=>(d(),f(`tr`,{key:e.id,ref_for:!0,ref:t=>v(s)(t,e.id),class:u({row:!0,"cp-table-row":!0,"row--dragging":!t.readOnly&&v(l)(e.id).type===`is-dragging`})},[t.reorderable&&!t.readOnly?(d(),f(`td`,Mt,[E(`div`,null,[i(gt,{"onClick:up":t=>o(`reorder`,e.index,e.index-1),"onClick:down":t=>o(`reorder`,e.index,e.index+1),position:M(e.index),ref_for:!0,ref:t=>v(c)(t?.$el,e.id)},null,8,[`onClick:up`,`onClick:down`,`position`])]),i(oe,{edge:v(te)(e.id).closestEdge},null,8,[`edge`])])):T(``,!0),(d(!0),f(y,null,n(e.getVisibleCells(),e=>(d(),_(m(e.column.columnDef.meta?.cellTag??`td`),{key:e.id,class:u({"cp-table-cell":!0,"cp-table-cell--wrap":e.column.columnDef.meta?.wrap,...j(e.column.columnDef.meta?.columnClass),...j(e.column.columnDef.meta?.cellClass)})},{default:ee(()=>[i(v(ot),{render:e.column.columnDef.cell,props:e.getContext()},null,8,[`render`,`props`])]),_:2},1032,[`class`]))),128))],2))),128)):(d(),f(`tr`,Nt,[E(`td`,null,[h(r.$slots,`empty-row`,{},()=>[i(St,{label:v(e)(`No results`),icon:`empty-set`},null,8,[`label`])],!0)])]))])],6),A.value?(d(),f(`div`,Pt,[E(`div`,null,[k.value?(d(),_(_t,{key:0,template:`{from} – {to} of {total, plural, =1{# item} other{# items}}`,params:{from:t.from,to:t.to,total:t.total}},null,8,[`params`])):T(``,!0)]),E(`div`,Ft,[D.value?(d(),f(y,{key:0},[E(`craft-button`,{type:`button`,onClick:a[0]||=e=>t.table.previousPage(),disabled:!t.table.getCanPreviousPage(),icon:``,size:`small`},[E(`craft-icon`,{name:`chevron-left`,label:v(e)(`Previous page`)},null,8,Lt)],8,It),E(`div`,Rt,[a[5]||=p(` Page `,-1),ne(E(`craft-input`,{type:`text`,"onUpdate:modelValue":a[1]||=e=>x.value=e,maxlength:`3`,label:v(e)(`Current page`),"label-sr-only":``,center:``,size:`small`},null,8,zt),[[ie,x.value]]),p(` of `+C(t.table.getPageCount()),1)]),E(`craft-button`,{type:`button`,onClick:a[2]||=e=>t.table.nextPage(),disabled:!t.table.getCanNextPage(),size:`small`,icon:``},[E(`craft-icon`,{name:`chevron-right`,label:v(e)(`Next page`)},null,8,Vt)],8,Bt)],64)):T(``,!0)]),E(`div`,Ht,[O.value?(d(),f(y,{key:0},[p(C(v(e)(`Items per page:`))+` `,1),i(se,{small:``,options:t.pageSizeOptions,modelValue:S.value,"onUpdate:modelValue":a[3]||=e=>S.value=e,class:`w-auto`},null,8,[`options`,`modelValue`])],64)):T(``,!0)])])):T(``,!0)]))}}),[[`__scopeId`,`data-v-67ffb342`]]);export{$ as a,rt as c,gt as i,St as n,ct as o,_t as r,O as s,Ut as t}; \ No newline at end of file diff --git a/resources/build/assets/AppLayout-CbgDw9ix.js b/resources/build/assets/AppLayout-CbgDw9ix.js deleted file mode 100644 index bbc1b7c3179..00000000000 --- a/resources/build/assets/AppLayout-CbgDw9ix.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{n as t,t as n}from"./cp-CoDnSlcH.js";import{B as r,E as i,H as a,K as o,L as s,N as c,P as l,T as u,Y as d,Z as f,_ as p,a as ee,at as te,b as m,d as ne,et as h,it as re,l as g,m as _,p as ie,q as v,t as y,ut as b,v as x,w as S,x as C,y as w,z as T}from"./_plugin-vue_export-helper-C3orD-yt.js";import{a as ae,i as E,n as oe,o as se,r as D,s as ce,t as le}from"./InlineFlash-Mr7imUWg.js";import{i as O,n as k,r as A,t as j}from"./wayfinder-CyAPyHKQ.js";import{r as ue}from"./dist-oC9Sbb9R.js";import{t as M}from"./LoginController-Di9JbSGR.js";var de={class:`system-info__icon`},N=[`innerHTML`],P={class:`system-info__name`},fe=y(i({__name:`SystemInfo`,setup(e){let t=O(),n=p(()=>t.system),r=p(()=>t.site),i=p(()=>r.value.url?`a`:`div`);return(e,t)=>(s(),w(a(i.value),{class:`system-info`,href:r.value.url,target:r.value.url?`_blank`:null},{default:d(()=>[x(`div`,de,[x(`span`,{innerHTML:n.value.icon},null,8,N)]),x(`div`,P,h(n.value.name),1)]),_:1},8,[`href`,`target`]))}}),[[`__scopeId`,`data-v-be97030b`]]),F=[`icon`,`href`,`active`,`indicator`],pe={key:0,slot:`subnav`},me=[`active`,`href`,`indicator`],he=[`name`],ge={key:1,class:`nav-indicator`,slot:`icon`},_e=[`.displayedJob`,`.hasReservedJobs`,`.hasWaitingJobs`],ve=y(i({__name:`MainNav`,setup(e){let t=g(),{nav:n}=O(),r=p(()=>t.props.queue);return(e,t)=>(s(),C(`craft-nav-list`,null,[(s(!0),C(_,null,T(b(n),e=>(s(),C(`craft-nav-item`,{key:e.url,icon:e.icon,href:e.url,active:e.sel,indicator:!!e.badgeCount},[S(h(e.label)+` `,1),e.subnav?(s(),C(_,{key:0},[e.subnav?(s(),C(`craft-nav-list`,pe,[(s(!0),C(_,null,T(e.subnav,e=>(s(),C(`craft-nav-item`,{key:e.url,active:e.sel,href:e.url,indicator:!!e.badgeCount},[e.icon?(s(),C(`craft-icon`,{key:0,name:e.icon,slot:`icon`},null,8,he)):(s(),C(`span`,ge)),S(` `+h(e.label),1)],8,me))),128))])):m(``,!0)],64)):m(``,!0)],8,F))),128)),x(`cp-queue-indicator`,{".displayedJob":r.value.displayedJob,".hasReservedJobs":r.value.hasReservedJobs,".hasWaitingJobs":r.value.hasWaitingJobs},null,40,_e)]))}}),[[`__scopeId`,`data-v-2115cac3`]]),ye={class:`flex flex-col items-center justify-center py-4 px-2 text-muted gap-1`},be={lang:`en`,class:`flex items-center gap-2`},xe=[`href`],Se={"aria-hidden":`true`},Ce={class:`sr-only`},we=y(i({__name:`EditionInfo`,setup(e){let{app:t,cpUrl:n}=O(),r=p(()=>`${t.edition.name} Edition`);return(e,i)=>(s(),C(`div`,ye,[x(`div`,be,` Craft CMS `+h(b(t).version),1),x(`a`,{href:`${b(n)}/plugin-store/upgrade-craft`,class:`edition-logo`},[x(`span`,Se,h(b(t).edition.name),1),x(`span`,Ce,h(r.value),1)],8,xe)]))}}),[[`__scopeId`,`data-v-d06dd074`]]),Te={},Ee={class:`dev-mode`};function De(e,t){return s(),C(`div`,Ee,[...t[0]||=[x(`div`,{class:`inline-flex py-1 px-2 bg-slate-900 text-slate-100 font-mono text-xs rounded-lg`},` Dev Mode is enabled `,-1)]])}var Oe=y(Te,[[`render`,De],[`__scopeId`,`data-v-52fa7a33`]]),ke=[`data-visibility`,`data-mode`,`aria-label`],Ae={class:`cp-sidebar__header`},je={key:0,class:`sidebar-header`},Me=[`label`],Ne={class:`cp-sidebar__body`},Pe={class:`cp-sidebar__footer`},Fe=y(i({__name:`CpSidebar`,props:{mode:{default:`floating`},visibility:{default:`hidden`}},emits:[`close`,`dock`],setup(t,{emit:n}){let r=n,i=p(()=>t.mode===`floating`);return v(()=>t.visibility,async e=>{i.value&&e===`visible`&&(await l(),document.querySelector(`.cp-sidebar`).querySelector(`button, [href], [tabindex]:not([tabindex="-1"])`)?.focus())}),(n,i)=>(s(),C(`nav`,{class:`cp-sidebar`,"data-visibility":t.visibility,"data-mode":t.mode,"aria-label":b(e)(`Primary`)},[t.visibility===`visible`?(s(),C(_,{key:0},[x(`div`,Ae,[t.mode===`docked`?m(``,!0):(s(),C(`div`,je,[u(fe),i[1]||=x(`div`,{class:`ml-auto`},null,-1),x(`craft-button`,{size:`small`,icon:``,onClick:i[0]||=e=>r(`close`),type:`button`},[x(`craft-icon`,{name:`x`,style:{"font-size":`0.7em`},label:b(e)(`Close`)},null,8,Me)])]))]),x(`div`,Ne,[u(ve)]),x(`div`,Pe,[u(we),u(Oe)])],64)):m(``,!0)],8,ke))}}),[[`__scopeId`,`data-v-c4268663`]]),Ie=[`aria-label`],Le={class:`breadcrumbs`},Re={key:2,class:`separator`},ze=y(i({__name:`Breadcrumbs`,props:{items:{},separator:{default:`/`}},setup(t){return(n,r)=>(s(),C(`nav`,{"aria-label":b(e)(`Breadcrumbs`)},[x(`ul`,Le,[(s(!0),C(_,null,T(t.items,(e,n)=>(s(),C(`li`,{key:n,class:f({"breadcrumb-item":!0,"breadcrumb-item--active":n===t.items.length-1})},[e.url?(s(),w(se,{key:0,href:e.url},{default:d(()=>[S(h(e.label),1)]),_:2},1032,[`href`])):(s(),C(_,{key:1},[S(h(e.label),1)],64)),n(s(),w(E,null,{default:d(()=>[b(t)?(s(),C(`div`,Be,h(b(t)),1)):m(``,!0)]),_:1}))}});function He(e){return e&&v(()=>({headHtml:e.headHtml,bodyHtml:e.bodyHtml}),async e=>{e.headHtml&&await t(e.headHtml),e.bodyHtml&&await n(e.bodyHtml)},{immediate:!0}),{appendHead:t,appendBody:n}}var Ue={type:`button`,slot:`invoker`,icon:``,size:`small`,variant:`inherit`,appearance:`plain`},We=[`name`,`label`],Ge={slot:`content`,class:`m-sm`},Ke={key:0,class:`m-0`},qe=[`href`],Je=[`onClick`],I=y(i({__name:`ActionMenu`,props:{icon:{default:`ellipsis`},label:{default:e(`Actions`)},actions:{}},setup(e){let t=e,n=p(()=>t.actions.map(e=>e.type===`hr`||e.type===`display`?e:{...e,type:e.type??(`href`in e?`link`:`button`)})),i=p(()=>n.value.sort((e,t)=>(`variant`in e&&e.variant===`danger`)-+(`variant`in t&&t.variant===`danger`)));return(t,n)=>(s(),C(`craft-action-menu`,null,[r(t.$slots,`invoker`,{label:e.label,attributes:{slot:`invoker`}},()=>[x(`craft-button`,Ue,[x(`craft-icon`,{name:e.icon,label:e.label},null,8,We)])],!0),x(`div`,Ge,[(s(!0),C(_,null,T(i.value,(e,t)=>(s(),C(_,{key:t},[e.type===`hr`?(s(),C(`hr`,Ke)):e.type===`display`?(s(),w(a(e.is),{key:1})):e.type===`link`?(s(),C(`craft-action-item`,c({key:2,ref_for:!0},e,{href:e.href}),h(e.label),17,qe)):(s(),C(`craft-action-item`,c({key:3,onClick:t=>e.onClick?.()},{ref_for:!0},e),h(e.label),17,Je))],64))),128))])]))}}),[[`__scopeId`,`data-v-f8c62c59`]]),Ye={variant:`danger`,icon:`triangle-exclamation`,class:`mb-3`},Xe={slot:`title`,class:`font-bold`},Ze=i({__name:`ErrorSummary`,props:{errors:{}},setup(t){return(n,r)=>(s(),C(`craft-callout`,Ye,[x(`div`,Xe,h(b(e)(`Could not save settings`)),1),x(`ul`,null,[(s(!0),C(_,null,T(t.errors,(e,t)=>(s(),C(`li`,{key:t},h(e),1))),128))])]))}}),Qe={appearance:`fill`,rounded:`start`,class:`border border-b-neutral-border-quiet`},$e=i({__name:`CalloutReadOnly`,setup(t){return(t,n)=>(s(),C(`craft-callout`,Qe,[n[0]||=x(`craft-icon`,{slot:`icon`,name:`custom-icons/gear-slash`},null,-1),r(t.$slots,`default`,{},()=>[S(h(b(e)(`Changes to these settings arenʼt permitted in this environment.`)),1)])]))}}),L=e=>({url:L.url(e),method:`post`});L.definition={methods:[`post`],url:`/admin/actions/users/save-permissions`},L.url=e=>L.definition.url+k(e),L.post=e=>({url:L.url(e),method:`post`});var R=e=>({url:R.url(e),method:`get`});R.definition={methods:[`get`,`head`],url:`/admin/myaccount/permissions`},R.url=e=>R.definition.url+k(e),R.get=e=>({url:R.url(e),method:`get`}),R.head=e=>({url:R.url(e),method:`head`});var z=(e,t)=>({url:z.url(e,t),method:`get`});z.definition={methods:[`get`,`head`],url:`/admin/users/{userId}/permissions`},z.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={userId:e}),Array.isArray(e)&&(e={userId:e[0]}),e=j(e);let n={userId:e.userId};return z.definition.url.replace(`{userId}`,n.userId.toString()).replace(/\/+$/,``)+k(t)},z.get=(e,t)=>({url:z.url(e,t),method:`get`}),z.head=(e,t)=>({url:z.url(e,t),method:`head`});var et={store:L,index:{"/admin/myaccount/permissions":R,"/admin/users/{userId}/permissions":z}},B=e=>({url:B.url(e),method:`post`});B.definition={methods:[`post`],url:`/admin/actions/users/save-preferences`},B.url=e=>B.definition.url+k(e),B.post=e=>({url:B.url(e),method:`post`});var V=e=>({url:V.url(e),method:`get`});V.definition={methods:[`get`,`head`],url:`/admin/myaccount/preferences`},V.url=e=>V.definition.url+k(e),V.get=e=>({url:V.url(e),method:`get`}),V.head=e=>({url:V.url(e),method:`head`});var tt={store:B,index:V},H=e=>({url:H.url(e),method:`get`});H.definition={methods:[`get`,`head`],url:`/admin/myaccount`},H.url=e=>H.definition.url+k(e),H.get=e=>({url:H.url(e),method:`get`}),H.head=e=>({url:H.url(e),method:`head`});var U=(e,t)=>({url:U.url(e,t),method:`get`});U.definition={methods:[`get`,`head`],url:`/admin/users/{userId}`},U.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={userId:e}),Array.isArray(e)&&(e={userId:e[0]}),e=j(e);let n={userId:e.userId};return U.definition.url.replace(`{userId}`,n.userId.toString()).replace(/\/+$/,``)+k(t)},U.get=(e,t)=>({url:U.url(e,t),method:`get`}),U.head=(e,t)=>({url:U.url(e,t),method:`head`});var nt={"/admin/myaccount":H,"/admin/users/{userId}":U},W=e=>({url:W.url(e),method:`get`});W.definition={methods:[`get`,`head`],url:`/admin/users/new`},W.url=e=>W.definition.url+k(e),W.get=e=>({url:W.url(e),method:`get`}),W.head=e=>({url:W.url(e),method:`head`});var G=(e,t)=>({url:G.url(e,t),method:`get`});G.definition={methods:[`get`,`head`],url:`/admin/users/{slug?}`},G.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={slug:e}),Array.isArray(e)&&(e={slug:e[0]}),e=j(e),A(e,[`slug`]);let n={slug:e?.slug};return G.definition.url.replace(`{slug?}`,n.slug?.toString()??``).replace(/\/+$/,``)+k(t)},G.get=(e,t)=>({url:G.url(e,t),method:`get`}),G.head=(e,t)=>({url:G.url(e,t),method:`head`});var rt={edit:nt,create:W,index:G},it=[`innerHTML`],at=y(i({__name:`UserThumbnail`,props:{size:{default:`sm`}},setup(e){let{currentUser:t}=O(),n={sm:`size-7`,md:`size-10`},r=e,i=p(()=>n[r.size]);return(e,n)=>b(t).thumbHtml?(s(),C(`div`,{key:0,innerHTML:b(t).thumbHtml,"data-color":`white`,class:f({"user-thumbnail":!0,"rounded-full":!0,[i.value]:!0})},null,10,it)):m(``,!0)}}),[[`__scopeId`,`data-v-7c22e181`]]),ot=[`href`],st={class:`flex items-center gap-3`},ct={class:`font-bold`},lt={key:0,class:`text-xs`},ut=i({__name:`CurrentUser`,setup(e){let{currentUser:t,general:n}=O(),r=p(()=>t.name===t.username?t.username:t.name),i=p(()=>t.username===t.name?t.email:t.username);return(e,t)=>(s(),C(`craft-action-item`,{href:b(rt).edit[`/admin/myaccount`]().url},[x(`div`,st,[u(at,{size:`md`}),x(`div`,null,[x(`div`,ct,h(r.value),1),i.value===r.value?m(``,!0):(s(),C(`div`,lt,h(i.value),1))])])],8,ot))}}),K=e=>({url:K.url(e),method:`post`});K.definition={methods:[`post`],url:`/actions/users/send-password-reset-email`},K.url=e=>K.definition.url+k(e),K.post=e=>({url:K.url(e),method:`post`});var q=e=>({url:q.url(e),method:`post`});q.definition={methods:[`post`],url:`/admin/actions/users/send-password-reset-email`},q.url=e=>q.definition.url+k(e),q.post=e=>({url:q.url(e),method:`post`});var dt={"/actions/users/send-password-reset-email":K,"/admin/actions/users/send-password-reset-email":q},J=e=>({url:J.url(e),method:`post`});J.definition={methods:[`post`],url:`/admin/actions/users/save-password`},J.url=e=>J.definition.url+k(e),J.post=e=>({url:J.url(e),method:`post`});var Y=e=>({url:Y.url(e),method:`post`});Y.definition={methods:[`post`],url:`/admin/actions/users/get-password-reset-url`},Y.url=e=>Y.definition.url+k(e),Y.post=e=>({url:Y.url(e),method:`post`});var X=e=>({url:X.url(e),method:`post`});X.definition={methods:[`post`],url:`/admin/actions/users/require-password-reset`},X.url=e=>X.definition.url+k(e),X.post=e=>({url:X.url(e),method:`post`});var Z=e=>({url:Z.url(e),method:`post`});Z.definition={methods:[`post`],url:`/admin/actions/users/remove-password-reset-requirement`},Z.url=e=>Z.definition.url+k(e),Z.post=e=>({url:Z.url(e),method:`post`});var Q=e=>({url:Q.url(e),method:`post`});Q.definition={methods:[`post`],url:`/admin/actions/users/verify-password`},Q.url=e=>Q.definition.url+k(e),Q.post=e=>({url:Q.url(e),method:`post`});var $=e=>({url:$.url(e),method:`get`});$.definition={methods:[`get`,`head`],url:`/admin/myaccount/password`},$.url=e=>$.definition.url+k(e),$.get=e=>({url:$.url(e),method:`get`}),$.head=e=>({url:$.url(e),method:`head`});var ft={sendPasswordResetEmail:dt,store:J,passwordResetUrl:Y,requireReset:X,removeResetRequirement:Z,verifyPassword:Q,index:$},pt={slot:`invoker`,type:`button`,"aria-label":`User menu`,appearance:`none`},mt=y(i({__name:`UserMenu`,setup(t){let{currentUser:n,general:r}=O(),i=p(()=>[{type:`display`,is:ut},{type:`hr`},{href:rt.edit[`/admin/myaccount`]().url,label:e(`Profile`)},{href:et.index[`/admin/myaccount/permissions`]().url,label:e(`Permissions`)},{href:tt.index().url,label:e(`Preferences`)},{href:ft.index().url,label:e(`Password & Verification`)},{type:`hr`},{href:M.logout().url,variant:`danger`,label:e(`Sign out`)}]);return(e,t)=>(s(),w(I,{actions:i.value,label:b(n).username},{invoker:d(({label:e})=>[x(`craft-button`,pt,[u(at)])]),_:1},8,[`actions`,`label`]))}}),[[`__scopeId`,`data-v-7b078862`]]),ht={key:0,variant:`danger`,rounded:`none`},gt={key:1,variant:`success`,rounded:`none`},_t=i({__name:`FlashMessages`,setup(e){let{messages:t}=ae(),{announce:n}=D(),r=g(),i=p(()=>r.props.flash?.error??t.value.error??null),a=p(()=>r.props.flash?.success??t.value.success??null);return v(a,e=>n(e)),v(i,e=>n(e)),(e,t)=>(s(),C(`div`,null,[i.value?(s(),C(`craft-callout`,ht,h(i.value),1)):m(``,!0),a.value?(s(),C(`craft-callout`,gt,h(a.value),1)):m(``,!0)]))}}),vt={class:`cp`},yt={class:`cp__header`},bt=[`href`],xt={class:`flex gap-2 p-2`},St=[`name`,`label`],Ct={icon:``,appearance:`plain`,type:`button`},wt=[`label`],Tt={class:`cp__sidebar`},Et={class:`cp__main`},Dt={key:0,class:`px-4 py-2 border-b border-b-neutral-border-quiet`},Ot={id:`main`,tabindex:`-1`},kt={class:`index-grid index-grid--header`},At={class:`index-grid__aside`},jt={class:`text-xl`},Mt={class:`index-grid__main`},Nt={key:0},Pt=[`loading`],Ft={slot:`invoker`,variant:`primary`,type:`button`,icon:``},It=[`label`],Lt={class:`cp__footer`},Rt={key:0,class:`fixed bottom-2 right-2 flex gap-2 justify-end items-center p-2`},zt={class:`bg-blue-50 border border-blue-500 py-1 px-4 rounded`},Bt=[`label`],Vt=[`label`],Ht=y(i({__name:`AppLayout`,props:{title:{},debug:{},fullWidth:{type:Boolean,default:!1},form:{default:null},formActions:{},additionalSkipLinks:{}},emits:[`save`],setup(t,{emit:n}){ne(e=>({v32e0b05c:_e.value}));let i=n,c=t,{system:l}=O(),y=g(),{errorFlash:S,successFlash:ae}=oe(),E=p(()=>y.props.crumbs??null),se=p(()=>[{label:e(`Skip to main section`),url:`#main`},...c.additionalSkipLinks??[]]),k=p(()=>y.props.readOnly),A=o(`sidebarToggle`),{announcement:j,announce:M}=D(),de=p(()=>{let e=c.title?.trim();return e?`${e} - ${l.name}`:l.name});v(ae,e=>M(e)),v(S,e=>M(e)),He();let N=re({sidebar:{mode:`floating`,visibility:`hidden`}}),P=ue(`(min-width: 1024px)`),F=te(!1),pe=p(()=>c.title??y.props.title);v(P,e=>{e?(N.sidebar.mode=`docked`,N.sidebar.visibility=`visible`):(N.sidebar.mode=`floating`,N.sidebar.visibility=`hidden`)},{immediate:!0});function me(){N.sidebar.visibility===`visible`?N.sidebar.visibility=`hidden`:N.sidebar.visibility=`visible`}function he(){N.sidebar.visibility=`hidden`,A.value.focus()}let ge=p(()=>N.sidebar.visibility===`visible`?`x`:`bars`),_e=p(()=>N.sidebar.mode===`docked`?N.sidebar.visibility===`visible`?`var(--global-sidebar-width)`:`0`:`auto`);return(n,o)=>(s(),C(_,null,[u(b(ee),{title:de.value},null,8,[`title`]),u(Ve,{debug:!0}),x(`div`,vt,[x(`header`,yt,[(s(!0),C(_,null,T(se.value,e=>(s(),C(`a`,{key:e.url,href:e.url,class:`skip-link skip-link--global`},h(e.label),9,bt))),128)),x(`div`,xt,[b(P)?m(``,!0):(s(),C(`craft-button`,{key:0,icon:``,type:`button`,appearance:`plain`,onClick:me,ref_key:`sidebarToggle`,ref:A},[x(`craft-icon`,{name:ge.value,label:b(e)(`Toggle menu`)},null,8,St)],512)),b(P)?(s(),w(fe,{key:1})):m(``,!0),o[3]||=x(`div`,{class:`ml-auto`},null,-1),x(`craft-button`,Ct,[x(`craft-icon`,{name:`search`,label:b(e)(`Search`)},null,8,wt)]),u(mt)]),u(_t)]),x(`div`,Tt,[u(Fe,{mode:N.sidebar.mode,visibility:N.sidebar.visibility,onClose:he},null,8,[`mode`,`visibility`])]),x(`div`,Et,[r(n.$slots,`main`,{},()=>[r(n.$slots,`breadcrumbs`,{},()=>[E.value?(s(),C(`div`,Dt,[u(ze,{items:E.value},null,8,[`items`])])):m(``,!0)],!0),x(`main`,Ot,[(s(),w(a(t.form?`form`:`div`),{method:`post`,onSubmit:o[0]||=ie(e=>i(`save`),[`prevent`])},{default:d(()=>[r(n.$slots,`header`,{},()=>[x(`div`,{class:f({container:!0,"container--full":t.fullWidth})},[x(`div`,kt,[x(`div`,At,[r(n.$slots,`title`,{},()=>[x(`h1`,jt,h(pe.value),1)],!0),r(n.$slots,`title-badge`,{},void 0,!0)]),x(`div`,Mt,[r(n.$slots,`actions`,{},()=>[t.form?(s(),C(_,{key:0},[u(le,{"is-active":t.form.recentlySuccessful||t.form.hasErrors},null,8,[`is-active`]),k.value?m(``,!0):(s(),C(`craft-button-group`,Nt,[x(`craft-button`,{type:`submit`,variant:`primary`,loading:t.form.processing},h(b(e)(`Save`)),9,Pt),u(I,{icon:`chevron-down`,actions:[{label:b(e)(`Save and continue editing`),onClick:()=>i(`save`,{redirect:!1}),shortcut:`S`},...t.formActions??[]]},{invoker:d(({label:e})=>[x(`craft-button`,Ft,[x(`craft-icon`,{name:`chevron-down`,label:e},null,8,It)])]),_:1},8,[`actions`])]))],64)):m(``,!0)],!0)])])],2)],!0),x(`div`,{class:f({container:!0,"container--full":t.fullWidth})},[t.form&&t.form.hasErrors?(s(),w(Ze,{key:0,errors:t.form.errors},null,8,[`errors`])):m(``,!0),k.value?(s(),w($e,{key:1})):m(``,!0),r(n.$slots,`default`,{},void 0,!0)],2)]),_:3},32))])],!0)]),x(`div`,Lt,[x(`footer`,null,[x(`div`,{class:f({container:!0,"container--full":t.fullWidth})},[r(n.$slots,`footer`,{},void 0,!0)],2)])])]),t.debug?(s(),C(`div`,Rt,[x(`div`,zt,h(b(j)??`No announcement`),1),x(`div`,null,[F.value?(s(),w(ce,{key:0,data:t.debug,class:`max-h-[50vh] max-w-[600px] overflow-scroll absolute transform -translate-full`},null,8,[`data`])):m(``,!0),F.value?(s(),C(`craft-button`,{key:1,icon:``,type:`button`,onClick:o[1]||=e=>F.value=!1},[x(`craft-icon`,{label:b(e)(`Close Debug panel`),name:`x`},null,8,Bt)])):(s(),C(`craft-button`,{key:2,type:`button`,onClick:o[2]||=e=>F.value=!0,icon:``},[x(`craft-icon`,{name:`code`,label:b(e)(`Show debug variables`)},null,8,Vt)]))])])):m(``,!0)],64))}}),[[`__scopeId`,`data-v-9f23720c`]]);export{$e as n,I as r,Ht as t}; \ No newline at end of file diff --git a/resources/build/assets/AppLayout-dqX06RZT.js b/resources/build/assets/AppLayout-dqX06RZT.js new file mode 100644 index 00000000000..82cd877abd3 --- /dev/null +++ b/resources/build/assets/AppLayout-dqX06RZT.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{n as t,t as n}from"./cp-DyslAjVs.js";import{B as r,D as i,E as a,F as o,J as s,P as c,Q as l,R as u,S as d,T as f,U as p,V as m,X as h,a as ee,at as te,b as g,d as ne,dt as _,h as v,l as y,m as re,ot as ie,q as ae,t as b,tt as x,v as S,x as C,y as w}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{a as oe,i as se,n as ce,o as T,r as E,s as le,t as ue}from"./InlineFlash-Duhr9n8-.js";import{i as D,n as O,r as k,t as A}from"./wayfinder-ghdHxiwr.js";import{r as de}from"./dist-BM1n-Nbt.js";import{t as j}from"./LoginController-DSi1xowD.js";var fe={class:`system-info__icon`},M=[`innerHTML`],N={class:`system-info__name`},pe=b(i({__name:`SystemInfo`,setup(e){let t=D(),n=S(()=>t.system),r=S(()=>t.site),i=S(()=>r.value.url?`a`:`div`);return(e,t)=>(u(),g(p(i.value),{class:`system-info`,href:r.value.url,target:r.value.url?`_blank`:null},{default:h(()=>[w(`div`,fe,[w(`span`,{innerHTML:n.value.icon},null,8,M)]),w(`div`,N,x(n.value.name),1)]),_:1},8,[`href`,`target`]))}}),[[`__scopeId`,`data-v-be97030b`]]),P=[`icon`,`href`,`active`,`indicator`],me={key:0,slot:`subnav`},he=[`active`,`href`,`indicator`],ge=[`name`],_e={key:1,class:`nav-indicator`,slot:`icon`},F=[`.displayedJob`,`.hasReservedJobs`,`.hasWaitingJobs`],ve=b(i({__name:`MainNav`,setup(e){let t=y(),{nav:n}=D(),i=S(()=>t.props.queue);return(e,t)=>(u(),d(`craft-nav-list`,null,[(u(!0),d(v,null,r(_(n),e=>(u(),d(`craft-nav-item`,{key:e.url,icon:e.icon,href:e.url,active:e.sel,indicator:!!e.badgeCount},[f(x(e.label)+` `,1),e.subnav?(u(),d(v,{key:0},[e.subnav?(u(),d(`craft-nav-list`,me,[(u(!0),d(v,null,r(e.subnav,e=>(u(),d(`craft-nav-item`,{key:e.url,active:e.sel,href:e.url,indicator:!!e.badgeCount},[e.icon?(u(),d(`craft-icon`,{key:0,name:e.icon,slot:`icon`},null,8,ge)):(u(),d(`span`,_e)),f(` `+x(e.label),1)],8,he))),128))])):C(``,!0)],64)):C(``,!0)],8,P))),128)),w(`cp-queue-indicator`,{".displayedJob":i.value.displayedJob,".hasReservedJobs":i.value.hasReservedJobs,".hasWaitingJobs":i.value.hasWaitingJobs},null,40,F)]))}}),[[`__scopeId`,`data-v-2115cac3`]]),ye={class:`flex flex-col items-center justify-center py-4 px-2 text-muted gap-1`},be={lang:`en`,class:`flex items-center gap-2`},xe=[`href`],Se={"aria-hidden":`true`},Ce={class:`sr-only`},we=b(i({__name:`EditionInfo`,setup(e){let{app:t,cpUrl:n}=D(),r=S(()=>`${t.edition.name} Edition`);return(e,i)=>(u(),d(`div`,ye,[w(`div`,be,` Craft CMS `+x(_(t).version),1),w(`a`,{href:`${_(n)}/plugin-store/upgrade-craft`,class:`edition-logo`},[w(`span`,Se,x(_(t).edition.name),1),w(`span`,Ce,x(r.value),1)],8,xe)]))}}),[[`__scopeId`,`data-v-d06dd074`]]),Te={},Ee={class:`dev-mode`};function De(e,t){return u(),d(`div`,Ee,[...t[0]||=[w(`div`,{class:`inline-flex py-1 px-2 bg-slate-900 text-slate-100 font-mono text-xs rounded-lg`},` Dev Mode is enabled `,-1)]])}var Oe=b(Te,[[`render`,De],[`__scopeId`,`data-v-52fa7a33`]]),ke=[`data-visibility`,`data-mode`,`aria-label`],Ae={class:`cp-sidebar__header`},je={key:0,class:`sidebar-header`},Me=[`label`],Ne={class:`cp-sidebar__body`},Pe={class:`cp-sidebar__footer`},Fe=b(i({__name:`CpSidebar`,props:{mode:{default:`floating`},visibility:{default:`hidden`}},emits:[`close`,`dock`],setup(t,{emit:n}){let r=n,i=S(()=>t.mode===`floating`);return s(()=>t.visibility,async e=>{i.value&&e===`visible`&&(await o(),document.querySelector(`.cp-sidebar`).querySelector(`button, [href], [tabindex]:not([tabindex="-1"])`)?.focus())}),(n,i)=>(u(),d(`nav`,{class:`cp-sidebar`,"data-visibility":t.visibility,"data-mode":t.mode,"aria-label":_(e)(`Primary`)},[t.visibility===`visible`?(u(),d(v,{key:0},[w(`div`,Ae,[t.mode===`docked`?C(``,!0):(u(),d(`div`,je,[a(pe),i[1]||=w(`div`,{class:`ml-auto`},null,-1),w(`craft-button`,{size:`small`,icon:``,onClick:i[0]||=e=>r(`close`),type:`button`},[w(`craft-icon`,{name:`x`,style:{"font-size":`0.7em`},label:_(e)(`Close`)},null,8,Me)])]))]),w(`div`,Ne,[a(ve)]),w(`div`,Pe,[a(we),a(Oe)])],64)):C(``,!0)],8,ke))}}),[[`__scopeId`,`data-v-c4268663`]]),Ie=[`aria-label`],Le={class:`breadcrumbs`},Re={key:2,class:`separator`},ze=b(i({__name:`Breadcrumbs`,props:{items:{},separator:{default:`/`}},setup(t){return(n,i)=>(u(),d(`nav`,{"aria-label":_(e)(`Breadcrumbs`)},[w(`ul`,Le,[(u(!0),d(v,null,r(t.items,(e,n)=>(u(),d(`li`,{key:n,class:l({"breadcrumb-item":!0,"breadcrumb-item--active":n===t.items.length-1})},[e.url?(u(),g(le,{key:0,href:e.url},{default:h(()=>[f(x(e.label),1)]),_:2},1032,[`href`])):(u(),d(v,{key:1},[f(x(e.label),1)],64)),n(u(),g(se,null,{default:h(()=>[_(t)?(u(),d(`div`,Be,x(_(t)),1)):C(``,!0)]),_:1}))}});function He(e){return e&&s(()=>({headHtml:e.headHtml,bodyHtml:e.bodyHtml}),async e=>{e.headHtml&&await t(e.headHtml),e.bodyHtml&&await n(e.bodyHtml)},{immediate:!0}),{appendHead:t,appendBody:n}}var Ue={type:`button`,slot:`invoker`,icon:``,size:`small`,variant:`inherit`,appearance:`plain`},We=[`name`,`label`],Ge={slot:`content`,class:`m-sm`},Ke={key:0,class:`m-0`},qe=[`href`],Je=[`onClick`],I=b(i({__name:`ActionMenu`,props:{icon:{default:`ellipsis`},label:{default:e(`Actions`)},actions:{}},setup(e){let t=e,n=S(()=>t.actions.map(e=>e.type===`hr`||e.type===`display`?e:{...e,type:e.type??(`href`in e?`link`:`button`)})),i=S(()=>n.value.sort((e,t)=>(`variant`in e&&e.variant===`danger`)-+(`variant`in t&&t.variant===`danger`)));return(t,n)=>(u(),d(`craft-action-menu`,null,[m(t.$slots,`invoker`,{label:e.label,attributes:{slot:`invoker`}},()=>[w(`craft-button`,Ue,[w(`craft-icon`,{name:e.icon,label:e.label},null,8,We)])],!0),w(`div`,Ge,[(u(!0),d(v,null,r(i.value,(e,t)=>(u(),d(v,{key:t},[e.type===`hr`?(u(),d(`hr`,Ke)):e.type===`display`?(u(),g(p(e.is),{key:1})):e.type===`link`?(u(),d(`craft-action-item`,c({key:2,ref_for:!0},e,{href:e.href}),x(e.label),17,qe)):(u(),d(`craft-action-item`,c({key:3,onClick:t=>e.onClick?.()},{ref_for:!0},e),x(e.label),17,Je))],64))),128))])]))}}),[[`__scopeId`,`data-v-f8c62c59`]]),Ye={variant:`danger`,icon:`triangle-exclamation`,class:`mb-3`},Xe={slot:`title`,class:`font-bold`},Ze=i({__name:`ErrorSummary`,props:{errors:{}},setup(t){return(n,i)=>(u(),d(`craft-callout`,Ye,[w(`div`,Xe,x(_(e)(`Could not save settings`)),1),w(`ul`,null,[(u(!0),d(v,null,r(t.errors,(e,t)=>(u(),d(`li`,{key:t},x(e),1))),128))])]))}}),Qe={appearance:`fill`,rounded:`start`,class:`border border-b-neutral-border-quiet`},$e=i({__name:`CalloutReadOnly`,setup(t){return(t,n)=>(u(),d(`craft-callout`,Qe,[n[0]||=w(`craft-icon`,{slot:`icon`,name:`custom-icons/gear-slash`},null,-1),m(t.$slots,`default`,{},()=>[f(x(_(e)(`Changes to these settings arenʼt permitted in this environment.`)),1)])]))}}),L=e=>({url:L.url(e),method:`post`});L.definition={methods:[`post`],url:`/admin/actions/users/save-permissions`},L.url=e=>L.definition.url+O(e),L.post=e=>({url:L.url(e),method:`post`});var R=e=>({url:R.url(e),method:`get`});R.definition={methods:[`get`,`head`],url:`/admin/myaccount/permissions`},R.url=e=>R.definition.url+O(e),R.get=e=>({url:R.url(e),method:`get`}),R.head=e=>({url:R.url(e),method:`head`});var z=(e,t)=>({url:z.url(e,t),method:`get`});z.definition={methods:[`get`,`head`],url:`/admin/users/{userId}/permissions`},z.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={userId:e}),Array.isArray(e)&&(e={userId:e[0]}),e=A(e);let n={userId:e.userId};return z.definition.url.replace(`{userId}`,n.userId.toString()).replace(/\/+$/,``)+O(t)},z.get=(e,t)=>({url:z.url(e,t),method:`get`}),z.head=(e,t)=>({url:z.url(e,t),method:`head`});var et={store:L,index:{"/admin/myaccount/permissions":R,"/admin/users/{userId}/permissions":z}},B=e=>({url:B.url(e),method:`post`});B.definition={methods:[`post`],url:`/admin/actions/users/save-preferences`},B.url=e=>B.definition.url+O(e),B.post=e=>({url:B.url(e),method:`post`});var V=e=>({url:V.url(e),method:`get`});V.definition={methods:[`get`,`head`],url:`/admin/myaccount/preferences`},V.url=e=>V.definition.url+O(e),V.get=e=>({url:V.url(e),method:`get`}),V.head=e=>({url:V.url(e),method:`head`});var tt={store:B,index:V},H=e=>({url:H.url(e),method:`get`});H.definition={methods:[`get`,`head`],url:`/admin/myaccount`},H.url=e=>H.definition.url+O(e),H.get=e=>({url:H.url(e),method:`get`}),H.head=e=>({url:H.url(e),method:`head`});var U=(e,t)=>({url:U.url(e,t),method:`get`});U.definition={methods:[`get`,`head`],url:`/admin/users/{userId}`},U.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={userId:e}),Array.isArray(e)&&(e={userId:e[0]}),e=A(e);let n={userId:e.userId};return U.definition.url.replace(`{userId}`,n.userId.toString()).replace(/\/+$/,``)+O(t)},U.get=(e,t)=>({url:U.url(e,t),method:`get`}),U.head=(e,t)=>({url:U.url(e,t),method:`head`});var nt={"/admin/myaccount":H,"/admin/users/{userId}":U},W=e=>({url:W.url(e),method:`get`});W.definition={methods:[`get`,`head`],url:`/admin/users/new`},W.url=e=>W.definition.url+O(e),W.get=e=>({url:W.url(e),method:`get`}),W.head=e=>({url:W.url(e),method:`head`});var G=(e,t)=>({url:G.url(e,t),method:`get`});G.definition={methods:[`get`,`head`],url:`/admin/users/{slug?}`},G.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={slug:e}),Array.isArray(e)&&(e={slug:e[0]}),e=A(e),k(e,[`slug`]);let n={slug:e?.slug};return G.definition.url.replace(`{slug?}`,n.slug?.toString()??``).replace(/\/+$/,``)+O(t)},G.get=(e,t)=>({url:G.url(e,t),method:`get`}),G.head=(e,t)=>({url:G.url(e,t),method:`head`});var rt={edit:nt,create:W,index:G},it=[`innerHTML`],at=b(i({__name:`UserThumbnail`,props:{size:{default:`sm`}},setup(e){let{currentUser:t}=D(),n={sm:`size-7`,md:`size-10`},r=e,i=S(()=>n[r.size]);return(e,n)=>_(t).thumbHtml?(u(),d(`div`,{key:0,innerHTML:_(t).thumbHtml,"data-color":`white`,class:l({"user-thumbnail":!0,"rounded-full":!0,[i.value]:!0})},null,10,it)):C(``,!0)}}),[[`__scopeId`,`data-v-7c22e181`]]),ot=[`href`],st={class:`flex items-center gap-3`},ct={class:`font-bold`},lt={key:0,class:`text-xs`},ut=i({__name:`CurrentUser`,setup(e){let{currentUser:t,general:n}=D(),r=S(()=>t.name===t.username?t.username:t.name),i=S(()=>t.username===t.name?t.email:t.username);return(e,t)=>(u(),d(`craft-action-item`,{href:_(rt).edit[`/admin/myaccount`]().url},[w(`div`,st,[a(at,{size:`md`}),w(`div`,null,[w(`div`,ct,x(r.value),1),i.value===r.value?C(``,!0):(u(),d(`div`,lt,x(i.value),1))])])],8,ot))}}),K=e=>({url:K.url(e),method:`post`});K.definition={methods:[`post`],url:`/actions/users/send-password-reset-email`},K.url=e=>K.definition.url+O(e),K.post=e=>({url:K.url(e),method:`post`});var q=e=>({url:q.url(e),method:`post`});q.definition={methods:[`post`],url:`/admin/actions/users/send-password-reset-email`},q.url=e=>q.definition.url+O(e),q.post=e=>({url:q.url(e),method:`post`});var dt={"/actions/users/send-password-reset-email":K,"/admin/actions/users/send-password-reset-email":q},J=e=>({url:J.url(e),method:`post`});J.definition={methods:[`post`],url:`/admin/actions/users/save-password`},J.url=e=>J.definition.url+O(e),J.post=e=>({url:J.url(e),method:`post`});var Y=e=>({url:Y.url(e),method:`post`});Y.definition={methods:[`post`],url:`/admin/actions/users/get-password-reset-url`},Y.url=e=>Y.definition.url+O(e),Y.post=e=>({url:Y.url(e),method:`post`});var X=e=>({url:X.url(e),method:`post`});X.definition={methods:[`post`],url:`/admin/actions/users/require-password-reset`},X.url=e=>X.definition.url+O(e),X.post=e=>({url:X.url(e),method:`post`});var Z=e=>({url:Z.url(e),method:`post`});Z.definition={methods:[`post`],url:`/admin/actions/users/remove-password-reset-requirement`},Z.url=e=>Z.definition.url+O(e),Z.post=e=>({url:Z.url(e),method:`post`});var Q=e=>({url:Q.url(e),method:`post`});Q.definition={methods:[`post`],url:`/admin/actions/users/verify-password`},Q.url=e=>Q.definition.url+O(e),Q.post=e=>({url:Q.url(e),method:`post`});var $=e=>({url:$.url(e),method:`get`});$.definition={methods:[`get`,`head`],url:`/admin/myaccount/password`},$.url=e=>$.definition.url+O(e),$.get=e=>({url:$.url(e),method:`get`}),$.head=e=>({url:$.url(e),method:`head`});var ft={sendPasswordResetEmail:dt,store:J,passwordResetUrl:Y,requireReset:X,removeResetRequirement:Z,verifyPassword:Q,index:$},pt={slot:`invoker`,type:`button`,"aria-label":`User menu`,appearance:`none`},mt=b(i({__name:`UserMenu`,setup(t){let{currentUser:n,general:r}=D(),i=S(()=>[{type:`display`,is:ut},{type:`hr`},{href:rt.edit[`/admin/myaccount`]().url,label:e(`Profile`)},{href:et.index[`/admin/myaccount/permissions`]().url,label:e(`Permissions`)},{href:tt.index().url,label:e(`Preferences`)},{href:ft.index().url,label:e(`Password & Verification`)},{type:`hr`},{href:j.logout().url,variant:`danger`,label:e(`Sign out`)}]);return(e,t)=>(u(),g(I,{actions:i.value,label:_(n).username},{invoker:h(({label:e})=>[w(`craft-button`,pt,[a(at)])]),_:1},8,[`actions`,`label`]))}}),[[`__scopeId`,`data-v-7b078862`]]),ht={key:0,variant:`danger`,rounded:`none`},gt={key:1,variant:`success`,rounded:`none`},_t=i({__name:`FlashMessages`,setup(e){let{messages:t}=T(),{announce:n}=E(),r=y(),i=S(()=>r.props.flash?.error??t.value.error??null),a=S(()=>r.props.flash?.success??t.value.success??null);return s(a,e=>n(e)),s(i,e=>n(e)),(e,t)=>(u(),d(`div`,null,[i.value?(u(),d(`craft-callout`,ht,x(i.value),1)):C(``,!0),a.value?(u(),d(`craft-callout`,gt,x(a.value),1)):C(``,!0)]))}}),vt={class:`cp`},yt={class:`cp__header`},bt=[`href`],xt={class:`flex gap-2 p-2`},St=[`name`,`label`],Ct={icon:``,appearance:`plain`,type:`button`},wt=[`label`],Tt={class:`cp__sidebar`},Et={class:`cp__main`},Dt={key:0,class:`px-4 py-2 border-b border-b-neutral-border-quiet`},Ot={id:`main`,tabindex:`-1`},kt={class:`index-grid index-grid--header`},At={class:`index-grid__aside`},jt={class:`text-xl`},Mt={class:`index-grid__main`},Nt={key:0},Pt=[`loading`],Ft={slot:`invoker`,variant:`primary`,type:`button`,icon:``},It=[`label`],Lt={class:`cp__footer`},Rt={key:0,class:`fixed bottom-2 right-2 flex gap-2 justify-end items-center p-2`},zt={class:`bg-blue-50 border border-blue-500 py-1 px-4 rounded`},Bt=[`label`],Vt=[`label`],Ht=b(i({__name:`AppLayout`,props:{title:{},debug:{},fullWidth:{type:Boolean,default:!1},form:{default:null},formActions:{},additionalSkipLinks:{}},emits:[`save`],setup(t,{emit:n}){ne(e=>({v32e0b05c:F.value}));let i=n,o=t,{system:c}=D(),f=y(),{errorFlash:b,successFlash:se}=ce(),T=S(()=>f.props.crumbs??null),le=S(()=>[{label:e(`Skip to main section`),url:`#main`},...o.additionalSkipLinks??[]]),O=S(()=>f.props.readOnly),k=ae(`sidebarToggle`),{announcement:A,announce:j}=E(),fe=S(()=>{let e=o.title?.trim();return e?`${e} - ${c.name}`:c.name});s(se,e=>j(e)),s(b,e=>j(e)),He();let M=te({sidebar:{mode:`floating`,visibility:`hidden`}}),N=de(`(min-width: 1024px)`),P=ie(!1),me=S(()=>o.title??f.props.title);s(N,e=>{e?(M.sidebar.mode=`docked`,M.sidebar.visibility=`visible`):(M.sidebar.mode=`floating`,M.sidebar.visibility=`hidden`)},{immediate:!0});function he(){M.sidebar.visibility===`visible`?M.sidebar.visibility=`hidden`:M.sidebar.visibility=`visible`}function ge(){M.sidebar.visibility=`hidden`,k.value.focus()}let _e=S(()=>M.sidebar.visibility===`visible`?`x`:`bars`),F=S(()=>M.sidebar.mode===`docked`?M.sidebar.visibility===`visible`?`var(--global-sidebar-width)`:`0`:`auto`);return(n,o)=>(u(),d(v,null,[a(_(ee),{title:fe.value},null,8,[`title`]),a(Ve,{debug:!0}),w(`div`,vt,[w(`header`,yt,[(u(!0),d(v,null,r(le.value,e=>(u(),d(`a`,{key:e.url,href:e.url,class:`skip-link skip-link--global`},x(e.label),9,bt))),128)),w(`div`,xt,[_(N)?C(``,!0):(u(),d(`craft-button`,{key:0,icon:``,type:`button`,appearance:`plain`,onClick:he,ref_key:`sidebarToggle`,ref:k},[w(`craft-icon`,{name:_e.value,label:_(e)(`Toggle menu`)},null,8,St)],512)),_(N)?(u(),g(pe,{key:1})):C(``,!0),o[3]||=w(`div`,{class:`ml-auto`},null,-1),w(`craft-button`,Ct,[w(`craft-icon`,{name:`search`,label:_(e)(`Search`)},null,8,wt)]),a(mt)]),a(_t)]),w(`div`,Tt,[a(Fe,{mode:M.sidebar.mode,visibility:M.sidebar.visibility,onClose:ge},null,8,[`mode`,`visibility`])]),w(`div`,Et,[m(n.$slots,`main`,{},()=>[m(n.$slots,`breadcrumbs`,{},()=>[T.value?(u(),d(`div`,Dt,[a(ze,{items:T.value},null,8,[`items`])])):C(``,!0)],!0),w(`main`,Ot,[(u(),g(p(t.form?`form`:`div`),{method:`post`,onSubmit:o[0]||=re(e=>i(`save`),[`prevent`])},{default:h(()=>[m(n.$slots,`header`,{},()=>[w(`div`,{class:l({container:!0,"container--full":t.fullWidth})},[w(`div`,kt,[w(`div`,At,[m(n.$slots,`title`,{},()=>[w(`h1`,jt,x(me.value),1)],!0),m(n.$slots,`title-badge`,{},void 0,!0)]),w(`div`,Mt,[m(n.$slots,`actions`,{},()=>[t.form?(u(),d(v,{key:0},[a(ue,{"is-active":t.form.recentlySuccessful||t.form.hasErrors},null,8,[`is-active`]),O.value?C(``,!0):(u(),d(`craft-button-group`,Nt,[w(`craft-button`,{type:`submit`,variant:`primary`,loading:t.form.processing},x(_(e)(`Save`)),9,Pt),a(I,{icon:`chevron-down`,actions:[{label:_(e)(`Save and continue editing`),onClick:()=>i(`save`,{redirect:!1}),shortcut:`S`},...t.formActions??[]]},{invoker:h(({label:e})=>[w(`craft-button`,Ft,[w(`craft-icon`,{name:`chevron-down`,label:e},null,8,It)])]),_:1},8,[`actions`])]))],64)):C(``,!0)],!0)])])],2)],!0),w(`div`,{class:l({container:!0,"container--full":t.fullWidth})},[t.form&&t.form.hasErrors?(u(),g(Ze,{key:0,errors:t.form.errors},null,8,[`errors`])):C(``,!0),O.value?(u(),g($e,{key:1})):C(``,!0),m(n.$slots,`default`,{},void 0,!0)],2)]),_:3},32))])],!0)]),w(`div`,Lt,[w(`footer`,null,[w(`div`,{class:l({container:!0,"container--full":t.fullWidth})},[m(n.$slots,`footer`,{},void 0,!0)],2)])])]),t.debug?(u(),d(`div`,Rt,[w(`div`,zt,x(_(A)??`No announcement`),1),w(`div`,null,[P.value?(u(),g(oe,{key:0,data:t.debug,class:`max-h-[50vh] max-w-[600px] overflow-scroll absolute transform -translate-full`},null,8,[`data`])):C(``,!0),P.value?(u(),d(`craft-button`,{key:1,icon:``,type:`button`,onClick:o[1]||=e=>P.value=!1},[w(`craft-icon`,{label:_(e)(`Close Debug panel`),name:`x`},null,8,Bt)])):(u(),d(`craft-button`,{key:2,type:`button`,onClick:o[2]||=e=>P.value=!0,icon:``},[w(`craft-icon`,{name:`code`,label:_(e)(`Show debug variables`)},null,8,Vt)]))])])):C(``,!0)],64))}}),[[`__scopeId`,`data-v-9f23720c`]]);export{$e as n,I as r,Ht as t}; \ No newline at end of file diff --git a/resources/build/assets/Badge-CfJUHywr.js b/resources/build/assets/Badge-CfJUHywr.js new file mode 100644 index 00000000000..cbf6f23777e --- /dev/null +++ b/resources/build/assets/Badge-CfJUHywr.js @@ -0,0 +1 @@ +import{D as e,R as t,S as n,V as r,v as i,y as a}from"./_plugin-vue_export-helper-BBgEixrZ.js";var o=[`variant`],s=[`variant`],c=e({__name:`Badge`,props:{variant:{default:`default`}},setup(e){let c=e,l=i(()=>c.variant===`default`?`empty`:c.variant);return(i,c)=>(t(),n(`craft-callout`,{variant:e.variant,size:`small`,class:`items-center`,inline:``},[a(`craft-indicator`,{slot:`icon`,variant:l.value},null,8,s),a(`span`,null,[r(i.$slots,`default`)])],8,o))}});export{c as t}; \ No newline at end of file diff --git a/resources/build/assets/Badge-DpS_C1p3.js b/resources/build/assets/Badge-DpS_C1p3.js deleted file mode 100644 index 595b3c8021d..00000000000 --- a/resources/build/assets/Badge-DpS_C1p3.js +++ /dev/null @@ -1 +0,0 @@ -import{B as e,E as t,L as n,_ as r,v as i,x as a}from"./_plugin-vue_export-helper-C3orD-yt.js";var o=[`variant`],s=[`variant`],c=t({__name:`Badge`,props:{variant:{default:`default`}},setup(t){let c=t,l=r(()=>c.variant===`default`?`empty`:c.variant);return(r,c)=>(n(),a(`craft-callout`,{variant:t.variant,size:`small`,class:`items-center`,inline:``},[i(`craft-indicator`,{slot:`icon`,variant:l.value},null,8,s),i(`span`,null,[e(r.$slots,`default`)])],8,o))}});export{c as t}; \ No newline at end of file diff --git a/resources/build/assets/CpGlobalSidebar-D3tqrxar.js b/resources/build/assets/CpGlobalSidebar-bdcF6kou.js similarity index 95% rename from resources/build/assets/CpGlobalSidebar-D3tqrxar.js rename to resources/build/assets/CpGlobalSidebar-bdcF6kou.js index 214d7c6bdb1..1d7b70091bb 100644 --- a/resources/build/assets/CpGlobalSidebar-D3tqrxar.js +++ b/resources/build/assets/CpGlobalSidebar-bdcF6kou.js @@ -1 +1 @@ -import{n as e}from"./rolldown-runtime-DXc-PV0M.js";import{t}from"./lit-BpPOIUnZ.js";import{a as n,n as r,o as i,r as a}from"./decorators-BOwDFZC2.js";import{t as o}from"./decorate-DQXQhzse.js";var s=e({}),c=class extends t{constructor(...e){super(...e),this.state=Craft.getCookie(`sidebar`)??`expanded`}connectedCallback(){super.connectedCallback(),this.trigger&&(this.trigger.addEventListener(`open`,this.expand.bind(this)),this.trigger.addEventListener(`close`,this.collapse.bind(this))),this.state===`expanded`?this.expand():this.collapse()}disconnectedCallback(){super.disconnectedCallback(),this.trigger&&(this.trigger.removeEventListener(`open`,this.expand.bind(this)),this.trigger.removeEventListener(`close`,this.collapse.bind(this))),this.state=`expanded`}itemHasTooltip(e){return e.querySelector(`craft-tooltip`)}createTooltips(){this.items?.forEach(e=>e.setAttribute(`icon-only`,!0))}destroyTooltips(){this.items?.forEach(e=>e.removeAttribute(`icon-only`))}expand(){document.body.setAttribute(`data-sidebar`,`expanded`),Craft.setCookie(`sidebar`,`expanded`),this.destroyTooltips()}collapse(){document.body.setAttribute(`data-sidebar`,`collapsed`),Craft.setCookie(`sidebar`,`collapsed`),this.createTooltips()}createRenderRoot(){return this}};o([r(`craft-nav-item`)],c.prototype,`items`,void 0),o([a(`#sidebar-trigger`)],c.prototype,`trigger`,void 0),o([n({reflect:!0})],c.prototype,`state`,void 0),c=o([i(`cp-global-sidebar`)],c);export{s as t}; \ No newline at end of file +import{n as e}from"./rolldown-runtime-DXc-PV0M.js";import{t}from"./lit-BpPOIUnZ.js";import{a as n,n as r,o as i,r as a}from"./decorators-BOwDFZC2.js";import{t as o}from"./decorate-CxrcuNn9.js";var s=e({}),c=class extends t{constructor(...e){super(...e),this.state=Craft.getCookie(`sidebar`)??`expanded`}connectedCallback(){super.connectedCallback(),this.trigger&&(this.trigger.addEventListener(`open`,this.expand.bind(this)),this.trigger.addEventListener(`close`,this.collapse.bind(this))),this.state===`expanded`?this.expand():this.collapse()}disconnectedCallback(){super.disconnectedCallback(),this.trigger&&(this.trigger.removeEventListener(`open`,this.expand.bind(this)),this.trigger.removeEventListener(`close`,this.collapse.bind(this))),this.state=`expanded`}itemHasTooltip(e){return e.querySelector(`craft-tooltip`)}createTooltips(){this.items?.forEach(e=>e.setAttribute(`icon-only`,!0))}destroyTooltips(){this.items?.forEach(e=>e.removeAttribute(`icon-only`))}expand(){document.body.setAttribute(`data-sidebar`,`expanded`),Craft.setCookie(`sidebar`,`expanded`),this.destroyTooltips()}collapse(){document.body.setAttribute(`data-sidebar`,`collapsed`),Craft.setCookie(`sidebar`,`collapsed`),this.createTooltips()}createRenderRoot(){return this}};o([r(`craft-nav-item`)],c.prototype,`items`,void 0),o([a(`#sidebar-trigger`)],c.prototype,`trigger`,void 0),o([n({reflect:!0})],c.prototype,`state`,void 0),c=o([i(`cp-global-sidebar`)],c);export{s as t}; \ No newline at end of file diff --git a/resources/build/assets/CpQueueIndicator-Z5fWxzKz.js b/resources/build/assets/CpQueueIndicator-CenjLfi2.js similarity index 92% rename from resources/build/assets/CpQueueIndicator-Z5fWxzKz.js rename to resources/build/assets/CpQueueIndicator-CenjLfi2.js index 5792a0bac8a..341d92f853b 100644 --- a/resources/build/assets/CpQueueIndicator-Z5fWxzKz.js +++ b/resources/build/assets/CpQueueIndicator-CenjLfi2.js @@ -1,4 +1,4 @@ -import{n as e}from"./rolldown-runtime-DXc-PV0M.js";import{h as t,p as n}from"./cp-CoDnSlcH.js";import{c as r,f as i,r as a,t as o}from"./lit-BpPOIUnZ.js";import{a as s,o as c}from"./decorators-BOwDFZC2.js";import{t as l}from"./queue-Co4Wx1VG.js";import{t as u}from"./decorate-DQXQhzse.js";var d=e({default:()=>p}),f=class extends o{constructor(...e){super(...e),this.displayedJob=null,this.hasReservedJobs=!1,this.hasWaitingJobs=!1,this.#e=n.getInstance(),this.#t=t.getInstance(),this.#n=e=>{this.displayedJob=e.detail.displayedJob}}static{this.styles=i` +import{n as e}from"./rolldown-runtime-DXc-PV0M.js";import{h as t,p as n}from"./cp-DyslAjVs.js";import{c as r,f as i,r as a,t as o}from"./lit-BpPOIUnZ.js";import{a as s,o as c}from"./decorators-BOwDFZC2.js";import{t as l}from"./queue-BTbc1qEh.js";import{t as u}from"./decorate-CxrcuNn9.js";var d=e({default:()=>p}),f=class extends o{constructor(...e){super(...e),this.displayedJob=null,this.hasReservedJobs=!1,this.hasWaitingJobs=!1,this.#e=n.getInstance(),this.#t=t.getInstance(),this.#n=e=>{this.displayedJob=e.detail.displayedJob}}static{this.styles=i` :host { display: contents; } diff --git a/resources/build/assets/CraftCombobox-CF-lmAE3.js b/resources/build/assets/CraftCombobox-CF-lmAE3.js deleted file mode 100644 index dcec9393829..00000000000 --- a/resources/build/assets/CraftCombobox-CF-lmAE3.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{B as t,E as n,G as r,L as i,M as a,N as o,O as s,Q as c,S as l,T as u,W as d,Y as f,_ as p,b as m,et as h,ut as g,v as _,w as v,x as y,z as b}from"./_plugin-vue_export-helper-C3orD-yt.js";import{t as x}from"./InputCombobox-DAgXLrVb.js";var S=[`label`,`id`,`name`,`disabled`,`has-feedback-for`,`require-options-match`],C={slot:`after`},w={key:0,variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},T={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},E={slot:`feedback`},D={key:0,class:`error-list`},O=n({__name:`CraftCombobox`,props:a({modelValue:{type:[String,Boolean,Number]},label:{},id:{},name:{},disabled:{type:Boolean},options:{},callouts:{},error:{},requireOptionMatch:{type:Boolean}},{modelValue:{type:[String,Number,Boolean]},modelModifiers:{}}),emits:[`update:modelValue`],setup(n){let a=d(n,`modelValue`),O=r(),k=p(()=>{let{default:e,...t}=O;return t});return(r,d)=>(i(),y(`craft-input`,o({label:n.label,id:n.id,name:n.name,disabled:n.disabled,"has-feedback-for":n.error?`error`:``,"require-options-match":n.requireOptionMatch},r.$attrs),[u(x,{slot:`input`,modelValue:a.value,"onUpdate:modelValue":d[0]||=e=>a.value=e,options:n.options,label:n.label},l({_:2},[b(k.value,(e,n)=>({name:n,fn:f(e=>[t(r.$slots,n,c(s(e||{})))])}))]),1032,[`modelValue`,`options`,`label`]),_(`div`,C,[t(r.$slots,`after`,{},()=>[n.callouts?.includes(`envVars`)?(i(),y(`craft-callout`,w,[v(h(g(e)(`This can begin with an environment variable.`))+` `,1),_(`a`,T,h(g(e)(`Learn more`)),1)])):m(``,!0)])]),_(`div`,E,[n.error?(i(),y(`ul`,D,[_(`li`,null,h(n.error),1)])):m(``,!0)])],16,S))}});export{O as t}; \ No newline at end of file diff --git a/resources/build/assets/CraftCombobox-DdSZuyjg.js b/resources/build/assets/CraftCombobox-DdSZuyjg.js new file mode 100644 index 00000000000..cf87f9accf4 --- /dev/null +++ b/resources/build/assets/CraftCombobox-DdSZuyjg.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{$ as t,B as n,C as r,D as i,E as a,G as o,K as s,N as c,P as l,R as u,S as d,T as f,V as p,X as m,dt as h,k as g,tt as _,v,x as y,y as b}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{t as x}from"./InputCombobox--l4XmuRi.js";var S=[`label`,`id`,`name`,`disabled`,`has-feedback-for`,`require-options-match`],C={slot:`after`},w={key:0,variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},T={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},E={slot:`feedback`},D={key:0,class:`error-list`},O=i({__name:`CraftCombobox`,props:c({modelValue:{type:[String,Boolean,Number]},label:{},id:{},name:{},disabled:{type:Boolean},options:{},callouts:{},error:{},requireOptionMatch:{type:Boolean}},{modelValue:{type:[String,Number,Boolean]},modelModifiers:{}}),emits:[`update:modelValue`],setup(i){let c=o(i,`modelValue`),O=s(),k=v(()=>{let{default:e,...t}=O;return t});return(o,s)=>(u(),d(`craft-input`,l({label:i.label,id:i.id,name:i.name,disabled:i.disabled,"has-feedback-for":i.error?`error`:``,"require-options-match":i.requireOptionMatch},o.$attrs),[a(x,{slot:`input`,modelValue:c.value,"onUpdate:modelValue":s[0]||=e=>c.value=e,options:i.options,label:i.label},r({_:2},[n(k.value,(e,n)=>({name:n,fn:m(e=>[p(o.$slots,n,t(g(e||{})))])}))]),1032,[`modelValue`,`options`,`label`]),b(`div`,C,[p(o.$slots,`after`,{},()=>[i.callouts?.includes(`envVars`)?(u(),d(`craft-callout`,w,[f(_(h(e)(`This can begin with an environment variable.`))+` `,1),b(`a`,T,_(h(e)(`Learn more`)),1)])):y(``,!0)])]),b(`div`,E,[i.error?(u(),d(`ul`,D,[b(`li`,null,_(i.error),1)])):y(``,!0)])],16,S))}});export{O as t}; \ No newline at end of file diff --git a/resources/build/assets/CraftInput-BrzKPRWU.js b/resources/build/assets/CraftInput-BrzKPRWU.js new file mode 100644 index 00000000000..b2ead69ee29 --- /dev/null +++ b/resources/build/assets/CraftInput-BrzKPRWU.js @@ -0,0 +1 @@ +import{D as e,G as t,N as n,P as r,R as i,S as a,V as o,tt as s,x as c,y as l}from"./_plugin-vue_export-helper-BBgEixrZ.js";var u=[`.modelValue`,`has-feedback-for`],d={slot:`feedback`},f={key:0,class:`error-list`},p=e({name:`CraftInput`,__name:`CraftInput`,props:n({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=t(e,`modelValue`);return(t,p)=>(i(),a(`craft-input`,r(t.$attrs,{".modelValue":n.value,onModelValueChanged:p[0]||=e=>n.value=e.target?.modelValue,"has-feedback-for":e.error?`error`:``}),[o(t.$slots,`default`),l(`div`,d,[e.error?(i(),a(`ul`,f,[l(`li`,null,s(e.error),1)])):c(``,!0)])],48,u))}});export{p as t}; \ No newline at end of file diff --git a/resources/build/assets/CraftInput-Diy-IcJh.js b/resources/build/assets/CraftInput-Diy-IcJh.js deleted file mode 100644 index a7c27b3f239..00000000000 --- a/resources/build/assets/CraftInput-Diy-IcJh.js +++ /dev/null @@ -1 +0,0 @@ -import{B as e,E as t,L as n,M as r,N as i,W as a,b as o,et as s,v as c,x as l}from"./_plugin-vue_export-helper-C3orD-yt.js";var u=[`.modelValue`,`has-feedback-for`],d={slot:`feedback`},f={key:0,class:`error-list`},p=t({name:`CraftInput`,__name:`CraftInput`,props:r({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(t){let r=a(t,`modelValue`);return(a,p)=>(n(),l(`craft-input`,i(a.$attrs,{".modelValue":r.value,onModelValueChanged:p[0]||=e=>r.value=e.target?.modelValue,"has-feedback-for":t.error?`error`:``}),[e(a.$slots,`default`),c(`div`,d,[t.error?(n(),l(`ul`,f,[c(`li`,null,s(t.error),1)])):o(``,!0)])],48,u))}});export{p as t}; \ No newline at end of file diff --git a/resources/build/assets/CraftInputHandle-D2OoP5P9.js b/resources/build/assets/CraftInputHandle-D2OoP5P9.js new file mode 100644 index 00000000000..a821eb69c41 --- /dev/null +++ b/resources/build/assets/CraftInputHandle-D2OoP5P9.js @@ -0,0 +1 @@ +import{D as e,G as t,N as n,P as r,R as i,S as a,V as o,tt as s,x as c,y as l}from"./_plugin-vue_export-helper-BBgEixrZ.js";var u=[`.modelValue`,`has-feedback-for`],d={slot:`feedback`},f={key:0,class:`error-list`},p=e({name:`CraftInputHandle`,__name:`CraftInputHandle`,props:n({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=t(e,`modelValue`);return(t,p)=>(i(),a(`craft-input-handle`,r(t.$attrs,{".modelValue":n.value,onModelValueChanged:p[0]||=e=>n.value=e.target?.modelValue,"has-feedback-for":e.error?`error`:``}),[o(t.$slots,`default`),l(`div`,d,[e.error?(i(),a(`ul`,f,[l(`li`,null,s(e.error),1)])):c(``,!0)])],48,u))}});export{p as t}; \ No newline at end of file diff --git a/resources/build/assets/CraftInputHandle-DC3oqA7Q.js b/resources/build/assets/CraftInputHandle-DC3oqA7Q.js deleted file mode 100644 index 290791602fd..00000000000 --- a/resources/build/assets/CraftInputHandle-DC3oqA7Q.js +++ /dev/null @@ -1 +0,0 @@ -import{B as e,E as t,L as n,M as r,N as i,W as a,b as o,et as s,v as c,x as l}from"./_plugin-vue_export-helper-C3orD-yt.js";var u=[`.modelValue`,`has-feedback-for`],d={slot:`feedback`},f={key:0,class:`error-list`},p=t({name:`CraftInputHandle`,__name:`CraftInputHandle`,props:r({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(t){let r=a(t,`modelValue`);return(a,p)=>(n(),l(`craft-input-handle`,i(a.$attrs,{".modelValue":r.value,onModelValueChanged:p[0]||=e=>r.value=e.target?.modelValue,"has-feedback-for":t.error?`error`:``}),[e(a.$slots,`default`),c(`div`,d,[t.error?(n(),l(`ul`,f,[c(`li`,null,s(t.error),1)])):o(``,!0)])],48,u))}});export{p as t}; \ No newline at end of file diff --git a/resources/build/assets/CraftSelect-CLNDGobq.js b/resources/build/assets/CraftSelect-CLNDGobq.js new file mode 100644 index 00000000000..d8501a8a6d2 --- /dev/null +++ b/resources/build/assets/CraftSelect-CLNDGobq.js @@ -0,0 +1 @@ +import{D as e,G as t,N as n,P as r,R as i,S as a,V as o,tt as s,x as c,y as l}from"./_plugin-vue_export-helper-BBgEixrZ.js";var u=[`.modelValue`,`has-feedback-for`],d={slot:`feedback`},f={key:0,class:`error-list`},p=e({name:`CraftSelect`,__name:`CraftSelect`,props:n({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=t(e,`modelValue`);return(t,p)=>(i(),a(`craft-select`,r(t.$attrs,{".modelValue":n.value,onModelValueChanged:p[0]||=e=>n.value=e.target?.modelValue,"has-feedback-for":e.error?`error`:``}),[o(t.$slots,`default`),l(`div`,d,[e.error?(i(),a(`ul`,f,[l(`li`,null,s(e.error),1)])):c(``,!0)])],48,u))}});export{p as t}; \ No newline at end of file diff --git a/resources/build/assets/CraftTextarea-BPVI-czJ.js b/resources/build/assets/CraftTextarea-BPVI-czJ.js new file mode 100644 index 00000000000..4096e11be82 --- /dev/null +++ b/resources/build/assets/CraftTextarea-BPVI-czJ.js @@ -0,0 +1 @@ +import{D as e,G as t,N as n,P as r,R as i,S as a,V as o,tt as s,x as c,y as l}from"./_plugin-vue_export-helper-BBgEixrZ.js";var u=[`.checked`,`has-feedback-for`],d={slot:`feedback`},f={key:0,class:`error-list`},p=e({name:`CraftCheckbox`,__name:`CraftCheckbox`,props:n({error:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=t(e,`modelValue`);return(t,p)=>(i(),a(`craft-checkbox`,r(t.$attrs,{".checked":n.value,onModelValueChanged:p[0]||=e=>n.value=e.target?.checked,"has-feedback-for":e.error?`error`:``}),[o(t.$slots,`default`),l(`div`,d,[e.error?(i(),a(`ul`,f,[l(`li`,null,s(e.error),1)])):c(``,!0)])],48,u))}}),m=[`.modelValue`,`has-feedback-for`],h={slot:`feedback`},g={key:0,class:`error-list`},_=e({name:`CraftTextarea`,__name:`CraftTextarea`,props:n({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=t(e,`modelValue`);return(t,u)=>(i(),a(`craft-textarea`,r(t.$attrs,{".modelValue":n.value,onModelValueChanged:u[0]||=e=>n.value=e.target?.modelValue,"has-feedback-for":e.error?`error`:``}),[o(t.$slots,`default`),l(`div`,h,[e.error?(i(),a(`ul`,g,[l(`li`,null,s(e.error),1)])):c(``,!0)])],48,m))}});export{p as n,_ as t}; \ No newline at end of file diff --git a/resources/build/assets/CraftTextarea-KI-zgO5f.js b/resources/build/assets/CraftTextarea-KI-zgO5f.js deleted file mode 100644 index cda935c600a..00000000000 --- a/resources/build/assets/CraftTextarea-KI-zgO5f.js +++ /dev/null @@ -1 +0,0 @@ -import{B as e,E as t,L as n,M as r,N as i,W as a,b as o,et as s,v as c,x as l}from"./_plugin-vue_export-helper-C3orD-yt.js";var u=[`.checked`,`has-feedback-for`],d={slot:`feedback`},f={key:0,class:`error-list`},p=t({name:`CraftCheckbox`,__name:`CraftCheckbox`,props:r({error:{}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:[`update:modelValue`],setup(t){let r=a(t,`modelValue`);return(a,p)=>(n(),l(`craft-checkbox`,i(a.$attrs,{".checked":r.value,onModelValueChanged:p[0]||=e=>r.value=e.target?.checked,"has-feedback-for":t.error?`error`:``}),[e(a.$slots,`default`),c(`div`,d,[t.error?(n(),l(`ul`,f,[c(`li`,null,s(t.error),1)])):o(``,!0)])],48,u))}}),m=[`.modelValue`,`has-feedback-for`],h={slot:`feedback`},g={key:0,class:`error-list`},_=t({name:`CraftTextarea`,__name:`CraftTextarea`,props:r({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(t){let r=a(t,`modelValue`);return(a,u)=>(n(),l(`craft-textarea`,i(a.$attrs,{".modelValue":r.value,onModelValueChanged:u[0]||=e=>r.value=e.target?.modelValue,"has-feedback-for":t.error?`error`:``}),[e(a.$slots,`default`),c(`div`,h,[t.error?(n(),l(`ul`,g,[c(`li`,null,s(t.error),1)])):o(``,!0)])],48,m))}});export{p as n,_ as t}; \ No newline at end of file diff --git a/resources/build/assets/DeleteButton-CPJTFImZ.js b/resources/build/assets/DeleteButton-CPJTFImZ.js deleted file mode 100644 index d78fb4884bb..00000000000 --- a/resources/build/assets/DeleteButton-CPJTFImZ.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{E as t,L as n,N as r,v as i,x as a}from"./_plugin-vue_export-helper-C3orD-yt.js";var o=[`name`,`label`],s=t({__name:`DeleteButton`,props:{label:{default:e(`Delete item`)},icon:{default:`x`}},emits:[`click`],setup(e,{emit:t}){let s=t;return(t,c)=>(n(),a(`craft-button`,r({type:`button`,onClick:c[0]||=e=>s(`click`),size:`small`,appearance:`plain`,variant:`danger`},t.$attrs),[i(`craft-icon`,{name:e.icon,label:e.label},null,8,o)],16))}});export{s as t}; \ No newline at end of file diff --git a/resources/build/assets/DeleteButton-u_rv7O4A.js b/resources/build/assets/DeleteButton-u_rv7O4A.js new file mode 100644 index 00000000000..172b95cb958 --- /dev/null +++ b/resources/build/assets/DeleteButton-u_rv7O4A.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{D as t,P as n,R as r,S as i,y as a}from"./_plugin-vue_export-helper-BBgEixrZ.js";var o=[`name`,`label`],s=t({__name:`DeleteButton`,props:{label:{default:e(`Delete item`)},icon:{default:`x`}},emits:[`click`],setup(e,{emit:t}){let s=t;return(t,c)=>(r(),i(`craft-button`,n({type:`button`,onClick:c[0]||=e=>s(`click`),size:`small`,appearance:`plain`,variant:`danger`},t.$attrs),[a(`craft-icon`,{name:e.icon,label:e.label},null,8,o)],16))}});export{s as t}; \ No newline at end of file diff --git a/resources/build/assets/DeleteSiteModal-BfYzzTb9.js b/resources/build/assets/DeleteSiteModal-BfYzzTb9.js new file mode 100644 index 00000000000..66bb9b00466 --- /dev/null +++ b/resources/build/assets/DeleteSiteModal-BfYzzTb9.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{B as t,D as n,R as r,S as i,X as a,b as o,dt as s,h as c,l,r as u,s as d,tt as f,v as p,x as m,y as h}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{n as g,t as _}from"./wayfinder-ghdHxiwr.js";import{t as v}from"./ModalForm-DpNJgsO7.js";var y=e=>({url:y.url(e),method:`get`});y.definition={methods:[`get`,`head`],url:`/admin/settings/sites`},y.url=e=>y.definition.url+g(e),y.get=e=>({url:y.url(e),method:`get`}),y.head=e=>({url:y.url(e),method:`head`});var b=e=>({url:b.url(e),method:`get`});b.definition={methods:[`get`,`head`],url:`/admin/settings/sites/new`},b.url=e=>b.definition.url+g(e),b.get=e=>({url:b.url(e),method:`get`}),b.head=e=>({url:b.url(e),method:`head`});var x=e=>({url:x.url(e),method:`post`});x.definition={methods:[`post`],url:`/admin/settings/sites/reorder`},x.url=e=>x.definition.url+g(e),x.post=e=>({url:x.url(e),method:`post`});var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/settings/sites`},S.url=e=>S.definition.url+g(e),S.post=e=>({url:S.url(e),method:`post`});var C=(e,t)=>({url:C.url(e,t),method:`delete`});C.definition={methods:[`delete`],url:`/admin/settings/sites/{site}`},C.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={site:e}),Array.isArray(e)&&(e={site:e[0]}),e=_(e);let n={site:e.site};return C.definition.url.replace(`{site}`,n.site.toString()).replace(/\/+$/,``)+g(t)},C.delete=(e,t)=>({url:C.url(e,t),method:`delete`});var w=(e,t)=>({url:w.url(e,t),method:`get`});w.definition={methods:[`get`,`head`],url:`/admin/settings/sites/{site}`},w.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={site:e}),typeof e==`object`&&!Array.isArray(e)&&`id`in e&&(e={site:e.id}),Array.isArray(e)&&(e={site:e[0]}),e=_(e);let n={site:typeof e.site==`object`?e.site.id:e.site};return w.definition.url.replace(`{site}`,n.site.toString()).replace(/\/+$/,``)+g(t)},w.get=(e,t)=>({url:w.url(e,t),method:`get`}),w.head=(e,t)=>({url:w.url(e,t),method:`head`});var T={class:`grid gap-3`},E=[`label`,`help-text`,`.modelValue`],D=[`label`,`checked`],O=[`label`,`checked`],k=[`label`],A=[`label`,`.modelValue`],j={slot:`input`},M={value:``},N=[`selected`,`value`],P={slot:`feedback`},F={key:0,class:`error-list`},I=n({__name:`DeleteSiteModal`,props:{open:{type:Boolean,default:!1},site:{}},emits:[`close`],setup(n,{emit:g}){let _=g,y=n,b=l(),x=p(()=>b.props.transferContentOptions?b.props.transferContentOptions.filter(e=>e.id!==y.site.id):[]),S=d({id:y.site.id,contentDestination:`transfer`,transferContentTo:null});async function w(){I()}function I(){S.clearErrors().delete(C(y.site.id).url,{onSuccess:()=>{_(`close`),S.reset()}})}function L(){_(`close`),S.clearErrors(),S.reset()}return(l,d)=>(r(),o(v,{title:s(e)(`Delete {site}`,{site:n.site.name}),"is-active":n.open,onClose:L,onSubmit:w,loading:s(S).processing,"submit-label":s(e)(`Delete`)},{default:a(()=>[h(`div`,T,[h(`craft-radio-group`,{name:`contentDestination`,label:s(e)(`Content Destination`),"help-text":s(e)(`What do you want to do with any content that is only available in {siteName}?`,{siteName:n.site.name}),".modelValue":s(S).contentDestination,onModelValueChanged:d[0]||=e=>s(S).contentDestination=e.target.modelValue},[h(`craft-radio`,{label:s(e)(`Transfer it`),".choiceValue":`transfer`,checked:s(S).contentDestination===`transfer`},null,40,D),h(`craft-radio`,{label:s(e)(`Delete it`),".choiceValue":`delete`,checked:s(S).contentDestination===`delete`},null,40,O)],40,E),s(S).contentDestination===`transfer`?(r(),o(s(u),{key:0,data:`transferContentOptions`},{fallback:a(()=>[h(`craft-input`,{disabled:``,label:s(e)(`Transfer content to`)},null,8,k)]),default:a(()=>[h(`craft-select`,{label:s(e)(`Transfer content to`),id:`transfer-to`,name:`transferContentTo`,".modelValue":s(S).transferContentTo,onModelValueChanged:d[1]||=e=>s(S).transferContentTo=e.target.modelValue},[h(`select`,j,[h(`option`,M,f(s(e)(`Select site`)),1),(r(!0),i(c,null,t(x.value,e=>(r(),i(`option`,{key:e.id,selected:e.id===s(S).transferContentTo,value:e.id},f(e.name),9,N))),128))]),h(`div`,P,[s(S).errors?.transferContentTo?(r(),i(`ul`,F,[h(`li`,null,f(s(S).errors.transferContentTo),1)])):m(``,!0)])],40,A)]),_:1})):m(``,!0)])]),_:1},8,[`title`,`is-active`,`loading`,`submit-label`]))}});export{S as a,x as i,b as n,w as r,I as t}; \ No newline at end of file diff --git a/resources/build/assets/DeleteSiteModal-wZU8P6Q1.js b/resources/build/assets/DeleteSiteModal-wZU8P6Q1.js deleted file mode 100644 index 2fd4f55e210..00000000000 --- a/resources/build/assets/DeleteSiteModal-wZU8P6Q1.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{E as t,L as n,Y as r,_ as i,b as a,et as o,l as s,m as c,r as l,s as u,ut as d,v as f,x as p,y as m,z as h}from"./_plugin-vue_export-helper-C3orD-yt.js";import{n as g,t as _}from"./wayfinder-CyAPyHKQ.js";import{t as v}from"./ModalForm-B7cOiJaR.js";var y=e=>({url:y.url(e),method:`get`});y.definition={methods:[`get`,`head`],url:`/admin/settings/sites`},y.url=e=>y.definition.url+g(e),y.get=e=>({url:y.url(e),method:`get`}),y.head=e=>({url:y.url(e),method:`head`});var b=e=>({url:b.url(e),method:`get`});b.definition={methods:[`get`,`head`],url:`/admin/settings/sites/new`},b.url=e=>b.definition.url+g(e),b.get=e=>({url:b.url(e),method:`get`}),b.head=e=>({url:b.url(e),method:`head`});var x=e=>({url:x.url(e),method:`post`});x.definition={methods:[`post`],url:`/admin/settings/sites/reorder`},x.url=e=>x.definition.url+g(e),x.post=e=>({url:x.url(e),method:`post`});var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/settings/sites`},S.url=e=>S.definition.url+g(e),S.post=e=>({url:S.url(e),method:`post`});var C=(e,t)=>({url:C.url(e,t),method:`delete`});C.definition={methods:[`delete`],url:`/admin/settings/sites/{site}`},C.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={site:e}),Array.isArray(e)&&(e={site:e[0]}),e=_(e);let n={site:e.site};return C.definition.url.replace(`{site}`,n.site.toString()).replace(/\/+$/,``)+g(t)},C.delete=(e,t)=>({url:C.url(e,t),method:`delete`});var w=(e,t)=>({url:w.url(e,t),method:`get`});w.definition={methods:[`get`,`head`],url:`/admin/settings/sites/{site}`},w.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={site:e}),typeof e==`object`&&!Array.isArray(e)&&`id`in e&&(e={site:e.id}),Array.isArray(e)&&(e={site:e[0]}),e=_(e);let n={site:typeof e.site==`object`?e.site.id:e.site};return w.definition.url.replace(`{site}`,n.site.toString()).replace(/\/+$/,``)+g(t)},w.get=(e,t)=>({url:w.url(e,t),method:`get`}),w.head=(e,t)=>({url:w.url(e,t),method:`head`});var T={class:`grid gap-3`},E=[`label`,`help-text`,`.modelValue`],D=[`label`,`checked`],O=[`label`,`checked`],k=[`label`],A=[`label`,`.modelValue`],j={slot:`input`},M={value:``},N=[`selected`,`value`],P={slot:`feedback`},F={key:0,class:`error-list`},I=t({__name:`DeleteSiteModal`,props:{open:{type:Boolean,default:!1},site:{}},emits:[`close`],setup(t,{emit:g}){let _=g,y=t,b=s(),x=i(()=>b.props.transferContentOptions?b.props.transferContentOptions.filter(e=>e.id!==y.site.id):[]),S=u({id:y.site.id,contentDestination:`transfer`,transferContentTo:null});async function w(){I()}function I(){S.clearErrors().delete(C(y.site.id).url,{onSuccess:()=>{_(`close`),S.reset()}})}function L(){_(`close`),S.clearErrors(),S.reset()}return(i,s)=>(n(),m(v,{title:d(e)(`Delete {site}`,{site:t.site.name}),"is-active":t.open,onClose:L,onSubmit:w,loading:d(S).processing,"submit-label":d(e)(`Delete`)},{default:r(()=>[f(`div`,T,[f(`craft-radio-group`,{name:`contentDestination`,label:d(e)(`Content Destination`),"help-text":d(e)(`What do you want to do with any content that is only available in {siteName}?`,{siteName:t.site.name}),".modelValue":d(S).contentDestination,onModelValueChanged:s[0]||=e=>d(S).contentDestination=e.target.modelValue},[f(`craft-radio`,{label:d(e)(`Transfer it`),".choiceValue":`transfer`,checked:d(S).contentDestination===`transfer`},null,40,D),f(`craft-radio`,{label:d(e)(`Delete it`),".choiceValue":`delete`,checked:d(S).contentDestination===`delete`},null,40,O)],40,E),d(S).contentDestination===`transfer`?(n(),m(d(l),{key:0,data:`transferContentOptions`},{fallback:r(()=>[f(`craft-input`,{disabled:``,label:d(e)(`Transfer content to`)},null,8,k)]),default:r(()=>[f(`craft-select`,{label:d(e)(`Transfer content to`),id:`transfer-to`,name:`transferContentTo`,".modelValue":d(S).transferContentTo,onModelValueChanged:s[1]||=e=>d(S).transferContentTo=e.target.modelValue},[f(`select`,j,[f(`option`,M,o(d(e)(`Select site`)),1),(n(!0),p(c,null,h(x.value,e=>(n(),p(`option`,{key:e.id,selected:e.id===d(S).transferContentTo,value:e.id},o(e.name),9,N))),128))]),f(`div`,P,[d(S).errors?.transferContentTo?(n(),p(`ul`,F,[f(`li`,null,o(d(S).errors.transferContentTo),1)])):a(``,!0)])],40,A)]),_:1})):a(``,!0)])]),_:1},8,[`title`,`is-active`,`loading`,`submit-label`]))}});export{S as a,x as i,b as n,w as r,I as t}; \ No newline at end of file diff --git a/resources/build/assets/DropIndicator-CdS4AEr0.js b/resources/build/assets/DropIndicator-CdS4AEr0.js new file mode 100644 index 00000000000..23a978b2b52 --- /dev/null +++ b/resources/build/assets/DropIndicator-CdS4AEr0.js @@ -0,0 +1,5 @@ +import{t as e}from"./rolldown-runtime-DXc-PV0M.js";import{D as t,Q as n,R as r,S as i,at as a,t as o,x as s}from"./_plugin-vue_export-helper-BBgEixrZ.js";function c(e){if(Array.isArray(e))return e}function l(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function u(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n{Object.defineProperty(e,`__esModule`,{value:!0}),e.bind=void 0;function t(e,t){var n=t.type,r=t.listener,i=t.options;return e.addEventListener(n,r,i),function(){e.removeEventListener(n,r,i)}}e.bind=t})),h=e((e=>{var t=e&&e.__assign||function(){return t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{Object.defineProperty(e,`__esModule`,{value:!0}),e.bindAll=e.bind=void 0;var t=m();Object.defineProperty(e,`bind`,{enumerable:!0,get:function(){return t.bind}});var n=h();Object.defineProperty(e,`bindAll`,{enumerable:!0,get:function(){return n.bindAll}})}))(),_=`data-pdnd-honey-pot`;function v(e){return e instanceof Element&&e.hasAttribute(`data-pdnd-honey-pot`)}function y(e){var t=p(document.elementsFromPoint(e.x,e.y),2),n=t[0],r=t[1];return n?v(n)?r??null:n:null}function b(e){"@babel/helpers - typeof";return b=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},b(e)}function ee(e,t){if(b(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(b(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function te(e){var t=ee(e,`string`);return b(t)==`symbol`?t:t+``}function x(e,t,n){return(t=te(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var S=2147483647,C={inset:`unset`,border:`none`,padding:0,margin:0,overflow:`visible`,color:`inherit`,background:`transparent`};function w(e){var t=null;return function(){if(!t){var n=[...arguments];t={result:e.apply(this,n)}}return t.result}}var T=w(function(){return typeof HTMLElement<`u`&&typeof HTMLElement.prototype.showPopover==`function`});function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function D(e){for(var t=1;t=n.x&&t.x<=n.x+n.width&&t.y>=n.y&&t.y<=n.y+n.height}function le(e){var t=e.initial,n=document.createElement(`div`);n.setAttribute(_,`true`),T()&&n.setAttribute(`popover`,`manual`);var r=oe({client:t});Object.assign(n.style,D(D({position:`fixed`},T()?C:{zIndex:S}),{},{backgroundColor:`transparent`,padding:0,margin:0,boxSizing:`border-box`,pointerEvents:`auto`},se({clientRect:r}))),document.body.appendChild(n),T()&&n.showPopover();var i=(0,g.bind)(window,{type:`pointermove`,listener:function(e){r=oe({client:{x:e.clientX,y:e.clientY}}),Object.assign(n.style,se({clientRect:r}))},options:{capture:!0}});return function(e){var t=e.current;if(i(),ce({client:t,clientRect:r})){n.remove();return}function a(){o(),n.remove()}var o=(0,g.bindAll)(window,[{type:`pointerdown`,listener:a},{type:`pointermove`,listener:a},{type:`focusin`,listener:a},{type:`focusout`,listener:a},{type:`dragstart`,listener:a},{type:`dragenter`,listener:a},{type:`dragover`,listener:a}],{capture:!0})}}function ue(){var e=null;function t(){return e=null,(0,g.bind)(window,{type:`pointermove`,listener:function(t){e={x:t.clientX,y:t.clientY}},options:{capture:!0}})}function n(){var t=null;return function(n){var r=n.eventName,i=n.payload;if(r===`onDragStart`){var a=i.location.initial.input;t=le({initial:e??{x:a.clientX,y:a.clientY}})}if(r===`onDrop`){var o,s=i.location.current.input;(o=t)==null||o({current:{x:s.clientX,y:s.clientY}}),t=null,e=null}}}return{bindEvents:t,getOnPostDispatch:n}}function de(e){if(Array.isArray(e))return u(e)}function fe(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function pe(){throw TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function A(e){return de(e)||fe(e)||d(e)||pe()}var me=w(function(){return navigator.userAgent.includes(`Firefox`)}),j=w(function(){var e=navigator.userAgent;return e.includes(`AppleWebKit`)&&!e.includes(`Chrome`)}),M={isLeavingWindow:Symbol(`leaving`),isEnteringWindow:Symbol(`entering`)};function he(e){var t=e.dragLeave;return j()?t.hasOwnProperty(M.isLeavingWindow):!1}(function(){if(typeof window>`u`||!j())return;function e(){return{enterCount:0,isOverWindow:!1}}var t=e();function n(){t=e()}(0,g.bindAll)(window,[{type:`dragstart`,listener:function(){t.enterCount=0,t.isOverWindow=!0}},{type:`drop`,listener:n},{type:`dragend`,listener:n},{type:`dragenter`,listener:function(e){!t.isOverWindow&&t.enterCount===0&&(e[M.isEnteringWindow]=!0),t.isOverWindow=!0,t.enterCount++}},{type:`dragleave`,listener:function(e){t.enterCount--,t.isOverWindow&&t.enterCount===0&&(e[M.isLeavingWindow]=!0,t.isOverWindow=!1)}}],{capture:!0})})();function ge(e){return`nodeName`in e}function _e(e){return ge(e)&&e.ownerDocument!==document}function ve(e){var t=e.dragLeave,n=t.type,r=t.relatedTarget;return n===`dragleave`?j()?he({dragLeave:t}):r==null?!0:me()?_e(r):r instanceof HTMLIFrameElement:!1}function ye(e){var t=e.onDragEnd;return[{type:`pointermove`,listener:function(){var e=0;return function(){if(e<20){e++;return}t()}}()},{type:`pointerdown`,listener:t}]}function N(e){return{altKey:e.altKey,button:e.button,buttons:e.buttons,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY}}var P=function(e){var t=[],n=null,r=function(){t=[...arguments],!n&&(n=requestAnimationFrame(function(){n=null,e.apply(void 0,t)}))};return r.cancel=function(){n&&=(cancelAnimationFrame(n),null)},r}(function(e){return e()}),F=function(){var e=null;function t(t){e={frameId:requestAnimationFrame(function(){e=null,t()}),fn:t}}function n(){e&&=(cancelAnimationFrame(e.frameId),e.fn(),null)}return{schedule:t,flush:n}}();function be(e){var t=e.source,n=e.initial,r=e.dispatchEvent,i={dropTargets:[]};function a(e){r(e),i={dropTargets:e.payload.location.current.dropTargets}}return{start:function(e){var r=e.nativeSetDragImage,o={current:n,previous:i,initial:n};a({eventName:`onGenerateDragPreview`,payload:{source:t,location:o,nativeSetDragImage:r}}),F.schedule(function(){a({eventName:`onDragStart`,payload:{source:t,location:o}})})},dragUpdate:function(e){var r=e.current;F.flush(),P.cancel(),a({eventName:`onDropTargetChange`,payload:{source:t,location:{initial:n,previous:i,current:r}}})},drag:function(e){var r=e.current;P(function(){F.flush(),a({eventName:`onDrag`,payload:{source:t,location:{initial:n,previous:i,current:r}}})})},drop:function(e){var r=e.current,o=e.updatedSourcePayload;F.flush(),P.cancel(),a({eventName:`onDrop`,payload:{source:o??t,location:{current:r,previous:i,initial:n}}})}}}var I={isActive:!1};function L(){return!I.isActive}function xe(e){return e.dataTransfer?e.dataTransfer.setDragImage.bind(e.dataTransfer):null}function Se(e){var t=e.current,n=e.next;if(t.length!==n.length)return!0;for(var r=0;r0)&&(t.unmount(),B.delete(e.typeKey))}}function V(){var e=[...arguments];return function(){e.forEach(function(e){return e()})}}function H(e,t){var n=t.attribute,r=t.value;return e.setAttribute(n,r),function(){return e.removeAttribute(n)}}function U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function W(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function De(e,t){if(e){if(typeof e==`string`)return K(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?K(e,t):void 0}}function K(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=a.length)return o;for(var s=q(a),l=q(o),u=[],d=0;d=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||n.return==null||n.return()}finally{if(s)throw a}}}}function Ae(e,t){if(e){if(typeof e==`string`)return je(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?je(e,t):void 0}}function je(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);no(r,a,e.getBoundingClientRect()),onGenerateDragPreview({nativeSetDragImage:t,location:n}){let r=e.getBoundingClientRect();$e({getOffset:Ye({element:e,input:n.current.input}),render({container:t}){let n=e.cloneNode(!0);return n.style.width=`${r.width}px`,n.style.height=`${r.height}px`,t.appendChild(n),()=>n.remove()},nativeSetDragImage:t})},onDragStart(){u(r,{type:`is-dragging`})},onDrop(){u(r,Q)}}),He({element:e,getIsSticky:()=>!0,canDrop({source:e}){return s(e.data)&&e.data.instanceId===t},getData({input:t}){return Je(o(r,a,e.getBoundingClientRect()),{element:e,input:t,allowedEdges:i})},onDragEnter({source:e,self:t}){if(!s(e.data)||e.data.id===r)return;let n=Z(t.data);n&&d(r,{type:`is-over`,closestEdge:n,draggingRect:e.data.rect})},onDrag({source:e,self:t}){if(!s(e.data)||e.data.id===r)return;let n=Z(t.data);if(!n)return;let i=p(r);i.type===`is-over`&&i.closestEdge===n||d(r,{type:`is-over`,closestEdge:n,draggingRect:e.data.rect})},onDragLeave({source:e}){if(s(e.data)){if(e.data.id===r){u(r,{type:`is-dragging-and-left-self`});return}d(r,$)}},onDrop(){d(r,$)}}))}function h(){return Ue({canMonitor({source:e}){return s(e.data)&&e.data.instanceId===t},onDrop({location:t,source:n}){let i=t.current.dropTargets[0];if(!i)return;let a=n.data,o=i.data;if(!s(a)||!s(o))return;let c=a.index,l=o.index,u=et({startIndex:c,closestEdgeOfTarget:Z(o),indexOfTarget:l,axis:r});u!==c&&e.onReorder(c,u)}})}return{registerItem:m,getDragState:f,getDropState:p,setupMonitor:h}}var nt=o(t({__name:`DropIndicator`,props:{edge:{},contained:{type:Boolean},inline:{type:Boolean},visible:{type:Boolean}},setup(e){return(t,a)=>e.edge||e.inline?(r(),i(`div`,{key:0,class:n({"drop-indicator":!0,"drop-indicator--contained":e.contained,"drop-indicator--top":e.edge===`top`,"drop-indicator--bottom":e.edge===`bottom`,"drop-indicator--left":e.edge===`left`,"drop-indicator--right":e.edge===`right`,"drop-indicator--horizontal":!e.edge||[`top`,`bottom`].includes(e.edge),"drop-indicator--vertical":e.edge&&[`left`,`right`].includes(e.edge),"drop-indicator--inline":e.inline,"drop-indicator--active":e.visible})},null,2)):s(``,!0)}}),[[`__scopeId`,`data-v-df78a2c1`]]);export{tt as n,nt as t}; \ No newline at end of file diff --git a/resources/build/assets/DropIndicator-DeUiyMkd.css b/resources/build/assets/DropIndicator-DeUiyMkd.css new file mode 100644 index 00000000000..c8e537ef45c --- /dev/null +++ b/resources/build/assets/DropIndicator-DeUiyMkd.css @@ -0,0 +1 @@ +.drop-indicator[data-v-df78a2c1]{background-color:var(--c-color-accent-fill-loud,#2563eb);pointer-events:none;z-index:10;width:2000px;height:.125rem;position:absolute;left:0}.drop-indicator--contained[data-v-df78a2c1]{width:100%}.drop-indicator--inline[data-v-df78a2c1]{background-color:#0000;position:relative;top:auto;bottom:auto}.drop-indicator--active[data-v-df78a2c1]{background-color:var(--c-color-accent-fill-loud,#2563eb)}.drop-indicator--top[data-v-df78a2c1]{top:-1px}.drop-indicator--top.drop-indicator--contained[data-v-df78a2c1]{top:0}.drop-indicator--bottom[data-v-df78a2c1]{bottom:-1px}.drop-indicator--bottom.drop-indicator--contained[data-v-df78a2c1]{bottom:0} diff --git a/resources/build/assets/DynamicHtmlRenderer-C36QxfOD.js b/resources/build/assets/DynamicHtmlRenderer-C36QxfOD.js deleted file mode 100644 index f72c923a083..00000000000 --- a/resources/build/assets/DynamicHtmlRenderer-C36QxfOD.js +++ /dev/null @@ -1 +0,0 @@ -import{E as e,H as t,L as n,_ as r,b as i,y as a}from"./_plugin-vue_export-helper-C3orD-yt.js";var o=e({__name:`DynamicHtmlRenderer`,props:{html:{}},setup(o){let s=o,c=r(()=>e({template:s.html}));return(e,r)=>o.html?(n(),a(t(c.value),{key:0})):i(``,!0)}});export{o as t}; \ No newline at end of file diff --git a/resources/build/assets/DynamicHtmlRenderer-DA7jJP2G.js b/resources/build/assets/DynamicHtmlRenderer-DA7jJP2G.js new file mode 100644 index 00000000000..97c0e651972 --- /dev/null +++ b/resources/build/assets/DynamicHtmlRenderer-DA7jJP2G.js @@ -0,0 +1 @@ +import{D as e,R as t,U as n,b as r,v as i,x as a}from"./_plugin-vue_export-helper-BBgEixrZ.js";var o=e({__name:`DynamicHtmlRenderer`,props:{html:{}},setup(o){let s=o,c=i(()=>e({template:s.html}));return(e,i)=>o.html?(t(),r(n(c.value),{key:0})):a(``,!0)}});export{o as t}; \ No newline at end of file diff --git a/resources/build/assets/EntryTypesController-zMecDXGB.js b/resources/build/assets/EntryTypesController-5B3Ab2tK.js similarity index 98% rename from resources/build/assets/EntryTypesController-zMecDXGB.js rename to resources/build/assets/EntryTypesController-5B3Ab2tK.js index 48abe4e4f78..5b8e86b4b88 100644 --- a/resources/build/assets/EntryTypesController-zMecDXGB.js +++ b/resources/build/assets/EntryTypesController-5B3Ab2tK.js @@ -1 +1 @@ -import{n as e,r as t,t as n}from"./wayfinder-CyAPyHKQ.js";var r=e=>({url:r.url(e),method:`get`});r.definition={methods:[`get`,`head`],url:`/admin/actions/entry-types/table-data`},r.url=t=>r.definition.url+e(t),r.get=e=>({url:r.url(e),method:`get`}),r.head=e=>({url:r.url(e),method:`head`});var i=(e,t)=>({url:i.url(e,t),method:`get`});i.definition={methods:[`get`,`head`],url:`/admin/actions/entry-types/edit/{entryType?}`},i.url=(r,a)=>{(typeof r==`string`||typeof r==`number`)&&(r={entryType:r}),typeof r==`object`&&!Array.isArray(r)&&`id`in r&&(r={entryType:r.id}),Array.isArray(r)&&(r={entryType:r[0]}),r=n(r),t(r,[`entryType`]);let o={entryType:typeof r?.entryType==`object`?r.entryType.id:r?.entryType};return i.definition.url.replace(`{entryType?}`,o.entryType?.toString()??``).replace(/\/+$/,``)+e(a)},i.get=(e,t)=>({url:i.url(e,t),method:`get`}),i.head=(e,t)=>({url:i.url(e,t),method:`head`});var a=(e,t)=>({url:a.url(e,t),method:`get`});a.definition={methods:[`get`,`head`],url:`/admin/settings/entry-types/{entryType}`},a.url=(t,r)=>{(typeof t==`string`||typeof t==`number`)&&(t={entryType:t}),typeof t==`object`&&!Array.isArray(t)&&`id`in t&&(t={entryType:t.id}),Array.isArray(t)&&(t={entryType:t[0]}),t=n(t);let i={entryType:typeof t.entryType==`object`?t.entryType.id:t.entryType};return a.definition.url.replace(`{entryType}`,i.entryType.toString()).replace(/\/+$/,``)+e(r)},a.get=(e,t)=>({url:a.url(e,t),method:`get`}),a.head=(e,t)=>({url:a.url(e,t),method:`head`});var o=e=>({url:o.url(e),method:`get`});o.definition={methods:[`get`,`head`],url:`/admin/actions/entry-types/new`},o.url=t=>o.definition.url+e(t),o.get=e=>({url:o.url(e),method:`get`}),o.head=e=>({url:o.url(e),method:`head`});var s=e=>({url:s.url(e),method:`get`});s.definition={methods:[`get`,`head`],url:`/admin/settings/entry-types/new`},s.url=t=>s.definition.url+e(t),s.get=e=>({url:s.url(e),method:`get`}),s.head=e=>({url:s.url(e),method:`head`});var c={"/admin/actions/entry-types/new":o,"/admin/settings/entry-types/new":s},l=e=>({url:l.url(e),method:`post`});l.definition={methods:[`post`],url:`/admin/actions/entry-types/save`},l.url=t=>l.definition.url+e(t),l.post=e=>({url:l.url(e),method:`post`});var u=e=>({url:u.url(e),method:`post`});u.definition={methods:[`post`],url:`/admin/actions/entry-types/render-override-settings`},u.url=t=>u.definition.url+e(t),u.post=e=>({url:u.url(e),method:`post`});var d=e=>({url:d.url(e),method:`post`});d.definition={methods:[`post`],url:`/admin/actions/entry-types/apply-override-settings`},d.url=t=>d.definition.url+e(t),d.post=e=>({url:d.url(e),method:`post`});var f=e=>({url:f.url(e),method:`get`});f.definition={methods:[`get`,`head`],url:`/admin/settings/entry-types`},f.url=t=>f.definition.url+e(t),f.get=e=>({url:f.url(e),method:`get`}),f.head=e=>({url:f.url(e),method:`head`});var p=(e,t)=>({url:p.url(e,t),method:`delete`});p.definition={methods:[`delete`],url:`/admin/settings/entry-types/{entryType}`},p.url=(t,r)=>{(typeof t==`string`||typeof t==`number`)&&(t={entryType:t}),typeof t==`object`&&!Array.isArray(t)&&`id`in t&&(t={entryType:t.id}),Array.isArray(t)&&(t={entryType:t[0]}),t=n(t);let i={entryType:typeof t.entryType==`object`?t.entryType.id:t.entryType};return p.definition.url.replace(`{entryType}`,i.entryType.toString()).replace(/\/+$/,``)+e(r)},p.delete=(e,t)=>({url:p.url(e,t),method:`delete`});export{u as a,f as i,c as n,p as r,d as t}; \ No newline at end of file +import{n as e,r as t,t as n}from"./wayfinder-ghdHxiwr.js";var r=e=>({url:r.url(e),method:`get`});r.definition={methods:[`get`,`head`],url:`/admin/actions/entry-types/table-data`},r.url=t=>r.definition.url+e(t),r.get=e=>({url:r.url(e),method:`get`}),r.head=e=>({url:r.url(e),method:`head`});var i=(e,t)=>({url:i.url(e,t),method:`get`});i.definition={methods:[`get`,`head`],url:`/admin/actions/entry-types/edit/{entryType?}`},i.url=(r,a)=>{(typeof r==`string`||typeof r==`number`)&&(r={entryType:r}),typeof r==`object`&&!Array.isArray(r)&&`id`in r&&(r={entryType:r.id}),Array.isArray(r)&&(r={entryType:r[0]}),r=n(r),t(r,[`entryType`]);let o={entryType:typeof r?.entryType==`object`?r.entryType.id:r?.entryType};return i.definition.url.replace(`{entryType?}`,o.entryType?.toString()??``).replace(/\/+$/,``)+e(a)},i.get=(e,t)=>({url:i.url(e,t),method:`get`}),i.head=(e,t)=>({url:i.url(e,t),method:`head`});var a=(e,t)=>({url:a.url(e,t),method:`get`});a.definition={methods:[`get`,`head`],url:`/admin/settings/entry-types/{entryType}`},a.url=(t,r)=>{(typeof t==`string`||typeof t==`number`)&&(t={entryType:t}),typeof t==`object`&&!Array.isArray(t)&&`id`in t&&(t={entryType:t.id}),Array.isArray(t)&&(t={entryType:t[0]}),t=n(t);let i={entryType:typeof t.entryType==`object`?t.entryType.id:t.entryType};return a.definition.url.replace(`{entryType}`,i.entryType.toString()).replace(/\/+$/,``)+e(r)},a.get=(e,t)=>({url:a.url(e,t),method:`get`}),a.head=(e,t)=>({url:a.url(e,t),method:`head`});var o=e=>({url:o.url(e),method:`get`});o.definition={methods:[`get`,`head`],url:`/admin/actions/entry-types/new`},o.url=t=>o.definition.url+e(t),o.get=e=>({url:o.url(e),method:`get`}),o.head=e=>({url:o.url(e),method:`head`});var s=e=>({url:s.url(e),method:`get`});s.definition={methods:[`get`,`head`],url:`/admin/settings/entry-types/new`},s.url=t=>s.definition.url+e(t),s.get=e=>({url:s.url(e),method:`get`}),s.head=e=>({url:s.url(e),method:`head`});var c={"/admin/actions/entry-types/new":o,"/admin/settings/entry-types/new":s},l=e=>({url:l.url(e),method:`post`});l.definition={methods:[`post`],url:`/admin/actions/entry-types/save`},l.url=t=>l.definition.url+e(t),l.post=e=>({url:l.url(e),method:`post`});var u=e=>({url:u.url(e),method:`post`});u.definition={methods:[`post`],url:`/admin/actions/entry-types/render-override-settings`},u.url=t=>u.definition.url+e(t),u.post=e=>({url:u.url(e),method:`post`});var d=e=>({url:d.url(e),method:`post`});d.definition={methods:[`post`],url:`/admin/actions/entry-types/apply-override-settings`},d.url=t=>d.definition.url+e(t),d.post=e=>({url:d.url(e),method:`post`});var f=e=>({url:f.url(e),method:`get`});f.definition={methods:[`get`,`head`],url:`/admin/settings/entry-types`},f.url=t=>f.definition.url+e(t),f.get=e=>({url:f.url(e),method:`get`}),f.head=e=>({url:f.url(e),method:`head`});var p=(e,t)=>({url:p.url(e,t),method:`delete`});p.definition={methods:[`delete`],url:`/admin/settings/entry-types/{entryType}`},p.url=(t,r)=>{(typeof t==`string`||typeof t==`number`)&&(t={entryType:t}),typeof t==`object`&&!Array.isArray(t)&&`id`in t&&(t={entryType:t.id}),Array.isArray(t)&&(t={entryType:t[0]}),t=n(t);let i={entryType:typeof t.entryType==`object`?t.entryType.id:t.entryType};return p.definition.url.replace(`{entryType}`,i.entryType.toString()).replace(/\/+$/,``)+e(r)},p.delete=(e,t)=>({url:p.url(e,t),method:`delete`});export{u as a,f as i,c as n,p as r,d as t}; \ No newline at end of file diff --git a/resources/build/assets/GraphQlSchemasPage-y3bEETSj.js b/resources/build/assets/GraphQlSchemasPage-D_0LIUAq.js similarity index 69% rename from resources/build/assets/GraphQlSchemasPage-y3bEETSj.js rename to resources/build/assets/GraphQlSchemasPage-D_0LIUAq.js index 8531cfc56a9..810de3de4a6 100644 --- a/resources/build/assets/GraphQlSchemasPage-y3bEETSj.js +++ b/resources/build/assets/GraphQlSchemasPage-D_0LIUAq.js @@ -1 +1 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{E as t,L as n,T as r,Y as i,dt as a,et as o,k as s,ut as c,w as l,y as u}from"./_plugin-vue_export-helper-C3orD-yt.js";import{l as d,s as f,t as p}from"./AdminTable-BaWDz4rn.js";import{o as m}from"./InlineFlash-Mr7imUWg.js";import{t as h}from"./Pane-CyLhaZAB.js";import{n as g,t as _}from"./wayfinder-CyAPyHKQ.js";import{t as v}from"./DeleteButton-CPJTFImZ.js";import{t as y}from"./createCraftColumnHelper-DQvg7ogx.js";import{t as b}from"./AppLayout-CbgDw9ix.js";var x=e=>({url:x.url(e),method:`post`});x.definition={methods:[`post`],url:`/admin/actions/graphql/save-schema`},x.url=e=>x.definition.url+g(e),x.post=e=>({url:x.url(e),method:`post`});var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/actions/graphql/save-public-schema`},S.url=e=>S.definition.url+g(e),S.post=e=>({url:S.url(e),method:`post`});var C=e=>({url:C.url(e),method:`get`});C.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas`},C.url=e=>C.definition.url+g(e),C.get=e=>({url:C.url(e),method:`get`}),C.head=e=>({url:C.url(e),method:`head`});var w=e=>({url:w.url(e),method:`get`});w.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas/new`},w.url=e=>w.definition.url+g(e),w.get=e=>({url:w.url(e),method:`get`}),w.head=e=>({url:w.url(e),method:`head`});var T=e=>({url:T.url(e),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas/public`},T.url=e=>T.definition.url+g(e),T.get=e=>({url:T.url(e),method:`get`}),T.head=e=>({url:T.url(e),method:`head`});var E=(e,t)=>({url:E.url(e,t),method:`get`});E.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas/{schemaId}`},E.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={schemaId:e}),Array.isArray(e)&&(e={schemaId:e[0]}),e=_(e);let n={schemaId:e.schemaId};return E.definition.url.replace(`{schemaId}`,n.schemaId.toString()).replace(/\/+$/,``)+g(t)},E.get=(e,t)=>({url:E.url(e,t),method:`get`}),E.head=(e,t)=>({url:E.url(e,t),method:`head`});var D=(e,t)=>({url:D.url(e,t),method:`delete`});D.definition={methods:[`delete`],url:`/admin/graphql/schemas/{schemaId}`},D.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={schemaId:e}),Array.isArray(e)&&(e={schemaId:e[0]}),e=_(e);let n={schemaId:e.schemaId};return D.definition.url.replace(`{schemaId}`,n.schemaId.toString()).replace(/\/+$/,``)+g(t)},D.delete=(e,t)=>({url:D.url(e,t),method:`delete`});var O=t({__name:`GraphQlSchemasPage`,props:{schemas:{},readOnly:{type:Boolean}},setup(t){let g=t;function _(t){confirm(e(`Are you sure you want to delete the “{name}” schema?`,{name:t.name}))&&a.delete(D(t.id))}let x=y(),S=f({get columns(){return[x.link(`name`,{props:({row:e})=>({href:e.original.isPublic?T():E(e.original.id).url,inertia:!1}),header:e(`Name`)}),x.display({id:`scope`,header:e(`Scope`),cell:({row:e})=>e.original.scope.join(`, `)}),x.display({id:`public`,header:e(`Public`),cell:({row:e})=>e.original.isPublic?`Yes`:`No`}),x.actions(({row:e})=>[e.original.isPublic?null:s(v,{onClick:()=>_(e.original)})])]},get data(){return g.schemas},state:{get columnVisibility(){return{name:!0,public:!0,actions:!g.readOnly}}},enableSorting:!1,getCoreRowModel:d()});return(t,a)=>(n(),u(b,null,{actions:i(()=>[r(m,{href:c(w).url(),icon:`plus`,inertia:!1,appearance:`button`,variant:`primary`},{default:i(()=>[l(o(c(e)(`New schema`)),1)]),_:1},8,[`href`])]),default:i(()=>[r(h,{padding:0,appearance:`raised`},{default:i(()=>[r(p,{table:c(S)},null,8,[`table`])]),_:1})]),_:1}))}});export{O as default}; \ No newline at end of file +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{A as t,D as n,E as r,R as i,T as a,X as o,b as s,dt as c,ft as l,tt as u}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{c as d,o as f,t as p}from"./AdminTable-TPqS7_4T.js";import{t as m}from"./Pane-C776R7L2.js";import{s as h}from"./InlineFlash-Duhr9n8-.js";import{n as g,t as _}from"./wayfinder-ghdHxiwr.js";import{t as v}from"./DeleteButton-u_rv7O4A.js";import{t as y}from"./createCraftColumnHelper-CPPRJRXc.js";import{t as b}from"./AppLayout-dqX06RZT.js";var x=e=>({url:x.url(e),method:`post`});x.definition={methods:[`post`],url:`/admin/actions/graphql/save-schema`},x.url=e=>x.definition.url+g(e),x.post=e=>({url:x.url(e),method:`post`});var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/actions/graphql/save-public-schema`},S.url=e=>S.definition.url+g(e),S.post=e=>({url:S.url(e),method:`post`});var C=e=>({url:C.url(e),method:`get`});C.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas`},C.url=e=>C.definition.url+g(e),C.get=e=>({url:C.url(e),method:`get`}),C.head=e=>({url:C.url(e),method:`head`});var w=e=>({url:w.url(e),method:`get`});w.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas/new`},w.url=e=>w.definition.url+g(e),w.get=e=>({url:w.url(e),method:`get`}),w.head=e=>({url:w.url(e),method:`head`});var T=e=>({url:T.url(e),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas/public`},T.url=e=>T.definition.url+g(e),T.get=e=>({url:T.url(e),method:`get`}),T.head=e=>({url:T.url(e),method:`head`});var E=(e,t)=>({url:E.url(e,t),method:`get`});E.definition={methods:[`get`,`head`],url:`/admin/graphql/schemas/{schemaId}`},E.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={schemaId:e}),Array.isArray(e)&&(e={schemaId:e[0]}),e=_(e);let n={schemaId:e.schemaId};return E.definition.url.replace(`{schemaId}`,n.schemaId.toString()).replace(/\/+$/,``)+g(t)},E.get=(e,t)=>({url:E.url(e,t),method:`get`}),E.head=(e,t)=>({url:E.url(e,t),method:`head`});var D=(e,t)=>({url:D.url(e,t),method:`delete`});D.definition={methods:[`delete`],url:`/admin/graphql/schemas/{schemaId}`},D.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={schemaId:e}),Array.isArray(e)&&(e={schemaId:e[0]}),e=_(e);let n={schemaId:e.schemaId};return D.definition.url.replace(`{schemaId}`,n.schemaId.toString()).replace(/\/+$/,``)+g(t)},D.delete=(e,t)=>({url:D.url(e,t),method:`delete`});var O=n({__name:`GraphQlSchemasPage`,props:{schemas:{},readOnly:{type:Boolean}},setup(n){let g=n;function _(t){confirm(e(`Are you sure you want to delete the “{name}” schema?`,{name:t.name}))&&l.delete(D(t.id))}let x=y(),S=f({get columns(){return[x.link(`name`,{props:({row:e})=>({href:e.original.isPublic?T():E(e.original.id).url,inertia:!1}),header:e(`Name`)}),x.display({id:`scope`,header:e(`Scope`),cell:({row:e})=>e.original.scope.join(`, `)}),x.display({id:`public`,header:e(`Public`),cell:({row:e})=>e.original.isPublic?`Yes`:`No`}),x.actions(({row:e})=>[e.original.isPublic?null:t(v,{onClick:()=>_(e.original)})])]},get data(){return g.schemas},state:{get columnVisibility(){return{name:!0,public:!0,actions:!g.readOnly}}},enableSorting:!1,getCoreRowModel:d()});return(t,n)=>(i(),s(b,null,{actions:o(()=>[r(h,{href:c(w).url(),icon:`plus`,inertia:!1,appearance:`button`,variant:`primary`},{default:o(()=>[a(u(c(e)(`New schema`)),1)]),_:1},8,[`href`])]),default:o(()=>[r(m,{padding:0,appearance:`raised`},{default:o(()=>[r(p,{table:c(S)},null,8,[`table`])]),_:1})]),_:1}))}});export{O as default}; \ No newline at end of file diff --git a/resources/build/assets/GraphQlTokensPage-6dJ2dGDm.js b/resources/build/assets/GraphQlTokensPage-DGrKC9en.js similarity index 62% rename from resources/build/assets/GraphQlTokensPage-6dJ2dGDm.js rename to resources/build/assets/GraphQlTokensPage-DGrKC9en.js index 927ac4dc24c..ea52ffe3e42 100644 --- a/resources/build/assets/GraphQlTokensPage-6dJ2dGDm.js +++ b/resources/build/assets/GraphQlTokensPage-DGrKC9en.js @@ -1 +1 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{E as t,L as n,T as r,Y as i,dt as a,et as o,k as s,ut as c,w as l,y as u}from"./_plugin-vue_export-helper-C3orD-yt.js";import{l as d,n as f,s as p,t as m}from"./AdminTable-BaWDz4rn.js";import{o as h}from"./InlineFlash-Mr7imUWg.js";import{t as g}from"./Pane-CyLhaZAB.js";import{n as _,t as v}from"./wayfinder-CyAPyHKQ.js";import{t as y}from"./DeleteButton-CPJTFImZ.js";import{t as b}from"./createCraftColumnHelper-DQvg7ogx.js";import{t as x}from"./AppLayout-CbgDw9ix.js";var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/actions/graphql/generate-token`},S.url=e=>S.definition.url+_(e),S.post=e=>({url:S.url(e),method:`post`});var C=e=>({url:C.url(e),method:`post`});C.definition={methods:[`post`],url:`/admin/actions/graphql/save-token`},C.url=e=>C.definition.url+_(e),C.post=e=>({url:C.url(e),method:`post`});var w=e=>({url:w.url(e),method:`post`});w.definition={methods:[`post`],url:`/admin/actions/graphql/fetch-token`},w.url=e=>w.definition.url+_(e),w.post=e=>({url:w.url(e),method:`post`});var T=e=>({url:T.url(e),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/graphql/tokens`},T.url=e=>T.definition.url+_(e),T.get=e=>({url:T.url(e),method:`get`}),T.head=e=>({url:T.url(e),method:`head`});var E=e=>({url:E.url(e),method:`get`});E.definition={methods:[`get`,`head`],url:`/admin/graphql/tokens/new`},E.url=e=>E.definition.url+_(e),E.get=e=>({url:E.url(e),method:`get`}),E.head=e=>({url:E.url(e),method:`head`});var D=(e,t)=>({url:D.url(e,t),method:`get`});D.definition={methods:[`get`,`head`],url:`/admin/graphql/tokens/{tokenId}`},D.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={tokenId:e}),Array.isArray(e)&&(e={tokenId:e[0]}),e=v(e);let n={tokenId:e.tokenId};return D.definition.url.replace(`{tokenId}`,n.tokenId.toString()).replace(/\/+$/,``)+_(t)},D.get=(e,t)=>({url:D.url(e,t),method:`get`}),D.head=(e,t)=>({url:D.url(e,t),method:`head`});var O=(e,t)=>({url:O.url(e,t),method:`delete`});O.definition={methods:[`delete`],url:`/admin/graphql/tokens/{tokenId}`},O.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={tokenId:e}),Array.isArray(e)&&(e={tokenId:e[0]}),e=v(e);let n={tokenId:e.tokenId};return O.definition.url.replace(`{tokenId}`,n.tokenId.toString()).replace(/\/+$/,``)+_(t)},O.delete=(e,t)=>({url:O.url(e,t),method:`delete`});var k=t({__name:`GraphQlTokensPage`,props:{tokens:{},dates:{},readOnly:{type:Boolean}},setup(t){let _=t;function v(t){confirm(e(`Are you sure you want to delete the “{name}” token?`,{name:t.name}))&&a.delete(O(t.id))}let S=b(),C=p({get columns(){return[S.link(`name`,{header:e(`Name`),props:({row:e})=>({href:D(e.original.id).url,inertia:!1})}),S.date(`lastUsed`,{header:e(`Last Used`)}),S.date(`expiryDate`,{header:e(`Expires`)}),S.actions(({row:e})=>[s(y,{onClick:()=>v(e.original)})])]},get data(){return _.tokens},state:{get columnVisibility(){return{name:!0,lastUsed:!0,expiryDate:!0,actions:!_.readOnly}}},enableSorting:!1,getCoreRowModel:d()});return(t,a)=>(n(),u(x,null,{actions:i(()=>[r(h,{href:c(E)().url,icon:`plus`,inertia:!1,appearance:`button`,variant:`primary`},{default:i(()=>[l(o(c(e)(`New token`)),1)]),_:1},8,[`href`])]),default:i(()=>[r(g,{padding:0,appearance:`raised`},{default:i(()=>[r(m,{table:c(C)},{"empty-row":i(()=>[r(f,{label:c(e)(`No GraphQL tokens exist yet.`)},{default:i(()=>[r(h,{href:c(E)().url,icon:`plus`,inertia:!1,appearance:`button`},{default:i(()=>[l(o(c(e)(`New token`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1})]),_:1}))}});export{k as default}; \ No newline at end of file +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{A as t,D as n,E as r,R as i,T as a,X as o,b as s,dt as c,ft as l,tt as u}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{c as d,n as f,o as p,t as m}from"./AdminTable-TPqS7_4T.js";import{t as h}from"./Pane-C776R7L2.js";import{s as g}from"./InlineFlash-Duhr9n8-.js";import{n as _,t as v}from"./wayfinder-ghdHxiwr.js";import{t as y}from"./DeleteButton-u_rv7O4A.js";import{t as b}from"./createCraftColumnHelper-CPPRJRXc.js";import{t as x}from"./AppLayout-dqX06RZT.js";var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/actions/graphql/generate-token`},S.url=e=>S.definition.url+_(e),S.post=e=>({url:S.url(e),method:`post`});var C=e=>({url:C.url(e),method:`post`});C.definition={methods:[`post`],url:`/admin/actions/graphql/save-token`},C.url=e=>C.definition.url+_(e),C.post=e=>({url:C.url(e),method:`post`});var w=e=>({url:w.url(e),method:`post`});w.definition={methods:[`post`],url:`/admin/actions/graphql/fetch-token`},w.url=e=>w.definition.url+_(e),w.post=e=>({url:w.url(e),method:`post`});var T=e=>({url:T.url(e),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/graphql/tokens`},T.url=e=>T.definition.url+_(e),T.get=e=>({url:T.url(e),method:`get`}),T.head=e=>({url:T.url(e),method:`head`});var E=e=>({url:E.url(e),method:`get`});E.definition={methods:[`get`,`head`],url:`/admin/graphql/tokens/new`},E.url=e=>E.definition.url+_(e),E.get=e=>({url:E.url(e),method:`get`}),E.head=e=>({url:E.url(e),method:`head`});var D=(e,t)=>({url:D.url(e,t),method:`get`});D.definition={methods:[`get`,`head`],url:`/admin/graphql/tokens/{tokenId}`},D.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={tokenId:e}),Array.isArray(e)&&(e={tokenId:e[0]}),e=v(e);let n={tokenId:e.tokenId};return D.definition.url.replace(`{tokenId}`,n.tokenId.toString()).replace(/\/+$/,``)+_(t)},D.get=(e,t)=>({url:D.url(e,t),method:`get`}),D.head=(e,t)=>({url:D.url(e,t),method:`head`});var O=(e,t)=>({url:O.url(e,t),method:`delete`});O.definition={methods:[`delete`],url:`/admin/graphql/tokens/{tokenId}`},O.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={tokenId:e}),Array.isArray(e)&&(e={tokenId:e[0]}),e=v(e);let n={tokenId:e.tokenId};return O.definition.url.replace(`{tokenId}`,n.tokenId.toString()).replace(/\/+$/,``)+_(t)},O.delete=(e,t)=>({url:O.url(e,t),method:`delete`});var k=n({__name:`GraphQlTokensPage`,props:{tokens:{},dates:{},readOnly:{type:Boolean}},setup(n){let _=n;function v(t){confirm(e(`Are you sure you want to delete the “{name}” token?`,{name:t.name}))&&l.delete(O(t.id))}let S=b(),C=p({get columns(){return[S.link(`name`,{header:e(`Name`),props:({row:e})=>({href:D(e.original.id).url,inertia:!1})}),S.date(`lastUsed`,{header:e(`Last Used`)}),S.date(`expiryDate`,{header:e(`Expires`)}),S.actions(({row:e})=>[t(y,{onClick:()=>v(e.original)})])]},get data(){return _.tokens},state:{get columnVisibility(){return{name:!0,lastUsed:!0,expiryDate:!0,actions:!_.readOnly}}},enableSorting:!1,getCoreRowModel:d()});return(t,n)=>(i(),s(x,null,{actions:o(()=>[r(g,{href:c(E)().url,icon:`plus`,inertia:!1,appearance:`button`,variant:`primary`},{default:o(()=>[a(u(c(e)(`New token`)),1)]),_:1},8,[`href`])]),default:o(()=>[r(h,{padding:0,appearance:`raised`},{default:o(()=>[r(m,{table:c(C)},{"empty-row":o(()=>[r(f,{label:c(e)(`No GraphQL tokens exist yet.`)},{default:o(()=>[r(g,{href:c(E)().url,icon:`plus`,inertia:!1,appearance:`button`},{default:o(()=>[a(u(c(e)(`New token`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1})]),_:1}))}});export{k as default}; \ No newline at end of file diff --git a/resources/build/assets/IndexLayout-B0w7rMLf.js b/resources/build/assets/IndexLayout-B0w7rMLf.js deleted file mode 100644 index 40f211ef55e..00000000000 --- a/resources/build/assets/IndexLayout-B0w7rMLf.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{$ as t,B as n,E as r,G as i,L as a,O as o,Q as s,S as c,Y as l,_ as u,at as d,b as f,et as p,q as m,t as h,ut as g,v as _,w as v,x as y,y as b,z as x}from"./_plugin-vue_export-helper-C3orD-yt.js";import{r as S}from"./dist-oC9Sbb9R.js";import{t as C}from"./AppLayout-CbgDw9ix.js";var w={class:`index-grid`},T=[`aria-label`],E=[`aria-expanded`],D=[`name`],O={key:1,id:`nav-container`},k={id:`content-pane`,class:`bg-white border border-neutral-border-quiet rounded-sm shadow-sm @container`,tabindex:`-1`},A=h(r({__name:`IndexLayout`,props:{title:{},debug:{},fullWidth:{type:Boolean},form:{},formActions:{},additionalSkipLinks:{}},setup(r){let h=i(),A=S(`(min-width: 768px)`),j=d(`expanded`),M=u(()=>{let{default:e,...t}=h;return t}),N=u(()=>j.value===`expanded`?e(`Hide sidebar`):e(`Show sidebar`));function P(){j.value=j.value===`expanded`?`collapsed`:`expanded`}let F=[{label:e(`Skip to secondary navigation`),url:`#secondary-nav`},{label:e(`Skip to content`),url:`#content-pane`}];return m(A,e=>{j.value=e?`expanded`:`collapsed`},{immediate:!0}),(i,u)=>(a(),b(C,{"full-width":!0,title:r.title,debug:r.debug,"additional-skip-links":F},c({default:l(()=>[_(`div`,w,[_(`nav`,{id:`secondary-nav`,"aria-label":g(e)(`Secondary`),tabindex:`-1`},[g(A)?f(``,!0):(a(),y(`craft-button`,{key:0,type:`button`,"aria-controls":`nav-container`,"aria-expanded":j.value===`expanded`,onClick:P,align:`start`,class:`text-sm py-0 min-h-0`},[_(`craft-icon`,{slot:`suffix`,name:j.value===`expanded`?`chevron-up`:`chevron-down`,style:t({fontSize:`0.8em`,position:`relative`,insetBlockStart:j.value===`expanded`?`1px`:0})},null,12,D),v(` `+p(N.value),1)],8,E)),j.value===`expanded`?(a(),y(`div`,O,[n(i.$slots,`interior-nav`,{state:j.value},void 0,!0)])):f(``,!0)],8,T),_(`div`,k,[n(i.$slots,`default`,{},void 0,!0)])])]),_:2},[x(M.value,(e,t)=>({name:t,fn:l(e=>[n(i.$slots,t,s(o(e||{})),void 0,!0)])}))]),1032,[`title`,`debug`]))}}),[[`__scopeId`,`data-v-f3500eec`]]);export{A as t}; \ No newline at end of file diff --git a/resources/build/assets/IndexLayout-C2GDwLPK.js b/resources/build/assets/IndexLayout-C2GDwLPK.js new file mode 100644 index 00000000000..44662c41b60 --- /dev/null +++ b/resources/build/assets/IndexLayout-C2GDwLPK.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{$ as t,B as n,C as r,D as i,J as a,K as o,R as s,S as c,T as l,V as u,X as d,b as f,dt as p,et as m,k as h,ot as g,t as _,tt as v,v as y,x as b,y as x}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{r as S}from"./dist-BM1n-Nbt.js";import{t as C}from"./AppLayout-dqX06RZT.js";var w={class:`index-grid`},T=[`aria-label`],E=[`aria-expanded`],D=[`name`],O={key:1,id:`nav-container`},k={id:`content-pane`,class:`bg-white border border-neutral-border-quiet rounded-sm shadow-sm @container`,tabindex:`-1`},A=_(i({__name:`IndexLayout`,props:{title:{},debug:{},fullWidth:{type:Boolean},form:{},formActions:{},additionalSkipLinks:{}},setup(i){let _=o(),A=S(`(min-width: 768px)`),j=g(`expanded`),M=y(()=>{let{default:e,...t}=_;return t}),N=y(()=>j.value===`expanded`?e(`Hide sidebar`):e(`Show sidebar`));function P(){j.value=j.value===`expanded`?`collapsed`:`expanded`}let F=[{label:e(`Skip to secondary navigation`),url:`#secondary-nav`},{label:e(`Skip to content`),url:`#content-pane`}];return a(A,e=>{j.value=e?`expanded`:`collapsed`},{immediate:!0}),(a,o)=>(s(),f(C,{"full-width":!0,title:i.title,debug:i.debug,"additional-skip-links":F},r({default:d(()=>[x(`div`,w,[x(`nav`,{id:`secondary-nav`,"aria-label":p(e)(`Secondary`),tabindex:`-1`},[p(A)?b(``,!0):(s(),c(`craft-button`,{key:0,type:`button`,"aria-controls":`nav-container`,"aria-expanded":j.value===`expanded`,onClick:P,align:`start`,class:`text-sm py-0 min-h-0`},[x(`craft-icon`,{slot:`suffix`,name:j.value===`expanded`?`chevron-up`:`chevron-down`,style:m({fontSize:`0.8em`,position:`relative`,insetBlockStart:j.value===`expanded`?`1px`:0})},null,12,D),l(` `+v(N.value),1)],8,E)),j.value===`expanded`?(s(),c(`div`,O,[u(a.$slots,`interior-nav`,{state:j.value},void 0,!0)])):b(``,!0)],8,T),x(`div`,k,[u(a.$slots,`default`,{},void 0,!0)])])]),_:2},[n(M.value,(e,n)=>({name:n,fn:d(e=>[u(a.$slots,n,t(h(e||{})),void 0,!0)])}))]),1032,[`title`,`debug`]))}}),[[`__scopeId`,`data-v-f3500eec`]]);export{A as t}; \ No newline at end of file diff --git a/resources/build/assets/InlineFlash-4-sftK6M.css b/resources/build/assets/InlineFlash-4-sftK6M.css new file mode 100644 index 00000000000..1771b1ae0fa --- /dev/null +++ b/resources/build/assets/InlineFlash-4-sftK6M.css @@ -0,0 +1 @@ +.cp-link[data-v-e0a6c612]{gap:var(--c-spacing-sm);align-items:center;text-decoration:none}.cp-link--button[data-v-e0a6c612]{cursor:pointer;font:inherit;border-radius:var(--c-button-radius,var(--c-radius-sm));padding-inline:var(--c-button-spacing-inline,var(--c-spacing-md));width:auto;min-height:var(--c-button-height,var(--c-size-control-md));min-width:var(--c-button-width,var(--c-size-control-md));white-space:nowrap;color:var(--c-color-on-loud,var(--c-color-neutral-on-loud));border-width:var(--c-button-border-width,1px);border-style:var(--c-button-border-style,solid);border-color:var(--c-color-border-loud,var(--c-color-neutral-border-loud));background-color:var(--c-color-fill-loud,var(--c-color-neutral-fill-loud));padding-block:0}@media (hover:hover){.cp-link--button[data-v-e0a6c612] :host(:hover){background-color:color-mix(in oklab, var(--c-color-fill-loud,var(--c-button-default-fill)), var(--c-color-mix-hover));color:var(--c-color-on-loud);border-color:var(--c-color-border-loud)}}.cp-link--button.cp-link--zero[data-v-e0a6c612]{min-width:0;min-height:0;padding-inline:0}.cp-link--button.cp-link--small[data-v-e0a6c612]{padding-inline:var(--c-spacing-sm);min-width:var(--c-size-control-sm);min-height:var(--c-size-control-sm);font-size:.9em}.cp-link--button.cp-link--large[data-v-e0a6c612]{padding-inline:var(--c-spacing-lg);min-height:var(--c-size-control-lg);min-width:var(--c-size-control-lg)}.cp-link--default[data-v-e0a6c612]{--c-color-fill-loud:var(--c-color-neutral-fill-loud);--c-color-fill-normal:var(--c-color-neutral-fill-normal);--c-color-fill-quiet:var(--c-color-neutral-fill-quiet);--c-color-border-loud:var(--c-color-neutral-border-loud);--c-color-border-normal:var(--c-color-neutral-border-normal);--c-color-border-quiet:var(--c-color-neutral-border-quiet);--c-color-on-loud:var(--c-color-neutral-on-loud);--c-color-on-normal:var(--c-color-neutral-on-normal);--c-color-on-quiet:var(--c-color-neutral-on-quiet)}.cp-link--primary[data-v-e0a6c612]{--c-color-fill-loud:var(--c-color-brand-fill-loud);--c-color-fill-normal:var(--c-color-brand-fill-normal);--c-color-fill-quiet:var(--c-color-brand-fill-quiet);--c-color-border-loud:var(--c-color-brand-border-loud);--c-color-border-normal:var(--c-color-brand-border-normal);--c-color-border-quiet:var(--c-color-brand-border-quiet);--c-color-on-loud:var(--c-color-brand-on-loud);--c-color-on-normal:var(--c-color-brand-on-normal);--c-color-on-quiet:var(--c-color-brand-on-quiet)}.cp-link--danger[data-v-e0a6c612]{--c-color-fill-loud:var(--c-color-danger-fill-loud);--c-color-fill-normal:var(--c-color-danger-fill-normal);--c-color-fill-quiet:var(--c-color-danger-fill-quiet);--c-color-border-loud:var(--c-color-danger-border-loud);--c-color-border-normal:var(--c-color-danger-border-normal);--c-color-border-quiet:var(--c-color-danger-border-quiet);--c-color-on-loud:var(--c-color-danger-on-loud);--c-color-on-normal:var(--c-color-danger-on-normal);--c-color-on-quiet:var(--c-color-danger-on-quiet)}pre[data-v-db798251]{padding:var(--c-spacing-md);border:1px solid var(--color-slate-400);background-color:var(--color-slate-50);border-radius:var(--c-radius-md);font-size:.7rem;overflow:auto}.fade-enter-active[data-v-623c0700],.fade-leave-active[data-v-623c0700]{transition:opacity .2s}.fade-enter-from[data-v-623c0700],.fade-leave-to[data-v-623c0700]{opacity:0} diff --git a/resources/build/assets/InlineFlash-BC5xxX1u.css b/resources/build/assets/InlineFlash-BC5xxX1u.css deleted file mode 100644 index 4952f583ef9..00000000000 --- a/resources/build/assets/InlineFlash-BC5xxX1u.css +++ /dev/null @@ -1 +0,0 @@ -pre[data-v-db798251]{padding:var(--c-spacing-md);border:1px solid var(--color-slate-400);background-color:var(--color-slate-50);border-radius:var(--c-radius-md);font-size:.7rem;overflow:auto}.cp-link[data-v-e0a6c612]{gap:var(--c-spacing-sm);align-items:center;text-decoration:none}.cp-link--button[data-v-e0a6c612]{cursor:pointer;font:inherit;border-radius:var(--c-button-radius,var(--c-radius-sm));padding-inline:var(--c-button-spacing-inline,var(--c-spacing-md));width:auto;min-height:var(--c-button-height,var(--c-size-control-md));min-width:var(--c-button-width,var(--c-size-control-md));white-space:nowrap;color:var(--c-color-on-loud,var(--c-color-neutral-on-loud));border-width:var(--c-button-border-width,1px);border-style:var(--c-button-border-style,solid);border-color:var(--c-color-border-loud,var(--c-color-neutral-border-loud));background-color:var(--c-color-fill-loud,var(--c-color-neutral-fill-loud));padding-block:0}@media (hover:hover){.cp-link--button[data-v-e0a6c612] :host(:hover){background-color:color-mix(in oklab, var(--c-color-fill-loud,var(--c-button-default-fill)), var(--c-color-mix-hover));color:var(--c-color-on-loud);border-color:var(--c-color-border-loud)}}.cp-link--button.cp-link--zero[data-v-e0a6c612]{min-width:0;min-height:0;padding-inline:0}.cp-link--button.cp-link--small[data-v-e0a6c612]{padding-inline:var(--c-spacing-sm);min-width:var(--c-size-control-sm);min-height:var(--c-size-control-sm);font-size:.9em}.cp-link--button.cp-link--large[data-v-e0a6c612]{padding-inline:var(--c-spacing-lg);min-height:var(--c-size-control-lg);min-width:var(--c-size-control-lg)}.cp-link--default[data-v-e0a6c612]{--c-color-fill-loud:var(--c-color-neutral-fill-loud);--c-color-fill-normal:var(--c-color-neutral-fill-normal);--c-color-fill-quiet:var(--c-color-neutral-fill-quiet);--c-color-border-loud:var(--c-color-neutral-border-loud);--c-color-border-normal:var(--c-color-neutral-border-normal);--c-color-border-quiet:var(--c-color-neutral-border-quiet);--c-color-on-loud:var(--c-color-neutral-on-loud);--c-color-on-normal:var(--c-color-neutral-on-normal);--c-color-on-quiet:var(--c-color-neutral-on-quiet)}.cp-link--primary[data-v-e0a6c612]{--c-color-fill-loud:var(--c-color-brand-fill-loud);--c-color-fill-normal:var(--c-color-brand-fill-normal);--c-color-fill-quiet:var(--c-color-brand-fill-quiet);--c-color-border-loud:var(--c-color-brand-border-loud);--c-color-border-normal:var(--c-color-brand-border-normal);--c-color-border-quiet:var(--c-color-brand-border-quiet);--c-color-on-loud:var(--c-color-brand-on-loud);--c-color-on-normal:var(--c-color-brand-on-normal);--c-color-on-quiet:var(--c-color-brand-on-quiet)}.cp-link--danger[data-v-e0a6c612]{--c-color-fill-loud:var(--c-color-danger-fill-loud);--c-color-fill-normal:var(--c-color-danger-fill-normal);--c-color-fill-quiet:var(--c-color-danger-fill-quiet);--c-color-border-loud:var(--c-color-danger-border-loud);--c-color-border-normal:var(--c-color-danger-border-normal);--c-color-border-quiet:var(--c-color-danger-border-quiet);--c-color-on-loud:var(--c-color-danger-on-loud);--c-color-on-normal:var(--c-color-danger-on-normal);--c-color-on-quiet:var(--c-color-danger-on-quiet)}.fade-enter-active[data-v-623c0700],.fade-leave-active[data-v-623c0700]{transition:opacity .2s}.fade-enter-from[data-v-623c0700],.fade-leave-to[data-v-623c0700]{opacity:0} diff --git a/resources/build/assets/InlineFlash-Duhr9n8-.js b/resources/build/assets/InlineFlash-Duhr9n8-.js new file mode 100644 index 00000000000..6b0af8399de --- /dev/null +++ b/resources/build/assets/InlineFlash-Duhr9n8-.js @@ -0,0 +1 @@ +import{$ as e,D as t,Q as n,R as r,S as i,V as a,X as o,b as s,dt as c,k as l,l as u,o as d,ot as f,t as p,tt as m,u as h,v as g,x as _,y as v}from"./_plugin-vue_export-helper-BBgEixrZ.js";var y={class:`flex gap-1 items-center`},b=[`name`],x=[`href`],S={class:`flex gap-1 items-center`},C=[`name`],w=p(t({__name:`CpLink`,props:{as:{},onClick:{},component:{},data:{},method:{},replace:{type:Boolean},preserveScroll:{type:[Boolean,String,Function]},preserveState:{type:[Boolean,String,Function]},preserveUrl:{type:Boolean},only:{},except:{},headers:{},queryStringArrayFormat:{},async:{type:Boolean},viewTransition:{type:[Boolean,Function]},onCancelToken:{},onBefore:{},onBeforeUpdate:{},onStart:{},onProgress:{},onFinish:{},onCancel:{},onSuccess:{},onError:{},onHttpException:{},onNetworkError:{},onFlash:{},onPrefetched:{},onPrefetching:{},href:{},instant:{type:Boolean},pageProps:{},prefetch:{type:[Boolean,String,Array]},cacheFor:{},cacheTags:{},variant:{default:`default`},size:{default:`medium`},appearance:{default:`inline`},icon:{},block:{type:Boolean,default:!1},inertia:{type:Boolean,default:!0}},setup(e){let t=e,l=g(()=>({block:t.block,"inline-flex":!t.block,"cp-link":!0,"cp-link--zero":t.size===`zero`,"cp-link--small":t.size===`small`,"cp-link--medium":t.size===`medium`,"cp-link--large":t.size===`large`,"cp-link--inline":t.appearance===`inline`,"cp-link--button":t.appearance===`button`,"cp-link--default":t.variant===`default`,"cp-link--primary":t.variant===`primary`,"cp-link--danger":t.variant===`danger`})),u=g(()=>typeof t.href==`string`?t.href:t.href?.url);return(t,f)=>e.inertia?(r(),s(c(d),{key:0,as:e.as,href:e.href,class:n(l.value)},{default:o(()=>[v(`div`,y,[e.icon?(r(),i(`craft-icon`,{key:0,name:e.icon},null,8,b)):_(``,!0),a(t.$slots,`default`,{},void 0,!0)])]),_:3},8,[`as`,`href`,`class`])):(r(),i(`a`,{key:1,href:u.value,class:n(l.value)},[v(`div`,S,[e.icon?(r(),i(`craft-icon`,{key:0,name:e.icon},null,8,C)):_(``,!0),a(t.$slots,`default`,{},void 0,!0)])],10,x))}}),[[`__scopeId`,`data-v-e0a6c612`]]),T=f({success:null,error:null});function E(e={duration:2e3}){e.initialMessages&&(T.value=c(e.initialMessages));function t(e,t,n={}){let{duration:r=n.duration??5e3}=n;T.value[e]=t,r!==-1&&setTimeout(()=>{T.value[e]=null},r)}function n(e){T.value[e]=null}function r(){T.value={success:null,error:null}}return{flash:t,clear:n,clearAll:r,messages:T}}var D=p(t({__name:`VarDump`,props:{data:{}},setup(t){return(n,a)=>(r(),i(`pre`,e(l(n.$attrs)),m(JSON.stringify(t.data,null,2)),17))}}),[[`__scopeId`,`data-v-db798251`]]),O={};function k(e,t){return r(),s(h,{name:`fade`},{default:o(()=>[a(e.$slots,`default`,{},void 0,!0)]),_:3})}var A=p(O,[[`render`,k],[`__scopeId`,`data-v-623c0700`]]),j=f(null),M=f(0);function N(e={}){function t(t){t&&(M.value&&clearTimeout(M.value),j.value=t,M.value=setTimeout(()=>{j.value=null},e.timeout||5e3))}return{announcement:j,announce:t}}function P(){let e=u(),t=g(()=>e.props.flash);return{flash:t,successFlash:g(()=>t.value.success),errorFlash:g(()=>t.value.error)}}var F={key:0,variant:`success`,appearance:`plain`,icon:`circle-check`,inline:``,class:`p-0`},I={key:1,variant:`danger`,appearance:`plain`,icon:`triangle-exclamation`,inline:``,class:`p-0`},L=t({__name:`InlineFlash`,props:{isActive:{type:Boolean,default:!1}},setup(e){let{successFlash:t,errorFlash:n}=P();return(a,l)=>(r(),s(A,null,{default:o(()=>[e.isActive&&c(t)?(r(),i(`craft-callout`,F,m(c(t)),1)):_(``,!0),e.isActive&&c(n)?(r(),i(`craft-callout`,I,m(c(n)),1)):_(``,!0)]),_:1}))}});export{D as a,A as i,P as n,E as o,N as r,w as s,L as t}; \ No newline at end of file diff --git a/resources/build/assets/InlineFlash-Mr7imUWg.js b/resources/build/assets/InlineFlash-Mr7imUWg.js deleted file mode 100644 index a7044305340..00000000000 --- a/resources/build/assets/InlineFlash-Mr7imUWg.js +++ /dev/null @@ -1 +0,0 @@ -import{B as e,E as t,L as n,O as r,Q as i,Y as a,Z as o,_ as s,at as c,b as l,et as u,l as d,o as f,t as p,u as m,ut as h,v as g,x as _,y as v}from"./_plugin-vue_export-helper-C3orD-yt.js";var y=p(t({__name:`VarDump`,props:{data:{}},setup(e){return(t,a)=>(n(),_(`pre`,i(r(t.$attrs)),u(JSON.stringify(e.data,null,2)),17))}}),[[`__scopeId`,`data-v-db798251`]]),b={class:`flex gap-1 items-center`},x=[`name`],S=[`href`],C={class:`flex gap-1 items-center`},w=[`name`],T=p(t({__name:`CpLink`,props:{as:{},onClick:{},component:{},data:{},method:{},replace:{type:Boolean},preserveScroll:{type:[Boolean,String,Function]},preserveState:{type:[Boolean,String,Function]},preserveUrl:{type:Boolean},only:{},except:{},headers:{},queryStringArrayFormat:{},async:{type:Boolean},viewTransition:{type:[Boolean,Function]},onCancelToken:{},onBefore:{},onBeforeUpdate:{},onStart:{},onProgress:{},onFinish:{},onCancel:{},onSuccess:{},onError:{},onHttpException:{},onNetworkError:{},onFlash:{},onPrefetched:{},onPrefetching:{},href:{},instant:{type:Boolean},pageProps:{},prefetch:{type:[Boolean,String,Array]},cacheFor:{},cacheTags:{},variant:{default:`default`},size:{default:`medium`},appearance:{default:`inline`},icon:{},block:{type:Boolean,default:!1},inertia:{type:Boolean,default:!0}},setup(t){let r=t,i=s(()=>({block:r.block,"inline-flex":!r.block,"cp-link":!0,"cp-link--zero":r.size===`zero`,"cp-link--small":r.size===`small`,"cp-link--medium":r.size===`medium`,"cp-link--large":r.size===`large`,"cp-link--inline":r.appearance===`inline`,"cp-link--button":r.appearance===`button`,"cp-link--default":r.variant===`default`,"cp-link--primary":r.variant===`primary`,"cp-link--danger":r.variant===`danger`})),c=s(()=>typeof r.href==`string`?r.href:r.href?.url);return(r,s)=>t.inertia?(n(),v(h(f),{key:0,as:t.as,href:t.href,class:o(i.value)},{default:a(()=>[g(`div`,b,[t.icon?(n(),_(`craft-icon`,{key:0,name:t.icon},null,8,x)):l(``,!0),e(r.$slots,`default`,{},void 0,!0)])]),_:3},8,[`as`,`href`,`class`])):(n(),_(`a`,{key:1,href:c.value,class:o(i.value)},[g(`div`,C,[t.icon?(n(),_(`craft-icon`,{key:0,name:t.icon},null,8,w)):l(``,!0),e(r.$slots,`default`,{},void 0,!0)])],10,S))}}),[[`__scopeId`,`data-v-e0a6c612`]]),E=c({success:null,error:null});function D(e={duration:2e3}){e.initialMessages&&(E.value=h(e.initialMessages));function t(e,t,n={}){let{duration:r=n.duration??5e3}=n;E.value[e]=t,r!==-1&&setTimeout(()=>{E.value[e]=null},r)}function n(e){E.value[e]=null}function r(){E.value={success:null,error:null}}return{flash:t,clear:n,clearAll:r,messages:E}}var O={};function k(t,r){return n(),v(m,{name:`fade`},{default:a(()=>[e(t.$slots,`default`,{},void 0,!0)]),_:3})}var A=p(O,[[`render`,k],[`__scopeId`,`data-v-623c0700`]]),j=c(null),M=c(0);function N(e={}){function t(t){t&&(M.value&&clearTimeout(M.value),j.value=t,M.value=setTimeout(()=>{j.value=null},e.timeout||5e3))}return{announcement:j,announce:t}}function P(){let e=d(),t=s(()=>e.props.flash);return{flash:t,successFlash:s(()=>t.value.success),errorFlash:s(()=>t.value.error)}}var F={key:0,variant:`success`,appearance:`plain`,icon:`circle-check`,inline:``,class:`p-0`},I={key:1,variant:`danger`,appearance:`plain`,icon:`triangle-exclamation`,inline:``,class:`p-0`},L=t({__name:`InlineFlash`,props:{isActive:{type:Boolean,default:!1}},setup(e){let{successFlash:t,errorFlash:r}=P();return(i,o)=>(n(),v(A,null,{default:a(()=>[e.isActive&&h(t)?(n(),_(`craft-callout`,F,u(h(t)),1)):l(``,!0),e.isActive&&h(r)?(n(),_(`craft-callout`,I,u(h(r)),1)):l(``,!0)]),_:1}))}});export{D as a,A as i,P as n,T as o,N as r,y as s,L as t}; \ No newline at end of file diff --git a/resources/build/assets/InputCombobox--l4XmuRi.js b/resources/build/assets/InputCombobox--l4XmuRi.js new file mode 100644 index 00000000000..7a47025daeb --- /dev/null +++ b/resources/build/assets/InputCombobox--l4XmuRi.js @@ -0,0 +1,4 @@ +import{$ as e,A as t,B as n,D as r,E as i,F as a,I as o,J as s,L as c,M as l,P as u,Q as d,R as f,S as p,T as m,V as h,X as g,Y as _,_ as v,at as y,b,ct as x,dt as S,et as C,h as w,it as T,ot as E,q as D,st as O,t as k,tt as A,ut as j,v as M,x as ee,y as N,z as P}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{a as te,c as F,d as ne,f as I,i as re,l as L,m as R,n as z,o as B,p as V,r as ie,s as ae,t as H,u as U}from"./keyboard-F5bz-jCP.js";function W(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o;n.key&&n.debug?.call(n)&&(o=Date.now());let s=e();if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug?.call(n)&&(c=Date.now()),i=t(...s),n.key&&n.debug?.call(n)){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length{r=e},o}function oe(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var se=(e,t)=>Math.abs(e-t)<1.01,ce=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},le=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},ue=e=>e,de=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),r=[];for(let e=t;e<=n;e++)r.push(e);return r},fe=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(le(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(le(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},pe={passive:!0},me=typeof window>`u`?!0:`onscrollend`in window,he=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=0,a=e.options.useScrollendEvent&&me?()=>void 0:ce(r,()=>{t(i,!1)},e.options.isScrollingResetDelay),o=r=>()=>{let{horizontal:o,isRtl:s}=e.options;i=o?n.scrollLeft*(s&&-1||1):n.scrollTop,a(),t(i,r)},s=o(!0),c=o(!1);n.addEventListener(`scroll`,s,pe);let l=e.options.useScrollendEvent&&me;return l&&n.addEventListener(`scrollend`,c,pe),()=>{n.removeEventListener(`scroll`,s),l&&n.removeEventListener(`scrollend`,c)}},ge=(e,t,n)=>{if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},_e=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;let o=e+t;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:o,behavior:n})},ve=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.currentScrollToIndex=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{this._measureElement(e.target,e)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([t,n])=>{n===void 0&&delete e[t]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:ue,rangeExtractor:de,onChange:()=>{},measureElement:ge,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...e}},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=W(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.ende.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=W(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(e,t,n,r,i,a)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a}),{key:!1}),this.getMeasurements=W(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a},o)=>{if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let s=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1);let c=this.measurementsCache.slice(0,s),l=Array(a).fill(void 0);for(let e=0;e1){s=a;let e=l[s],r=e===void 0?void 0:c[e];u=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?c[i-1]:this.getFurthestMeasurement(c,i);u=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(i,s)}let d=o.get(e),f=typeof d==`number`?d:this.options.estimateSize(i),p=u+f;c[i]={index:i,start:u,size:f,end:p,key:e,lane:s},l[s]=i}return this.measurementsCache=c,c},{key:!1,debug:()=>this.options.debug}),this.calculateRange=W(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>this.range=e.length>0&&t>0?be({measurements:e,outerSize:t,scrollOffset:n,lanes:r}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=W(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this._measureElement=(e,t)=>{let n=this.indexFromElement(e),r=this.measurementsCache[n];if(!r)return;let i=r.key,a=this.elementsCache.get(i);a!==e&&(a&&this.observer.unobserve(a),this.observer.observe(e),this.elementsCache.set(i,e)),e.isConnected&&this.resizeItem(n,this.options.measureElement(e,t,this))},this.resizeItem=(e,t)=>{let n=this.measurementsCache[e];if(!n)return;let r=t-(this.itemSizeCache.get(n.key)??n.size);r!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange===void 0?n.start{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}this._measureElement(e,void 0)},this.getVirtualItems=W(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;rthis.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length!==0)return oe(t[ye(0,t.length-1,e=>oe(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.measurementsCache[e];if(!n)return;let r=this.getSize(),i=this.getScrollOffset();if(t===`auto`)if(n.end>=i+r-this.options.scrollPaddingEnd)t=`end`;else if(n.start<=i+this.options.scrollPaddingStart)t=`start`;else return[i,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?n.end+this.options.scrollPaddingEnd:n.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,n.size),t]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(e,{align:t=`start`,behavior:n}={})=>{n===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(e,t),{adjustments:void 0,behavior:n})},this.scrollToIndex=(e,{align:t=`auto`,behavior:n}={})=>{n===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),e=Math.max(0,Math.min(e,this.options.count-1)),this.currentScrollToIndex=e;let r=0,i=t=>{if(!this.targetWindow)return;let r=this.getOffsetForIndex(e,t);if(!r){console.warn(`Failed to get offset for index:`,e);return}let[i,o]=r;this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.targetWindow.requestAnimationFrame(()=>{let t=()=>{if(this.currentScrollToIndex!==e)return;let t=this.getScrollOffset(),n=this.getOffsetForIndex(e,o);if(!n){console.warn(`Failed to get offset for index:`,e);return}se(n[0],t)||a(o)};this.isDynamicMode()?this.targetWindow.requestAnimationFrame(t):t()})},a=t=>{this.targetWindow&&this.currentScrollToIndex===e&&(r++,r<10?this.targetWindow.requestAnimationFrame(()=>i(t)):console.warn(`Failed to scroll to index ${e} after 10 attempts.`))};i(t)},this.scrollBy=(e,{behavior:t}={})=>{t===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+e,{adjustments:void 0,behavior:t})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1)t=e[e.length-1]?.end??0;else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(e)}},ye=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(ar)t=i-1;else return i}return e>0?e-1:0};function be({measurements:e,outerSize:t,scrollOffset:n,lanes:r}){let i=e.length-1,a=t=>e[t].start;if(e.length<=r)return{startIndex:0,endIndex:i};let o=ye(0,i,a,n),s=o;if(r===1)for(;s1){let a=Array(r).fill(0);for(;se=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(i,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}function xe(e){let t=new ve(S(e)),n=O(t),r=t._didMount();return s(()=>S(e).getScrollElement(),e=>{e&&t._willUpdate()},{immediate:!0}),s(()=>S(e),e=>{t.setOptions({...e,onChange:(t,r)=>{var i;j(n),(i=e.onChange)==null||i.call(e,t,r)}}),t._willUpdate(),j(n)},{immediate:!0}),T(r),n}function Se(e){return xe(M(()=>({observeElementRect:fe,observeElementOffset:he,scrollToFn:_e,...S(e)})))}function Ce(e,t,n){let r=E(n?.value),i=M(()=>e.value!==void 0);return[M(()=>i.value?e.value:r.value),function(e){return i.value||(r.value=e),t?.(e)}]}function we(e){typeof queueMicrotask==`function`?queueMicrotask(e):Promise.resolve().then(e).catch(e=>setTimeout(()=>{throw e}))}function G(){let e=[],t={addEventListener(e,n,r,i){return e.addEventListener(n,r,i),t.add(()=>e.removeEventListener(n,r,i))},requestAnimationFrame(...e){let n=requestAnimationFrame(...e);t.add(()=>cancelAnimationFrame(n))},nextFrame(...e){t.requestAnimationFrame(()=>{t.requestAnimationFrame(...e)})},setTimeout(...e){let n=setTimeout(...e);t.add(()=>clearTimeout(n))},microTask(...e){let n={current:!0};return we(()=>{n.current&&e[0]()}),t.add(()=>{n.current=!1})},style(e,t,n){let r=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:n}),this.add(()=>{Object.assign(e.style,{[t]:r})})},group(e){let t=G();return e(t),this.add(()=>t.dispose())},add(t){return e.push(t),()=>{let n=e.indexOf(t);if(n>=0)for(let t of e.splice(n,1))t()}},dispose(){for(let t of e.splice(0))t()}};return t}function Te(){let e=G();return c(()=>e.dispose()),e}function Ee(){let e=Te();return t=>{e.dispose(),e.nextFrame(t)}}var De=Object.defineProperty,Oe=(e,t,n)=>t in e?De(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ke=(e,t,n)=>(Oe(e,typeof t==`symbol`?t:t+``,n),n),K=new class{constructor(){ke(this,`current`,this.detect()),ke(this,`currentId`,0)}set(e){this.current!==e&&(this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===`server`}get isClient(){return this.current===`client`}detect(){return typeof window>`u`||typeof document>`u`?`server`:`client`}};function Ae(e){if(K.isServer)return null;if(e instanceof Node)return e.ownerDocument;if(e!=null&&e.hasOwnProperty(`value`)){let t=V(e);if(t)return t.ownerDocument}return document}var je=[`[contentEditable=true]`,`[tabindex]`,`a[href]`,`area[href]`,`button:not([disabled])`,`iframe`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`].map(e=>`${e}:not([tabindex='-1'])`).join(`,`),Me=(e=>(e[e.First=1]=`First`,e[e.Previous=2]=`Previous`,e[e.Next=4]=`Next`,e[e.Last=8]=`Last`,e[e.WrapAround=16]=`WrapAround`,e[e.NoScroll=32]=`NoScroll`,e))(Me||{}),Ne=(e=>(e[e.Error=0]=`Error`,e[e.Overflow=1]=`Overflow`,e[e.Success=2]=`Success`,e[e.Underflow=3]=`Underflow`,e))(Ne||{}),Pe=(e=>(e[e.Previous=-1]=`Previous`,e[e.Next=1]=`Next`,e))(Pe||{}),Fe=(e=>(e[e.Strict=0]=`Strict`,e[e.Loose=1]=`Loose`,e))(Fe||{});function Ie(e,t=0){return e===Ae(e)?.body?!1:I(t,{0(){return e.matches(je)},1(){let t=e;for(;t!==null;){if(t.matches(je))return!0;t=t.parentElement}return!1}})}var Le=(e=>(e[e.Keyboard=0]=`Keyboard`,e[e.Mouse=1]=`Mouse`,e))(Le||{});typeof window<`u`&&typeof document<`u`&&(document.addEventListener(`keydown`,e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=``)},!0),document.addEventListener(`click`,e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=``)},!0)),[`textarea`,`input`].join(`,`);function Re(e,t=e=>e){return e.slice().sort((e,n)=>{let r=t(e),i=t(n);if(r===null||i===null)return 0;let a=r.compareDocumentPosition(i);return a&Node.DOCUMENT_POSITION_FOLLOWING?-1:a&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function ze(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function Be(){return/Android/gi.test(window.navigator.userAgent)}function Ve(){return ze()||Be()}function q(e,t,n){K.isServer||_(r=>{document.addEventListener(e,t,n),r(()=>document.removeEventListener(e,t,n))})}function He(e,t,n){K.isServer||_(r=>{window.addEventListener(e,t,n),r(()=>window.removeEventListener(e,t,n))})}function Ue(e,t,n=M(()=>!0)){function r(r,i){if(!n.value||r.defaultPrevented)return;let a=i(r);if(a===null||!a.getRootNode().contains(a))return;let o=function e(t){return typeof t==`function`?e(t()):Array.isArray(t)||t instanceof Set?t:[t]}(e);for(let e of o){if(e===null)continue;let t=e instanceof HTMLElement?e:V(e);if(t!=null&&t.contains(a)||r.composed&&r.composedPath().includes(t))return}return!Ie(a,Fe.Loose)&&a.tabIndex!==-1&&r.preventDefault(),t(r,a)}let i=E(null);q(`pointerdown`,e=>{n.value&&(i.value=e.composedPath?.call(e)?.[0]||e.target)},!0),q(`mousedown`,e=>{n.value&&(i.value=e.composedPath?.call(e)?.[0]||e.target)},!0),q(`click`,e=>{Ve()||(i.value&&=(r(e,()=>i.value),null))},!0),q(`touchend`,e=>r(e,()=>e.target instanceof HTMLElement?e.target:null),!0),He(`blur`,e=>r(e,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}function We(e){return[e.screenX,e.screenY]}function Ge(){let e=E([-1,-1]);return{wasMoved(t){let n=We(t);return e.value[0]===n[0]&&e.value[1]===n[1]?!1:(e.value=n,!0)},update(t){e.value=We(t)}}}function Ke({container:e,accept:t,walk:n,enabled:r}){_(()=>{let i=e.value;if(!i||r!==void 0&&!r.value)return;let a=Ae(e);if(!a)return;let o=Object.assign(e=>t(e),{acceptNode:t}),s=a.createTreeWalker(i,NodeFilter.SHOW_ELEMENT,o,!1);for(;s.nextNode();)n(s.currentNode)})}var qe=(e=>(e[e.None=1]=`None`,e[e.Focusable=2]=`Focusable`,e[e.Hidden=4]=`Hidden`,e))(qe||{}),Je=r({name:`Hidden`,props:{as:{type:[Object,String],default:`div`},features:{type:Number,default:1}},setup(e,{slots:t,attrs:n}){return()=>{let{features:r,...i}=e;return B({ourProps:{"aria-hidden":(r&2)==2?!0:i[`aria-hidden`]??void 0,hidden:(r&4)==4?!0:void 0,style:{position:`fixed`,top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`,...(r&4)==4&&(r&2)!=2&&{display:`none`}}},theirProps:i,slot:{},attrs:n,slots:t,name:`Hidden`})}}}),Ye=(e=>(e[e.Left=0]=`Left`,e[e.Right=2]=`Right`,e))(Ye||{});function Xe(e){function t(){document.readyState!==`loading`&&(e(),document.removeEventListener(`DOMContentLoaded`,t))}typeof window<`u`&&typeof document<`u`&&(document.addEventListener(`DOMContentLoaded`,t),t())}var J=[];Xe(()=>{function e(e){e.target instanceof HTMLElement&&e.target!==document.body&&J[0]!==e.target&&(J.unshift(e.target),J=J.filter(e=>e!=null&&e.isConnected),J.splice(10))}window.addEventListener(`click`,e,{capture:!0}),window.addEventListener(`mousedown`,e,{capture:!0}),window.addEventListener(`focus`,e,{capture:!0}),document.body.addEventListener(`click`,e,{capture:!0}),document.body.addEventListener(`mousedown`,e,{capture:!0}),document.body.addEventListener(`focus`,e,{capture:!0})});function Ze(e){throw Error(`Unexpected object: `+e)}var Y=(e=>(e[e.First=0]=`First`,e[e.Previous=1]=`Previous`,e[e.Next=2]=`Next`,e[e.Last=3]=`Last`,e[e.Specific=4]=`Specific`,e[e.Nothing=5]=`Nothing`,e))(Y||{});function Qe(e,t){let n=t.resolveItems();if(n.length<=0)return null;let r=t.resolveActiveIndex(),i=r??-1;switch(e.focus){case 0:for(let e=0;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 2:for(let e=i+1;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 4:for(let r=0;r(e[e.Open=0]=`Open`,e[e.Closed=1]=`Closed`,e))(rt||{}),it=(e=>(e[e.Single=0]=`Single`,e[e.Multi=1]=`Multi`,e))(it||{}),at=(e=>(e[e.Pointer=0]=`Pointer`,e[e.Focus=1]=`Focus`,e[e.Other=2]=`Other`,e))(at||{}),ot=Symbol(`ComboboxContext`);function X(e){let t=l(ot,null);if(t===null){let t=Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,X),t}return t}var st=Symbol(`VirtualContext`),ct=r({name:`VirtualProvider`,setup(e,{slots:n}){let r=X(`VirtualProvider`),i=M(()=>{let e=V(r.optionsRef);if(!e)return{start:0,end:0};let t=window.getComputedStyle(e);return{start:parseFloat(t.paddingBlockStart||t.paddingTop),end:parseFloat(t.paddingBlockEnd||t.paddingBottom)}}),a=Se(M(()=>({scrollPaddingStart:i.value.start,scrollPaddingEnd:i.value.end,count:r.virtual.value.options.length,estimateSize(){return 40},getScrollElement(){return V(r.optionsRef)},overscan:12}))),o=M(()=>r.virtual.value?.options),c=E(0);return s([o],()=>{c.value+=1}),P(st,r.virtual.value?a:null),()=>[t(`div`,{style:{position:`relative`,width:`100%`,height:`${a.value.getTotalSize()}px`},ref:e=>{if(e){if(typeof process<`u`&&{}.JEST_WORKER_ID!==void 0||r.activationTrigger.value===0)return;r.activeOptionIndex.value!==null&&r.virtual.value.options.length>r.activeOptionIndex.value&&a.value.scrollToIndex(r.activeOptionIndex.value)}}},a.value.getVirtualItems().map(e=>v(n.default({option:r.virtual.value.options[e.index],open:r.comboboxState.value===0})[0],{key:`${c.value}-${e.index}`,"data-index":e.index,"aria-setsize":r.virtual.value.options.length,"aria-posinset":e.index+1,style:{position:`absolute`,top:0,left:0,transform:`translateY(${e.start}px)`,overflowAnchor:`none`}})))]}}),lt=r({name:`Combobox`,emits:{"update:modelValue":e=>!0},props:{as:{type:[Object,String],default:`template`},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],nullable:!0,default:null},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},nullable:{type:Boolean,default:!1},multiple:{type:[Boolean],default:!1},immediate:{type:[Boolean],default:!1},virtual:{type:Object,default:null}},inheritAttrs:!1,setup(e,{slots:n,attrs:r,emit:i}){let a=E(1),c=E(null),l=E(null),u=E(null),d=E(null),f=E({static:!1,hold:!1}),p=E([]),m=E(null),h=E(2),g=E(!1);function _(e=e=>e){let t=m.value===null?null:p.value[m.value],n=e(p.value.slice()),r=n.length>0&&n[0].dataRef.order.value!==null?n.sort((e,t)=>e.dataRef.order.value-t.dataRef.order.value):Re(n,e=>V(e.dataRef.domRef)),i=t?r.indexOf(t):null;return i===-1&&(i=null),{options:r,activeOptionIndex:i}}let v=M(()=>+!!e.multiple),b=M(()=>e.nullable),[S,C]=Ce(M(()=>e.modelValue),e=>i(`update:modelValue`,e),M(()=>e.defaultValue)),T=M(()=>S.value===void 0?I(v.value,{1:[],0:void 0}):S.value),D=null,O=null;function k(e){return I(v.value,{0(){return C?.(e)},1:()=>{let t=x(A.value.value).slice(),n=x(e),r=t.findIndex(e=>A.compare(n,x(e)));return r===-1?t.push(n):t.splice(r,1),C?.(t)}})}s([M(()=>{})],([e],[t])=>{if(A.virtual.value&&e&&t&&m.value!==null){let n=e.indexOf(t[m.value]);n===-1?m.value=null:m.value=n}});let A={comboboxState:a,value:T,mode:v,compare(t,n){if(typeof e.by==`string`){let r=e.by;return t?.[r]===n?.[r]}return e.by===null?nt(t,n):e.by(t,n)},calculateIndex(t){return A.virtual.value?e.by===null?A.virtual.value.options.indexOf(t):A.virtual.value.options.findIndex(e=>A.compare(e,t)):p.value.findIndex(e=>A.compare(e.dataRef.value,t))},defaultValue:M(()=>e.defaultValue),nullable:b,immediate:M(()=>!1),virtual:M(()=>null),inputRef:l,labelRef:c,buttonRef:u,optionsRef:d,disabled:M(()=>e.disabled),options:p,change(e){C(e)},activeOptionIndex:M(()=>{if(g.value&&m.value===null&&(A.virtual.value?A.virtual.value.options.length>0:p.value.length>0)){if(A.virtual.value){let e=A.virtual.value.options.findIndex(e=>{var t;return!((t=A.virtual.value)!=null&&t.disabled(e))});if(e!==-1)return e}let e=p.value.findIndex(e=>!e.dataRef.disabled);if(e!==-1)return e}return m.value}),activationTrigger:h,optionsPropsRef:f,closeCombobox(){g.value=!1,!e.disabled&&a.value!==1&&(a.value=1,m.value=null)},openCombobox(){if(g.value=!0,!e.disabled&&a.value!==0){if(A.value.value){let e=A.calculateIndex(A.value.value);e!==-1&&(m.value=e)}a.value=0}},setActivationTrigger(e){h.value=e},goToOption(t,n,r){g.value=!1,D!==null&&cancelAnimationFrame(D),D=requestAnimationFrame(()=>{if(e.disabled||d.value&&!f.value.static&&a.value===1)return;if(A.virtual.value){m.value=t===Y.Specific?n:Qe({focus:t},{resolveItems:()=>A.virtual.value.options,resolveActiveIndex:()=>A.activeOptionIndex.value??A.virtual.value.options.findIndex(e=>{var t;return!((t=A.virtual.value)!=null&&t.disabled(e))})??null,resolveDisabled:e=>A.virtual.value.disabled(e),resolveId(){throw Error(`Function not implemented.`)}}),h.value=r??2;return}let i=_();if(i.activeOptionIndex===null){let e=i.options.findIndex(e=>!e.dataRef.disabled);e!==-1&&(i.activeOptionIndex=e)}m.value=t===Y.Specific?n:Qe({focus:t},{resolveItems:()=>i.options,resolveActiveIndex:()=>i.activeOptionIndex,resolveId:e=>e.id,resolveDisabled:e=>e.dataRef.disabled}),h.value=r??2,p.value=i.options})},selectOption(e){let t=p.value.find(t=>t.id===e);if(!t)return;let{dataRef:n}=t;k(n.value)},selectActiveOption(){if(A.activeOptionIndex.value!==null){if(A.virtual.value)k(A.virtual.value.options[A.activeOptionIndex.value]);else{let{dataRef:e}=p.value[A.activeOptionIndex.value];k(e.value)}A.goToOption(Y.Specific,A.activeOptionIndex.value)}},registerOption(e,t){let n=y({id:e,dataRef:t});if(A.virtual.value){p.value.push(n);return}O&&cancelAnimationFrame(O);let r=_(e=>(e.push(n),e));m.value===null&&A.isSelected(t.value.value)&&(r.activeOptionIndex=r.options.indexOf(n)),p.value=r.options,m.value=r.activeOptionIndex,h.value=2,r.options.some(e=>!V(e.dataRef.domRef))&&(O=requestAnimationFrame(()=>{let e=_();p.value=e.options,m.value=e.activeOptionIndex}))},unregisterOption(e,t){if(D!==null&&cancelAnimationFrame(D),t&&(g.value=!0),A.virtual.value){p.value=p.value.filter(t=>t.id!==e);return}let n=_(t=>{let n=t.findIndex(t=>t.id===e);return n!==-1&&t.splice(n,1),t});p.value=n.options,m.value=n.activeOptionIndex,h.value=2},isSelected(e){return I(v.value,{0:()=>A.compare(x(A.value.value),x(e)),1:()=>x(A.value.value).some(t=>A.compare(x(t),x(e)))})},isActive(e){return m.value===A.calculateIndex(e)}};Ue([l,u,d],()=>A.closeCombobox(),M(()=>a.value===0)),P(ot,A),te(M(()=>I(a.value,{0:z.Open,1:z.Closed})));let j=M(()=>V(l)?.closest(`form`));return o(()=>{s([j],()=>{if(!j.value||e.defaultValue===void 0)return;function t(){A.change(e.defaultValue)}return j.value.addEventListener(`reset`,t),()=>{var e;(e=j.value)==null||e.removeEventListener(`reset`,t)}},{immediate:!0})}),()=>{let{name:i,disabled:o,form:s,...c}=e,l={open:a.value===0,disabled:o,activeIndex:A.activeOptionIndex.value,activeOption:A.activeOptionIndex.value===null?null:A.virtual.value?A.virtual.value.options[A.activeOptionIndex.value??0]:A.options.value[A.activeOptionIndex.value]?.dataRef.value??null,value:T.value};return t(w,[...i!=null&&T.value!=null?$e({[i]:T.value}).map(([e,n])=>t(Je,ae({features:qe.Hidden,key:e,as:`input`,type:`hidden`,hidden:!0,readOnly:!0,form:s,disabled:o,name:e,value:n}))):[],B({theirProps:{...r,...U(c,[`by`,`defaultValue`,`immediate`,`modelValue`,`multiple`,`nullable`,`onUpdate:modelValue`,`virtual`])},ourProps:{},slot:l,slots:n,attrs:r,name:`Combobox`})])}}});r({name:`ComboboxLabel`,props:{as:{type:[Object,String],default:`label`},id:{type:String,default:null}},setup(e,{attrs:t,slots:n}){let r=e.id??`headlessui-combobox-label-${R()}`,i=X(`ComboboxLabel`);function a(){var e;(e=V(i.inputRef))==null||e.focus({preventScroll:!0})}return()=>{let o={open:i.comboboxState.value===0,disabled:i.disabled.value},{...s}=e;return B({ourProps:{id:r,ref:i.labelRef,onClick:a},theirProps:s,slot:o,attrs:t,slots:n,name:`ComboboxLabel`})}}});var ut=r({name:`ComboboxButton`,props:{as:{type:[Object,String],default:`button`},id:{type:String,default:null}},setup(e,{attrs:t,slots:n,expose:r}){let i=e.id??`headlessui-combobox-button-${R()}`,o=X(`ComboboxButton`);r({el:o.buttonRef,$el:o.buttonRef});function s(e){o.disabled.value||(o.comboboxState.value===0?o.closeCombobox():(e.preventDefault(),o.openCombobox()),a(()=>V(o.inputRef)?.focus({preventScroll:!0})))}function c(e){switch(e.key){case H.ArrowDown:e.preventDefault(),e.stopPropagation(),o.comboboxState.value===1&&o.openCombobox(),a(()=>o.inputRef.value?.focus({preventScroll:!0}));return;case H.ArrowUp:e.preventDefault(),e.stopPropagation(),o.comboboxState.value===1&&(o.openCombobox(),a(()=>{o.value.value||o.goToOption(Y.Last)})),a(()=>o.inputRef.value?.focus({preventScroll:!0}));return;case H.Escape:if(o.comboboxState.value!==0)return;e.preventDefault(),o.optionsRef.value&&!o.optionsPropsRef.value.static&&e.stopPropagation(),o.closeCombobox(),a(()=>o.inputRef.value?.focus({preventScroll:!0}));return}}let l=ne(M(()=>({as:e.as,type:t.type})),o.buttonRef);return()=>{let r={open:o.comboboxState.value===0,disabled:o.disabled.value,value:o.value.value},{...a}=e;return B({ourProps:{ref:o.buttonRef,id:i,type:l.value,tabindex:`-1`,"aria-haspopup":`listbox`,"aria-controls":V(o.optionsRef)?.id,"aria-expanded":o.comboboxState.value===0,"aria-labelledby":o.labelRef.value?[V(o.labelRef)?.id,i].join(` `):void 0,disabled:o.disabled.value===!0?!0:void 0,onKeydown:c,onClick:s},theirProps:a,slot:r,attrs:t,slots:n,name:`ComboboxButton`})}}}),dt=r({name:`ComboboxInput`,props:{as:{type:[Object,String],default:`input`},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},displayValue:{type:Function},defaultValue:{type:String,default:void 0},id:{type:String,default:null}},emits:{change:e=>!0},setup(e,{emit:t,attrs:n,slots:r,expose:i}){let c=e.id??`headlessui-combobox-input-${R()}`,l=X(`ComboboxInput`),u=M(()=>Ae(V(l.inputRef))),d={value:!1};i({el:l.inputRef,$el:l.inputRef});function f(){l.change(null);let e=V(l.optionsRef);e&&(e.scrollTop=0),l.goToOption(Y.Nothing)}let p=M(()=>{let t=l.value.value;return V(l.inputRef)?e.displayValue!==void 0&&t!==void 0?e.displayValue(t)??``:typeof t==`string`?t:``:``});o(()=>{s([p,l.comboboxState,u],([e,t],[n,r])=>{if(d.value)return;let i=V(l.inputRef);i&&((r===0&&t===1||e!==n)&&(i.value=e),requestAnimationFrame(()=>{if(d.value||!i||u.value?.activeElement!==i)return;let{selectionStart:e,selectionEnd:t}=i;Math.abs((t??0)-(e??0))===0&&e===0&&i.setSelectionRange(i.value.length,i.value.length)}))},{immediate:!0}),s([l.comboboxState],([e],[t])=>{if(e===0&&t===1){if(d.value)return;let e=V(l.inputRef);if(!e)return;let t=e.value,{selectionStart:n,selectionEnd:r,selectionDirection:i}=e;e.value=``,e.value=t,i===null?e.setSelectionRange(n,r):e.setSelectionRange(n,r,i)}})});let m=E(!1);function h(){m.value=!0}function g(){G().nextFrame(()=>{m.value=!1})}let _=Ee();function v(e){switch(d.value=!0,_(()=>{d.value=!1}),e.key){case H.Enter:if(d.value=!1,l.comboboxState.value!==0||m.value)return;if(e.preventDefault(),e.stopPropagation(),l.activeOptionIndex.value===null){l.closeCombobox();return}l.selectActiveOption(),l.mode.value===0&&l.closeCombobox();break;case H.ArrowDown:return d.value=!1,e.preventDefault(),e.stopPropagation(),I(l.comboboxState.value,{0:()=>l.goToOption(Y.Next),1:()=>l.openCombobox()});case H.ArrowUp:return d.value=!1,e.preventDefault(),e.stopPropagation(),I(l.comboboxState.value,{0:()=>l.goToOption(Y.Previous),1:()=>{l.openCombobox(),a(()=>{l.value.value||l.goToOption(Y.Last)})}});case H.Home:if(e.shiftKey)break;return d.value=!1,e.preventDefault(),e.stopPropagation(),l.goToOption(Y.First);case H.PageUp:return d.value=!1,e.preventDefault(),e.stopPropagation(),l.goToOption(Y.First);case H.End:if(e.shiftKey)break;return d.value=!1,e.preventDefault(),e.stopPropagation(),l.goToOption(Y.Last);case H.PageDown:return d.value=!1,e.preventDefault(),e.stopPropagation(),l.goToOption(Y.Last);case H.Escape:if(d.value=!1,l.comboboxState.value!==0)return;e.preventDefault(),l.optionsRef.value&&!l.optionsPropsRef.value.static&&e.stopPropagation(),l.nullable.value&&l.mode.value===0&&l.value.value===null&&f(),l.closeCombobox();break;case H.Tab:if(d.value=!1,l.comboboxState.value!==0)return;l.mode.value===0&&l.activationTrigger.value!==1&&l.selectActiveOption(),l.closeCombobox();break}}function y(e){t(`change`,e),l.nullable.value&&l.mode.value===0&&e.target.value===``&&f(),l.openCombobox()}function b(e){var t,n;let r=e.relatedTarget??J.find(t=>t!==e.currentTarget);if(d.value=!1,!((t=V(l.optionsRef))!=null&&t.contains(r))&&!((n=V(l.buttonRef))!=null&&n.contains(r))&&l.comboboxState.value===0)return e.preventDefault(),l.mode.value===0&&(l.nullable.value&&l.value.value===null?f():l.activationTrigger.value!==1&&l.selectActiveOption()),l.closeCombobox()}function x(e){var t,n;let r=e.relatedTarget??J.find(t=>t!==e.currentTarget);(t=V(l.buttonRef))!=null&&t.contains(r)||(n=V(l.optionsRef))!=null&&n.contains(r)||l.disabled.value||l.immediate.value&&l.comboboxState.value!==0&&(l.openCombobox(),G().nextFrame(()=>{l.setActivationTrigger(1)}))}let S=M(()=>e.defaultValue??(l.defaultValue.value===void 0?null:e.displayValue?.call(e,l.defaultValue.value))??l.defaultValue.value??``);return()=>{let t={open:l.comboboxState.value===0},{displayValue:i,onChange:a,...o}=e;return B({ourProps:{"aria-controls":l.optionsRef.value?.id,"aria-expanded":l.comboboxState.value===0,"aria-activedescendant":l.activeOptionIndex.value===null?void 0:l.virtual.value?l.options.value.find(e=>!l.virtual.value.disabled(e.dataRef.value)&&l.compare(e.dataRef.value,l.virtual.value.options[l.activeOptionIndex.value]))?.id:l.options.value[l.activeOptionIndex.value]?.id,"aria-labelledby":V(l.labelRef)?.id??V(l.buttonRef)?.id,"aria-autocomplete":`list`,id:c,onCompositionstart:h,onCompositionend:g,onKeydown:v,onInput:y,onFocus:x,onBlur:b,role:`combobox`,type:n.type??`text`,tabIndex:0,ref:l.inputRef,defaultValue:S.value,disabled:l.disabled.value===!0?!0:void 0},theirProps:o,slot:t,attrs:n,slots:r,features:F.RenderStrategy|F.Static,name:`ComboboxInput`})}}}),ft=r({name:`ComboboxOptions`,props:{as:{type:[Object,String],default:`ul`},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},hold:{type:[Boolean],default:!1}},setup(e,{attrs:n,slots:r,expose:i}){let a=X(`ComboboxOptions`),o=`headlessui-combobox-options-${R()}`;i({el:a.optionsRef,$el:a.optionsRef}),_(()=>{a.optionsPropsRef.value.static=e.static}),_(()=>{a.optionsPropsRef.value.hold=e.hold});let s=ie(),c=M(()=>s===null?a.comboboxState.value===0:(s.value&z.Open)===z.Open);Ke({container:M(()=>V(a.optionsRef)),enabled:M(()=>a.comboboxState.value===0),accept(e){return e.getAttribute(`role`)===`option`?NodeFilter.FILTER_REJECT:e.hasAttribute(`role`)?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(e){e.setAttribute(`role`,`none`)}});function l(e){e.preventDefault()}return()=>{let i={open:a.comboboxState.value===0};return B({ourProps:{"aria-labelledby":V(a.labelRef)?.id??V(a.buttonRef)?.id,id:o,ref:a.optionsRef,role:`listbox`,"aria-multiselectable":a.mode.value===1?!0:void 0,onMousedown:l},theirProps:U(e,[`hold`]),slot:i,attrs:n,slots:a.virtual.value&&a.comboboxState.value===0?{...r,default:()=>[t(ct,{},r.default)]}:r,features:F.RenderStrategy|F.Static,visible:c.value,name:`ComboboxOptions`})}}}),pt=r({name:`ComboboxOption`,props:{as:{type:[Object,String],default:`li`},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},order:{type:[Number],default:null}},setup(e,{slots:t,attrs:n,expose:r}){let i=X(`ComboboxOption`),s=`headlessui-combobox-option-${R()}`,u=E(null),d=M(()=>e.disabled);r({el:u,$el:u});let f=M(()=>i.virtual.value?i.activeOptionIndex.value===i.calculateIndex(e.value):i.activeOptionIndex.value===null?!1:i.options.value[i.activeOptionIndex.value]?.id===s),p=M(()=>i.isSelected(e.value)),m=l(st,null),h=M(()=>({disabled:e.disabled,value:e.value,domRef:u,order:M(()=>e.order)}));o(()=>i.registerOption(s,h)),c(()=>i.unregisterOption(s,f.value)),_(()=>{let e=V(u);e&&m?.value.measureElement(e)}),_(()=>{i.comboboxState.value===0&&f.value&&(i.virtual.value||i.activationTrigger.value!==0&&a(()=>{var e;return((e=V(u))?.scrollIntoView)?.call(e,{block:`nearest`})}))});function g(e){e.preventDefault(),e.button===Ye.Left&&(d.value||(i.selectOption(s),Ve()||requestAnimationFrame(()=>V(i.inputRef)?.focus({preventScroll:!0})),i.mode.value===0&&i.closeCombobox()))}function v(){var t;if(e.disabled||(t=i.virtual.value)!=null&&t.disabled(e.value))return i.goToOption(Y.Nothing);let n=i.calculateIndex(e.value);i.goToOption(Y.Specific,n)}let y=Ge();function b(e){y.update(e)}function x(t){var n;if(!y.wasMoved(t)||e.disabled||(n=i.virtual.value)!=null&&n.disabled(e.value)||f.value)return;let r=i.calculateIndex(e.value);i.goToOption(Y.Specific,r,0)}function S(t){var n;y.wasMoved(t)&&(e.disabled||(n=i.virtual.value)!=null&&n.disabled(e.value)||f.value&&(i.optionsPropsRef.value.hold||i.goToOption(Y.Nothing)))}return()=>{let{disabled:r}=e,i={active:f.value,selected:p.value,disabled:r};return B({ourProps:{id:s,ref:u,role:`option`,tabIndex:r===!0?void 0:-1,"aria-disabled":r===!0?!0:void 0,"aria-selected":p.value,disabled:void 0,onMousedown:g,onFocus:v,onPointerenter:b,onMouseenter:b,onPointermove:x,onMousemove:x,onPointerleave:S,onMouseleave:S},theirProps:U(e,[`order`,`value`]),slot:i,attrs:n,slots:t,name:`ComboboxOption`})}}});function mt(e){let t={called:!1};return(...n)=>{if(!t.called)return t.called=!0,e(...n)}}function ht(e,...t){e&&t.length>0&&e.classList.add(...t)}function Z(e,...t){e&&t.length>0&&e.classList.remove(...t)}var gt=(e=>(e.Finished=`finished`,e.Cancelled=`cancelled`,e))(gt||{});function _t(e,t){let n=G();if(!e)return n.dispose;let{transitionDuration:r,transitionDelay:i}=getComputedStyle(e),[a,o]=[r,i].map(e=>{let[t=0]=e.split(`,`).filter(Boolean).map(e=>e.includes(`ms`)?parseFloat(e):parseFloat(e)*1e3).sort((e,t)=>t-e);return t});return a===0?t(`finished`):n.setTimeout(()=>t(`finished`),a+o),n.add(()=>t(`cancelled`)),n.dispose}function vt(e,t,n,r,i,a){let o=G(),s=a===void 0?()=>{}:mt(a);return Z(e,...i),ht(e,...t,...n),o.nextFrame(()=>{Z(e,...n),ht(e,...r),o.add(_t(e,n=>(Z(e,...r,...t),ht(e,...i),s(n))))}),o.add(()=>Z(e,...t,...n,...r,...i)),o.add(()=>s(`cancelled`)),o.dispose}function Q(e=``){return e.split(/\s+/).filter(e=>e.length>1)}var yt=Symbol(`TransitionContext`),bt=(e=>(e.Visible=`visible`,e.Hidden=`hidden`,e))(bt||{});function xt(){return l(yt,null)!==null}function St(){let e=l(yt,null);if(e===null)throw Error(`A is used but it is missing a parent .`);return e}function Ct(){let e=l(wt,null);if(e===null)throw Error(`A is used but it is missing a parent .`);return e}var wt=Symbol(`NestingContext`);function $(e){return`children`in e?$(e.children):e.value.filter(({state:e})=>e===`visible`).length>0}function Tt(e){let t=E([]),n=E(!1);o(()=>n.value=!0),c(()=>n.value=!1);function r(r,i=L.Hidden){let a=t.value.findIndex(({id:e})=>e===r);a!==-1&&(I(i,{[L.Unmount](){t.value.splice(a,1)},[L.Hidden](){t.value[a].state=`hidden`}}),!$(t)&&n.value&&e?.())}function i(e){let n=t.value.find(({id:t})=>t===e);return n?n.state!==`visible`&&(n.state=`visible`):t.value.push({id:e,state:`visible`}),()=>r(e,L.Unmount)}return{children:t,register:i,unregister:r}}var Et=F.RenderStrategy,Dt=r({props:{as:{type:[Object,String],default:`div`},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:``},enterFrom:{type:[String],default:``},enterTo:{type:[String],default:``},entered:{type:[String],default:``},leave:{type:[String],default:``},leaveFrom:{type:[String],default:``},leaveTo:{type:[String],default:``}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:n,attrs:r,slots:i,expose:a}){let l=E(0);function u(){l.value|=z.Opening,n(`beforeEnter`)}function f(){l.value&=~z.Opening,n(`afterEnter`)}function p(){l.value|=z.Closing,n(`beforeLeave`)}function m(){l.value&=~z.Closing,n(`afterLeave`)}if(!xt()&&re())return()=>t(Ot,{...e,onBeforeEnter:u,onAfterEnter:f,onBeforeLeave:p,onAfterLeave:m},i);let h=E(null),g=M(()=>e.unmount?L.Unmount:L.Hidden);a({el:h,$el:h});let{show:v,appear:y}=St(),{register:b,unregister:x}=Ct(),S=E(v.value?`visible`:`hidden`),C={value:!0},w=R(),T={value:!1},D=Tt(()=>{!T.value&&S.value!==`hidden`&&(S.value=`hidden`,x(w),m())});o(()=>{c(b(w))}),_(()=>{if(g.value===L.Hidden&&w){if(v.value&&S.value!==`visible`){S.value=`visible`;return}I(S.value,{hidden:()=>x(w),visible:()=>b(w)})}});let O=Q(e.enter),k=Q(e.enterFrom),A=Q(e.enterTo),j=Q(e.entered),ee=Q(e.leave),N=Q(e.leaveFrom),F=Q(e.leaveTo);o(()=>{_(()=>{if(S.value===`visible`){let e=V(h);if(e instanceof Comment&&e.data===``)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")}})});function ne(e){let t=C.value&&!y.value,n=V(h);!n||!(n instanceof HTMLElement)||t||(T.value=!0,v.value&&u(),v.value||p(),e(v.value?vt(n,O,k,A,j,e=>{T.value=!1,e===gt.Finished&&f()}):vt(n,ee,N,F,j,e=>{T.value=!1,e===gt.Finished&&($(D)||(S.value=`hidden`,x(w),m()))})))}return o(()=>{s([v],(e,t,n)=>{ne(n),C.value=!1},{immediate:!0})}),P(wt,D),te(M(()=>I(S.value,{visible:z.Open,hidden:z.Closed})|l.value)),()=>{let{appear:t,show:n,enter:a,enterFrom:o,enterTo:s,entered:c,leave:l,leaveFrom:u,leaveTo:f,...p}=e,m={ref:h};return B({theirProps:{...p,...y.value&&v.value&&K.isServer?{class:d([r.class,p.class,...O,...k])}:{}},ourProps:m,slot:{},slots:i,attrs:r,features:Et,visible:S.value===`visible`,name:`TransitionChild`})}}}),Ot=r({inheritAttrs:!1,props:{as:{type:[Object,String],default:`div`},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:``},enterFrom:{type:[String],default:``},enterTo:{type:[String],default:``},entered:{type:[String],default:``},leave:{type:[String],default:``},leaveFrom:{type:[String],default:``},leaveTo:{type:[String],default:``}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:n,attrs:r,slots:i}){let a=ie(),s=M(()=>e.show===null&&a!==null?(a.value&z.Open)===z.Open:e.show);_(()=>{if(![!0,!1].includes(s.value))throw Error('A is used but it is missing a `:show="true | false"` prop.')});let c=E(s.value?`visible`:`hidden`),l=Tt(()=>{c.value=`hidden`}),u=E(!0),d={show:s,appear:M(()=>e.appear||!u.value)};return o(()=>{_(()=>{u.value=!1,s.value?c.value=`visible`:$(l)||(c.value=`hidden`)})}),P(wt,l),P(yt,d),()=>{let a=U(e,[`show`,`appear`,`unmount`,`onBeforeEnter`,`onBeforeLeave`,`onAfterEnter`,`onAfterLeave`]),o={unmount:e.unmount};return B({ourProps:{...o,as:`template`},theirProps:{},slot:{},slots:{...i,default:()=>[t(Dt,{onBeforeEnter:()=>n(`beforeEnter`),onAfterEnter:()=>n(`afterEnter`),onBeforeLeave:()=>n(`beforeLeave`),onAfterLeave:()=>n(`afterLeave`),...r,...o,...a},i.default)]},attrs:{},features:Et,visible:c.value===`visible`,name:`Transition`})}}}),kt=[`active`,`checked`,`hint`],At={class:`flex gap-2 items-center`},jt={key:1},Mt=r({__name:`InputComboboxOption`,props:{option:{}},setup(t){return(n,r)=>(f(),b(S(pt),{value:t.option,as:`template`},{default:g(({active:r,selected:i})=>[h(n.$slots,`option`,{option:t.option,active:r,selected:i},()=>[N(`craft-option`,{active:r,checked:i,hint:t.option.data?.hint},[N(`div`,At,[t.option.data?.indicator?(f(),p(`craft-indicator`,e(u({key:0},t.option.data.indicator)),null,16)):ee(``,!0),t.option.label.startsWith(`$`)||t.option.label.startsWith(`@`)?(f(),p(`code`,jt,A(t.option.label),1)):(f(),p(w,{key:2},[m(A(t.option.label),1)],64))])],8,kt)])]),_:3},8,[`value`]))}}),Nt={key:1},Pt={class:`group-label`},Ft=k(r({__name:`InputCombobox`,props:{label:{},options:{default:()=>[]},modelValue:{type:[String,Number,Boolean],default:``},requireOptionMatch:{type:Boolean,default:!1},transformModelValue:{type:Function,default:e=>e?e.value:``},class:{type:[Boolean,null,String,Object,Array]},placeholder:{},disabled:{type:Boolean}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=t,a=e,o=M({get(){let e=null;return a.options.forEach(t=>{t.type===`optgroup`?t.options.forEach(t=>{t.value===a.modelValue&&(e=t)}):t.value===a.modelValue&&(e=t)}),!e&&!a.requireOptionMatch&&(e={label:String(a.modelValue),value:a.modelValue}),e},set(e){r(`update:modelValue`,a.transformModelValue(e))}}),s=D(`reference`),c=E(String(a.modelValue??``)),l=M(()=>s.value?.getBoundingClientRect()||new DOMRect);function u(e,t){let n=String(S(e)).toLowerCase(),r=S(t);return r.label.toLowerCase().includes(n)||r.value.toString().toLowerCase().includes(n)||(r.data?.keywords?.toLowerCase().includes(n)??!1)}function m(e,t){return S(t).map(t=>{if(t.type===`optgroup`){let n=t.options.filter(t=>u(e,t));return n.length>0?{...t,options:n}:null}return u(e,t)?t:null}).filter(e=>e!==null)}let _=M(()=>c.value===``?a.options:m(c,a.options));function v(e){return e?e.label:``}let y=M(()=>[``,`@`,`$`].includes(c.value)?null:{value:c.value,label:c.value});return(t,r)=>(f(),p(`div`,{class:`relative w-full`,ref_key:`reference`,ref:s},[i(S(lt),{modelValue:o.value,"onUpdate:modelValue":r[2]||=e=>o.value=e,disabled:a.disabled},{default:g(()=>[i(S(dt),{onChange:r[0]||=e=>c.value=e.target.value,class:d([`input`,a.class]),displayValue:v,placeholder:e.placeholder},null,8,[`class`,`placeholder`]),i(S(ut),{class:`absolute inset-y-1 right-1 flex items-center`,type:`button`,as:`craft-button`,appearance:`plain`,size:`small`,icon:``,"aria-label":e.label},{default:g(()=>[...r[3]||=[N(`craft-icon`,{name:`chevron-down`,style:{"font-size":`0.8em`}},null,-1)]]),_:1},8,[`aria-label`]),i(S(Ot),{leave:`transition ease-in duration-100`,leaveFrom:`opacity-100`,leaveTo:`opacity-0`,onAfterLeave:r[1]||=e=>c.value=``},{default:g(()=>[i(S(ft),{class:`options`,style:C({position:`fixed`,insetInlineStart:`${l.value.left}px`,width:`${l.value.width}px`,insetBlockStart:`${l.value.bottom}px`})},{default:g(()=>[!e.requireOptionMatch&&y.value?(f(),b(Mt,{key:0,option:y.value},null,8,[`option`])):_.value.length===0&&c.value!==``?(f(),p(`div`,Nt,` Nothing found. `)):ee(``,!0),(f(!0),p(w,null,n(_.value,(e,r)=>(f(),p(w,{key:r},[e.type===`optgroup`?(f(),p(w,{key:0},[N(`div`,Pt,A(e.label),1),(f(!0),p(w,null,n(e.options,(e,n)=>h(t.$slots,`option`,{key:n,option:e},()=>[i(Mt,{option:e},null,8,[`option`])],!0)),128))],64)):h(t.$slots,`option`,{key:1,option:e},()=>[i(Mt,{option:e},null,8,[`option`])],!0)],64))),128))]),_:3},8,[`style`])]),_:3})]),_:3},8,[`modelValue`,`disabled`])],512))}}),[[`__scopeId`,`data-v-d2130d6f`]]);export{Ft as t}; \ No newline at end of file diff --git a/resources/build/assets/InputCombobox-DAgXLrVb.js b/resources/build/assets/InputCombobox-DAgXLrVb.js deleted file mode 100644 index 66cd9d3e288..00000000000 --- a/resources/build/assets/InputCombobox-DAgXLrVb.js +++ /dev/null @@ -1,4 +0,0 @@ -import{$ as e,B as t,E as n,F as r,I as i,J as a,K as o,L as s,N as c,P as l,Q as u,R as d,T as f,Y as p,Z as m,_ as h,at as g,b as _,et as v,g as y,it as b,j as x,k as S,lt as C,m as w,ot as T,q as E,rt as D,st as O,t as k,ut as A,v as j,w as M,x as N,y as ee,z as te}from"./_plugin-vue_export-helper-C3orD-yt.js";import{a as ne,c as P,d as re,f as F,i as ie,l as I,m as L,n as R,o as z,p as B,r as ae,s as oe,t as V,u as H}from"./keyboard-suU_xNs9.js";function U(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o;n.key&&n.debug?.call(n)&&(o=Date.now());let s=e();if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug?.call(n)&&(c=Date.now()),i=t(...s),n.key&&n.debug?.call(n)){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length{r=e},o}function se(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var ce=(e,t)=>Math.abs(e-t)<1.01,le=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},ue=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},de=e=>e,fe=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),r=[];for(let e=t;e<=n;e++)r.push(e);return r},pe=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(ue(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(ue(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},me={passive:!0},he=typeof window>`u`?!0:`onscrollend`in window,ge=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=0,a=e.options.useScrollendEvent&&he?()=>void 0:le(r,()=>{t(i,!1)},e.options.isScrollingResetDelay),o=r=>()=>{let{horizontal:o,isRtl:s}=e.options;i=o?n.scrollLeft*(s&&-1||1):n.scrollTop,a(),t(i,r)},s=o(!0),c=o(!1);n.addEventListener(`scroll`,s,me);let l=e.options.useScrollendEvent&&he;return l&&n.addEventListener(`scrollend`,c,me),()=>{n.removeEventListener(`scroll`,s),l&&n.removeEventListener(`scrollend`,c)}},_e=(e,t,n)=>{if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},ve=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;let o=e+t;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:o,behavior:n})},ye=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.currentScrollToIndex=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.laneAssignments=new Map,this.pendingMeasuredCacheIndexes=[],this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{this._measureElement(e.target,e)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([t,n])=>{n===void 0&&delete e[t]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:de,rangeExtractor:fe,onChange:()=>{},measureElement:_e,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...e}},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=U(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.ende.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=U(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes],(e,t,n,r,i,a)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a}),{key:!1}),this.getMeasurements=U(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a},o)=>{if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMeasuredCacheIndexes=[]),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let s=this.lanesSettling?0:this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[],this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1);let c=this.measurementsCache.slice(0,s),l=Array(a).fill(void 0);for(let e=0;e1){s=a;let e=l[s],r=e===void 0?void 0:c[e];u=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?c[i-1]:this.getFurthestMeasurement(c,i);u=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&this.laneAssignments.set(i,s)}let d=o.get(e),f=typeof d==`number`?d:this.options.estimateSize(i),p=u+f;c[i]={index:i,start:u,size:f,end:p,key:e,lane:s},l[s]=i}return this.measurementsCache=c,c},{key:!1,debug:()=>this.options.debug}),this.calculateRange=U(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>this.range=e.length>0&&t>0?xe({measurements:e,outerSize:t,scrollOffset:n,lanes:r}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=U(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this._measureElement=(e,t)=>{let n=this.indexFromElement(e),r=this.measurementsCache[n];if(!r)return;let i=r.key,a=this.elementsCache.get(i);a!==e&&(a&&this.observer.unobserve(a),this.observer.observe(e),this.elementsCache.set(i,e)),e.isConnected&&this.resizeItem(n,this.options.measureElement(e,t,this))},this.resizeItem=(e,t)=>{let n=this.measurementsCache[e];if(!n)return;let r=t-(this.itemSizeCache.get(n.key)??n.size);r!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange===void 0?n.start{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}this._measureElement(e,void 0)},this.getVirtualItems=U(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;rthis.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length!==0)return se(t[be(0,t.length-1,e=>se(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.measurementsCache[e];if(!n)return;let r=this.getSize(),i=this.getScrollOffset();if(t===`auto`)if(n.end>=i+r-this.options.scrollPaddingEnd)t=`end`;else if(n.start<=i+this.options.scrollPaddingStart)t=`start`;else return[i,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?n.end+this.options.scrollPaddingEnd:n.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,n.size),t]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(e,{align:t=`start`,behavior:n}={})=>{n===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(e,t),{adjustments:void 0,behavior:n})},this.scrollToIndex=(e,{align:t=`auto`,behavior:n}={})=>{n===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),e=Math.max(0,Math.min(e,this.options.count-1)),this.currentScrollToIndex=e;let r=0,i=t=>{if(!this.targetWindow)return;let r=this.getOffsetForIndex(e,t);if(!r){console.warn(`Failed to get offset for index:`,e);return}let[i,o]=r;this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.targetWindow.requestAnimationFrame(()=>{let t=()=>{if(this.currentScrollToIndex!==e)return;let t=this.getScrollOffset(),n=this.getOffsetForIndex(e,o);if(!n){console.warn(`Failed to get offset for index:`,e);return}ce(n[0],t)||a(o)};this.isDynamicMode()?this.targetWindow.requestAnimationFrame(t):t()})},a=t=>{this.targetWindow&&this.currentScrollToIndex===e&&(r++,r<10?this.targetWindow.requestAnimationFrame(()=>i(t)):console.warn(`Failed to scroll to index ${e} after 10 attempts.`))};i(t)},this.scrollBy=(e,{behavior:t}={})=>{t===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+e,{adjustments:void 0,behavior:t})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1)t=e[e.length-1]?.end??0;else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.itemSizeCache=new Map,this.laneAssignments=new Map,this.notify(!1)},this.setOptions(e)}},be=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(ar)t=i-1;else return i}return e>0?e-1:0};function xe({measurements:e,outerSize:t,scrollOffset:n,lanes:r}){let i=e.length-1,a=t=>e[t].start;if(e.length<=r)return{startIndex:0,endIndex:i};let o=be(0,i,a,n),s=o;if(r===1)for(;s1){let a=Array(r).fill(0);for(;se=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(i,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}function Se(e){let t=new ye(A(e)),n=T(t),r=t._didMount();return E(()=>A(e).getScrollElement(),e=>{e&&t._willUpdate()},{immediate:!0}),E(()=>A(e),e=>{t.setOptions({...e,onChange:(t,r)=>{var i;C(n),(i=e.onChange)==null||i.call(e,t,r)}}),t._willUpdate(),C(n)},{immediate:!0}),D(r),n}function Ce(e){return Se(h(()=>({observeElementRect:pe,observeElementOffset:ge,scrollToFn:ve,...A(e)})))}function we(e,t,n){let r=g(n?.value),i=h(()=>e.value!==void 0);return[h(()=>i.value?e.value:r.value),function(e){return i.value||(r.value=e),t?.(e)}]}function Te(e){typeof queueMicrotask==`function`?queueMicrotask(e):Promise.resolve().then(e).catch(e=>setTimeout(()=>{throw e}))}function W(){let e=[],t={addEventListener(e,n,r,i){return e.addEventListener(n,r,i),t.add(()=>e.removeEventListener(n,r,i))},requestAnimationFrame(...e){let n=requestAnimationFrame(...e);t.add(()=>cancelAnimationFrame(n))},nextFrame(...e){t.requestAnimationFrame(()=>{t.requestAnimationFrame(...e)})},setTimeout(...e){let n=setTimeout(...e);t.add(()=>clearTimeout(n))},microTask(...e){let n={current:!0};return Te(()=>{n.current&&e[0]()}),t.add(()=>{n.current=!1})},style(e,t,n){let r=e.style.getPropertyValue(t);return Object.assign(e.style,{[t]:n}),this.add(()=>{Object.assign(e.style,{[t]:r})})},group(e){let t=W();return e(t),this.add(()=>t.dispose())},add(t){return e.push(t),()=>{let n=e.indexOf(t);if(n>=0)for(let t of e.splice(n,1))t()}},dispose(){for(let t of e.splice(0))t()}};return t}function Ee(){let e=W();return i(()=>e.dispose()),e}function De(){let e=Ee();return t=>{e.dispose(),e.nextFrame(t)}}var Oe=Object.defineProperty,ke=(e,t,n)=>t in e?Oe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ae=(e,t,n)=>(ke(e,typeof t==`symbol`?t:t+``,n),n),G=new class{constructor(){Ae(this,`current`,this.detect()),Ae(this,`currentId`,0)}set(e){this.current!==e&&(this.currentId=0,this.current=e)}reset(){this.set(this.detect())}nextId(){return++this.currentId}get isServer(){return this.current===`server`}get isClient(){return this.current===`client`}detect(){return typeof window>`u`||typeof document>`u`?`server`:`client`}};function je(e){if(G.isServer)return null;if(e instanceof Node)return e.ownerDocument;if(e!=null&&e.hasOwnProperty(`value`)){let t=B(e);if(t)return t.ownerDocument}return document}var Me=[`[contentEditable=true]`,`[tabindex]`,`a[href]`,`area[href]`,`button:not([disabled])`,`iframe`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`].map(e=>`${e}:not([tabindex='-1'])`).join(`,`),Ne=(e=>(e[e.First=1]=`First`,e[e.Previous=2]=`Previous`,e[e.Next=4]=`Next`,e[e.Last=8]=`Last`,e[e.WrapAround=16]=`WrapAround`,e[e.NoScroll=32]=`NoScroll`,e))(Ne||{}),Pe=(e=>(e[e.Error=0]=`Error`,e[e.Overflow=1]=`Overflow`,e[e.Success=2]=`Success`,e[e.Underflow=3]=`Underflow`,e))(Pe||{}),Fe=(e=>(e[e.Previous=-1]=`Previous`,e[e.Next=1]=`Next`,e))(Fe||{}),Ie=(e=>(e[e.Strict=0]=`Strict`,e[e.Loose=1]=`Loose`,e))(Ie||{});function Le(e,t=0){return e===je(e)?.body?!1:F(t,{0(){return e.matches(Me)},1(){let t=e;for(;t!==null;){if(t.matches(Me))return!0;t=t.parentElement}return!1}})}var Re=(e=>(e[e.Keyboard=0]=`Keyboard`,e[e.Mouse=1]=`Mouse`,e))(Re||{});typeof window<`u`&&typeof document<`u`&&(document.addEventListener(`keydown`,e=>{e.metaKey||e.altKey||e.ctrlKey||(document.documentElement.dataset.headlessuiFocusVisible=``)},!0),document.addEventListener(`click`,e=>{e.detail===1?delete document.documentElement.dataset.headlessuiFocusVisible:e.detail===0&&(document.documentElement.dataset.headlessuiFocusVisible=``)},!0)),[`textarea`,`input`].join(`,`);function ze(e,t=e=>e){return e.slice().sort((e,n)=>{let r=t(e),i=t(n);if(r===null||i===null)return 0;let a=r.compareDocumentPosition(i);return a&Node.DOCUMENT_POSITION_FOLLOWING?-1:a&Node.DOCUMENT_POSITION_PRECEDING?1:0})}function Be(){return/iPhone/gi.test(window.navigator.platform)||/Mac/gi.test(window.navigator.platform)&&window.navigator.maxTouchPoints>0}function Ve(){return/Android/gi.test(window.navigator.userAgent)}function He(){return Be()||Ve()}function K(e,t,n){G.isServer||a(r=>{document.addEventListener(e,t,n),r(()=>document.removeEventListener(e,t,n))})}function Ue(e,t,n){G.isServer||a(r=>{window.addEventListener(e,t,n),r(()=>window.removeEventListener(e,t,n))})}function We(e,t,n=h(()=>!0)){function r(r,i){if(!n.value||r.defaultPrevented)return;let a=i(r);if(a===null||!a.getRootNode().contains(a))return;let o=function e(t){return typeof t==`function`?e(t()):Array.isArray(t)||t instanceof Set?t:[t]}(e);for(let e of o){if(e===null)continue;let t=e instanceof HTMLElement?e:B(e);if(t!=null&&t.contains(a)||r.composed&&r.composedPath().includes(t))return}return!Le(a,Ie.Loose)&&a.tabIndex!==-1&&r.preventDefault(),t(r,a)}let i=g(null);K(`pointerdown`,e=>{n.value&&(i.value=e.composedPath?.call(e)?.[0]||e.target)},!0),K(`mousedown`,e=>{n.value&&(i.value=e.composedPath?.call(e)?.[0]||e.target)},!0),K(`click`,e=>{He()||(i.value&&=(r(e,()=>i.value),null))},!0),K(`touchend`,e=>r(e,()=>e.target instanceof HTMLElement?e.target:null),!0),Ue(`blur`,e=>r(e,()=>window.document.activeElement instanceof HTMLIFrameElement?window.document.activeElement:null),!0)}function Ge(e){return[e.screenX,e.screenY]}function Ke(){let e=g([-1,-1]);return{wasMoved(t){let n=Ge(t);return e.value[0]===n[0]&&e.value[1]===n[1]?!1:(e.value=n,!0)},update(t){e.value=Ge(t)}}}function qe({container:e,accept:t,walk:n,enabled:r}){a(()=>{let i=e.value;if(!i||r!==void 0&&!r.value)return;let a=je(e);if(!a)return;let o=Object.assign(e=>t(e),{acceptNode:t}),s=a.createTreeWalker(i,NodeFilter.SHOW_ELEMENT,o,!1);for(;s.nextNode();)n(s.currentNode)})}var Je=(e=>(e[e.None=1]=`None`,e[e.Focusable=2]=`Focusable`,e[e.Hidden=4]=`Hidden`,e))(Je||{}),Ye=n({name:`Hidden`,props:{as:{type:[Object,String],default:`div`},features:{type:Number,default:1}},setup(e,{slots:t,attrs:n}){return()=>{let{features:r,...i}=e;return z({ourProps:{"aria-hidden":(r&2)==2?!0:i[`aria-hidden`]??void 0,hidden:(r&4)==4?!0:void 0,style:{position:`fixed`,top:1,left:1,width:1,height:0,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`,...(r&4)==4&&(r&2)!=2&&{display:`none`}}},theirProps:i,slot:{},attrs:n,slots:t,name:`Hidden`})}}}),Xe=(e=>(e[e.Left=0]=`Left`,e[e.Right=2]=`Right`,e))(Xe||{});function Ze(e){function t(){document.readyState!==`loading`&&(e(),document.removeEventListener(`DOMContentLoaded`,t))}typeof window<`u`&&typeof document<`u`&&(document.addEventListener(`DOMContentLoaded`,t),t())}var q=[];Ze(()=>{function e(e){e.target instanceof HTMLElement&&e.target!==document.body&&q[0]!==e.target&&(q.unshift(e.target),q=q.filter(e=>e!=null&&e.isConnected),q.splice(10))}window.addEventListener(`click`,e,{capture:!0}),window.addEventListener(`mousedown`,e,{capture:!0}),window.addEventListener(`focus`,e,{capture:!0}),document.body.addEventListener(`click`,e,{capture:!0}),document.body.addEventListener(`mousedown`,e,{capture:!0}),document.body.addEventListener(`focus`,e,{capture:!0})});function Qe(e){throw Error(`Unexpected object: `+e)}var J=(e=>(e[e.First=0]=`First`,e[e.Previous=1]=`Previous`,e[e.Next=2]=`Next`,e[e.Last=3]=`Last`,e[e.Specific=4]=`Specific`,e[e.Nothing=5]=`Nothing`,e))(J||{});function $e(e,t){let n=t.resolveItems();if(n.length<=0)return null;let r=t.resolveActiveIndex(),i=r??-1;switch(e.focus){case 0:for(let e=0;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 2:for(let e=i+1;e=0;--e)if(!t.resolveDisabled(n[e],e,n))return e;return r;case 4:for(let r=0;r(e[e.Open=0]=`Open`,e[e.Closed=1]=`Closed`,e))(it||{}),at=(e=>(e[e.Single=0]=`Single`,e[e.Multi=1]=`Multi`,e))(at||{}),ot=(e=>(e[e.Pointer=0]=`Pointer`,e[e.Focus=1]=`Focus`,e[e.Other=2]=`Other`,e))(ot||{}),st=Symbol(`ComboboxContext`);function Y(e){let t=x(st,null);if(t===null){let t=Error(`<${e} /> is missing a parent component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,Y),t}return t}var ct=Symbol(`VirtualContext`),lt=n({name:`VirtualProvider`,setup(e,{slots:t}){let n=Y(`VirtualProvider`),r=h(()=>{let e=B(n.optionsRef);if(!e)return{start:0,end:0};let t=window.getComputedStyle(e);return{start:parseFloat(t.paddingBlockStart||t.paddingTop),end:parseFloat(t.paddingBlockEnd||t.paddingBottom)}}),i=Ce(h(()=>({scrollPaddingStart:r.value.start,scrollPaddingEnd:r.value.end,count:n.virtual.value.options.length,estimateSize(){return 40},getScrollElement(){return B(n.optionsRef)},overscan:12}))),a=h(()=>n.virtual.value?.options),o=g(0);return E([a],()=>{o.value+=1}),d(ct,n.virtual.value?i:null),()=>[S(`div`,{style:{position:`relative`,width:`100%`,height:`${i.value.getTotalSize()}px`},ref:e=>{if(e){if(typeof process<`u`&&{}.JEST_WORKER_ID!==void 0||n.activationTrigger.value===0)return;n.activeOptionIndex.value!==null&&n.virtual.value.options.length>n.activeOptionIndex.value&&i.value.scrollToIndex(n.activeOptionIndex.value)}}},i.value.getVirtualItems().map(e=>y(t.default({option:n.virtual.value.options[e.index],open:n.comboboxState.value===0})[0],{key:`${o.value}-${e.index}`,"data-index":e.index,"aria-setsize":n.virtual.value.options.length,"aria-posinset":e.index+1,style:{position:`absolute`,top:0,left:0,transform:`translateY(${e.start}px)`,overflowAnchor:`none`}})))]}}),ut=n({name:`Combobox`,emits:{"update:modelValue":e=>!0},props:{as:{type:[Object,String],default:`template`},disabled:{type:[Boolean],default:!1},by:{type:[String,Function],nullable:!0,default:null},modelValue:{type:[Object,String,Number,Boolean],default:void 0},defaultValue:{type:[Object,String,Number,Boolean],default:void 0},form:{type:String,optional:!0},name:{type:String,optional:!0},nullable:{type:Boolean,default:!1},multiple:{type:[Boolean],default:!1},immediate:{type:[Boolean],default:!1},virtual:{type:Object,default:null}},inheritAttrs:!1,setup(e,{slots:t,attrs:n,emit:i}){let a=g(1),o=g(null),s=g(null),c=g(null),l=g(null),u=g({static:!1,hold:!1}),f=g([]),p=g(null),m=g(2),_=g(!1);function v(e=e=>e){let t=p.value===null?null:f.value[p.value],n=e(f.value.slice()),r=n.length>0&&n[0].dataRef.order.value!==null?n.sort((e,t)=>e.dataRef.order.value-t.dataRef.order.value):ze(n,e=>B(e.dataRef.domRef)),i=t?r.indexOf(t):null;return i===-1&&(i=null),{options:r,activeOptionIndex:i}}let y=h(()=>+!!e.multiple),x=h(()=>e.nullable),[C,T]=we(h(()=>e.modelValue),e=>i(`update:modelValue`,e),h(()=>e.defaultValue)),D=h(()=>C.value===void 0?F(y.value,{1:[],0:void 0}):C.value),k=null,A=null;function j(e){return F(y.value,{0(){return T?.(e)},1:()=>{let t=O(M.value.value).slice(),n=O(e),r=t.findIndex(e=>M.compare(n,O(e)));return r===-1?t.push(n):t.splice(r,1),T?.(t)}})}E([h(()=>{})],([e],[t])=>{if(M.virtual.value&&e&&t&&p.value!==null){let n=e.indexOf(t[p.value]);n===-1?p.value=null:p.value=n}});let M={comboboxState:a,value:D,mode:y,compare(t,n){if(typeof e.by==`string`){let r=e.by;return t?.[r]===n?.[r]}return e.by===null?rt(t,n):e.by(t,n)},calculateIndex(t){return M.virtual.value?e.by===null?M.virtual.value.options.indexOf(t):M.virtual.value.options.findIndex(e=>M.compare(e,t)):f.value.findIndex(e=>M.compare(e.dataRef.value,t))},defaultValue:h(()=>e.defaultValue),nullable:x,immediate:h(()=>!1),virtual:h(()=>null),inputRef:s,labelRef:o,buttonRef:c,optionsRef:l,disabled:h(()=>e.disabled),options:f,change(e){T(e)},activeOptionIndex:h(()=>{if(_.value&&p.value===null&&(M.virtual.value?M.virtual.value.options.length>0:f.value.length>0)){if(M.virtual.value){let e=M.virtual.value.options.findIndex(e=>{var t;return!((t=M.virtual.value)!=null&&t.disabled(e))});if(e!==-1)return e}let e=f.value.findIndex(e=>!e.dataRef.disabled);if(e!==-1)return e}return p.value}),activationTrigger:m,optionsPropsRef:u,closeCombobox(){_.value=!1,!e.disabled&&a.value!==1&&(a.value=1,p.value=null)},openCombobox(){if(_.value=!0,!e.disabled&&a.value!==0){if(M.value.value){let e=M.calculateIndex(M.value.value);e!==-1&&(p.value=e)}a.value=0}},setActivationTrigger(e){m.value=e},goToOption(t,n,r){_.value=!1,k!==null&&cancelAnimationFrame(k),k=requestAnimationFrame(()=>{if(e.disabled||l.value&&!u.value.static&&a.value===1)return;if(M.virtual.value){p.value=t===J.Specific?n:$e({focus:t},{resolveItems:()=>M.virtual.value.options,resolveActiveIndex:()=>M.activeOptionIndex.value??M.virtual.value.options.findIndex(e=>{var t;return!((t=M.virtual.value)!=null&&t.disabled(e))})??null,resolveDisabled:e=>M.virtual.value.disabled(e),resolveId(){throw Error(`Function not implemented.`)}}),m.value=r??2;return}let i=v();if(i.activeOptionIndex===null){let e=i.options.findIndex(e=>!e.dataRef.disabled);e!==-1&&(i.activeOptionIndex=e)}p.value=t===J.Specific?n:$e({focus:t},{resolveItems:()=>i.options,resolveActiveIndex:()=>i.activeOptionIndex,resolveId:e=>e.id,resolveDisabled:e=>e.dataRef.disabled}),m.value=r??2,f.value=i.options})},selectOption(e){let t=f.value.find(t=>t.id===e);if(!t)return;let{dataRef:n}=t;j(n.value)},selectActiveOption(){if(M.activeOptionIndex.value!==null){if(M.virtual.value)j(M.virtual.value.options[M.activeOptionIndex.value]);else{let{dataRef:e}=f.value[M.activeOptionIndex.value];j(e.value)}M.goToOption(J.Specific,M.activeOptionIndex.value)}},registerOption(e,t){let n=b({id:e,dataRef:t});if(M.virtual.value){f.value.push(n);return}A&&cancelAnimationFrame(A);let r=v(e=>(e.push(n),e));p.value===null&&M.isSelected(t.value.value)&&(r.activeOptionIndex=r.options.indexOf(n)),f.value=r.options,p.value=r.activeOptionIndex,m.value=2,r.options.some(e=>!B(e.dataRef.domRef))&&(A=requestAnimationFrame(()=>{let e=v();f.value=e.options,p.value=e.activeOptionIndex}))},unregisterOption(e,t){if(k!==null&&cancelAnimationFrame(k),t&&(_.value=!0),M.virtual.value){f.value=f.value.filter(t=>t.id!==e);return}let n=v(t=>{let n=t.findIndex(t=>t.id===e);return n!==-1&&t.splice(n,1),t});f.value=n.options,p.value=n.activeOptionIndex,m.value=2},isSelected(e){return F(y.value,{0:()=>M.compare(O(M.value.value),O(e)),1:()=>O(M.value.value).some(t=>M.compare(O(t),O(e)))})},isActive(e){return p.value===M.calculateIndex(e)}};We([s,c,l],()=>M.closeCombobox(),h(()=>a.value===0)),d(st,M),ne(h(()=>F(a.value,{0:R.Open,1:R.Closed})));let N=h(()=>B(s)?.closest(`form`));return r(()=>{E([N],()=>{if(!N.value||e.defaultValue===void 0)return;function t(){M.change(e.defaultValue)}return N.value.addEventListener(`reset`,t),()=>{var e;(e=N.value)==null||e.removeEventListener(`reset`,t)}},{immediate:!0})}),()=>{let{name:r,disabled:i,form:o,...s}=e,c={open:a.value===0,disabled:i,activeIndex:M.activeOptionIndex.value,activeOption:M.activeOptionIndex.value===null?null:M.virtual.value?M.virtual.value.options[M.activeOptionIndex.value??0]:M.options.value[M.activeOptionIndex.value]?.dataRef.value??null,value:D.value};return S(w,[...r!=null&&D.value!=null?et({[r]:D.value}).map(([e,t])=>S(Ye,oe({features:Je.Hidden,key:e,as:`input`,type:`hidden`,hidden:!0,readOnly:!0,form:o,disabled:i,name:e,value:t}))):[],z({theirProps:{...n,...H(s,[`by`,`defaultValue`,`immediate`,`modelValue`,`multiple`,`nullable`,`onUpdate:modelValue`,`virtual`])},ourProps:{},slot:c,slots:t,attrs:n,name:`Combobox`})])}}});n({name:`ComboboxLabel`,props:{as:{type:[Object,String],default:`label`},id:{type:String,default:null}},setup(e,{attrs:t,slots:n}){let r=e.id??`headlessui-combobox-label-${L()}`,i=Y(`ComboboxLabel`);function a(){var e;(e=B(i.inputRef))==null||e.focus({preventScroll:!0})}return()=>{let o={open:i.comboboxState.value===0,disabled:i.disabled.value},{...s}=e;return z({ourProps:{id:r,ref:i.labelRef,onClick:a},theirProps:s,slot:o,attrs:t,slots:n,name:`ComboboxLabel`})}}});var dt=n({name:`ComboboxButton`,props:{as:{type:[Object,String],default:`button`},id:{type:String,default:null}},setup(e,{attrs:t,slots:n,expose:r}){let i=e.id??`headlessui-combobox-button-${L()}`,a=Y(`ComboboxButton`);r({el:a.buttonRef,$el:a.buttonRef});function o(e){a.disabled.value||(a.comboboxState.value===0?a.closeCombobox():(e.preventDefault(),a.openCombobox()),l(()=>B(a.inputRef)?.focus({preventScroll:!0})))}function s(e){switch(e.key){case V.ArrowDown:e.preventDefault(),e.stopPropagation(),a.comboboxState.value===1&&a.openCombobox(),l(()=>a.inputRef.value?.focus({preventScroll:!0}));return;case V.ArrowUp:e.preventDefault(),e.stopPropagation(),a.comboboxState.value===1&&(a.openCombobox(),l(()=>{a.value.value||a.goToOption(J.Last)})),l(()=>a.inputRef.value?.focus({preventScroll:!0}));return;case V.Escape:if(a.comboboxState.value!==0)return;e.preventDefault(),a.optionsRef.value&&!a.optionsPropsRef.value.static&&e.stopPropagation(),a.closeCombobox(),l(()=>a.inputRef.value?.focus({preventScroll:!0}));return}}let c=re(h(()=>({as:e.as,type:t.type})),a.buttonRef);return()=>{let r={open:a.comboboxState.value===0,disabled:a.disabled.value,value:a.value.value},{...l}=e;return z({ourProps:{ref:a.buttonRef,id:i,type:c.value,tabindex:`-1`,"aria-haspopup":`listbox`,"aria-controls":B(a.optionsRef)?.id,"aria-expanded":a.comboboxState.value===0,"aria-labelledby":a.labelRef.value?[B(a.labelRef)?.id,i].join(` `):void 0,disabled:a.disabled.value===!0?!0:void 0,onKeydown:s,onClick:o},theirProps:l,slot:r,attrs:t,slots:n,name:`ComboboxButton`})}}}),ft=n({name:`ComboboxInput`,props:{as:{type:[Object,String],default:`input`},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},displayValue:{type:Function},defaultValue:{type:String,default:void 0},id:{type:String,default:null}},emits:{change:e=>!0},setup(e,{emit:t,attrs:n,slots:i,expose:a}){let o=e.id??`headlessui-combobox-input-${L()}`,s=Y(`ComboboxInput`),c=h(()=>je(B(s.inputRef))),u={value:!1};a({el:s.inputRef,$el:s.inputRef});function d(){s.change(null);let e=B(s.optionsRef);e&&(e.scrollTop=0),s.goToOption(J.Nothing)}let f=h(()=>{let t=s.value.value;return B(s.inputRef)?e.displayValue!==void 0&&t!==void 0?e.displayValue(t)??``:typeof t==`string`?t:``:``});r(()=>{E([f,s.comboboxState,c],([e,t],[n,r])=>{if(u.value)return;let i=B(s.inputRef);i&&((r===0&&t===1||e!==n)&&(i.value=e),requestAnimationFrame(()=>{if(u.value||!i||c.value?.activeElement!==i)return;let{selectionStart:e,selectionEnd:t}=i;Math.abs((t??0)-(e??0))===0&&e===0&&i.setSelectionRange(i.value.length,i.value.length)}))},{immediate:!0}),E([s.comboboxState],([e],[t])=>{if(e===0&&t===1){if(u.value)return;let e=B(s.inputRef);if(!e)return;let t=e.value,{selectionStart:n,selectionEnd:r,selectionDirection:i}=e;e.value=``,e.value=t,i===null?e.setSelectionRange(n,r):e.setSelectionRange(n,r,i)}})});let p=g(!1);function m(){p.value=!0}function _(){W().nextFrame(()=>{p.value=!1})}let v=De();function y(e){switch(u.value=!0,v(()=>{u.value=!1}),e.key){case V.Enter:if(u.value=!1,s.comboboxState.value!==0||p.value)return;if(e.preventDefault(),e.stopPropagation(),s.activeOptionIndex.value===null){s.closeCombobox();return}s.selectActiveOption(),s.mode.value===0&&s.closeCombobox();break;case V.ArrowDown:return u.value=!1,e.preventDefault(),e.stopPropagation(),F(s.comboboxState.value,{0:()=>s.goToOption(J.Next),1:()=>s.openCombobox()});case V.ArrowUp:return u.value=!1,e.preventDefault(),e.stopPropagation(),F(s.comboboxState.value,{0:()=>s.goToOption(J.Previous),1:()=>{s.openCombobox(),l(()=>{s.value.value||s.goToOption(J.Last)})}});case V.Home:if(e.shiftKey)break;return u.value=!1,e.preventDefault(),e.stopPropagation(),s.goToOption(J.First);case V.PageUp:return u.value=!1,e.preventDefault(),e.stopPropagation(),s.goToOption(J.First);case V.End:if(e.shiftKey)break;return u.value=!1,e.preventDefault(),e.stopPropagation(),s.goToOption(J.Last);case V.PageDown:return u.value=!1,e.preventDefault(),e.stopPropagation(),s.goToOption(J.Last);case V.Escape:if(u.value=!1,s.comboboxState.value!==0)return;e.preventDefault(),s.optionsRef.value&&!s.optionsPropsRef.value.static&&e.stopPropagation(),s.nullable.value&&s.mode.value===0&&s.value.value===null&&d(),s.closeCombobox();break;case V.Tab:if(u.value=!1,s.comboboxState.value!==0)return;s.mode.value===0&&s.activationTrigger.value!==1&&s.selectActiveOption(),s.closeCombobox();break}}function b(e){t(`change`,e),s.nullable.value&&s.mode.value===0&&e.target.value===``&&d(),s.openCombobox()}function x(e){var t,n;let r=e.relatedTarget??q.find(t=>t!==e.currentTarget);if(u.value=!1,!((t=B(s.optionsRef))!=null&&t.contains(r))&&!((n=B(s.buttonRef))!=null&&n.contains(r))&&s.comboboxState.value===0)return e.preventDefault(),s.mode.value===0&&(s.nullable.value&&s.value.value===null?d():s.activationTrigger.value!==1&&s.selectActiveOption()),s.closeCombobox()}function S(e){var t,n;let r=e.relatedTarget??q.find(t=>t!==e.currentTarget);(t=B(s.buttonRef))!=null&&t.contains(r)||(n=B(s.optionsRef))!=null&&n.contains(r)||s.disabled.value||s.immediate.value&&s.comboboxState.value!==0&&(s.openCombobox(),W().nextFrame(()=>{s.setActivationTrigger(1)}))}let C=h(()=>e.defaultValue??(s.defaultValue.value===void 0?null:e.displayValue?.call(e,s.defaultValue.value))??s.defaultValue.value??``);return()=>{let t={open:s.comboboxState.value===0},{displayValue:r,onChange:a,...c}=e;return z({ourProps:{"aria-controls":s.optionsRef.value?.id,"aria-expanded":s.comboboxState.value===0,"aria-activedescendant":s.activeOptionIndex.value===null?void 0:s.virtual.value?s.options.value.find(e=>!s.virtual.value.disabled(e.dataRef.value)&&s.compare(e.dataRef.value,s.virtual.value.options[s.activeOptionIndex.value]))?.id:s.options.value[s.activeOptionIndex.value]?.id,"aria-labelledby":B(s.labelRef)?.id??B(s.buttonRef)?.id,"aria-autocomplete":`list`,id:o,onCompositionstart:m,onCompositionend:_,onKeydown:y,onInput:b,onFocus:S,onBlur:x,role:`combobox`,type:n.type??`text`,tabIndex:0,ref:s.inputRef,defaultValue:C.value,disabled:s.disabled.value===!0?!0:void 0},theirProps:c,slot:t,attrs:n,slots:i,features:P.RenderStrategy|P.Static,name:`ComboboxInput`})}}}),pt=n({name:`ComboboxOptions`,props:{as:{type:[Object,String],default:`ul`},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},hold:{type:[Boolean],default:!1}},setup(e,{attrs:t,slots:n,expose:r}){let i=Y(`ComboboxOptions`),o=`headlessui-combobox-options-${L()}`;r({el:i.optionsRef,$el:i.optionsRef}),a(()=>{i.optionsPropsRef.value.static=e.static}),a(()=>{i.optionsPropsRef.value.hold=e.hold});let s=ae(),c=h(()=>s===null?i.comboboxState.value===0:(s.value&R.Open)===R.Open);qe({container:h(()=>B(i.optionsRef)),enabled:h(()=>i.comboboxState.value===0),accept(e){return e.getAttribute(`role`)===`option`?NodeFilter.FILTER_REJECT:e.hasAttribute(`role`)?NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT},walk(e){e.setAttribute(`role`,`none`)}});function l(e){e.preventDefault()}return()=>{let r={open:i.comboboxState.value===0};return z({ourProps:{"aria-labelledby":B(i.labelRef)?.id??B(i.buttonRef)?.id,id:o,ref:i.optionsRef,role:`listbox`,"aria-multiselectable":i.mode.value===1?!0:void 0,onMousedown:l},theirProps:H(e,[`hold`]),slot:r,attrs:t,slots:i.virtual.value&&i.comboboxState.value===0?{...n,default:()=>[S(lt,{},n.default)]}:n,features:P.RenderStrategy|P.Static,visible:c.value,name:`ComboboxOptions`})}}}),mt=n({name:`ComboboxOption`,props:{as:{type:[Object,String],default:`li`},value:{type:[Object,String,Number,Boolean]},disabled:{type:Boolean,default:!1},order:{type:[Number],default:null}},setup(e,{slots:t,attrs:n,expose:o}){let s=Y(`ComboboxOption`),c=`headlessui-combobox-option-${L()}`,u=g(null),d=h(()=>e.disabled);o({el:u,$el:u});let f=h(()=>s.virtual.value?s.activeOptionIndex.value===s.calculateIndex(e.value):s.activeOptionIndex.value===null?!1:s.options.value[s.activeOptionIndex.value]?.id===c),p=h(()=>s.isSelected(e.value)),m=x(ct,null),_=h(()=>({disabled:e.disabled,value:e.value,domRef:u,order:h(()=>e.order)}));r(()=>s.registerOption(c,_)),i(()=>s.unregisterOption(c,f.value)),a(()=>{let e=B(u);e&&m?.value.measureElement(e)}),a(()=>{s.comboboxState.value===0&&f.value&&(s.virtual.value||s.activationTrigger.value!==0&&l(()=>{var e;return((e=B(u))?.scrollIntoView)?.call(e,{block:`nearest`})}))});function v(e){e.preventDefault(),e.button===Xe.Left&&(d.value||(s.selectOption(c),He()||requestAnimationFrame(()=>B(s.inputRef)?.focus({preventScroll:!0})),s.mode.value===0&&s.closeCombobox()))}function y(){var t;if(e.disabled||(t=s.virtual.value)!=null&&t.disabled(e.value))return s.goToOption(J.Nothing);let n=s.calculateIndex(e.value);s.goToOption(J.Specific,n)}let b=Ke();function S(e){b.update(e)}function C(t){var n;if(!b.wasMoved(t)||e.disabled||(n=s.virtual.value)!=null&&n.disabled(e.value)||f.value)return;let r=s.calculateIndex(e.value);s.goToOption(J.Specific,r,0)}function w(t){var n;b.wasMoved(t)&&(e.disabled||(n=s.virtual.value)!=null&&n.disabled(e.value)||f.value&&(s.optionsPropsRef.value.hold||s.goToOption(J.Nothing)))}return()=>{let{disabled:r}=e,i={active:f.value,selected:p.value,disabled:r};return z({ourProps:{id:c,ref:u,role:`option`,tabIndex:r===!0?void 0:-1,"aria-disabled":r===!0?!0:void 0,"aria-selected":p.value,disabled:void 0,onMousedown:v,onFocus:y,onPointerenter:S,onMouseenter:S,onPointermove:C,onMousemove:C,onPointerleave:w,onMouseleave:w},theirProps:H(e,[`order`,`value`]),slot:i,attrs:n,slots:t,name:`ComboboxOption`})}}});function ht(e){let t={called:!1};return(...n)=>{if(!t.called)return t.called=!0,e(...n)}}function gt(e,...t){e&&t.length>0&&e.classList.add(...t)}function X(e,...t){e&&t.length>0&&e.classList.remove(...t)}var _t=(e=>(e.Finished=`finished`,e.Cancelled=`cancelled`,e))(_t||{});function vt(e,t){let n=W();if(!e)return n.dispose;let{transitionDuration:r,transitionDelay:i}=getComputedStyle(e),[a,o]=[r,i].map(e=>{let[t=0]=e.split(`,`).filter(Boolean).map(e=>e.includes(`ms`)?parseFloat(e):parseFloat(e)*1e3).sort((e,t)=>t-e);return t});return a===0?t(`finished`):n.setTimeout(()=>t(`finished`),a+o),n.add(()=>t(`cancelled`)),n.dispose}function yt(e,t,n,r,i,a){let o=W(),s=a===void 0?()=>{}:ht(a);return X(e,...i),gt(e,...t,...n),o.nextFrame(()=>{X(e,...n),gt(e,...r),o.add(vt(e,n=>(X(e,...r,...t),gt(e,...i),s(n))))}),o.add(()=>X(e,...t,...n,...r,...i)),o.add(()=>s(`cancelled`)),o.dispose}function Z(e=``){return e.split(/\s+/).filter(e=>e.length>1)}var Q=Symbol(`TransitionContext`),bt=(e=>(e.Visible=`visible`,e.Hidden=`hidden`,e))(bt||{});function xt(){return x(Q,null)!==null}function St(){let e=x(Q,null);if(e===null)throw Error(`A is used but it is missing a parent .`);return e}function Ct(){let e=x(wt,null);if(e===null)throw Error(`A is used but it is missing a parent .`);return e}var wt=Symbol(`NestingContext`);function $(e){return`children`in e?$(e.children):e.value.filter(({state:e})=>e===`visible`).length>0}function Tt(e){let t=g([]),n=g(!1);r(()=>n.value=!0),i(()=>n.value=!1);function a(r,i=I.Hidden){let a=t.value.findIndex(({id:e})=>e===r);a!==-1&&(F(i,{[I.Unmount](){t.value.splice(a,1)},[I.Hidden](){t.value[a].state=`hidden`}}),!$(t)&&n.value&&e?.())}function o(e){let n=t.value.find(({id:t})=>t===e);return n?n.state!==`visible`&&(n.state=`visible`):t.value.push({id:e,state:`visible`}),()=>a(e,I.Unmount)}return{children:t,register:o,unregister:a}}var Et=P.RenderStrategy,Dt=n({props:{as:{type:[Object,String],default:`div`},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:``},enterFrom:{type:[String],default:``},enterTo:{type:[String],default:``},entered:{type:[String],default:``},leave:{type:[String],default:``},leaveFrom:{type:[String],default:``},leaveTo:{type:[String],default:``}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:n,slots:o,expose:s}){let c=g(0);function l(){c.value|=R.Opening,t(`beforeEnter`)}function u(){c.value&=~R.Opening,t(`afterEnter`)}function f(){c.value|=R.Closing,t(`beforeLeave`)}function p(){c.value&=~R.Closing,t(`afterLeave`)}if(!xt()&&ie())return()=>S(Ot,{...e,onBeforeEnter:l,onAfterEnter:u,onBeforeLeave:f,onAfterLeave:p},o);let _=g(null),v=h(()=>e.unmount?I.Unmount:I.Hidden);s({el:_,$el:_});let{show:y,appear:b}=St(),{register:x,unregister:C}=Ct(),w=g(y.value?`visible`:`hidden`),T={value:!0},D=L(),O={value:!1},k=Tt(()=>{!O.value&&w.value!==`hidden`&&(w.value=`hidden`,C(D),p())});r(()=>{i(x(D))}),a(()=>{if(v.value===I.Hidden&&D){if(y.value&&w.value!==`visible`){w.value=`visible`;return}F(w.value,{hidden:()=>C(D),visible:()=>x(D)})}});let A=Z(e.enter),j=Z(e.enterFrom),M=Z(e.enterTo),N=Z(e.entered),ee=Z(e.leave),te=Z(e.leaveFrom),P=Z(e.leaveTo);r(()=>{a(()=>{if(w.value===`visible`){let e=B(_);if(e instanceof Comment&&e.data===``)throw Error("Did you forget to passthrough the `ref` to the actual DOM node?")}})});function re(e){let t=T.value&&!b.value,n=B(_);!n||!(n instanceof HTMLElement)||t||(O.value=!0,y.value&&l(),y.value||f(),e(y.value?yt(n,A,j,M,N,e=>{O.value=!1,e===_t.Finished&&u()}):yt(n,ee,te,P,N,e=>{O.value=!1,e===_t.Finished&&($(k)||(w.value=`hidden`,C(D),p()))})))}return r(()=>{E([y],(e,t,n)=>{re(n),T.value=!1},{immediate:!0})}),d(wt,k),ne(h(()=>F(w.value,{visible:R.Open,hidden:R.Closed})|c.value)),()=>{let{appear:t,show:r,enter:i,enterFrom:a,enterTo:s,entered:c,leave:l,leaveFrom:u,leaveTo:d,...f}=e,p={ref:_};return z({theirProps:{...f,...b.value&&y.value&&G.isServer?{class:m([n.class,f.class,...A,...j])}:{}},ourProps:p,slot:{},slots:o,attrs:n,features:Et,visible:w.value===`visible`,name:`TransitionChild`})}}}),Ot=n({inheritAttrs:!1,props:{as:{type:[Object,String],default:`div`},show:{type:[Boolean],default:null},unmount:{type:[Boolean],default:!0},appear:{type:[Boolean],default:!1},enter:{type:[String],default:``},enterFrom:{type:[String],default:``},enterTo:{type:[String],default:``},entered:{type:[String],default:``},leave:{type:[String],default:``},leaveFrom:{type:[String],default:``},leaveTo:{type:[String],default:``}},emits:{beforeEnter:()=>!0,afterEnter:()=>!0,beforeLeave:()=>!0,afterLeave:()=>!0},setup(e,{emit:t,attrs:n,slots:i}){let o=ae(),s=h(()=>e.show===null&&o!==null?(o.value&R.Open)===R.Open:e.show);a(()=>{if(![!0,!1].includes(s.value))throw Error('A is used but it is missing a `:show="true | false"` prop.')});let c=g(s.value?`visible`:`hidden`),l=Tt(()=>{c.value=`hidden`}),u=g(!0),f={show:s,appear:h(()=>e.appear||!u.value)};return r(()=>{a(()=>{u.value=!1,s.value?c.value=`visible`:$(l)||(c.value=`hidden`)})}),d(wt,l),d(Q,f),()=>{let r=H(e,[`show`,`appear`,`unmount`,`onBeforeEnter`,`onBeforeLeave`,`onAfterEnter`,`onAfterLeave`]),a={unmount:e.unmount};return z({ourProps:{...a,as:`template`},theirProps:{},slot:{},slots:{...i,default:()=>[S(Dt,{onBeforeEnter:()=>t(`beforeEnter`),onAfterEnter:()=>t(`afterEnter`),onBeforeLeave:()=>t(`beforeLeave`),onAfterLeave:()=>t(`afterLeave`),...n,...a,...r},i.default)]},attrs:{},features:Et,visible:c.value===`visible`,name:`Transition`})}}}),kt=[`active`,`checked`,`hint`],At={class:`flex gap-2 items-center`},jt={key:1},Mt=n({__name:`InputComboboxOption`,props:{option:{}},setup(e){return(n,r)=>(s(),ee(A(mt),{value:e.option,as:`template`},{default:p(({active:r,selected:i})=>[t(n.$slots,`option`,{option:e.option,active:r,selected:i},()=>[j(`craft-option`,{active:r,checked:i,hint:e.option.data?.hint},[j(`div`,At,[e.option.data?.indicator?(s(),N(`craft-indicator`,u(c({key:0},e.option.data.indicator)),null,16)):_(``,!0),e.option.label.startsWith(`$`)||e.option.label.startsWith(`@`)?(s(),N(`code`,jt,v(e.option.label),1)):(s(),N(w,{key:2},[M(v(e.option.label),1)],64))])],8,kt)])]),_:3},8,[`value`]))}}),Nt={key:1},Pt={class:`group-label`},Ft=k(n({__name:`InputCombobox`,props:{label:{},options:{default:()=>[]},modelValue:{type:[String,Number,Boolean],default:``},requireOptionMatch:{type:Boolean,default:!1},transformModelValue:{type:Function,default:e=>e?e.value:``},class:{type:[Boolean,null,String,Object,Array]},placeholder:{},disabled:{type:Boolean}},emits:[`update:modelValue`],setup(n,{emit:r}){let i=r,a=n,c=h({get(){let e=null;return a.options.forEach(t=>{t.type===`optgroup`?t.options.forEach(t=>{t.value===a.modelValue&&(e=t)}):t.value===a.modelValue&&(e=t)}),!e&&!a.requireOptionMatch&&(e={label:String(a.modelValue),value:a.modelValue}),e},set(e){i(`update:modelValue`,a.transformModelValue(e))}}),l=o(`reference`),u=g(String(a.modelValue??``)),d=h(()=>l.value?.getBoundingClientRect()||new DOMRect);function y(e,t){let n=String(A(e)).toLowerCase(),r=A(t);return r.label.toLowerCase().includes(n)||r.value.toString().toLowerCase().includes(n)||(r.data?.keywords?.toLowerCase().includes(n)??!1)}function b(e,t){return A(t).map(t=>{if(t.type===`optgroup`){let n=t.options.filter(t=>y(e,t));return n.length>0?{...t,options:n}:null}return y(e,t)?t:null}).filter(e=>e!==null)}let x=h(()=>u.value===``?a.options:b(u,a.options));function S(e){return e?e.label:``}let C=h(()=>[``,`@`,`$`].includes(u.value)?null:{value:u.value,label:u.value});return(r,i)=>(s(),N(`div`,{class:`relative w-full`,ref_key:`reference`,ref:l},[f(A(ut),{modelValue:c.value,"onUpdate:modelValue":i[2]||=e=>c.value=e,disabled:a.disabled},{default:p(()=>[f(A(ft),{onChange:i[0]||=e=>u.value=e.target.value,class:m([`input`,a.class]),displayValue:S,placeholder:n.placeholder},null,8,[`class`,`placeholder`]),f(A(dt),{class:`absolute inset-y-1 right-1 flex items-center`,type:`button`,as:`craft-button`,appearance:`plain`,size:`small`,icon:``,"aria-label":n.label},{default:p(()=>[...i[3]||=[j(`craft-icon`,{name:`chevron-down`,style:{"font-size":`0.8em`}},null,-1)]]),_:1},8,[`aria-label`]),f(A(Ot),{leave:`transition ease-in duration-100`,leaveFrom:`opacity-100`,leaveTo:`opacity-0`,onAfterLeave:i[1]||=e=>u.value=``},{default:p(()=>[f(A(pt),{class:`options`,style:e({position:`fixed`,insetInlineStart:`${d.value.left}px`,width:`${d.value.width}px`,insetBlockStart:`${d.value.bottom}px`})},{default:p(()=>[!n.requireOptionMatch&&C.value?(s(),ee(Mt,{key:0,option:C.value},null,8,[`option`])):x.value.length===0&&u.value!==``?(s(),N(`div`,Nt,` Nothing found. `)):_(``,!0),(s(!0),N(w,null,te(x.value,(e,n)=>(s(),N(w,{key:n},[e.type===`optgroup`?(s(),N(w,{key:0},[j(`div`,Pt,v(e.label),1),(s(!0),N(w,null,te(e.options,(e,n)=>t(r.$slots,`option`,{key:n,option:e},()=>[f(Mt,{option:e},null,8,[`option`])],!0)),128))],64)):t(r.$slots,`option`,{key:1,option:e},()=>[f(Mt,{option:e},null,8,[`option`])],!0)],64))),128))]),_:3},8,[`style`])]),_:3})]),_:3},8,[`modelValue`,`disabled`])],512))}}),[[`__scopeId`,`data-v-d2130d6f`]]);export{Ft as t}; \ No newline at end of file diff --git a/resources/build/assets/Install-DYTtRupI.js b/resources/build/assets/Install-DYTtRupI.js deleted file mode 100644 index 61c4b19d65f..00000000000 --- a/resources/build/assets/Install-DYTtRupI.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import"./lit-BpPOIUnZ.js";import{B as t,E as n,F as r,J as i,K as a,L as o,M as s,N as c,T as l,W as u,Y as d,Z as f,_ as p,a as ee,at as m,b as h,c as g,d as _,et as v,it as y,l as b,m as x,p as S,q as C,r as w,t as T,ut as E,v as D,w as O,x as k,y as A,z as j}from"./_plugin-vue_export-helper-C3orD-yt.js";import{t as M}from"./Select-BaRh7IFc.js";import{t as N}from"./Pane-CyLhaZAB.js";import{n as P}from"./wayfinder-CyAPyHKQ.js";import{i as F}from"./useFetch-DBLPH7uT.js";import{i as I}from"./dist-oC9Sbb9R.js";import{t as L}from"./Modal-C3z5Gb2R.js";import{t as R}from"./CraftInput-Diy-IcJh.js";import{t as te}from"./CraftCombobox-CF-lmAE3.js";var ne=``+new URL(`installer-bg-D5zoDR_3.png`,import.meta.url).href,z=e=>{C(a(e),async e=>{e?.tagName.includes(`CRAFT-`)&&(await customElements.whenDefined(e.tagName.toLowerCase()),await e?.updateComplete),e?.focus()})},re=[`.modelValue`,`has-feedback-for`],B={slot:`feedback`},V={key:0,class:`error-list`},H=n({name:`CraftInputPassword`,__name:`CraftInputPassword`,props:s({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let n=u(e,`modelValue`);return(r,i)=>(o(),k(`craft-input-password`,c(r.$attrs,{".modelValue":n.value,onModelValueChanged:i[0]||=e=>n.value=e.target?.modelValue,"has-feedback-for":e.error?`error`:``}),[t(r.$slots,`default`),D(`div`,B,[e.error?(o(),k(`ul`,V,[D(`li`,null,v(e.error),1)])):h(``,!0)])],48,re))}}),U=n({__name:`AccountFields`,props:{modelValue:{default:()=>({email:``,username:``,password:``})},errors:{default:()=>({email:``,username:``,password:``})}},emits:[`success`,`click:back`,`update:modelValue`],setup(t,{emit:n}){let r=n,i=t,a=b(),s=p(()=>!a.props.useEmailAsUsername),c=p({get(){return i.modelValue},set(e){r(`update:modelValue`,e)}});return z(`username-input`),(n,r)=>(o(),k(x,null,[s.value?(o(),A(R,{key:0,label:E(e)(`Username`),id:`account-username`,name:`username`,modelValue:c.value.username,"onUpdate:modelValue":r[0]||=e=>c.value.username=e,error:t.errors?.username,maxlength:`255`,required:``,autofocus:``},null,8,[`label`,`modelValue`,`error`])):h(``,!0),l(R,{label:E(e)(`Email`),id:`account-email`,name:`email`,modelValue:c.value.email,"onUpdate:modelValue":r[1]||=e=>c.value.email=e,maxlength:`255`,autocomplete:`email`,error:t.errors?.email,required:``,type:`email`},null,8,[`label`,`modelValue`,`error`]),l(H,{label:E(e)(`Password`),id:`account-password`,name:`password`,modelValue:c.value.password,"onUpdate:modelValue":r[2]||=e=>c.value.password=e,error:t.errors?.password,required:``,autocomplete:`new-password`},null,8,[`label`,`modelValue`,`error`])],64))}}),W={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},G={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},K=n({__name:`SiteFields`,props:{modelValue:{default:()=>({})},localeOptions:{default:()=>[]},errors:{default:()=>({})}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=n,i=t,a=b(),s=p({get(){return i.modelValue},set(e){r(`update:modelValue`,e)}});return z(`site-name`),(n,r)=>(o(),k(x,null,[l(R,{name:`name`,label:E(e)(`System Name`),id:`site-name`,modelValue:s.value.name,"onUpdate:modelValue":r[0]||=e=>s.value.name=e,maxlength:`255`,ref:`site-name`,error:t.errors?.name},null,8,[`label`,`modelValue`,`error`]),l(te,{modelValue:s.value.baseUrl,"onUpdate:modelValue":r[1]||=e=>s.value.baseUrl=e,label:E(e)(`Base URL`),"help-text":E(e)(`The base URL for the site.`),id:`base-url`,name:`baseUrl`,error:t.errors?.baseUrl,options:E(a).props.baseUrlSuggestions},{after:d(()=>[D(`craft-callout`,W,[O(v(E(e)(`This can begin with an environment variable or alias.`))+` `,1),D(`a`,G,v(E(e)(`Learn more`)),1)])]),_:1},8,[`modelValue`,`label`,`help-text`,`error`,`options`]),l(M,{modelValue:s.value.language,"onUpdate:modelValue":r[2]||=e=>s.value.language=e,options:t.localeOptions,label:E(e)(`Language`),id:`site-language`,name:`language`},{"option-label":d(({option:e})=>[O(v(e.value)+` (`+v(e.label)+`) `,1)]),_:1},8,[`modelValue`,`options`,`label`])],64))}}),q=e=>({url:q.url(e),method:`post`});q.definition={methods:[`post`],url:`/admin/actions/install/validate-db`},q.url=e=>q.definition.url+P(e),q.post=e=>({url:q.url(e),method:`post`});var J=e=>({url:J.url(e),method:`post`});J.definition={methods:[`post`],url:`/admin/actions/install/validate-account`},J.url=e=>J.definition.url+P(e),J.post=e=>({url:J.url(e),method:`post`});var Y=e=>({url:Y.url(e),method:`post`});Y.definition={methods:[`post`],url:`/admin/actions/install/validate-site`},Y.url=e=>Y.definition.url+P(e),Y.post=e=>({url:Y.url(e),method:`post`});var X=e=>({url:X.url(e),method:`post`});X.definition={methods:[`post`],url:`/admin/actions/install/install`},X.url=e=>X.definition.url+P(e),X.post=e=>({url:X.url(e),method:`post`});var Z=e=>({url:Z.url(e),method:`get`});Z.definition={methods:[`get`,`head`],url:`/admin/install`},Z.url=e=>Z.definition.url+P(e),Z.get=e=>({url:Z.url(e),method:`get`}),Z.head=e=>({url:Z.url(e),method:`head`});var ie=()=>{let t=m({start:{},license:{id:`license`,label:`License`},account:{id:`account`,label:`Account`,action:J().url,heading:e(`Create your account`)},db:{id:`db`,label:`Database`,action:q().url,heading:e(`Connect to your database`)},site:{id:`site`,label:`Site`,action:Y().url,heading:e(`Set up your site`),submitLabel:e(`Finish up`)},installing:{label:`Installing`,id:`installing`}}),n=p(()=>Object.keys(t.value).reduce((e,n)=>{let r=t.value[n];return(r.hidden??!1)||(e[n]=r),e},{})),r=p(()=>Object.keys(n.value).reduce((e,t)=>{let r=n.value[t];return(r.label??!1)&&(e[t]=r),e},{})),i=I(n),a=p(()=>i.stepNames.value[i.index.value]);return{...i,possibleSteps:t,currentId:a,dotSteps:r}},ae=``+new URL(`account-Bwr2nbaw.png`,import.meta.url).href,oe=``+new URL(`site-DFRpgmW9.png`,import.meta.url).href,se=``+new URL(`db-BfYMxU0Q.png`,import.meta.url).href,ce=T(n({__name:`Callout`,props:{variant:{default:`info`},appearance:{default:`default`}},setup(e){return(n,r)=>(o(),k(`div`,{class:f({callout:!0,"callout--danger":e.variant===`danger`,"callout--info":e.variant===`info`,"callout--success":e.variant===`success`,"callout--warning":e.variant===`warning`,"callout--emphasis":e.appearance===`emphasis`,"callout--default":e.appearance===`default`,"callout--outline":e.appearance===`outline`,"callout--plain":e.appearance===`plain`})},[t(n.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-2a01f40b`]]),le={class:`grid grid-cols-5 gap-2`},ue={class:`col-span-2`},de={class:`col-span-2`},fe={key:0,class:`error-list col-span-5`},pe={class:`grid grid-cols-2 gap-2`},me={key:0,class:`error-list col-span-2`},he={class:`grid grid-cols-4 gap-2`},ge={class:`col-span-2`},_e=n({__name:`DbFields`,props:{modelValue:{default:()=>({})},errors:{default:()=>({})}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=n,i=t,a=p({get(){return i.modelValue},set(e){r(`update:modelValue`,e)}}),s=[{value:`mysql`,label:`MySQL`},{value:`pgsql`,label:`PostgreSQL`}];return z(`db-driver`),(n,r)=>(o(),k(x,null,[t.errors&&t.errors[`*`]?(o(),A(ce,{key:0,variant:`danger`},{default:d(()=>[D(`ul`,null,[(o(!0),k(x,null,j(t.errors[`*`],e=>(o(),k(`li`,null,v(e),1))),256))])]),_:1})):h(``,!0),D(`div`,le,[D(`div`,ue,[l(M,{label:E(e)(`Driver`),name:`driver`,id:`db-driver`,modelValue:a.value.driver,"onUpdate:modelValue":r[0]||=e=>a.value.driver=e,ref:`db-driver`,options:s,error:t.errors?.drive},null,8,[`label`,`modelValue`,`error`])]),D(`div`,de,[l(R,{label:E(e)(`Host`),name:`host`,id:`db-host`,modelValue:a.value.host,"onUpdate:modelValue":r[1]||=e=>a.value.host=e,placeholder:`127.0.0.1`,error:t.errors?.host},null,8,[`label`,`modelValue`,`error`])]),D(`div`,null,[l(R,{label:E(e)(`Port`),name:`port`,id:`db-port`,modelValue:a.value.port,"onUpdate:modelValue":r[2]||=e=>a.value.port=e,size:`7`,error:t.errors?.port},null,8,[`label`,`modelValue`,`error`])]),t.errors?.server?(o(),k(`ul`,fe,[D(`li`,null,v(t.errors?.server),1)])):h(``,!0)]),D(`div`,pe,[D(`div`,null,[l(R,{label:E(e)(`Username`),name:`username`,id:`db-username`,modelValue:a.value.username,"onUpdate:modelValue":r[3]||=e=>a.value.username=e,placeholder:`root`,error:t.errors?.username},null,8,[`label`,`modelValue`,`error`])]),D(`div`,null,[l(H,{label:E(e)(`Password`),name:`password`,id:`db-password`,modelValue:a.value.password,"onUpdate:modelValue":r[4]||=e=>a.value.password=e,error:t.errors?.password},null,8,[`label`,`modelValue`,`error`])]),t.errors?.user?(o(),k(`ul`,me,[D(`li`,null,v(t.errors?.user),1)])):h(``,!0)]),D(`div`,he,[D(`div`,ge,[l(R,{label:E(e)(`Database Name`),name:`name`,id:`db-database`,modelValue:a.value.database,"onUpdate:modelValue":r[5]||=e=>a.value.database=e,errors:t.errors?.database},null,8,[`label`,`modelValue`,`errors`])]),D(`div`,null,[l(R,{label:E(e)(`Prefix`),name:`prefix`,id:`db-prefix`,modelValue:a.value.prefix,"onUpdate:modelValue":r[6]||=e=>a.value.prefix=e,maxlength:`5`,size:`7`,error:t.errors?.prefix},null,8,[`label`,`modelValue`,`error`])])])],64))}}),ve={key:0,class:`content`},ye={key:1,class:`content`},be={key:2,class:`content`},xe={class:`text-left border border-red-500 rounded p-4 text-red-800 bg-red-50 font-mono text-xs`},Se=T(n({__name:`InstallingScreen`,props:{data:{}},setup(t){let{props:n}=b(),i=t,{execute:a,error:s,isSuccess:c,isLoading:l,isError:u}=F(`/admin/actions/install/install`,{onSuccess:e=>{setTimeout(()=>{window.location.href=n.postCpLoginRedirect},1e3)}});return r(async()=>{await a(i.data)}),(t,n)=>(o(),A(N,{class:`max-w-[80ch] mx-auto`},{default:d(()=>[E(l)?(o(),k(`div`,ve,[D(`h2`,null,v(E(e)(`Installing Craft CMS…`)),1),n[0]||=D(`craft-spinner`,null,null,-1)])):E(c)?(o(),k(`div`,ye,[D(`h2`,null,v(E(e)(`Craft is installed! 🎉`)),1),n[1]||=D(`div`,{class:`flex justify-center items-center`},[D(`craft-icon`,{name:`circle-check`,variant:`regular`,style:{color:`var(--c-color-success-fill-loud)`,"font-size":`2.5rem`}})],-1)])):h(``,!0),E(u)?(o(),k(`div`,be,[D(`h2`,null,v(E(e)(`Install failed 😞`)),1),D(`div`,xe,v(E(s).message),1)])):h(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-900f8a00`]]),Ce={class:`grid md:grid-cols-2 gap-4 items-center`},we={class:`aspect-[352/455] w-1/2 md:w-3/4 mx-auto`},Te=[`src`],Ee={class:`mb-4`},De={class:`grid gap-3 md:pr-6`},Q=n({__name:`StepScreen`,props:{illustrationSrc:{default:``},heading:{default:``}},setup(e){return(n,r)=>(o(),k(`div`,Ce,[D(`div`,we,[D(`img`,{loading:`lazy`,src:e.illustrationSrc,alt:``,width:`368`},null,8,Te)]),D(`div`,null,[D(`h2`,Ee,v(e.heading),1),D(`div`,De,[t(n.$slots,`default`)])])]))}}),$={class:`install`},Oe=[`innerHTML`],ke={class:`flex justify-center w-full`},Ae={key:2},je={class:`grid grid-cols-3 items-center gap-2 w-full`},Me={class:`flex gap-2 justify-center`},Ne={class:`sr-only`},Pe=[`loading`],Fe=T(n({__name:`Install`,props:{dbConfig:{},localeOptions:{},licenseHtml:{},defaultSystemName:{},defaultSiteUrl:{},defaultSiteLanguage:{},showDbScreen:{type:Boolean}},setup(t){_(e=>({v6daf2f4d:n.value}));let n=p(()=>`url(${ne})`),r=t,{dotSteps:a,current:s,currentId:c,goTo:u,goToNext:m,goToPrevious:b,isCurrent:C,possibleSteps:T}=ie();i(()=>{T.value.db.hidden=!r.showDbScreen});function M(){u(`license`)}let P=y({account:{},db:{},site:{}}),F=g({account:{username:``,email:``,password:``},db:{driver:r.dbConfig.driver,host:r.dbConfig.host,port:r.dbConfig.port,database:r.dbConfig.database,username:r.dbConfig.username,password:r.dbConfig.password,prefix:r.dbConfig.prefix},site:{name:r.defaultSystemName,baseUrl:r.defaultSiteUrl,language:r.defaultSiteLanguage}}),I=p(()=>!C(`start`));function R(e){if(F.processing)return;P[c.value]={};let t=e.currentTarget;F.transform(e=>e[c.value]).post(t.action,{onSuccess:()=>{m()},onError:e=>{P[c.value]=e}})}return(n,r)=>(o(),k(x,null,[l(E(ee),{title:E(e)(`Install Craft CMS`)},null,8,[`title`]),D(`div`,$,[E(C)(`start`)?(o(),k(`craft-button`,{key:0,type:`button`,onClick:M,variant:`primary`,class:`begin-button`},[O(v(E(e)(`Install Craft CMS`))+` `,1),r[6]||=D(`craft-icon`,{name:`arrow-right`,slot:`suffix`},null,-1)])):h(``,!0),l(L,{"is-active":I.value,overlay:!1,width:`2xl`},{default:d(()=>[E(C)(`license`)?(o(),A(N,{key:0,class:`max-w-[80ch] mx-auto`},{actions:d(()=>[D(`div`,ke,[D(`craft-button`,{type:`button`,variant:`primary`,onClick:r[0]||=e=>E(u)(`account`)},v(E(e)(`Got it`)),1)])]),default:d(()=>[l(E(w),{data:`licenseHtml`},{fallback:d(()=>[...r[7]||=[D(`div`,{class:`flex justify-center`},[D(`craft-spinner`)],-1)]]),default:d(()=>[D(`div`,{class:`license`,innerHTML:t.licenseHtml},null,8,Oe)]),_:1})]),_:1})):E(C)(`installing`)?(o(),A(Se,{key:1,data:E(F),onSuccess:r[1]||=e=>E(m)()},null,8,[`data`])):(o(),k(`div`,Ae,[l(N,{as:`form`,action:E(s).action,onSubmit:S(R,[`prevent`])},{"footer-content":d(()=>[D(`div`,je,[D(`craft-button`,{type:`button`,onClick:r[5]||=(...e)=>E(b)&&E(b)(...e),appearance:`plain`,class:`justify-self-start`},[O(v(E(e)(`Back`))+` `,1),r[9]||=D(`craft-icon`,{name:`arrow-left`,slot:`prefix`},null,-1)]),D(`ul`,Me,[(o(!0),k(x,null,j(E(a),(e,t)=>(o(),k(`li`,{key:t},[D(`span`,{class:f([`dot`,{"dot--active":E(C)(t)}])},[D(`span`,Ne,v(e.label),1)],2)]))),128))]),D(`craft-button`,{class:`justify-self-end`,type:`submit`,variant:`primary`,loading:E(F).processing},[O(v(E(s).submitLabel??E(e)(`Next`))+` `,1),r[10]||=D(`craft-icon`,{name:`arrow-right`,slot:`suffix`},null,-1)],8,Pe)])]),default:d(()=>[E(C)(`account`)?(o(),A(Q,{key:0,"illustration-src":E(ae),heading:E(s).heading,class:`screen`},{default:d(()=>[E(C)(`account`)?(o(),A(U,{key:0,modelValue:E(F).account,"onUpdate:modelValue":r[2]||=e=>E(F).account=e,errors:P.account},null,8,[`modelValue`,`errors`])):h(``,!0)]),_:1},8,[`illustration-src`,`heading`])):h(``,!0),E(C)(`db`)?(o(),A(Q,{key:1,"illustration-src":E(se),heading:E(s).heading,class:`screen`},{default:d(()=>[l(_e,{modelValue:E(F).db,"onUpdate:modelValue":r[3]||=e=>E(F).db=e,errors:P.db},null,8,[`modelValue`,`errors`])]),_:1},8,[`illustration-src`,`heading`])):h(``,!0),E(C)(`site`)?(o(),A(Q,{key:2,"illustration-src":E(oe),heading:E(s).heading,class:`screen`},{default:d(()=>[l(E(w),{data:`localeOptions`},{fallback:d(()=>[...r[8]||=[D(`craft-spinner`,null,null,-1)]]),default:d(()=>[l(K,{modelValue:E(F).site,"onUpdate:modelValue":r[4]||=e=>E(F).site=e,localeOptions:t.localeOptions,errors:P.site},null,8,[`modelValue`,`localeOptions`,`errors`])]),_:1})]),_:1},8,[`illustration-src`,`heading`])):h(``,!0)]),_:1},8,[`action`])]))]),_:1},8,[`is-active`])])],64))}}),[[`__scopeId`,`data-v-4bad13bd`]]);export{Fe as default}; \ No newline at end of file diff --git a/resources/build/assets/Install-dGeldc5X.js b/resources/build/assets/Install-dGeldc5X.js new file mode 100644 index 00000000000..150cff9773b --- /dev/null +++ b/resources/build/assets/Install-dGeldc5X.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import"./lit-BpPOIUnZ.js";import{B as t,D as n,E as r,G as i,I as a,J as o,N as s,P as c,Q as l,R as u,S as d,T as f,V as p,X as m,Y as h,a as ee,at as g,b as _,c as v,d as te,dt as y,h as b,l as x,m as S,ot as C,q as w,r as T,t as E,tt as D,v as O,x as k,y as A}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{t as j}from"./Select-BfqUlpLH.js";import{t as M}from"./Pane-C776R7L2.js";import{n as N}from"./wayfinder-ghdHxiwr.js";import{i as P}from"./useFetch-DVKzrSDz.js";import{i as F}from"./dist-BM1n-Nbt.js";import{t as I}from"./Modal-C_CR4KJv.js";import{t as L}from"./CraftInput-BrzKPRWU.js";import{t as ne}from"./CraftCombobox-DdSZuyjg.js";var re=``+new URL(`installer-bg-D5zoDR_3.png`,import.meta.url).href,R=e=>{o(w(e),async e=>{e?.tagName.includes(`CRAFT-`)&&(await customElements.whenDefined(e.tagName.toLowerCase()),await e?.updateComplete),e?.focus()})},z=[`.modelValue`,`has-feedback-for`],B={slot:`feedback`},V={key:0,class:`error-list`},H=n({name:`CraftInputPassword`,__name:`CraftInputPassword`,props:s({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=i(e,`modelValue`);return(n,r)=>(u(),d(`craft-input-password`,c(n.$attrs,{".modelValue":t.value,onModelValueChanged:r[0]||=e=>t.value=e.target?.modelValue,"has-feedback-for":e.error?`error`:``}),[p(n.$slots,`default`),A(`div`,B,[e.error?(u(),d(`ul`,V,[A(`li`,null,D(e.error),1)])):k(``,!0)])],48,z))}}),U=n({__name:`AccountFields`,props:{modelValue:{default:()=>({email:``,username:``,password:``})},errors:{default:()=>({email:``,username:``,password:``})}},emits:[`success`,`click:back`,`update:modelValue`],setup(t,{emit:n}){let i=n,a=t,o=x(),s=O(()=>!o.props.useEmailAsUsername),c=O({get(){return a.modelValue},set(e){i(`update:modelValue`,e)}});return R(`username-input`),(n,i)=>(u(),d(b,null,[s.value?(u(),_(L,{key:0,label:y(e)(`Username`),id:`account-username`,name:`username`,modelValue:c.value.username,"onUpdate:modelValue":i[0]||=e=>c.value.username=e,error:t.errors?.username,maxlength:`255`,required:``,autofocus:``},null,8,[`label`,`modelValue`,`error`])):k(``,!0),r(L,{label:y(e)(`Email`),id:`account-email`,name:`email`,modelValue:c.value.email,"onUpdate:modelValue":i[1]||=e=>c.value.email=e,maxlength:`255`,autocomplete:`email`,error:t.errors?.email,required:``,type:`email`},null,8,[`label`,`modelValue`,`error`]),r(H,{label:y(e)(`Password`),id:`account-password`,name:`password`,modelValue:c.value.password,"onUpdate:modelValue":i[2]||=e=>c.value.password=e,error:t.errors?.password,required:``,autocomplete:`new-password`},null,8,[`label`,`modelValue`,`error`])],64))}}),W={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},G={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},K=n({__name:`SiteFields`,props:{modelValue:{default:()=>({})},localeOptions:{default:()=>[]},errors:{default:()=>({})}},emits:[`update:modelValue`],setup(t,{emit:n}){let i=n,a=t,o=x(),s=O({get(){return a.modelValue},set(e){i(`update:modelValue`,e)}});return R(`site-name`),(n,i)=>(u(),d(b,null,[r(L,{name:`name`,label:y(e)(`System Name`),id:`site-name`,modelValue:s.value.name,"onUpdate:modelValue":i[0]||=e=>s.value.name=e,maxlength:`255`,ref:`site-name`,error:t.errors?.name},null,8,[`label`,`modelValue`,`error`]),r(ne,{modelValue:s.value.baseUrl,"onUpdate:modelValue":i[1]||=e=>s.value.baseUrl=e,label:y(e)(`Base URL`),"help-text":y(e)(`The base URL for the site.`),id:`base-url`,name:`baseUrl`,error:t.errors?.baseUrl,options:y(o).props.baseUrlSuggestions},{after:m(()=>[A(`craft-callout`,W,[f(D(y(e)(`This can begin with an environment variable or alias.`))+` `,1),A(`a`,G,D(y(e)(`Learn more`)),1)])]),_:1},8,[`modelValue`,`label`,`help-text`,`error`,`options`]),r(j,{modelValue:s.value.language,"onUpdate:modelValue":i[2]||=e=>s.value.language=e,options:t.localeOptions,label:y(e)(`Language`),id:`site-language`,name:`language`},{"option-label":m(({option:e})=>[f(D(e.value)+` (`+D(e.label)+`) `,1)]),_:1},8,[`modelValue`,`options`,`label`])],64))}}),q=e=>({url:q.url(e),method:`post`});q.definition={methods:[`post`],url:`/admin/actions/install/validate-db`},q.url=e=>q.definition.url+N(e),q.post=e=>({url:q.url(e),method:`post`});var J=e=>({url:J.url(e),method:`post`});J.definition={methods:[`post`],url:`/admin/actions/install/validate-account`},J.url=e=>J.definition.url+N(e),J.post=e=>({url:J.url(e),method:`post`});var Y=e=>({url:Y.url(e),method:`post`});Y.definition={methods:[`post`],url:`/admin/actions/install/validate-site`},Y.url=e=>Y.definition.url+N(e),Y.post=e=>({url:Y.url(e),method:`post`});var X=e=>({url:X.url(e),method:`post`});X.definition={methods:[`post`],url:`/admin/actions/install/install`},X.url=e=>X.definition.url+N(e),X.post=e=>({url:X.url(e),method:`post`});var Z=e=>({url:Z.url(e),method:`get`});Z.definition={methods:[`get`,`head`],url:`/admin/install`},Z.url=e=>Z.definition.url+N(e),Z.get=e=>({url:Z.url(e),method:`get`}),Z.head=e=>({url:Z.url(e),method:`head`});var ie=()=>{let t=C({start:{},license:{id:`license`,label:`License`},account:{id:`account`,label:`Account`,action:J().url,heading:e(`Create your account`)},db:{id:`db`,label:`Database`,action:q().url,heading:e(`Connect to your database`)},site:{id:`site`,label:`Site`,action:Y().url,heading:e(`Set up your site`),submitLabel:e(`Finish up`)},installing:{label:`Installing`,id:`installing`}}),n=O(()=>Object.keys(t.value).reduce((e,n)=>{let r=t.value[n];return(r.hidden??!1)||(e[n]=r),e},{})),r=O(()=>Object.keys(n.value).reduce((e,t)=>{let r=n.value[t];return(r.label??!1)&&(e[t]=r),e},{})),i=F(n),a=O(()=>i.stepNames.value[i.index.value]);return{...i,possibleSteps:t,currentId:a,dotSteps:r}},ae=``+new URL(`account-Bwr2nbaw.png`,import.meta.url).href,oe=``+new URL(`site-DFRpgmW9.png`,import.meta.url).href,se=``+new URL(`db-BfYMxU0Q.png`,import.meta.url).href,ce=E(n({__name:`Callout`,props:{variant:{default:`info`},appearance:{default:`default`}},setup(e){return(t,n)=>(u(),d(`div`,{class:l({callout:!0,"callout--danger":e.variant===`danger`,"callout--info":e.variant===`info`,"callout--success":e.variant===`success`,"callout--warning":e.variant===`warning`,"callout--emphasis":e.appearance===`emphasis`,"callout--default":e.appearance===`default`,"callout--outline":e.appearance===`outline`,"callout--plain":e.appearance===`plain`})},[p(t.$slots,`default`,{},void 0,!0)],2))}}),[[`__scopeId`,`data-v-2a01f40b`]]),le={class:`grid grid-cols-5 gap-2`},ue={class:`col-span-2`},de={class:`col-span-2`},fe={key:0,class:`error-list col-span-5`},pe={class:`grid grid-cols-2 gap-2`},me={key:0,class:`error-list col-span-2`},he={class:`grid grid-cols-4 gap-2`},ge={class:`col-span-2`},_e=n({__name:`DbFields`,props:{modelValue:{default:()=>({})},errors:{default:()=>({})}},emits:[`update:modelValue`],setup(n,{emit:i}){let a=i,o=n,s=O({get(){return o.modelValue},set(e){a(`update:modelValue`,e)}}),c=[{value:`mysql`,label:`MySQL`},{value:`pgsql`,label:`PostgreSQL`}];return R(`db-driver`),(i,a)=>(u(),d(b,null,[n.errors&&n.errors[`*`]?(u(),_(ce,{key:0,variant:`danger`},{default:m(()=>[A(`ul`,null,[(u(!0),d(b,null,t(n.errors[`*`],e=>(u(),d(`li`,null,D(e),1))),256))])]),_:1})):k(``,!0),A(`div`,le,[A(`div`,ue,[r(j,{label:y(e)(`Driver`),name:`driver`,id:`db-driver`,modelValue:s.value.driver,"onUpdate:modelValue":a[0]||=e=>s.value.driver=e,ref:`db-driver`,options:c,error:n.errors?.drive},null,8,[`label`,`modelValue`,`error`])]),A(`div`,de,[r(L,{label:y(e)(`Host`),name:`host`,id:`db-host`,modelValue:s.value.host,"onUpdate:modelValue":a[1]||=e=>s.value.host=e,placeholder:`127.0.0.1`,error:n.errors?.host},null,8,[`label`,`modelValue`,`error`])]),A(`div`,null,[r(L,{label:y(e)(`Port`),name:`port`,id:`db-port`,modelValue:s.value.port,"onUpdate:modelValue":a[2]||=e=>s.value.port=e,size:`7`,error:n.errors?.port},null,8,[`label`,`modelValue`,`error`])]),n.errors?.server?(u(),d(`ul`,fe,[A(`li`,null,D(n.errors?.server),1)])):k(``,!0)]),A(`div`,pe,[A(`div`,null,[r(L,{label:y(e)(`Username`),name:`username`,id:`db-username`,modelValue:s.value.username,"onUpdate:modelValue":a[3]||=e=>s.value.username=e,placeholder:`root`,error:n.errors?.username},null,8,[`label`,`modelValue`,`error`])]),A(`div`,null,[r(H,{label:y(e)(`Password`),name:`password`,id:`db-password`,modelValue:s.value.password,"onUpdate:modelValue":a[4]||=e=>s.value.password=e,error:n.errors?.password},null,8,[`label`,`modelValue`,`error`])]),n.errors?.user?(u(),d(`ul`,me,[A(`li`,null,D(n.errors?.user),1)])):k(``,!0)]),A(`div`,he,[A(`div`,ge,[r(L,{label:y(e)(`Database Name`),name:`name`,id:`db-database`,modelValue:s.value.database,"onUpdate:modelValue":a[5]||=e=>s.value.database=e,errors:n.errors?.database},null,8,[`label`,`modelValue`,`errors`])]),A(`div`,null,[r(L,{label:y(e)(`Prefix`),name:`prefix`,id:`db-prefix`,modelValue:s.value.prefix,"onUpdate:modelValue":a[6]||=e=>s.value.prefix=e,maxlength:`5`,size:`7`,error:n.errors?.prefix},null,8,[`label`,`modelValue`,`error`])])])],64))}}),ve={key:0,class:`content`},ye={key:1,class:`content`},be={key:2,class:`content`},xe={class:`text-left border border-red-500 rounded p-4 text-red-800 bg-red-50 font-mono text-xs`},Se=E(n({__name:`InstallingScreen`,props:{data:{}},setup(t){let{props:n}=x(),r=t,{execute:i,error:o,isSuccess:s,isLoading:c,isError:l}=P(`/admin/actions/install/install`,{onSuccess:e=>{setTimeout(()=>{window.location.href=n.postCpLoginRedirect},1e3)}});return a(async()=>{await i(r.data)}),(t,n)=>(u(),_(M,{class:`max-w-[80ch] mx-auto`},{default:m(()=>[y(c)?(u(),d(`div`,ve,[A(`h2`,null,D(y(e)(`Installing Craft CMS…`)),1),n[0]||=A(`craft-spinner`,null,null,-1)])):y(s)?(u(),d(`div`,ye,[A(`h2`,null,D(y(e)(`Craft is installed! 🎉`)),1),n[1]||=A(`div`,{class:`flex justify-center items-center`},[A(`craft-icon`,{name:`circle-check`,variant:`regular`,style:{color:`var(--c-color-success-fill-loud)`,"font-size":`2.5rem`}})],-1)])):k(``,!0),y(l)?(u(),d(`div`,be,[A(`h2`,null,D(y(e)(`Install failed 😞`)),1),A(`div`,xe,D(y(o).message),1)])):k(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-900f8a00`]]),Ce={class:`grid md:grid-cols-2 gap-4 items-center`},we={class:`aspect-[352/455] w-1/2 md:w-3/4 mx-auto`},Te=[`src`],Ee={class:`mb-4`},De={class:`grid gap-3 md:pr-6`},Q=n({__name:`StepScreen`,props:{illustrationSrc:{default:``},heading:{default:``}},setup(e){return(t,n)=>(u(),d(`div`,Ce,[A(`div`,we,[A(`img`,{loading:`lazy`,src:e.illustrationSrc,alt:``,width:`368`},null,8,Te)]),A(`div`,null,[A(`h2`,Ee,D(e.heading),1),A(`div`,De,[p(t.$slots,`default`)])])]))}}),$={class:`install`},Oe=[`innerHTML`],ke={class:`flex justify-center w-full`},Ae={key:2},je={class:`grid grid-cols-3 items-center gap-2 w-full`},Me={class:`flex gap-2 justify-center`},Ne={class:`sr-only`},Pe=[`loading`],Fe=E(n({__name:`Install`,props:{dbConfig:{},localeOptions:{},licenseHtml:{},defaultSystemName:{},defaultSiteUrl:{},defaultSiteLanguage:{},showDbScreen:{type:Boolean}},setup(n){te(e=>({v6daf2f4d:i.value}));let i=O(()=>`url(${re})`),a=n,{dotSteps:o,current:s,currentId:c,goTo:p,goToNext:x,goToPrevious:C,isCurrent:w,possibleSteps:E}=ie();h(()=>{E.value.db.hidden=!a.showDbScreen});function j(){p(`license`)}let N=g({account:{},db:{},site:{}}),P=v({account:{username:``,email:``,password:``},db:{driver:a.dbConfig.driver,host:a.dbConfig.host,port:a.dbConfig.port,database:a.dbConfig.database,username:a.dbConfig.username,password:a.dbConfig.password,prefix:a.dbConfig.prefix},site:{name:a.defaultSystemName,baseUrl:a.defaultSiteUrl,language:a.defaultSiteLanguage}}),F=O(()=>!w(`start`));function L(e){if(P.processing)return;N[c.value]={};let t=e.currentTarget;P.transform(e=>e[c.value]).post(t.action,{onSuccess:()=>{x()},onError:e=>{N[c.value]=e}})}return(i,a)=>(u(),d(b,null,[r(y(ee),{title:y(e)(`Install Craft CMS`)},null,8,[`title`]),A(`div`,$,[y(w)(`start`)?(u(),d(`craft-button`,{key:0,type:`button`,onClick:j,variant:`primary`,class:`begin-button`},[f(D(y(e)(`Install Craft CMS`))+` `,1),a[6]||=A(`craft-icon`,{name:`arrow-right`,slot:`suffix`},null,-1)])):k(``,!0),r(I,{"is-active":F.value,overlay:!1,width:`2xl`},{default:m(()=>[y(w)(`license`)?(u(),_(M,{key:0,class:`max-w-[80ch] mx-auto`},{actions:m(()=>[A(`div`,ke,[A(`craft-button`,{type:`button`,variant:`primary`,onClick:a[0]||=e=>y(p)(`account`)},D(y(e)(`Got it`)),1)])]),default:m(()=>[r(y(T),{data:`licenseHtml`},{fallback:m(()=>[...a[7]||=[A(`div`,{class:`flex justify-center`},[A(`craft-spinner`)],-1)]]),default:m(()=>[A(`div`,{class:`license`,innerHTML:n.licenseHtml},null,8,Oe)]),_:1})]),_:1})):y(w)(`installing`)?(u(),_(Se,{key:1,data:y(P),onSuccess:a[1]||=e=>y(x)()},null,8,[`data`])):(u(),d(`div`,Ae,[r(M,{as:`form`,action:y(s).action,onSubmit:S(L,[`prevent`])},{"footer-content":m(()=>[A(`div`,je,[A(`craft-button`,{type:`button`,onClick:a[5]||=(...e)=>y(C)&&y(C)(...e),appearance:`plain`,class:`justify-self-start`},[f(D(y(e)(`Back`))+` `,1),a[9]||=A(`craft-icon`,{name:`arrow-left`,slot:`prefix`},null,-1)]),A(`ul`,Me,[(u(!0),d(b,null,t(y(o),(e,t)=>(u(),d(`li`,{key:t},[A(`span`,{class:l([`dot`,{"dot--active":y(w)(t)}])},[A(`span`,Ne,D(e.label),1)],2)]))),128))]),A(`craft-button`,{class:`justify-self-end`,type:`submit`,variant:`primary`,loading:y(P).processing},[f(D(y(s).submitLabel??y(e)(`Next`))+` `,1),a[10]||=A(`craft-icon`,{name:`arrow-right`,slot:`suffix`},null,-1)],8,Pe)])]),default:m(()=>[y(w)(`account`)?(u(),_(Q,{key:0,"illustration-src":y(ae),heading:y(s).heading,class:`screen`},{default:m(()=>[y(w)(`account`)?(u(),_(U,{key:0,modelValue:y(P).account,"onUpdate:modelValue":a[2]||=e=>y(P).account=e,errors:N.account},null,8,[`modelValue`,`errors`])):k(``,!0)]),_:1},8,[`illustration-src`,`heading`])):k(``,!0),y(w)(`db`)?(u(),_(Q,{key:1,"illustration-src":y(se),heading:y(s).heading,class:`screen`},{default:m(()=>[r(_e,{modelValue:y(P).db,"onUpdate:modelValue":a[3]||=e=>y(P).db=e,errors:N.db},null,8,[`modelValue`,`errors`])]),_:1},8,[`illustration-src`,`heading`])):k(``,!0),y(w)(`site`)?(u(),_(Q,{key:2,"illustration-src":y(oe),heading:y(s).heading,class:`screen`},{default:m(()=>[r(y(T),{data:`localeOptions`},{fallback:m(()=>[...a[8]||=[A(`craft-spinner`,null,null,-1)]]),default:m(()=>[r(K,{modelValue:y(P).site,"onUpdate:modelValue":a[4]||=e=>y(P).site=e,localeOptions:n.localeOptions,errors:N.site},null,8,[`modelValue`,`localeOptions`,`errors`])]),_:1})]),_:1},8,[`illustration-src`,`heading`])):k(``,!0)]),_:1},8,[`action`])]))]),_:1},8,[`is-active`])])],64))}}),[[`__scopeId`,`data-v-4bad13bd`]]);export{Fe as default}; \ No newline at end of file diff --git a/resources/build/assets/LoginController-Di9JbSGR.js b/resources/build/assets/LoginController-DSi1xowD.js similarity index 97% rename from resources/build/assets/LoginController-Di9JbSGR.js rename to resources/build/assets/LoginController-DSi1xowD.js index 25d3842c987..5f2de72041e 100644 --- a/resources/build/assets/LoginController-Di9JbSGR.js +++ b/resources/build/assets/LoginController-DSi1xowD.js @@ -1 +1 @@ -import{n as e}from"./wayfinder-CyAPyHKQ.js";var t=e=>({url:t.url(e),method:`post`});t.definition={methods:[`post`],url:`/actions/users/login-modal`},t.url=n=>t.definition.url+e(n),t.post=e=>({url:t.url(e),method:`post`});var n=e=>({url:n.url(e),method:`post`});n.definition={methods:[`post`],url:`/admin/actions/users/login-modal`},n.url=t=>n.definition.url+e(t),n.post=e=>({url:n.url(e),method:`post`});var r={"/actions/users/login-modal":t,"/admin/actions/users/login-modal":n},i=e=>({url:i.url(e),method:`get`});i.definition={methods:[`get`,`head`,`post`,`put`,`patch`,`delete`,`options`],url:`/actions/users/redirect`},i.url=t=>i.definition.url+e(t),i.get=e=>({url:i.url(e),method:`get`}),i.head=e=>({url:i.url(e),method:`head`}),i.post=e=>({url:i.url(e),method:`post`}),i.put=e=>({url:i.url(e),method:`put`}),i.patch=e=>({url:i.url(e),method:`patch`}),i.delete=e=>({url:i.url(e),method:`delete`}),i.options=e=>({url:i.url(e),method:`options`});var a=e=>({url:a.url(e),method:`get`});a.definition={methods:[`get`,`head`,`post`,`put`,`patch`,`delete`,`options`],url:`/admin/actions/users/redirect`},a.url=t=>a.definition.url+e(t),a.get=e=>({url:a.url(e),method:`get`}),a.head=e=>({url:a.url(e),method:`head`}),a.post=e=>({url:a.url(e),method:`post`}),a.put=e=>({url:a.url(e),method:`put`}),a.patch=e=>({url:a.url(e),method:`patch`}),a.delete=e=>({url:a.url(e),method:`delete`}),a.options=e=>({url:a.url(e),method:`options`});var o={"/actions/users/redirect":i,"/admin/actions/users/redirect":a},s=e=>({url:s.url(e),method:`get`});s.definition={methods:[`get`,`head`],url:`/admin/login`},s.url=t=>s.definition.url+e(t),s.get=e=>({url:s.url(e),method:`get`}),s.head=e=>({url:s.url(e),method:`head`});var c=e=>({url:c.url(e),method:`post`});c.definition={methods:[`post`],url:`/admin/login`},c.url=t=>c.definition.url+e(t),c.post=e=>({url:c.url(e),method:`post`});var l=e=>({url:l.url(e),method:`get`});l.definition={methods:[`get`,`head`],url:`/admin/logout`},l.url=t=>l.definition.url+e(t),l.get=e=>({url:l.url(e),method:`get`}),l.head=e=>({url:l.url(e),method:`head`});var u={showLoginModal:r,redirect:o,showLogin:s,attemptLogin:c,logout:l};export{c as n,u as t}; \ No newline at end of file +import{n as e}from"./wayfinder-ghdHxiwr.js";var t=e=>({url:t.url(e),method:`post`});t.definition={methods:[`post`],url:`/actions/users/login-modal`},t.url=n=>t.definition.url+e(n),t.post=e=>({url:t.url(e),method:`post`});var n=e=>({url:n.url(e),method:`post`});n.definition={methods:[`post`],url:`/admin/actions/users/login-modal`},n.url=t=>n.definition.url+e(t),n.post=e=>({url:n.url(e),method:`post`});var r={"/actions/users/login-modal":t,"/admin/actions/users/login-modal":n},i=e=>({url:i.url(e),method:`get`});i.definition={methods:[`get`,`head`,`post`,`put`,`patch`,`delete`,`options`],url:`/actions/users/redirect`},i.url=t=>i.definition.url+e(t),i.get=e=>({url:i.url(e),method:`get`}),i.head=e=>({url:i.url(e),method:`head`}),i.post=e=>({url:i.url(e),method:`post`}),i.put=e=>({url:i.url(e),method:`put`}),i.patch=e=>({url:i.url(e),method:`patch`}),i.delete=e=>({url:i.url(e),method:`delete`}),i.options=e=>({url:i.url(e),method:`options`});var a=e=>({url:a.url(e),method:`get`});a.definition={methods:[`get`,`head`,`post`,`put`,`patch`,`delete`,`options`],url:`/admin/actions/users/redirect`},a.url=t=>a.definition.url+e(t),a.get=e=>({url:a.url(e),method:`get`}),a.head=e=>({url:a.url(e),method:`head`}),a.post=e=>({url:a.url(e),method:`post`}),a.put=e=>({url:a.url(e),method:`put`}),a.patch=e=>({url:a.url(e),method:`patch`}),a.delete=e=>({url:a.url(e),method:`delete`}),a.options=e=>({url:a.url(e),method:`options`});var o={"/actions/users/redirect":i,"/admin/actions/users/redirect":a},s=e=>({url:s.url(e),method:`get`});s.definition={methods:[`get`,`head`],url:`/admin/login`},s.url=t=>s.definition.url+e(t),s.get=e=>({url:s.url(e),method:`get`}),s.head=e=>({url:s.url(e),method:`head`});var c=e=>({url:c.url(e),method:`post`});c.definition={methods:[`post`],url:`/admin/login`},c.url=t=>c.definition.url+e(t),c.post=e=>({url:c.url(e),method:`post`});var l=e=>({url:l.url(e),method:`get`});l.definition={methods:[`get`,`head`],url:`/admin/logout`},l.url=t=>l.definition.url+e(t),l.get=e=>({url:l.url(e),method:`get`}),l.head=e=>({url:l.url(e),method:`head`});var u={showLoginModal:r,redirect:o,showLogin:s,attemptLogin:c,logout:l};export{c as n,u as t}; \ No newline at end of file diff --git a/resources/build/assets/LoginPage-DKAmPJzi.js b/resources/build/assets/LoginPage-DKAmPJzi.js deleted file mode 100644 index 7f658b3b878..00000000000 --- a/resources/build/assets/LoginPage-DKAmPJzi.js +++ /dev/null @@ -1 +0,0 @@ -import{B as e,E as t,L as n,Y as r,b as i,l as a,t as o,ut as s,v as c,x as l,y as u}from"./_plugin-vue_export-helper-C3orD-yt.js";import{i as d}from"./wayfinder-CyAPyHKQ.js";import"./login-form-CXH2zfnc.js";import{n as f}from"./LoginController-Di9JbSGR.js";var p={class:`cp-login`},m={class:`grid gap-3 justify-items-center`},h={key:0,class:`flex justify-center`},g=[`src`,`alt`],_={class:`w-sm`},v=o(t({__name:`AuthBase`,setup(t){let{general:r,system:a}=d();return(t,o)=>(n(),l(`div`,p,[c(`div`,m,[s(r).cpLogoUrl?(n(),l(`h1`,h,[c(`img`,{src:s(r).cpLogoUrl,alt:s(a).name,class:`cp-login__logo`,width:`288px`},null,8,g)])):i(``,!0),c(`div`,_,[e(t.$slots,`default`,{},void 0,!0)])])]))}}),[[`__scopeId`,`data-v-cfe3c015`]]),y=[`action`,`username`,`use-email-as-username`],b=t({__name:`LoginPage`,props:{logo:{},errors:{},authFormData:{}},setup(e){let t=a(),{general:i}=d();return(e,a)=>(n(),u(v,null,{default:r(()=>[c(`craft-login-form`,{action:s(f)().url,"show-reset-password":``,"show-remember-me":``,username:s(t).props.username,"use-email-as-username":s(i).useEmailAsUsername?``:null},null,8,y)]),_:1}))}});export{b as default}; \ No newline at end of file diff --git a/resources/build/assets/LoginPage-K69jIkg1.js b/resources/build/assets/LoginPage-K69jIkg1.js new file mode 100644 index 00000000000..4bd82a34950 --- /dev/null +++ b/resources/build/assets/LoginPage-K69jIkg1.js @@ -0,0 +1 @@ +import{D as e,R as t,S as n,V as r,X as i,b as a,dt as o,l as s,t as c,x as l,y as u}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{i as d}from"./wayfinder-ghdHxiwr.js";import"./login-form-BjaWh3L7.js";import{n as f}from"./LoginController-DSi1xowD.js";var p={class:`cp-login`},m={class:`grid gap-3 justify-items-center`},h={key:0,class:`flex justify-center`},g=[`src`,`alt`],_={class:`w-sm`},v=c(e({__name:`AuthBase`,setup(e){let{general:i,system:a}=d();return(e,s)=>(t(),n(`div`,p,[u(`div`,m,[o(i).cpLogoUrl?(t(),n(`h1`,h,[u(`img`,{src:o(i).cpLogoUrl,alt:o(a).name,class:`cp-login__logo`,width:`288px`},null,8,g)])):l(``,!0),u(`div`,_,[r(e.$slots,`default`,{},void 0,!0)])])]))}}),[[`__scopeId`,`data-v-cfe3c015`]]),y=[`action`,`username`,`use-email-as-username`],b=e({__name:`LoginPage`,props:{logo:{},errors:{},authFormData:{}},setup(e){let n=s(),{general:r}=d();return(e,s)=>(t(),a(v,null,{default:i(()=>[u(`craft-login-form`,{action:o(f)().url,"show-reset-password":``,"show-remember-me":``,username:o(n).props.username,"use-email-as-username":o(r).useEmailAsUsername?``:null},null,8,y)]),_:1}))}});export{b as default}; \ No newline at end of file diff --git a/resources/build/assets/Modal-C3z5Gb2R.js b/resources/build/assets/Modal-C3z5Gb2R.js deleted file mode 100644 index c5d58dcb8ee..00000000000 --- a/resources/build/assets/Modal-C3z5Gb2R.js +++ /dev/null @@ -1 +0,0 @@ -import{B as e,E as t,L as n,T as r,Y as i,Z as a,_ as o,b as s,m as c,t as l,u,v as d,x as f,y as p}from"./_plugin-vue_export-helper-C3orD-yt.js";import{t as m}from"./dist-oC9Sbb9R.js";var h={key:0,class:`cp-modal`},g=l(t({__name:`Modal`,props:{isActive:{type:Boolean,default:!1},overlay:{type:Boolean,default:!0},width:{default:`md`}},emits:[`close`],setup(t,{emit:l}){let g=l,_=t;m(`Escape`,e=>{g(`close`)});let v=o(()=>`w-${_.width}`);return(o,l)=>(n(),f(c,null,[r(u,{name:`body`},{default:i(()=>[t.isActive?(n(),f(`div`,h,[d(`div`,{class:a({content:!0,[v.value]:!0})},[e(o.$slots,`default`,{},void 0,!0)],2)])):s(``,!0)]),_:3}),t.overlay?(n(),p(u,{key:0,name:`fade`},{default:i(()=>[t.isActive?(n(),f(`div`,{key:0,class:`cp-overlay`,onClick:l[0]||=e=>g(`close`)})):s(``,!0)]),_:1})):s(``,!0)],64))}}),[[`__scopeId`,`data-v-e1f77441`]]);export{g as t}; \ No newline at end of file diff --git a/resources/build/assets/Modal-C_CR4KJv.js b/resources/build/assets/Modal-C_CR4KJv.js new file mode 100644 index 00000000000..eaa5ab933bf --- /dev/null +++ b/resources/build/assets/Modal-C_CR4KJv.js @@ -0,0 +1 @@ +import{D as e,E as t,Q as n,R as r,S as i,V as a,X as o,b as s,h as c,t as l,u,v as d,x as f,y as p}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{t as m}from"./dist-BM1n-Nbt.js";var h={key:0,class:`cp-modal`},g=l(e({__name:`Modal`,props:{isActive:{type:Boolean,default:!1},overlay:{type:Boolean,default:!0},width:{default:`md`}},emits:[`close`],setup(e,{emit:l}){let g=l,_=e;m(`Escape`,e=>{g(`close`)});let v=d(()=>`w-${_.width}`);return(l,d)=>(r(),i(c,null,[t(u,{name:`body`},{default:o(()=>[e.isActive?(r(),i(`div`,h,[p(`div`,{class:n({content:!0,[v.value]:!0})},[a(l.$slots,`default`,{},void 0,!0)],2)])):f(``,!0)]),_:3}),e.overlay?(r(),s(u,{key:0,name:`fade`},{default:o(()=>[e.isActive?(r(),i(`div`,{key:0,class:`cp-overlay`,onClick:d[0]||=e=>g(`close`)})):f(``,!0)]),_:1})):f(``,!0)],64))}}),[[`__scopeId`,`data-v-e1f77441`]]);export{g as t}; \ No newline at end of file diff --git a/resources/build/assets/ModalForm-B7cOiJaR.js b/resources/build/assets/ModalForm-B7cOiJaR.js deleted file mode 100644 index 09c3d881f18..00000000000 --- a/resources/build/assets/ModalForm-B7cOiJaR.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{B as t,E as n,L as r,S as i,T as a,Y as o,et as s,p as c,v as l,y as u,z as d}from"./_plugin-vue_export-helper-C3orD-yt.js";import{t as f}from"./Pane-CyLhaZAB.js";import{t as p}from"./Modal-C3z5Gb2R.js";var m=[`loading`],h=n({__name:`ModalForm`,props:{isActive:{type:Boolean},overlay:{type:Boolean,default:!0},width:{},loading:{type:Boolean,default:!1},title:{},resetLabel:{default:e(`Cancel`)},submitLabel:{default:e(`Save`)}},emits:[`close`,`submit`],setup(e,{emit:n}){let h=n;function g(){h(`submit`)}return(n,_)=>(r(),u(p,{isActive:e.isActive,overlay:e.overlay,onClose:_[1]||=e=>h(`close`),width:e.width},{default:o(()=>[l(`form`,{onSubmit:c(g,[`prevent`])},[a(f,{title:e.title},i({"secondary-action":o(()=>[l(`craft-button`,{type:`reset`,onClick:_[0]||=e=>h(`close`),appearance:`plain`},s(e.resetLabel),1)]),"primary-action":o(()=>[l(`craft-button`,{type:`submit`,variant:`primary`,loading:e.loading},s(e.submitLabel),9,m)]),default:o(()=>[t(n.$slots,`default`)]),_:2},[d(n.$slots,(e,r)=>({name:r,fn:o(()=>[t(n.$slots,r)])}))]),1032,[`title`])],32)]),_:3},8,[`isActive`,`overlay`,`width`]))}});export{h as t}; \ No newline at end of file diff --git a/resources/build/assets/ModalForm-DpNJgsO7.js b/resources/build/assets/ModalForm-DpNJgsO7.js new file mode 100644 index 00000000000..a4f459ac685 --- /dev/null +++ b/resources/build/assets/ModalForm-DpNJgsO7.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{B as t,C as n,D as r,E as i,R as a,V as o,X as s,b as c,m as l,tt as u,y as d}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{t as f}from"./Pane-C776R7L2.js";import{t as p}from"./Modal-C_CR4KJv.js";var m=[`loading`],h=r({__name:`ModalForm`,props:{isActive:{type:Boolean},overlay:{type:Boolean,default:!0},width:{},loading:{type:Boolean,default:!1},title:{},resetLabel:{default:e(`Cancel`)},submitLabel:{default:e(`Save`)}},emits:[`close`,`submit`],setup(e,{emit:r}){let h=r;function g(){h(`submit`)}return(r,_)=>(a(),c(p,{isActive:e.isActive,overlay:e.overlay,onClose:_[1]||=e=>h(`close`),width:e.width},{default:s(()=>[d(`form`,{onSubmit:l(g,[`prevent`])},[i(f,{title:e.title},n({"secondary-action":s(()=>[d(`craft-button`,{type:`reset`,onClick:_[0]||=e=>h(`close`),appearance:`plain`},u(e.resetLabel),1)]),"primary-action":s(()=>[d(`craft-button`,{type:`submit`,variant:`primary`,loading:e.loading},u(e.submitLabel),9,m)]),default:s(()=>[o(r.$slots,`default`)]),_:2},[t(r.$slots,(e,t)=>({name:t,fn:s(()=>[o(r.$slots,t)])}))]),1032,[`title`])],32)]),_:3},8,[`isActive`,`overlay`,`width`]))}});export{h as t}; \ No newline at end of file diff --git a/resources/build/assets/Pane-C776R7L2.js b/resources/build/assets/Pane-C776R7L2.js new file mode 100644 index 00000000000..4d24bc8c27a --- /dev/null +++ b/resources/build/assets/Pane-C776R7L2.js @@ -0,0 +1 @@ +import{D as e,K as t,Q as n,R as r,S as i,U as a,V as o,X as s,b as c,d as l,t as u,tt as d,v as f,x as p,y as m}from"./_plugin-vue_export-helper-BBgEixrZ.js";var h={class:`cp-pane__header`},g={key:0,class:`text-lg`},_={class:`cp-pane__actions`},v={class:`cp-pane__body`},y={class:`cp-pane__footer`},b={class:`actions`},x=u(e({__name:`Pane`,props:{as:{default:`div`},variant:{},appearance:{},hideHeader:{type:Boolean,default:!1},hideFooter:{type:Boolean,default:!1},title:{},padding:{default:`lg`}},setup(e){l(e=>({e0d387a0:T.value}));let u=t(),x=e;function S(e){return!isNaN(parseFloat(e))&&isFinite(e)}let C=f(()=>!!(u.header||x.title||u.title||u[`header-actions`])),w=f(()=>u.footer||u.actions||u.feedback||u[`footer-content`]||u[`primary-action`]||u[`secondary-action`]),T=f(()=>x.padding===0?0:S(x.padding)?`calc(${x.padding}rem / 16)`:[`sm`,`md`,`lg`,`xl`].includes(x.padding)?`var(--c-spacing-${x.padding})`:x.padding);return(t,l)=>(r(),c(a(e.as),{class:n({"cp-pane":!0,"cp-pane--code":e.variant===`code`,"cp-pane--error":e.variant===`error`,"cp-pane--outline":e.appearance===`outline`,"cp-pane--raised":e.appearance===`raised`})},{default:s(()=>[C.value?o(t.$slots,`header`,{key:0},()=>[m(`div`,h,[o(t.$slots,`title`,{},()=>[e.title?(r(),i(`h1`,g,d(e.title),1)):p(``,!0)],!0),m(`div`,_,[o(t.$slots,`header-actions`,{},void 0,!0)])])],!0):p(``,!0),o(t.$slots,`body`,{},()=>[m(`div`,v,[o(t.$slots,`default`,{},void 0,!0)])],!0),w.value?o(t.$slots,`footer`,{key:1},()=>[m(`div`,y,[o(t.$slots,`footer-content`,{},()=>[o(t.$slots,`feedback`,{},void 0,!0),l[0]||=m(`div`,{class:`flex-1`},null,-1),o(t.$slots,`actions`,{},()=>[m(`div`,b,[o(t.$slots,`secondary-action`,{},void 0,!0),o(t.$slots,`primary-action`,{},void 0,!0)])],!0)],!0)])],!0):p(``,!0)]),_:3},8,[`class`]))}}),[[`__scopeId`,`data-v-c32862e1`]]);export{x as t}; \ No newline at end of file diff --git a/resources/build/assets/Pane-CyLhaZAB.js b/resources/build/assets/Pane-CyLhaZAB.js deleted file mode 100644 index 3f090f3d5da..00000000000 --- a/resources/build/assets/Pane-CyLhaZAB.js +++ /dev/null @@ -1 +0,0 @@ -import{B as e,E as t,G as n,H as r,L as i,Y as a,Z as o,_ as s,b as c,d as l,et as u,t as d,v as f,x as p,y as m}from"./_plugin-vue_export-helper-C3orD-yt.js";var h={class:`cp-pane__header`},g={key:0,class:`text-lg`},_={class:`cp-pane__actions`},v={class:`cp-pane__body`},y={class:`cp-pane__footer`},b={class:`actions`},x=d(t({__name:`Pane`,props:{as:{default:`div`},variant:{},appearance:{},hideHeader:{type:Boolean,default:!1},hideFooter:{type:Boolean,default:!1},title:{},padding:{default:`lg`}},setup(t){l(e=>({e0d387a0:T.value}));let d=n(),x=t;function S(e){return!isNaN(parseFloat(e))&&isFinite(e)}let C=s(()=>!!(d.header||x.title||d.title||d[`header-actions`])),w=s(()=>d.footer||d.actions||d.feedback||d[`footer-content`]||d[`primary-action`]||d[`secondary-action`]),T=s(()=>x.padding===0?0:S(x.padding)?`calc(${x.padding}rem / 16)`:[`sm`,`md`,`lg`,`xl`].includes(x.padding)?`var(--c-spacing-${x.padding})`:x.padding);return(n,s)=>(i(),m(r(t.as),{class:o({"cp-pane":!0,"cp-pane--code":t.variant===`code`,"cp-pane--error":t.variant===`error`,"cp-pane--outline":t.appearance===`outline`,"cp-pane--raised":t.appearance===`raised`})},{default:a(()=>[C.value?e(n.$slots,`header`,{key:0},()=>[f(`div`,h,[e(n.$slots,`title`,{},()=>[t.title?(i(),p(`h1`,g,u(t.title),1)):c(``,!0)],!0),f(`div`,_,[e(n.$slots,`header-actions`,{},void 0,!0)])])],!0):c(``,!0),e(n.$slots,`body`,{},()=>[f(`div`,v,[e(n.$slots,`default`,{},void 0,!0)])],!0),w.value?e(n.$slots,`footer`,{key:1},()=>[f(`div`,y,[e(n.$slots,`footer-content`,{},()=>[e(n.$slots,`feedback`,{},void 0,!0),s[0]||=f(`div`,{class:`flex-1`},null,-1),e(n.$slots,`actions`,{},()=>[f(`div`,b,[e(n.$slots,`secondary-action`,{},void 0,!0),e(n.$slots,`primary-action`,{},void 0,!0)])],!0)],!0)])],!0):c(``,!0)]),_:3},8,[`class`]))}}),[[`__scopeId`,`data-v-c32862e1`]]);export{x as t}; \ No newline at end of file diff --git a/resources/build/assets/SectionsController-DXvTOXL3.js b/resources/build/assets/SectionsController-BwGl0slC.js similarity index 97% rename from resources/build/assets/SectionsController-DXvTOXL3.js rename to resources/build/assets/SectionsController-BwGl0slC.js index bc0a58ddd60..1766cc8e094 100644 --- a/resources/build/assets/SectionsController-DXvTOXL3.js +++ b/resources/build/assets/SectionsController-BwGl0slC.js @@ -1 +1 @@ -import{n as e,t}from"./wayfinder-CyAPyHKQ.js";var n=e=>({url:n.url(e),method:`get`});n.definition={methods:[`get`,`head`],url:`/admin/actions/sections/table-data`},n.url=t=>n.definition.url+e(t),n.get=e=>({url:n.url(e),method:`get`}),n.head=e=>({url:n.url(e),method:`head`});var r=(e,t)=>({url:r.url(e,t),method:`get`});r.definition={methods:[`get`,`head`],url:`/admin/actions/sections/edit/{section}`},r.url=(n,i)=>{(typeof n==`string`||typeof n==`number`)&&(n={section:n}),typeof n==`object`&&!Array.isArray(n)&&`id`in n&&(n={section:n.id}),Array.isArray(n)&&(n={section:n[0]}),n=t(n);let a={section:typeof n.section==`object`?n.section.id:n.section};return r.definition.url.replace(`{section}`,a.section.toString()).replace(/\/+$/,``)+e(i)},r.get=(e,t)=>({url:r.url(e,t),method:`get`}),r.head=(e,t)=>({url:r.url(e,t),method:`head`});var i=(e,t)=>({url:i.url(e,t),method:`get`});i.definition={methods:[`get`,`head`],url:`/admin/settings/sections/{section}`},i.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={section:n}),typeof n==`object`&&!Array.isArray(n)&&`id`in n&&(n={section:n.id}),Array.isArray(n)&&(n={section:n[0]}),n=t(n);let a={section:typeof n.section==`object`?n.section.id:n.section};return i.definition.url.replace(`{section}`,a.section.toString()).replace(/\/+$/,``)+e(r)},i.get=(e,t)=>({url:i.url(e,t),method:`get`}),i.head=(e,t)=>({url:i.url(e,t),method:`head`});var a={"/admin/actions/sections/edit/{section}":r,"/admin/settings/sections/{section}":i},o=e=>({url:o.url(e),method:`post`});o.definition={methods:[`post`],url:`/admin/actions/sections/delete-section`},o.url=t=>o.definition.url+e(t),o.post=e=>({url:o.url(e),method:`post`});var s=e=>({url:s.url(e),method:`get`});s.definition={methods:[`get`,`head`],url:`/admin/settings/sections`},s.url=t=>s.definition.url+e(t),s.get=e=>({url:s.url(e),method:`get`}),s.head=e=>({url:s.url(e),method:`head`});var c=e=>({url:c.url(e),method:`get`});c.definition={methods:[`get`,`head`],url:`/admin/settings/sections/new`},c.url=t=>c.definition.url+e(t),c.get=e=>({url:c.url(e),method:`get`}),c.head=e=>({url:c.url(e),method:`head`});var l=e=>({url:l.url(e),method:`post`});l.definition={methods:[`post`],url:`/admin/sections/sections`},l.url=t=>l.definition.url+e(t),l.post=e=>({url:l.url(e),method:`post`});export{l as a,s as i,o as n,a as r,c as t}; \ No newline at end of file +import{n as e,t}from"./wayfinder-ghdHxiwr.js";var n=e=>({url:n.url(e),method:`get`});n.definition={methods:[`get`,`head`],url:`/admin/actions/sections/table-data`},n.url=t=>n.definition.url+e(t),n.get=e=>({url:n.url(e),method:`get`}),n.head=e=>({url:n.url(e),method:`head`});var r=(e,t)=>({url:r.url(e,t),method:`get`});r.definition={methods:[`get`,`head`],url:`/admin/actions/sections/edit/{section}`},r.url=(n,i)=>{(typeof n==`string`||typeof n==`number`)&&(n={section:n}),typeof n==`object`&&!Array.isArray(n)&&`id`in n&&(n={section:n.id}),Array.isArray(n)&&(n={section:n[0]}),n=t(n);let a={section:typeof n.section==`object`?n.section.id:n.section};return r.definition.url.replace(`{section}`,a.section.toString()).replace(/\/+$/,``)+e(i)},r.get=(e,t)=>({url:r.url(e,t),method:`get`}),r.head=(e,t)=>({url:r.url(e,t),method:`head`});var i=(e,t)=>({url:i.url(e,t),method:`get`});i.definition={methods:[`get`,`head`],url:`/admin/settings/sections/{section}`},i.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={section:n}),typeof n==`object`&&!Array.isArray(n)&&`id`in n&&(n={section:n.id}),Array.isArray(n)&&(n={section:n[0]}),n=t(n);let a={section:typeof n.section==`object`?n.section.id:n.section};return i.definition.url.replace(`{section}`,a.section.toString()).replace(/\/+$/,``)+e(r)},i.get=(e,t)=>({url:i.url(e,t),method:`get`}),i.head=(e,t)=>({url:i.url(e,t),method:`head`});var a={"/admin/actions/sections/edit/{section}":r,"/admin/settings/sections/{section}":i},o=e=>({url:o.url(e),method:`post`});o.definition={methods:[`post`],url:`/admin/actions/sections/delete-section`},o.url=t=>o.definition.url+e(t),o.post=e=>({url:o.url(e),method:`post`});var s=e=>({url:s.url(e),method:`get`});s.definition={methods:[`get`,`head`],url:`/admin/settings/sections`},s.url=t=>s.definition.url+e(t),s.get=e=>({url:s.url(e),method:`get`}),s.head=e=>({url:s.url(e),method:`head`});var c=e=>({url:c.url(e),method:`get`});c.definition={methods:[`get`,`head`],url:`/admin/settings/sections/new`},c.url=t=>c.definition.url+e(t),c.get=e=>({url:c.url(e),method:`get`}),c.head=e=>({url:c.url(e),method:`head`});var l=e=>({url:l.url(e),method:`post`});l.definition={methods:[`post`],url:`/admin/sections/sections`},l.url=t=>l.definition.url+e(t),l.post=e=>({url:l.url(e),method:`post`});export{l as a,s as i,o as n,a as r,c as t}; \ No newline at end of file diff --git a/resources/build/assets/Select-BaRh7IFc.js b/resources/build/assets/Select-BaRh7IFc.js deleted file mode 100644 index 399fb21e516..00000000000 --- a/resources/build/assets/Select-BaRh7IFc.js +++ /dev/null @@ -1 +0,0 @@ -import{B as e,E as t,L as n,M as r,N as i,W as a,Y as o,_ as s,b as c,et as l,m as u,v as d,w as f,x as p,y as m,z as h}from"./_plugin-vue_export-helper-C3orD-yt.js";var g=[`.modelValue`,`has-feedback-for`],_={slot:`feedback`},v={key:0,class:`error-list`},y=t({name:`CraftSelect`,__name:`CraftSelect`,props:r({error:{}},{modelValue:{},modelModifiers:{}}),emits:[`update:modelValue`],setup(t){let r=a(t,`modelValue`);return(a,o)=>(n(),p(`craft-select`,i(a.$attrs,{".modelValue":r.value,onModelValueChanged:o[0]||=e=>r.value=e.target?.modelValue,"has-feedback-for":t.error?`error`:``}),[e(a.$slots,`default`),d(`div`,_,[t.error?(n(),p(`ul`,v,[d(`li`,null,l(t.error),1)])):c(``,!0)])],48,g))}}),b={slot:`input`},x=[`value`],S={key:0,class:`error-list`,slot:`feedback`},C=t({__name:`Select`,props:{modelValue:{},options:{},error:{}},emits:[`update:modelValue`],setup(t,{emit:r}){let a=r,g=t,_=s(()=>g.options.map(e=>typeof e==`string`||typeof e==`number`?{label:e.toString(),value:e}:e)),v=s({get(){return g.modelValue.toString()},set(e){a(`update:modelValue`,e)}});return(r,a)=>(n(),m(y,i({modelValue:v.value,"onUpdate:modelValue":a[0]||=e=>v.value=e},r.$attrs),{default:o(()=>[d(`select`,b,[(n(!0),p(u,null,h(_.value,t=>(n(),p(`option`,{key:t.value,value:t.value},[e(r.$slots,`option-label`,{option:t,selected:t.value===v.value},()=>[f(l(t.label),1)])],8,x))),128))]),t.error?(n(),p(`ul`,S,[d(`li`,null,l(t.error),1)])):c(``,!0)]),_:3},16,[`modelValue`]))}});export{y as n,C as t}; \ No newline at end of file diff --git a/resources/build/assets/Select-BfqUlpLH.js b/resources/build/assets/Select-BfqUlpLH.js new file mode 100644 index 00000000000..2110be5bf46 --- /dev/null +++ b/resources/build/assets/Select-BfqUlpLH.js @@ -0,0 +1 @@ +import{B as e,D as t,P as n,R as r,S as i,T as a,V as o,X as s,b as c,h as l,tt as u,v as d,x as f,y as p}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{t as m}from"./CraftSelect-CLNDGobq.js";var h={slot:`input`},g=[`value`],_={key:0,class:`error-list`,slot:`feedback`},v=t({__name:`Select`,props:{modelValue:{},options:{},error:{}},emits:[`update:modelValue`],setup(t,{emit:v}){let y=v,b=t,x=d(()=>b.options.map(e=>typeof e==`string`||typeof e==`number`?{label:e.toString(),value:e}:e)),S=d({get(){return b.modelValue.toString()},set(e){y(`update:modelValue`,e)}});return(d,v)=>(r(),c(m,n({modelValue:S.value,"onUpdate:modelValue":v[0]||=e=>S.value=e},d.$attrs),{default:s(()=>[p(`select`,h,[(r(!0),i(l,null,e(x.value,e=>(r(),i(`option`,{key:e.value,value:e.value},[o(d.$slots,`option-label`,{option:e,selected:e.value===S.value},()=>[a(u(e.label),1)])],8,g))),128))]),t.error?(r(),i(`ul`,_,[p(`li`,null,u(t.error),1)])):f(``,!0)]),_:3},16,[`modelValue`]))}});export{v as t}; \ No newline at end of file diff --git a/resources/build/assets/SettingsEmailPage-1xCwo-wK.js b/resources/build/assets/SettingsEmailPage-1xCwo-wK.js new file mode 100644 index 00000000000..96ebb1d0d64 --- /dev/null +++ b/resources/build/assets/SettingsEmailPage-1xCwo-wK.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{D as t,E as n,R as r,S as i,X as a,b as o,dt as s,h as c,l,s as u,tt as d,v as f,x as p,y as m}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{t as h}from"./AdminTable-TPqS7_4T.js";import{t as g}from"./Pane-C776R7L2.js";import{t as _}from"./InlineFlash-Duhr9n8-.js";import{n as v}from"./wayfinder-ghdHxiwr.js";import{t as y}from"./CraftInput-BrzKPRWU.js";import{t as b}from"./AppLayout-dqX06RZT.js";import{t as x}from"./CraftCombobox-DdSZuyjg.js";import{t as S}from"./useEditableTable-DhZOhixV.js";import{t as C}from"./useSettingsSave-DQO6N1dq.js";var w=t({__name:`SiteOverridesTable`,props:{sites:{},modelValue:{}},emits:[`update:modelValue`],setup(t,{emit:i}){let c=i,u=t,d=l(),p=f(()=>d.props.envSuggestions);f(()=>d.props.readOnly);let m=f(()=>d.props.templateSuggestions);function _(e){return u.sites.find(t=>t.uid===e)?.name??e}let{table:v}=S({data:()=>u.modelValue,key:`uid`,name:`siteOverrides`,onChange:e=>c(`update:modelValue`,e),columns:({columnHelper:t})=>[t.display({id:`name`,header:e(`Site`),cell:({row:e})=>_(e.original.uid),meta:{cellTag:`th`}}),t.autocomplete(`fromEmail`,{header:e(`System Email Address`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:p.value}),t.autocomplete(`fromName`,{header:e(`Sender Name`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:p.value}),t.autocomplete(`replyToEmail`,{header:e(`Reply-To Address`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:p.value}),t.autocomplete(`template`,{header:e(`HTML Email Template`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:m.value})]});return(e,t)=>(r(),o(g,{padding:0,appearance:`raised`},{default:a(()=>[n(h,{table:s(v),reorderable:!1},null,8,[`table`])]),_:1}))}}),T=e=>({url:T.url(e),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/settings/email`},T.url=e=>T.definition.url+v(e),T.get=e=>({url:T.url(e),method:`get`}),T.head=e=>({url:T.url(e),method:`head`});var E=e=>({url:E.url(e),method:`post`});E.definition={methods:[`post`],url:`/admin/settings/email`},E.url=e=>E.definition.url+v(e),E.post=e=>({url:E.url(e),method:`post`});var D=e=>({url:D.url(e),method:`post`});D.definition={methods:[`post`],url:`/admin/settings/email/test`},D.url=e=>D.definition.url+v(e),D.post=e=>({url:D.url(e),method:`post`}),Object.assign(T,T),Object.assign(E,E),Object.assign(D,D);var O={class:`grid gap-3`},k={class:`grid gap-3`},A={class:`mb-4`},j={class:`text-base`},M={class:`text-sm text-neutral-text-quiet`},N={class:`mb-3`},P={class:`grid gap-3`},F={class:`flex gap-2 items-center`},I=[`loading`],L=t({__name:`SettingsEmailPage`,props:{readOnly:{type:Boolean},emailConfig:{},mailerOptions:{},envSuggestions:{},templateSuggestions:{},sites:{},defaultToEmail:{},redirectUrl:{}},setup(t){let l=t,h=f(()=>l.sites.length>1),v={};for(let e of l.sites){let t=l.emailConfig.siteOverrides?.[e.uid]??{};v[e.uid]={fromEmail:t.fromEmail??``,fromName:t.fromName??``,replyToEmail:t.replyToEmail??``,template:t.template??``}}let S=u({fromEmail:l.emailConfig.fromEmail??``,fromName:l.emailConfig.fromName??``,replyToEmail:l.emailConfig.replyToEmail??``,mailer:l.emailConfig.mailer??``,template:l.emailConfig.template??``,siteOverrides:v}),T=u({to:l.defaultToEmail}),{save:L}=C(S,E);function R(){T.clearErrors().submit(D(),{onSuccess:()=>{T.reset()}})}return(l,u)=>(r(),o(b,{title:s(e)(`Email Settings`),form:s(S),onSave:s(L)},{default:a(()=>[m(`div`,O,[n(g,{appearance:`raised`},{default:a(()=>[m(`div`,k,[n(x,{label:s(e)(`System Email Address`),"help-text":s(e)(`The email address Craft CMS will use when sending email.`),id:`fromEmail`,name:`fromEmail`,modelValue:s(S).fromEmail,"onUpdate:modelValue":u[0]||=e=>s(S).fromEmail=e,error:s(S).errors?.fromEmail,options:t.envSuggestions,disabled:t.readOnly,"require-option-match":!1,"show-all-on-empty":``,callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`options`,`disabled`]),n(x,{label:s(e)(`Sender Name`),"help-text":s(e)(`The “From” name Craft CMS will use when sending email.`),id:`fromName`,name:`fromName`,modelValue:s(S).fromName,"onUpdate:modelValue":u[1]||=e=>s(S).fromName=e,error:s(S).errors?.fromName,disabled:t.readOnly,"require-option-match":!1,"show-all-on-empty":``,options:t.envSuggestions,callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`]),n(x,{label:s(e)(`Reply-To Address`),"help-text":s(e)(`The Reply-To email address Craft CMS should use when sending email.`),id:`replyToEmail`,name:`replyToEmail`,modelValue:s(S).replyToEmail,"onUpdate:modelValue":u[2]||=e=>s(S).replyToEmail=e,error:s(S).errors?.replyToEmail,disabled:t.readOnly,"require-option-match":!1,options:t.envSuggestions,"show-all-on-empty":``,callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`]),n(x,{label:s(e)(`HTML Email Template`),"help-text":s(e)(`The template Craft CMS will use for HTML emails. Leave blank to use the default template.`),id:`template`,name:`template`,modelValue:s(S).template,"onUpdate:modelValue":u[3]||=e=>s(S).template=e,error:l.errors?.template,disabled:t.readOnly,"require-option-match":!1,"show-all-on-empty":``,options:[...t.templateSuggestions,...t.envSuggestions],callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`])]),h.value?(r(),i(c,{key:0},[u[7]||=m(`hr`,{class:`my-6`},null,-1),m(`div`,null,[m(`div`,A,[m(`h2`,j,d(s(e)(`Site Overrides`)),1),m(`p`,M,d(s(e)(`Override the default email settings on a per-site basis. Blank values will use the defaults above.`)),1)]),n(w,{modelValue:s(S).siteOverrides,"onUpdate:modelValue":u[4]||=e=>s(S).siteOverrides=e,sites:t.sites},null,8,[`modelValue`,`sites`])])],64)):p(``,!0),u[8]||=m(`hr`,{class:`my-6`},null,-1),m(`div`,null,[n(x,{label:s(e)(`Mailer`),"help-text":s(e)(`How should Craft CMS send the emails?`),id:`mailer`,name:`mailer`,modelValue:s(S).mailer,"onUpdate:modelValue":u[5]||=e=>s(S).mailer=e,error:s(S).errors?.mailer,disabled:t.readOnly,"require-option-match":!1,"show-all-on-empty":``,options:[...t.mailerOptions,...t.envSuggestions],callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`])])]),_:1}),n(g,{appearance:`raised`},{default:a(()=>[m(`h2`,N,d(s(e)(`Send a test email`)),1),m(`div`,P,[n(y,{label:s(e)(`To`),modelValue:s(T).to,"onUpdate:modelValue":u[6]||=e=>s(T).to=e,name:`to`,error:s(T).errors.to},null,8,[`label`,`modelValue`,`error`]),m(`div`,F,[m(`craft-button`,{type:`button`,variant:`primary`,loading:s(T).processing,onClick:R},d(s(e)(`Test`)),9,I),n(_,{"is-active":s(T).recentlySuccessful||s(T).hasErrors},null,8,[`is-active`])])])]),_:1})])]),_:1},8,[`title`,`form`,`onSave`]))}});export{L as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsEmailPage-Bs2R8_SF.js b/resources/build/assets/SettingsEmailPage-Bs2R8_SF.js deleted file mode 100644 index b418d0d6ef8..00000000000 --- a/resources/build/assets/SettingsEmailPage-Bs2R8_SF.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{E as t,L as n,T as r,Y as i,_ as a,b as o,et as s,l as c,m as l,s as u,ut as d,v as f,x as p,y as m}from"./_plugin-vue_export-helper-C3orD-yt.js";import{t as h}from"./AdminTable-BaWDz4rn.js";import{t as g}from"./InlineFlash-Mr7imUWg.js";import{t as _}from"./Pane-CyLhaZAB.js";import{n as v}from"./wayfinder-CyAPyHKQ.js";import{t as y}from"./CraftInput-Diy-IcJh.js";import{t as b}from"./AppLayout-CbgDw9ix.js";import{t as x}from"./CraftCombobox-CF-lmAE3.js";import{t as S}from"./useEditableTable-CNMeDvlc.js";import{t as C}from"./useSettingsSave-BLqVG46P.js";var w=t({__name:`SiteOverridesTable`,props:{sites:{},modelValue:{}},emits:[`update:modelValue`],setup(t,{emit:o}){let s=o,l=t,u=c(),f=a(()=>u.props.envSuggestions);a(()=>u.props.readOnly);let p=a(()=>u.props.templateSuggestions);function g(e){return l.sites.find(t=>t.uid===e)?.name??e}let{table:v}=S({data:()=>l.modelValue,key:`uid`,name:`siteOverrides`,onChange:e=>s(`update:modelValue`,e),columns:({columnHelper:t})=>[t.display({id:`name`,header:e(`Site`),cell:({row:e})=>g(e.original.uid),meta:{cellTag:`th`}}),t.autocomplete(`fromEmail`,{header:e(`System Email Address`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:f.value}),t.autocomplete(`fromName`,{header:e(`Sender Name`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:f.value}),t.autocomplete(`replyToEmail`,{header:e(`Reply-To Address`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:f.value}),t.autocomplete(`template`,{header:e(`HTML Email Template`),class:`font-mono text-xs !px-[var(--_cell-spacing-inline)]`,options:p.value})]});return(e,t)=>(n(),m(_,{padding:0,appearance:`raised`},{default:i(()=>[r(h,{table:d(v),reorderable:!1},null,8,[`table`])]),_:1}))}}),T=e=>({url:T.url(e),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/settings/email`},T.url=e=>T.definition.url+v(e),T.get=e=>({url:T.url(e),method:`get`}),T.head=e=>({url:T.url(e),method:`head`});var E=e=>({url:E.url(e),method:`post`});E.definition={methods:[`post`],url:`/admin/settings/email`},E.url=e=>E.definition.url+v(e),E.post=e=>({url:E.url(e),method:`post`});var D=e=>({url:D.url(e),method:`post`});D.definition={methods:[`post`],url:`/admin/settings/email/test`},D.url=e=>D.definition.url+v(e),D.post=e=>({url:D.url(e),method:`post`}),Object.assign(T,T),Object.assign(E,E),Object.assign(D,D);var O={class:`grid gap-3`},k={class:`grid gap-3`},A={class:`mb-4`},j={class:`text-base`},M={class:`text-sm text-neutral-text-quiet`},N={class:`mb-3`},P={class:`grid gap-3`},F={class:`flex gap-2 items-center`},I=[`loading`],L=t({__name:`SettingsEmailPage`,props:{readOnly:{type:Boolean},emailConfig:{},mailerOptions:{},envSuggestions:{},templateSuggestions:{},sites:{},defaultToEmail:{},redirectUrl:{}},setup(t){let c=t,h=a(()=>c.sites.length>1),v={};for(let e of c.sites){let t=c.emailConfig.siteOverrides?.[e.uid]??{};v[e.uid]={fromEmail:t.fromEmail??``,fromName:t.fromName??``,replyToEmail:t.replyToEmail??``,template:t.template??``}}let S=u({fromEmail:c.emailConfig.fromEmail??``,fromName:c.emailConfig.fromName??``,replyToEmail:c.emailConfig.replyToEmail??``,mailer:c.emailConfig.mailer??``,template:c.emailConfig.template??``,siteOverrides:v}),T=u({to:c.defaultToEmail}),{save:L}=C(S,E);function R(){T.clearErrors().submit(D(),{onSuccess:()=>{T.reset()}})}return(a,c)=>(n(),m(b,{title:d(e)(`Email Settings`),form:d(S),onSave:d(L)},{default:i(()=>[f(`div`,O,[r(_,{appearance:`raised`},{default:i(()=>[f(`div`,k,[r(x,{label:d(e)(`System Email Address`),"help-text":d(e)(`The email address Craft CMS will use when sending email.`),id:`fromEmail`,name:`fromEmail`,modelValue:d(S).fromEmail,"onUpdate:modelValue":c[0]||=e=>d(S).fromEmail=e,error:d(S).errors?.fromEmail,options:t.envSuggestions,disabled:t.readOnly,"require-option-match":!1,"show-all-on-empty":``,callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`options`,`disabled`]),r(x,{label:d(e)(`Sender Name`),"help-text":d(e)(`The “From” name Craft CMS will use when sending email.`),id:`fromName`,name:`fromName`,modelValue:d(S).fromName,"onUpdate:modelValue":c[1]||=e=>d(S).fromName=e,error:d(S).errors?.fromName,disabled:t.readOnly,"require-option-match":!1,"show-all-on-empty":``,options:t.envSuggestions,callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`]),r(x,{label:d(e)(`Reply-To Address`),"help-text":d(e)(`The Reply-To email address Craft CMS should use when sending email.`),id:`replyToEmail`,name:`replyToEmail`,modelValue:d(S).replyToEmail,"onUpdate:modelValue":c[2]||=e=>d(S).replyToEmail=e,error:d(S).errors?.replyToEmail,disabled:t.readOnly,"require-option-match":!1,options:t.envSuggestions,"show-all-on-empty":``,callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`]),r(x,{label:d(e)(`HTML Email Template`),"help-text":d(e)(`The template Craft CMS will use for HTML emails. Leave blank to use the default template.`),id:`template`,name:`template`,modelValue:d(S).template,"onUpdate:modelValue":c[3]||=e=>d(S).template=e,error:a.errors?.template,disabled:t.readOnly,"require-option-match":!1,"show-all-on-empty":``,options:[...t.templateSuggestions,...t.envSuggestions],callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`])]),h.value?(n(),p(l,{key:0},[c[7]||=f(`hr`,{class:`my-6`},null,-1),f(`div`,null,[f(`div`,A,[f(`h2`,j,s(d(e)(`Site Overrides`)),1),f(`p`,M,s(d(e)(`Override the default email settings on a per-site basis. Blank values will use the defaults above.`)),1)]),r(w,{modelValue:d(S).siteOverrides,"onUpdate:modelValue":c[4]||=e=>d(S).siteOverrides=e,sites:t.sites},null,8,[`modelValue`,`sites`])])],64)):o(``,!0),c[8]||=f(`hr`,{class:`my-6`},null,-1),f(`div`,null,[r(x,{label:d(e)(`Mailer`),"help-text":d(e)(`How should Craft CMS send the emails?`),id:`mailer`,name:`mailer`,modelValue:d(S).mailer,"onUpdate:modelValue":c[5]||=e=>d(S).mailer=e,error:d(S).errors?.mailer,disabled:t.readOnly,"require-option-match":!1,"show-all-on-empty":``,options:[...t.mailerOptions,...t.envSuggestions],callouts:[`envVars`]},null,8,[`label`,`help-text`,`modelValue`,`error`,`disabled`,`options`])])]),_:1}),r(_,{appearance:`raised`},{default:i(()=>[f(`h2`,N,s(d(e)(`Send a test email`)),1),f(`div`,P,[r(y,{label:d(e)(`To`),modelValue:d(T).to,"onUpdate:modelValue":c[6]||=e=>d(T).to=e,name:`to`,error:d(T).errors.to},null,8,[`label`,`modelValue`,`error`]),f(`div`,F,[f(`craft-button`,{type:`button`,variant:`primary`,loading:d(T).processing,onClick:R},s(d(e)(`Test`)),9,I),r(g,{"is-active":d(T).recentlySuccessful||d(T).hasErrors},null,8,[`is-active`])])])]),_:1})])]),_:1},8,[`title`,`form`,`onSave`]))}});export{L as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsEntryTypesIndexPage-Ce8becct.js b/resources/build/assets/SettingsEntryTypesIndexPage-Ce8becct.js deleted file mode 100644 index 88140f31a55..00000000000 --- a/resources/build/assets/SettingsEntryTypesIndexPage-Ce8becct.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{E as t,L as n,T as r,Y as i,_ as a,at as o,dt as s,et as c,k as l,ut as u,w as d,y as f}from"./_plugin-vue_export-helper-C3orD-yt.js";import{a as p,l as m,n as h,s as g,t as _}from"./AdminTable-BaWDz4rn.js";import{o as v}from"./InlineFlash-Mr7imUWg.js";import{t as y}from"./Pane-CyLhaZAB.js";import{t as b}from"./DeleteButton-CPJTFImZ.js";import{t as x}from"./createCraftColumnHelper-DQvg7ogx.js";import{t as S}from"./AppLayout-CbgDw9ix.js";import{t as C}from"./DynamicHtmlRenderer-C36QxfOD.js";import{i as w,n as T,r as E}from"./EntryTypesController-zMecDXGB.js";import{n as D,r as O,t as k}from"./useServerSort-3m22Xmzt.js";var A=t({__name:`SettingsEntryTypesIndexPage`,props:{title:{},pagination:{},sort:{},searchTerm:{},data:{},readOnly:{type:Boolean}},setup(t){let A=t;function j(t){confirm(e(`Are you sure you want to delete “{name}” and all entries of that type?`,{name:t.title}))&&s.delete(E(t.id))}let M=o(A.searchTerm??``),N=a(()=>A.data),P=x(),F=a(()=>({name:!0,handle:!0,usages:!0,actions:!A.readOnly})),I=a(()=>[P.display({id:`name`,header:e(`Entry Type`),cell:({row:e})=>l(C,{html:e.original.chip})}),P.accessor(`handle`,{header:e(`Handle`),meta:{cellClass:`justify-center`},cell:({getValue:e})=>l(`craft-copy-attribute`,{value:e()},e())}),P.accessor(`usages`,{header:e(`Usages`),cell:({getValue:e})=>l(C,{html:e()})}),P.actions(({row:e})=>[l(b,{onClick:()=>j(e.original)})])]),{paginationState:L,paginationConfig:R}=O({initialState:A.pagination,onChange:({query:e})=>{s.visit(w({query:e}),{only:[`data`,`pagination`],preserveScroll:!0})}}),{sortingState:z,sortingConfig:B}=k({initialState:A.sort,onChange:({query:e})=>{s.visit(w({query:e}),{only:[`data`,`sort`],preserveScroll:!0})}}),V=g({get data(){return N.value},get columns(){return I.value},state:{get pagination(){return L.value},get sorting(){return z.value},get columnVisibility(){return F.value}},getCoreRowModel:m(),...R,...B});return(a,o)=>(n(),f(S,{title:t.title},{actions:i(()=>[r(v,{appearance:`button`,href:u(T)[`/admin/settings/entry-types/new`]().url,variant:`primary`,inertia:!1,icon:`plus`},{default:i(()=>[d(c(u(e)(`New entry type`)),1)]),_:1},8,[`href`])]),default:i(()=>[r(y,{padding:0,appearance:`raised`},{default:i(()=>[r(_,{spacing:u(p).Relaxed,table:u(V),reorderable:!1,from:t.pagination.from,to:t.pagination.to,total:t.pagination.total,"enable-adjust-page-size":!0},{"empty-row":i(()=>[r(h,{icon:`light/files`,label:u(e)(`No entry types exist yet.`)},null,8,[`label`])]),"search-form":i(()=>[r(D,{action:u(w)(),modelValue:M.value,"onUpdate:modelValue":o[0]||=e=>M.value=e},null,8,[`action`,`modelValue`])]),_:1},8,[`spacing`,`table`,`from`,`to`,`total`])]),_:1})]),_:1},8,[`title`]))}});export{A as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsEntryTypesIndexPage-DZaYFPos.js b/resources/build/assets/SettingsEntryTypesIndexPage-DZaYFPos.js new file mode 100644 index 00000000000..d57bb017989 --- /dev/null +++ b/resources/build/assets/SettingsEntryTypesIndexPage-DZaYFPos.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{A as t,D as n,E as r,R as i,T as a,X as o,b as s,dt as c,ft as l,ot as u,tt as d,v as f}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{a as p,c as m,n as h,o as g,t as _}from"./AdminTable-TPqS7_4T.js";import{t as v}from"./Pane-C776R7L2.js";import{s as y}from"./InlineFlash-Duhr9n8-.js";import{t as b}from"./DeleteButton-u_rv7O4A.js";import{t as x}from"./createCraftColumnHelper-CPPRJRXc.js";import{t as S}from"./AppLayout-dqX06RZT.js";import{t as C}from"./DynamicHtmlRenderer-DA7jJP2G.js";import{i as w,n as T,r as E}from"./EntryTypesController-5B3Ab2tK.js";import{n as D,r as O,t as k}from"./useServerSort-DsyncXBl.js";var A=n({__name:`SettingsEntryTypesIndexPage`,props:{title:{},pagination:{},sort:{},searchTerm:{},data:{},readOnly:{type:Boolean}},setup(n){let A=n;function j(t){confirm(e(`Are you sure you want to delete “{name}” and all entries of that type?`,{name:t.title}))&&l.delete(E(t.id))}let M=u(A.searchTerm??``),N=f(()=>A.data),P=x(),F=f(()=>({name:!0,handle:!0,usages:!0,actions:!A.readOnly})),I=f(()=>[P.display({id:`name`,header:e(`Entry Type`),cell:({row:e})=>t(C,{html:e.original.chip})}),P.accessor(`handle`,{header:e(`Handle`),meta:{cellClass:`justify-center`},cell:({getValue:e})=>t(`craft-copy-attribute`,{value:e()},e())}),P.accessor(`usages`,{header:e(`Usages`),cell:({getValue:e})=>t(C,{html:e()})}),P.actions(({row:e})=>[t(b,{onClick:()=>j(e.original)})])]),{paginationState:L,paginationConfig:R}=O({initialState:A.pagination,onChange:({query:e})=>{l.visit(w({query:e}),{only:[`data`,`pagination`],preserveScroll:!0})}}),{sortingState:z,sortingConfig:B}=k({initialState:A.sort,onChange:({query:e})=>{l.visit(w({query:e}),{only:[`data`,`sort`],preserveScroll:!0})}}),V=g({get data(){return N.value},get columns(){return I.value},state:{get pagination(){return L.value},get sorting(){return z.value},get columnVisibility(){return F.value}},getCoreRowModel:m(),...R,...B});return(t,l)=>(i(),s(S,{title:n.title},{actions:o(()=>[r(y,{appearance:`button`,href:c(T)[`/admin/settings/entry-types/new`]().url,variant:`primary`,inertia:!1,icon:`plus`},{default:o(()=>[a(d(c(e)(`New entry type`)),1)]),_:1},8,[`href`])]),default:o(()=>[r(v,{padding:0,appearance:`raised`},{default:o(()=>[r(_,{spacing:c(p).Relaxed,table:c(V),reorderable:!1,from:n.pagination.from,to:n.pagination.to,total:n.pagination.total,"enable-adjust-page-size":!0},{"empty-row":o(()=>[r(h,{icon:`light/files`,label:c(e)(`No entry types exist yet.`)},null,8,[`label`])]),"search-form":o(()=>[r(D,{action:c(w)(),modelValue:M.value,"onUpdate:modelValue":l[0]||=e=>M.value=e},null,8,[`action`,`modelValue`])]),_:1},8,[`spacing`,`table`,`from`,`to`,`total`])]),_:1})]),_:1},8,[`title`]))}});export{A as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsFieldsIndexPage-68Z1veNl.js b/resources/build/assets/SettingsFieldsIndexPage-BDxDw3pr.js similarity index 64% rename from resources/build/assets/SettingsFieldsIndexPage-68Z1veNl.js rename to resources/build/assets/SettingsFieldsIndexPage-BDxDw3pr.js index 08bea561f1f..78a56e59606 100644 --- a/resources/build/assets/SettingsFieldsIndexPage-68Z1veNl.js +++ b/resources/build/assets/SettingsFieldsIndexPage-BDxDw3pr.js @@ -1 +1 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{E as t,L as n,T as r,Y as i,_ as a,at as o,dt as s,et as c,k as l,ut as u,w as d,y as f}from"./_plugin-vue_export-helper-C3orD-yt.js";import{c as p,l as m,n as h,s as g,t as _}from"./AdminTable-BaWDz4rn.js";import{o as v}from"./InlineFlash-Mr7imUWg.js";import{t as y}from"./Pane-CyLhaZAB.js";import{n as b,t as x}from"./wayfinder-CyAPyHKQ.js";import{t as S}from"./DeleteButton-CPJTFImZ.js";import{t as C}from"./AppLayout-CbgDw9ix.js";import{n as w,r as T,t as E}from"./useServerSort-3m22Xmzt.js";var D=e=>({url:D.url(e),method:`get`});D.definition={methods:[`get`,`head`],url:`/admin/actions/fields/edit-field`},D.url=e=>D.definition.url+b(e),D.get=e=>({url:D.url(e),method:`get`}),D.head=e=>({url:D.url(e),method:`head`});var O=(e,t)=>({url:O.url(e,t),method:`get`});O.definition={methods:[`get`,`head`],url:`/admin/settings/fields/edit/{fieldId}`},O.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={fieldId:e}),Array.isArray(e)&&(e={fieldId:e[0]}),e=x(e);let n={fieldId:e.fieldId};return O.definition.url.replace(`{fieldId}`,n.fieldId.toString()).replace(/\/+$/,``)+b(t)},O.get=(e,t)=>({url:O.url(e,t),method:`get`}),O.head=(e,t)=>({url:O.url(e,t),method:`head`});var k=e=>({url:k.url(e),method:`post`});k.definition={methods:[`post`],url:`/admin/actions/fields/render-settings`},k.url=e=>k.definition.url+b(e),k.post=e=>({url:k.url(e),method:`post`});var A=e=>({url:A.url(e),method:`post`});A.definition={methods:[`post`],url:`/admin/actions/fields/save-field`},A.url=e=>A.definition.url+b(e),A.post=e=>({url:A.url(e),method:`post`});var j=e=>({url:j.url(e),method:`post`});j.definition={methods:[`post`],url:`/admin/actions/fields/render-layout-component-settings`},j.url=e=>j.definition.url+b(e),j.post=e=>({url:j.url(e),method:`post`});var M=e=>({url:M.url(e),method:`post`});M.definition={methods:[`post`],url:`/admin/actions/fields/apply-layout-tab-settings`},M.url=e=>M.definition.url+b(e),M.post=e=>({url:M.url(e),method:`post`});var N=e=>({url:N.url(e),method:`post`});N.definition={methods:[`post`],url:`/admin/actions/fields/apply-layout-element-settings`},N.url=e=>N.definition.url+b(e),N.post=e=>({url:N.url(e),method:`post`});var P=e=>({url:P.url(e),method:`post`});P.definition={methods:[`post`],url:`/admin/actions/fields/render-card-preview`},P.url=e=>P.definition.url+b(e),P.post=e=>({url:P.url(e),method:`post`});var F=e=>({url:F.url(e),method:`get`});F.definition={methods:[`get`,`head`],url:`/admin/actions/fields/table-data`},F.url=e=>F.definition.url+b(e),F.get=e=>({url:F.url(e),method:`get`}),F.head=e=>({url:F.url(e),method:`head`});var I=e=>({url:I.url(e),method:`get`});I.definition={methods:[`get`,`head`],url:`/admin/settings/fields`},I.url=e=>I.definition.url+b(e),I.get=e=>({url:I.url(e),method:`get`}),I.head=e=>({url:I.url(e),method:`head`});var L=e=>({url:L.url(e),method:`get`});L.definition={methods:[`get`,`head`],url:`/admin/settings/fields/new`},L.url=e=>L.definition.url+b(e),L.get=e=>({url:L.url(e),method:`get`}),L.head=e=>({url:L.url(e),method:`head`});var R=(e,t)=>({url:R.url(e,t),method:`delete`});R.definition={methods:[`delete`],url:`/admin/settings/fields/{fieldId}`},R.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={fieldId:e}),Array.isArray(e)&&(e={fieldId:e[0]}),e=x(e);let n={fieldId:e.fieldId};return R.definition.url.replace(`{fieldId}`,n.fieldId.toString()).replace(/\/+$/,``)+b(t)},R.delete=(e,t)=>({url:R.url(e,t),method:`delete`});var z=t({__name:`SettingsFieldsIndexPage`,props:{title:{},readOnly:{type:Boolean},data:{},sort:{},searchTerm:{},pagination:{},isMultiSite:{type:Boolean}},setup(t){let b=t;function x(t){confirm(e(`Are you sure you want to delete “{name}”?`,{name:t.title}))&&s.delete(R({fieldId:t.id}))}let D=o(b.searchTerm??``),O=p(),k=a(()=>({name:!0,searchable:!0,translatable:b.isMultiSite,handle:!0,type:!0,usages:!0,actions:!b.readOnly})),A=o([O.accessor(`title`,{header:e(`Name`),meta:{trackSize:`1.5fr`},cell:({row:e,getValue:t})=>l(v,{href:e.original.url,inertia:!1,class:`font-bold`},t)}),O.accessor(`searchable`,{header:e(`Searchable`),meta:{trackSize:`34px`,headerSrOnly:!0},enableSorting:!1,cell:({row:t})=>{if(t.original.searchable)return l(`craft-icon`,{appearance:`badge`,name:`magnifying-glass`,label:e(`This field’s values are used as search keywords.`)})}}),O.accessor(`translatable`,{header:e(`Translatable`),meta:{trackSize:`34px`,headerSrOnly:!0},enableSorting:!1,cell:({getValue:e})=>{if(e())return l(`craft-icon`,{appearance:`badge`,name:`custom-icons/language`,label:e()})}}),O.accessor(`handle`,{header:e(`Handle`),cell:({getValue:e})=>l(`craft-copy-attribute`,{value:e()},e)}),O.display({id:`type`,header:e(`Type`),cell:({row:t})=>t.original.type.isMissing?e(`Missing`):l(`div`,{class:`flex items-center gap-2`},[l(`craft-icon`,t.original.type.icon),l(`span`,t.original.type.label)])}),O.accessor(`usages`,{header:e(`Used by`)}),O.display({id:`actions`,meta:{trackSize:`60px`},cell:({row:e})=>l(`div`,{class:`self-end flex justify-end`},[l(S,{onClick:()=>x(e.original)})])})]),{paginationState:j,paginationConfig:M}=T({initialState:b.pagination,onChange:({query:e})=>{s.visit(I({query:e}),{only:[`data`,`pagination`],preserveScroll:!0})}}),{sortingState:N,sortingConfig:P}=E({initialState:b.sort,onChange:({query:e})=>{s.visit(I({query:e}),{only:[`data`,`sort`],preserveScroll:!0})}}),F=g({get data(){return b.data},get columns(){return A.value},state:{get pagination(){return j.value},get columnVisibility(){return k.value},get sorting(){return N.value}},getCoreRowModel:m(),...M,...P});return(a,o)=>(n(),f(C,{title:t.title},{actions:i(()=>[r(v,{inertia:!1,appearance:`button`,variant:`primary`,href:u(L)(),icon:`plus`},{default:i(()=>[d(c(u(e)(`New field`)),1)]),_:1},8,[`href`])]),default:i(()=>[r(y,{padding:0,appearance:`raised`},{default:i(()=>[r(_,{table:u(F),reorderable:!1,from:t.pagination.from,to:t.pagination.to,total:t.pagination.total,"enable-adjust-page-size":!0},{"empty-row":i(()=>[r(h,{icon:`light/pen-to-square`,label:u(e)(`No fields exist yet.`)},null,8,[`label`])]),"search-form":i(()=>[r(w,{modelValue:D.value,"onUpdate:modelValue":o[0]||=e=>D.value=e},null,8,[`modelValue`])]),_:1},8,[`table`,`from`,`to`,`total`])]),_:1})]),_:1},8,[`title`]))}});export{z as default}; \ No newline at end of file +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{A as t,D as n,E as r,R as i,T as a,X as o,b as s,dt as c,ft as l,ot as u,tt as d,v as f}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{c as p,n as m,o as h,s as g,t as _}from"./AdminTable-TPqS7_4T.js";import{t as v}from"./Pane-C776R7L2.js";import{s as y}from"./InlineFlash-Duhr9n8-.js";import{n as b,t as x}from"./wayfinder-ghdHxiwr.js";import{t as S}from"./DeleteButton-u_rv7O4A.js";import{t as C}from"./AppLayout-dqX06RZT.js";import{n as w,r as T,t as E}from"./useServerSort-DsyncXBl.js";var D=e=>({url:D.url(e),method:`get`});D.definition={methods:[`get`,`head`],url:`/admin/actions/fields/edit-field`},D.url=e=>D.definition.url+b(e),D.get=e=>({url:D.url(e),method:`get`}),D.head=e=>({url:D.url(e),method:`head`});var O=(e,t)=>({url:O.url(e,t),method:`get`});O.definition={methods:[`get`,`head`],url:`/admin/settings/fields/edit/{fieldId}`},O.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={fieldId:e}),Array.isArray(e)&&(e={fieldId:e[0]}),e=x(e);let n={fieldId:e.fieldId};return O.definition.url.replace(`{fieldId}`,n.fieldId.toString()).replace(/\/+$/,``)+b(t)},O.get=(e,t)=>({url:O.url(e,t),method:`get`}),O.head=(e,t)=>({url:O.url(e,t),method:`head`});var k=e=>({url:k.url(e),method:`post`});k.definition={methods:[`post`],url:`/admin/actions/fields/render-settings`},k.url=e=>k.definition.url+b(e),k.post=e=>({url:k.url(e),method:`post`});var A=e=>({url:A.url(e),method:`post`});A.definition={methods:[`post`],url:`/admin/actions/fields/save-field`},A.url=e=>A.definition.url+b(e),A.post=e=>({url:A.url(e),method:`post`});var j=e=>({url:j.url(e),method:`post`});j.definition={methods:[`post`],url:`/admin/actions/fields/render-layout-component-settings`},j.url=e=>j.definition.url+b(e),j.post=e=>({url:j.url(e),method:`post`});var M=e=>({url:M.url(e),method:`post`});M.definition={methods:[`post`],url:`/admin/actions/fields/apply-layout-tab-settings`},M.url=e=>M.definition.url+b(e),M.post=e=>({url:M.url(e),method:`post`});var N=e=>({url:N.url(e),method:`post`});N.definition={methods:[`post`],url:`/admin/actions/fields/apply-layout-element-settings`},N.url=e=>N.definition.url+b(e),N.post=e=>({url:N.url(e),method:`post`});var P=e=>({url:P.url(e),method:`post`});P.definition={methods:[`post`],url:`/admin/actions/fields/render-card-preview`},P.url=e=>P.definition.url+b(e),P.post=e=>({url:P.url(e),method:`post`});var F=e=>({url:F.url(e),method:`get`});F.definition={methods:[`get`,`head`],url:`/admin/actions/fields/table-data`},F.url=e=>F.definition.url+b(e),F.get=e=>({url:F.url(e),method:`get`}),F.head=e=>({url:F.url(e),method:`head`});var I=e=>({url:I.url(e),method:`get`});I.definition={methods:[`get`,`head`],url:`/admin/settings/fields`},I.url=e=>I.definition.url+b(e),I.get=e=>({url:I.url(e),method:`get`}),I.head=e=>({url:I.url(e),method:`head`});var L=e=>({url:L.url(e),method:`get`});L.definition={methods:[`get`,`head`],url:`/admin/settings/fields/new`},L.url=e=>L.definition.url+b(e),L.get=e=>({url:L.url(e),method:`get`}),L.head=e=>({url:L.url(e),method:`head`});var R=(e,t)=>({url:R.url(e,t),method:`delete`});R.definition={methods:[`delete`],url:`/admin/settings/fields/{fieldId}`},R.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={fieldId:e}),Array.isArray(e)&&(e={fieldId:e[0]}),e=x(e);let n={fieldId:e.fieldId};return R.definition.url.replace(`{fieldId}`,n.fieldId.toString()).replace(/\/+$/,``)+b(t)},R.delete=(e,t)=>({url:R.url(e,t),method:`delete`});var z=n({__name:`SettingsFieldsIndexPage`,props:{title:{},readOnly:{type:Boolean},data:{},sort:{},searchTerm:{},pagination:{},isMultiSite:{type:Boolean}},setup(n){let b=n;function x(t){confirm(e(`Are you sure you want to delete “{name}”?`,{name:t.title}))&&l.delete(R({fieldId:t.id}))}let D=u(b.searchTerm??``),O=g(),k=f(()=>({name:!0,searchable:!0,translatable:b.isMultiSite,handle:!0,type:!0,usages:!0,actions:!b.readOnly})),A=u([O.accessor(`title`,{header:e(`Name`),meta:{trackSize:`1.5fr`},cell:({row:e,getValue:n})=>t(y,{href:e.original.url,inertia:!1,class:`font-bold`},n)}),O.accessor(`searchable`,{header:e(`Searchable`),meta:{trackSize:`34px`,headerSrOnly:!0},enableSorting:!1,cell:({row:n})=>{if(n.original.searchable)return t(`craft-icon`,{appearance:`badge`,name:`magnifying-glass`,label:e(`This field’s values are used as search keywords.`)})}}),O.accessor(`translatable`,{header:e(`Translatable`),meta:{trackSize:`34px`,headerSrOnly:!0},enableSorting:!1,cell:({getValue:e})=>{if(e())return t(`craft-icon`,{appearance:`badge`,name:`custom-icons/language`,label:e()})}}),O.accessor(`handle`,{header:e(`Handle`),cell:({getValue:e})=>t(`craft-copy-attribute`,{value:e()},e)}),O.display({id:`type`,header:e(`Type`),cell:({row:n})=>n.original.type.isMissing?e(`Missing`):t(`div`,{class:`flex items-center gap-2`},[t(`craft-icon`,n.original.type.icon),t(`span`,n.original.type.label)])}),O.accessor(`usages`,{header:e(`Used by`)}),O.display({id:`actions`,meta:{trackSize:`60px`},cell:({row:e})=>t(`div`,{class:`self-end flex justify-end`},[t(S,{onClick:()=>x(e.original)})])})]),{paginationState:j,paginationConfig:M}=T({initialState:b.pagination,onChange:({query:e})=>{l.visit(I({query:e}),{only:[`data`,`pagination`],preserveScroll:!0})}}),{sortingState:N,sortingConfig:P}=E({initialState:b.sort,onChange:({query:e})=>{l.visit(I({query:e}),{only:[`data`,`sort`],preserveScroll:!0})}}),F=h({get data(){return b.data},get columns(){return A.value},state:{get pagination(){return j.value},get columnVisibility(){return k.value},get sorting(){return N.value}},getCoreRowModel:p(),...M,...P});return(t,l)=>(i(),s(C,{title:n.title},{actions:o(()=>[r(y,{inertia:!1,appearance:`button`,variant:`primary`,href:c(L)(),icon:`plus`},{default:o(()=>[a(d(c(e)(`New field`)),1)]),_:1},8,[`href`])]),default:o(()=>[r(v,{padding:0,appearance:`raised`},{default:o(()=>[r(_,{table:c(F),reorderable:!1,from:n.pagination.from,to:n.pagination.to,total:n.pagination.total,"enable-adjust-page-size":!0},{"empty-row":o(()=>[r(m,{icon:`light/pen-to-square`,label:c(e)(`No fields exist yet.`)},null,8,[`label`])]),"search-form":o(()=>[r(w,{modelValue:D.value,"onUpdate:modelValue":l[0]||=e=>D.value=e},null,8,[`modelValue`])]),_:1},8,[`table`,`from`,`to`,`total`])]),_:1})]),_:1},8,[`title`]))}});export{z as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsFilesystemsIndexPage-BlN02sdi.js b/resources/build/assets/SettingsFilesystemsIndexPage-7JJWvXrc.js similarity index 68% rename from resources/build/assets/SettingsFilesystemsIndexPage-BlN02sdi.js rename to resources/build/assets/SettingsFilesystemsIndexPage-7JJWvXrc.js index 0c3313a081b..1db6950a09f 100644 --- a/resources/build/assets/SettingsFilesystemsIndexPage-BlN02sdi.js +++ b/resources/build/assets/SettingsFilesystemsIndexPage-7JJWvXrc.js @@ -1 +1 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{E as t,L as n,T as r,Y as i,_ as a,at as o,dt as s,et as c,k as l,ut as u,w as d,y as f}from"./_plugin-vue_export-helper-C3orD-yt.js";import{l as p,n as m,s as h,t as g}from"./AdminTable-BaWDz4rn.js";import{o as _}from"./InlineFlash-Mr7imUWg.js";import{t as v}from"./Pane-CyLhaZAB.js";import{n as y,t as b}from"./wayfinder-CyAPyHKQ.js";import{t as x}from"./DeleteButton-CPJTFImZ.js";import{t as S}from"./createCraftColumnHelper-DQvg7ogx.js";import{t as C}from"./AppLayout-CbgDw9ix.js";import"./IndexLayout-B0w7rMLf.js";var w=e=>({url:w.url(e),method:`get`});w.definition={methods:[`get`,`head`],url:`/admin/actions/fs/edit`},w.url=e=>w.definition.url+y(e),w.get=e=>({url:w.url(e),method:`get`}),w.head=e=>({url:w.url(e),method:`head`});var T=(e,t)=>({url:T.url(e,t),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems/{handle}`},T.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return T.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},T.get=(e,t)=>({url:T.url(e,t),method:`get`}),T.head=(e,t)=>({url:T.url(e,t),method:`head`});var E=(e,t)=>({url:E.url(e,t),method:`get`});E.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems/{handle}/edit`},E.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return E.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},E.get=(e,t)=>({url:E.url(e,t),method:`get`}),E.head=(e,t)=>({url:E.url(e,t),method:`head`});var D={"/admin/actions/fs/edit":w,"/admin/settings/filesystems/{handle}":T,"/admin/settings/filesystems/{handle}/edit":E},O=e=>({url:O.url(e),method:`post`});O.definition={methods:[`post`],url:`/admin/actions/fs/save`},O.url=e=>O.definition.url+y(e),O.post=e=>({url:O.url(e),method:`post`});var k=(e,t)=>({url:k.url(e,t),method:`post`});k.definition={methods:[`post`],url:`/admin/settings/filesystems/{handle}`},k.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return k.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},k.post=(e,t)=>({url:k.url(e,t),method:`post`});var A=e=>({url:A.url(e),method:`get`});A.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems`},A.url=e=>A.definition.url+y(e),A.get=e=>({url:A.url(e),method:`get`}),A.head=e=>({url:A.url(e),method:`head`});var j=e=>({url:j.url(e),method:`get`});j.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems/new`},j.url=e=>j.definition.url+y(e),j.get=e=>({url:j.url(e),method:`get`}),j.head=e=>({url:j.url(e),method:`head`});var M=(e,t)=>({url:M.url(e,t),method:`delete`});M.definition={methods:[`delete`],url:`/admin/settings/filesystems/{handle}`},M.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return M.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},M.delete=(e,t)=>({url:M.url(e,t),method:`delete`});var N=t({__name:`SettingsFilesystemsIndexPage`,props:{filesystems:{},readOnly:{type:Boolean}},setup(t){let y=t;function b(t){console.log({fs:t}),confirm(e(`Are you sure you want to delete “{name}”`,{name:t.name}))&&s.delete(M(t.handle))}let w=S(),T=a(()=>({name:!0,handle:!0,type:!0,actions:!y.readOnly})),E=o([w.link(`name`,{header:e(`Name`),props:({row:e})=>({href:D[`/admin/settings/filesystems/{handle}/edit`]({handle:e.original.handle}).url,inertia:!1})}),w.handle(`handle`),w.accessor(`type`,{header:e(`Type`),cell:({row:e,getValue:t})=>e.original.missing?l(`span`,{class:`c-color-error`},t()):t()}),w.actions(({row:e})=>[l(x,{onClick:()=>b(e.original)})])]),O=h({get data(){return y.filesystems},get columns(){return E.value},state:{get columnVisibility(){return T.value}},enableSorting:!1,getCoreRowModel:p()});return(t,a)=>(n(),f(C,null,{actions:i(()=>[r(_,{variant:`primary`,appearance:`button`,href:u(j)().url,inertia:!1},{default:i(()=>[d(c(u(e)(`New filesystem`)),1)]),_:1},8,[`href`])]),default:i(()=>[r(v,{padding:0,appearance:`raised`},{default:i(()=>[r(g,{table:u(O),reorderable:!1},{"empty-row":i(()=>[r(m,{label:u(e)(`No filesystems exist yet.`),icon:`light/folder-open`},{default:i(()=>[r(_,{appearance:`button`,href:u(j)().url,inertia:!1},{default:i(()=>[d(c(u(e)(`New filesystem`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1})]),_:1}))}});export{N as default}; \ No newline at end of file +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{A as t,D as n,E as r,R as i,T as a,X as o,b as s,dt as c,ft as l,ot as u,tt as d,v as f}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{c as p,n as m,o as h,t as g}from"./AdminTable-TPqS7_4T.js";import{t as _}from"./Pane-C776R7L2.js";import{s as v}from"./InlineFlash-Duhr9n8-.js";import{n as y,t as b}from"./wayfinder-ghdHxiwr.js";import{t as x}from"./DeleteButton-u_rv7O4A.js";import{t as S}from"./createCraftColumnHelper-CPPRJRXc.js";import{t as C}from"./AppLayout-dqX06RZT.js";import"./IndexLayout-C2GDwLPK.js";var w=e=>({url:w.url(e),method:`get`});w.definition={methods:[`get`,`head`],url:`/admin/actions/fs/edit`},w.url=e=>w.definition.url+y(e),w.get=e=>({url:w.url(e),method:`get`}),w.head=e=>({url:w.url(e),method:`head`});var T=(e,t)=>({url:T.url(e,t),method:`get`});T.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems/{handle}`},T.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return T.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},T.get=(e,t)=>({url:T.url(e,t),method:`get`}),T.head=(e,t)=>({url:T.url(e,t),method:`head`});var E=(e,t)=>({url:E.url(e,t),method:`get`});E.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems/{handle}/edit`},E.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return E.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},E.get=(e,t)=>({url:E.url(e,t),method:`get`}),E.head=(e,t)=>({url:E.url(e,t),method:`head`});var D={"/admin/actions/fs/edit":w,"/admin/settings/filesystems/{handle}":T,"/admin/settings/filesystems/{handle}/edit":E},O=e=>({url:O.url(e),method:`post`});O.definition={methods:[`post`],url:`/admin/actions/fs/save`},O.url=e=>O.definition.url+y(e),O.post=e=>({url:O.url(e),method:`post`});var k=(e,t)=>({url:k.url(e,t),method:`post`});k.definition={methods:[`post`],url:`/admin/settings/filesystems/{handle}`},k.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return k.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},k.post=(e,t)=>({url:k.url(e,t),method:`post`});var A=e=>({url:A.url(e),method:`get`});A.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems`},A.url=e=>A.definition.url+y(e),A.get=e=>({url:A.url(e),method:`get`}),A.head=e=>({url:A.url(e),method:`head`});var j=e=>({url:j.url(e),method:`get`});j.definition={methods:[`get`,`head`],url:`/admin/settings/filesystems/new`},j.url=e=>j.definition.url+y(e),j.get=e=>({url:j.url(e),method:`get`}),j.head=e=>({url:j.url(e),method:`head`});var M=(e,t)=>({url:M.url(e,t),method:`delete`});M.definition={methods:[`delete`],url:`/admin/settings/filesystems/{handle}`},M.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=b(e);let n={handle:e.handle};return M.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+y(t)},M.delete=(e,t)=>({url:M.url(e,t),method:`delete`});var N=n({__name:`SettingsFilesystemsIndexPage`,props:{filesystems:{},readOnly:{type:Boolean}},setup(n){let y=n;function b(t){console.log({fs:t}),confirm(e(`Are you sure you want to delete “{name}”`,{name:t.name}))&&l.delete(M(t.handle))}let w=S(),T=f(()=>({name:!0,handle:!0,type:!0,actions:!y.readOnly})),E=u([w.link(`name`,{header:e(`Name`),props:({row:e})=>({href:D[`/admin/settings/filesystems/{handle}/edit`]({handle:e.original.handle}).url,inertia:!1})}),w.handle(`handle`),w.accessor(`type`,{header:e(`Type`),cell:({row:e,getValue:n})=>e.original.missing?t(`span`,{class:`c-color-error`},n()):n()}),w.actions(({row:e})=>[t(x,{onClick:()=>b(e.original)})])]),O=h({get data(){return y.filesystems},get columns(){return E.value},state:{get columnVisibility(){return T.value}},enableSorting:!1,getCoreRowModel:p()});return(t,n)=>(i(),s(C,null,{actions:o(()=>[r(v,{variant:`primary`,appearance:`button`,href:c(j)().url,inertia:!1},{default:o(()=>[a(d(c(e)(`New filesystem`)),1)]),_:1},8,[`href`])]),default:o(()=>[r(_,{padding:0,appearance:`raised`},{default:o(()=>[r(g,{table:c(O),reorderable:!1},{"empty-row":o(()=>[r(m,{label:c(e)(`No filesystems exist yet.`),icon:`light/folder-open`},{default:o(()=>[r(v,{appearance:`button`,href:c(j)().url,inertia:!1},{default:o(()=>[a(d(c(e)(`New filesystem`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1})]),_:1}))}});export{N as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsGeneralPage-DfGjNvYD.js b/resources/build/assets/SettingsGeneralPage-DfGjNvYD.js deleted file mode 100644 index 8618fc302f0..00000000000 --- a/resources/build/assets/SettingsGeneralPage-DfGjNvYD.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{E as t,L as n,T as r,Y as i,_ as a,et as o,s,t as c,ut as l,v as u,w as d,y as f}from"./_plugin-vue_export-helper-C3orD-yt.js";import{t as p}from"./Pane-CyLhaZAB.js";import{i as m,n as h}from"./wayfinder-CyAPyHKQ.js";import{t as g}from"./CraftInput-Diy-IcJh.js";import{t as _}from"./AppLayout-CbgDw9ix.js";import{t as v}from"./CraftCombobox-CF-lmAE3.js";import{t as y}from"./useSettingsSave-BLqVG46P.js";import{t as b}from"./transformBooleanOptions-CCFWcZ4p.js";var x=e=>({url:x.url(e),method:`get`});x.definition={methods:[`get`,`head`],url:`/admin/settings/general`},x.url=e=>x.definition.url+h(e),x.get=e=>({url:x.url(e),method:`get`}),x.head=e=>({url:x.url(e),method:`head`});var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/settings/general`},S.url=e=>S.definition.url+h(e),S.post=e=>({url:S.url(e),method:`post`});var C={class:`grid gap-3`},w={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},T={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},E=[`innerHTML`],D=[`innerHTML`],O=c(t({__name:`SettingsGeneralPage`,props:{system:{},nameSuggestions:{},timezoneOptions:{},systemStatusOptions:{},flash:{},errors:{}},setup(t){let c=t;a(()=>c.flash);let h=a(()=>c.errors),{readOnly:x}=m(),O=s({name:c.system.name??``,live:c.system.live,retryDuration:c.system.retryDuration,timeZone:c.system.timeZone}),{save:k}=y(O,S),A=a(()=>b(c.systemStatusOptions,{trueLabel:e(`Online`),falseLabel:e(`Offline`)})),j=a(()=>[{value:`1`,label:e(`Online`),data:{indicator:{variant:`success`}}},{value:`0`,label:e(`Offline`),data:{indicator:{variant:`empty`}}},...A.value]);return(a,s)=>(n(),f(_,{title:l(e)(`General Settings`),form:l(O),onSave:l(k)},{default:i(()=>[r(p,{appearance:`raised`},{default:i(()=>[u(`div`,C,[r(v,{label:l(e)(`System Name`),id:`name`,name:`name`,modelValue:l(O).name,"onUpdate:modelValue":s[0]||=e=>l(O).name=e,"has-feedback-for":h.value?.name?`error`:``,disabled:l(x),"require-option-match":!1,"show-all-on-empty":``,options:t.nameSuggestions,error:h.value?.name},{after:i(()=>[u(`craft-callout`,w,[d(o(l(e)(`This can begin with an environment variable.`))+` `,1),u(`a`,T,o(l(e)(`Learn more`)),1)])]),_:1},8,[`label`,`modelValue`,`has-feedback-for`,`disabled`,`options`,`error`]),r(v,{label:l(e)(`System Status`),id:`live`,name:`live`,modelValue:l(O).live,"onUpdate:modelValue":s[1]||=e=>l(O).live=e,error:h.value?.live,disabled:l(x),"show-all-on-empty":``,options:j.value},{after:i(()=>[u(`craft-callout`,{variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`,innerHTML:l(e)(`This can be set to an environment variable with a boolean value ({examples})`,{examples:`yes/no/true/false/on/off/0/1`})},null,8,E)]),_:1},8,[`label`,`modelValue`,`error`,`disabled`,`options`]),r(g,{label:l(e)(`Retry Duration`),id:`retry-duration`,name:`retryDuration`,modelValue:l(O).retryDuration,"onUpdate:modelValue":s[2]||=e=>l(O).retryDuration=e,error:h.value?.retryDuration,inputmode:`numeric`,maxlength:`4`,disabled:l(x)},{default:i(()=>[u(`div`,{slot:`help-text`,innerHTML:l(e)(`The number of seconds that the Retry-After HTTP header should be set to for 503 responses when the system is offline.`)},null,8,D)]),_:1},8,[`label`,`modelValue`,`error`,`disabled`]),r(v,{label:l(e)(`Time Zone`),id:`time-zone`,name:`timeZone`,modelValue:l(O).timeZone,"onUpdate:modelValue":s[3]||=e=>l(O).timeZone=e,error:h.value?.timeZone,disabled:l(x),"show-all-on-empty":``,options:t.timezoneOptions},{item:i(({item:e})=>[d(o(e.label)+o(e.data?.hint?` — ${e.data.hint}`:``),1)]),after:i(()=>[...s[4]||=[u(`craft-callout`,{variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},[d(` This can be set to an environment variable with a value of a `),u(`a`,{href:`https://www.php.net/manual/en/timezones.php`,rel:`noopener`,target:`_blank`},`supported time zone`),d(`. `)],-1)]]),_:1},8,[`label`,`modelValue`,`error`,`disabled`,`options`])])]),_:1})]),_:1},8,[`title`,`form`,`onSave`]))}}),[[`__scopeId`,`data-v-a2a8f681`]]);export{O as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsGeneralPage-DhVlamtw.js b/resources/build/assets/SettingsGeneralPage-DhVlamtw.js new file mode 100644 index 00000000000..bdc14998eb0 --- /dev/null +++ b/resources/build/assets/SettingsGeneralPage-DhVlamtw.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{D as t,E as n,R as r,T as i,X as a,b as o,dt as s,s as c,t as l,tt as u,v as d,y as f}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{t as p}from"./Pane-C776R7L2.js";import{i as m,n as h}from"./wayfinder-ghdHxiwr.js";import{t as g}from"./CraftInput-BrzKPRWU.js";import{t as _}from"./AppLayout-dqX06RZT.js";import{t as v}from"./CraftCombobox-DdSZuyjg.js";import{t as y}from"./useSettingsSave-DQO6N1dq.js";import{t as b}from"./transformBooleanOptions-BQMCf7jC.js";var x=e=>({url:x.url(e),method:`get`});x.definition={methods:[`get`,`head`],url:`/admin/settings/general`},x.url=e=>x.definition.url+h(e),x.get=e=>({url:x.url(e),method:`get`}),x.head=e=>({url:x.url(e),method:`head`});var S=e=>({url:S.url(e),method:`post`});S.definition={methods:[`post`],url:`/admin/settings/general`},S.url=e=>S.definition.url+h(e),S.post=e=>({url:S.url(e),method:`post`});var C={class:`grid gap-3`},w={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},T={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},E=[`innerHTML`],D=[`innerHTML`],O=l(t({__name:`SettingsGeneralPage`,props:{system:{},nameSuggestions:{},timezoneOptions:{},systemStatusOptions:{},flash:{},errors:{}},setup(t){let l=t;d(()=>l.flash);let h=d(()=>l.errors),{readOnly:x}=m(),O=c({name:l.system.name??``,live:l.system.live,retryDuration:l.system.retryDuration,timeZone:l.system.timeZone}),{save:k}=y(O,S),A=d(()=>b(l.systemStatusOptions,{trueLabel:e(`Online`),falseLabel:e(`Offline`)})),j=d(()=>[{value:`1`,label:e(`Online`),data:{indicator:{variant:`success`}}},{value:`0`,label:e(`Offline`),data:{indicator:{variant:`empty`}}},...A.value]);return(c,l)=>(r(),o(_,{title:s(e)(`General Settings`),form:s(O),onSave:s(k)},{default:a(()=>[n(p,{appearance:`raised`},{default:a(()=>[f(`div`,C,[n(v,{label:s(e)(`System Name`),id:`name`,name:`name`,modelValue:s(O).name,"onUpdate:modelValue":l[0]||=e=>s(O).name=e,"has-feedback-for":h.value?.name?`error`:``,disabled:s(x),"require-option-match":!1,"show-all-on-empty":``,options:t.nameSuggestions,error:h.value?.name},{after:a(()=>[f(`craft-callout`,w,[i(u(s(e)(`This can begin with an environment variable.`))+` `,1),f(`a`,T,u(s(e)(`Learn more`)),1)])]),_:1},8,[`label`,`modelValue`,`has-feedback-for`,`disabled`,`options`,`error`]),n(v,{label:s(e)(`System Status`),id:`live`,name:`live`,modelValue:s(O).live,"onUpdate:modelValue":l[1]||=e=>s(O).live=e,error:h.value?.live,disabled:s(x),"show-all-on-empty":``,options:j.value},{after:a(()=>[f(`craft-callout`,{variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`,innerHTML:s(e)(`This can be set to an environment variable with a boolean value ({examples})`,{examples:`yes/no/true/false/on/off/0/1`})},null,8,E)]),_:1},8,[`label`,`modelValue`,`error`,`disabled`,`options`]),n(g,{label:s(e)(`Retry Duration`),id:`retry-duration`,name:`retryDuration`,modelValue:s(O).retryDuration,"onUpdate:modelValue":l[2]||=e=>s(O).retryDuration=e,error:h.value?.retryDuration,inputmode:`numeric`,maxlength:`4`,disabled:s(x)},{default:a(()=>[f(`div`,{slot:`help-text`,innerHTML:s(e)(`The number of seconds that the Retry-After HTTP header should be set to for 503 responses when the system is offline.`)},null,8,D)]),_:1},8,[`label`,`modelValue`,`error`,`disabled`]),n(v,{label:s(e)(`Time Zone`),id:`time-zone`,name:`timeZone`,modelValue:s(O).timeZone,"onUpdate:modelValue":l[3]||=e=>s(O).timeZone=e,error:h.value?.timeZone,disabled:s(x),"show-all-on-empty":``,options:t.timezoneOptions},{item:a(({item:e})=>[i(u(e.label)+u(e.data?.hint?` — ${e.data.hint}`:``),1)]),after:a(()=>[...l[4]||=[f(`craft-callout`,{variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},[i(` This can be set to an environment variable with a value of a `),f(`a`,{href:`https://www.php.net/manual/en/timezones.php`,rel:`noopener`,target:`_blank`},`supported time zone`),i(`. `)],-1)]]),_:1},8,[`label`,`modelValue`,`error`,`disabled`,`options`])])]),_:1})]),_:1},8,[`title`,`form`,`onSave`]))}}),[[`__scopeId`,`data-v-a2a8f681`]]);export{O as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsImageTransformsIndexPage-KoX1eji_.js b/resources/build/assets/SettingsImageTransformsIndexPage-KoX1eji_.js deleted file mode 100644 index b8da9c706cc..00000000000 --- a/resources/build/assets/SettingsImageTransformsIndexPage-KoX1eji_.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{r as t}from"./cp-CoDnSlcH.js";import{E as n,L as r,T as i,Y as a,_ as o,at as s,dt as c,et as l,k as u,m as d,ut as f,v as p,w as m,x as h,y as g,z as _}from"./_plugin-vue_export-helper-C3orD-yt.js";import{l as v,n as y,s as b,t as x}from"./AdminTable-BaWDz4rn.js";import{o as S}from"./InlineFlash-Mr7imUWg.js";import{t as C}from"./DeleteButton-CPJTFImZ.js";import{t as w}from"./createCraftColumnHelper-DQvg7ogx.js";import{t as T}from"./IndexLayout-B0w7rMLf.js";import{c as E,i as D,o as O,s as k}from"./VolumesController-CoajQ-Mw.js";var A=n({__name:`SettingsImageTransformsIndexPage`,props:{transforms:{}},setup(n){function A(t){confirm(e(`Are you sure you want to delete the “{name}” transform?`,{name:t.name}))&&c.delete(k(t.id))}let j=n,M=s({name:!0,handle:!0}),N=w(),P=s([N.link(`name`,{header:e(`Name`)}),N.handle(`handle`),N.accessor(`mode`,{header:e(`Mode`)}),N.display({id:`dimensions`,header:e(`Dimensions`),cell:({row:e})=>`${e.original.width??`Auto`} x ${e.original.height??`Auto`}`}),N.accessor(`interlace`,{header:e(`Interlace`),cell:({row:e})=>e.original.interlace?t(e.original.interlace):`None`}),N.accessor(`format`,{header:e(`Format`),cell:({row:e})=>e.original.format?t(e.original.format):`Auto`}),N.actions(({row:e})=>[u(C,{onClick:()=>A(e.original)})])]),F=b({get data(){return j.transforms},get columns(){return P.value},enableSorting:!1,getCoreRowModel:v(),state:{get columnVisibility(){return M.value}}}),I=o(()=>({volumes:{label:e(`Volumes`),url:D().url},transforms:{label:e(`Image Transforms`),url:E().url,active:!0}}));return(t,n)=>(r(),g(T,null,{actions:a(()=>[i(S,{appearance:`button`,inertia:!1,href:f(O)().url,variant:`primary`,icon:`plus`},{default:a(()=>[m(l(f(e)(`New image transform`)),1)]),_:1},8,[`href`])]),"interior-nav":a(()=>[p(`craft-nav-list`,null,[(r(!0),h(d,null,_(I.value,(e,t)=>(r(),g(S,{key:t,as:`craft-nav-item`,active:e.active??!1,href:e.url,block:``,flush:``,inertia:e.inertia??!0},{default:a(()=>[m(l(e.label),1)]),_:2},1032,[`active`,`href`,`inertia`]))),128))])]),default:a(()=>[i(x,{table:f(F)},{"empty-row":a(()=>[i(y,{label:f(e)(`No image transforms exist yet.`),icon:`image`},{default:a(()=>[i(S,{appearance:`button`,inertia:!1,href:f(O)().url,variant:`default`,icon:`plus`},{default:a(()=>[m(l(f(e)(`New image transform`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1}))}});export{A as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsImageTransformsIndexPage-j5dj6JS7.js b/resources/build/assets/SettingsImageTransformsIndexPage-j5dj6JS7.js new file mode 100644 index 00000000000..f28354cbe6e --- /dev/null +++ b/resources/build/assets/SettingsImageTransformsIndexPage-j5dj6JS7.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{r as t}from"./cp-DyslAjVs.js";import{A as n,B as r,D as i,E as a,R as o,S as s,T as c,X as l,b as u,dt as d,ft as f,h as p,ot as m,tt as h,v as g,y as _}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{c as v,n as y,o as b,t as x}from"./AdminTable-TPqS7_4T.js";import{s as S}from"./InlineFlash-Duhr9n8-.js";import{t as C}from"./DeleteButton-u_rv7O4A.js";import{t as w}from"./createCraftColumnHelper-CPPRJRXc.js";import{t as T}from"./IndexLayout-C2GDwLPK.js";import{c as E,i as D,o as O,s as k}from"./VolumesController-Cjwrxzci.js";var A=i({__name:`SettingsImageTransformsIndexPage`,props:{transforms:{}},setup(i){function A(t){confirm(e(`Are you sure you want to delete the “{name}” transform?`,{name:t.name}))&&f.delete(k(t.id))}let j=i,M=m({name:!0,handle:!0}),N=w(),P=m([N.link(`name`,{header:e(`Name`)}),N.handle(`handle`),N.accessor(`mode`,{header:e(`Mode`)}),N.display({id:`dimensions`,header:e(`Dimensions`),cell:({row:e})=>`${e.original.width??`Auto`} x ${e.original.height??`Auto`}`}),N.accessor(`interlace`,{header:e(`Interlace`),cell:({row:e})=>e.original.interlace?t(e.original.interlace):`None`}),N.accessor(`format`,{header:e(`Format`),cell:({row:e})=>e.original.format?t(e.original.format):`Auto`}),N.actions(({row:e})=>[n(C,{onClick:()=>A(e.original)})])]),F=b({get data(){return j.transforms},get columns(){return P.value},enableSorting:!1,getCoreRowModel:v(),state:{get columnVisibility(){return M.value}}}),I=g(()=>({volumes:{label:e(`Volumes`),url:D().url},transforms:{label:e(`Image Transforms`),url:E().url,active:!0}}));return(t,n)=>(o(),u(T,null,{actions:l(()=>[a(S,{appearance:`button`,inertia:!1,href:d(O)().url,variant:`primary`,icon:`plus`},{default:l(()=>[c(h(d(e)(`New image transform`)),1)]),_:1},8,[`href`])]),"interior-nav":l(()=>[_(`craft-nav-list`,null,[(o(!0),s(p,null,r(I.value,(e,t)=>(o(),u(S,{key:t,as:`craft-nav-item`,active:e.active??!1,href:e.url,block:``,flush:``,inertia:e.inertia??!0},{default:l(()=>[c(h(e.label),1)]),_:2},1032,[`active`,`href`,`inertia`]))),128))])]),default:l(()=>[a(x,{table:d(F)},{"empty-row":l(()=>[a(y,{label:d(e)(`No image transforms exist yet.`),icon:`image`},{default:l(()=>[a(S,{appearance:`button`,inertia:!1,href:d(O)().url,variant:`default`,icon:`plus`},{default:l(()=>[c(h(d(e)(`New image transform`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1}))}});export{A as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsIndexPage-BJf597kO.js b/resources/build/assets/SettingsIndexPage-BJf597kO.js new file mode 100644 index 00000000000..32d5efd6842 --- /dev/null +++ b/resources/build/assets/SettingsIndexPage-BJf597kO.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{B as t,D as n,E as r,R as i,S as a,T as o,X as s,b as c,dt as l,h as u,t as d,tt as f,x as p,y as m}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{s as h}from"./InlineFlash-Duhr9n8-.js";import{n as g}from"./wayfinder-ghdHxiwr.js";import{n as _,t as v}from"./AppLayout-dqX06RZT.js";var y=e=>({url:y.url(e),method:`get`});y.definition={methods:[`get`,`head`],url:`/admin/settings`},y.url=e=>y.definition.url+g(e),y.get=e=>({url:y.url(e),method:`get`}),y.head=e=>({url:y.url(e),method:`head`});var b={class:`py-3`},x={class:`grid gap-6`},S=[`id`],C=[`aria-labelledby`],w={class:`settings-grid`},T={class:`settings-content`},E={class:`settings-icon`},D=[`name`],O=[`innerHTML`],k={class:`sr-only`},A=d(n({__name:`SettingsIndexPage`,props:{readOnly:{type:Boolean},settings:{}},setup(n){return(d,g)=>(i(),c(v,{title:l(e)(`Settings`)},{default:s(()=>[m(`div`,b,[n.readOnly?(i(),c(_,{key:0})):p(``,!0),m(`div`,x,[(i(!0),a(u,null,t(n.settings,(n,c,d)=>(i(),a(`div`,{key:c},[m(`h2`,{id:`category-heading-${d}`,class:`mb-2 text-lg leading-tight`},f(c),9,S),m(`nav`,{"aria-labelledby":`category-heading-${d}`},[m(`ul`,w,[(i(!0),a(u,null,t(n,(t,n)=>(i(),a(`li`,null,[r(h,{href:t.url||`${l(y)().url}/${n}`,class:`settings-item`},{default:s(()=>[m(`div`,T,[m(`div`,E,[t.iconName?(i(),a(`craft-icon`,{key:0,name:t.iconName,style:{"font-size":`calc(40rem / 16)`}},null,8,D)):t.icon?(i(),a(`div`,{key:1,innerHTML:t.icon,class:`w-[40px] h-[40px] inline-block align-self-center`},null,8,O)):p(``,!0)]),o(` `+f(t.label),1),m(`span`,k,` - `+f(l(e)(`Settings`)),1)])]),_:2},1032,[`href`])]))),256))])],8,C)]))),128))])])]),_:1},8,[`title`]))}}),[[`__scopeId`,`data-v-a99414ab`]]);export{A as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsIndexPage-uC6jW33P.js b/resources/build/assets/SettingsIndexPage-uC6jW33P.js deleted file mode 100644 index c8b0899cbd8..00000000000 --- a/resources/build/assets/SettingsIndexPage-uC6jW33P.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{E as t,L as n,T as r,Y as i,b as a,et as o,m as s,t as c,ut as l,v as u,w as d,x as f,y as p,z as m}from"./_plugin-vue_export-helper-C3orD-yt.js";import{o as h}from"./InlineFlash-Mr7imUWg.js";import{n as g}from"./wayfinder-CyAPyHKQ.js";import{n as _,t as v}from"./AppLayout-CbgDw9ix.js";var y=e=>({url:y.url(e),method:`get`});y.definition={methods:[`get`,`head`],url:`/admin/settings`},y.url=e=>y.definition.url+g(e),y.get=e=>({url:y.url(e),method:`get`}),y.head=e=>({url:y.url(e),method:`head`});var b={class:`py-3`},x={class:`grid gap-6`},S=[`id`],C=[`aria-labelledby`],w={class:`settings-grid`},T={class:`settings-content`},E={class:`settings-icon`},D=[`name`],O=[`innerHTML`],k={class:`sr-only`},A=c(t({__name:`SettingsIndexPage`,props:{readOnly:{type:Boolean},settings:{}},setup(t){return(c,g)=>(n(),p(v,{title:l(e)(`Settings`)},{default:i(()=>[u(`div`,b,[t.readOnly?(n(),p(_,{key:0})):a(``,!0),u(`div`,x,[(n(!0),f(s,null,m(t.settings,(t,c,p)=>(n(),f(`div`,{key:c},[u(`h2`,{id:`category-heading-${p}`,class:`mb-2 text-lg leading-tight`},o(c),9,S),u(`nav`,{"aria-labelledby":`category-heading-${p}`},[u(`ul`,w,[(n(!0),f(s,null,m(t,(t,s)=>(n(),f(`li`,null,[r(h,{href:t.url||`${l(y)().url}/${s}`,class:`settings-item`},{default:i(()=>[u(`div`,T,[u(`div`,E,[t.iconName?(n(),f(`craft-icon`,{key:0,name:t.iconName,style:{"font-size":`calc(40rem / 16)`}},null,8,D)):t.icon?(n(),f(`div`,{key:1,innerHTML:t.icon,class:`w-[40px] h-[40px] inline-block align-self-center`},null,8,O)):a(``,!0)]),d(` `+o(t.label),1),u(`span`,k,` - `+o(l(e)(`Settings`)),1)])]),_:2},1032,[`href`])]))),256))])],8,C)]))),128))])])]),_:1},8,[`title`]))}}),[[`__scopeId`,`data-v-a99414ab`]]);export{A as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsPluginsIndexPage-CHTVmdG_.js b/resources/build/assets/SettingsPluginsIndexPage-CHTVmdG_.js deleted file mode 100644 index 0331ce980a5..00000000000 --- a/resources/build/assets/SettingsPluginsIndexPage-CHTVmdG_.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{r as t}from"./cp-CoDnSlcH.js";import{C as n,E as r,F as i,H as a,L as o,T as s,Y as c,_ as l,at as u,b as d,c as f,dt as p,et as m,i as h,k as g,l as _,m as v,p as y,q as b,s as x,t as S,ut as C,v as w,w as T,x as E,y as D,z as O}from"./_plugin-vue_export-helper-C3orD-yt.js";import{l as ee,n as te,r as k,s as ne,t as re}from"./AdminTable-BaWDz4rn.js";import{o as ie}from"./InlineFlash-Mr7imUWg.js";import{t as A}from"./Pane-CyLhaZAB.js";import{t as j}from"./Badge-DpS_C1p3.js";import{n as M,t as N}from"./wayfinder-CyAPyHKQ.js";import{n as P}from"./useFetch-DBLPH7uT.js";import{t as ae}from"./createCraftColumnHelper-DQvg7ogx.js";import{t as oe}from"./CraftInput-Diy-IcJh.js";import{r as se,t as ce}from"./AppLayout-CbgDw9ix.js";var le={key:0,class:`cp-plugin-edition__name`},ue={key:1,class:`cp-plugin-edition__trial`},de=S(r({__name:`PluginEdition`,props:{url:{default:null},edition:{default:null},isTrial:{type:Boolean,default:!1}},setup(n){let r=n,i=l(()=>r.edition?t(r.edition):null);return(t,r)=>(o(),D(a(n.url?`a`:`div`),{href:n.url,class:`cp-plugin-edition`,"data-color":`neutral`},{default:c(()=>[n.edition?(o(),E(`div`,le,m(i.value),1)):d(``,!0),n.isTrial?(o(),E(`div`,ue,m(C(e)(`Trial`)),1)):d(``,!0)]),_:1},8,[`href`]))}}),[[`__scopeId`,`data-v-0d7369c0`]]),fe={key:0,xmlns:`http://www.w3.org/2000/svg`,"xml:space":`preserve`,id:`Layer_1`,x:`0`,y:`0`,version:`1.1`,viewBox:`0 0 100 100`},pe={key:1,xmlns:`http://www.w3.org/2000/svg`,"xml:space":`preserve`,viewBox:`0 0 100 100`},F=S(r({__name:`PluginLicenseStatusIcon`,props:{status:{}},setup(e){return(t,r)=>(o(),E(`div`,null,[e.status===`valid`?(o(),E(`svg`,fe,[...r[0]||=[n(``,4)]])):d(``,!0),e.status===`invalid`?(o(),E(`svg`,pe,[...r[1]||=[n(``,3)]])):d(``,!0)]))}}),[[`__scopeId`,`data-v-bf3fe5b4`]]),I=e=>({url:I.url(e),method:`post`});I.definition={methods:[`post`],url:`/admin/actions/plugins/install-plugin`},I.url=e=>I.definition.url+M(e),I.post=e=>({url:I.url(e),method:`post`});var L=e=>({url:L.url(e),method:`post`});L.definition={methods:[`post`],url:`/admin/actions/plugins/uninstall-plugin`},L.url=e=>L.definition.url+M(e),L.post=e=>({url:L.url(e),method:`post`});var R=e=>({url:R.url(e),method:`post`});R.definition={methods:[`post`],url:`/admin/actions/plugins/switch-edition`},R.url=e=>R.definition.url+M(e),R.post=e=>({url:R.url(e),method:`post`});var z=e=>({url:z.url(e),method:`post`});z.definition={methods:[`post`],url:`/admin/actions/plugins/disable-plugin`},z.url=e=>z.definition.url+M(e),z.post=e=>({url:z.url(e),method:`post`});var B=e=>({url:B.url(e),method:`post`});B.definition={methods:[`post`],url:`/admin/actions/plugins/enable-plugin`},B.url=e=>B.definition.url+M(e),B.post=e=>({url:B.url(e),method:`post`});var V=e=>({url:V.url(e),method:`post`});V.definition={methods:[`post`],url:`/admin/actions/plugins/save-plugin-settings`},V.url=e=>V.definition.url+M(e),V.post=e=>({url:V.url(e),method:`post`});var H=e=>({url:H.url(e),method:`get`});H.definition={methods:[`get`,`head`],url:`/admin/settings/plugins`},H.url=e=>H.definition.url+M(e),H.get=e=>({url:H.url(e),method:`get`}),H.head=e=>({url:H.url(e),method:`head`});var U=(e,t)=>({url:U.url(e,t),method:`get`});U.definition={methods:[`get`,`head`],url:`/admin/settings/plugins/{handle}`},U.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=N(e);let n={handle:e.handle};return U.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+M(t)},U.get=(e,t)=>({url:U.url(e,t),method:`get`}),U.head=(e,t)=>({url:U.url(e,t),method:`head`});var me={key:0,class:`flex gap-3 items-base`},he=[`href`],ge=[`name`],_e=r({__name:`PluginLinks`,props:{plugin:{}},setup(e){let t=e,n=_(),r=l(()=>n.props.readOnly),i=l(()=>{if(t.plugin.links)return t.plugin.links;let e=[];return t.plugin.developer&&e.push({icon:`building`,href:t.plugin.developerUrl,text:t.plugin.developer}),t.plugin.documentationUrl&&e.push({icon:`book`,href:t.plugin.documentationUrl,text:`Documentation`}),t.plugin.hasCpSettings&&(!r.value||t.plugin.hasReadOnlyCpSettings)&&e.push({icon:`gear`,href:U(t.plugin.handle).url,text:`Settings`}),e});return(e,t)=>i.value?.length>0?(o(),E(`ul`,me,[(o(!0),E(v,null,O(i.value,e=>(o(),E(`li`,null,[w(`a`,{href:e.href,target:`_blank`,rel:`noopener`,class:`flex gap-1 items-center`},[e.icon?(o(),E(`craft-icon`,{key:0,name:e.icon},null,8,ge)):d(``,!0),T(` `+m(e.text),1)],8,he)]))),256))])):d(``,!0)}}),ve={variant:`danger`,appearance:`plain`,class:`p-0`},ye={key:0,class:`flex items-center gap-1`},be=[`value`],xe=[`value`],Se=[`loading`],Ce=r({__name:`PluginLicenseIssues`,props:{plugin:{}},setup(e){let n=e,r=l(()=>t(n.plugin.licensedEdition)),i=l(()=>`console.craftcms.com`);return(t,n)=>(o(!0),E(v,null,O(e.plugin.licenseIssues,t=>(o(),E(`craft-callout`,ve,[t===`wrong_edition`?(o(),E(`div`,ye,[s(k,{template:`This license is for the {name} edition.`,params:{name:r.value}},null,8,[`params`]),s(C(h),{action:C(R)(),method:`post`},{default:c(({processing:t})=>[w(`input`,{type:`hidden`,name:`pluginHandle`,value:e.plugin.handle},null,8,be),w(`input`,{type:`hidden`,name:`edition`,value:e.plugin.licensedEdition},null,8,xe),w(`craft-button`,{type:`submit`,appearance:`inline`,variant:`inherit`,loading:t},`Switch`,8,Se)]),_:1},8,[`action`])])):t===`no_trials`?(o(),D(k,{key:1,template:`Plugin trials are not allowed on this domain.`})):t===`mismatched`?(o(),D(k,{key:2,template:`This license is tied to another Craft install. Visit {accountLink} to detach it, or buy a new license.`,params:{accountLink:i.value,buyUrl:e.plugin.buyUrl}},null,8,[`params`])):t===`astray`?(o(),D(k,{key:3,template:`This license isn’t allowed to run version {version}.`,params:{version:e.plugin.version}},null,8,[`params`])):t===`required`?(o(),D(k,{key:4,template:`A license key is required.`})):(o(),D(k,{key:5,template:`Your license key is invalid.`}))]))),256))}}),W=e=>({url:W.url(e),method:`post`});W.definition={methods:[`post`],url:`/admin/actions/app/get-plugin-license-info`},W.url=e=>W.definition.url+M(e),W.post=e=>({url:W.url(e),method:`post`});var G=e=>({url:G.url(e),method:`post`});G.definition={methods:[`post`],url:`/admin/actions/app/update-plugin-license`},G.url=e=>G.definition.url+M(e),G.post=e=>({url:G.url(e),method:`post`});var K={getLicenseInfo:W,updateLicense:G},we={class:`flex gap-1 items-start mb-1`},q=[`value`],Te=[`loading`],Ee=r({__name:`PluginLicenseInput`,props:{plugin:{}},setup(t){let n=t,r=_(),i=x({handle:n.plugin.handle,key:u(n.plugin.licenseKey)??``}),a=l(()=>i.key?.replace(/-/g,``));function u(e){return!e||e.startsWith(`$`)?e:e.replace(/[^a-zA-Z0-9]/g,``).toUpperCase().replace(/.{4}/g,`$&-`).replace(/-$/,``)}let f=l(()=>u(i.key)),p=l(()=>r.props.readOnly||!n.plugin.isComposerInstalled),h=l(()=>!p.value&&n.plugin.buyUrl&&n.plugin.licenseKeyStatus===`trial`),g=l(()=>!p.value&&(!n.plugin.licenseKey&&i.key||n.plugin.licenseKey&&a.value!==n.plugin.licenseKey));function v(){i.transform(e=>({...e,key:a.value})).submit(K.updateLicense())}function b(){i.key=u(f.value)??``}return(n,r)=>(o(),E(`form`,{onSubmit:r[1]||=y(e=>v(),[`prevent`])},[w(`div`,we,[s(oe,{modelValue:C(i).key,"onUpdate:modelValue":r[0]||=e=>C(i).key=e,class:`font-mono`,label:C(e)(`License Key`),"label-sr-only":``,placeholder:`XXXX-XXXX-XXXX-XXXX-XXXX-XXXX`,readonly:p.value,maxlength:`29`,onBlur:b,style:{width:`36ch`}},{default:c(()=>[w(`craft-copy-button`,{slot:`suffix`,value:a.value},null,8,q)]),_:1},8,[`modelValue`,`label`,`readonly`]),h.value?(o(),D(ie,{key:0,appearance:`button`,inertia:!1,href:t.plugin.buyUrl,variant:t.plugin.licenseIssues.length>0?`primary`:`default`},{default:c(()=>[T(m(C(e)(`Buy now`)),1)]),_:1},8,[`href`,`variant`])):d(``,!0),g.value?(o(),E(`craft-button`,{key:1,type:`submit`,loading:C(i).processing,variant:`primary`},m(C(e)(`Update`)),9,Te)):d(``,!0)])],32))}}),De={class:`cp-plugin`},Oe={class:`cp-plugin__icon`},ke=[`src`],Ae=[`innerHTML`],je={class:`flex gap-2 items-baseline mb-1`},Me={class:`font-mono text-xs`},Ne={key:0,class:`mb-1`},Pe={key:1,class:`my-4`},Fe=[`innerHTML`],Ie=S(r({__name:`PluginDetails`,props:{plugin:{}},setup(t){let n=t,r=l(()=>n.plugin.licenseKey&&n.plugin.licenseKeyStatus!==`unknown`),i=l(()=>[e(`This license has expired.`),e(`Renew now for another year of updates.`,{renewalUrl:n.plugin.renewalUrl})].join(` `));return(e,n)=>(o(),E(`div`,De,[w(`div`,Oe,[(o(),D(a(t.plugin.pluginStoreUrl?`a`:`div`),{href:t.plugin.pluginStoreUrl,class:`relative`,target:`_blank`},{default:c(()=>[t.plugin.iconUrl?(o(),E(`img`,{key:0,src:t.plugin.iconUrl,alt:``},null,8,ke)):t.plugin.iconSvg?(o(),E(`span`,{key:1,innerHTML:t.plugin.iconSvg},null,8,Ae)):d(``,!0),t.plugin.licenseKeyStatus===`valid`||t.plugin.licenseIssues.length>0?(o(),D(F,{key:2,class:`license-key-status`,status:t.plugin.licenseIssues.length===0?`valid`:`invalid`},null,8,[`status`])):d(``,!0)]),_:1},8,[`href`]))]),w(`div`,null,[w(`div`,je,[w(`h2`,null,m(t.plugin.name),1),t.plugin.hasMultipleEditions||t.plugin.isTrial?(o(),D(de,{key:0,url:t.plugin.upgradeAvailable?t.plugin.pluginStoreUrl:null,edition:t.plugin.hasMultipleEditions?t.plugin.edition:null,"is-trial":t.plugin.isTrial,class:`self-center`},null,8,[`url`,`edition`,`is-trial`])):d(``,!0),w(`div`,Me,m(t.plugin.version),1)]),t.plugin.description?(o(),E(`div`,Ne,[w(`p`,null,m(t.plugin.description),1)])):d(``,!0),w(`div`,null,[s(_e,{plugin:t.plugin},null,8,[`plugin`])]),r.value?(o(),E(`div`,Pe,[s(Ee,{plugin:t.plugin},null,8,[`plugin`]),t.plugin.licenseIssues.length>0?(o(),D(Ce,{key:0,plugin:t.plugin},null,8,[`plugin`])):d(``,!0),t.plugin.expired?(o(),E(`craft-callout`,{key:1,variant:`warning`,appearance:`plain`,class:`p-0`,innerHTML:i.value},null,8,Fe)):d(``,!0)])):d(``,!0)])]))}}),[[`__scopeId`,`data-v-5a1642bf`]]),Le={key:2,class:`flex gap-1 items-center`},Re={key:0},ze={key:3,class:`flex gap-1 items-center`},Be={key:0},Ve=r({__name:`PluginStatus`,props:{plugin:{}},setup(t){return(n,r)=>t.plugin.isEnabled?(o(),D(j,{key:0,variant:`success`},{default:c(()=>[T(m(C(e)(`Installed`)),1)]),_:1})):t.plugin.isComposerInstalled?t.plugin.isInstalled?(o(),E(`div`,Le,[s(j,{variant:`warning`},{default:c(()=>[T(m(C(e)(`Disabled`)),1)]),_:1}),t.plugin.isForceDisabled?(o(),E(`craft-info-icon`,Re,m(C(e)(`{plugin} is disabled by the {setting} config setting.`,{plugin:t.plugin.name,setting:`disabledPlugins`})),1)):d(``,!0)])):(o(),E(`div`,ze,[s(j,null,{default:c(()=>[T(m(C(e)(`Not Installed`)),1)]),_:1}),t.plugin.isForceDisabled?(o(),E(`craft-info-icon`,Be,m(C(e)(`{plugin} can’t be installed due to the {setting} config setting.`,{plugin:t.plugin.name,setting:`disabledPlugins`})),1)):d(``,!0)])):(o(),D(j,{key:1},{default:c(()=>[T(m(C(e)(`Missing`)),1)]),_:1}))}}),J=e=>({url:J.url(e),method:`post`});J.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove`},J.url=e=>J.definition.url+M(e),J.post=e=>({url:J.url(e),method:`post`});var Y=e=>({url:Y.url(e),method:`post`});Y.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/precheck`},Y.url=e=>Y.definition.url+M(e),Y.post=e=>({url:Y.url(e),method:`post`});var X=e=>({url:X.url(e),method:`post`});X.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/recheck-composer`},X.url=e=>X.definition.url+M(e),X.post=e=>({url:X.url(e),method:`post`});var Z=e=>({url:Z.url(e),method:`post`});Z.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/composer-install`},Z.url=e=>Z.definition.url+M(e),Z.post=e=>({url:Z.url(e),method:`post`});var Q=e=>({url:Q.url(e),method:`post`});Q.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/composer-remove`},Q.url=e=>Q.definition.url+M(e),Q.post=e=>({url:Q.url(e),method:`post`});var $=e=>({url:$.url(e),method:`post`});$.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/finish`},$.url=e=>$.definition.url+M(e),$.post=e=>({url:$.url(e),method:`post`});var He={index:J,precheck:Y,recheckComposer:X,composerInstall:Z,composerRemove:Q,finish:$},Ue=r({__name:`PluginActionMenu`,props:{plugin:{}},setup(t){let n=t,r=l(()=>{let t=[{icon:`clipboard`,label:e(`Copy plugin handle`),action:{type:`clipboard`,value:n.plugin.handle},feedback:{success:{message:e(`Copied!`)}}},{icon:`clipboard`,label:e(`Copy package name`),action:{type:`clipboard`,value:n.plugin.packageName},feedback:{success:{message:e(`Copied!`)}}},{type:`hr`}];return n.plugin.isInstalled?n.plugin.isEnabled?(t.push({icon:`circle-dashed`,label:e(`Disable`),action:{type:`http`,url:z().url,body:{pluginHandle:n.plugin.handle}}}),t.push({icon:`xmark`,label:e(`Uninstall`),variant:`danger`,action:{type:`http`,url:L().url,body:{pluginHandle:n.plugin.handle},confirm:e(`Are you sure you want to uninstall {plugin}? You will lose all of its associated data.`,{plugin:n.plugin.name})}})):t.push({icon:`circle`,label:e(`Enable`),action:{type:`http`,url:B().url,body:{pluginHandle:n.plugin.handle}},disabled:n.plugin.isForceDisabled}):(t.push({icon:`plus`,label:e(`Install`),action:{type:`http`,url:I().url,body:{pluginHandle:n.plugin.handle}},disabled:n.plugin.isForceDisabled}),t.push({icon:`minus`,label:e(`Remove`),variant:`danger`,action:{type:`event`,name:`action:remove-plugin`,confirm:e(`Are you sure you want to remove {plugin}?`,{plugin:n.plugin.name}),detail:{packageName:n.plugin.packageName}}})),t});function a(e){let{detail:t}=e;p.post(He.index(),{packageName:t.packageName})}return i(()=>{window.addEventListener(`action:remove-plugin`,a)}),(e,t)=>(o(),D(se,{actions:r.value},null,8,[`actions`]))}}),We=r({__name:`PluginsList`,props:{pluginInfo:{},readOnly:{type:Boolean}},setup(t){let n=t,r=l(()=>Object.entries(n.pluginInfo).map(([e,t])=>({...t,handle:e}))),i=ae(),a=ne({state:{get columnVisibility(){return{details:!0,status:!0,actions:!n.readOnly}}},get columns(){return[i.display({id:`details`,header:e(`Plugin`),cell:({row:e})=>g(Ie,{plugin:e.original})}),i.display({id:`status`,header:e(`Status`),meta:{trackSize:`minmax(280px, 20%)`},cell:({row:e})=>g(Ve,{plugin:e.original})}),i.actions(({row:e})=>[g(Ue,{plugin:e.original})],{meta:{trackSize:`60px`}})]},get data(){return r.value},getCoreRowModel:ee()});function u(e){e.detail?.state===`success`&&e.detail?.actionType===`http`&&p.visit(H(),{only:[`pluginInfo`]})}return(t,n)=>(o(),D(A,{appearance:`raised`,padding:0},{default:c(()=>[s(re,{table:C(a),"onAction:changeState":u},{"empty-row":c(()=>[s(te,{icon:`plugin`,label:C(e)(`There are no available plugins.`)},null,8,[`label`])]),_:1},8,[`table`])]),_:1}))}}),Ge=r({__name:`SettingsPluginsIndexPage`,props:{pluginInfo:{default:()=>({})},readOnly:{type:Boolean,default:!1}},setup(e){let t=e,{data:n}=P(`cms-licenses`),r=u({}),i=l(()=>n.value?.license.pluginLicenses||[]),a=f({pluginLicenses:i.value});b(i,e=>{a.post(K.getLicenseInfo().url,{onSuccess:e=>{r.value=e}})});let d=l(()=>Object.fromEntries(Object.entries(t.pluginInfo).map(([e,t])=>[e,{...t,...r.value[e]||{}}])));return(t,n)=>(o(),D(ce,null,{default:c(()=>[s(We,{"read-only":e.readOnly,"plugin-info":d.value},null,8,[`read-only`,`plugin-info`])]),_:1}))}});export{Ge as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsPluginsIndexPage-D-7_Y4mD.js b/resources/build/assets/SettingsPluginsIndexPage-D-7_Y4mD.js new file mode 100644 index 00000000000..b111d096f20 --- /dev/null +++ b/resources/build/assets/SettingsPluginsIndexPage-D-7_Y4mD.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{r as t}from"./cp-DyslAjVs.js";import{A as n,B as r,D as i,E as a,I as o,J as s,R as c,S as l,T as u,U as d,X as f,b as p,c as m,dt as h,ft as g,h as _,i as v,l as y,m as b,ot as x,s as ee,t as S,tt as C,v as w,w as T,x as E,y as D}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{c as te,n as ne,o as re,r as O,t as ie}from"./AdminTable-TPqS7_4T.js";import{t as ae}from"./Pane-C776R7L2.js";import{s as k}from"./InlineFlash-Duhr9n8-.js";import{t as A}from"./Badge-CfJUHywr.js";import{n as j,t as M}from"./wayfinder-ghdHxiwr.js";import{n as N}from"./useFetch-DVKzrSDz.js";import{t as P}from"./createCraftColumnHelper-CPPRJRXc.js";import{t as oe}from"./CraftInput-BrzKPRWU.js";import{r as se,t as ce}from"./AppLayout-dqX06RZT.js";var le={key:0,class:`cp-plugin-edition__name`},ue={key:1,class:`cp-plugin-edition__trial`},de=S(i({__name:`PluginEdition`,props:{url:{default:null},edition:{default:null},isTrial:{type:Boolean,default:!1}},setup(n){let r=n,i=w(()=>r.edition?t(r.edition):null);return(t,r)=>(c(),p(d(n.url?`a`:`div`),{href:n.url,class:`cp-plugin-edition`,"data-color":`neutral`},{default:f(()=>[n.edition?(c(),l(`div`,le,C(i.value),1)):E(``,!0),n.isTrial?(c(),l(`div`,ue,C(h(e)(`Trial`)),1)):E(``,!0)]),_:1},8,[`href`]))}}),[[`__scopeId`,`data-v-0d7369c0`]]),fe={key:0,xmlns:`http://www.w3.org/2000/svg`,"xml:space":`preserve`,id:`Layer_1`,x:`0`,y:`0`,version:`1.1`,viewBox:`0 0 100 100`},pe={key:1,xmlns:`http://www.w3.org/2000/svg`,"xml:space":`preserve`,viewBox:`0 0 100 100`},F=S(i({__name:`PluginLicenseStatusIcon`,props:{status:{}},setup(e){return(t,n)=>(c(),l(`div`,null,[e.status===`valid`?(c(),l(`svg`,fe,[...n[0]||=[T(``,4)]])):E(``,!0),e.status===`invalid`?(c(),l(`svg`,pe,[...n[1]||=[T(``,3)]])):E(``,!0)]))}}),[[`__scopeId`,`data-v-bf3fe5b4`]]),I=e=>({url:I.url(e),method:`post`});I.definition={methods:[`post`],url:`/admin/actions/plugins/install-plugin`},I.url=e=>I.definition.url+j(e),I.post=e=>({url:I.url(e),method:`post`});var L=e=>({url:L.url(e),method:`post`});L.definition={methods:[`post`],url:`/admin/actions/plugins/uninstall-plugin`},L.url=e=>L.definition.url+j(e),L.post=e=>({url:L.url(e),method:`post`});var R=e=>({url:R.url(e),method:`post`});R.definition={methods:[`post`],url:`/admin/actions/plugins/switch-edition`},R.url=e=>R.definition.url+j(e),R.post=e=>({url:R.url(e),method:`post`});var z=e=>({url:z.url(e),method:`post`});z.definition={methods:[`post`],url:`/admin/actions/plugins/disable-plugin`},z.url=e=>z.definition.url+j(e),z.post=e=>({url:z.url(e),method:`post`});var B=e=>({url:B.url(e),method:`post`});B.definition={methods:[`post`],url:`/admin/actions/plugins/enable-plugin`},B.url=e=>B.definition.url+j(e),B.post=e=>({url:B.url(e),method:`post`});var V=e=>({url:V.url(e),method:`post`});V.definition={methods:[`post`],url:`/admin/actions/plugins/save-plugin-settings`},V.url=e=>V.definition.url+j(e),V.post=e=>({url:V.url(e),method:`post`});var H=e=>({url:H.url(e),method:`get`});H.definition={methods:[`get`,`head`],url:`/admin/settings/plugins`},H.url=e=>H.definition.url+j(e),H.get=e=>({url:H.url(e),method:`get`}),H.head=e=>({url:H.url(e),method:`head`});var U=(e,t)=>({url:U.url(e,t),method:`get`});U.definition={methods:[`get`,`head`],url:`/admin/settings/plugins/{handle}`},U.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={handle:e}),Array.isArray(e)&&(e={handle:e[0]}),e=M(e);let n={handle:e.handle};return U.definition.url.replace(`{handle}`,n.handle.toString()).replace(/\/+$/,``)+j(t)},U.get=(e,t)=>({url:U.url(e,t),method:`get`}),U.head=(e,t)=>({url:U.url(e,t),method:`head`});var me={key:0,class:`flex gap-3 items-base`},he=[`href`],ge=[`name`],_e=i({__name:`PluginLinks`,props:{plugin:{}},setup(e){let t=e,n=y(),i=w(()=>n.props.readOnly),a=w(()=>{if(t.plugin.links)return t.plugin.links;let e=[];return t.plugin.developer&&e.push({icon:`building`,href:t.plugin.developerUrl,text:t.plugin.developer}),t.plugin.documentationUrl&&e.push({icon:`book`,href:t.plugin.documentationUrl,text:`Documentation`}),t.plugin.hasCpSettings&&(!i.value||t.plugin.hasReadOnlyCpSettings)&&e.push({icon:`gear`,href:U(t.plugin.handle).url,text:`Settings`}),e});return(e,t)=>a.value?.length>0?(c(),l(`ul`,me,[(c(!0),l(_,null,r(a.value,e=>(c(),l(`li`,null,[D(`a`,{href:e.href,target:`_blank`,rel:`noopener`,class:`flex gap-1 items-center`},[e.icon?(c(),l(`craft-icon`,{key:0,name:e.icon},null,8,ge)):E(``,!0),u(` `+C(e.text),1)],8,he)]))),256))])):E(``,!0)}}),ve={variant:`danger`,appearance:`plain`,class:`p-0`},ye={key:0,class:`flex items-center gap-1`},be=[`value`],xe=[`value`],Se=[`loading`],Ce=i({__name:`PluginLicenseIssues`,props:{plugin:{}},setup(e){let n=e,i=w(()=>t(n.plugin.licensedEdition)),o=w(()=>`console.craftcms.com`);return(t,n)=>(c(!0),l(_,null,r(e.plugin.licenseIssues,t=>(c(),l(`craft-callout`,ve,[t===`wrong_edition`?(c(),l(`div`,ye,[a(O,{template:`This license is for the {name} edition.`,params:{name:i.value}},null,8,[`params`]),a(h(v),{action:h(R)(),method:`post`},{default:f(({processing:t})=>[D(`input`,{type:`hidden`,name:`pluginHandle`,value:e.plugin.handle},null,8,be),D(`input`,{type:`hidden`,name:`edition`,value:e.plugin.licensedEdition},null,8,xe),D(`craft-button`,{type:`submit`,appearance:`inline`,variant:`inherit`,loading:t},`Switch`,8,Se)]),_:1},8,[`action`])])):t===`no_trials`?(c(),p(O,{key:1,template:`Plugin trials are not allowed on this domain.`})):t===`mismatched`?(c(),p(O,{key:2,template:`This license is tied to another Craft install. Visit {accountLink} to detach it, or buy a new license.`,params:{accountLink:o.value,buyUrl:e.plugin.buyUrl}},null,8,[`params`])):t===`astray`?(c(),p(O,{key:3,template:`This license isn’t allowed to run version {version}.`,params:{version:e.plugin.version}},null,8,[`params`])):t===`required`?(c(),p(O,{key:4,template:`A license key is required.`})):(c(),p(O,{key:5,template:`Your license key is invalid.`}))]))),256))}}),W=e=>({url:W.url(e),method:`post`});W.definition={methods:[`post`],url:`/admin/actions/app/get-plugin-license-info`},W.url=e=>W.definition.url+j(e),W.post=e=>({url:W.url(e),method:`post`});var G=e=>({url:G.url(e),method:`post`});G.definition={methods:[`post`],url:`/admin/actions/app/update-plugin-license`},G.url=e=>G.definition.url+j(e),G.post=e=>({url:G.url(e),method:`post`});var K={getLicenseInfo:W,updateLicense:G},we={class:`flex gap-1 items-start mb-1`},q=[`value`],Te=[`loading`],Ee=i({__name:`PluginLicenseInput`,props:{plugin:{}},setup(t){let n=t,r=y(),i=ee({handle:n.plugin.handle,key:s(n.plugin.licenseKey)??``}),o=w(()=>i.key?.replace(/-/g,``));function s(e){return!e||e.startsWith(`$`)?e:e.replace(/[^a-zA-Z0-9]/g,``).toUpperCase().replace(/.{4}/g,`$&-`).replace(/-$/,``)}let d=w(()=>s(i.key)),m=w(()=>r.props.readOnly||!n.plugin.isComposerInstalled),g=w(()=>!m.value&&n.plugin.buyUrl&&n.plugin.licenseKeyStatus===`trial`),_=w(()=>!m.value&&(!n.plugin.licenseKey&&i.key||n.plugin.licenseKey&&o.value!==n.plugin.licenseKey));function v(){i.transform(e=>({...e,key:o.value})).submit(K.updateLicense())}function x(){i.key=s(d.value)??``}return(n,r)=>(c(),l(`form`,{onSubmit:r[1]||=b(e=>v(),[`prevent`])},[D(`div`,we,[a(oe,{modelValue:h(i).key,"onUpdate:modelValue":r[0]||=e=>h(i).key=e,class:`font-mono`,label:h(e)(`License Key`),"label-sr-only":``,placeholder:`XXXX-XXXX-XXXX-XXXX-XXXX-XXXX`,readonly:m.value,maxlength:`29`,onBlur:x,style:{width:`36ch`}},{default:f(()=>[D(`craft-copy-button`,{slot:`suffix`,value:o.value},null,8,q)]),_:1},8,[`modelValue`,`label`,`readonly`]),g.value?(c(),p(k,{key:0,appearance:`button`,inertia:!1,href:t.plugin.buyUrl,variant:t.plugin.licenseIssues.length>0?`primary`:`default`},{default:f(()=>[u(C(h(e)(`Buy now`)),1)]),_:1},8,[`href`,`variant`])):E(``,!0),_.value?(c(),l(`craft-button`,{key:1,type:`submit`,loading:h(i).processing,variant:`primary`},C(h(e)(`Update`)),9,Te)):E(``,!0)])],32))}}),De={class:`cp-plugin`},Oe={class:`cp-plugin__icon`},ke=[`src`],Ae=[`innerHTML`],je={class:`flex gap-2 items-baseline mb-1`},Me={class:`font-mono text-xs`},Ne={key:0,class:`mb-1`},Pe={key:1,class:`my-4`},Fe=[`innerHTML`],Ie=S(i({__name:`PluginDetails`,props:{plugin:{}},setup(t){let n=t,r=w(()=>n.plugin.licenseKey&&n.plugin.licenseKeyStatus!==`unknown`),i=w(()=>[e(`This license has expired.`),e(`Renew now for another year of updates.`,{renewalUrl:n.plugin.renewalUrl})].join(` `));return(e,n)=>(c(),l(`div`,De,[D(`div`,Oe,[(c(),p(d(t.plugin.pluginStoreUrl?`a`:`div`),{href:t.plugin.pluginStoreUrl,class:`relative`,target:`_blank`},{default:f(()=>[t.plugin.iconUrl?(c(),l(`img`,{key:0,src:t.plugin.iconUrl,alt:``},null,8,ke)):t.plugin.iconSvg?(c(),l(`span`,{key:1,innerHTML:t.plugin.iconSvg},null,8,Ae)):E(``,!0),t.plugin.licenseKeyStatus===`valid`||t.plugin.licenseIssues.length>0?(c(),p(F,{key:2,class:`license-key-status`,status:t.plugin.licenseIssues.length===0?`valid`:`invalid`},null,8,[`status`])):E(``,!0)]),_:1},8,[`href`]))]),D(`div`,null,[D(`div`,je,[D(`h2`,null,C(t.plugin.name),1),t.plugin.hasMultipleEditions||t.plugin.isTrial?(c(),p(de,{key:0,url:t.plugin.upgradeAvailable?t.plugin.pluginStoreUrl:null,edition:t.plugin.hasMultipleEditions?t.plugin.edition:null,"is-trial":t.plugin.isTrial,class:`self-center`},null,8,[`url`,`edition`,`is-trial`])):E(``,!0),D(`div`,Me,C(t.plugin.version),1)]),t.plugin.description?(c(),l(`div`,Ne,[D(`p`,null,C(t.plugin.description),1)])):E(``,!0),D(`div`,null,[a(_e,{plugin:t.plugin},null,8,[`plugin`])]),r.value?(c(),l(`div`,Pe,[a(Ee,{plugin:t.plugin},null,8,[`plugin`]),t.plugin.licenseIssues.length>0?(c(),p(Ce,{key:0,plugin:t.plugin},null,8,[`plugin`])):E(``,!0),t.plugin.expired?(c(),l(`craft-callout`,{key:1,variant:`warning`,appearance:`plain`,class:`p-0`,innerHTML:i.value},null,8,Fe)):E(``,!0)])):E(``,!0)])]))}}),[[`__scopeId`,`data-v-5a1642bf`]]),Le={key:2,class:`flex gap-1 items-center`},Re={key:0},ze={key:3,class:`flex gap-1 items-center`},Be={key:0},Ve=i({__name:`PluginStatus`,props:{plugin:{}},setup(t){return(n,r)=>t.plugin.isEnabled?(c(),p(A,{key:0,variant:`success`},{default:f(()=>[u(C(h(e)(`Installed`)),1)]),_:1})):t.plugin.isComposerInstalled?t.plugin.isInstalled?(c(),l(`div`,Le,[a(A,{variant:`warning`},{default:f(()=>[u(C(h(e)(`Disabled`)),1)]),_:1}),t.plugin.isForceDisabled?(c(),l(`craft-info-icon`,Re,C(h(e)(`{plugin} is disabled by the {setting} config setting.`,{plugin:t.plugin.name,setting:`disabledPlugins`})),1)):E(``,!0)])):(c(),l(`div`,ze,[a(A,null,{default:f(()=>[u(C(h(e)(`Not Installed`)),1)]),_:1}),t.plugin.isForceDisabled?(c(),l(`craft-info-icon`,Be,C(h(e)(`{plugin} can’t be installed due to the {setting} config setting.`,{plugin:t.plugin.name,setting:`disabledPlugins`})),1)):E(``,!0)])):(c(),p(A,{key:1},{default:f(()=>[u(C(h(e)(`Missing`)),1)]),_:1}))}}),J=e=>({url:J.url(e),method:`post`});J.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove`},J.url=e=>J.definition.url+j(e),J.post=e=>({url:J.url(e),method:`post`});var Y=e=>({url:Y.url(e),method:`post`});Y.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/precheck`},Y.url=e=>Y.definition.url+j(e),Y.post=e=>({url:Y.url(e),method:`post`});var X=e=>({url:X.url(e),method:`post`});X.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/recheck-composer`},X.url=e=>X.definition.url+j(e),X.post=e=>({url:X.url(e),method:`post`});var Z=e=>({url:Z.url(e),method:`post`});Z.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/composer-install`},Z.url=e=>Z.definition.url+j(e),Z.post=e=>({url:Z.url(e),method:`post`});var Q=e=>({url:Q.url(e),method:`post`});Q.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/composer-remove`},Q.url=e=>Q.definition.url+j(e),Q.post=e=>({url:Q.url(e),method:`post`});var $=e=>({url:$.url(e),method:`post`});$.definition={methods:[`post`],url:`/admin/actions/pluginstore/remove/finish`},$.url=e=>$.definition.url+j(e),$.post=e=>({url:$.url(e),method:`post`});var He={index:J,precheck:Y,recheckComposer:X,composerInstall:Z,composerRemove:Q,finish:$},Ue=i({__name:`PluginActionMenu`,props:{plugin:{}},setup(t){let n=t,r=w(()=>{let t=[{icon:`clipboard`,label:e(`Copy plugin handle`),action:{type:`clipboard`,value:n.plugin.handle},feedback:{success:{message:e(`Copied!`)}}},{icon:`clipboard`,label:e(`Copy package name`),action:{type:`clipboard`,value:n.plugin.packageName},feedback:{success:{message:e(`Copied!`)}}},{type:`hr`}];return n.plugin.isInstalled?n.plugin.isEnabled?(t.push({icon:`circle-dashed`,label:e(`Disable`),action:{type:`http`,url:z().url,body:{pluginHandle:n.plugin.handle}}}),t.push({icon:`xmark`,label:e(`Uninstall`),variant:`danger`,action:{type:`http`,url:L().url,body:{pluginHandle:n.plugin.handle},confirm:e(`Are you sure you want to uninstall {plugin}? You will lose all of its associated data.`,{plugin:n.plugin.name})}})):t.push({icon:`circle`,label:e(`Enable`),action:{type:`http`,url:B().url,body:{pluginHandle:n.plugin.handle}},disabled:n.plugin.isForceDisabled}):(t.push({icon:`plus`,label:e(`Install`),action:{type:`http`,url:I().url,body:{pluginHandle:n.plugin.handle}},disabled:n.plugin.isForceDisabled}),t.push({icon:`minus`,label:e(`Remove`),variant:`danger`,action:{type:`event`,name:`action:remove-plugin`,confirm:e(`Are you sure you want to remove {plugin}?`,{plugin:n.plugin.name}),detail:{packageName:n.plugin.packageName}}})),t});function i(e){let{detail:t}=e;g.post(He.index(),{packageName:t.packageName})}return o(()=>{window.addEventListener(`action:remove-plugin`,i)}),(e,t)=>(c(),p(se,{actions:r.value},null,8,[`actions`]))}}),We=i({__name:`PluginsList`,props:{pluginInfo:{},readOnly:{type:Boolean}},setup(t){let r=t,i=w(()=>Object.entries(r.pluginInfo).map(([e,t])=>({...t,handle:e}))),o=P(),s=re({state:{get columnVisibility(){return{details:!0,status:!0,actions:!r.readOnly}}},get columns(){return[o.display({id:`details`,header:e(`Plugin`),cell:({row:e})=>n(Ie,{plugin:e.original})}),o.display({id:`status`,header:e(`Status`),meta:{trackSize:`minmax(280px, 20%)`},cell:({row:e})=>n(Ve,{plugin:e.original})}),o.actions(({row:e})=>[n(Ue,{plugin:e.original})],{meta:{trackSize:`60px`}})]},get data(){return i.value},getCoreRowModel:te()});function l(e){e.detail?.state===`success`&&e.detail?.actionType===`http`&&g.visit(H(),{only:[`pluginInfo`]})}return(t,n)=>(c(),p(ae,{appearance:`raised`,padding:0},{default:f(()=>[a(ie,{table:h(s),"onAction:changeState":l},{"empty-row":f(()=>[a(ne,{icon:`plugin`,label:h(e)(`There are no available plugins.`)},null,8,[`label`])]),_:1},8,[`table`])]),_:1}))}}),Ge=i({__name:`SettingsPluginsIndexPage`,props:{pluginInfo:{default:()=>({})},readOnly:{type:Boolean,default:!1}},setup(e){let t=e,{data:n}=N(`cms-licenses`),r=x({}),i=w(()=>n.value?.license.pluginLicenses||[]),o=m({pluginLicenses:i.value});s(i,e=>{o.post(K.getLicenseInfo().url,{onSuccess:e=>{r.value=e}})});let l=w(()=>Object.fromEntries(Object.entries(t.pluginInfo).map(([e,t])=>[e,{...t,...r.value[e]||{}}])));return(t,n)=>(c(),p(ce,null,{default:f(()=>[a(We,{"read-only":e.readOnly,"plugin-info":l.value},null,8,[`read-only`,`plugin-info`])]),_:1}))}});export{Ge as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsRoutesPage-B2cuA0eJ.css b/resources/build/assets/SettingsRoutesPage-B2cuA0eJ.css new file mode 100644 index 00000000000..f2978832c88 --- /dev/null +++ b/resources/build/assets/SettingsRoutesPage-B2cuA0eJ.css @@ -0,0 +1 @@ +.mixed-input[data-v-3981796f]{gap:10px;display:grid}.mixed-input__editor[data-v-3981796f]{background:var(--white);border:1px solid var(--border-hairline);border-radius:var(--radius-md);flex-wrap:wrap;flex:auto;align-items:center;gap:0;min-width:0;min-height:34px;padding:4px 8px;display:flex}.mixed-input__editor--error[data-v-3981796f]{border-color:var(--error-color)}.mixed-input__text[data-v-3981796f]{box-shadow:none;box-sizing:content-box;font:inherit;background:0 0;border:0;flex:none;min-width:0;max-width:100%;margin-right:-18px;padding:3px 0}.mixed-input__text[data-v-3981796f]:focus{outline:none}.mixed-input__text-measure[data-v-3981796f]{visibility:hidden;white-space:pre;max-width:none;margin-right:0;display:inline-block;position:absolute;top:-9999px;left:-9999px}.mixed-input__token[data-v-3981796f]{background:var(--gray-100);border-radius:var(--radius-sm);color:var(--fg);font-family:var(--font-mono);font-size:var(--font-size-sm);border:0;align-items:center;gap:.25rem;padding:.125rem .4rem;line-height:1.3;display:inline-flex}.mixed-input__token--editable[data-v-3981796f]{appearance:none;cursor:pointer}.mixed-input__token--selected[data-v-3981796f],.mixed-input__token--editable[data-v-3981796f]:focus{box-shadow:0 0 0 1px var(--white);outline:2px solid var(--link-color);outline-offset:1px}.empty-routes[data-v-11a4ff91]{color:var(--fg-subtle)}.routes-list[data-v-11a4ff91]{gap:var(--c-spacing-md);display:grid}.route[data-v-11a4ff91]{background:var(--gray-050);border-radius:var(--radius-lg);box-shadow:var(--pane-shadow);cursor:pointer;align-items:stretch;min-height:2.5rem;display:flex;position:relative}.route--readonly[data-v-11a4ff91]{cursor:not-allowed;opacity:.75}.route--dragging[data-v-11a4ff91]{opacity:.45}.route__uri[data-v-11a4ff91]{background:var(--white);border-radius:var(--radius-lg) 0 0 var(--radius-lg);color:var(--link-color);align-items:center;gap:var(--c-spacing-sm);min-width:min(26rem,55%);padding:var(--c-spacing-sm) var(--c-spacing-md);display:flex;position:relative}.route__site[data-v-11a4ff91]{background:var(--gray-050);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--border-hairline);color:var(--fg-subtle);font-size:var(--font-size-sm);white-space:nowrap;padding:.125rem .35rem;line-height:1.2;display:inline-flex}.route__parts[data-v-11a4ff91]{word-break:break-word;flex-wrap:wrap;align-items:center;gap:.125rem;min-width:0;display:inline-flex}.route__template[data-v-11a4ff91]{color:var(--fg-subtle);align-items:center;gap:var(--c-spacing-xs);min-width:0;padding:var(--c-spacing-sm) var(--c-spacing-md);display:flex}.route__template span[data-v-11a4ff91]{overflow-wrap:anywhere}.route__actions[data-v-11a4ff91]{align-items:center;gap:var(--c-spacing-xs);padding:var(--c-spacing-xs) var(--c-spacing-sm);margin-left:auto;display:flex}.route__reorder[data-v-11a4ff91]{display:inline-flex}.route__reorder craft-button[data-v-11a4ff91]{cursor:move}.route-token[data-v-11a4ff91]{background:var(--gray-100);border-radius:var(--radius-sm);color:var(--fg);font-family:var(--font-mono);font-size:var(--font-size-sm);border:0;align-items:center;gap:.25rem;padding:.125rem .4rem;line-height:1.3;display:inline-flex}.route-token--button[data-v-11a4ff91]{appearance:none;cursor:pointer}.route-token--button[data-v-11a4ff91]:focus{box-shadow:0 0 0 1px var(--white);outline:2px solid var(--link-color);outline-offset:1px}.route-modal-header[data-v-11a4ff91]{background:var(--gray-100);border-bottom:1px solid var(--border-hairline);padding:24px}.route-modal-header h1[data-v-11a4ff91]{margin:0;font-size:18px;font-weight:700;line-height:1.25}[data-v-11a4ff91] .cp-pane:has(.route-modal) .cp-pane__body{padding:0}[data-v-11a4ff91] .content.w-md:has(.route-modal){width:500px}.route-modal[data-v-11a4ff91]{gap:22px;width:100%;padding:22px 24px 24px;display:grid}.route-uri-field[data-v-11a4ff91]{gap:10px;display:grid}.route-uri-field__label[data-v-11a4ff91]{font-weight:600}.route-uri-field__controls[data-v-11a4ff91]{align-items:flex-start;gap:8px;display:flex}.route-uri-input[data-v-11a4ff91]{flex:auto;min-width:0}.route-site-select[data-v-11a4ff91]{flex:0 0 134px}.route-site-select[data-v-11a4ff91] select{width:100%;min-height:34px}.route-token-picker[data-v-11a4ff91]{background:var(--white);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:center;gap:5px;padding:13px 24px 14px;display:flex;box-shadow:inset 0 1px 3px -1px #bed2e9}.route-token-picker h3[data-v-11a4ff91]{font-size:var(--font-size-sm);text-align:center;flex-basis:100%;margin:0 0 3px;font-weight:600}.route-token-picker .route-token[data-v-11a4ff91]{padding:2px 7px;font-family:inherit;font-size:12px;line-height:16px}.route-modal-footer[data-v-11a4ff91]{background:var(--gray-100);border-top:1px solid var(--border-hairline);align-items:center;gap:var(--c-spacing-md);justify-content:space-between;min-height:44px;padding:6px 24px;display:flex}.route-modal-footer__actions[data-v-11a4ff91]{gap:8px;margin-left:auto;display:flex}.route-delete-button[data-v-11a4ff91]{color:var(--fg)}@media (width<=720px){.route[data-v-11a4ff91]{display:grid}.route__uri[data-v-11a4ff91]{border-radius:var(--radius-lg) var(--radius-lg) 0 0;min-width:0}.route__actions[data-v-11a4ff91]{justify-content:flex-end}.route-site-select[data-v-11a4ff91]{flex-basis:auto}.route-uri-field__controls[data-v-11a4ff91]{display:grid}} diff --git a/resources/build/assets/SettingsRoutesPage-Bph3Oj9a.js b/resources/build/assets/SettingsRoutesPage-Bph3Oj9a.js new file mode 100644 index 00000000000..73c364480d1 --- /dev/null +++ b/resources/build/assets/SettingsRoutesPage-Bph3Oj9a.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{B as t,C as n,D as r,E as i,F as a,G as o,I as s,J as c,N as l,Q as u,R as d,S as f,T as p,V as m,X as h,Z as g,b as _,dt as v,et as y,f as b,ft as x,h as S,m as C,ot as w,q as T,s as E,st as D,t as O,tt as k,v as A,x as j,y as M}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{t as N}from"./DropIndicator-CdS4AEr0.js";import{t as P}from"./CraftSelect-CLNDGobq.js";import{o as F}from"./InlineFlash-Duhr9n8-.js";import{n as I,t as L}from"./wayfinder-ghdHxiwr.js";import{t as R}from"./CraftInput-BrzKPRWU.js";import{t as z}from"./ModalForm-DpNJgsO7.js";import{n as ee,t as B}from"./AppLayout-dqX06RZT.js";import{t as V}from"./useReorderableItems-ZX7KVLXh.js";var H=[`data-mixed-input-index`,`aria-pressed`,`disabled`,`onClick`,`onFocus`,`onKeydown`],U=[`value`,`data-mixed-input-index`,`aria-label`,`disabled`,`onInput`,`onFocus`,`onClick`,`onKeyup`,`onKeydown`],W=20,te=O(r({__name:`MixedInput`,props:l({disabled:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},ariaLabel:{default:()=>e(`Input`)}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e,{expose:n}){let r=o(e,`modelValue`),i=T(`root`),l=T(`textMeasure`),p=D(null),h=D(null),g=D({});function _(e){return Array.isArray(e)}function v(e){return g.value[e]??`${W}px`}function b(e){let t=l.value;return t?(t.textContent=e,Math.ceil(t.getBoundingClientRect().width+W)):W}function x(){let e={};r.value.forEach((t,n)=>{typeof t==`string`&&(e[n]=`${b(t)}px`)}),g.value=e}function w(e){return i.value?.querySelector(`[data-mixed-input-index="${e}"]`)??null}function E(e){return e.ctrlKey||e.metaKey}function O(e){return e.currentTarget}function A(e,t){let n=O(e);h.value=null,p.value={index:t,selectionStart:n.selectionStart??n.value.length,selectionEnd:n.selectionEnd??n.value.length}}function j(e){let t=[],n=!1;return e.forEach(e=>{let r=t[t.length-1];if(typeof e==`string`){typeof r==`string`?(t[t.length-1]=r+e,n=!0):t.push(e);return}typeof r!=`string`&&(t.push(``),n=!0),t.push(e)}),(t.length===0||typeof t[t.length-1]!=`string`)&&(t.push(``),n=!0),{parts:t,changed:n||t.length!==e.length}}function N(){let e=j(r.value);e.changed&&(r.value=e.parts)}function P(e,t){return t===`start`?0:t===`end`||t===void 0?e.value.length:t}function F(e,t){a(()=>{let n=w(e);if(n)if(n.focus(),n instanceof HTMLInputElement){let r=P(n,t);n.setSelectionRange(r,r),p.value={index:e,selectionStart:r,selectionEnd:r},h.value=null}else p.value=null,h.value=e})}function I(e){e<=0||F(e-1,`end`)}function L(e){e>=r.value.length-1||F(e+1,`start`)}function R(){N(),F(0,`start`)}function z(){N(),F(r.value.length-1,`end`)}function ee(e,t){let n=[...r.value];n[e]=t,r.value=n}function B(e,t){ee(t,O(e).value)}function V(e){let t=p.value,n=h.value;if(h.value=null,t&&typeof r.value[t.index]==`string`){let n=[...r.value],i=n[t.index],a=i.slice(0,t.selectionStart),o=i.slice(t.selectionEnd);n.splice(t.index,1,a,[e.name,e.value],o),r.value=n,p.value={index:t.index+2,selectionStart:0,selectionEnd:0},F(t.index+1);return}if(n!==null){let t=[...r.value];t.splice(n+1,0,``,[e.name,e.value]),r.value=t,F(n+2);return}let i=[...r.value];i.push([e.name,e.value],``),p.value={index:i.length-1,selectionStart:0,selectionEnd:0},r.value=i,F(i.length-2)}function te(e){let t=[...r.value];t.splice(e,1),h.value=null;let n=t[e-1],i=t[e];if(typeof n==`string`&&typeof i==`string`){let a=n.length;t.splice(e-1,2,n+i),r.value=t,F(e-1,a);return}r.value=t.length?t:[``],F(Math.max(0,Math.min(e-1,r.value.length-1)))}function G(e){h.value=e,p.value=null}function K(e,t){switch(e.key){case`ArrowLeft`:e.preventDefault(),E(e)?R():I(t);return;case`ArrowRight`:e.preventDefault(),E(e)?z():L(t);return;case`Backspace`:case`Delete`:e.preventDefault(),te(t);return}}function q(e,t){let n=O(e),r=n.selectionStart??0,i=n.selectionEnd??n.value.length;switch(e.key){case`ArrowLeft`:if(E(e)){e.preventDefault(),R();return}r===0&&i===0&&(e.preventDefault(),I(t));return;case`ArrowRight`:if(E(e)){e.preventDefault(),z();return}r===n.value.length&&i===n.value.length&&(e.preventDefault(),L(t));return;case`Backspace`:case`Delete`:r===0&&i===0&&(e.preventDefault(),I(t));return}}return c(r,()=>{N(),a(x)},{immediate:!0}),s(x),n({addToken:V}),(n,a)=>(d(),f(`div`,{ref_key:`root`,ref:i,class:`mixed-input`,tabindex:`0`,onFocus:C(z,[`self`])},[M(`div`,{class:u({"mixed-input__editor":!0,"mixed-input__editor--error":e.invalid})},[(d(!0),f(S,null,t(r.value,(t,n)=>(d(),f(S,{key:n},[_(t)?(d(),f(`button`,{key:0,class:u({"mixed-input__token":!0,"mixed-input__token--editable":!0,"mixed-input__token--selected":h.value===n}),type:`button`,"data-mixed-input-index":n,"aria-pressed":h.value===n,disabled:e.disabled,onClick:e=>G(n),onFocus:e=>G(n),onKeydown:e=>K(e,n)},k(t[0]),43,H)):(d(),f(`input`,{key:1,value:t,type:`text`,class:`mixed-input__text`,dir:`ltr`,"data-mixed-input-index":n,style:y({width:v(n)}),"aria-label":e.ariaLabel,disabled:e.disabled,onInput:e=>B(e,n),onFocus:e=>A(e,n),onClick:e=>A(e,n),onKeyup:e=>A(e,n),onKeydown:e=>q(e,n)},null,44,U))],64))),128)),M(`span`,{ref_key:`textMeasure`,ref:l,class:`mixed-input__text mixed-input__text-measure`,"aria-hidden":`true`},null,512)],2),m(n.$slots,`error`,{},void 0,!0)],544))}}),[[`__scopeId`,`data-v-3981796f`]]),G=e=>({url:G.url(e),method:`get`});G.definition={methods:[`get`,`head`],url:`/admin/settings/routes`},G.url=e=>G.definition.url+I(e),G.get=e=>({url:G.url(e),method:`get`}),G.head=e=>({url:G.url(e),method:`head`});var K=e=>({url:K.url(e),method:`post`});K.definition={methods:[`post`],url:`/admin/settings/routes`},K.url=e=>K.definition.url+I(e),K.post=e=>({url:K.url(e),method:`post`});var q=(e,t)=>({url:q.url(e,t),method:`patch`});q.definition={methods:[`patch`],url:`/admin/settings/routes/{routeUid}`},q.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={routeUid:e}),Array.isArray(e)&&(e={routeUid:e[0]}),e=L(e);let n={routeUid:e.routeUid};return q.definition.url.replace(`{routeUid}`,n.routeUid.toString()).replace(/\/+$/,``)+I(t)},q.patch=(e,t)=>({url:q.url(e,t),method:`patch`});var J=(e,t)=>({url:J.url(e,t),method:`delete`});J.definition={methods:[`delete`],url:`/admin/settings/routes/{routeUid}`},J.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={routeUid:e}),Array.isArray(e)&&(e={routeUid:e[0]}),e=L(e);let n={routeUid:e.routeUid};return J.definition.url.replace(`{routeUid}`,n.routeUid.toString()).replace(/\/+$/,``)+I(t)},J.delete=(e,t)=>({url:J.url(e,t),method:`delete`});var Y=e=>({url:Y.url(e),method:`post`});Y.definition={methods:[`post`],url:`/admin/settings/routes/reorder`},Y.url=e=>Y.definition.url+I(e),Y.post=e=>({url:Y.url(e),method:`post`});var ne={key:1,class:`empty-routes`},re={key:2,class:`routes-list`},ie=[`onClick`],ae={class:`route__uri`},oe={key:0,class:`route__site`},se={class:`route__parts`},ce={key:0,class:`route-token`},le={key:1},ue={class:`route__template`},de=[`onClick`],fe=[`label`],pe={slot:`invoker`,type:`button`,icon:``,size:`small`,appearance:`plain`},me=[`label`],he={slot:`content`},ge=[`onClick`],_e=[`onClick`],ve=[`label`],ye={class:`route-modal-header`},be={class:`route-modal`},xe={class:`route-uri-field`},Se={class:`route-uri-field__label`},Ce={class:`route-uri-field__controls`},we={class:`error-list`},Te=[`aria-label`],Ee={value:``},De=[`value`],Oe={class:`route-token-picker`},ke=[`disabled`,`onMousedown`,`onClick`],Ae={class:`route-modal-footer`},je=[`disabled`],Me={class:`route-modal-footer__actions`},Ne=[`loading`],X=O(r({__name:`SettingsRoutesPage`,props:{title:{},routes:{},tokens:{},sites:{},isMultiSite:{type:Boolean},readOnly:{type:Boolean}},setup(r){let a=r,{flash:o}=F(),s=w(!1),c=w(null),l=w(null),m=E({uriParts:[``],template:``,siteUid:null}),y=A({get:()=>m.siteUid??``,set:e=>{m.siteUid=e||null}}),T=A(()=>Object.entries(a.tokens).map(([e,t])=>({name:e,value:t}))),D=A(()=>!a.readOnly&&a.routes.length>1),O=A(()=>a.routes.map(e=>e.uid)),{setItemRef:I,setHandleRef:L,getDragState:H,getDropState:U}=V({getItemIds:()=>O.value,enabled:()=>D.value,onReorder:$});function W(e){return Array.isArray(e)}function G(e){return e.map(e=>W(e)?[e[0],e[1]]:e)}function X(){c.value=null,m.clearErrors(),m.uriParts=[``],m.template=``,m.siteUid=null,s.value=!0}function Z(e){c.value=e,m.clearErrors(),m.uriParts=G(e.uriParts.length?e.uriParts:[``]),m.template=e.template,m.siteUid=e.siteUid,s.value=!0}function Q(){s.value=!1,c.value=null,m.clearErrors()}function Pe(e){let t=U(e);return t.type===`is-over`?t.closestEdge:null}function Fe(e){l.value?.addToken(e)}function Ie(e,t){e.detail===0&&Fe(t)}function Le(){let e=G(m.uriParts);return typeof e[0]==`string`&&(e[0]=e[0].replace(/^\/+/,``)),e.filter(e=>typeof e==`string`?e!==``:!0)}function Re(e,t,n){if(t<0||t>=e.length||n<0||n>=e.length||n===t)return null;let r=e[t];if(!r)return null;let i=[...e];return i.splice(t,1),i.splice(n,0,r),i}function ze(){let t=Le();m.clearErrors(),m.transform(e=>({...e,uriParts:t,siteUid:e.siteUid||null})).submit(c.value?q(c.value.uid):K(),{preserveScroll:!0,onSuccess:()=>{Q(),o(`success`,e(`Route saved.`))},onError:()=>{o(`error`,e(`Couldn’t save route.`))}})}function Be(t){confirm(e(`Are you sure you want to delete this route?`))&&m.delete(J(t.uid).url,{preserveScroll:!0,onSuccess:()=>{Q(),o(`success`,e(`Route deleted.`))}})}function $(t,n){let r=Re(a.routes,t,n);r&&x.optimistic(e=>{let r=Re(e.routes,t,n);return r?{routes:r}:void 0}).post(Y(),{routeUids:r.map(e=>e.uid)},{preserveScroll:!0,preserveState:!0,onSuccess:()=>{o(`success`,e(`New route order saved.`))},onError:()=>{o(`error`,e(`Couldn’t save new route order.`))}})}return(a,o)=>(d(),_(B,{title:r.title},{actions:h(()=>[r.readOnly?j(``,!0):(d(),f(`craft-button`,{key:0,type:`button`,variant:`primary`,onClick:X},[o[7]||=M(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),p(` `+k(v(e)(`New route`)),1)]))]),default:h(()=>[r.readOnly?(d(),_(ee,{key:0})):j(``,!0),r.routes.length===0?(d(),f(`div`,ne,k(v(e)(`No routes exist yet.`)),1)):(d(),f(`div`,re,[(d(!0),f(S,null,t(r.routes,(n,a)=>(d(),f(`article`,{key:n.uid,ref_for:!0,ref:e=>v(I)(e,n.uid),class:u({route:!0,"route--readonly":r.readOnly,"route--dragging":!r.readOnly&&v(H)(n.uid).type===`is-dragging`}),onClick:e=>!r.readOnly&&Z(n)},[M(`div`,ae,[r.isMultiSite?(d(),f(`span`,oe,k(n.siteName),1)):j(``,!0),M(`span`,se,[(d(!0),f(S,null,t(n.uriParts,(e,t)=>(d(),f(S,{key:`${n.uid}-${t}`},[W(e)?(d(),f(`span`,ce,k(e[0]),1)):(d(),f(`span`,le,k(e),1))],64))),128))])]),M(`div`,ue,[o[8]||=M(`craft-icon`,{name:`template`},null,-1),M(`span`,null,k(n.template),1)]),r.readOnly?j(``,!0):(d(),f(`div`,{key:0,class:`route__actions`,onClick:o[1]||=C(()=>{},[`stop`])},[M(`craft-button`,{type:`button`,icon:``,size:`small`,appearance:`plain`,onClick:e=>Z(n)},[M(`craft-icon`,{name:`pencil`,label:v(e)(`Edit`)},null,8,fe)],8,de),M(`craft-action-menu`,null,[M(`craft-button`,pe,[M(`craft-icon`,{name:`ellipsis`,label:v(e)(`Actions`)},null,8,me)]),M(`div`,he,[a===0?j(``,!0):(d(),f(`craft-action-item`,{key:0,icon:`arrow-up`,onClick:e=>$(a,a-1)},k(v(e)(`Move up`)),9,ge)),a===r.routes.length-1?j(``,!0):(d(),f(`craft-action-item`,{key:1,icon:`arrow-down`,onClick:e=>$(a,a+1)},k(v(e)(`Move down`)),9,_e))])]),M(`span`,{ref_for:!0,ref:e=>v(L)(e,n.uid),class:`route__reorder`},[M(`craft-button`,{type:`button`,icon:``,size:`small`,appearance:`plain`,onClick:o[0]||=C(()=>{},[`prevent`])},[M(`craft-icon`,{name:`custom-icons/grip-dots`,label:v(e)(`Reorder`)},null,8,ve)])],512)])),i(N,{contained:``,edge:Pe(n.uid)},null,8,[`edge`])],10,ie))),128))])),i(z,{"is-active":s.value,title:c.value?v(e)(`Edit Route`):v(e)(`Create a new route`),loading:v(m).processing,"submit-label":v(e)(`Save`),width:`md`,onClose:Q,onSubmit:ze},{header:h(()=>[M(`div`,ye,[M(`h1`,null,k(c.value?v(e)(`Edit Route`):v(e)(`Create a new route`)),1)])]),footer:h(()=>[M(`div`,Ae,[c.value?(d(),f(`craft-button`,{key:0,type:`button`,appearance:`plain`,class:`route-delete-button`,disabled:v(m).processing,onClick:o[6]||=e=>Be(c.value)},k(v(e)(`Delete`)),9,je)):j(``,!0),M(`div`,Me,[M(`craft-button`,{type:`reset`,appearance:`plain`,onClick:Q},k(v(e)(`Cancel`)),1),M(`craft-button`,{type:`submit`,variant:`primary`,loading:v(m).processing},k(v(e)(`Save`)),9,Ne)])])]),default:h(()=>[M(`div`,be,[M(`div`,xe,[M(`div`,Se,k(v(e)(`If the URI looks like this`))+`: `,1),M(`div`,Ce,[i(te,{ref_key:`mixedInput`,ref:l,modelValue:v(m).uriParts,"onUpdate:modelValue":o[2]||=e=>v(m).uriParts=e,class:`route-uri-input`,invalid:!!v(m).errors.uriParts,disabled:v(m).processing,"aria-label":v(e)(`URI`)},n({_:2},[v(m).errors.uriParts?{name:`error`,fn:h(()=>[M(`ul`,we,[M(`li`,null,k(v(m).errors.uriParts),1)])]),key:`0`}:void 0]),1032,[`modelValue`,`invalid`,`disabled`,`aria-label`]),r.isMultiSite?(d(),_(P,{key:0,class:`route-site-select`,id:`route-site`,name:`siteUid`,modelValue:y.value,"onUpdate:modelValue":o[4]||=e=>y.value=e,disabled:v(m).processing},{default:h(()=>[g(M(`select`,{slot:`input`,"onUpdate:modelValue":o[3]||=e=>y.value=e,"aria-label":v(e)(`Site`)},[M(`option`,Ee,k(v(e)(`Global`)),1),(d(!0),f(S,null,t(r.sites,e=>(d(),f(`option`,{key:e.uid,value:e.uid},k(e.name),9,De))),128))],8,Te),[[b,y.value]])]),_:1},8,[`modelValue`,`disabled`])):j(``,!0)]),M(`div`,Oe,[M(`h3`,null,k(v(e)(`Add a token`)),1),(d(!0),f(S,null,t(T.value,e=>(d(),f(`button`,{key:e.name,type:`button`,class:`route-token route-token--button`,disabled:v(m).processing,onMousedown:C(t=>Fe(e),[`prevent`]),onClick:t=>Ie(t,e)},k(e.name),41,ke))),128))])]),i(R,{label:v(e)(`Load this template`),id:`route-template`,name:`template`,modelValue:v(m).template,"onUpdate:modelValue":o[5]||=e=>v(m).template=e,dir:`ltr`,disabled:v(m).processing,error:v(m).errors.template,required:``},null,8,[`label`,`modelValue`,`disabled`,`error`])])]),_:1},8,[`is-active`,`title`,`loading`,`submit-label`])]),_:1},8,[`title`]))}}),[[`__scopeId`,`data-v-11a4ff91`]]);export{X as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsSectionsEditPage-C7aLb4i5.js b/resources/build/assets/SettingsSectionsEditPage-C7aLb4i5.js deleted file mode 100644 index 57270943d3a..00000000000 --- a/resources/build/assets/SettingsSectionsEditPage-C7aLb4i5.js +++ /dev/null @@ -1,15 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{a as t,i as n,n as r,t as i}from"./cp-CoDnSlcH.js";import{$ as a,B as o,E as s,F as c,I as l,K as u,L as d,N as f,P as p,T as m,Y as h,Z as g,_,at as v,b as y,dt as ee,et as b,k as x,l as S,lt as C,m as w,ot as T,q as E,s as D,t as O,ut as k,v as A,w as j,x as M,y as N,z as P}from"./_plugin-vue_export-helper-C3orD-yt.js";import{a as F,i as I,o as L,r as R,t as z}from"./AdminTable-BaWDz4rn.js";import{n as B}from"./Select-BaRh7IFc.js";import{t as V}from"./Pane-CyLhaZAB.js";import{i as H}from"./wayfinder-CyAPyHKQ.js";import{t as U}from"./DeleteButton-CPJTFImZ.js";import{t as W}from"./CraftInput-Diy-IcJh.js";import{r as te,t as ne}from"./AppLayout-CbgDw9ix.js";import{n as re,t as G}from"./useEditableTable-CNMeDvlc.js";import{t as K}from"./useSettingsSave-BLqVG46P.js";import{a as q,n as J,t as Y}from"./EntryTypesController-zMecDXGB.js";import{t as X}from"./CraftInputHandle-DC3oqA7Q.js";import{t as Z}from"./useInputGenerator-C97rdGdo.js";import{a as ie}from"./SectionsController-DXvTOXL3.js";var ae=[`id`],oe=[`name`],se=[`placement`,`for`],ce=s({__name:`Tooltip`,props:{id:{default:()=>`tooltip-${Math.random().toString(36).substring(2,9)}`},icon:{default:`circle-info`},placement:{default:`top`}},setup(e){return(t,n)=>(d(),M(w,null,[A(`craft-button`,{type:`button`,id:e.id,appearance:`plain`,size:`zero`,icon:``,variant:`inherit`},[o(t.$slots,`icon`,{},()=>[A(`craft-icon`,{name:e.icon},null,8,oe)])],8,ae),A(`c-tooltip`,{placement:e.placement,for:e.id},[o(t.$slots,`default`)],8,se)],64))}}),le=[`data-color`,`data-id`],ue={class:`grid gap-1 justify-items-start`},de={class:`flex gap-1`},fe={class:`font-bold`},pe={class:`cp-code`},me={key:0},he=[`name`,`label`],ge={slot:`suffix`,class:`flex gap-0.5 items-center`},_e=O(s({__name:`EntryTypeChip`,props:{name:{},id:{},handle:{},color:{},icon:{},description:{},indicators:{},actions:{},draggable:{type:Boolean,default:!1}},emits:[`handle-ref`],setup(e,{emit:t}){let n=t,r=v(null);return E(r,e=>{n(`handle-ref`,e)},{immediate:!0}),(t,n)=>(d(),M(`craft-chip`,{"data-color":e.color?.value??e.color??`white`,"data-id":e.id},[e.icon?(d(),M(`craft-icon`,f({key:0,slot:`icon`},e.icon),null,16)):y(``,!0),A(`div`,ue,[A(`div`,de,[A(`div`,fe,b(e.name),1),e.description?(d(),N(ce,{key:0},{default:h(()=>[j(b(e.description),1)]),_:1})):y(``,!0)]),A(`div`,pe,b(e.handle),1),e.indicators?(d(),M(`div`,me,[(d(!0),M(w,null,P(e.indicators,e=>(d(),M(`craft-icon`,{name:e.icon,label:e.label,style:a({color:e.iconColor})},null,12,he))),256))])):y(``,!0)]),A(`div`,ge,[e.actions?(d(),N(te,{key:0,actions:e.actions},null,8,[`actions`])):y(``,!0),e.draggable?(d(),M(`span`,{key:1,ref_key:`handleRef`,ref:r,class:`drag-handle`},[o(t.$slots,`drag-handle`,{},()=>[m(I,{variant:`inherit`})],!0)],512)):y(``,!0)])],8,le))}}),[[`__scopeId`,`data-v-3fa3dea4`]]),ve=s({__name:`CreateEntryTypeButton`,emits:[`success`],setup(t,{emit:n}){let r=n,i=u(`invoker`);function a(){let e=new Craft.CpScreenSlideout(J[`/admin/settings/entry-types/new`]().url);e.on(`submit`,()=>{r(`success`)}),e.on(`close`,()=>{i.value?.focus()})}function o(){a()}return(t,n)=>(d(),M(`craft-button`,{type:`button`,appearance:`filled`,onClick:o,ref_key:`invoker`,ref:i},[n[0]||=A(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),j(` `+b(k(e)(`Create`)),1)],512))}}),Q=O(s({__name:`DragShadow`,props:{height:{},position:{}},setup(e){return(t,n)=>e.height?(d(),M(`div`,{key:0,class:g([`drag-shadow`,`drag-shadow--${e.position??`bottom`}`]),style:a({height:`${e.height}px`})},null,6)):y(``,!0)}}),[[`__scopeId`,`data-v-a1eaf5b2`]]);function ye(e){let t=v(new Map),n=T(new Map),r=v(new Map),i=null,{registerItem:a,getDragState:o,getDropState:s,setupMonitor:u}=L({onReorder:e.onReorder,axis:e.axis??`vertical`});function d(e,n){e?t.value.set(n,e):t.value.delete(n)}function f(e,t){e?n.value.set(t,e):n.value.delete(t),C(n)}function m(){return e.enabled?.()??!0}function h(){r.value.forEach(e=>e()),r.value.clear(),m()&&e.getItemIds().forEach((e,i)=>{let o=t.value.get(e),s=n.value.get(e);if(o){let t=a(o,s??null,e,i);r.value.set(e,t)}})}return E(()=>e.getItemIds(),()=>{p(h)},{deep:!0}),E(()=>n.value.size,()=>{p(h)}),c(()=>{i=u(),p(h)}),l(()=>{r.value.forEach(e=>e()),i?.()}),{setItemRef:d,setHandleRef:f,getDragState:o,getDropState:s,refreshRegistrations:h}}var be={class:`entry-type-list`},xe={class:`flex gap-2 mt-3 items-center`},Se={key:0},Ce={key:0,type:`button`,slot:`invoker`,appearance:`filled`},we={slot:`content`},Te={class:`p-2`},Ee={key:0,class:`p-2`},De=[`onClick`,`icon`,`checked`,`data-color`],Oe=O(s({__name:`EntryTypeSelect`,props:{modelValue:{},entryTypes:{},actions:{}},emits:[`update:modelValue`],setup(t,{emit:n}){let a=n,o=t,{readOnly:s}=H();_(()=>o.modelValue.map(e=>o.types?.find(t=>t.id===e)??null).filter(Boolean));let c=v(``),l=_(()=>o.entryTypes?.filter(e=>e.name.includes(c.value)||e.handle.includes(c.value)));function u(e,t){let n=[...o.modelValue],[r]=n.splice(e,1);n.splice(t,0,r),a(`update:modelValue`,n)}function f(e){return e===0?`first`:e===o.modelValue.length-1?`last`:`middle`}let{setItemRef:p,setHandleRef:x,getDragState:S,getDropState:C}=ye({getItemIds:()=>o.modelValue.map(e=>e.id),onReorder:u,enabled:()=>o.modelValue.length>1});function T(e){o.modelValue.find(t=>t.id===e.id)?E(e.id):a(`update:modelValue`,[...o.modelValue,e])}function E(e){a(`update:modelValue`,[...o.modelValue.filter(t=>t.id!==e)])}let D=v(void 0),O=v({});function F(t,{namespace:n=``,id:r=null}){let i=` -
-
- ${n?``:``} - ${r?``:``} - ${t} -
-
-
- - ${e(`Close`)} - - ${e(`Apply`)} -
- `,s=new Craft.Slideout(i,{containerElement:`form`,containerAttributes:{action:Y().url,method:`post`,novalidate:``,class:`entry-type-override-settings`}}),c=s.$container[0];if(c)return c.addEventListener(`submit`,async e=>{e.preventDefault();let t=e.target,n=new FormData(t),r={id:n.get(`id`),settingsNamespace:n.get(`settingsNamespace`),settings:new URLSearchParams(n).toString()};try{let{data:e}=await Craft.sendActionRequest(`POST`,Y().url,{data:r});O.value={...O.value,[e.config.id]:e.config},a(`update:modelValue`,o.modelValue.map(t=>t.id===e.entryType.id?{...t,...e.entryType}:t)),s.close()}catch(e){console.error(e)}}),c.querySelectorAll(`[data-action]`).forEach(e=>{e.addEventListener(`click`,e=>{let t=e.target;if(t)switch(t.dataset.action){case`close`:s.close();break}})}),s.on(`close`,()=>{s.destroy()}),s}async function L(e){try{let t=o.modelValue.find(t=>t.id===e),{data:n}=await Craft.sendActionRequest(`POST`,q().url,{data:{id:e,name:t?.name,handle:t?.handle,description:t?.description}}),{settingsHtml:a,headHtml:s,bodyHtml:c,namespace:l}=n;D.value=F(a,{namespace:l,id:e}),s&&await r(s),c&&await i(c),Craft?.initUiElements(D.value?.$container)}catch(e){throw Craft.cp?.displayError?.(e?.response?.data?.message),e}}return(n,r)=>(d(),M(w,null,[A(`div`,be,[(d(!0),M(w,null,P(t.modelValue,(n,r)=>(d(),M(`div`,{key:n.id,ref_for:!0,ref:e=>k(p)(e,n.id),class:g([`entry-type-item`,{"entry-type-item--dragging":k(S)(n.id).type===`is-dragging`,"entry-type-item--hidden":k(S)(n.id).type===`is-dragging-and-left-self`}])},[k(C)(n.id).type===`is-over`&&k(C)(n.id).closestEdge===`top`?(d(),N(Q,{key:0,height:k(C)(n.id).draggingRect?.height},null,8,[`height`])):y(``,!0),m(_e,{name:n.name,id:n.id,handle:n.handle,color:n.color,icon:n.icon,description:n.description,draggable:t.modelValue.length>1,indicators:n.indicators,actions:[{label:k(e)(`Settings`),icon:`gear`,onClick:()=>L(n.id)},...[k(s)?null:{label:k(e)(`Remove`),variant:`danger`,icon:`x`,onClick:()=>E(n.id)}]],onHandleRef:e=>k(x)(e,n.id)},{"drag-handle":h(()=>[k(s)?y(``,!0):(d(),N(I,{key:0,variant:`inherit`,position:f(r),"onClick:up":e=>u(r,r-1),"onClick:down":e=>u(r,r+1)},null,8,[`position`,`onClick:up`,`onClick:down`]))]),_:2},1032,[`name`,`id`,`handle`,`color`,`icon`,`description`,`draggable`,`indicators`,`actions`,`onHandleRef`]),k(C)(n.id).type===`is-over`&&k(C)(n.id).closestEdge===`bottom`?(d(),N(Q,{key:1,height:k(C)(n.id).draggingRect?.height},null,8,[`height`])):y(``,!0)],2))),128))]),A(`div`,xe,[t.entryTypes?.length?(d(),M(`craft-action-menu`,Se,[k(s)?y(``,!0):(d(),M(`craft-button`,Ce,[r[2]||=A(`craft-icon`,{name:`chevron-down`,slot:`prefix`},null,-1),j(` `+b(k(e)(`Choose`)),1)])),A(`div`,we,[A(`div`,Te,[m(W,{label:k(e)(`Search`),modelValue:c.value,"onUpdate:modelValue":r[0]||=e=>c.value=e,"label-sr-only":``},{default:h(()=>[...r[3]||=[A(`craft-icon`,{name:`search`,slot:`prefix`},null,-1)]]),_:1},8,[`label`,`modelValue`])]),r[4]||=A(`hr`,{class:`m-0`},null,-1),l.value.length<1?(d(),M(`div`,Ee,[m(R,{template:`No entry types match “{query}”`,params:{query:c.value}},null,8,[`params`])])):(d(!0),M(w,{key:1},P(l.value,e=>(d(),M(`craft-action-item`,{key:e.id,onClick:t=>T(e),type:`checkbox`,icon:e.icon??`empty`,checked:t.modelValue.find(t=>t.id===e.id),"data-color":e.color?.value??`white`},[A(`div`,null,[j(b(e.name)+` `,1),A(`pre`,null,b(e.handle),1)])],8,De))),128))])])):y(``,!0),k(s)?y(``,!0):(d(),N(ve,{key:1,onSuccess:r[1]||=e=>k(ee).reload({only:[`entryTypes`]})}))])],64))}}),[[`__scopeId`,`data-v-a1790f8e`]]),ke=s({__name:`SiteSettingsTable`,props:{modelValue:{},selectedType:{},isMultisite:{type:Boolean,default:!1},isHeadless:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=n,i=t,a=S(),o=_(()=>a.props.homepageUri),s=_(()=>a.props.templateOptions),c=_(()=>({name:!0,enabled:i.isMultisite,singleHomepage:i.selectedType===`single`,singleUri:i.selectedType===`single`,uriFormat:i.selectedType!==`single`,template:!i.isHeadless,enabledByDefault:i.selectedType!==`single`})),{table:l}=G({data:()=>i.modelValue,key:`handle`,name:`sites`,columnVisibility:()=>c.value,onChange:e=>r(`update:modelValue`,e),columns:({columnHelper:t})=>[t.accessor(`name`,{header:e(`Site`),cell:({getValue:e})=>e(),meta:{cellTag:`th`,trackSize:`0.25fr`}}),t.lightswitch(`enabled`,{header:e(`Enabled`),meta:{trackSize:`80px`,cellClass:`bg-[var(--c-color-neutral-fill-quiet)]`},label:e(`Enabled`)}),t.checkbox(`singleHomepage`,{header:()=>x(`craft-icon`,{name:`home`,label:e(`Homepage`)}),meta:{trackSize:`44px`,cellClass:`text-center`,headerClass:`justify-center`},onChange:(e,{row:t})=>{if(e){let e={...i.modelValue};e[t.original.handle].singleUri=o.value??``,r(`update:modelValue`,e)}else{let e={...i.modelValue};e[t.original.handle].singleUri=``,r(`update:modelValue`,e)}},disabled:e=>!e.original.enabled}),t.text(`singleUri`,{header:e(`URI`),class:`font-mono text-xs`,placeholder:e(`Leave blank if the entry doesn't have a URL`),disabled:e=>!e.original.enabled||e.original.singleHomepage,meta:{headerTip:e(`What the entry URI should be for the site. Leave blank if the entry doesn’t have a URL.`)}}),t.text(`uriFormat`,{header:e(`Entry URI Format`),class:`font-mono text-xs`,placeholder:e(`Leave blank if the entry doesn't have a URL`),disabled:e=>!e.original.enabled,meta:{headerTip:e(`What entry URIs should look like for the site. Leave blank if entries don’t have URLs.`)}}),t.autocomplete(`template`,{header:e(`Template`),class:`w-full flex-1 font-mono text-xs !px-[var(--_cell-spacing)]`,options:s.value,disabled:e=>!e.original.enabled,meta:{headerTip:e(`Which template should be loaded when an entry’s URL is requested.`)}}),t.lightswitch(`enabledByDefault`,{header:e(`Default Status`),meta:{trackSize:`120px`},disabled:e=>!e.original.enabled})]});return(e,t)=>(d(),N(V,{padding:0,appearance:`raised`},{default:h(()=>[m(z,{table:k(l),spacing:k(F).Relaxed,reorderable:!1},null,8,[`table`,`spacing`])]),_:1}))}}),Ae={key:0,class:`border border-dashed border-neutral-border-quiet rounded-bl-md rounded-br-md border-t-0 p-1 pt-2 -mt-1`},je=s({__name:`PreviewTargetsTable`,props:{modelValue:{},name:{default:`previewTargets`},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=n,i=t,{table:a}=G({data:()=>i.modelValue,name:i.name,onChange:e=>r(`update:modelValue`,e),columns:({columnHelper:t})=>[t.text(`label`,{header:e(`Label`),disabled:()=>i.disabled}),t.text(`urlFormat`,{header:e(`URL Format`),class:`font-mono text-xs`,disabled:()=>i.disabled}),t.lightswitch(`refresh`,{header:e(`Auto-Refresh`),disabled:()=>i.disabled}),t.display({id:`actions`,header:e(`Actions`),meta:{headerSrOnly:!0},cell:({row:e})=>x(`div`,{class:`flex justify-end gap-2`},[x(U,{disabled:i.disabled,onClick:()=>{let t=[...i.modelValue];t.splice(e.index,1),r(`update:modelValue`,t)}})])})]});function o(){r(`update:modelValue`,[...i.modelValue,{label:``,urlFormat:``,refresh:!0}])}return(n,r)=>(d(),M(w,null,[m(V,{padding:0,appearance:`raised`},{default:h(()=>[m(z,{table:k(a),spacing:k(F).Relaxed,reorderable:!1},null,8,[`table`,`spacing`])]),_:1}),t.disabled?y(``,!0):(d(),M(`div`,Ae,[A(`craft-button`,{type:`button`,size:`small`,onClick:o,class:`w-full`,appearance:`plain`},b(k(e)(`Add a target`)),1)]))],64))}}),Me={class:`grid gap-3`},Ne=[`value`],Pe={slot:`input`},Fe=[`value`],Ie={key:0,slot:`after`},Le={variant:`danger`,appearance:`plain`,class:`p-0`,icon:`triangle-exclamation`},Re={class:`grid gap-3`},ze={class:`font-bold text-sm`},Be={class:`text-sm text-neutral-500 mb-2`},Ve={class:`grid gap-6`},$={class:`font-bold text-sm`},He={class:`text-sm text-neutral-500 mb-2`},Ue={slot:`input`},We=[`value`],Ge={key:0,slot:`after`},Ke={variant:`danger`,appearance:`plain`,class:`p-0`,icon:`triangle-exclamation`},qe={class:`grid gap-3`},Je={slot:`input`},Ye=[`value`],Xe={class:`grid gap-3`},Ze={class:`font-bold text-sm`},Qe={class:`text-sm text-neutral-500 mb-2`},$e={class:`grid gap-3`},et=s({__name:`SettingsSectionsEditPage`,props:{title:{},crumbs:{},section:{},brandNew:{type:Boolean},typeOptions:{},entryTypes:{},propagationOptions:{},placementOptions:{},siteSettings:{},isMultiSite:{type:Boolean},headlessMode:{type:Boolean},flash:{},errors:{}},setup(r){let i=r,{readOnly:a}=H(),o=D({sectionId:i.section.id,name:i.section.name??``,handle:i.section.handle??``,type:i.section.type,entryTypes:(i.section.entryTypes??[]).map(({actions:e,...t})=>t),enableVersioning:i.section.enableVersioning,maxAuthors:i.section.maxAuthors??1,maxLevels:i.section.maxLevels??``,propagationMethod:i.section.propagationMethod,defaultPlacement:i.section.defaultPlacement,previewTargets:i.section.previewTargets??[],sites:Object.fromEntries(i.siteSettings.map(e=>[e.handle,{enabled:e.enabled,siteId:e.siteId??null,name:e.name??``,singleHomepage:!1,singleUri:e.uriFormat??``,uriFormat:e.uriFormat??``,template:e.template??``,enabledByDefault:e.enabledByDefault}]))}),s=_(()=>o.type===`structure`),c=_(()=>o.type===`channel`||o.type===`structure`),l=Z(()=>o.name,e=>o.handle=t(e)),u=Z(()=>o.name,e=>{if(!o.sites)return;let t=n(e);o.sites=Object.fromEntries(Object.entries(o.sites).map(([e,n])=>[e,{...n,singleUri:t&&!n.singleHomepage?`${t}`:n.singleUri,uriFormat:t?`${t}/{slug}`:``,template:t?`${t}/_entry.twig`:``}]))});i.brandNew||(l.stop(),u.stop());let{save:f}=K(o,ie);return(t,n)=>(d(),N(ne,{title:r.title,debug:{form:k(o),$props:t.$props},form:k(o),onSave:k(f)},{default:h(()=>[m(V,{appearance:`raised`},{default:h(()=>[A(`div`,Me,[r.section.id?(d(),M(`input`,{key:0,type:`hidden`,name:`sectionId`,value:r.section.id},null,8,Ne)):y(``,!0),m(W,{label:k(e)(`Name`),"help-text":k(e)(`What this section will be called in the control panel.`),id:`name`,name:`name`,modelValue:k(o).name,"onUpdate:modelValue":n[0]||=e=>k(o).name=e,disabled:k(a),error:r.errors?.name,required:``,autofocus:``},null,8,[`label`,`help-text`,`modelValue`,`disabled`,`error`]),m(X,{label:k(e)(`Handle`),"help-text":k(e)(`How you'll refer to this section in the templates.`),id:`handle`,name:`handle`,modelValue:k(o).handle,"onUpdate:modelValue":n[1]||=e=>k(o).handle=e,disabled:k(a),error:r.errors?.handle,required:``,onChange:n[2]||=e=>k(l).markDirty()},null,8,[`label`,`help-text`,`modelValue`,`disabled`,`error`]),m(re,{label:k(e)(`Enable versioning for entries in this section`),id:`enableVersioning`,name:`enableVersioning`,disabled:k(a),modelValue:k(o).enableVersioning,"onUpdate:modelValue":n[3]||=e=>k(o).enableVersioning=e},null,8,[`label`,`disabled`,`modelValue`]),m(B,{label:k(e)(`Section Type`),"help-text":k(e)(`What type of section is this?`),id:`type`,name:`type`,modelValue:k(o).type,"onUpdate:modelValue":n[4]||=e=>k(o).type=e,disabled:k(a),error:r.errors?.type},{default:h(()=>[A(`select`,Pe,[(d(!0),M(w,null,P(r.typeOptions,e=>(d(),M(`option`,{key:e.value,value:e.value},b(e.label),9,Fe))),128))]),r.section.id&&k(o).type!==`single`?(d(),M(`div`,Ie,[A(`craft-callout`,Le,b(k(e)(`Changing this may result in data loss.`)),1)])):y(``,!0)]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`,`error`])]),n[13]||=A(`hr`,{class:`my-6`},null,-1),A(`div`,Re,[A(`div`,null,[A(`h3`,ze,b(k(e)(`Entry Types`)),1),A(`p`,Be,b(k(e)(`Choose the types of entries that can be included in this section.`)),1),m(Oe,{"entry-types":r.entryTypes,modelValue:k(o).entryTypes,"onUpdate:modelValue":n[5]||=e=>k(o).entryTypes=e},null,8,[`entry-types`,`modelValue`])])]),n[14]||=A(`hr`,{class:`my-6`},null,-1),A(`div`,Ve,[A(`div`,null,[A(`h3`,$,b(k(e)(`Site settings`)),1),A(`p`,He,b(k(e)(`Choose which sites this section should be available in, and configure the site-specific settings.`)),1),m(ke,{"is-multisite":r.isMultiSite,"is-headless":r.headlessMode,"selected-type":k(o).type,modelValue:k(o).sites,"onUpdate:modelValue":n[6]||=e=>k(o).sites=e},null,8,[`is-multisite`,`is-headless`,`selected-type`,`modelValue`])]),r.isMultiSite&&c.value?(d(),N(B,{key:0,label:k(e)(`Propagation Method`),"help-text":k(e)(`Of the enabled sites above, which sites should entries in this section be saved to?`),id:`propagationMethod`,name:`propagationMethod`,modelValue:k(o).propagationMethod,"onUpdate:modelValue":n[7]||=e=>k(o).propagationMethod=e,disabled:k(a)},{default:h(()=>[A(`select`,Ue,[(d(!0),M(w,null,P(r.propagationOptions,e=>(d(),M(`option`,{key:e.value,value:e.value},b(e.label),9,We))),128))]),r.section.id&&r.section.propagationMethod!==`none`&&r.siteSettings.length>1?(d(),M(`div`,Ge,[A(`craft-callout`,Ke,b(k(e)(`Changing this may result in data loss.`)),1)])):y(``,!0)]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`])):y(``,!0)]),s.value?(d(),M(w,{key:0},[n[12]||=A(`hr`,{class:`my-6`},null,-1),A(`div`,qe,[m(W,{label:k(e)(`Max Levels`),"help-text":k(e)(`The maximum number of levels this section can have.`),id:`maxLevels`,name:`maxLevels`,modelValue:k(o).maxLevels,"onUpdate:modelValue":n[8]||=e=>k(o).maxLevels=e,disabled:k(a),inputmode:`numeric`,size:`5`,error:r.errors?.maxLevels},null,8,[`label`,`help-text`,`modelValue`,`disabled`,`error`]),m(B,{label:k(e)(`Default {type} Placement`,{type:k(e)(`Entry`)}),"help-text":k(e)(`Where new {type} should be placed by default in the structure.`,{type:k(e)(`entries`)}),id:`defaultPlacement`,name:`defaultPlacement`,modelValue:k(o).defaultPlacement,"onUpdate:modelValue":n[9]||=e=>k(o).defaultPlacement=e,disabled:k(a)},{default:h(()=>[A(`select`,Je,[(d(!0),M(w,null,P(r.placementOptions,e=>(d(),M(`option`,{key:e.value,value:e.value},b(e.label),9,Ye))),128))])]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`])])],64)):y(``,!0),n[15]||=A(`hr`,{class:`my-6`},null,-1),A(`div`,Xe,[A(`div`,null,[A(`h3`,Ze,b(k(e)(`Preview Targets`)),1),A(`p`,Qe,b(k(e)(`Locations that should be available for previewing entries in this section.`)),1),m(je,{modelValue:k(o).previewTargets,"onUpdate:modelValue":n[10]||=e=>k(o).previewTargets=e,disabled:k(a)},null,8,[`modelValue`,`disabled`])])]),n[16]||=A(`hr`,{class:`my-6`},null,-1),A(`div`,$e,[m(W,{label:k(e)(`Max Authors`),"help-text":k(e)(`The maximum number of authors that entries in this section can have.`),id:`maxAuthors`,name:`maxAuthors`,modelValue:k(o).maxAuthors,"onUpdate:modelValue":n[11]||=e=>k(o).maxAuthors=e,disabled:k(a),inputmode:`numeric`,maxlength:`5`,error:r.errors?.maxAuthors},null,8,[`label`,`help-text`,`modelValue`,`disabled`,`error`])])]),_:1})]),_:1},8,[`title`,`debug`,`form`,`onSave`]))}});export{et as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsSectionsEditPage-DF94U1tN.js b/resources/build/assets/SettingsSectionsEditPage-DF94U1tN.js new file mode 100644 index 00000000000..facd5505fc5 --- /dev/null +++ b/resources/build/assets/SettingsSectionsEditPage-DF94U1tN.js @@ -0,0 +1,15 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{a as t,i as n,n as r,t as i}from"./cp-DyslAjVs.js";import{A as a,B as o,D as s,E as c,J as l,P as u,Q as d,R as f,S as p,T as m,V as h,X as g,b as _,dt as v,et as y,ft as ee,h as b,l as x,ot as S,q as C,s as w,t as T,tt as E,v as D,x as O,y as k}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{a as A,i as j,r as M,t as N}from"./AdminTable-TPqS7_4T.js";import{t as P}from"./CraftSelect-CLNDGobq.js";import{t as F}from"./Pane-C776R7L2.js";import{i as I}from"./wayfinder-ghdHxiwr.js";import{t as L}from"./DeleteButton-u_rv7O4A.js";import{t as R}from"./CraftInput-BrzKPRWU.js";import{r as z,t as B}from"./AppLayout-dqX06RZT.js";import{n as V,t as H}from"./useEditableTable-DhZOhixV.js";import{t as te}from"./useSettingsSave-DQO6N1dq.js";import{a as ne,n as U,t as W}from"./EntryTypesController-5B3Ab2tK.js";import{t as G}from"./useReorderableItems-ZX7KVLXh.js";import{t as K}from"./CraftInputHandle-D2OoP5P9.js";import{t as q}from"./useInputGenerator-CYfwYNtt.js";import{a as J}from"./SectionsController-BwGl0slC.js";var Y=[`id`],X=[`name`],Z=[`placement`,`for`],re=s({__name:`Tooltip`,props:{id:{default:()=>`tooltip-${Math.random().toString(36).substring(2,9)}`},icon:{default:`circle-info`},placement:{default:`top`}},setup(e){return(t,n)=>(f(),p(b,null,[k(`craft-button`,{type:`button`,id:e.id,appearance:`plain`,size:`zero`,icon:``,variant:`inherit`},[h(t.$slots,`icon`,{},()=>[k(`craft-icon`,{name:e.icon},null,8,X)])],8,Y),k(`c-tooltip`,{placement:e.placement,for:e.id},[h(t.$slots,`default`)],8,Z)],64))}}),ie=[`data-color`,`data-id`],ae={class:`grid gap-1 justify-items-start`},oe={class:`flex gap-1`},se={class:`font-bold`},ce={class:`cp-code`},le={key:0},ue=[`name`,`label`],de={slot:`suffix`,class:`flex gap-0.5 items-center`},fe=T(s({__name:`EntryTypeChip`,props:{name:{},id:{},handle:{},color:{},icon:{},description:{},indicators:{},actions:{},draggable:{type:Boolean,default:!1}},emits:[`handle-ref`],setup(e,{emit:t}){let n=t,r=S(null);return l(r,e=>{n(`handle-ref`,e)},{immediate:!0}),(t,n)=>(f(),p(`craft-chip`,{"data-color":e.color?.value??e.color??`white`,"data-id":e.id},[e.icon?(f(),p(`craft-icon`,u({key:0,slot:`icon`},e.icon),null,16)):O(``,!0),k(`div`,ae,[k(`div`,oe,[k(`div`,se,E(e.name),1),e.description?(f(),_(re,{key:0},{default:g(()=>[m(E(e.description),1)]),_:1})):O(``,!0)]),k(`div`,ce,E(e.handle),1),e.indicators?(f(),p(`div`,le,[(f(!0),p(b,null,o(e.indicators,e=>(f(),p(`craft-icon`,{name:e.icon,label:e.label,style:y({color:e.iconColor})},null,12,ue))),256))])):O(``,!0)]),k(`div`,de,[e.actions?(f(),_(z,{key:0,actions:e.actions},null,8,[`actions`])):O(``,!0),e.draggable?(f(),p(`span`,{key:1,ref_key:`handleRef`,ref:r,class:`drag-handle`},[h(t.$slots,`drag-handle`,{},()=>[c(j,{variant:`inherit`})],!0)],512)):O(``,!0)])],8,ie))}}),[[`__scopeId`,`data-v-3fa3dea4`]]),pe=s({__name:`CreateEntryTypeButton`,emits:[`success`],setup(t,{emit:n}){let r=n,i=C(`invoker`);function a(){let e=new Craft.CpScreenSlideout(U[`/admin/settings/entry-types/new`]().url);e.on(`submit`,()=>{r(`success`)}),e.on(`close`,()=>{i.value?.focus()})}function o(){a()}return(t,n)=>(f(),p(`craft-button`,{type:`button`,appearance:`filled`,onClick:o,ref_key:`invoker`,ref:i},[n[0]||=k(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),m(` `+E(v(e)(`Create`)),1)],512))}}),Q=T(s({__name:`DragShadow`,props:{height:{},position:{}},setup(e){return(t,n)=>e.height?(f(),p(`div`,{key:0,class:d([`drag-shadow`,`drag-shadow--${e.position??`bottom`}`]),style:y({height:`${e.height}px`})},null,6)):O(``,!0)}}),[[`__scopeId`,`data-v-a1eaf5b2`]]),me={class:`entry-type-list`},he={class:`flex gap-2 mt-3 items-center`},ge={key:0},_e={key:0,type:`button`,slot:`invoker`,appearance:`filled`},ve={slot:`content`},ye={class:`p-2`},be={key:0,class:`p-2`},xe=[`onClick`,`icon`,`checked`,`data-color`],Se=T(s({__name:`EntryTypeSelect`,props:{modelValue:{},entryTypes:{},actions:{}},emits:[`update:modelValue`],setup(t,{emit:n}){let a=n,s=t,{readOnly:l}=I();D(()=>s.modelValue.map(e=>s.types?.find(t=>t.id===e)??null).filter(Boolean));let u=S(``),h=D(()=>s.entryTypes?.filter(e=>e.name.includes(u.value)||e.handle.includes(u.value)));function y(e,t){let n=[...s.modelValue],[r]=n.splice(e,1);n.splice(t,0,r),a(`update:modelValue`,n)}function x(e){return e===0?`first`:e===s.modelValue.length-1?`last`:`middle`}let{setItemRef:C,setHandleRef:w,getDragState:T,getDropState:A}=G({getItemIds:()=>s.modelValue.map(e=>e.id),onReorder:y,enabled:()=>s.modelValue.length>1});function N(e){s.modelValue.find(t=>t.id===e.id)?P(e.id):a(`update:modelValue`,[...s.modelValue,e])}function P(e){a(`update:modelValue`,[...s.modelValue.filter(t=>t.id!==e)])}let F=S(void 0),L=S({});function z(t,{namespace:n=``,id:r=null}){let i=` +
+
+ ${n?``:``} + ${r?``:``} + ${t} +
+
+
+ + ${e(`Close`)} + + ${e(`Apply`)} +
+ `,o=new Craft.Slideout(i,{containerElement:`form`,containerAttributes:{action:W().url,method:`post`,novalidate:``,class:`entry-type-override-settings`}}),c=o.$container[0];if(c)return c.addEventListener(`submit`,async e=>{e.preventDefault();let t=e.target,n=new FormData(t),r={id:n.get(`id`),settingsNamespace:n.get(`settingsNamespace`),settings:new URLSearchParams(n).toString()};try{let{data:e}=await Craft.sendActionRequest(`POST`,W().url,{data:r});L.value={...L.value,[e.config.id]:e.config},a(`update:modelValue`,s.modelValue.map(t=>t.id===e.entryType.id?{...t,...e.entryType}:t)),o.close()}catch(e){console.error(e)}}),c.querySelectorAll(`[data-action]`).forEach(e=>{e.addEventListener(`click`,e=>{let t=e.target;if(t)switch(t.dataset.action){case`close`:o.close();break}})}),o.on(`close`,()=>{o.destroy()}),o}async function B(e){try{let t=s.modelValue.find(t=>t.id===e),{data:n}=await Craft.sendActionRequest(`POST`,ne().url,{data:{id:e,name:t?.name,handle:t?.handle,description:t?.description}}),{settingsHtml:a,headHtml:o,bodyHtml:c,namespace:l}=n;F.value=z(a,{namespace:l,id:e}),o&&await r(o),c&&await i(c),Craft?.initUiElements(F.value?.$container)}catch(e){throw Craft.cp?.displayError?.(e?.response?.data?.message),e}}return(n,r)=>(f(),p(b,null,[k(`div`,me,[(f(!0),p(b,null,o(t.modelValue,(n,r)=>(f(),p(`div`,{key:n.id,ref_for:!0,ref:e=>v(C)(e,n.id),class:d([`entry-type-item`,{"entry-type-item--dragging":v(T)(n.id).type===`is-dragging`,"entry-type-item--hidden":v(T)(n.id).type===`is-dragging-and-left-self`}])},[v(A)(n.id).type===`is-over`&&v(A)(n.id).closestEdge===`top`?(f(),_(Q,{key:0,height:v(A)(n.id).draggingRect?.height},null,8,[`height`])):O(``,!0),c(fe,{name:n.name,id:n.id,handle:n.handle,color:n.color,icon:n.icon,description:n.description,draggable:t.modelValue.length>1,indicators:n.indicators,actions:[{label:v(e)(`Settings`),icon:`gear`,onClick:()=>B(n.id)},...[v(l)?null:{label:v(e)(`Remove`),variant:`danger`,icon:`x`,onClick:()=>P(n.id)}]],onHandleRef:e=>v(w)(e,n.id)},{"drag-handle":g(()=>[v(l)?O(``,!0):(f(),_(j,{key:0,variant:`inherit`,position:x(r),"onClick:up":e=>y(r,r-1),"onClick:down":e=>y(r,r+1)},null,8,[`position`,`onClick:up`,`onClick:down`]))]),_:2},1032,[`name`,`id`,`handle`,`color`,`icon`,`description`,`draggable`,`indicators`,`actions`,`onHandleRef`]),v(A)(n.id).type===`is-over`&&v(A)(n.id).closestEdge===`bottom`?(f(),_(Q,{key:1,height:v(A)(n.id).draggingRect?.height},null,8,[`height`])):O(``,!0)],2))),128))]),k(`div`,he,[t.entryTypes?.length?(f(),p(`craft-action-menu`,ge,[v(l)?O(``,!0):(f(),p(`craft-button`,_e,[r[2]||=k(`craft-icon`,{name:`chevron-down`,slot:`prefix`},null,-1),m(` `+E(v(e)(`Choose`)),1)])),k(`div`,ve,[k(`div`,ye,[c(R,{label:v(e)(`Search`),modelValue:u.value,"onUpdate:modelValue":r[0]||=e=>u.value=e,"label-sr-only":``},{default:g(()=>[...r[3]||=[k(`craft-icon`,{name:`search`,slot:`prefix`},null,-1)]]),_:1},8,[`label`,`modelValue`])]),r[4]||=k(`hr`,{class:`m-0`},null,-1),h.value.length<1?(f(),p(`div`,be,[c(M,{template:`No entry types match “{query}”`,params:{query:u.value}},null,8,[`params`])])):(f(!0),p(b,{key:1},o(h.value,e=>(f(),p(`craft-action-item`,{key:e.id,onClick:t=>N(e),type:`checkbox`,icon:e.icon??`empty`,checked:t.modelValue.find(t=>t.id===e.id),"data-color":e.color?.value??`white`},[k(`div`,null,[m(E(e.name)+` `,1),k(`pre`,null,E(e.handle),1)])],8,xe))),128))])])):O(``,!0),v(l)?O(``,!0):(f(),_(pe,{key:1,onSuccess:r[1]||=e=>v(ee).reload({only:[`entryTypes`]})}))])],64))}}),[[`__scopeId`,`data-v-a1790f8e`]]),Ce=s({__name:`SiteSettingsTable`,props:{modelValue:{},selectedType:{},isMultisite:{type:Boolean,default:!1},isHeadless:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=n,i=t,o=x(),s=D(()=>o.props.homepageUri),l=D(()=>o.props.templateOptions),u=D(()=>({name:!0,enabled:i.isMultisite,singleHomepage:i.selectedType===`single`,singleUri:i.selectedType===`single`,uriFormat:i.selectedType!==`single`,template:!i.isHeadless,enabledByDefault:i.selectedType!==`single`})),{table:d}=H({data:()=>i.modelValue,key:`handle`,name:`sites`,columnVisibility:()=>u.value,onChange:e=>r(`update:modelValue`,e),columns:({columnHelper:t})=>[t.accessor(`name`,{header:e(`Site`),cell:({getValue:e})=>e(),meta:{cellTag:`th`,trackSize:`0.25fr`}}),t.lightswitch(`enabled`,{header:e(`Enabled`),meta:{trackSize:`80px`,cellClass:`bg-[var(--c-color-neutral-fill-quiet)]`},label:e(`Enabled`)}),t.checkbox(`singleHomepage`,{header:()=>a(`craft-icon`,{name:`home`,label:e(`Homepage`)}),meta:{trackSize:`44px`,cellClass:`text-center`,headerClass:`justify-center`},onChange:(e,{row:t})=>{if(e){let e={...i.modelValue};e[t.original.handle].singleUri=s.value??``,r(`update:modelValue`,e)}else{let e={...i.modelValue};e[t.original.handle].singleUri=``,r(`update:modelValue`,e)}},disabled:e=>!e.original.enabled}),t.text(`singleUri`,{header:e(`URI`),class:`font-mono text-xs`,placeholder:e(`Leave blank if the entry doesn't have a URL`),disabled:e=>!e.original.enabled||e.original.singleHomepage,meta:{headerTip:e(`What the entry URI should be for the site. Leave blank if the entry doesn’t have a URL.`)}}),t.text(`uriFormat`,{header:e(`Entry URI Format`),class:`font-mono text-xs`,placeholder:e(`Leave blank if the entry doesn't have a URL`),disabled:e=>!e.original.enabled,meta:{headerTip:e(`What entry URIs should look like for the site. Leave blank if entries don’t have URLs.`)}}),t.autocomplete(`template`,{header:e(`Template`),class:`w-full flex-1 font-mono text-xs !px-[var(--_cell-spacing)]`,options:l.value,disabled:e=>!e.original.enabled,meta:{headerTip:e(`Which template should be loaded when an entry’s URL is requested.`)}}),t.lightswitch(`enabledByDefault`,{header:e(`Default Status`),meta:{trackSize:`120px`},disabled:e=>!e.original.enabled})]});return(e,t)=>(f(),_(F,{padding:0,appearance:`raised`},{default:g(()=>[c(N,{table:v(d),spacing:v(A).Relaxed,reorderable:!1},null,8,[`table`,`spacing`])]),_:1}))}}),we={key:0,class:`border border-dashed border-neutral-border-quiet rounded-bl-md rounded-br-md border-t-0 p-1 pt-2 -mt-1`},Te=s({__name:`PreviewTargetsTable`,props:{modelValue:{},name:{default:`previewTargets`},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=n,i=t,{table:o}=H({data:()=>i.modelValue,name:i.name,onChange:e=>r(`update:modelValue`,e),columns:({columnHelper:t})=>[t.text(`label`,{header:e(`Label`),disabled:()=>i.disabled}),t.text(`urlFormat`,{header:e(`URL Format`),class:`font-mono text-xs`,disabled:()=>i.disabled}),t.lightswitch(`refresh`,{header:e(`Auto-Refresh`),disabled:()=>i.disabled}),t.display({id:`actions`,header:e(`Actions`),meta:{headerSrOnly:!0},cell:({row:e})=>a(`div`,{class:`flex justify-end gap-2`},[a(L,{disabled:i.disabled,onClick:()=>{let t=[...i.modelValue];t.splice(e.index,1),r(`update:modelValue`,t)}})])})]});function s(){r(`update:modelValue`,[...i.modelValue,{label:``,urlFormat:``,refresh:!0}])}return(n,r)=>(f(),p(b,null,[c(F,{padding:0,appearance:`raised`},{default:g(()=>[c(N,{table:v(o),spacing:v(A).Relaxed,reorderable:!1},null,8,[`table`,`spacing`])]),_:1}),t.disabled?O(``,!0):(f(),p(`div`,we,[k(`craft-button`,{type:`button`,size:`small`,onClick:s,class:`w-full`,appearance:`plain`},E(v(e)(`Add a target`)),1)]))],64))}}),Ee={class:`grid gap-3`},De=[`value`],Oe={slot:`input`},ke=[`value`],Ae={key:0,slot:`after`},je={variant:`danger`,appearance:`plain`,class:`p-0`,icon:`triangle-exclamation`},Me={class:`grid gap-3`},Ne={class:`font-bold text-sm`},Pe={class:`text-sm text-neutral-500 mb-2`},$={class:`grid gap-6`},Fe={class:`font-bold text-sm`},Ie={class:`text-sm text-neutral-500 mb-2`},Le={slot:`input`},Re=[`value`],ze={key:0,slot:`after`},Be={variant:`danger`,appearance:`plain`,class:`p-0`,icon:`triangle-exclamation`},Ve={class:`grid gap-3`},He={slot:`input`},Ue=[`value`],We={class:`grid gap-3`},Ge={class:`font-bold text-sm`},Ke={class:`text-sm text-neutral-500 mb-2`},qe={class:`grid gap-3`},Je=s({__name:`SettingsSectionsEditPage`,props:{title:{},crumbs:{},section:{},brandNew:{type:Boolean},typeOptions:{},entryTypes:{},propagationOptions:{},placementOptions:{},siteSettings:{},isMultiSite:{type:Boolean},headlessMode:{type:Boolean},flash:{},errors:{}},setup(r){let i=r,{readOnly:a}=I(),s=w({sectionId:i.section.id,name:i.section.name??``,handle:i.section.handle??``,type:i.section.type,entryTypes:(i.section.entryTypes??[]).map(({actions:e,...t})=>t),enableVersioning:i.section.enableVersioning,maxAuthors:i.section.maxAuthors??1,maxLevels:i.section.maxLevels??``,propagationMethod:i.section.propagationMethod,defaultPlacement:i.section.defaultPlacement,previewTargets:i.section.previewTargets??[],sites:Object.fromEntries(i.siteSettings.map(e=>[e.handle,{enabled:e.enabled,siteId:e.siteId??null,name:e.name??``,singleHomepage:!1,singleUri:e.uriFormat??``,uriFormat:e.uriFormat??``,template:e.template??``,enabledByDefault:e.enabledByDefault}]))}),l=D(()=>s.type===`structure`),u=D(()=>s.type===`channel`||s.type===`structure`),d=q(()=>s.name,e=>s.handle=t(e)),m=q(()=>s.name,e=>{if(!s.sites)return;let t=n(e);s.sites=Object.fromEntries(Object.entries(s.sites).map(([e,n])=>[e,{...n,singleUri:t&&!n.singleHomepage?`${t}`:n.singleUri,uriFormat:t?`${t}/{slug}`:``,template:t?`${t}/_entry.twig`:``}]))});i.brandNew||(d.stop(),m.stop());let{save:h}=te(s,J);return(t,n)=>(f(),_(B,{title:r.title,debug:{form:v(s),$props:t.$props},form:v(s),onSave:v(h)},{default:g(()=>[c(F,{appearance:`raised`},{default:g(()=>[k(`div`,Ee,[r.section.id?(f(),p(`input`,{key:0,type:`hidden`,name:`sectionId`,value:r.section.id},null,8,De)):O(``,!0),c(R,{label:v(e)(`Name`),"help-text":v(e)(`What this section will be called in the control panel.`),id:`name`,name:`name`,modelValue:v(s).name,"onUpdate:modelValue":n[0]||=e=>v(s).name=e,disabled:v(a),error:r.errors?.name,required:``,autofocus:``},null,8,[`label`,`help-text`,`modelValue`,`disabled`,`error`]),c(K,{label:v(e)(`Handle`),"help-text":v(e)(`How you'll refer to this section in the templates.`),id:`handle`,name:`handle`,modelValue:v(s).handle,"onUpdate:modelValue":n[1]||=e=>v(s).handle=e,disabled:v(a),error:r.errors?.handle,required:``,onChange:n[2]||=e=>v(d).markDirty()},null,8,[`label`,`help-text`,`modelValue`,`disabled`,`error`]),c(V,{label:v(e)(`Enable versioning for entries in this section`),id:`enableVersioning`,name:`enableVersioning`,disabled:v(a),modelValue:v(s).enableVersioning,"onUpdate:modelValue":n[3]||=e=>v(s).enableVersioning=e},null,8,[`label`,`disabled`,`modelValue`]),c(P,{label:v(e)(`Section Type`),"help-text":v(e)(`What type of section is this?`),id:`type`,name:`type`,modelValue:v(s).type,"onUpdate:modelValue":n[4]||=e=>v(s).type=e,disabled:v(a),error:r.errors?.type},{default:g(()=>[k(`select`,Oe,[(f(!0),p(b,null,o(r.typeOptions,e=>(f(),p(`option`,{key:e.value,value:e.value},E(e.label),9,ke))),128))]),r.section.id&&v(s).type!==`single`?(f(),p(`div`,Ae,[k(`craft-callout`,je,E(v(e)(`Changing this may result in data loss.`)),1)])):O(``,!0)]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`,`error`])]),n[13]||=k(`hr`,{class:`my-6`},null,-1),k(`div`,Me,[k(`div`,null,[k(`h3`,Ne,E(v(e)(`Entry Types`)),1),k(`p`,Pe,E(v(e)(`Choose the types of entries that can be included in this section.`)),1),c(Se,{"entry-types":r.entryTypes,modelValue:v(s).entryTypes,"onUpdate:modelValue":n[5]||=e=>v(s).entryTypes=e},null,8,[`entry-types`,`modelValue`])])]),n[14]||=k(`hr`,{class:`my-6`},null,-1),k(`div`,$,[k(`div`,null,[k(`h3`,Fe,E(v(e)(`Site settings`)),1),k(`p`,Ie,E(v(e)(`Choose which sites this section should be available in, and configure the site-specific settings.`)),1),c(Ce,{"is-multisite":r.isMultiSite,"is-headless":r.headlessMode,"selected-type":v(s).type,modelValue:v(s).sites,"onUpdate:modelValue":n[6]||=e=>v(s).sites=e},null,8,[`is-multisite`,`is-headless`,`selected-type`,`modelValue`])]),r.isMultiSite&&u.value?(f(),_(P,{key:0,label:v(e)(`Propagation Method`),"help-text":v(e)(`Of the enabled sites above, which sites should entries in this section be saved to?`),id:`propagationMethod`,name:`propagationMethod`,modelValue:v(s).propagationMethod,"onUpdate:modelValue":n[7]||=e=>v(s).propagationMethod=e,disabled:v(a)},{default:g(()=>[k(`select`,Le,[(f(!0),p(b,null,o(r.propagationOptions,e=>(f(),p(`option`,{key:e.value,value:e.value},E(e.label),9,Re))),128))]),r.section.id&&r.section.propagationMethod!==`none`&&r.siteSettings.length>1?(f(),p(`div`,ze,[k(`craft-callout`,Be,E(v(e)(`Changing this may result in data loss.`)),1)])):O(``,!0)]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`])):O(``,!0)]),l.value?(f(),p(b,{key:0},[n[12]||=k(`hr`,{class:`my-6`},null,-1),k(`div`,Ve,[c(R,{label:v(e)(`Max Levels`),"help-text":v(e)(`The maximum number of levels this section can have.`),id:`maxLevels`,name:`maxLevels`,modelValue:v(s).maxLevels,"onUpdate:modelValue":n[8]||=e=>v(s).maxLevels=e,disabled:v(a),inputmode:`numeric`,size:`5`,error:r.errors?.maxLevels},null,8,[`label`,`help-text`,`modelValue`,`disabled`,`error`]),c(P,{label:v(e)(`Default {type} Placement`,{type:v(e)(`Entry`)}),"help-text":v(e)(`Where new {type} should be placed by default in the structure.`,{type:v(e)(`entries`)}),id:`defaultPlacement`,name:`defaultPlacement`,modelValue:v(s).defaultPlacement,"onUpdate:modelValue":n[9]||=e=>v(s).defaultPlacement=e,disabled:v(a)},{default:g(()=>[k(`select`,He,[(f(!0),p(b,null,o(r.placementOptions,e=>(f(),p(`option`,{key:e.value,value:e.value},E(e.label),9,Ue))),128))])]),_:1},8,[`label`,`help-text`,`modelValue`,`disabled`])])],64)):O(``,!0),n[15]||=k(`hr`,{class:`my-6`},null,-1),k(`div`,We,[k(`div`,null,[k(`h3`,Ge,E(v(e)(`Preview Targets`)),1),k(`p`,Ke,E(v(e)(`Locations that should be available for previewing entries in this section.`)),1),c(Te,{modelValue:v(s).previewTargets,"onUpdate:modelValue":n[10]||=e=>v(s).previewTargets=e,disabled:v(a)},null,8,[`modelValue`,`disabled`])])]),n[16]||=k(`hr`,{class:`my-6`},null,-1),k(`div`,qe,[c(R,{label:v(e)(`Max Authors`),"help-text":v(e)(`The maximum number of authors that entries in this section can have.`),id:`maxAuthors`,name:`maxAuthors`,modelValue:v(s).maxAuthors,"onUpdate:modelValue":n[11]||=e=>v(s).maxAuthors=e,disabled:v(a),inputmode:`numeric`,maxlength:`5`,error:r.errors?.maxAuthors},null,8,[`label`,`help-text`,`modelValue`,`disabled`,`error`])])]),_:1})]),_:1},8,[`title`,`debug`,`form`,`onSave`]))}});export{Je as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsSectionsIndexPage-BY1HAuEa.js b/resources/build/assets/SettingsSectionsIndexPage-BY1HAuEa.js deleted file mode 100644 index ba1af26f1d8..00000000000 --- a/resources/build/assets/SettingsSectionsIndexPage-BY1HAuEa.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{E as t,L as n,T as r,Y as i,at as a,b as o,dt as s,et as c,k as l,p as u,s as d,ut as f,v as p,w as m,x as h,y as g}from"./_plugin-vue_export-helper-C3orD-yt.js";import{l as _,s as v,t as y}from"./AdminTable-BaWDz4rn.js";import{o as b}from"./InlineFlash-Mr7imUWg.js";import{t as x}from"./Pane-CyLhaZAB.js";import{i as S}from"./wayfinder-CyAPyHKQ.js";import{t as C}from"./createCraftColumnHelper-DQvg7ogx.js";import{n as w,t as T}from"./AppLayout-CbgDw9ix.js";import{n as E,r as D,t as O}from"./useServerSort-3m22Xmzt.js";import{i as k,n as A,r as j,t as M}from"./SectionsController-DXvTOXL3.js";var N=[`loading`],P=[`label`],F=t({__name:`DeleteSectionButton`,props:{section:{}},setup(t){let r=t,i=d({id:r.section.id});function a(){confirm(e(`Are you sure you want to delete “{name}” and all its entries?`,{name:r.section.name}))&&i.submit(A())}return(t,r)=>(n(),h(`form`,{onSubmit:u(a,[`prevent`]),method:`post`},[p(`craft-button`,{variant:`danger`,type:`submit`,size:`small`,icon:``,appearance:`plain`,loading:f(i).processing},[p(`craft-icon`,{label:f(e)(`Delete section`),name:`x`},null,8,P)],8,N)],32))}}),I=t({__name:`SettingsSectionsIndexPage`,props:{title:{},data:{},pagination:{},sort:{},searchTerm:{},emptyMessage:{}},setup(t){let u=t,{readOnly:d}=S(),h=a(u.searchTerm??``),A=C(),N=a([A.accessor(`name`,{header:e(`Name`),cell:({row:e,getValue:t})=>l(`a`,{class:`font-bold`,href:j[`/admin/settings/sections/{section}`](e.original.id).url},t())}),A.accessor(`handle`,{header:e(`Handle`),cell:({getValue:e})=>l(`craft-copy-attribute`,{value:e()},e())}),A.accessor(`type`,{header:e(`Type`)}),A.actions(({row:e})=>[l(F,{section:e.original})])]),{paginationState:P,paginationConfig:I}=D({initialState:u.pagination,onChange:({query:e})=>{s.visit(k({query:e}),{only:[`data`,`pagination`],preserveScroll:!0})}}),{sortingState:L,sortingConfig:R}=O({initialState:u.sort,onChange:({query:e})=>{s.visit(k({query:e}),{only:[`data`,`sort`],preserveScroll:!0})}}),z=v({get data(){return u.data},get columns(){return N.value},getCoreRowModel:_(),state:{get pagination(){return P.value},get sorting(){return L.value},get columnVisibility(){return{actions:!d}}},...I,...R});return(a,s)=>(n(),g(T,{title:t.title},{actions:i(()=>[f(d)?o(``,!0):(n(),g(b,{key:0,as:`craft-button`,variant:`primary`,href:f(M)()},{default:i(()=>[s[1]||=p(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),m(` `+c(f(e)(`New section`)),1)]),_:1},8,[`href`]))]),default:i(()=>[f(d)?(n(),g(w,{key:0})):o(``,!0),r(x,{padding:0,appearance:`raised`},{default:i(()=>[r(y,{spacing:`relaxed`,title:t.title,table:f(z),reorderable:!1,from:t.pagination.from,to:t.pagination.to,total:t.pagination.total,"enable-adjust-page-size":!0},{"search-form":i(()=>[r(E,{action:f(k)(),modelValue:h.value,"onUpdate:modelValue":s[0]||=e=>h.value=e},null,8,[`action`,`modelValue`])]),_:1},8,[`title`,`table`,`from`,`to`,`total`])]),_:1})]),_:1},8,[`title`]))}});export{I as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsSectionsIndexPage-CXz2xYLU.js b/resources/build/assets/SettingsSectionsIndexPage-CXz2xYLU.js new file mode 100644 index 00000000000..bf8381e7e6c --- /dev/null +++ b/resources/build/assets/SettingsSectionsIndexPage-CXz2xYLU.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{A as t,D as n,E as r,R as i,S as a,T as o,X as s,b as c,dt as l,ft as u,m as d,ot as f,s as p,tt as m,x as h,y as g}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{c as _,o as v,t as y}from"./AdminTable-TPqS7_4T.js";import{t as b}from"./Pane-C776R7L2.js";import{s as x}from"./InlineFlash-Duhr9n8-.js";import{i as S}from"./wayfinder-ghdHxiwr.js";import{t as C}from"./createCraftColumnHelper-CPPRJRXc.js";import{n as w,t as T}from"./AppLayout-dqX06RZT.js";import{n as E,r as D,t as O}from"./useServerSort-DsyncXBl.js";import{i as k,n as A,r as j,t as M}from"./SectionsController-BwGl0slC.js";var N=[`loading`],P=[`label`],F=n({__name:`DeleteSectionButton`,props:{section:{}},setup(t){let n=t,r=p({id:n.section.id});function o(){confirm(e(`Are you sure you want to delete “{name}” and all its entries?`,{name:n.section.name}))&&r.submit(A())}return(t,n)=>(i(),a(`form`,{onSubmit:d(o,[`prevent`]),method:`post`},[g(`craft-button`,{variant:`danger`,type:`submit`,size:`small`,icon:``,appearance:`plain`,loading:l(r).processing},[g(`craft-icon`,{label:l(e)(`Delete section`),name:`x`},null,8,P)],8,N)],32))}}),I=n({__name:`SettingsSectionsIndexPage`,props:{title:{},data:{},pagination:{},sort:{},searchTerm:{},emptyMessage:{}},setup(n){let a=n,{readOnly:d}=S(),p=f(a.searchTerm??``),A=C(),N=f([A.accessor(`name`,{header:e(`Name`),cell:({row:e,getValue:n})=>t(`a`,{class:`font-bold`,href:j[`/admin/settings/sections/{section}`](e.original.id).url},n())}),A.accessor(`handle`,{header:e(`Handle`),cell:({getValue:e})=>t(`craft-copy-attribute`,{value:e()},e())}),A.accessor(`type`,{header:e(`Type`)}),A.actions(({row:e})=>[t(F,{section:e.original})])]),{paginationState:P,paginationConfig:I}=D({initialState:a.pagination,onChange:({query:e})=>{u.visit(k({query:e}),{only:[`data`,`pagination`],preserveScroll:!0})}}),{sortingState:L,sortingConfig:R}=O({initialState:a.sort,onChange:({query:e})=>{u.visit(k({query:e}),{only:[`data`,`sort`],preserveScroll:!0})}}),z=v({get data(){return a.data},get columns(){return N.value},getCoreRowModel:_(),state:{get pagination(){return P.value},get sorting(){return L.value},get columnVisibility(){return{actions:!d}}},...I,...R});return(t,a)=>(i(),c(T,{title:n.title},{actions:s(()=>[l(d)?h(``,!0):(i(),c(x,{key:0,as:`craft-button`,variant:`primary`,href:l(M)()},{default:s(()=>[a[1]||=g(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),o(` `+m(l(e)(`New section`)),1)]),_:1},8,[`href`]))]),default:s(()=>[l(d)?(i(),c(w,{key:0})):h(``,!0),r(b,{padding:0,appearance:`raised`},{default:s(()=>[r(y,{spacing:`relaxed`,title:n.title,table:l(z),reorderable:!1,from:n.pagination.from,to:n.pagination.to,total:n.pagination.total,"enable-adjust-page-size":!0},{"search-form":s(()=>[r(E,{action:l(k)(),modelValue:p.value,"onUpdate:modelValue":a[0]||=e=>p.value=e},null,8,[`action`,`modelValue`])]),_:1},8,[`title`,`table`,`from`,`to`,`total`])]),_:1})]),_:1},8,[`title`]))}});export{I as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsSitesEdit-BAw7_I9-.js b/resources/build/assets/SettingsSitesEdit-BAw7_I9-.js new file mode 100644 index 00000000000..d8c5ce77fba --- /dev/null +++ b/resources/build/assets/SettingsSitesEdit-BAw7_I9-.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{a as t,o as n}from"./cp-DyslAjVs.js";import{B as r,D as i,E as a,R as o,S as s,T as c,X as l,Z as u,b as d,dt as f,h as p,l as m,ot as h,p as g,q as _,s as v,tt as y,v as b,x,y as S}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{t as C}from"./Pane-C776R7L2.js";import{t as w}from"./Badge-CfJUHywr.js";import{i as T}from"./wayfinder-ghdHxiwr.js";import{n as E}from"./dist-BM1n-Nbt.js";import{t as D}from"./AppLayout-dqX06RZT.js";import{t as O}from"./CraftCombobox-DdSZuyjg.js";import{t as k}from"./useSettingsSave-DQO6N1dq.js";import{t as ee}from"./transformBooleanOptions-BQMCf7jC.js";import{t as A}from"./useInputGenerator-CYfwYNtt.js";import{a as j,t as M}from"./DeleteSiteModal-BfYzzTb9.js";var te=[`label`,`help-text`,`.modelValue`,`disabled`],ne={slot:`input`},re=[`value`],ie={key:0,class:`error-list`,slot:`feedback`},N={key:1,slot:`after`},P={variant:`danger`,appearance:`plain`,class:`p-0`,icon:`triangle-exclamation`},F={class:`sr-only`},I={slot:`after`},L={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},R={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},z=[`label`,`help-text`,`has-feedback-for`,`disabled`],B={slot:`feedback`},V={key:0,class:`error-list`},H=[`innerHTML`],U={slot:`after`},W={key:0,variant:`warning`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},G=[`innerHTML`],K=[`label`,`help-text`,`disabled`,`checked`],q=[`label`,`disabled`,`checked`],J={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},Y={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},X=i({__name:`SiteFields`,props:{inertiaForm:{}},setup(i){let h=i,v=m(),{readOnly:C}=T(),w=b(()=>h.inertiaForm),E=b(()=>v.props.isMultisite),D=b(()=>v.props.groupOptions),k=b(()=>v.props.nameSuggestions),j=b(()=>v.props.languageOptions),M=b(()=>ee(v.props.booleanEnvOptions)),X=b(()=>v.props.baseUrlSuggestions),Z=b(()=>v.props.site);_(`handle`),_(`baseUrl`);let Q=A(()=>w.value.name,e=>w.value.handle=t(e)),$=A(()=>w.value.name,e=>w.value.baseUrl=n(e,{prefix:`$`,suffix:`_URL`}));return w.value.id&&(Q.stop(),$.stop()),(t,n)=>(o(),s(p,null,[w.value.id?u((o(),s(`input`,{key:0,name:`id`,"onUpdate:modelValue":n[0]||=e=>w.value.id=e,type:`hidden`},null,512)),[[g,w.value.id]]):x(``,!0),S(`craft-select`,{label:f(e)(`Group`),"help-text":f(e)(`Which group should this site belong to?`),name:`group`,id:`group`,".modelValue":w.value.group,onModelValueChanged:n[1]||=e=>w.value.group=e.target?.modelValue,disabled:f(C)},[S(`select`,ne,[(o(!0),s(p,null,r(D.value,e=>(o(),s(`option`,{key:e.value,value:e.value},y(e.label),9,re))),128))]),w.value.errors?.group?(o(),s(`ul`,ie,[(o(!0),s(p,null,r(w.value.errors?.group,e=>(o(),s(`li`,null,y(e),1))),256))])):x(``,!0),w.value?.id&&E.value?(o(),s(`div`,N,[S(`craft-callout`,P,[S(`span`,F,y(f(e)(`Warning:`)),1),c(` `+y(f(e)(`Changing this may result in data loss.`)),1)])])):x(``,!0)],40,te),a(O,{modelValue:w.value.name,"onUpdate:modelValue":n[2]||=e=>w.value.name=e,options:k.value,label:f(e)(`Name`),id:`name`,name:`name`,disabled:f(C),error:w.value.errors?.name},{default:l(()=>[S(`div`,I,[S(`craft-callout`,L,[c(y(f(e)(`This can begin with an environment variable.`))+` `,1),S(`a`,R,y(f(e)(`Learn more`)),1)])])]),_:1},8,[`modelValue`,`options`,`label`,`disabled`,`error`]),u(S(`craft-input-handle`,{label:f(e)(`Handle`),"help-text":f(e)(`How you’ll refer to this site in the templates.`),ref:`handle`,id:`handle`,name:`handle`,"has-feedback-for":w.value.errors?.handle?`error`:``,disabled:f(C),"onUpdate:modelValue":n[3]||=e=>w.value.handle=e},[S(`div`,B,[w.value.errors?.handle?(o(),s(`ul`,V,[S(`li`,null,y(w.value.errors.handle),1)])):x(``,!0)])],8,z),[[g,w.value.handle]]),a(O,{modelValue:w.value.language,"onUpdate:modelValue":n[4]||=e=>w.value.language=e,label:f(e)(`Language`),name:`language`,id:`site-language`,"help-text":f(e)(`The language content in this site will use.`),options:j.value,disabled:f(C),error:w.value.errors?.language,"require-option-match":!0},{after:l(()=>[S(`craft-callout`,{variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`,innerHTML:f(e)(`This can be set to an environment variable with a valid language ID ({examples}).`,{examples:`en/en-GB`})},null,8,H)]),_:1},8,[`modelValue`,`label`,`help-text`,`options`,`disabled`,`error`]),E.value||!Z.value.id?(o(),d(O,{key:1,label:f(e)(`Status`),name:`enabled`,id:`enabled`,disabled:f(C),modelValue:w.value.enabled,"onUpdate:modelValue":n[5]||=e=>w.value.enabled=e,"require-option-match":!0,options:M.value,error:w.value.errors?.enabled},{default:l(()=>[S(`div`,U,[Z.value.primary?(o(),s(`craft-callout`,W,y(f(e)(`The primary site cannot be disabled.`)),1)):x(``,!0),S(`craft-callout`,{variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`,innerHTML:f(e)(`This can be set to an environment variable with a boolean value ({examples})`,{examples:`yes/no/true/false/on/off/0/1`})},null,8,G)])]),_:1},8,[`label`,`disabled`,`modelValue`,`options`,`error`])):x(``,!0),(E.value||!Z.value.id)&&!Z.value.primary?(o(),s(p,{key:2},[Z.value.primary?x(``,!0):(o(),s(`craft-switch`,{key:0,label:f(e)(`Make this the primary site`),"help-text":f(e)(`The primary site will be loaded by default on the front end.`),disabled:f(C),checked:w.value.primary,onCheckedChanged:n[6]||=e=>w.value.primary=e.target?.checked},null,40,K))],64)):x(``,!0),S(`craft-switch`,{label:f(e)(`This site has its own base URL`),id:`has-urls`,name:`hasUrls`,disabled:f(C),checked:w.value.hasUrls,onCheckedChanged:n[7]||=e=>w.value.hasUrls=e.target?.checked},null,40,q),w.value.hasUrls?(o(),d(O,{key:3,modelValue:w.value.baseUrl,"onUpdate:modelValue":n[8]||=e=>w.value.baseUrl=e,label:f(e)(`Base URL`),"help-text":f(e)(`The base URL for the site.`),id:`base-url`,name:`baseUrl`,error:w.value.errors?.baseUrl,options:X.value,disabled:f(C)},{after:l(()=>[S(`craft-callout`,J,[c(y(f(e)(`This can begin with an environment variable or alias.`))+` `,1),S(`a`,Y,y(f(e)(`Learn more`)),1)])]),_:1},8,[`modelValue`,`label`,`help-text`,`error`,`options`,`disabled`])):x(``,!0)],64))}}),Z={key:0,size:`small`,inline:``},Q={class:`grid gap-3`},$=i({__name:`SettingsSitesEdit`,props:{title:{},crumbs:{},site:{},groupId:{},flash:{},errors:{},isMultisite:{type:Boolean}},setup(t){let n=t,r=v({siteId:n.site.id??null,group:n.groupId,name:n.site.nameRaw,handle:n.site.handle,language:n.site.languageRaw,enabled:n.site.enabledRaw,hasUrls:n.site.hasUrls,primary:n.site.primary,baseUrl:n.site.baseUrlRaw??``}),{readOnly:i}=T();E(`keydown`,e=>{(e.metaKey||e.ctrlKey)&&e.key===`s`&&(e.preventDefault(),u())});let{save:u}=k(r,j),m=h(!1);return(i,h)=>(o(),s(p,null,[a(D,{title:t.title,form:f(r),onSave:f(u)},{"title-badge":l(()=>[a(w,{variant:t.site.enabled?`success`:`default`},{default:l(()=>[c(y(t.site.enabled?f(e)(`Enabled`):f(e)(`Disabled`)),1)]),_:1},8,[`variant`]),t.site.primary?(o(),s(`craft-callout`,Z,[S(`span`,null,y(f(e)(`Primary`)),1)])):x(``,!0)]),default:l(()=>[a(C,{appearance:`raised`},{default:l(()=>[S(`div`,Q,[a(X,{"inertia-form":f(r)},null,8,[`inertia-form`])])]),_:1})]),_:1},8,[`title`,`form`,`onSave`]),t.site.primary?x(``,!0):(o(),d(M,{key:0,onClose:h[0]||=e=>m.value=!1,open:m.value,site:n.site},null,8,[`open`,`site`]))],64))}});export{$ as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsSitesEdit-DCJ9R0zL.js b/resources/build/assets/SettingsSitesEdit-DCJ9R0zL.js deleted file mode 100644 index 849acf4af37..00000000000 --- a/resources/build/assets/SettingsSitesEdit-DCJ9R0zL.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{a as t,o as n}from"./cp-CoDnSlcH.js";import{E as r,K as i,L as a,T as o,X as s,Y as c,_ as l,at as u,b as d,et as f,f as p,l as m,m as h,s as g,ut as _,v,w as y,x as b,y as x,z as S}from"./_plugin-vue_export-helper-C3orD-yt.js";import{t as C}from"./Pane-CyLhaZAB.js";import{t as w}from"./Badge-DpS_C1p3.js";import{i as T}from"./wayfinder-CyAPyHKQ.js";import{n as E}from"./dist-oC9Sbb9R.js";import{t as D}from"./AppLayout-CbgDw9ix.js";import{t as O}from"./CraftCombobox-CF-lmAE3.js";import{t as k}from"./useSettingsSave-BLqVG46P.js";import{t as ee}from"./transformBooleanOptions-CCFWcZ4p.js";import{t as A}from"./useInputGenerator-C97rdGdo.js";import{a as j,t as M}from"./DeleteSiteModal-wZU8P6Q1.js";var te=[`label`,`help-text`,`.modelValue`,`disabled`],ne={slot:`input`},re=[`value`],ie={key:0,class:`error-list`,slot:`feedback`},N={key:1,slot:`after`},P={variant:`danger`,appearance:`plain`,class:`p-0`,icon:`triangle-exclamation`},F={class:`sr-only`},I={slot:`after`},L={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},R={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},z=[`label`,`help-text`,`has-feedback-for`,`disabled`],B={slot:`feedback`},V={key:0,class:`error-list`},H=[`innerHTML`],U={slot:`after`},W={key:0,variant:`warning`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},G=[`innerHTML`],K=[`label`,`help-text`,`disabled`,`checked`],q=[`label`,`disabled`,`checked`],J={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},Y={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},X=r({__name:`SiteFields`,props:{inertiaForm:{}},setup(r){let u=r,g=m(),{readOnly:C}=T(),w=l(()=>u.inertiaForm),E=l(()=>g.props.isMultisite),D=l(()=>g.props.groupOptions),k=l(()=>g.props.nameSuggestions),j=l(()=>g.props.languageOptions),M=l(()=>ee(g.props.booleanEnvOptions)),X=l(()=>g.props.baseUrlSuggestions),Z=l(()=>g.props.site);i(`handle`),i(`baseUrl`);let Q=A(()=>w.value.name,e=>w.value.handle=t(e)),$=A(()=>w.value.name,e=>w.value.baseUrl=n(e,{prefix:`$`,suffix:`_URL`}));return w.value.id&&(Q.stop(),$.stop()),(t,n)=>(a(),b(h,null,[w.value.id?s((a(),b(`input`,{key:0,name:`id`,"onUpdate:modelValue":n[0]||=e=>w.value.id=e,type:`hidden`},null,512)),[[p,w.value.id]]):d(``,!0),v(`craft-select`,{label:_(e)(`Group`),"help-text":_(e)(`Which group should this site belong to?`),name:`group`,id:`group`,".modelValue":w.value.group,onModelValueChanged:n[1]||=e=>w.value.group=e.target?.modelValue,disabled:_(C)},[v(`select`,ne,[(a(!0),b(h,null,S(D.value,e=>(a(),b(`option`,{key:e.value,value:e.value},f(e.label),9,re))),128))]),w.value.errors?.group?(a(),b(`ul`,ie,[(a(!0),b(h,null,S(w.value.errors?.group,e=>(a(),b(`li`,null,f(e),1))),256))])):d(``,!0),w.value?.id&&E.value?(a(),b(`div`,N,[v(`craft-callout`,P,[v(`span`,F,f(_(e)(`Warning:`)),1),y(` `+f(_(e)(`Changing this may result in data loss.`)),1)])])):d(``,!0)],40,te),o(O,{modelValue:w.value.name,"onUpdate:modelValue":n[2]||=e=>w.value.name=e,options:k.value,label:_(e)(`Name`),id:`name`,name:`name`,disabled:_(C),error:w.value.errors?.name},{default:c(()=>[v(`div`,I,[v(`craft-callout`,L,[y(f(_(e)(`This can begin with an environment variable.`))+` `,1),v(`a`,R,f(_(e)(`Learn more`)),1)])])]),_:1},8,[`modelValue`,`options`,`label`,`disabled`,`error`]),s(v(`craft-input-handle`,{label:_(e)(`Handle`),"help-text":_(e)(`How you’ll refer to this site in the templates.`),ref:`handle`,id:`handle`,name:`handle`,"has-feedback-for":w.value.errors?.handle?`error`:``,disabled:_(C),"onUpdate:modelValue":n[3]||=e=>w.value.handle=e},[v(`div`,B,[w.value.errors?.handle?(a(),b(`ul`,V,[v(`li`,null,f(w.value.errors.handle),1)])):d(``,!0)])],8,z),[[p,w.value.handle]]),o(O,{modelValue:w.value.language,"onUpdate:modelValue":n[4]||=e=>w.value.language=e,label:_(e)(`Language`),name:`language`,id:`site-language`,"help-text":_(e)(`The language content in this site will use.`),options:j.value,disabled:_(C),error:w.value.errors?.language,"require-option-match":!0},{after:c(()=>[v(`craft-callout`,{variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`,innerHTML:_(e)(`This can be set to an environment variable with a valid language ID ({examples}).`,{examples:`en/en-GB`})},null,8,H)]),_:1},8,[`modelValue`,`label`,`help-text`,`options`,`disabled`,`error`]),E.value||!Z.value.id?(a(),x(O,{key:1,label:_(e)(`Status`),name:`enabled`,id:`enabled`,disabled:_(C),modelValue:w.value.enabled,"onUpdate:modelValue":n[5]||=e=>w.value.enabled=e,"require-option-match":!0,options:M.value,error:w.value.errors?.enabled},{default:c(()=>[v(`div`,U,[Z.value.primary?(a(),b(`craft-callout`,W,f(_(e)(`The primary site cannot be disabled.`)),1)):d(``,!0),v(`craft-callout`,{variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`,innerHTML:_(e)(`This can be set to an environment variable with a boolean value ({examples})`,{examples:`yes/no/true/false/on/off/0/1`})},null,8,G)])]),_:1},8,[`label`,`disabled`,`modelValue`,`options`,`error`])):d(``,!0),(E.value||!Z.value.id)&&!Z.value.primary?(a(),b(h,{key:2},[Z.value.primary?d(``,!0):(a(),b(`craft-switch`,{key:0,label:_(e)(`Make this the primary site`),"help-text":_(e)(`The primary site will be loaded by default on the front end.`),disabled:_(C),checked:w.value.primary,onCheckedChanged:n[6]||=e=>w.value.primary=e.target?.checked},null,40,K))],64)):d(``,!0),v(`craft-switch`,{label:_(e)(`This site has its own base URL`),id:`has-urls`,name:`hasUrls`,disabled:_(C),checked:w.value.hasUrls,onCheckedChanged:n[7]||=e=>w.value.hasUrls=e.target?.checked},null,40,q),w.value.hasUrls?(a(),x(O,{key:3,modelValue:w.value.baseUrl,"onUpdate:modelValue":n[8]||=e=>w.value.baseUrl=e,label:_(e)(`Base URL`),"help-text":_(e)(`The base URL for the site.`),id:`base-url`,name:`baseUrl`,error:w.value.errors?.baseUrl,options:X.value,disabled:_(C)},{after:c(()=>[v(`craft-callout`,J,[y(f(_(e)(`This can begin with an environment variable or alias.`))+` `,1),v(`a`,Y,f(_(e)(`Learn more`)),1)])]),_:1},8,[`modelValue`,`label`,`help-text`,`error`,`options`,`disabled`])):d(``,!0)],64))}}),Z={key:0,size:`small`,inline:``},Q={class:`grid gap-3`},$=r({__name:`SettingsSitesEdit`,props:{title:{},crumbs:{},site:{},groupId:{},flash:{},errors:{},isMultisite:{type:Boolean}},setup(t){let n=t,r=g({siteId:n.site.id??null,group:n.groupId,name:n.site.nameRaw,handle:n.site.handle,language:n.site.languageRaw,enabled:n.site.enabledRaw,hasUrls:n.site.hasUrls,primary:n.site.primary,baseUrl:n.site.baseUrlRaw??``}),{readOnly:i}=T();E(`keydown`,e=>{(e.metaKey||e.ctrlKey)&&e.key===`s`&&(e.preventDefault(),s())});let{save:s}=k(r,j),l=u(!1);return(i,u)=>(a(),b(h,null,[o(D,{title:t.title,form:_(r),onSave:_(s)},{"title-badge":c(()=>[o(w,{variant:t.site.enabled?`success`:`default`},{default:c(()=>[y(f(t.site.enabled?_(e)(`Enabled`):_(e)(`Disabled`)),1)]),_:1},8,[`variant`]),t.site.primary?(a(),b(`craft-callout`,Z,[v(`span`,null,f(_(e)(`Primary`)),1)])):d(``,!0)]),default:c(()=>[o(C,{appearance:`raised`},{default:c(()=>[v(`div`,Q,[o(X,{"inertia-form":_(r)},null,8,[`inertia-form`])])]),_:1})]),_:1},8,[`title`,`form`,`onSave`]),t.site.primary?d(``,!0):(a(),x(M,{key:0,onClose:u[0]||=e=>l.value=!1,open:l.value,site:n.site},null,8,[`open`,`site`]))],64))}});export{$ as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsSitesIndex-CZI3xKLs.js b/resources/build/assets/SettingsSitesIndex-CZI3xKLs.js new file mode 100644 index 00000000000..3af0cbcced0 --- /dev/null +++ b/resources/build/assets/SettingsSitesIndex-CZI3xKLs.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{A as t,B as n,D as r,E as i,F as a,J as ee,R as o,S as s,T as c,X as l,Z as te,b as u,dt as d,ft as f,h as p,m,ot as h,p as ne,r as g,s as _,t as v,tt as y,v as b,x,y as S}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{c as C,n as w,o as T,t as E}from"./AdminTable-TPqS7_4T.js";import{s as D}from"./InlineFlash-Duhr9n8-.js";import{t as re}from"./Badge-CfJUHywr.js";import{i as ie,n as O,t as k}from"./wayfinder-ghdHxiwr.js";import{t as ae}from"./createCraftColumnHelper-CPPRJRXc.js";import{t as oe}from"./InputCombobox--l4XmuRi.js";import{t as A}from"./ModalForm-DpNJgsO7.js";import{n as j}from"./AppLayout-dqX06RZT.js";import{t as M}from"./IndexLayout-C2GDwLPK.js";import{i as N,n as P,r as F,t as I}from"./DeleteSiteModal-BfYzzTb9.js";var L=e=>({url:L.url(e),method:`post`});L.definition={methods:[`post`],url:`/admin/settings/site-groups`},L.url=e=>L.definition.url+O(e),L.post=e=>({url:L.url(e),method:`post`});var R=(e,t)=>({url:R.url(e,t),method:`delete`});R.definition={methods:[`delete`],url:`/admin/settings/site-groups/{groupId}`},R.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={groupId:e}),Array.isArray(e)&&(e={groupId:e[0]}),e=k(e);let n={groupId:e.groupId};return R.definition.url.replace(`{groupId}`,n.groupId.toString()).replace(/\/+$/,``)+O(t)},R.delete=(e,t)=>({url:R.url(e,t),method:`delete`});var z=[`disabled`],B=r({__name:`DeleteSiteButton`,props:{site:{}},setup(e){let t=h(!1);return(n,r)=>(o(),s(`div`,null,[S(`craft-button`,{size:`small`,icon:``,type:`button`,variant:`danger`,appearance:`plain`,disabled:e.site.primary,onClick:r[0]||=e=>t.value=!0},[...r[2]||=[S(`craft-icon`,{name:`x`,label:`t('Delete site'`},null,-1)]],8,z),i(I,{site:e.site,open:t.value,onClose:r[1]||=e=>t.value=!1},null,8,[`site`,`open`])]))}}),V=e=>({url:V.url(e),method:`get`});V.definition={methods:[`get`,`head`],url:`/admin/settings/sites`},V.url=e=>V.definition.url+O(e),V.get=e=>({url:V.url(e),method:`get`}),V.head=e=>({url:V.url(e),method:`head`}),Object.assign(V,V);var H={class:`flex gap-2 items-center`},U={class:`title text-xl`},W={key:0},G={type:`button`,icon:``,size:`small`,slot:`invoker`},K=[`label`],q={slot:`content`},se=[`disabled`],ce={class:`-mx-2`},le=[`href`,`active`],ue={key:0,class:`mt-4 flex gap-2`},de=[`label`,`help-text`],fe={slot:`after`},pe={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},me={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},he=[`label`,`help-text`,`has-feedback-for`],ge={slot:`after`},_e={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},ve={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},J={slot:`feedback`},ye={key:0,class:`error-list`},Y=v(r({__name:`SettingsSitesIndex`,props:{group:{},groups:{},sites:{},nameSuggestions:{},flash:{}},setup(r){let v=r,O=h(!1),k=ae(),{readOnly:I}=ie(),z=_({id:v.group?.id??null,name:v.group?.name??``});function Y(){z.clearErrors().submit(L(),{onSuccess:()=>{O.value=!1,z.reset()}})}function X(e){e===`create`?(z.name=``,z.id=null):e===`update`&&(z.name=v.group?.rawName??v.group?.name??``,z.id=v.group?.id??null),O.value=!0}let Z=h(v.sites.map(e=>e.id)),Q=b(()=>Z.value.map(e=>v.sites.find(t=>t.id===e)).filter(Boolean));ee(Z,(e,t)=>{a(()=>{f.post(N(),{ids:[...e]},{preserveScroll:!0,preserveState:!0,onError:()=>{Z.value=t}})})});function be(e,t){let n=[...Z.value],[r]=n.splice(e,1);n.splice(t,0,r),Z.value=n}let xe=h([k.accessor(`name`,{header:()=>e(`Name`),cell:({row:e,getValue:n})=>t(D,{href:F.url(e.original.id)},()=>t(`div`,{class:`flex gap-2`},[t(`craft-indicator`,{variant:e.original.enabled?`success`:`empty`}),t(`span`,n())]))}),k.accessor(`handle`,{header:()=>e(`Handle`),cell:e=>t(`code`,e.getValue())}),k.accessor(`enabled`,{header:()=>e(`Status`),cell:n=>t(re,{variant:n.getValue()?`success`:`default`},()=>n.getValue()?e(`Enabled`):e(`Disabled`))}),k.accessor(`language`,{header:()=>e(`Language`),cell:e=>t(`code`,e.getValue())}),k.accessor(`primary`,{header:()=>e(`Primary`),cell:e=>e.getValue()?t(`craft-icon`,{name:`check`}):``}),k.accessor(`baseUrl`,{header:()=>e(`Base URL`),cell:e=>t(`code`,e.getValue())}),k.accessor(`group.name`,{id:`group`,header:()=>e(`Group`)}),k.actions(({row:e})=>[t(B,{site:e.original,disabled:e.original.primary,class:`whitespace-normal`})])]),Se=T({get data(){return Q.value},get columns(){return xe.value},state:{get columnVisibility(){return{actions:!I}}},getCoreRowModel:C(),getRowId:e=>e.id.toString(),enableSorting:!1,defaultColumn:{size:`auto`,minSize:50,maxSize:200}});function Ce(){v.group?.id&&confirm(e(`Are you sure you want to delete this group?`))&&f.delete(R({groupId:v.group.id}))}let $=b(()=>v.group?.name?v.group.name:e(`Sites`));return(t,a)=>(o(),s(p,null,[i(M,{debug:{form:d(z),$props:t.$props},"full-width":!0,title:$.value},{title:l(()=>[S(`div`,H,[S(`h1`,U,y($.value),1),r.group?.id&&!d(I)?(o(),s(`craft-action-menu`,W,[S(`craft-button`,G,[S(`craft-icon`,{name:`gear`,label:d(e)(`Site group Actions`)},null,8,K)]),S(`div`,q,[S(`craft-action-item`,{onClick:a[0]||=m(e=>X(`update`),[`prevent`])},y(d(e)(`Rename Group`)),1),S(`craft-action-item`,{variant:`danger`,disabled:Q.value.length>0,onClick:m(Ce,[`prevent`])},y(d(e)(`Delete Group`)),9,se)])])):x(``,!0)])]),actions:l(()=>[d(I)?x(``,!0):(o(),u(D,{key:0,as:`craft-button`,href:d(P)({query:{groupId:r.group?.id}}).url,variant:`primary`,appearance:`button`},{default:l(()=>[a[5]||=S(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),c(` `+y(d(e)(`New Site`)),1)]),_:1},8,[`href`]))]),"interior-nav":l(({state:t})=>[S(`craft-nav-list`,ce,[S(`craft-nav-item`,{href:d(V).url(),active:!r.group},y(d(e)(`All Sites`)),9,le),(o(!0),s(p,null,n(r.groups,e=>(o(),u(D,{as:`craft-nav-item`,key:e.id,href:d(V).url({query:{groupId:e.id}}),active:r.group&&e.id===r.group.id,block:``},{default:l(()=>[c(y(e.name),1)]),_:2},1032,[`href`,`active`]))),128))]),d(I)?x(``,!0):(o(),s(`div`,ue,[S(`craft-button`,{type:`button`,onClick:a[1]||=e=>X(`create`),size:`small`},[a[6]||=S(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),c(` `+y(d(e)(`New Group`)),1)])]))]),default:l(()=>[S(`div`,null,[d(I)?(o(),u(j,{key:0})):x(``,!0),i(E,{table:d(Se),"read-only":d(I),reorderable:!!r.group?.id,spacing:`relaxed`,onReorder:be},{"empty-row":l(()=>[i(w,{icon:`light/earth-americas`,label:d(e)(`No sites exist yet.`)},{default:l(()=>[d(I)?x(``,!0):(o(),u(D,{key:0,as:`craft-button`,href:d(P)({query:{groupId:r.group?.id}}).url,appearance:`button`},{default:l(()=>[a[7]||=S(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),c(` `+y(d(e)(`New Site`)),1)]),_:1},8,[`href`]))]),_:1},8,[`label`])]),_:1},8,[`table`,`read-only`,`reorderable`])])]),_:1},8,[`debug`,`title`]),i(A,{"is-active":O.value,onClose:a[4]||=e=>{O.value=!1,d(z).reset()},onSubmit:Y,loading:d(z).processing},{default:l(()=>[te(S(`craft-input`,{name:`id`,id:`id`,"onUpdate:modelValue":a[2]||=e=>d(z).id=e,type:`hidden`},null,512),[[ne,d(z).id]]),i(d(g),{data:`nameSuggestions`},{fallback:l(()=>[S(`craft-input`,{readonly:``,name:`readonly-name`,label:d(e)(`Group Name`),"help-text":d(e)(`What this group will be called in the control panel.`)},[S(`div`,fe,[S(`craft-callout`,pe,[c(y(d(e)(`This can begin with an environment variable.`))+` `,1),S(`a`,me,y(d(e)(`Learn more`)),1)])])],8,de)]),default:l(()=>[S(`craft-input`,{label:d(e)(`Group Name`),id:`name`,name:`name`,required:``,"help-text":d(e)(`What this group will be called in the control panel.`),"has-feedback-for":d(z).errors?.name?`error`:``},[i(oe,{options:r.nameSuggestions,modelValue:d(z).name,"onUpdate:modelValue":a[3]||=e=>d(z).name=e,slot:`input`},null,8,[`options`,`modelValue`]),S(`div`,ge,[S(`craft-callout`,_e,[c(y(d(e)(`This can begin with an environment variable.`))+` `,1),S(`a`,ve,y(d(e)(`Learn more`)),1)])]),S(`div`,J,[d(z).errors?.name?(o(),s(`ul`,ye,[S(`li`,null,y(d(z).errors.name),1)])):x(``,!0)])],8,he)]),_:1})]),_:1},8,[`is-active`,`loading`])],64))}}),[[`__scopeId`,`data-v-003baa76`]]);export{Y as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsSitesIndex-yI-Hm7iV.js b/resources/build/assets/SettingsSitesIndex-yI-Hm7iV.js deleted file mode 100644 index f064ba900a1..00000000000 --- a/resources/build/assets/SettingsSitesIndex-yI-Hm7iV.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{E as t,L as n,P as r,T as i,X as a,Y as o,_ as s,at as c,b as l,dt as u,et as d,f as ee,k as f,m as p,p as m,q as h,r as te,s as ne,t as g,ut as _,v,w as y,x as b,y as x,z as S}from"./_plugin-vue_export-helper-C3orD-yt.js";import{l as C,n as w,s as T,t as E}from"./AdminTable-BaWDz4rn.js";import{o as D}from"./InlineFlash-Mr7imUWg.js";import{t as re}from"./Badge-DpS_C1p3.js";import{i as ie,n as O,t as k}from"./wayfinder-CyAPyHKQ.js";import{t as ae}from"./createCraftColumnHelper-DQvg7ogx.js";import{t as oe}from"./InputCombobox-DAgXLrVb.js";import{t as A}from"./ModalForm-B7cOiJaR.js";import{n as j}from"./AppLayout-CbgDw9ix.js";import{t as M}from"./IndexLayout-B0w7rMLf.js";import{i as N,n as P,r as F,t as I}from"./DeleteSiteModal-wZU8P6Q1.js";var L=e=>({url:L.url(e),method:`post`});L.definition={methods:[`post`],url:`/admin/settings/site-groups`},L.url=e=>L.definition.url+O(e),L.post=e=>({url:L.url(e),method:`post`});var R=(e,t)=>({url:R.url(e,t),method:`delete`});R.definition={methods:[`delete`],url:`/admin/settings/site-groups/{groupId}`},R.url=(e,t)=>{(typeof e==`string`||typeof e==`number`)&&(e={groupId:e}),Array.isArray(e)&&(e={groupId:e[0]}),e=k(e);let n={groupId:e.groupId};return R.definition.url.replace(`{groupId}`,n.groupId.toString()).replace(/\/+$/,``)+O(t)},R.delete=(e,t)=>({url:R.url(e,t),method:`delete`});var z=[`disabled`],B=t({__name:`DeleteSiteButton`,props:{site:{}},setup(e){let t=c(!1);return(r,a)=>(n(),b(`div`,null,[v(`craft-button`,{size:`small`,icon:``,type:`button`,variant:`danger`,appearance:`plain`,disabled:e.site.primary,onClick:a[0]||=e=>t.value=!0},[...a[2]||=[v(`craft-icon`,{name:`x`,label:`t('Delete site'`},null,-1)]],8,z),i(I,{site:e.site,open:t.value,onClose:a[1]||=e=>t.value=!1},null,8,[`site`,`open`])]))}}),V=e=>({url:V.url(e),method:`get`});V.definition={methods:[`get`,`head`],url:`/admin/settings/sites`},V.url=e=>V.definition.url+O(e),V.get=e=>({url:V.url(e),method:`get`}),V.head=e=>({url:V.url(e),method:`head`}),Object.assign(V,V);var H={class:`flex gap-2 items-center`},U={class:`title text-xl`},W={key:0},G={type:`button`,icon:``,size:`small`,slot:`invoker`},K=[`label`],q={slot:`content`},se=[`disabled`],ce={class:`-mx-2`},le=[`href`,`active`],ue={key:0,class:`mt-4 flex gap-2`},de=[`label`,`help-text`],fe={slot:`after`},pe={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},me={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},he=[`label`,`help-text`,`has-feedback-for`],ge={slot:`after`},_e={variant:`info`,appearance:`plain`,class:`p-0`,icon:`lightbulb`},ve={href:`https://craftcms.com/docs/5.x/configure.html#control-panel-settings`},J={slot:`feedback`},ye={key:0,class:`error-list`},Y=g(t({__name:`SettingsSitesIndex`,props:{group:{},groups:{},sites:{},nameSuggestions:{},flash:{}},setup(t){let g=t,O=c(!1),k=ae(),{readOnly:I}=ie(),z=ne({id:g.group?.id??null,name:g.group?.name??``});function Y(){z.clearErrors().submit(L(),{onSuccess:()=>{O.value=!1,z.reset()}})}function X(e){e===`create`?(z.name=``,z.id=null):e===`update`&&(z.name=g.group?.rawName??g.group?.name??``,z.id=g.group?.id??null),O.value=!0}let Z=c(g.sites.map(e=>e.id)),Q=s(()=>Z.value.map(e=>g.sites.find(t=>t.id===e)).filter(Boolean));h(Z,(e,t)=>{r(()=>{u.post(N(),{ids:[...e]},{preserveScroll:!0,preserveState:!0,onError:()=>{Z.value=t}})})});function be(e,t){let n=[...Z.value],[r]=n.splice(e,1);n.splice(t,0,r),Z.value=n}let xe=c([k.accessor(`name`,{header:()=>e(`Name`),cell:({row:e,getValue:t})=>f(D,{href:F.url(e.original.id)},()=>f(`div`,{class:`flex gap-2`},[f(`craft-indicator`,{variant:e.original.enabled?`success`:`empty`}),f(`span`,t())]))}),k.accessor(`handle`,{header:()=>e(`Handle`),cell:e=>f(`code`,e.getValue())}),k.accessor(`enabled`,{header:()=>e(`Status`),cell:t=>f(re,{variant:t.getValue()?`success`:`default`},()=>t.getValue()?e(`Enabled`):e(`Disabled`))}),k.accessor(`language`,{header:()=>e(`Language`),cell:e=>f(`code`,e.getValue())}),k.accessor(`primary`,{header:()=>e(`Primary`),cell:e=>e.getValue()?f(`craft-icon`,{name:`check`}):``}),k.accessor(`baseUrl`,{header:()=>e(`Base URL`),cell:e=>f(`code`,e.getValue())}),k.accessor(`group.name`,{id:`group`,header:()=>e(`Group`)}),k.actions(({row:e})=>[f(B,{site:e.original,disabled:e.original.primary,class:`whitespace-normal`})])]),Se=T({get data(){return Q.value},get columns(){return xe.value},state:{get columnVisibility(){return{actions:!I}}},getCoreRowModel:C(),getRowId:e=>e.id.toString(),enableSorting:!1,defaultColumn:{size:`auto`,minSize:50,maxSize:200}});function Ce(){g.group?.id&&confirm(e(`Are you sure you want to delete this group?`))&&u.delete(R({groupId:g.group.id}))}let $=s(()=>g.group?.name?g.group.name:e(`Sites`));return(r,s)=>(n(),b(p,null,[i(M,{debug:{form:_(z),$props:r.$props},"full-width":!0,title:$.value},{title:o(()=>[v(`div`,H,[v(`h1`,U,d($.value),1),t.group?.id&&!_(I)?(n(),b(`craft-action-menu`,W,[v(`craft-button`,G,[v(`craft-icon`,{name:`gear`,label:_(e)(`Site group Actions`)},null,8,K)]),v(`div`,q,[v(`craft-action-item`,{onClick:s[0]||=m(e=>X(`update`),[`prevent`])},d(_(e)(`Rename Group`)),1),v(`craft-action-item`,{variant:`danger`,disabled:Q.value.length>0,onClick:m(Ce,[`prevent`])},d(_(e)(`Delete Group`)),9,se)])])):l(``,!0)])]),actions:o(()=>[_(I)?l(``,!0):(n(),x(D,{key:0,as:`craft-button`,href:_(P)({query:{groupId:t.group?.id}}).url,variant:`primary`,appearance:`button`},{default:o(()=>[s[5]||=v(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),y(` `+d(_(e)(`New Site`)),1)]),_:1},8,[`href`]))]),"interior-nav":o(({state:r})=>[v(`craft-nav-list`,ce,[v(`craft-nav-item`,{href:_(V).url(),active:!t.group},d(_(e)(`All Sites`)),9,le),(n(!0),b(p,null,S(t.groups,e=>(n(),x(D,{as:`craft-nav-item`,key:e.id,href:_(V).url({query:{groupId:e.id}}),active:t.group&&e.id===t.group.id,block:``},{default:o(()=>[y(d(e.name),1)]),_:2},1032,[`href`,`active`]))),128))]),_(I)?l(``,!0):(n(),b(`div`,ue,[v(`craft-button`,{type:`button`,onClick:s[1]||=e=>X(`create`),size:`small`},[s[6]||=v(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),y(` `+d(_(e)(`New Group`)),1)])]))]),default:o(()=>[v(`div`,null,[_(I)?(n(),x(j,{key:0})):l(``,!0),i(E,{table:_(Se),"read-only":_(I),reorderable:!!t.group?.id,spacing:`relaxed`,onReorder:be},{"empty-row":o(()=>[i(w,{icon:`light/earth-americas`,label:_(e)(`No sites exist yet.`)},{default:o(()=>[_(I)?l(``,!0):(n(),x(D,{key:0,as:`craft-button`,href:_(P)({query:{groupId:t.group?.id}}).url,appearance:`button`},{default:o(()=>[s[7]||=v(`craft-icon`,{name:`plus`,slot:`prefix`},null,-1),y(` `+d(_(e)(`New Site`)),1)]),_:1},8,[`href`]))]),_:1},8,[`label`])]),_:1},8,[`table`,`read-only`,`reorderable`])])]),_:1},8,[`debug`,`title`]),i(A,{"is-active":O.value,onClose:s[4]||=e=>{O.value=!1,_(z).reset()},onSubmit:Y,loading:_(z).processing},{default:o(()=>[a(v(`craft-input`,{name:`id`,id:`id`,"onUpdate:modelValue":s[2]||=e=>_(z).id=e,type:`hidden`},null,512),[[ee,_(z).id]]),i(_(te),{data:`nameSuggestions`},{fallback:o(()=>[v(`craft-input`,{readonly:``,name:`readonly-name`,label:_(e)(`Group Name`),"help-text":_(e)(`What this group will be called in the control panel.`)},[v(`div`,fe,[v(`craft-callout`,pe,[y(d(_(e)(`This can begin with an environment variable.`))+` `,1),v(`a`,me,d(_(e)(`Learn more`)),1)])])],8,de)]),default:o(()=>[v(`craft-input`,{label:_(e)(`Group Name`),id:`name`,name:`name`,required:``,"help-text":_(e)(`What this group will be called in the control panel.`),"has-feedback-for":_(z).errors?.name?`error`:``},[i(oe,{options:t.nameSuggestions,modelValue:_(z).name,"onUpdate:modelValue":s[3]||=e=>_(z).name=e,slot:`input`},null,8,[`options`,`modelValue`]),v(`div`,ge,[v(`craft-callout`,_e,[y(d(_(e)(`This can begin with an environment variable.`))+` `,1),v(`a`,ve,d(_(e)(`Learn more`)),1)])]),v(`div`,J,[_(z).errors?.name?(n(),b(`ul`,ye,[v(`li`,null,d(_(z).errors.name),1)])):l(``,!0)])],8,he)]),_:1})]),_:1},8,[`is-active`,`loading`])],64))}}),[[`__scopeId`,`data-v-003baa76`]]);export{Y as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsUserGroupsEditPage-BDj3vtqF.js b/resources/build/assets/SettingsUserGroupsEditPage-BDj3vtqF.js new file mode 100644 index 00000000000..66add259d76 --- /dev/null +++ b/resources/build/assets/SettingsUserGroupsEditPage-BDj3vtqF.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{B as t,D as n,E as r,H as i,Q as a,R as o,S as s,T as c,X as l,b as u,dt as d,et as f,ft as p,h as m,s as h,t as g,tt as _,v,x as y,y as b}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{t as x}from"./Pane-C776R7L2.js";import{t as S}from"./CraftInput-BrzKPRWU.js";import{n as C,t as w}from"./CraftTextarea-BPVI-czJ.js";import{t as T}from"./AppLayout-dqX06RZT.js";import{t as E}from"./useSettingsSave-DQO6N1dq.js";import{t as D}from"./CraftInputHandle-D2OoP5P9.js";import{i as O,n as k}from"./UserGroupsController-azMu-Mwh.js";function A(e){return e.nested&&typeof e.nested==`object`&&!Array.isArray(e.nested)&&Object.keys(e.nested).length>0}function j(e){return!e||!A(e)?[]:Object.values(e.nested).flatMap(e=>[e.key.toLowerCase(),...j(e)])}var M={key:0,slot:`help-text`},N={key:1,class:`flex gap-1 items-center`,"data-color":`warning`},P=g(n({__name:`PermissionList`,props:{modelValue:{default:()=>[]},permissions:{default:()=>({})},disabled:{type:Boolean,default:!1},level:{default:0}},emits:[`update:modelValue`],setup(e,{emit:n}){let p=n,h=e;function g(e){let t=e.toLowerCase();if(h.modelValue.indexOf(t)===-1)p(`update:modelValue`,[...h.modelValue,t]);else{let n=new Set([t,...j(h.permissions[e])]);p(`update:modelValue`,h.modelValue.filter(e=>!n.has(e)))}}return(n,h)=>{let v=i(`PermissionList`,!0);return o(!0),s(m,null,t(e.permissions,(t,n)=>(o(),s(`ul`,{class:`group`,key:n,style:f({"--gap-x":`calc((${e.level} * 1lh) + var(--c-spacing-md))`})},[b(`li`,null,[r(C,{label:t.label,"model-value":e.modelValue.includes(n.toLowerCase()),value:n,disabled:e.disabled,"onUpdate:modelValue":e=>g(n),class:a({"cp-checkbox-indentation":e.level>0})},{default:l(()=>[t.info||t.warning?(o(),s(`div`,M,[t.info?(o(),s(m,{key:0},[c(_(t.info),1)],64)):y(``,!0),t.warning?(o(),s(`div`,N,[h[1]||=b(`craft-icon`,{name:`triangle-exclamation`},null,-1),c(` `+_(t.warning),1)])):y(``,!0)])):y(``,!0)]),_:2},1032,[`label`,`model-value`,`value`,`disabled`,`onUpdate:modelValue`,`class`]),d(A)(t)?(o(),u(v,{key:0,permissions:t.nested,"model-value":e.modelValue,disabled:e.disabled||!e.modelValue.includes(t.key.toLowerCase()),"onUpdate:modelValue":h[0]||=e=>p(`update:modelValue`,e),level:e.level+1},null,8,[`permissions`,`model-value`,`disabled`,`level`])):y(``,!0)])],4))),128)}}}),[[`__scopeId`,`data-v-ebf6e4eb`]]),F={class:`grid gap-3`},I={class:`text-lg mb-3`},L={class:`grid gap-3`},R={class:`flex gap-2 items-center`},z=[`id`],B=[`onClick`],V=n({__name:`SettingsUserGroupsEditPage`,props:{group:{},permissions:{},formActions:{},redirect:{},toolbar:{},errors:{},readOnly:{type:Boolean},redirectUrl:{}},setup(n){let i=n,a=h({id:i.group.id,redirect:i.redirect,name:i.group.name,handle:i.group.handle,description:i.group.description??``,permissions:i.group.permissions??[]});function f(e){return Object.values(e).flatMap(e=>[e.key,...A(e)?f(e.nested):[]])}let g=v(()=>i.permissions.reduce((e,t)=>(e[t.handle]=f(t.permissions).map(e=>e.toLowerCase()),e),{}));function y(e){if(!e)return!1;let t=new Set(a.permissions);return e.every(e=>t.has(e))}function C(e){let t=g.value[e];if(t)if(y(t)){let e=new Set(t);a.permissions=a.permissions.filter(t=>!e.has(t))}else a.permissions=[...new Set([...a.permissions,...t])]}let{save:j}=E(a,O),M=v(()=>i.readOnly||!i.group.id?[]:[{variant:`danger`,label:e(`Delete group`),onClick:()=>{confirm(e(`Are you sure you want to delete “{name}”?`,{name:i.group.name}))&&p.delete(k({groupId:i.group.id}))}}]);return(i,f)=>(o(),u(T,{form:d(a),"form-actions":M.value,onSave:d(j)},{default:l(()=>[r(x,{appearance:`raised`},{default:l(()=>[b(`div`,F,[r(S,{label:d(e)(`Name`),id:`name`,"data-error-key":`name`,autofocus:!0,required:!0,disabled:n.readOnly,error:n.errors?.name,name:`name`,modelValue:d(a).name,"onUpdate:modelValue":f[0]||=e=>d(a).name=e},null,8,[`label`,`disabled`,`error`,`modelValue`]),r(D,{label:d(e)(`Handle`),id:`handle`,modelValue:d(a).handle,"onUpdate:modelValue":f[1]||=e=>d(a).handle=e,autocorrect:!1,autocapitalize:!1,name:`handle`,error:n.errors?.handle,required:!0,"data-error-key":`handle`,disabled:n.readOnly},null,8,[`label`,`modelValue`,`error`,`disabled`]),r(w,{label:d(e)(`Description`),id:`description`,name:`description`,modelValue:d(a).description,"onUpdate:modelValue":f[2]||=e=>d(a).description=e,error:n.errors?.description,"data-error-key":`description`,disabled:n.readOnly},null,8,[`label`,`modelValue`,`error`,`disabled`])]),f[4]||=b(`hr`,{class:`my-8`},null,-1),b(`h2`,I,_(d(e)(`Permissions`)),1),b(`div`,L,[(o(!0),s(m,null,t(n.permissions,t=>(o(),s(`div`,{key:t.handle},[b(`div`,R,[b(`h3`,{class:`mb-1 text-base`,id:`content-heading-${t.handle}`},_(t.heading),9,z),b(`craft-button`,{type:`button`,size:`small`,appearance:`plain`,onClick:e=>C(t.handle)},[y(g.value[t.handle])?(o(),s(m,{key:0},[c(_(d(e)(`Deselect all`)),1)],64)):(o(),s(m,{key:1},[c(_(d(e)(`Select all`)),1)],64))],8,B)]),r(P,{permissions:t.permissions,modelValue:d(a).permissions,"onUpdate:modelValue":f[3]||=e=>d(a).permissions=e},null,8,[`permissions`,`modelValue`])]))),128))])]),_:1})]),_:1},8,[`form`,`form-actions`,`onSave`]))}});export{V as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsUserGroupsEditPage-D8uJRC6b.js b/resources/build/assets/SettingsUserGroupsEditPage-D8uJRC6b.js deleted file mode 100644 index 8ef3a385aae..00000000000 --- a/resources/build/assets/SettingsUserGroupsEditPage-D8uJRC6b.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{$ as t,E as n,L as r,T as i,V as a,Y as o,Z as s,_ as c,b as l,dt as u,et as d,m as f,s as p,t as m,ut as h,v as g,w as _,x as v,y,z as b}from"./_plugin-vue_export-helper-C3orD-yt.js";import{t as x}from"./Pane-CyLhaZAB.js";import{t as S}from"./CraftInput-Diy-IcJh.js";import{n as C,t as w}from"./CraftTextarea-KI-zgO5f.js";import{t as T}from"./AppLayout-CbgDw9ix.js";import{t as E}from"./useSettingsSave-BLqVG46P.js";import{t as D}from"./CraftInputHandle-DC3oqA7Q.js";import{i as O,n as k}from"./UserGroupsController-CSpl-KnZ.js";function A(e){return e.nested&&typeof e.nested==`object`&&!Array.isArray(e.nested)&&Object.keys(e.nested).length>0}function j(e){return!e||!A(e)?[]:Object.values(e.nested).flatMap(e=>[e.key.toLowerCase(),...j(e)])}var M={key:0,slot:`help-text`},N={key:1,class:`flex gap-1 items-center`,"data-color":`warning`},P=m(n({__name:`PermissionList`,props:{modelValue:{default:()=>[]},permissions:{default:()=>({})},disabled:{type:Boolean,default:!1},level:{default:0}},emits:[`update:modelValue`],setup(e,{emit:n}){let c=n,u=e;function p(e){let t=e.toLowerCase();if(u.modelValue.indexOf(t)===-1)c(`update:modelValue`,[...u.modelValue,t]);else{let n=new Set([t,...j(u.permissions[e])]);c(`update:modelValue`,u.modelValue.filter(e=>!n.has(e)))}}return(n,u)=>{let m=a(`PermissionList`,!0);return r(!0),v(f,null,b(e.permissions,(n,a)=>(r(),v(`ul`,{class:`group`,key:a,style:t({"--gap-x":`calc((${e.level} * 1lh) + var(--c-spacing-md))`})},[g(`li`,null,[i(C,{label:n.label,"model-value":e.modelValue.includes(a.toLowerCase()),value:a,disabled:e.disabled,"onUpdate:modelValue":e=>p(a),class:s({"cp-checkbox-indentation":e.level>0})},{default:o(()=>[n.info||n.warning?(r(),v(`div`,M,[n.info?(r(),v(f,{key:0},[_(d(n.info),1)],64)):l(``,!0),n.warning?(r(),v(`div`,N,[u[1]||=g(`craft-icon`,{name:`triangle-exclamation`},null,-1),_(` `+d(n.warning),1)])):l(``,!0)])):l(``,!0)]),_:2},1032,[`label`,`model-value`,`value`,`disabled`,`onUpdate:modelValue`,`class`]),h(A)(n)?(r(),y(m,{key:0,permissions:n.nested,"model-value":e.modelValue,disabled:e.disabled||!e.modelValue.includes(n.key.toLowerCase()),"onUpdate:modelValue":u[0]||=e=>c(`update:modelValue`,e),level:e.level+1},null,8,[`permissions`,`model-value`,`disabled`,`level`])):l(``,!0)])],4))),128)}}}),[[`__scopeId`,`data-v-ebf6e4eb`]]),F={class:`grid gap-3`},I={class:`text-lg mb-3`},L={class:`grid gap-3`},R={class:`flex gap-2 items-center`},z=[`id`],B=[`onClick`],V=n({__name:`SettingsUserGroupsEditPage`,props:{group:{},permissions:{},formActions:{},redirect:{},toolbar:{},errors:{},readOnly:{type:Boolean},redirectUrl:{}},setup(t){let n=t,a=p({id:n.group.id,redirect:n.redirect,name:n.group.name,handle:n.group.handle,description:n.group.description??``,permissions:n.group.permissions??[]});function s(e){return Object.values(e).flatMap(e=>[e.key,...A(e)?s(e.nested):[]])}let l=c(()=>n.permissions.reduce((e,t)=>(e[t.handle]=s(t.permissions).map(e=>e.toLowerCase()),e),{}));function m(e){if(!e)return!1;let t=new Set(a.permissions);return e.every(e=>t.has(e))}function C(e){let t=l.value[e];if(t)if(m(t)){let e=new Set(t);a.permissions=a.permissions.filter(t=>!e.has(t))}else a.permissions=[...new Set([...a.permissions,...t])]}let{save:j}=E(a,O),M=c(()=>n.readOnly||!n.group.id?[]:[{variant:`danger`,label:e(`Delete group`),onClick:()=>{confirm(e(`Are you sure you want to delete “{name}”?`,{name:n.group.name}))&&u.delete(k({groupId:n.group.id}))}}]);return(n,s)=>(r(),y(T,{form:h(a),"form-actions":M.value,onSave:h(j)},{default:o(()=>[i(x,{appearance:`raised`},{default:o(()=>[g(`div`,F,[i(S,{label:h(e)(`Name`),id:`name`,"data-error-key":`name`,autofocus:!0,required:!0,disabled:t.readOnly,error:t.errors?.name,name:`name`,modelValue:h(a).name,"onUpdate:modelValue":s[0]||=e=>h(a).name=e},null,8,[`label`,`disabled`,`error`,`modelValue`]),i(D,{label:h(e)(`Handle`),id:`handle`,modelValue:h(a).handle,"onUpdate:modelValue":s[1]||=e=>h(a).handle=e,autocorrect:!1,autocapitalize:!1,name:`handle`,error:t.errors?.handle,required:!0,"data-error-key":`handle`,disabled:t.readOnly},null,8,[`label`,`modelValue`,`error`,`disabled`]),i(w,{label:h(e)(`Description`),id:`description`,name:`description`,modelValue:h(a).description,"onUpdate:modelValue":s[2]||=e=>h(a).description=e,error:t.errors?.description,"data-error-key":`description`,disabled:t.readOnly},null,8,[`label`,`modelValue`,`error`,`disabled`])]),s[4]||=g(`hr`,{class:`my-8`},null,-1),g(`h2`,I,d(h(e)(`Permissions`)),1),g(`div`,L,[(r(!0),v(f,null,b(t.permissions,t=>(r(),v(`div`,{key:t.handle},[g(`div`,R,[g(`h3`,{class:`mb-1 text-base`,id:`content-heading-${t.handle}`},d(t.heading),9,z),g(`craft-button`,{type:`button`,size:`small`,appearance:`plain`,onClick:e=>C(t.handle)},[m(l.value[t.handle])?(r(),v(f,{key:0},[_(d(h(e)(`Deselect all`)),1)],64)):(r(),v(f,{key:1},[_(d(h(e)(`Select all`)),1)],64))],8,B)]),i(P,{permissions:t.permissions,modelValue:h(a).permissions,"onUpdate:modelValue":s[3]||=e=>h(a).permissions=e},null,8,[`permissions`,`modelValue`])]))),128))])]),_:1})]),_:1},8,[`form`,`form-actions`,`onSave`]))}});export{V as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsUserGroupsIndexPage-BQBZhQgF.js b/resources/build/assets/SettingsUserGroupsIndexPage-BQBZhQgF.js new file mode 100644 index 00000000000..35506d38d58 --- /dev/null +++ b/resources/build/assets/SettingsUserGroupsIndexPage-BQBZhQgF.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{A as t,B as n,D as r,E as i,R as a,S as o,T as s,X as c,b as l,dt as u,ft as d,h as f,tt as p,y as m}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{c as h,n as g,o as _,t as v}from"./AdminTable-TPqS7_4T.js";import{s as y}from"./InlineFlash-Duhr9n8-.js";import{t as b}from"./DeleteButton-u_rv7O4A.js";import{t as x}from"./createCraftColumnHelper-CPPRJRXc.js";import{t as S}from"./IndexLayout-C2GDwLPK.js";import{n as C,r as w,t as T}from"./UserGroupsController-azMu-Mwh.js";var E=r({__name:`SettingsUserGroupsIndexPage`,props:{groups:{},subnav:{},readOnly:{type:Boolean}},setup(r){let E=r;function D(t){confirm(e(`Are you sure you want to delete "{name}"?`,{name:t.name}))&&d.delete(C(t.id))}let O=x(),k=_({get columns(){return[O.link(`name`,{header:e(`Name`),props:({row:e})=>({href:w(e.original.id).url})}),O.handle(`handle`),O.actions(({row:e})=>[t(b,{onClick:()=>D(e.original)})])]},get data(){return E.groups},state:{get columnVisibility(){return{}}},manualPagination:!0,pageCount:1,getCoreRowModel:h()});return(t,d)=>(a(),l(S,null,{actions:c(()=>[i(y,{inertia:!1,href:u(T)().url,class:`btn submit add icon`,icon:`plus`,appearance:`button`,variant:`primary`},{default:c(()=>[s(p(u(e)(`New user group`)),1)]),_:1},8,[`href`])]),"interior-nav":c(()=>[m(`craft-nav-list`,null,[(a(!0),o(f,null,n(r.subnav,(e,t)=>(a(),l(y,{key:t,as:`craft-nav-item`,active:e.active??!1,href:e.url,inertia:e.inertia??!0,block:``,flush:``},{default:c(()=>[s(p(e.label),1)]),_:2},1032,[`active`,`href`,`inertia`]))),128))])]),default:c(()=>[i(v,{table:u(k)},{"empty-row":c(()=>[i(g,{icon:`users`,label:u(e)(`No groups exist yet.`)},{default:c(()=>[i(y,{inertia:!1,href:u(T)().url,class:`btn submit add icon`,icon:`plus`,appearance:`button`},{default:c(()=>[s(p(u(e)(`New user group`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1}))}});export{E as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsUserGroupsIndexPage-_NqUzaxh.js b/resources/build/assets/SettingsUserGroupsIndexPage-_NqUzaxh.js deleted file mode 100644 index cfe28f96d60..00000000000 --- a/resources/build/assets/SettingsUserGroupsIndexPage-_NqUzaxh.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{E as t,L as n,T as r,Y as i,dt as a,et as o,k as s,m as c,ut as l,v as u,w as d,x as f,y as p,z as m}from"./_plugin-vue_export-helper-C3orD-yt.js";import{l as h,n as g,s as _,t as v}from"./AdminTable-BaWDz4rn.js";import{o as y}from"./InlineFlash-Mr7imUWg.js";import{t as b}from"./DeleteButton-CPJTFImZ.js";import{t as x}from"./createCraftColumnHelper-DQvg7ogx.js";import{t as S}from"./IndexLayout-B0w7rMLf.js";import{n as C,r as w,t as T}from"./UserGroupsController-CSpl-KnZ.js";var E=t({__name:`SettingsUserGroupsIndexPage`,props:{groups:{},subnav:{},readOnly:{type:Boolean}},setup(t){let E=t;function D(t){confirm(e(`Are you sure you want to delete "{name}"?`,{name:t.name}))&&a.delete(C(t.id))}let O=x(),k=_({get columns(){return[O.link(`name`,{header:e(`Name`),props:({row:e})=>({href:w(e.original.id).url})}),O.handle(`handle`),O.actions(({row:e})=>[s(b,{onClick:()=>D(e.original)})])]},get data(){return E.groups},state:{get columnVisibility(){return{}}},manualPagination:!0,pageCount:1,getCoreRowModel:h()});return(a,s)=>(n(),p(S,null,{actions:i(()=>[r(y,{inertia:!1,href:l(T)().url,class:`btn submit add icon`,icon:`plus`,appearance:`button`,variant:`primary`},{default:i(()=>[d(o(l(e)(`New user group`)),1)]),_:1},8,[`href`])]),"interior-nav":i(()=>[u(`craft-nav-list`,null,[(n(!0),f(c,null,m(t.subnav,(e,t)=>(n(),p(y,{key:t,as:`craft-nav-item`,active:e.active??!1,href:e.url,inertia:e.inertia??!0,block:``,flush:``},{default:i(()=>[d(o(e.label),1)]),_:2},1032,[`active`,`href`,`inertia`]))),128))])]),default:i(()=>[r(v,{table:l(k)},{"empty-row":i(()=>[r(g,{icon:`users`,label:l(e)(`No groups exist yet.`)},{default:i(()=>[r(y,{inertia:!1,href:l(T)().url,class:`btn submit add icon`,icon:`plus`,appearance:`button`},{default:i(()=>[d(o(l(e)(`New user group`)),1)]),_:1},8,[`href`])]),_:1},8,[`label`])]),_:1},8,[`table`])]),_:1}))}});export{E as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsVolumesIndexPage-BxmVx8pQ.js b/resources/build/assets/SettingsVolumesIndexPage-BxmVx8pQ.js new file mode 100644 index 00000000000..346989b6cd2 --- /dev/null +++ b/resources/build/assets/SettingsVolumesIndexPage-BxmVx8pQ.js @@ -0,0 +1 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-DyslAjVs.js";import{A as t,B as n,D as r,E as i,F as a,J as o,R as s,S as c,T as l,X as u,b as d,dt as f,ft as p,h as m,ot as h,tt as g,v as _,y as v}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{c as y,n as b,o as x,t as S}from"./AdminTable-TPqS7_4T.js";import{s as C}from"./InlineFlash-Duhr9n8-.js";import{t as w}from"./DeleteButton-u_rv7O4A.js";import{t as T}from"./createCraftColumnHelper-CPPRJRXc.js";import{t as E}from"./IndexLayout-C2GDwLPK.js";import{a as D,c as O,i as k,n as A,r as j,t as M}from"./VolumesController-Cjwrxzci.js";var N=r({__name:`SettingsVolumesIndexPage`,props:{title:{},volumes:{},sort:{},readOnly:{type:Boolean}},setup(r){let N=r;function P(t){confirm(e(`Are you sure you want to delete “{name}?`,{name:t.name}))&&p.delete(A(t.id))}let F=h(N.volumes.map(e=>e.id)),I=_(()=>(F.value??[]).map(e=>N.volumes.find(t=>t.id===e)).filter(Boolean));function L(e,t){let n=[...F.value],[r]=n.splice(e,1);n.splice(t,0,r),F.value=n}o(F,(e,t)=>{a(()=>{p.post(D(),{ids:[...e]},{preserveScroll:!0,preserveState:!0,onError:()=>{F.value=t}})})});let R=T(),z=_(()=>({name:!0,handle:!0,actions:!N.readOnly})),B=_(()=>[R.link(`name`,{header:e(`Name`),props:({row:e})=>({href:j(e.original.id).url,inertia:!1})}),R.handle(`handle`),R.actions(({row:e})=>[t(w,{onClick:()=>P(e.original)})])]),V=x({get data(){return I.value},get columns(){return B.value},state:{get columnVisibility(){return z.value}},enableSorting:!1,getCoreRowModel:y()}),H=_(()=>({volumes:{label:e(`Volumes`),url:k().url,active:!0},transforms:{label:e(`Image Transforms`),url:O().url}}));return(t,a)=>(s(),d(E,{title:r.title},{actions:u(()=>[i(C,{appearance:`button`,href:f(M)().url,variant:`primary`,inertia:!1,icon:`plus`},{default:u(()=>[l(g(f(e)(`New volume`)),1)]),_:1},8,[`href`])]),"interior-nav":u(()=>[v(`craft-nav-list`,null,[(s(!0),c(m,null,n(H.value,(e,t)=>(s(),d(C,{key:t,as:`craft-nav-item`,active:e.active??!1,href:e.url,block:``,flush:``,inertia:e.inertia??!0},{default:u(()=>[l(g(e.label),1)]),_:2},1032,[`active`,`href`,`inertia`]))),128))])]),default:u(()=>[i(S,{table:f(V),reorderable:!0,"read-only":r.readOnly,onReorder:L},{"empty-row":u(()=>[i(b,{label:f(e)(`No volumes exist yet.`),icon:`light/files`},null,8,[`label`])]),_:1},8,[`table`,`read-only`])]),_:1},8,[`title`]))}});export{N as default}; \ No newline at end of file diff --git a/resources/build/assets/SettingsVolumesIndexPage-DPtPD_SV.js b/resources/build/assets/SettingsVolumesIndexPage-DPtPD_SV.js deleted file mode 100644 index 7341d6d389a..00000000000 --- a/resources/build/assets/SettingsVolumesIndexPage-DPtPD_SV.js +++ /dev/null @@ -1 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import"./cp-CoDnSlcH.js";import{E as t,L as n,P as r,T as i,Y as a,_ as o,at as s,dt as c,et as l,k as u,m as d,q as f,ut as p,v as m,w as h,x as g,y as _,z as v}from"./_plugin-vue_export-helper-C3orD-yt.js";import{l as y,n as b,s as x,t as S}from"./AdminTable-BaWDz4rn.js";import{o as C}from"./InlineFlash-Mr7imUWg.js";import{t as w}from"./DeleteButton-CPJTFImZ.js";import{t as T}from"./createCraftColumnHelper-DQvg7ogx.js";import{t as E}from"./IndexLayout-B0w7rMLf.js";import{a as D,c as O,i as k,n as A,r as j,t as M}from"./VolumesController-CoajQ-Mw.js";var N=t({__name:`SettingsVolumesIndexPage`,props:{title:{},volumes:{},sort:{},readOnly:{type:Boolean}},setup(t){let N=t;function P(t){confirm(e(`Are you sure you want to delete “{name}?`,{name:t.name}))&&c.delete(A(t.id))}let F=s(N.volumes.map(e=>e.id)),I=o(()=>(F.value??[]).map(e=>N.volumes.find(t=>t.id===e)).filter(Boolean));function L(e,t){let n=[...F.value],[r]=n.splice(e,1);n.splice(t,0,r),F.value=n}f(F,(e,t)=>{r(()=>{c.post(D(),{ids:[...e]},{preserveScroll:!0,preserveState:!0,onError:()=>{F.value=t}})})});let R=T(),z=o(()=>({name:!0,handle:!0,actions:!N.readOnly})),B=o(()=>[R.link(`name`,{header:e(`Name`),props:({row:e})=>({href:j(e.original.id).url,inertia:!1})}),R.handle(`handle`),R.actions(({row:e})=>[u(w,{onClick:()=>P(e.original)})])]),V=x({get data(){return I.value},get columns(){return B.value},state:{get columnVisibility(){return z.value}},enableSorting:!1,getCoreRowModel:y()}),H=o(()=>({volumes:{label:e(`Volumes`),url:k().url,active:!0},transforms:{label:e(`Image Transforms`),url:O().url}}));return(r,o)=>(n(),_(E,{title:t.title},{actions:a(()=>[i(C,{appearance:`button`,href:p(M)().url,variant:`primary`,inertia:!1,icon:`plus`},{default:a(()=>[h(l(p(e)(`New volume`)),1)]),_:1},8,[`href`])]),"interior-nav":a(()=>[m(`craft-nav-list`,null,[(n(!0),g(d,null,v(H.value,(e,t)=>(n(),_(C,{key:t,as:`craft-nav-item`,active:e.active??!1,href:e.url,block:``,flush:``,inertia:e.inertia??!0},{default:a(()=>[h(l(e.label),1)]),_:2},1032,[`active`,`href`,`inertia`]))),128))])]),default:a(()=>[i(S,{table:p(V),reorderable:!0,"read-only":t.readOnly,onReorder:L},{"empty-row":a(()=>[i(b,{label:p(e)(`No volumes exist yet.`),icon:`light/files`},null,8,[`label`])]),_:1},8,[`table`,`read-only`])]),_:1},8,[`title`]))}});export{N as default}; \ No newline at end of file diff --git a/resources/build/assets/Updater-DFK4kZ--.js b/resources/build/assets/Updater-DFK4kZ--.js new file mode 100644 index 00000000000..5787b274b66 --- /dev/null +++ b/resources/build/assets/Updater-DFK4kZ--.js @@ -0,0 +1,5 @@ +import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{m as t}from"./cp-DyslAjVs.js";import{B as n,D as r,E as i,I as a,J as o,R as s,S as c,a as l,dt as u,h as d,ot as f,t as p,tt as m,v as h,x as g,y as _}from"./_plugin-vue_export-helper-BBgEixrZ.js";function v(n,r){let i=f({...r}),a=f(!1),o=h(()=>!!i.value.error),s=h(()=>!!i.value.finished);async function c(e){a.value=!0;let r;try{r=await t.post(`/admin/actions/${n}/${e}`,{data:i.value.data},{headers:{"Content-Type":`application/json`,Accept:`application/json`}})}catch(e){d(e)}finally{a.value=!1}l(r.data)}function l(e){e.data&&(i.value.data=e.data),i.value={...i.value,status:e.status,error:e.error,errorDetails:e.errorDetails,options:e.options,finished:e.finished,returnUrl:e.returnUrl??i.value.returnUrl,nextAction:e.nextAction},e.nextAction&&c(e.nextAction)}function u(e){e.nextAction&&(i.value.error=void 0,i.value.errorDetails=void 0,i.value.options=void 0,e.status&&(i.value.status=e.status),e.data&&(i.value.data=e.data),c(e.nextAction))}function d(r){let a=r.response?.data?.message||r.message||`Unknown error`,o=r.response?.statusText||`Error`;i.value.error=e(`A fatal error has occurred:`),i.value.errorDetails=`${e(`Status:`)} ${o}\n\n${e(`Response:`)} ${a}`,i.value.options=[{label:e(`Troubleshoot`),url:`https://craftcms.com/knowledge-base/failed-updates`},{label:e(`Send for help`),email:`support@craftcms.com`}],t.post(`/admin/actions/${n}/finish`,{data:i.value.data},{headers:{"Content-Type":`application/json`,Accept:`application/json`}}).catch(()=>{})}function p(e){let t=encodeURIComponent(e.subject||`Craft update failure`),n=`Describe what happened here.`;return i.value.errorDetails&&(n+=` + +----------------------------------------------------------- + +`+i.value.errorDetails),`mailto:${e.email}?subject=${t}&body=${encodeURIComponent(n)}`}return{state:i,isLoading:a,hasError:o,isFinished:s,executeAction:c,handleOptionClick:u,getEmailLink:p}}var y={class:`updater`},b={class:`updater-graphic`},x={key:0,visible:!0,class:`spinner`},S={key:1,name:`circle-check`,class:`icon-success`},C={key:2,name:`alert-circle`,class:`icon-error`},w={class:`updater-status`},T=[`innerHTML`],E={key:0,class:`error-details`,tabindex:`0`},D=[`innerHTML`],O=[`innerHTML`],k={key:0,class:`updater-options`},A=[`href`,`target`],j=[`onClick`,`variant`],M=p(r({__name:`Updater`,props:{title:{},initialState:{},actionPrefix:{},returnUrl:{}},setup(e){let t=e,{state:r,isLoading:f,hasError:p,isFinished:h,executeAction:M,handleOptionClick:N,getEmailLink:P}=v(t.actionPrefix,t.initialState);function F(e){return e.replace(/\n{2,}/g,`

`).replace(/\n/g,`
`).replace(/`(.*?)`/g,`$1`)}function I(){setTimeout(()=>{window.location.href=r.value.returnUrl||t.returnUrl||`/admin/dashboard`},750)}function L(e){return!!(e.url||e.email)}function R(e){return e.url?e.url:e.email?P(e):`#`}return a(()=>{t.initialState.nextAction&&M(t.initialState.nextAction)}),o(h,e=>{e&&I()}),(t,a)=>(s(),c(d,null,[i(u(l),{title:e.title},null,8,[`title`]),_(`div`,y,[_(`div`,b,[u(f)&&!u(p)?(s(),c(`craft-spinner`,x)):u(h)?(s(),c(`craft-icon`,S)):u(p)?(s(),c(`craft-icon`,C)):g(``,!0)]),_(`div`,w,[u(r).error?(s(),c(d,{key:0},[_(`p`,{class:`error-message`,innerHTML:F(u(r).error)},null,8,T),u(r).errorDetails?(s(),c(`div`,E,[_(`p`,{innerHTML:F(u(r).errorDetails)},null,8,D)])):g(``,!0)],64)):u(r).status?(s(),c(`p`,{key:1,innerHTML:F(u(r).status)},null,8,O)):g(``,!0)]),u(r).options&&!u(f)?(s(),c(`div`,k,[(s(!0),c(d,null,n(u(r).options,e=>(s(),c(d,{key:e.label},[L(e)?(s(),c(`a`,{key:0,href:R(e),target:e.url?`_blank`:void 0,class:`btn big`},m(e.label),9,A)):(s(),c(`craft-button`,{key:1,type:`button`,onClick:t=>u(N)(e),variant:e.submit?`primary`:`default`,size:`lg`},m(e.label),9,j))],64))),128))])):g(``,!0)])],64))}}),[[`__scopeId`,`data-v-5a0085ac`]]);export{M as default}; \ No newline at end of file diff --git a/resources/build/assets/Updater-hG7jteJJ.js b/resources/build/assets/Updater-hG7jteJJ.js deleted file mode 100644 index b909e5a70a8..00000000000 --- a/resources/build/assets/Updater-hG7jteJJ.js +++ /dev/null @@ -1,5 +0,0 @@ -import{l as e}from"./nav-item-CDlDuMpT-DENemU4x.js";import{m as t}from"./cp-CoDnSlcH.js";import{E as n,F as r,L as i,T as a,_ as o,a as s,at as c,b as l,et as u,m as d,q as f,t as p,ut as m,v as h,x as g,z as _}from"./_plugin-vue_export-helper-C3orD-yt.js";function v(n,r){let i=c({...r}),a=c(!1),s=o(()=>!!i.value.error),l=o(()=>!!i.value.finished);async function u(e){a.value=!0;let r;try{r=await t.post(`/admin/actions/${n}/${e}`,{data:i.value.data},{headers:{"Content-Type":`application/json`,Accept:`application/json`}})}catch(e){p(e)}finally{a.value=!1}d(r.data)}function d(e){e.data&&(i.value.data=e.data),i.value={...i.value,status:e.status,error:e.error,errorDetails:e.errorDetails,options:e.options,finished:e.finished,returnUrl:e.returnUrl??i.value.returnUrl,nextAction:e.nextAction},e.nextAction&&u(e.nextAction)}function f(e){e.nextAction&&(i.value.error=void 0,i.value.errorDetails=void 0,i.value.options=void 0,e.status&&(i.value.status=e.status),e.data&&(i.value.data=e.data),u(e.nextAction))}function p(r){let a=r.response?.data?.message||r.message||`Unknown error`,o=r.response?.statusText||`Error`;i.value.error=e(`A fatal error has occurred:`),i.value.errorDetails=`${e(`Status:`)} ${o}\n\n${e(`Response:`)} ${a}`,i.value.options=[{label:e(`Troubleshoot`),url:`https://craftcms.com/knowledge-base/failed-updates`},{label:e(`Send for help`),email:`support@craftcms.com`}],t.post(`/admin/actions/${n}/finish`,{data:i.value.data},{headers:{"Content-Type":`application/json`,Accept:`application/json`}}).catch(()=>{})}function m(e){let t=encodeURIComponent(e.subject||`Craft update failure`),n=`Describe what happened here.`;return i.value.errorDetails&&(n+=` - ------------------------------------------------------------ - -`+i.value.errorDetails),`mailto:${e.email}?subject=${t}&body=${encodeURIComponent(n)}`}return{state:i,isLoading:a,hasError:s,isFinished:l,executeAction:u,handleOptionClick:f,getEmailLink:m}}var y={class:`updater`},b={class:`updater-graphic`},x={key:0,visible:!0,class:`spinner`},S={key:1,name:`circle-check`,class:`icon-success`},C={key:2,name:`alert-circle`,class:`icon-error`},w={class:`updater-status`},T=[`innerHTML`],E={key:0,class:`error-details`,tabindex:`0`},D=[`innerHTML`],O=[`innerHTML`],k={key:0,class:`updater-options`},A=[`href`,`target`],j=[`onClick`,`variant`],M=p(n({__name:`Updater`,props:{title:{},initialState:{},actionPrefix:{},returnUrl:{}},setup(e){let t=e,{state:n,isLoading:o,hasError:c,isFinished:p,executeAction:M,handleOptionClick:N,getEmailLink:P}=v(t.actionPrefix,t.initialState);function F(e){return e.replace(/\n{2,}/g,`

`).replace(/\n/g,`
`).replace(/`(.*?)`/g,`$1`)}function I(){setTimeout(()=>{window.location.href=n.value.returnUrl||t.returnUrl||`/admin/dashboard`},750)}function L(e){return!!(e.url||e.email)}function R(e){return e.url?e.url:e.email?P(e):`#`}return r(()=>{t.initialState.nextAction&&M(t.initialState.nextAction)}),f(p,e=>{e&&I()}),(t,r)=>(i(),g(d,null,[a(m(s),{title:e.title},null,8,[`title`]),h(`div`,y,[h(`div`,b,[m(o)&&!m(c)?(i(),g(`craft-spinner`,x)):m(p)?(i(),g(`craft-icon`,S)):m(c)?(i(),g(`craft-icon`,C)):l(``,!0)]),h(`div`,w,[m(n).error?(i(),g(d,{key:0},[h(`p`,{class:`error-message`,innerHTML:F(m(n).error)},null,8,T),m(n).errorDetails?(i(),g(`div`,E,[h(`p`,{innerHTML:F(m(n).errorDetails)},null,8,D)])):l(``,!0)],64)):m(n).status?(i(),g(`p`,{key:1,innerHTML:F(m(n).status)},null,8,O)):l(``,!0)]),m(n).options&&!m(o)?(i(),g(`div`,k,[(i(!0),g(d,null,_(m(n).options,e=>(i(),g(d,{key:e.label},[L(e)?(i(),g(`a`,{key:0,href:R(e),target:e.url?`_blank`:void 0,class:`btn big`},u(e.label),9,A)):(i(),g(`craft-button`,{key:1,type:`button`,onClick:t=>m(N)(e),variant:e.submit?`primary`:`default`,size:`lg`},u(e.label),9,j))],64))),128))])):l(``,!0)])],64))}}),[[`__scopeId`,`data-v-5a0085ac`]]);export{M as default}; \ No newline at end of file diff --git a/resources/build/assets/UserGroupsController-CSpl-KnZ.js b/resources/build/assets/UserGroupsController-CSpl-KnZ.js deleted file mode 100644 index 35d87713e28..00000000000 --- a/resources/build/assets/UserGroupsController-CSpl-KnZ.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e,t}from"./wayfinder-CyAPyHKQ.js";var n=e=>({url:n.url(e),method:`get`});n.definition={methods:[`get`,`head`],url:`/admin/settings/users/groups/new`},n.url=t=>n.definition.url+e(t),n.get=e=>({url:n.url(e),method:`get`}),n.head=e=>({url:n.url(e),method:`head`});var r=e=>({url:r.url(e),method:`post`});r.definition={methods:[`post`],url:`/admin/settings/users/groups`},r.url=t=>r.definition.url+e(t),r.post=e=>({url:r.url(e),method:`post`});var i=(e,t)=>({url:i.url(e,t),method:`delete`});i.definition={methods:[`delete`],url:`/admin/settings/users/groups/{groupId}`},i.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={groupId:n}),Array.isArray(n)&&(n={groupId:n[0]}),n=t(n);let a={groupId:n.groupId};return i.definition.url.replace(`{groupId}`,a.groupId.toString()).replace(/\/+$/,``)+e(r)},i.delete=(e,t)=>({url:i.url(e,t),method:`delete`});var a=(e,t)=>({url:a.url(e,t),method:`get`});a.definition={methods:[`get`,`head`],url:`/admin/settings/users/groups/{userGroup}`},a.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={userGroup:n}),typeof n==`object`&&!Array.isArray(n)&&`id`in n&&(n={userGroup:n.id}),Array.isArray(n)&&(n={userGroup:n[0]}),n=t(n);let i={userGroup:typeof n.userGroup==`object`?n.userGroup.id:n.userGroup};return a.definition.url.replace(`{userGroup}`,i.userGroup.toString()).replace(/\/+$/,``)+e(r)},a.get=(e,t)=>({url:a.url(e,t),method:`get`}),a.head=(e,t)=>({url:a.url(e,t),method:`head`});export{r as i,i as n,a as r,n as t}; \ No newline at end of file diff --git a/resources/build/assets/UserGroupsController-azMu-Mwh.js b/resources/build/assets/UserGroupsController-azMu-Mwh.js new file mode 100644 index 00000000000..1ee82c8f155 --- /dev/null +++ b/resources/build/assets/UserGroupsController-azMu-Mwh.js @@ -0,0 +1 @@ +import{n as e,t}from"./wayfinder-ghdHxiwr.js";var n=e=>({url:n.url(e),method:`get`});n.definition={methods:[`get`,`head`],url:`/admin/settings/users`},n.url=t=>n.definition.url+e(t),n.get=e=>({url:n.url(e),method:`get`}),n.head=e=>({url:n.url(e),method:`head`});var r=e=>({url:r.url(e),method:`get`});r.definition={methods:[`get`,`head`],url:`/admin/settings/users/groups/new`},r.url=t=>r.definition.url+e(t),r.get=e=>({url:r.url(e),method:`get`}),r.head=e=>({url:r.url(e),method:`head`});var i=e=>({url:i.url(e),method:`post`});i.definition={methods:[`post`],url:`/admin/settings/users/groups`},i.url=t=>i.definition.url+e(t),i.post=e=>({url:i.url(e),method:`post`});var a=(e,t)=>({url:a.url(e,t),method:`delete`});a.definition={methods:[`delete`],url:`/admin/settings/users/groups/{groupId}`},a.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={groupId:n}),Array.isArray(n)&&(n={groupId:n[0]}),n=t(n);let i={groupId:n.groupId};return a.definition.url.replace(`{groupId}`,i.groupId.toString()).replace(/\/+$/,``)+e(r)},a.delete=(e,t)=>({url:a.url(e,t),method:`delete`});var o=(e,t)=>({url:o.url(e,t),method:`get`});o.definition={methods:[`get`,`head`],url:`/admin/settings/users/groups/{userGroup}`},o.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={userGroup:n}),typeof n==`object`&&!Array.isArray(n)&&`id`in n&&(n={userGroup:n.id}),Array.isArray(n)&&(n={userGroup:n[0]}),n=t(n);let i={userGroup:typeof n.userGroup==`object`?n.userGroup.id:n.userGroup};return o.definition.url.replace(`{userGroup}`,i.userGroup.toString()).replace(/\/+$/,``)+e(r)},o.get=(e,t)=>({url:o.url(e,t),method:`get`}),o.head=(e,t)=>({url:o.url(e,t),method:`head`});export{i,a as n,o as r,r as t}; \ No newline at end of file diff --git a/resources/build/assets/UtilitiesShowPage-A8JIeXgI.js b/resources/build/assets/UtilitiesShowPage-A8JIeXgI.js deleted file mode 100644 index edc5d3cffaf..00000000000 --- a/resources/build/assets/UtilitiesShowPage-A8JIeXgI.js +++ /dev/null @@ -1 +0,0 @@ -import{E as e,L as t,Y as n,b as r,et as i,m as a,v as o,w as s,x as c,y as l,z as u}from"./_plugin-vue_export-helper-C3orD-yt.js";import{o as d}from"./InlineFlash-Mr7imUWg.js";import{t as f}from"./DynamicHtmlRenderer-C36QxfOD.js";import{t as p}from"./IndexLayout-B0w7rMLf.js";var m={class:`content-pane`},h=e({__name:`UtilitiesShowPage`,props:{id:{},title:{},contentHtml:{},toolbarHtml:{},footerHtml:{},viewData:{},utilities:{},bridgedHeadHtml:{},bridgedBodyHtml:{}},setup(e){return(h,g)=>(t(),l(p,{title:e.title,debug:h.$props},{actions:n(()=>[e.toolbarHtml?(t(),l(f,{key:0,html:e.toolbarHtml},null,8,[`html`])):r(``,!0)]),"interior-nav":n(()=>[o(`craft-nav-list`,null,[(t(!0),c(a,null,u(e.utilities,r=>(t(),l(d,{key:r.id,as:`craft-nav-item`,icon:r.iconPath,href:r.url,active:r.id===e.id,indicator:!!r.badgeCount,block:``,flush:``},{default:n(()=>[s(i(r.displayName),1)]),_:2},1032,[`icon`,`href`,`active`,`indicator`]))),128))])]),default:n(()=>[o(`div`,m,[e.contentHtml?(t(),l(f,{key:0,html:e.contentHtml},null,8,[`html`])):r(``,!0),e.footerHtml?(t(),l(f,{key:1,html:e.footerHtml},null,8,[`html`])):r(``,!0)])]),_:1},8,[`title`,`debug`]))}});export{h as default}; \ No newline at end of file diff --git a/resources/build/assets/UtilitiesShowPage-DG3mJs3G.js b/resources/build/assets/UtilitiesShowPage-DG3mJs3G.js new file mode 100644 index 00000000000..4608e30bcf3 --- /dev/null +++ b/resources/build/assets/UtilitiesShowPage-DG3mJs3G.js @@ -0,0 +1 @@ +import{B as e,D as t,R as n,S as r,T as i,X as a,b as o,h as s,tt as c,x as l,y as u}from"./_plugin-vue_export-helper-BBgEixrZ.js";import{s as d}from"./InlineFlash-Duhr9n8-.js";import{t as f}from"./DynamicHtmlRenderer-DA7jJP2G.js";import{t as p}from"./IndexLayout-C2GDwLPK.js";var m={class:`content-pane`},h=t({__name:`UtilitiesShowPage`,props:{id:{},title:{},contentHtml:{},toolbarHtml:{},footerHtml:{},viewData:{},utilities:{},bridgedHeadHtml:{},bridgedBodyHtml:{}},setup(t){return(h,g)=>(n(),o(p,{title:t.title,debug:h.$props},{actions:a(()=>[t.toolbarHtml?(n(),o(f,{key:0,html:t.toolbarHtml},null,8,[`html`])):l(``,!0)]),"interior-nav":a(()=>[u(`craft-nav-list`,null,[(n(!0),r(s,null,e(t.utilities,e=>(n(),o(d,{key:e.id,as:`craft-nav-item`,icon:e.iconPath,href:e.url,active:e.id===t.id,indicator:!!e.badgeCount,block:``,flush:``},{default:a(()=>[i(c(e.displayName),1)]),_:2},1032,[`icon`,`href`,`active`,`indicator`]))),128))])]),default:a(()=>[u(`div`,m,[t.contentHtml?(n(),o(f,{key:0,html:t.contentHtml},null,8,[`html`])):l(``,!0),t.footerHtml?(n(),o(f,{key:1,html:t.footerHtml},null,8,[`html`])):l(``,!0)])]),_:1},8,[`title`,`debug`]))}});export{h as default}; \ No newline at end of file diff --git a/resources/build/assets/VolumesController-CoajQ-Mw.js b/resources/build/assets/VolumesController-Cjwrxzci.js similarity index 98% rename from resources/build/assets/VolumesController-CoajQ-Mw.js rename to resources/build/assets/VolumesController-Cjwrxzci.js index 7e6f6177484..a0a43e34a48 100644 --- a/resources/build/assets/VolumesController-CoajQ-Mw.js +++ b/resources/build/assets/VolumesController-Cjwrxzci.js @@ -1 +1 @@ -import{n as e,t}from"./wayfinder-CyAPyHKQ.js";var n=e=>({url:n.url(e),method:`post`});n.definition={methods:[`post`],url:`/admin/actions/image-transforms/save`},n.url=t=>n.definition.url+e(t),n.post=e=>({url:n.url(e),method:`post`});var r=e=>({url:r.url(e),method:`get`});r.definition={methods:[`get`,`head`],url:`/admin/settings/assets/transforms`},r.url=t=>r.definition.url+e(t),r.get=e=>({url:r.url(e),method:`get`}),r.head=e=>({url:r.url(e),method:`head`});var i=e=>({url:i.url(e),method:`get`});i.definition={methods:[`get`,`head`],url:`/admin/settings/assets/transforms/new`},i.url=t=>i.definition.url+e(t),i.get=e=>({url:i.url(e),method:`get`}),i.head=e=>({url:i.url(e),method:`head`});var a=(e,t)=>({url:a.url(e,t),method:`get`});a.definition={methods:[`get`,`head`],url:`/admin/settings/assets/transforms/{transformHandle}`},a.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={transformHandle:n}),Array.isArray(n)&&(n={transformHandle:n[0]}),n=t(n);let i={transformHandle:n.transformHandle};return a.definition.url.replace(`{transformHandle}`,i.transformHandle.toString()).replace(/\/+$/,``)+e(r)},a.get=(e,t)=>({url:a.url(e,t),method:`get`}),a.head=(e,t)=>({url:a.url(e,t),method:`head`});var o=(e,t)=>({url:o.url(e,t),method:`delete`});o.definition={methods:[`delete`],url:`/admin/settings/assets/transforms/{transformId}`},o.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={transformId:n}),Array.isArray(n)&&(n={transformId:n[0]}),n=t(n);let i={transformId:n.transformId};return o.definition.url.replace(`{transformId}`,i.transformId.toString()).replace(/\/+$/,``)+e(r)},o.delete=(e,t)=>({url:o.url(e,t),method:`delete`});var s=e=>({url:s.url(e),method:`post`});s.definition={methods:[`post`],url:`/admin/actions/volumes/save-volume`},s.url=t=>s.definition.url+e(t),s.post=e=>({url:s.url(e),method:`post`});var c=e=>({url:c.url(e),method:`post`});c.definition={methods:[`post`],url:`/admin/actions/volumes/reorder-volumes`},c.url=t=>c.definition.url+e(t),c.post=e=>({url:c.url(e),method:`post`});var l=e=>({url:l.url(e),method:`get`});l.definition={methods:[`get`,`head`],url:`/admin/settings/assets`},l.url=t=>l.definition.url+e(t),l.get=e=>({url:l.url(e),method:`get`}),l.head=e=>({url:l.url(e),method:`head`});var u=e=>({url:u.url(e),method:`get`});u.definition={methods:[`get`,`head`],url:`/admin/settings/assets/volumes/new`},u.url=t=>u.definition.url+e(t),u.get=e=>({url:u.url(e),method:`get`}),u.head=e=>({url:u.url(e),method:`head`});var d=(e,t)=>({url:d.url(e,t),method:`get`});d.definition={methods:[`get`,`head`],url:`/admin/settings/assets/volumes/{volumeId}`},d.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={volumeId:n}),Array.isArray(n)&&(n={volumeId:n[0]}),n=t(n);let i={volumeId:n.volumeId};return d.definition.url.replace(`{volumeId}`,i.volumeId.toString()).replace(/\/+$/,``)+e(r)},d.get=(e,t)=>({url:d.url(e,t),method:`get`}),d.head=(e,t)=>({url:d.url(e,t),method:`head`});var f=(e,t)=>({url:f.url(e,t),method:`delete`});f.definition={methods:[`delete`],url:`/admin/settings/assets/volumes/{volumeId}`},f.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={volumeId:n}),Array.isArray(n)&&(n={volumeId:n[0]}),n=t(n);let i={volumeId:n.volumeId};return f.definition.url.replace(`{volumeId}`,i.volumeId.toString()).replace(/\/+$/,``)+e(r)},f.delete=(e,t)=>({url:f.url(e,t),method:`delete`});export{c as a,r as c,l as i,f as n,i as o,d as r,o as s,u as t}; \ No newline at end of file +import{n as e,t}from"./wayfinder-ghdHxiwr.js";var n=e=>({url:n.url(e),method:`post`});n.definition={methods:[`post`],url:`/admin/actions/image-transforms/save`},n.url=t=>n.definition.url+e(t),n.post=e=>({url:n.url(e),method:`post`});var r=e=>({url:r.url(e),method:`get`});r.definition={methods:[`get`,`head`],url:`/admin/settings/assets/transforms`},r.url=t=>r.definition.url+e(t),r.get=e=>({url:r.url(e),method:`get`}),r.head=e=>({url:r.url(e),method:`head`});var i=e=>({url:i.url(e),method:`get`});i.definition={methods:[`get`,`head`],url:`/admin/settings/assets/transforms/new`},i.url=t=>i.definition.url+e(t),i.get=e=>({url:i.url(e),method:`get`}),i.head=e=>({url:i.url(e),method:`head`});var a=(e,t)=>({url:a.url(e,t),method:`get`});a.definition={methods:[`get`,`head`],url:`/admin/settings/assets/transforms/{transformHandle}`},a.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={transformHandle:n}),Array.isArray(n)&&(n={transformHandle:n[0]}),n=t(n);let i={transformHandle:n.transformHandle};return a.definition.url.replace(`{transformHandle}`,i.transformHandle.toString()).replace(/\/+$/,``)+e(r)},a.get=(e,t)=>({url:a.url(e,t),method:`get`}),a.head=(e,t)=>({url:a.url(e,t),method:`head`});var o=(e,t)=>({url:o.url(e,t),method:`delete`});o.definition={methods:[`delete`],url:`/admin/settings/assets/transforms/{transformId}`},o.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={transformId:n}),Array.isArray(n)&&(n={transformId:n[0]}),n=t(n);let i={transformId:n.transformId};return o.definition.url.replace(`{transformId}`,i.transformId.toString()).replace(/\/+$/,``)+e(r)},o.delete=(e,t)=>({url:o.url(e,t),method:`delete`});var s=e=>({url:s.url(e),method:`post`});s.definition={methods:[`post`],url:`/admin/actions/volumes/save-volume`},s.url=t=>s.definition.url+e(t),s.post=e=>({url:s.url(e),method:`post`});var c=e=>({url:c.url(e),method:`post`});c.definition={methods:[`post`],url:`/admin/actions/volumes/reorder-volumes`},c.url=t=>c.definition.url+e(t),c.post=e=>({url:c.url(e),method:`post`});var l=e=>({url:l.url(e),method:`get`});l.definition={methods:[`get`,`head`],url:`/admin/settings/assets`},l.url=t=>l.definition.url+e(t),l.get=e=>({url:l.url(e),method:`get`}),l.head=e=>({url:l.url(e),method:`head`});var u=e=>({url:u.url(e),method:`get`});u.definition={methods:[`get`,`head`],url:`/admin/settings/assets/volumes/new`},u.url=t=>u.definition.url+e(t),u.get=e=>({url:u.url(e),method:`get`}),u.head=e=>({url:u.url(e),method:`head`});var d=(e,t)=>({url:d.url(e,t),method:`get`});d.definition={methods:[`get`,`head`],url:`/admin/settings/assets/volumes/{volumeId}`},d.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={volumeId:n}),Array.isArray(n)&&(n={volumeId:n[0]}),n=t(n);let i={volumeId:n.volumeId};return d.definition.url.replace(`{volumeId}`,i.volumeId.toString()).replace(/\/+$/,``)+e(r)},d.get=(e,t)=>({url:d.url(e,t),method:`get`}),d.head=(e,t)=>({url:d.url(e,t),method:`head`});var f=(e,t)=>({url:f.url(e,t),method:`delete`});f.definition={methods:[`delete`],url:`/admin/settings/assets/volumes/{volumeId}`},f.url=(n,r)=>{(typeof n==`string`||typeof n==`number`)&&(n={volumeId:n}),Array.isArray(n)&&(n={volumeId:n[0]}),n=t(n);let i={volumeId:n.volumeId};return f.definition.url.replace(`{volumeId}`,i.volumeId.toString()).replace(/\/+$/,``)+e(r)},f.delete=(e,t)=>({url:f.url(e,t),method:`delete`});export{c as a,r as c,l as i,f as n,i as o,d as r,o as s,u as t}; \ No newline at end of file diff --git a/resources/build/assets/_plugin-vue_export-helper-C3orD-yt.js b/resources/build/assets/_plugin-vue_export-helper-BBgEixrZ.js similarity index 52% rename from resources/build/assets/_plugin-vue_export-helper-C3orD-yt.js rename to resources/build/assets/_plugin-vue_export-helper-BBgEixrZ.js index 2b997d527ef..3b0f086dc40 100644 --- a/resources/build/assets/_plugin-vue_export-helper-C3orD-yt.js +++ b/resources/build/assets/_plugin-vue_export-helper-BBgEixrZ.js @@ -1,4 +1,4 @@ -import{n as e}from"./rolldown-runtime-DXc-PV0M.js";function t(e){return typeof e==`symbol`||e instanceof Symbol}var n=typeof globalThis==`object`&&globalThis||typeof window==`object`&&window||typeof self==`object`&&self||typeof global==`object`&&global||(function(){return this})()||Function(`return this`)();function r(e,t,{signal:n,edges:r}={}){let i,a=null,o=r!=null&&r.includes(`leading`),s=r==null||r.includes(`trailing`),c=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},l=()=>{s&&c(),p()},u=null,d=()=>{u!=null&&clearTimeout(u),u=setTimeout(()=>{u=null,l()},t)},f=()=>{u!==null&&(clearTimeout(u),u=null)},p=()=>{f(),i=void 0,a=null},m=()=>{c()},h=function(...e){if(n?.aborted)return;i=this,a=e;let t=u==null;d(),o&&t&&c()};return h.schedule=d,h.cancel=p,h.flush=m,n?.addEventListener(`abort`,p,{once:!0}),h}function i(){}function a(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function o(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function s(e){if(a(e))return e;if(Array.isArray(e)||o(e)||e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e);if(t==null)return Object.assign(Object.create(t),e);let n=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new n(e);if(e instanceof RegExp){let t=new n(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new n(e.buffer.slice(0));if(e instanceof Error){let t;return t=e instanceof AggregateError?new n(e.errors,e.message,{cause:e.cause}):new n(e.message,{cause:e.cause}),t.stack=e.stack,Object.assign(t,e),t}return typeof File<`u`&&e instanceof File?new n([e],e.name,{type:e.type,lastModified:e.lastModified}):typeof e==`object`?Object.assign(Object.create(t),e):e}function c(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function l(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var u=`[object RegExp]`,d=`[object String]`,f=`[object Number]`,p=`[object Boolean]`,m=`[object Arguments]`,h=`[object Symbol]`,g=`[object Date]`,_=`[object Map]`,v=`[object Set]`,y=`[object Array]`,b=`[object Function]`,x=`[object ArrayBuffer]`,S=`[object Object]`,C=`[object Error]`,w=`[object DataView]`,T=`[object Uint8Array]`,E=`[object Uint8ClampedArray]`,D=`[object Uint16Array]`,ee=`[object Uint32Array]`,te=`[object BigUint64Array]`,ne=`[object Int8Array]`,re=`[object Int16Array]`,ie=`[object Int32Array]`,ae=`[object BigInt64Array]`,oe=`[object Float32Array]`,se=`[object Float64Array]`;function ce(e){return n.Buffer!==void 0&&n.Buffer.isBuffer(e)}function le(e,t){return ue(e,void 0,e,new Map,t)}function ue(e,t,n,r=new Map,i=void 0){let s=i?.(e,t,n,r);if(s!==void 0)return s;if(a(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;ave(s,i,void 0,e,t,n,r));if(c===-1)return!1;a.splice(c,1)}return!0}case y:case T:case E:case D:case ee:case te:case ne:case re:case ie:case ae:case oe:case se:if(ce(e)!==ce(t)||e.length!==t.length)return!1;for(let i=0;i=0}var Se={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`};function Ce(e){return e.replace(/[&<>"']/g,e=>Se[e])}function we(e){return e!=null&&typeof e!=`function`&&xe(e.length)}function Te(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e.includes(`.`)||e.includes(`[`)||e.includes(`]`)}}function Ee(e){return typeof e==`string`||typeof e==`symbol`?e:Object.is(e?.valueOf?.(),-0)?`-0`:String(e)}function De(e){if(e==null)return``;if(typeof e==`string`)return e;if(Array.isArray(e))return e.map(De).join(`,`);let t=String(e);return t===`0`&&Object.is(Number(e),-0)?`-0`:t}function Oe(e){if(Array.isArray(e))return e.map(Ee);if(typeof e==`symbol`)return[e];e=De(e);let t=[],n=e.length;if(n===0)return t;let r=0,i=``,a=``,o=!1;for(e.charCodeAt(0)===46&&(t.push(``),r++);r{let o=t?.(n,r,i,a);if(o!==void 0)return o;if(typeof e==`object`){if(l(e)===`[object Object]`&&typeof e.constructor!=`function`){let t={};return a.set(e,t),de(t,e,i,a),t}switch(Object.prototype.toString.call(e)){case f:case d:case p:{let t=new e.constructor(e?.valueOf());return de(t,e),t}case m:{let t={};return de(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}}})}function Me(e){return je(e)}var Ne=/^(?:0|[1-9]\d*)$/;function Pe(e,t=2**53-1){switch(typeof e){case`number`:return Number.isInteger(e)&&e>=0&&e{let r=e[t];(!(Object.hasOwn(e,t)&&ge(r,n))||n===void 0&&!(t in e))&&(e[t]=n)};function Ue(e,t,n,r){if(e==null&&!Ae(e))return e;let i;i=Ve(t,e)?[t]:Array.isArray(t)?t:Oe(t);let a=n(k(e,i)),o=e;for(let t=0;tn,()=>void 0)}function Ge(e,t=0,n={}){typeof n!=`object`&&(n={});let{leading:i=!1,trailing:a=!0,maxWait:o}=n,s=[,,];i&&(s[0]=`leading`),a&&(s[1]=`trailing`);let c,l=null,u=r(function(...t){c=e.apply(this,t),l=null},t,{edges:s}),d=function(...t){return o!=null&&(l===null&&(l=Date.now()),Date.now()-l>=o)?(c=e.apply(this,t),l=Date.now(),u.cancel(),u.schedule(),c):(u.apply(this,t),c)};return d.cancel=u.cancel,d.flush=()=>(u.flush(),c),d}function Ke(e){return o(e)}function qe(e,...t){let n=t.slice(0,-1),r=t[t.length-1],i=e;for(let e=0;etypeof File<`u`&&e instanceof File||e instanceof Blob||typeof FileList<`u`&&e instanceof FileList&&e.length>0,Qe=e=>e instanceof FormData?!0:Ze(e)||typeof e==`object`&&!!e&&Object.values(e).some(e=>Qe(e)),$e=class extends Error{response;constructor(e){super(`HTTP error ${e.status}`),this.name=`HttpResponseError`,this.response=e}},et=class extends Error{constructor(e=`Request was cancelled`){super(e),this.name=`HttpCancelledError`}},tt=class extends Error{constructor(e=`Network error`){super(e),this.name=`HttpNetworkError`}};function nt(e){let t=new URLSearchParams;return Object.entries(e).forEach(([e,n])=>{n!=null&&(Array.isArray(n)?n.forEach(n=>t.append(`${e}[]`,String(n))):typeof n==`object`?t.append(e,JSON.stringify(n)):t.append(e,String(n)))}),t.toString()}function rt(e,t,n){if(t&&!e.startsWith(`http://`)&&!e.startsWith(`https://`)&&(e=t.replace(/\/$/,``)+`/`+e.replace(/^\//,``)),n&&Object.keys(n).length>0){let t=nt(n);t&&(e+=(e.includes(`?`)?`&`:`?`)+t)}return e}function it(){return typeof window>`u`?null:window.axios?.defaults?.headers?.common?.[`X-Requested-With`]??null}function at(e,t=new FormData,n=null){for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&ot(t,n?`${n}[${r}]`:r,e[r]);return t}function ot(e,t,n){if(Array.isArray(n))return n.forEach((n,r)=>ot(e,`${t}[${r}]`,n));if(n instanceof Date)return e.append(t,n.toISOString());if(typeof File<`u`&&n instanceof File)return e.append(t,n,n.name);if(n instanceof Blob)return e.append(t,n);if(typeof n==`boolean`)return e.append(t,n?`1`:`0`);if(typeof n==`string`)return e.append(t,n);if(typeof n==`number`)return e.append(t,`${n}`);if(n==null)return e.append(t,``);at(n,e,t)}function st(e,t){if(e!=null)return e instanceof FormData?e:typeof e==`object`&&Qe(e)?at(e):typeof e==`object`||t[`Content-Type`]?.includes(`application/json`)?JSON.stringify(e):String(e)}function ct(e){let t={};return e.forEach((e,n)=>{t[n.toLowerCase()]=e}),t}function lt(e={}){let t=e.xsrfCookieName??`XSRF-TOKEN`,n=e.xsrfHeaderName??`X-XSRF-TOKEN`;function r(){if(typeof document>`u`)return null;let e=document.cookie.match(RegExp(`(^|;\\s*)`+t+`=([^;]*)`));return e?decodeURIComponent(e[2]):null}return{setXsrfCookieName(e){t=e},setXsrfHeaderName(e){n=e},async request(e){let t=rt(e.url,e.baseURL,e.params),i=e.method.toUpperCase(),a={},o=it();o&&(a[`X-Requested-With`]=o),e.data!==void 0&&![`GET`,`DELETE`].includes(i)&&!(e.data instanceof FormData)&&!Qe(e.data)&&(a[`Content-Type`]=`application/json`),e.headers&&Object.entries(e.headers).forEach(([e,t])=>{t!==void 0&&(a[e]=String(t))});let s=r();s&&![`GET`,`HEAD`,`OPTIONS`].includes(i)&&(a[n]=s);let c=e.signal,l,u=e.timeout??3e4;if(u>0&&!c){let e=new AbortController;c=e.signal,l=setTimeout(()=>e.abort(),u)}let d=[`GET`,`DELETE`].includes(i)?void 0:st(e.data,a);d instanceof FormData&&delete a[`Content-Type`];try{let n=await fetch(t,{method:i,headers:a,body:d,signal:c,credentials:e.credentials??`same-origin`});l&&clearTimeout(l);let r;r=n.headers.get(`content-type`)?.includes(`application/json`)?await n.json():await n.text();let o={status:n.status,data:r,headers:ct(n.headers)};if(!n.ok)throw new $e(o);return o}catch(e){throw l&&clearTimeout(l),e instanceof $e?e:e instanceof DOMException&&e.name===`AbortError`?new et:e instanceof TypeError?new tt(e.message):e}}}}var ut=lt(),dt=ut,ft=void 0,pt=void 0,mt=`same-origin`,ht=e=>`${e.method}:${e.baseURL??ft??``}${e.url}`,gt=e=>e.status===204&&e.headers[`precognition-success`]===`true`,_t={},vt={get:(e,t={},n={})=>bt(yt(`get`,e,t,n)),post:(e,t={},n={})=>bt(yt(`post`,e,t,n)),patch:(e,t={},n={})=>bt(yt(`patch`,e,t,n)),put:(e,t={},n={})=>bt(yt(`put`,e,t,n)),delete:(e,t={},n={})=>bt(yt(`delete`,e,t,n)),useHttpClient(e){return dt=e,vt},withBaseURL(e){return ft=e,vt},withTimeout(e){return pt=e,vt},withCredentials(e){return mt=typeof e==`string`?e:e?`include`:`omit`,vt},fingerprintRequestsUsing(e){return ht=e===null?()=>null:e,vt},determineSuccessUsing(e){return gt=e,vt},withXsrfCookieName(e){return ut.setXsrfCookieName(e),vt},withXsrfHeaderName(e){return ut.setXsrfHeaderName(e),vt}},yt=(e,t,n,r)=>({url:t,method:e,...r,...[`get`,`delete`].includes(e)?{params:Ye({},n,r?.params)}:{data:Ye({},n,r?.data)}}),bt=(e={})=>{let t=[xt,Ct,wt].reduce((e,t)=>t(e),e);return(t.onBefore??(()=>!0))()===!1?Promise.resolve(null):((t.onStart??(()=>null))(),dt.request({method:t.method,url:t.url,baseURL:t.baseURL??ft,data:t.data,params:t.params,headers:t.headers,signal:t.signal,timeout:t.timeout,credentials:mt}).then(async e=>{t.precognitive&&Tt(e);let n=e.status,r=e;return t.precognitive&&t.onPrecognitionSuccess&>(e)&&(r=await Promise.resolve(t.onPrecognitionSuccess(e)??r)),t.onSuccess&&St(n)&&(r=await Promise.resolve(t.onSuccess(r)??r)),(Dt(t,n)??(e=>e))(r)??r},e=>{if(Et(e))return Promise.reject(e);let n=e;return t.precognitive&&Tt(n.response),(Dt(t,n.response.status)??((e,t)=>Promise.reject(t)))(n.response,n)}).finally(t.onFinish??(()=>null)))},xt=e=>{let t=e.only??e.validate;return{...e,timeout:e.timeout??pt,precognitive:e.precognitive!==!1,fingerprint:e.fingerprint===void 0?ht(e,dt):e.fingerprint,headers:{...e.headers,Accept:`application/json`,"Content-Type":Ot(e),...e.precognitive===!1?{}:{Precognition:!0},...t?{"Precognition-Validate-Only":Array.from(t).join()}:{}}}},St=e=>e>=200&&e<300,Ct=e=>typeof e.fingerprint==`string`?(_t[e.fingerprint]?.abort(),delete _t[e.fingerprint],e):e,wt=e=>typeof e.fingerprint!=`string`||e.signal||!e.precognitive?e:(_t[e.fingerprint]=new AbortController,{...e,signal:_t[e.fingerprint].signal}),Tt=e=>{if(e.headers?.precognition!==`true`)throw Error(`Did not receive a Precognition response. Ensure you have the Precognition middleware in place for the route.`)},Et=e=>!(e instanceof $e)||typeof e.response?.status!=`number`,Dt=(e,t)=>({401:e.onUnauthorized,403:e.onForbidden,404:e.onNotFound,409:e.onConflict,422:e.onValidationError,423:e.onLocked})[t],Ot=e=>e.headers?.[`Content-Type`]??e.headers?.[`Content-type`]??e.headers?.[`content-type`]??(Qe(e.data)?`multipart/form-data`:`application/json`),kt=(e,t)=>{if(!e.includes(`*`))return[e];let n=e.split(`.`),r=[``];for(let e of n)if(e===`*`){let e=[];for(let n of r){let r=n?k(t,n):t;if(Array.isArray(r))for(let t=0;tt?`${t}.${e}`:e);return r},At=(e,t)=>t.includes(`*`)?RegExp(`^`+t.replace(/\./g,`\\.`).replace(/\*/g,`[^.]+`)+`$`).test(e):e===t,jt=(e,t)=>Object.fromEntries(Object.entries(e).filter(([e])=>!t.some(t=>At(e,t)))),Mt=(e,t={})=>{let n={errorsChanged:[],touchedChanged:[],validatingChanged:[],validatedChanged:[]},r=!1,i=!1,a=e=>e===i?[]:(i=e,n.validatingChanged),o=[],s=e=>{let t=[...new Set(e)];return o.length!==t.length||!t.every(e=>o.includes(e))?(o=t,n.validatedChanged):[]},c=()=>o.filter(e=>d[e]===void 0),l=[],u=e=>{let t=[...new Set(e)];return l.length!==t.length||!t.every(e=>l.includes(e))?(l=t,n.touchedChanged):[]},d={},f=e=>{let t=Pt(e);return be(d,t)?[]:(d=t,n.errorsChanged)},p=e=>{let t={...d};return delete t[Ft(e)],f(t)},m=()=>Object.keys(d).length>0,h=1500,g=e=>{h=e,S.cancel(),S=x()},_=t,v=null,y=[],b=null,x=()=>Ge(t=>{e({get:(e,n={},r={})=>vt.get(e,T(n),C(r,t,n)),post:(e,n={},r={})=>vt.post(e,T(n),C(r,t,n)),patch:(e,n={},r={})=>vt.patch(e,T(n),C(r,t,n)),put:(e,n={},r={})=>vt.put(e,T(n),C(r,t,n)),delete:(e,n={},r={})=>vt.delete(e,T(n),C(r,t,n))}).catch(e=>e instanceof et||e instanceof $e&&e.response?.status===422?null:Promise.reject(e))},h,{leading:!0,trailing:!0}),S=x(),C=(e,t,n={})=>{let r={...e,...t},i=Array.from(r.only??r.validate??l);return{...t,...Ye({},e,t),only:i,timeout:r.timeout??5e3,onValidationError:(e,t)=>([...s([...o,...i]),...f(Ye(jt({...d},i),e.data.errors))].forEach(e=>e()),r.onValidationError?r.onValidationError(e,t):Promise.reject(t)),onSuccess:e=>(s([...o,...i]).forEach(e=>e()),r.onSuccess?r.onSuccess(e):e),onPrecognitionSuccess:e=>([...s([...o,...i]),...f(jt({...d},i))].forEach(e=>e()),r.onPrecognitionSuccess?r.onPrecognitionSuccess(e):e),onBefore:()=>{let e=l.some(e=>e.includes(`*`)),t=e?[...new Set(l.flatMap(e=>kt(e,n)))]:l;return r.onBeforeValidation&&r.onBeforeValidation({data:n,touched:t},{data:_,touched:y})===!1||(r.onBefore||(()=>!0))()===!1?!1:(e&&u(t).forEach(e=>e()),b=l,v=n,!0)},onStart:()=>{a(!0).forEach(e=>e()),(r.onStart??(()=>null))()},onFinish:()=>{a(!1).forEach(e=>e()),y=b,_=v,b=v=null,(r.onFinish??(()=>null))()}}},w=(e,t,n)=>{if(e===void 0){let e=Array.from(n?.only??n?.validate??[]);u([...l,...e]).forEach(e=>e()),S(n??{});return}if(Ze(t)&&!r){console.warn(`Precognition file validation is not active. Call the "validateFiles" function on your form to enable it.`);return}e=Ft(e),(e.includes(`*`)||k(_,e)!==t)&&(u([e,...l]).forEach(e=>e()),S(n??{}))},T=e=>r===!1?It(e):e,E={touched:()=>l,validate(e,t,n){return typeof e==`object`&&!(`target`in e)&&(n=e,e=t=void 0),w(e,t,n),E},touch(e){let t=Array.isArray(e)?e:[Ft(e)];return u([...l,...t]).forEach(e=>e()),E},validating:()=>i,valid:c,errors:()=>d,hasErrors:m,setErrors(e){return f(e).forEach(e=>e()),E},forgetError(e){return p(e).forEach(e=>e()),E},defaults(e){return t=e,_=e,E},reset(...e){if(e.length===0)u([]).forEach(e=>e());else{let n=[...l];e.forEach(e=>{n.includes(e)&&n.splice(n.indexOf(e),1),We(_,e,k(t,e))}),u(n).forEach(e=>e())}return E},setTimeout(e){return g(e),E},on(e,t){return n[e].push(t),E},validateFiles(){return r=!0,E},withoutFileValidation(){return r=!1,E}};return E},Nt=e=>Object.keys(e).reduce((t,n)=>({...t,[n]:Array.isArray(e[n])?e[n][0]:e[n]}),{}),Pt=e=>Object.keys(e).reduce((t,n)=>({...t,[n]:typeof e[n]==`string`?[e[n]]:e[n]}),{}),Ft=e=>typeof e==`string`?e:e.target.name,It=e=>{let t={...e};return Object.keys(t).forEach(e=>{let n=t[e];if(n!==null){if(Ze(n)){delete t[e];return}if(Array.isArray(n)){t[e]=Object.values(It({...n}));return}if(typeof n==`object`){t[e]=It(t[e]);return}}}),t},Lt=new class{config={};defaults;constructor(e){this.defaults=e}extend(e){return e&&(this.defaults={...this.defaults,...e}),this}replace(e){this.config=e}get(e){return Ie(this.config,e)?k(this.config,e):k(this.defaults,e)}set(e,t){typeof e==`string`?We(this.config,e,t):Object.entries(e).forEach(([e,t])=>{We(this.config,e,t)})}}({form:{recentlySuccessfulDuration:2e3,forceIndicesArrayFormatInFormData:!0,withAllErrors:!1},prefetch:{cacheFor:3e4,hoverDelay:75}});function Rt(e,t){let n;return function(...r){clearTimeout(n),n=setTimeout(()=>e.apply(this,r),t)}}function zt(e,t){return document.dispatchEvent(new CustomEvent(`inertia:${e}`,t))}var Bt=e=>zt(`before`,{cancelable:!0,detail:{visit:e}}),Vt=e=>zt(`error`,{detail:{errors:e}}),Ht=e=>zt(`networkError`,{cancelable:!0,detail:{error:e}}),Ut=e=>zt(`finish`,{detail:{visit:e}}),Wt=e=>zt(`httpException`,{cancelable:!0,detail:{response:e}}),Gt=e=>zt(`beforeUpdate`,{detail:{page:e}}),Kt=e=>zt(`navigate`,{detail:{page:e}}),qt=e=>zt(`progress`,{detail:{progress:e}}),Jt=e=>zt(`start`,{detail:{visit:e}}),Yt=e=>zt(`success`,{detail:{page:e}}),Xt=(e,t)=>zt(`prefetched`,{detail:{fetchedAt:Date.now(),response:e,visit:t}}),Zt=e=>zt(`prefetching`,{detail:{visit:e}}),Qt=e=>zt(`flash`,{detail:{flash:e}}),$t=class{static locationVisitKey=`inertiaLocationVisit`;static set(e,t){typeof window<`u`&&window.sessionStorage.setItem(e,JSON.stringify(t))}static get(e){if(typeof window<`u`)return JSON.parse(window.sessionStorage.getItem(e)||`null`)}static merge(e,t){let n=this.get(e);n===null?this.set(e,t):this.set(e,{...n,...t})}static remove(e){typeof window<`u`&&window.sessionStorage.removeItem(e)}static removeNested(e,t){let n=this.get(e);n!==null&&(delete n[t],this.set(e,n))}static exists(e){try{return this.get(e)!==null}catch{return!1}}static clear(){typeof window<`u`&&window.sessionStorage.clear()}},en=async e=>{if(typeof window>`u`)throw Error(`Unable to encrypt history`);let t=on(),n=await ln(await un());if(!n)throw Error(`Unable to encrypt history`);return await rn(t,n,e)},tn={key:`historyKey`,iv:`historyIv`},nn=async e=>{let t=on(),n=await un();if(!n)throw Error(`Unable to decrypt history`);return await an(t,n,e)},rn=async(e,t,n)=>{if(typeof window>`u`)throw Error(`Unable to encrypt history`);if(window.crypto.subtle===void 0)return console.warn(`Encryption is not supported in this environment. SSL is required.`),Promise.resolve(n);let r=new TextEncoder,i=JSON.stringify(n),a=new Uint8Array(i.length*3),o=r.encodeInto(i,a);return window.crypto.subtle.encrypt({name:`AES-GCM`,iv:e},t,a.subarray(0,o.written))},an=async(e,t,n)=>{if(window.crypto.subtle===void 0)return console.warn(`Decryption is not supported in this environment. SSL is required.`),Promise.resolve(n);let r=await window.crypto.subtle.decrypt({name:`AES-GCM`,iv:e},t,n);return JSON.parse(new TextDecoder().decode(r))},on=()=>{let e=$t.get(tn.iv);if(e)return new Uint8Array(e);let t=window.crypto.getRandomValues(new Uint8Array(12));return $t.set(tn.iv,Array.from(t)),t},sn=async()=>window.crypto.subtle===void 0?(console.warn(`Encryption is not supported in this environment. SSL is required.`),Promise.resolve(null)):window.crypto.subtle.generateKey({name:`AES-GCM`,length:256},!0,[`encrypt`,`decrypt`]),cn=async e=>{if(window.crypto.subtle===void 0)return console.warn(`Encryption is not supported in this environment. SSL is required.`),Promise.resolve();let t=await window.crypto.subtle.exportKey(`raw`,e);$t.set(tn.key,Array.from(new Uint8Array(t)))},ln=async e=>{if(e)return e;let t=await sn();return t?(await cn(t),t):null},un=async()=>{let e=$t.get(tn.key);return e?await window.crypto.subtle.importKey(`raw`,new Uint8Array(e),{name:`AES-GCM`,length:256},!0,[`encrypt`,`decrypt`]):null},dn=(e,t,n)=>{if(e===t)return!0;for(let r in e)if(!n.includes(r)&&e[r]!==t[r]&&!fn(e[r],t[r]))return!1;for(let r in t)if(!n.includes(r)&&!(r in e))return!1;return!0},fn=(e,t)=>{switch(typeof e){case`object`:return dn(e,t,[]);case`function`:return e.toString()===t.toString();default:return e===t}},pn={ms:1,s:1e3,m:1e3*60,h:1e3*60*60,d:1e3*60*60*24},mn=e=>{if(typeof e==`number`)return e;for(let[t,n]of Object.entries(pn))if(e.endsWith(t))return parseFloat(e)*n;return parseInt(e)},hn=new class{cached=[];inFlightRequests=[];removalTimers=[];currentUseId=null;add(e,t,{cacheFor:n,cacheTags:r}){if(this.findInFlight(e))return Promise.resolve();let i=this.findCached(e);if(!e.fresh&&i&&i.staleTimestamp>Date.now())return Promise.resolve();let[a,o]=this.extractStaleValues(n),s=new Promise((n,r)=>{t({...e,onCancel:()=>{this.remove(e),e.onCancel(),r()},onError:t=>{this.remove(e),e.onError(t),r()},onPrefetching(t){e.onPrefetching(t)},onPrefetched(t,n){e.onPrefetched(t,n)},onPrefetchResponse(e){n(e)},onPrefetchError(t){hn.removeFromInFlight(e),r(t)}})}).then(t=>{this.remove(e);let n=t.getPageResponse();A.mergeOncePropsIntoResponse(n),this.cached.push({params:{...e},staleTimestamp:Date.now()+a,expiresAt:Date.now()+o,response:s,singleUse:o===0,timestamp:Date.now(),inFlight:!1,tags:Array.isArray(r)?r:[r]});let i=this.getShortestOncePropTtl(n);return this.scheduleForRemoval(e,i?Math.min(o,i):o),this.removeFromInFlight(e),t.handlePrefetch(),t});return this.inFlightRequests.push({params:{...e},response:s,staleTimestamp:null,inFlight:!0}),s}removeAll(){this.cached=[],this.removalTimers.forEach(e=>{clearTimeout(e.timer)}),this.removalTimers=[]}removeByTags(e){this.cached=this.cached.filter(t=>!t.tags.some(t=>e.includes(t)))}remove(e){this.cached=this.cached.filter(t=>!this.paramsAreEqual(t.params,e)),this.clearTimer(e)}removeFromInFlight(e){this.inFlightRequests=this.inFlightRequests.filter(t=>!this.paramsAreEqual(t.params,e))}extractStaleValues(e){let[t,n]=this.cacheForToStaleAndExpires(e);return[mn(t),mn(n)]}cacheForToStaleAndExpires(e){if(!Array.isArray(e))return[e,e];switch(e.length){case 0:return[0,0];case 1:return[e[0],e[0]];default:return[e[0],e[1]]}}clearTimer(e){let t=this.removalTimers.find(t=>this.paramsAreEqual(t.params,e));t&&(clearTimeout(t.timer),this.removalTimers=this.removalTimers.filter(e=>e!==t))}scheduleForRemoval(e,t){if(!(typeof window>`u`)&&(this.clearTimer(e),t>0)){let n=window.setTimeout(()=>this.remove(e),t);this.removalTimers.push({params:e,timer:n})}}get(e){return this.findCached(e)||this.findInFlight(e)}use(e,t){let n=`${t.url.pathname}-${Date.now()}-${Math.random().toString(36).substring(7)}`;return this.currentUseId=n,e.response.then(e=>{if(this.currentUseId===n)return e.mergeParams({...t,onPrefetched:()=>{}}),this.removeSingleUseItems(t),e.handle()})}removeSingleUseItems(e){this.cached=this.cached.filter(t=>this.paramsAreEqual(t.params,e)?!t.singleUse:!0)}findCached(e){return this.cached.find(t=>this.paramsAreEqual(t.params,e))||null}findInFlight(e){return this.inFlightRequests.find(t=>this.paramsAreEqual(t.params,e))||null}withoutPurposePrefetchHeader(e){let t=O(e);return t.headers.Purpose===`prefetch`&&delete t.headers.Purpose,t}paramsAreEqual(e,t){return dn(this.withoutPurposePrefetchHeader(e),this.withoutPurposePrefetchHeader(t),[`showProgress`,`replace`,`prefetch`,`preserveScroll`,`preserveState`,`onBefore`,`onBeforeUpdate`,`onStart`,`onProgress`,`onFinish`,`onCancel`,`onSuccess`,`onError`,`onFlash`,`onPrefetched`,`onCancelToken`,`onPrefetching`,`async`,`viewTransition`,`optimistic`,`component`,`pageProps`])}updateCachedOncePropsFromCurrentPage(){this.cached.forEach(e=>{e.response.then(t=>{let n=t.getPageResponse();A.mergeOncePropsIntoResponse(n,{force:!0});for(let[e,t]of Object.entries(n.deferredProps??{})){let r=t.filter(e=>k(n.props,e)===void 0);r.length>0?n.deferredProps[e]=r:delete n.deferredProps[e]}let r=this.getShortestOncePropTtl(n);if(r===null)return;let i=e.expiresAt-Date.now(),a=Math.min(i,r);a>0?this.scheduleForRemoval(e.params,a):this.remove(e.params)})})}getShortestOncePropTtl(e){let t=Object.values(e.onceProps??{}).map(e=>e.expiresAt).filter(e=>!!e);return t.length===0?null:Math.min(...t)-Date.now()}},gn=(e,t=1)=>{window.requestAnimationFrame(()=>{t>1?gn(e,t-1):e()})},_n=e=>{if(typeof window>`u`)return null;let t=document.querySelector(`script[data-page="${e}"][type="application/json"]`);return t?.textContent?JSON.parse(t.textContent):null},vn=typeof window>`u`,yn=!vn&&/Firefox/i.test(window.navigator.userAgent),bn=class{static save(){j.saveScrollPositions(this.getScrollRegions())}static getScrollRegions(){return Array.from(this.regions()).map(e=>({top:e.scrollTop,left:e.scrollLeft}))}static regions(){return document.querySelectorAll(`[scroll-region]`)}static scrollToTop(){if(yn&&getComputedStyle(document.documentElement).scrollBehavior===`smooth`)return gn(()=>window.scrollTo(0,0),2);window.scrollTo(0,0)}static reset(){!vn&&window.location.hash||this.scrollToTop(),this.regions().forEach(e=>{typeof e.scrollTo==`function`?e.scrollTo(0,0):(e.scrollTop=0,e.scrollLeft=0)}),this.save(),this.scrollToAnchor()}static scrollToAnchor(){let e=vn?null:window.location.hash;e&&setTimeout(()=>{let t=document.getElementById(e.slice(1));t?t.scrollIntoView():this.scrollToTop()})}static restore(e){vn||window.requestAnimationFrame(()=>{this.restoreDocument(),this.restoreScrollRegions(e)})}static restoreScrollRegions(e){vn||this.regions().forEach((t,n)=>{let r=e[n];r&&(typeof t.scrollTo==`function`?t.scrollTo(r.left,r.top):(t.scrollTop=r.top,t.scrollLeft=r.left))})}static restoreDocument(){let e=j.getDocumentScrollPosition();window.scrollTo(e.left,e.top)}static onScroll(e){let t=e.target;typeof t.hasAttribute==`function`&&t.hasAttribute(`scroll-region`)&&this.save()}static onWindowScroll(){j.saveDocumentScrollPosition({top:window.scrollY,left:window.scrollX})}},xn=e=>typeof File<`u`&&e instanceof File||e instanceof Blob||typeof FileList<`u`&&e instanceof FileList&&e.length>0;function Sn(e){return xn(e)||e instanceof FormData&&Array.from(e.values()).some(e=>Sn(e))||typeof e==`object`&&!!e&&Object.values(e).some(e=>Sn(e))}var Cn=e=>e instanceof FormData;function wn(e,t=new FormData,n=null,r=`brackets`){e||={};for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&En(t,Tn(n,i,`indices`),e[i],r);return t}function Tn(e,t,n){return e?n===`brackets`?`${e}[]`:`${e}[${t}]`:t}function En(e,t,n,r){if(Array.isArray(n))return Array.from(n.keys()).forEach(i=>En(e,Tn(t,i.toString(),r),n[i],r));if(n instanceof Date)return e.append(t,n.toISOString());if(n instanceof File)return e.append(t,n,n.name);if(n instanceof Blob)return e.append(t,n);if(typeof n==`boolean`)return e.append(t,n?`1`:`0`);if(typeof n==`string`)return e.append(t,n);if(typeof n==`number`)return e.append(t,`${n}`);if(n==null)return e.append(t,``);wn(n,e,t,r)}function Dn(e){return/\[\d+\]/.test(decodeURIComponent(e.search))}function On(e){if(!e||e===`?`)return{};let t={};return e.replace(/^\?/,``).split(`&`).filter(Boolean).forEach(e=>{let[n,r]=An(e);Mn(t,jn(n),jn(r))}),t}function kn(e,t){let n=[];return Pn(e,``,n,t),n.length?`?`+n.join(`&`):``}function An(e){let t=e.indexOf(`=`);return t===-1?[e,``]:[e.substring(0,t),e.substring(t+1)]}function jn(e){return decodeURIComponent(e.replace(/\+/g,` `))}function Mn(e,t,n){let r=Nn(t),i=e;for(;r.length>1;){let e=r.shift(),t=r[0]===``;(typeof i[e]!=`object`||i[e]===null)&&(i[e]=t?[]:{}),i=i[e]}let a=r.shift();a===``&&Array.isArray(i)?i.push(n):i[a]=n}function Nn(e){let t=[],n=e.split(`[`)[0];n&&t.push(n);let r,i=/\[([^\]]*)\]/g;for(;(r=i.exec(e))!==null;)t.push(r[1]);return t}function Pn(e,t,n,r){if(e!==void 0){if(e===null){n.push(`${t}=`);return}if(Array.isArray(e)){e.forEach((e,i)=>{Pn(e,r===`indices`?`${t}[${i}]`:`${t}[]`,n,r)});return}if(typeof e==`object`){Object.keys(e).forEach(i=>{Pn(e[i],t?`${t}[${i}]`:i,n,r)});return}n.push(`${t}=${encodeURIComponent(String(e))}`)}}function Fn(e){return new URL(e.toString(),typeof window>`u`?void 0:window.location.toString())}var In=(e,t,n,r,i)=>{let a=typeof e==`string`?Fn(e):e;if((Sn(t)||r)&&!Cn(t)&&(Lt.get(`form.forceIndicesArrayFormatInFormData`)&&(i=`indices`),t=wn(t,new FormData,null,i)),Cn(t))return[a,t];let[o,s]=Ln(n,a,t,i);return[Fn(o),s]};function Ln(e,t,n,r=`brackets`){let i=e===`get`&&!Cn(n)&&Object.keys(n).length>0,a=Wn(t.toString()),o=a||t.toString().startsWith(`/`)||t.toString()===``,s=!o&&!t.toString().startsWith(`#`)&&!t.toString().startsWith(`?`),c=/^[.]{1,2}([/]|$)/.test(t.toString()),l=t.toString().includes(`?`)||i,u=t.toString().includes(`#`),d=new URL(t.toString(),typeof window>`u`?`http://localhost`:window.location.toString());if(i){let e=Dn(d)?`indices`:r;d.search=kn({...On(d.search),...n},e)}return[[a?`${d.protocol}//${d.host}`:``,o?d.pathname:``,s?d.pathname.substring(+!c):``,l?d.search:``,u?d.hash:``].join(``),i?{}:n]}function Rn(e){return e=new URL(e.href),e.hash=``,e}var zn=(e,t)=>{e.hash&&!t.hash&&Rn(e).href===t.href&&(t.hash=e.hash)},Bn=(e,t)=>Rn(e).href===Rn(t).href,Vn=(e,t)=>e.origin===t.origin&&e.pathname===t.pathname;function Hn(e){return typeof e==`object`&&!!e&&e!==void 0&&`url`in e&&`method`in e}function Un(e){return e.component?typeof e.component==`string`?e.component:(console.error(`The "component" property on the URL method pair received multiple components (${Object.keys(e.component).join(`, `)}), but only a single component string is supported for instant visits. Use the withComponent() method to specify which component to use.`),null):null}function Wn(e){return/^([a-z][a-z0-9+.-]*:)?\/\/[^/]/i.test(e)}var A=new class{page;swapComponent;resolveComponent;onFlashCallback;componentId={};listeners=[];isFirstPageLoad=!0;cleared=!1;pendingDeferredProps=null;historyQuotaExceeded=!1;optimisticBaseline={};pendingOptimistics=[];optimisticCounter=0;init({initialPage:e,swapComponent:t,resolveComponent:n,onFlash:r}){return this.page={...e,flash:e.flash??{}},this.swapComponent=t,this.resolveComponent=n,this.onFlashCallback=r,Xn.on(`historyQuotaExceeded`,()=>{this.historyQuotaExceeded=!0}),this}set(e,{replace:t=!1,preserveScroll:n=!1,preserveState:r=!1,viewTransition:i=!1}={}){Object.keys(e.deferredProps||{}).length&&(this.pendingDeferredProps={deferredProps:e.deferredProps,component:e.component,url:e.url},e.initialDeferredProps===void 0&&(e.initialDeferredProps=e.deferredProps)),this.componentId={};let a=this.componentId;return e.clearHistory&&j.clear(),this.resolve(e.component,e).then(o=>{if(a!==this.componentId)return;e.rememberedState??={};let s=typeof window>`u`,c=s?new URL(e.url):window.location,l=!s&&n?bn.getScrollRegions():[];t||=Bn(Fn(e.url),c);let u={...e,flash:{}};return new Promise(e=>t?j.replaceState(u,e):j.pushState(u,e)).then(()=>{let a=!this.isTheSame(e);if(!a&&Object.keys(e.props.errors||{}).length>0&&(i=!1),this.page=e,this.cleared=!1,this.hasOnceProps()&&hn.updateCachedOncePropsFromCurrentPage(),a&&this.fireEventsFor(`newComponent`),this.isFirstPageLoad&&this.fireEventsFor(`firstLoad`),this.isFirstPageLoad=!1,this.historyQuotaExceeded){this.historyQuotaExceeded=!1;return}return this.swap({component:o,page:e,preserveState:r,viewTransition:i}).then(()=>{n?window.requestAnimationFrame(()=>bn.restoreScrollRegions(l)):bn.reset(),this.pendingDeferredProps&&this.pendingDeferredProps.component===e.component&&this.pendingDeferredProps.url===e.url&&Xn.fireInternalEvent(`loadDeferredProps`,this.pendingDeferredProps.deferredProps),this.pendingDeferredProps=null,t||Kt(e)})})})}setQuietly(e,{preserveState:t=!1}={}){return this.resolve(e.component,e).then(n=>(this.page=e,this.cleared=!1,j.setCurrent(e),this.swap({component:n,page:e,preserveState:t,viewTransition:!1})))}clear(){this.cleared=!0}isCleared(){return this.cleared}get(){return this.page}getWithoutFlashData(){return{...this.page,flash:{}}}hasOnceProps(){return Object.keys(this.page.onceProps??{}).length>0}merge(e){this.page={...this.page,...e}}setPropsQuietly(e){return this.page={...this.page,props:e},this.resolve(this.page.component,this.page).then(e=>this.swap({component:e,page:this.page,preserveState:!0,viewTransition:!1}))}setFlash(e){this.page={...this.page,flash:e},this.onFlashCallback?.(e)}setUrlHash(e){this.page.url.includes(e)||(this.page.url+=e)}remember(e){this.page.rememberedState=e}swap({component:e,page:t,preserveState:n,viewTransition:r}){let i=()=>this.swapComponent({component:e,page:t,preserveState:n});if(!r||!document?.startViewTransition||document.visibilityState===`hidden`)return i();let a=typeof r==`boolean`?()=>null:r;return new Promise(e=>{a(document.startViewTransition(()=>i().then(e)))})}resolve(e,t){return Promise.resolve(this.resolveComponent(e,t))}nextOptimisticId(){return++this.optimisticCounter}setBaseline(e,t){e in this.optimisticBaseline||(this.optimisticBaseline[e]=t)}updateBaseline(e,t){e in this.optimisticBaseline&&(this.optimisticBaseline[e]=t)}hasBaseline(e){return e in this.optimisticBaseline}registerOptimistic(e,t){this.pendingOptimistics.push({id:e,callback:t})}unregisterOptimistic(e){this.pendingOptimistics=this.pendingOptimistics.filter(t=>t.id!==e)}replayOptimistics(){let e=Object.keys(this.optimisticBaseline);if(e.length===0)return{};let t=O(this.page.props);for(let n of e)t[n]=O(this.optimisticBaseline[n]);for(let{callback:e}of this.pendingOptimistics){let n=e(O(t));n&&Object.assign(t,n)}let n={};for(let r of e)n[r]=t[r];return n}pendingOptimisticCount(){return this.pendingOptimistics.length}clearOptimisticState(){this.optimisticBaseline={},this.pendingOptimistics=[]}isTheSame(e){return this.page.component===e.component}on(e,t){return this.listeners.push({event:e,callback:t}),()=>{this.listeners=this.listeners.filter(n=>n.event!==e&&n.callback!==t)}}fireEventsFor(e){this.listeners.filter(t=>t.event===e).forEach(e=>e.callback())}mergeOncePropsIntoResponse(e,{force:t=!1}={}){Object.entries(e.onceProps??{}).forEach(([n,r])=>{let i=this.page.onceProps?.[n];i!==void 0&&(t||k(e.props,r.prop)===void 0)&&(We(e.props,r.prop,k(this.page.props,i.prop)),e.onceProps[n].expiresAt=i.expiresAt)})}},Gn=class{items=[];processingPromise=null;add(e){return this.items.push(e),this.process()}process(){return this.processingPromise??=this.processNext().finally(()=>{this.processingPromise=null}),this.processingPromise}processNext(){let e=this.items.shift();return e?Promise.resolve(e()).then(()=>this.processNext()):Promise.resolve()}},Kn=typeof window>`u`,qn=new Gn,Jn=!Kn&&/CriOS/.test(window.navigator.userAgent),Yn=class{rememberedState=`rememberedState`;scrollRegions=`scrollRegions`;preserveUrl=!1;current={};initialState=null;remember(e,t){this.replaceState({...A.getWithoutFlashData(),rememberedState:{...A.get()?.rememberedState??{},[t]:e}})}restore(e){if(!Kn)return this.current[this.rememberedState]?.[e]===void 0?this.initialState?.[this.rememberedState]?.[e]:this.current[this.rememberedState]?.[e]}pushState(e,t=null){if(!Kn){if(this.preserveUrl){t&&t();return}this.current=e,qn.add(()=>this.getPageData(e).then(n=>{let r=()=>this.doPushState({page:n},e.url).then(()=>t?.());return Jn?new Promise(e=>{setTimeout(()=>r().then(e))}):r()}))}}clonePageProps(e){try{return structuredClone(e.props),e}catch{return{...e,props:O(e.props)}}}getPageData(e){let t=this.clonePageProps(e);return new Promise(n=>e.encryptHistory?en(t).then(n):n(t))}processQueue(){return qn.process()}decrypt(e=null){if(Kn)return Promise.resolve(e??A.get());let t=e??window.history.state?.page;return this.decryptPageData(t).then(e=>{if(!e)throw Error(`Unable to decrypt history`);return this.initialState===null?this.initialState=e??void 0:this.current=e??{},e})}decryptPageData(e){return e instanceof ArrayBuffer?nn(e):Promise.resolve(e)}saveScrollPositions(e){qn.add(()=>Promise.resolve().then(()=>{if(window.history.state?.page&&!be(this.getScrollRegions(),e))return this.doReplaceState({page:window.history.state.page,scrollRegions:e})}))}saveDocumentScrollPosition(e){qn.add(()=>Promise.resolve().then(()=>{if(window.history.state?.page&&!be(this.getDocumentScrollPosition(),e))return this.doReplaceState({page:window.history.state.page,documentScrollPosition:e})}))}getScrollRegions(){return window.history.state?.scrollRegions||[]}getDocumentScrollPosition(){return window.history.state?.documentScrollPosition||{top:0,left:0}}replaceState(e,t=null){if(be(this.current,e)){t&&t();return}let{flash:n,...r}=e;if(A.merge(r),!Kn){if(this.preserveUrl){t&&t();return}this.current=e,qn.add(()=>this.getPageData(e).then(n=>{let r=()=>this.doReplaceState({page:n},e.url).then(()=>t?.());return Jn?new Promise(e=>{setTimeout(()=>r().then(e))}):r()}))}}isHistoryThrottleError(e){return e instanceof Error&&e.name===`SecurityError`&&(e.message.includes(`history.pushState`)||e.message.includes(`history.replaceState`))}isQuotaExceededError(e){return e instanceof Error&&e.name===`QuotaExceededError`}withThrottleProtection(e){return Promise.resolve().then(()=>{try{return e()}catch(e){if(!this.isHistoryThrottleError(e))throw e;console.error(e.message)}})}doReplaceState(e,t){return this.withThrottleProtection(()=>{window.history.replaceState({...e,scrollRegions:e.scrollRegions??window.history.state?.scrollRegions,documentScrollPosition:e.documentScrollPosition??window.history.state?.documentScrollPosition},``,t)})}doPushState(e,t){return this.withThrottleProtection(()=>{try{window.history.pushState(e,``,t)}catch(e){if(!this.isQuotaExceededError(e))throw e;Xn.fireInternalEvent(`historyQuotaExceeded`,t)}})}getState(e,t){return this.current?.[e]??t}deleteState(e){this.current[e]!==void 0&&(delete this.current[e],this.replaceState(this.current))}clearInitialState(e){this.initialState&&this.initialState[e]!==void 0&&delete this.initialState[e]}browserHasHistoryEntry(){return!Kn&&!!window.history.state?.page}clear(){$t.remove(tn.key),$t.remove(tn.iv)}setCurrent(e){this.current=e}isValidState(e){return!!e.page}getAllState(){return this.current}};typeof window<`u`&&window.history.scrollRestoration&&(window.history.scrollRestoration=`manual`);var j=new Yn,Xn=new class{internalListeners=[];init(){typeof window<`u`&&(window.addEventListener(`popstate`,this.handlePopstateEvent.bind(this)),window.addEventListener(`pageshow`,this.handlePageshowEvent.bind(this)),window.addEventListener(`scroll`,Rt(bn.onWindowScroll.bind(bn),100),!0)),typeof document<`u`&&document.addEventListener(`scroll`,Rt(bn.onScroll.bind(bn),100),!0)}onGlobalEvent(e,t){return this.registerListener(`inertia:${e}`,(e=>{let n=t(e);e.cancelable&&!e.defaultPrevented&&n===!1&&e.preventDefault()}))}on(e,t){return this.internalListeners.push({event:e,listener:t}),()=>{this.internalListeners=this.internalListeners.filter(e=>e.listener!==t)}}onMissingHistoryItem(){A.clear(),this.fireInternalEvent(`missingHistoryItem`)}fireInternalEvent(e,...t){this.internalListeners.filter(t=>t.event===e).forEach(e=>e.listener(...t))}registerListener(e,t){return document.addEventListener(e,t),()=>document.removeEventListener(e,t)}handlePageshowEvent(e){e.persisted&&j.decrypt().catch(()=>this.onMissingHistoryItem())}handlePopstateEvent(e){let t=e.state||null;if(t===null){let e=Fn(A.get().url);e.hash=window.location.hash,j.replaceState({...A.getWithoutFlashData(),url:e.href}),bn.reset();return}if(!j.isValidState(t))return this.onMissingHistoryItem();j.decrypt(t.page).then(e=>{if(A.get().version!==e.version){this.onMissingHistoryItem();return}P.cancelAll({prefetch:!1}),A.setQuietly(e,{preserveState:!1}).then(()=>{bn.restore(j.getScrollRegions()),Kt(A.get());let t={},n=A.get().props;for(let[r,i]of Object.entries(e.initialDeferredProps??e.deferredProps??{})){let e=i.filter(e=>k(n,e)===void 0);e.length>0&&(t[r]=e)}Object.keys(t).length>0&&this.fireInternalEvent(`loadDeferredProps`,t)})}).catch(()=>{this.onMissingHistoryItem()})}},Zn=new class{type;constructor(){this.type=this.resolveType()}resolveType(){return typeof window>`u`?`navigate`:window.performance?.getEntriesByType(`navigation`)[0]?.type??`navigate`}get(){return this.type}isBackForward(){return this.type===`back_forward`}isReload(){return this.type===`reload`}},Qn=class{static handle(){this.clearRememberedStateOnReload(),[this.handleBackForward,this.handleLocation,this.handleDefault].find(e=>e.bind(this)())}static clearRememberedStateOnReload(){Zn.isReload()&&(j.deleteState(j.rememberedState),j.clearInitialState(j.rememberedState))}static handleBackForward(){if(!Zn.isBackForward()||!j.browserHasHistoryEntry())return!1;let e=j.getScrollRegions();return j.decrypt().then(t=>{A.set(t,{preserveScroll:!0,preserveState:!0}).then(()=>{bn.restore(e),Kt(A.get())})}).catch(()=>{Xn.onMissingHistoryItem()}),!0}static handleLocation(){if(!$t.exists($t.locationVisitKey))return!1;let e=$t.get($t.locationVisitKey)||{};return $t.remove($t.locationVisitKey),typeof window<`u`&&A.setUrlHash(window.location.hash),j.decrypt(A.get()).then(()=>{let t=j.getState(j.rememberedState,{}),n=j.getScrollRegions();A.remember(t),A.set(A.get(),{preserveScroll:e.preserveScroll,preserveState:!0}).then(()=>{e.preserveScroll&&bn.restore(n),this.fireInitialEvents()})}).catch(()=>{Xn.onMissingHistoryItem()}),!0}static handleDefault(){typeof window<`u`&&A.setUrlHash(window.location.hash),A.set(A.get(),{preserveScroll:!0,preserveState:!0}).then(()=>{Zn.isReload()?bn.restore(j.getScrollRegions()):bn.scrollToAnchor(),this.fireInitialEvents()})}static fireInitialEvents(){let e=A.get();Kt(e),Object.keys(e.flash).length>0&&queueMicrotask(()=>Qt(e.flash))}},$n=class{id=null;throttle=!1;keepAlive=!1;cb;interval;cbCount=0;constructor(e,t,n){this.keepAlive=n.keepAlive??!1,this.cb=t,this.interval=e,(n.autoStart??!0)&&this.start()}stop(){this.id&&clearInterval(this.id)}start(){typeof window>`u`||(this.stop(),this.id=window.setInterval(()=>{(!this.throttle||this.cbCount%10==0)&&this.cb(),this.throttle&&this.cbCount++},this.interval))}isInBackground(e){this.throttle=this.keepAlive?!1:e,this.throttle&&(this.cbCount=0)}},er=new class{polls=[];constructor(){this.setupVisibilityListener()}add(e,t,n){let r=new $n(e,t,n);return this.polls.push(r),{stop:()=>r.stop(),start:()=>r.start()}}clear(){this.polls.forEach(e=>e.stop()),this.polls=[]}setupVisibilityListener(){typeof document>`u`||document.addEventListener(`visibilitychange`,()=>{this.polls.forEach(e=>e.isInBackground(document.hidden))},!1)}},tr=new class{requestHandlers=[];responseHandlers=[];errorHandlers=[];onRequest(e){return this.requestHandlers.push(e),()=>{this.requestHandlers=this.requestHandlers.filter(t=>t!==e)}}onResponse(e){return this.responseHandlers.push(e),()=>{this.responseHandlers=this.responseHandlers.filter(t=>t!==e)}}onError(e){return this.errorHandlers.push(e),()=>{this.errorHandlers=this.errorHandlers.filter(t=>t!==e)}}async processRequest(e){let t=e;for(let e of this.requestHandlers)t=await e(t);return t}async processResponse(e){let t=e;for(let e of this.responseHandlers)t=await e(t);return t}async processError(e){for(let t of this.errorHandlers)await t(e)}},nr=class extends Error{code;url;constructor(e,t,n){super(n?`${e} (${n})`:e),this.name=`HttpError`,this.code=t,this.url=n}},rr=class extends nr{response;constructor(e,t,n){super(e,`ERR_HTTP_RESPONSE`,n),this.name=`HttpResponseError`,this.response=t}},ir=class extends nr{constructor(e=`Request was cancelled`,t){super(e,`ERR_CANCELLED`,t),this.name=`HttpCancelledError`}},ar=class extends nr{cause;constructor(e,t,n){super(e,`ERR_NETWORK`,t),this.name=`HttpNetworkError`,this.cause=n}};function or(e){let t=document.cookie.match(RegExp(`(^|;\\s*)(`+e+`)=([^;]*)`));return t?decodeURIComponent(t[3]):null}function sr(e){let t={};return e.getAllResponseHeaders().split(`\r +import{n as e}from"./rolldown-runtime-DXc-PV0M.js";function t(e){return typeof e==`symbol`||e instanceof Symbol}var n=typeof globalThis==`object`&&globalThis||typeof window==`object`&&window||typeof self==`object`&&self||typeof global==`object`&&global||(function(){return this})()||Function(`return this`)();function r(e,t,{signal:n,edges:r}={}){let i,a=null,o=r!=null&&r.includes(`leading`),s=r==null||r.includes(`trailing`),c=()=>{a!==null&&(e.apply(i,a),i=void 0,a=null)},l=()=>{s&&c(),p()},u=null,d=()=>{u!=null&&clearTimeout(u),u=setTimeout(()=>{u=null,l()},t)},f=()=>{u!==null&&(clearTimeout(u),u=null)},p=()=>{f(),i=void 0,a=null},m=()=>{c()},h=function(...e){if(n?.aborted)return;i=this,a=e;let t=u==null;d(),o&&t&&c()};return h.schedule=d,h.cancel=p,h.flush=m,n?.addEventListener(`abort`,p,{once:!0}),h}function i(){}function a(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function o(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function s(e){if(a(e))return e;if(Array.isArray(e)||o(e)||e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e);if(t==null)return Object.assign(Object.create(t),e);let n=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new n(e);if(e instanceof RegExp){let t=new n(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new n(e.buffer.slice(0));if(e instanceof Error){let t;return t=e instanceof AggregateError?new n(e.errors,e.message,{cause:e.cause}):new n(e.message,{cause:e.cause}),t.stack=e.stack,Object.assign(t,e),t}return typeof File<`u`&&e instanceof File?new n([e],e.name,{type:e.type,lastModified:e.lastModified}):typeof e==`object`?Object.assign(Object.create(t),e):e}function c(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function l(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var u=`[object RegExp]`,d=`[object String]`,f=`[object Number]`,p=`[object Boolean]`,m=`[object Arguments]`,h=`[object Symbol]`,g=`[object Date]`,_=`[object Map]`,v=`[object Set]`,y=`[object Array]`,b=`[object Function]`,x=`[object ArrayBuffer]`,S=`[object Object]`,C=`[object Error]`,w=`[object DataView]`,T=`[object Uint8Array]`,E=`[object Uint8ClampedArray]`,D=`[object Uint16Array]`,ee=`[object Uint32Array]`,te=`[object BigUint64Array]`,ne=`[object Int8Array]`,re=`[object Int16Array]`,ie=`[object Int32Array]`,ae=`[object BigInt64Array]`,oe=`[object Float32Array]`,se=`[object Float64Array]`;function ce(e){return n.Buffer!==void 0&&n.Buffer.isBuffer(e)}function le(e,t){return ue(e,void 0,e,new Map,t)}function ue(e,t,n,r=new Map,i=void 0){let s=i?.(e,t,n,r);if(s!==void 0)return s;if(a(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;ave(s,i,void 0,e,t,n,r));if(c===-1)return!1;a.splice(c,1)}return!0}case y:case T:case E:case D:case ee:case te:case ne:case re:case ie:case ae:case oe:case se:if(ce(e)!==ce(t)||e.length!==t.length)return!1;for(let i=0;i=0}var Se={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`};function Ce(e){return e.replace(/[&<>"']/g,e=>Se[e])}function we(e){return e!=null&&typeof e!=`function`&&xe(e.length)}function Te(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e.includes(`.`)||e.includes(`[`)||e.includes(`]`)}}function Ee(e){return typeof e==`string`||typeof e==`symbol`?e:Object.is(e?.valueOf?.(),-0)?`-0`:String(e)}function De(e){if(e==null)return``;if(typeof e==`string`)return e;if(Array.isArray(e))return e.map(De).join(`,`);let t=String(e);return t===`0`&&Object.is(Number(e),-0)?`-0`:t}function Oe(e){if(Array.isArray(e))return e.map(Ee);if(typeof e==`symbol`)return[e];e=De(e);let t=[],n=e.length;if(n===0)return t;let r=0,i=``,a=``,o=!1;for(e.charCodeAt(0)===46&&(t.push(``),r++);r{let o=t?.(n,r,i,a);if(o!==void 0)return o;if(typeof e==`object`){if(l(e)===`[object Object]`&&typeof e.constructor!=`function`){let t={};return a.set(e,t),de(t,e,i,a),t}switch(Object.prototype.toString.call(e)){case f:case d:case p:{let t=new e.constructor(e?.valueOf());return de(t,e),t}case m:{let t={};return de(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}}})}function Me(e){return je(e)}var Ne=/^(?:0|[1-9]\d*)$/;function Pe(e,t=2**53-1){switch(typeof e){case`number`:return Number.isInteger(e)&&e>=0&&e{let r=e[t];(!(Object.hasOwn(e,t)&&ge(r,n))||n===void 0&&!(t in e))&&(e[t]=n)};function Ue(e,t,n,r){if(e==null&&!Ae(e))return e;let i;i=Ve(t,e)?[t]:Array.isArray(t)?t:Oe(t);let a=n(k(e,i)),o=e;for(let t=0;tn,()=>void 0)}function Ge(e,t=0,n={}){typeof n!=`object`&&(n={});let{leading:i=!1,trailing:a=!0,maxWait:o}=n,s=[,,];i&&(s[0]=`leading`),a&&(s[1]=`trailing`);let c,l=null,u=r(function(...t){c=e.apply(this,t),l=null},t,{edges:s}),d=function(...t){return o!=null&&(l===null&&(l=Date.now()),Date.now()-l>=o)?(c=e.apply(this,t),l=Date.now(),u.cancel(),u.schedule(),c):(u.apply(this,t),c)};return d.cancel=u.cancel,d.flush=()=>(u.flush(),c),d}function Ke(e){return o(e)}function qe(e,...t){let n=t.slice(0,-1),r=t[t.length-1],i=e;for(let e=0;etypeof File<`u`&&e instanceof File||e instanceof Blob||typeof FileList<`u`&&e instanceof FileList&&e.length>0,Qe=e=>e instanceof FormData?!0:Ze(e)||typeof e==`object`&&!!e&&Object.values(e).some(e=>Qe(e)),$e=class extends Error{response;constructor(e){super(`HTTP error ${e.status}`),this.name=`HttpResponseError`,this.response=e}},et=class extends Error{constructor(e=`Request was cancelled`){super(e),this.name=`HttpCancelledError`}},tt=class extends Error{constructor(e=`Network error`){super(e),this.name=`HttpNetworkError`}};function nt(e){let t=new URLSearchParams;return Object.entries(e).forEach(([e,n])=>{n!=null&&(Array.isArray(n)?n.forEach(n=>t.append(`${e}[]`,String(n))):typeof n==`object`?t.append(e,JSON.stringify(n)):t.append(e,String(n)))}),t.toString()}function rt(e,t,n){if(t&&!e.startsWith(`http://`)&&!e.startsWith(`https://`)&&(e=t.replace(/\/$/,``)+`/`+e.replace(/^\//,``)),n&&Object.keys(n).length>0){let t=nt(n);t&&(e+=(e.includes(`?`)?`&`:`?`)+t)}return e}function it(){return typeof window>`u`?null:window.axios?.defaults?.headers?.common?.[`X-Requested-With`]??null}function at(e,t=new FormData,n=null){for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&ot(t,n?`${n}[${r}]`:r,e[r]);return t}function ot(e,t,n){if(Array.isArray(n))return n.forEach((n,r)=>ot(e,`${t}[${r}]`,n));if(n instanceof Date)return e.append(t,n.toISOString());if(typeof File<`u`&&n instanceof File)return e.append(t,n,n.name);if(n instanceof Blob)return e.append(t,n);if(typeof n==`boolean`)return e.append(t,n?`1`:`0`);if(typeof n==`string`)return e.append(t,n);if(typeof n==`number`)return e.append(t,`${n}`);if(n==null)return e.append(t,``);at(n,e,t)}function st(e,t){if(e!=null)return e instanceof FormData?e:typeof e==`object`&&Qe(e)?at(e):typeof e==`object`||t[`Content-Type`]?.includes(`application/json`)?JSON.stringify(e):String(e)}function ct(e){let t={};return e.forEach((e,n)=>{t[n.toLowerCase()]=e}),t}function lt(e={}){let t=e.xsrfCookieName??`XSRF-TOKEN`,n=e.xsrfHeaderName??`X-XSRF-TOKEN`;function r(){if(typeof document>`u`)return null;let e=document.cookie.match(RegExp(`(^|;\\s*)`+t+`=([^;]*)`));return e?decodeURIComponent(e[2]):null}return{setXsrfCookieName(e){t=e},setXsrfHeaderName(e){n=e},async request(e){let t=rt(e.url,e.baseURL,e.params),i=e.method.toUpperCase(),a={},o=it();o&&(a[`X-Requested-With`]=o),e.data!==void 0&&![`GET`,`DELETE`].includes(i)&&!(e.data instanceof FormData)&&!Qe(e.data)&&(a[`Content-Type`]=`application/json`),e.headers&&Object.entries(e.headers).forEach(([e,t])=>{t!==void 0&&(a[e]=String(t))});let s=r();s&&![`GET`,`HEAD`,`OPTIONS`].includes(i)&&(a[n]=s);let c=e.signal,l,u=e.timeout??3e4;if(u>0&&!c){let e=new AbortController;c=e.signal,l=setTimeout(()=>e.abort(),u)}let d=[`GET`,`DELETE`].includes(i)?void 0:st(e.data,a);d instanceof FormData&&delete a[`Content-Type`];try{let n=await fetch(t,{method:i,headers:a,body:d,signal:c,credentials:e.credentials??`same-origin`});l&&clearTimeout(l);let r;r=n.headers.get(`content-type`)?.includes(`application/json`)?await n.json():await n.text();let o={status:n.status,data:r,headers:ct(n.headers)};if(!n.ok)throw new $e(o);return o}catch(e){throw l&&clearTimeout(l),e instanceof $e?e:e instanceof DOMException&&e.name===`AbortError`?new et:e instanceof TypeError?new tt(e.message):e}}}}var ut=lt(),dt=ut,ft=void 0,pt=void 0,mt=`same-origin`,ht=e=>`${e.method}:${e.baseURL??ft??``}${e.url}`,gt=e=>e.status===204&&e.headers[`precognition-success`]===`true`,_t={},vt={get:(e,t={},n={})=>bt(yt(`get`,e,t,n)),post:(e,t={},n={})=>bt(yt(`post`,e,t,n)),patch:(e,t={},n={})=>bt(yt(`patch`,e,t,n)),put:(e,t={},n={})=>bt(yt(`put`,e,t,n)),delete:(e,t={},n={})=>bt(yt(`delete`,e,t,n)),useHttpClient(e){return dt=e,vt},withBaseURL(e){return ft=e,vt},withTimeout(e){return pt=e,vt},withCredentials(e){return mt=typeof e==`string`?e:e?`include`:`omit`,vt},fingerprintRequestsUsing(e){return ht=e===null?()=>null:e,vt},determineSuccessUsing(e){return gt=e,vt},withXsrfCookieName(e){return ut.setXsrfCookieName(e),vt},withXsrfHeaderName(e){return ut.setXsrfHeaderName(e),vt}},yt=(e,t,n,r)=>({url:t,method:e,...r,...[`get`,`delete`].includes(e)?{params:Ye({},n,r?.params)}:{data:Ye({},n,r?.data)}}),bt=(e={})=>{let t=[xt,Ct,wt].reduce((e,t)=>t(e),e);return(t.onBefore??(()=>!0))()===!1?Promise.resolve(null):((t.onStart??(()=>null))(),dt.request({method:t.method,url:t.url,baseURL:t.baseURL??ft,data:t.data,params:t.params,headers:t.headers,signal:t.signal,timeout:t.timeout,credentials:mt}).then(async e=>{t.precognitive&&Tt(e);let n=e.status,r=e;return t.precognitive&&t.onPrecognitionSuccess&>(e)&&(r=await Promise.resolve(t.onPrecognitionSuccess(e)??r)),t.onSuccess&&St(n)&&(r=await Promise.resolve(t.onSuccess(r)??r)),(Dt(t,n)??(e=>e))(r)??r},e=>{if(Et(e))return Promise.reject(e);let n=e;return t.precognitive&&Tt(n.response),(Dt(t,n.response.status)??((e,t)=>Promise.reject(t)))(n.response,n)}).finally(t.onFinish??(()=>null)))},xt=e=>{let t=e.only??e.validate;return{...e,timeout:e.timeout??pt,precognitive:e.precognitive!==!1,fingerprint:e.fingerprint===void 0?ht(e,dt):e.fingerprint,headers:{...e.headers,Accept:`application/json`,"Content-Type":Ot(e),...e.precognitive===!1?{}:{Precognition:!0},...t?{"Precognition-Validate-Only":Array.from(t).join()}:{}}}},St=e=>e>=200&&e<300,Ct=e=>typeof e.fingerprint==`string`?(_t[e.fingerprint]?.abort(),delete _t[e.fingerprint],e):e,wt=e=>typeof e.fingerprint!=`string`||e.signal||!e.precognitive?e:(_t[e.fingerprint]=new AbortController,{...e,signal:_t[e.fingerprint].signal}),Tt=e=>{if(e.headers?.precognition!==`true`)throw Error(`Did not receive a Precognition response. Ensure you have the Precognition middleware in place for the route.`)},Et=e=>!(e instanceof $e)||typeof e.response?.status!=`number`,Dt=(e,t)=>({401:e.onUnauthorized,403:e.onForbidden,404:e.onNotFound,409:e.onConflict,422:e.onValidationError,423:e.onLocked})[t],Ot=e=>e.headers?.[`Content-Type`]??e.headers?.[`Content-type`]??e.headers?.[`content-type`]??(Qe(e.data)?`multipart/form-data`:`application/json`),kt=(e,t)=>{if(!e.includes(`*`))return[e];let n=e.split(`.`),r=[``];for(let e of n)if(e===`*`){let e=[];for(let n of r){let r=n?k(t,n):t;if(Array.isArray(r))for(let t=0;tt?`${t}.${e}`:e);return r},At=(e,t)=>t.includes(`*`)?RegExp(`^`+t.replace(/\./g,`\\.`).replace(/\*/g,`[^.]+`)+`$`).test(e):e===t,jt=(e,t)=>Object.fromEntries(Object.entries(e).filter(([e])=>!t.some(t=>At(e,t)))),Mt=(e,t={})=>{let n={errorsChanged:[],touchedChanged:[],validatingChanged:[],validatedChanged:[]},r=!1,i=!1,a=e=>e===i?[]:(i=e,n.validatingChanged),o=[],s=e=>{let t=[...new Set(e)];return o.length!==t.length||!t.every(e=>o.includes(e))?(o=t,n.validatedChanged):[]},c=()=>o.filter(e=>d[e]===void 0),l=[],u=e=>{let t=[...new Set(e)];return l.length!==t.length||!t.every(e=>l.includes(e))?(l=t,n.touchedChanged):[]},d={},f=e=>{let t=Pt(e);return be(d,t)?[]:(d=t,n.errorsChanged)},p=e=>{let t={...d};return delete t[Ft(e)],f(t)},m=()=>Object.keys(d).length>0,h=1500,g=e=>{h=e,S.cancel(),S=x()},_=t,v=null,y=[],b=null,x=()=>Ge(t=>{e({get:(e,n={},r={})=>vt.get(e,T(n),C(r,t,n)),post:(e,n={},r={})=>vt.post(e,T(n),C(r,t,n)),patch:(e,n={},r={})=>vt.patch(e,T(n),C(r,t,n)),put:(e,n={},r={})=>vt.put(e,T(n),C(r,t,n)),delete:(e,n={},r={})=>vt.delete(e,T(n),C(r,t,n))}).catch(e=>e instanceof et||e instanceof $e&&e.response?.status===422?null:Promise.reject(e))},h,{leading:!0,trailing:!0}),S=x(),C=(e,t,n={})=>{let r={...e,...t},i=Array.from(r.only??r.validate??l);return{...t,...Ye({},e,t),only:i,timeout:r.timeout??5e3,onValidationError:(e,t)=>([...s([...o,...i]),...f(Ye(jt({...d},i),e.data.errors))].forEach(e=>e()),r.onValidationError?r.onValidationError(e,t):Promise.reject(t)),onSuccess:e=>(s([...o,...i]).forEach(e=>e()),r.onSuccess?r.onSuccess(e):e),onPrecognitionSuccess:e=>([...s([...o,...i]),...f(jt({...d},i))].forEach(e=>e()),r.onPrecognitionSuccess?r.onPrecognitionSuccess(e):e),onBefore:()=>{let e=l.some(e=>e.includes(`*`)),t=e?[...new Set(l.flatMap(e=>kt(e,n)))]:l;return r.onBeforeValidation&&r.onBeforeValidation({data:n,touched:t},{data:_,touched:y})===!1||(r.onBefore||(()=>!0))()===!1?!1:(e&&u(t).forEach(e=>e()),b=l,v=n,!0)},onStart:()=>{a(!0).forEach(e=>e()),(r.onStart??(()=>null))()},onFinish:()=>{a(!1).forEach(e=>e()),y=b,_=v,b=v=null,(r.onFinish??(()=>null))()}}},w=(e,t,n)=>{if(e===void 0){let e=Array.from(n?.only??n?.validate??[]);u([...l,...e]).forEach(e=>e()),S(n??{});return}if(Ze(t)&&!r){console.warn(`Precognition file validation is not active. Call the "validateFiles" function on your form to enable it.`);return}e=Ft(e),(e.includes(`*`)||k(_,e)!==t)&&(u([e,...l]).forEach(e=>e()),S(n??{}))},T=e=>r===!1?It(e):e,E={touched:()=>l,validate(e,t,n){return typeof e==`object`&&!(`target`in e)&&(n=e,e=t=void 0),w(e,t,n),E},touch(e){let t=Array.isArray(e)?e:[Ft(e)];return u([...l,...t]).forEach(e=>e()),E},validating:()=>i,valid:c,errors:()=>d,hasErrors:m,setErrors(e){return f(e).forEach(e=>e()),E},forgetError(e){return p(e).forEach(e=>e()),E},defaults(e){return t=e,_=e,E},reset(...e){if(e.length===0)u([]).forEach(e=>e());else{let n=[...l];e.forEach(e=>{n.includes(e)&&n.splice(n.indexOf(e),1),We(_,e,k(t,e))}),u(n).forEach(e=>e())}return E},setTimeout(e){return g(e),E},on(e,t){return n[e].push(t),E},validateFiles(){return r=!0,E},withoutFileValidation(){return r=!1,E}};return E},Nt=e=>Object.keys(e).reduce((t,n)=>({...t,[n]:Array.isArray(e[n])?e[n][0]:e[n]}),{}),Pt=e=>Object.keys(e).reduce((t,n)=>({...t,[n]:typeof e[n]==`string`?[e[n]]:e[n]}),{}),Ft=e=>typeof e==`string`?e:e.target.name,It=e=>{let t={...e};return Object.keys(t).forEach(e=>{let n=t[e];if(n!==null){if(Ze(n)){delete t[e];return}if(Array.isArray(n)){t[e]=Object.values(It({...n}));return}if(typeof n==`object`){t[e]=It(t[e]);return}}}),t},Lt=new class{config={};defaults;constructor(e){this.defaults=e}extend(e){return e&&(this.defaults={...this.defaults,...e}),this}replace(e){this.config=e}get(e){return Ie(this.config,e)?k(this.config,e):k(this.defaults,e)}set(e,t){typeof e==`string`?We(this.config,e,t):Object.entries(e).forEach(([e,t])=>{We(this.config,e,t)})}}({form:{recentlySuccessfulDuration:2e3,forceIndicesArrayFormatInFormData:!0,withAllErrors:!1},prefetch:{cacheFor:3e4,hoverDelay:75}});function Rt(e,t){let n;return function(...r){clearTimeout(n),n=setTimeout(()=>e.apply(this,r),t)}}function zt(e,t){return document.dispatchEvent(new CustomEvent(`inertia:${e}`,t))}var Bt=e=>zt(`before`,{cancelable:!0,detail:{visit:e}}),Vt=e=>zt(`error`,{detail:{errors:e}}),Ht=e=>zt(`networkError`,{cancelable:!0,detail:{error:e}}),Ut=e=>zt(`finish`,{detail:{visit:e}}),Wt=e=>zt(`httpException`,{cancelable:!0,detail:{response:e}}),Gt=e=>zt(`beforeUpdate`,{detail:{page:e}}),Kt=e=>zt(`navigate`,{detail:{page:e}}),qt=e=>zt(`progress`,{detail:{progress:e}}),Jt=e=>zt(`start`,{detail:{visit:e}}),Yt=e=>zt(`success`,{detail:{page:e}}),Xt=(e,t)=>zt(`prefetched`,{detail:{fetchedAt:Date.now(),response:e,visit:t}}),Zt=e=>zt(`prefetching`,{detail:{visit:e}}),Qt=e=>zt(`flash`,{detail:{flash:e}}),$t=class{static locationVisitKey=`inertiaLocationVisit`;static set(e,t){typeof window<`u`&&window.sessionStorage.setItem(e,JSON.stringify(t))}static get(e){if(typeof window<`u`)return JSON.parse(window.sessionStorage.getItem(e)||`null`)}static merge(e,t){let n=this.get(e);n===null?this.set(e,t):this.set(e,{...n,...t})}static remove(e){typeof window<`u`&&window.sessionStorage.removeItem(e)}static removeNested(e,t){let n=this.get(e);n!==null&&(delete n[t],this.set(e,n))}static exists(e){try{return this.get(e)!==null}catch{return!1}}static clear(){typeof window<`u`&&window.sessionStorage.clear()}},en=async e=>{if(typeof window>`u`)throw Error(`Unable to encrypt history`);let t=on(),n=await ln(await un());if(!n)throw Error(`Unable to encrypt history`);return await rn(t,n,e)},tn={key:`historyKey`,iv:`historyIv`},nn=async e=>{let t=on(),n=await un();if(!n)throw Error(`Unable to decrypt history`);return await an(t,n,e)},rn=async(e,t,n)=>{if(typeof window>`u`)throw Error(`Unable to encrypt history`);if(window.crypto.subtle===void 0)return console.warn(`Encryption is not supported in this environment. SSL is required.`),Promise.resolve(n);let r=new TextEncoder,i=JSON.stringify(n),a=new Uint8Array(i.length*3),o=r.encodeInto(i,a);return window.crypto.subtle.encrypt({name:`AES-GCM`,iv:e},t,a.subarray(0,o.written))},an=async(e,t,n)=>{if(window.crypto.subtle===void 0)return console.warn(`Decryption is not supported in this environment. SSL is required.`),Promise.resolve(n);let r=await window.crypto.subtle.decrypt({name:`AES-GCM`,iv:e},t,n);return JSON.parse(new TextDecoder().decode(r))},on=()=>{let e=$t.get(tn.iv);if(e)return new Uint8Array(e);let t=window.crypto.getRandomValues(new Uint8Array(12));return $t.set(tn.iv,Array.from(t)),t},sn=async()=>window.crypto.subtle===void 0?(console.warn(`Encryption is not supported in this environment. SSL is required.`),Promise.resolve(null)):window.crypto.subtle.generateKey({name:`AES-GCM`,length:256},!0,[`encrypt`,`decrypt`]),cn=async e=>{if(window.crypto.subtle===void 0)return console.warn(`Encryption is not supported in this environment. SSL is required.`),Promise.resolve();let t=await window.crypto.subtle.exportKey(`raw`,e);$t.set(tn.key,Array.from(new Uint8Array(t)))},ln=async e=>{if(e)return e;let t=await sn();return t?(await cn(t),t):null},un=async()=>{let e=$t.get(tn.key);return e?await window.crypto.subtle.importKey(`raw`,new Uint8Array(e),{name:`AES-GCM`,length:256},!0,[`encrypt`,`decrypt`]):null},dn=(e,t,n)=>{if(e===t)return!0;for(let r in e)if(!n.includes(r)&&e[r]!==t[r]&&!fn(e[r],t[r]))return!1;for(let r in t)if(!n.includes(r)&&!(r in e))return!1;return!0},fn=(e,t)=>{switch(typeof e){case`object`:return dn(e,t,[]);case`function`:return e.toString()===t.toString();default:return e===t}},pn={ms:1,s:1e3,m:1e3*60,h:1e3*60*60,d:1e3*60*60*24},mn=e=>{if(typeof e==`number`)return e;for(let[t,n]of Object.entries(pn))if(e.endsWith(t))return parseFloat(e)*n;return parseInt(e)},hn=new class{cached=[];inFlightRequests=[];removalTimers=[];currentUseId=null;add(e,t,{cacheFor:n,cacheTags:r}){if(this.findInFlight(e))return Promise.resolve();let i=this.findCached(e);if(!e.fresh&&i&&i.staleTimestamp>Date.now())return Promise.resolve();let[a,o]=this.extractStaleValues(n),s=new Promise((n,r)=>{t({...e,onCancel:()=>{this.remove(e),e.onCancel(),r()},onError:t=>{this.remove(e),e.onError(t),r()},onPrefetching(t){e.onPrefetching(t)},onPrefetched(t,n){e.onPrefetched(t,n)},onPrefetchResponse(e){n(e)},onPrefetchError(t){hn.removeFromInFlight(e),r(t)}})}).then(t=>{this.remove(e);let n=t.getPageResponse();A.mergeOncePropsIntoResponse(n),this.cached.push({params:{...e},staleTimestamp:Date.now()+a,expiresAt:Date.now()+o,response:s,singleUse:o===0,timestamp:Date.now(),inFlight:!1,tags:Array.isArray(r)?r:[r]});let i=this.getShortestOncePropTtl(n);return this.scheduleForRemoval(e,i?Math.min(o,i):o),this.removeFromInFlight(e),t.handlePrefetch(),t});return this.inFlightRequests.push({params:{...e},response:s,staleTimestamp:null,inFlight:!0}),s}removeAll(){this.cached=[],this.removalTimers.forEach(e=>{clearTimeout(e.timer)}),this.removalTimers=[]}removeByTags(e){this.cached=this.cached.filter(t=>!t.tags.some(t=>e.includes(t)))}remove(e){this.cached=this.cached.filter(t=>!this.paramsAreEqual(t.params,e)),this.clearTimer(e)}removeFromInFlight(e){this.inFlightRequests=this.inFlightRequests.filter(t=>!this.paramsAreEqual(t.params,e))}extractStaleValues(e){let[t,n]=this.cacheForToStaleAndExpires(e);return[mn(t),mn(n)]}cacheForToStaleAndExpires(e){if(!Array.isArray(e))return[e,e];switch(e.length){case 0:return[0,0];case 1:return[e[0],e[0]];default:return[e[0],e[1]]}}clearTimer(e){let t=this.removalTimers.find(t=>this.paramsAreEqual(t.params,e));t&&(clearTimeout(t.timer),this.removalTimers=this.removalTimers.filter(e=>e!==t))}scheduleForRemoval(e,t){if(!(typeof window>`u`)&&(this.clearTimer(e),t>0)){let n=window.setTimeout(()=>this.remove(e),t);this.removalTimers.push({params:e,timer:n})}}get(e){return this.findCached(e)||this.findInFlight(e)}use(e,t){let n=`${t.url.pathname}-${Date.now()}-${Math.random().toString(36).substring(7)}`;return this.currentUseId=n,e.response.then(e=>{if(this.currentUseId===n)return e.mergeParams({...t,onPrefetched:()=>{}}),this.removeSingleUseItems(t),e.handle()})}removeSingleUseItems(e){this.cached=this.cached.filter(t=>this.paramsAreEqual(t.params,e)?!t.singleUse:!0)}findCached(e){return this.cached.find(t=>this.paramsAreEqual(t.params,e))||null}findInFlight(e){return this.inFlightRequests.find(t=>this.paramsAreEqual(t.params,e))||null}withoutPurposePrefetchHeader(e){let t=O(e);return t.headers.Purpose===`prefetch`&&delete t.headers.Purpose,t}paramsAreEqual(e,t){return dn(this.withoutPurposePrefetchHeader(e),this.withoutPurposePrefetchHeader(t),[`showProgress`,`replace`,`prefetch`,`preserveScroll`,`preserveState`,`onBefore`,`onBeforeUpdate`,`onStart`,`onProgress`,`onFinish`,`onCancel`,`onSuccess`,`onError`,`onFlash`,`onPrefetched`,`onCancelToken`,`onPrefetching`,`async`,`viewTransition`,`optimistic`,`component`,`pageProps`])}updateCachedOncePropsFromCurrentPage(){this.cached.forEach(e=>{e.response.then(t=>{let n=t.getPageResponse();A.mergeOncePropsIntoResponse(n,{force:!0});for(let[e,t]of Object.entries(n.deferredProps??{})){let r=t.filter(e=>k(n.props,e)===void 0);r.length>0?n.deferredProps[e]=r:delete n.deferredProps[e]}let r=this.getShortestOncePropTtl(n);if(r===null)return;let i=e.expiresAt-Date.now(),a=Math.min(i,r);a>0?this.scheduleForRemoval(e.params,a):this.remove(e.params)})})}getShortestOncePropTtl(e){let t=Object.values(e.onceProps??{}).map(e=>e.expiresAt).filter(e=>!!e);return t.length===0?null:Math.min(...t)-Date.now()}},gn=(e,t=1)=>{window.requestAnimationFrame(()=>{t>1?gn(e,t-1):e()})},_n=e=>{if(typeof window>`u`)return null;let t=document.querySelector(`script[data-page="${e}"][type="application/json"]`);return t?.textContent?JSON.parse(t.textContent):null},vn=typeof window>`u`,yn=!vn&&/Firefox/i.test(window.navigator.userAgent),bn=class{static save(){j.saveScrollPositions(this.getScrollRegions())}static getScrollRegions(){return Array.from(this.regions()).map(e=>({top:e.scrollTop,left:e.scrollLeft}))}static regions(){return document.querySelectorAll(`[scroll-region]`)}static scrollToTop(){if(yn&&getComputedStyle(document.documentElement).scrollBehavior===`smooth`)return gn(()=>window.scrollTo(0,0),2);window.scrollTo(0,0)}static reset(){!vn&&window.location.hash||this.scrollToTop(),this.regions().forEach(e=>{typeof e.scrollTo==`function`?e.scrollTo(0,0):(e.scrollTop=0,e.scrollLeft=0)}),this.save(),this.scrollToAnchor()}static scrollToAnchor(){let e=vn?null:window.location.hash;e&&setTimeout(()=>{let t=document.getElementById(e.slice(1));t?t.scrollIntoView():this.scrollToTop()})}static restore(e){vn||window.requestAnimationFrame(()=>{this.restoreDocument(),this.restoreScrollRegions(e)})}static restoreScrollRegions(e){vn||this.regions().forEach((t,n)=>{let r=e[n];r&&(typeof t.scrollTo==`function`?t.scrollTo(r.left,r.top):(t.scrollTop=r.top,t.scrollLeft=r.left))})}static restoreDocument(){let e=j.getDocumentScrollPosition();window.scrollTo(e.left,e.top)}static onScroll(e){let t=e.target;typeof t.hasAttribute==`function`&&t.hasAttribute(`scroll-region`)&&this.save()}static onWindowScroll(){j.saveDocumentScrollPosition({top:window.scrollY,left:window.scrollX})}},xn=e=>typeof File<`u`&&e instanceof File||e instanceof Blob||typeof FileList<`u`&&e instanceof FileList&&e.length>0;function Sn(e){return xn(e)||e instanceof FormData&&Array.from(e.values()).some(e=>Sn(e))||typeof e==`object`&&!!e&&Object.values(e).some(e=>Sn(e))}var Cn=e=>e instanceof FormData;function wn(e,t=new FormData,n=null,r=`brackets`){e||={};for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&En(t,Tn(n,i,`indices`),e[i],r);return t}function Tn(e,t,n){return e?n===`brackets`?`${e}[]`:`${e}[${t}]`:t}function En(e,t,n,r){if(Array.isArray(n))return Array.from(n.keys()).forEach(i=>En(e,Tn(t,i.toString(),r),n[i],r));if(n instanceof Date)return e.append(t,n.toISOString());if(n instanceof File)return e.append(t,n,n.name);if(n instanceof Blob)return e.append(t,n);if(typeof n==`boolean`)return e.append(t,n?`1`:`0`);if(typeof n==`string`)return e.append(t,n);if(typeof n==`number`)return e.append(t,`${n}`);if(n==null)return e.append(t,``);wn(n,e,t,r)}function Dn(e){return/\[\d+\]/.test(decodeURIComponent(e.search))}function On(e){if(!e||e===`?`)return{};let t={};return e.replace(/^\?/,``).split(`&`).filter(Boolean).forEach(e=>{let[n,r]=An(e);Mn(t,jn(n),jn(r))}),t}function kn(e,t){let n=[];return Pn(e,``,n,t),n.length?`?`+n.join(`&`):``}function An(e){let t=e.indexOf(`=`);return t===-1?[e,``]:[e.substring(0,t),e.substring(t+1)]}function jn(e){return decodeURIComponent(e.replace(/\+/g,` `))}function Mn(e,t,n){let r=Nn(t),i=e;for(;r.length>1;){let e=r.shift(),t=r[0]===``;(typeof i[e]!=`object`||i[e]===null)&&(i[e]=t?[]:{}),i=i[e]}let a=r.shift();a===``&&Array.isArray(i)?i.push(n):i[a]=n}function Nn(e){let t=[],n=e.split(`[`)[0];n&&t.push(n);let r,i=/\[([^\]]*)\]/g;for(;(r=i.exec(e))!==null;)t.push(r[1]);return t}function Pn(e,t,n,r){if(e!==void 0){if(e===null){n.push(`${t}=`);return}if(Array.isArray(e)){e.forEach((e,i)=>{Pn(e,r===`indices`?`${t}[${i}]`:`${t}[]`,n,r)});return}if(typeof e==`object`){Object.keys(e).forEach(i=>{Pn(e[i],t?`${t}[${i}]`:i,n,r)});return}n.push(`${t}=${encodeURIComponent(String(e))}`)}}function Fn(e){return new URL(e.toString(),typeof window>`u`?void 0:window.location.toString())}var In=(e,t,n,r,i)=>{let a=typeof e==`string`?Fn(e):e;if((Sn(t)||r)&&!Cn(t)&&(Lt.get(`form.forceIndicesArrayFormatInFormData`)&&(i=`indices`),t=wn(t,new FormData,null,i)),Cn(t))return[a,t];let[o,s]=Ln(n,a,t,i);return[Fn(o),s]};function Ln(e,t,n,r=`brackets`){let i=e===`get`&&!Cn(n)&&Object.keys(n).length>0,a=Wn(t.toString()),o=a||t.toString().startsWith(`/`)||t.toString()===``,s=!o&&!t.toString().startsWith(`#`)&&!t.toString().startsWith(`?`),c=/^[.]{1,2}([/]|$)/.test(t.toString()),l=t.toString().includes(`?`)||i,u=t.toString().includes(`#`),d=new URL(t.toString(),typeof window>`u`?`http://localhost`:window.location.toString());if(i){let e=Dn(d)?`indices`:r;d.search=kn({...On(d.search),...n},e)}return[[a?`${d.protocol}//${d.host}`:``,o?d.pathname:``,s?d.pathname.substring(+!c):``,l?d.search:``,u?d.hash:``].join(``),i?{}:n]}function Rn(e){return e=new URL(e.href),e.hash=``,e}var zn=(e,t)=>{e.hash&&!t.hash&&Rn(e).href===t.href&&(t.hash=e.hash)},Bn=(e,t)=>Rn(e).href===Rn(t).href,Vn=(e,t)=>e.origin===t.origin&&e.pathname===t.pathname;function Hn(e){return typeof e==`object`&&!!e&&e!==void 0&&`url`in e&&`method`in e}function Un(e){return e.component?typeof e.component==`string`?e.component:(console.error(`The "component" property on the URL method pair received multiple components (${Object.keys(e.component).join(`, `)}), but only a single component string is supported for instant visits. Use the withComponent() method to specify which component to use.`),null):null}function Wn(e){return/^([a-z][a-z0-9+.-]*:)?\/\/[^/]/i.test(e)}var A=new class{page;swapComponent;resolveComponent;onFlashCallback;componentId={};listeners=[];isFirstPageLoad=!0;cleared=!1;pendingDeferredProps=null;historyQuotaExceeded=!1;optimisticBaseline={};pendingOptimistics=[];optimisticCounter=0;init({initialPage:e,swapComponent:t,resolveComponent:n,onFlash:r}){return this.page={...e,flash:e.flash??{}},this.swapComponent=t,this.resolveComponent=n,this.onFlashCallback=r,Xn.on(`historyQuotaExceeded`,()=>{this.historyQuotaExceeded=!0}),this}set(e,{replace:t=!1,preserveScroll:n=!1,preserveState:r=!1,viewTransition:i=!1}={}){Object.keys(e.deferredProps||{}).length&&(this.pendingDeferredProps={deferredProps:e.deferredProps,component:e.component,url:e.url},e.initialDeferredProps===void 0&&(e.initialDeferredProps=e.deferredProps)),this.componentId={};let a=this.componentId;return e.clearHistory&&j.clear(),this.resolve(e.component,e).then(o=>{if(a!==this.componentId)return;e.rememberedState??={};let s=typeof window>`u`,c=s?new URL(e.url):window.location,l=!s&&n?bn.getScrollRegions():[];t||=Bn(Fn(e.url),c);let u={...e,flash:{}};return new Promise(e=>t?j.replaceState(u,e):j.pushState(u,e)).then(()=>{let a=!this.isTheSame(e);if(!a&&Object.keys(e.props.errors||{}).length>0&&(i=!1),this.page=e,this.cleared=!1,this.hasOnceProps()&&hn.updateCachedOncePropsFromCurrentPage(),a&&this.fireEventsFor(`newComponent`),this.isFirstPageLoad&&this.fireEventsFor(`firstLoad`),this.isFirstPageLoad=!1,this.historyQuotaExceeded){this.historyQuotaExceeded=!1;return}return this.swap({component:o,page:e,preserveState:r,viewTransition:i}).then(()=>{n?window.requestAnimationFrame(()=>bn.restoreScrollRegions(l)):bn.reset(),this.pendingDeferredProps&&this.pendingDeferredProps.component===e.component&&this.pendingDeferredProps.url===e.url&&Xn.fireInternalEvent(`loadDeferredProps`,this.pendingDeferredProps.deferredProps),this.pendingDeferredProps=null,t||Kt(e)})})})}setQuietly(e,{preserveState:t=!1}={}){return this.resolve(e.component,e).then(n=>(this.page=e,this.cleared=!1,j.setCurrent(e),this.swap({component:n,page:e,preserveState:t,viewTransition:!1})))}clear(){this.cleared=!0}isCleared(){return this.cleared}get(){return this.page}getWithoutFlashData(){return{...this.page,flash:{}}}hasOnceProps(){return Object.keys(this.page.onceProps??{}).length>0}merge(e){this.page={...this.page,...e}}setPropsQuietly(e){return this.page={...this.page,props:e},this.resolve(this.page.component,this.page).then(e=>this.swap({component:e,page:this.page,preserveState:!0,viewTransition:!1}))}setFlash(e){this.page={...this.page,flash:e},this.onFlashCallback?.(e)}setUrlHash(e){this.page.url.includes(e)||(this.page.url+=e)}remember(e){this.page.rememberedState=e}swap({component:e,page:t,preserveState:n,viewTransition:r}){let i=()=>this.swapComponent({component:e,page:t,preserveState:n});if(!r||!document?.startViewTransition||document.visibilityState===`hidden`)return i();let a=typeof r==`boolean`?()=>null:r;return new Promise(e=>{a(document.startViewTransition(()=>i().then(e)))})}resolve(e,t){return Promise.resolve(this.resolveComponent(e,t))}nextOptimisticId(){return++this.optimisticCounter}setBaseline(e,t){e in this.optimisticBaseline||(this.optimisticBaseline[e]=t)}updateBaseline(e,t){e in this.optimisticBaseline&&(this.optimisticBaseline[e]=t)}hasBaseline(e){return e in this.optimisticBaseline}registerOptimistic(e,t){this.pendingOptimistics.push({id:e,callback:t})}unregisterOptimistic(e){this.pendingOptimistics=this.pendingOptimistics.filter(t=>t.id!==e)}replayOptimistics(){let e=Object.keys(this.optimisticBaseline);if(e.length===0)return{};let t=O(this.page.props);for(let n of e)t[n]=O(this.optimisticBaseline[n]);for(let{callback:e}of this.pendingOptimistics){let n=e(O(t));n&&Object.assign(t,n)}let n={};for(let r of e)n[r]=t[r];return n}pendingOptimisticCount(){return this.pendingOptimistics.length}clearOptimisticState(){this.optimisticBaseline={},this.pendingOptimistics=[]}isTheSame(e){return this.page.component===e.component}on(e,t){return this.listeners.push({event:e,callback:t}),()=>{this.listeners=this.listeners.filter(n=>n.event!==e&&n.callback!==t)}}fireEventsFor(e){this.listeners.filter(t=>t.event===e).forEach(e=>e.callback())}mergeOncePropsIntoResponse(e,{force:t=!1}={}){Object.entries(e.onceProps??{}).forEach(([n,r])=>{let i=this.page.onceProps?.[n];i!==void 0&&(t||k(e.props,r.prop)===void 0)&&(We(e.props,r.prop,k(this.page.props,i.prop)),e.onceProps[n].expiresAt=i.expiresAt)})}},Gn=class{items=[];processingPromise=null;add(e){return this.items.push(e),this.process()}process(){return this.processingPromise??=this.processNext().finally(()=>{this.processingPromise=null}),this.processingPromise}processNext(){let e=this.items.shift();return e?Promise.resolve(e()).then(()=>this.processNext()):Promise.resolve()}},Kn=typeof window>`u`,qn=new Gn,Jn=!Kn&&/CriOS/.test(window.navigator.userAgent),Yn=class{rememberedState=`rememberedState`;scrollRegions=`scrollRegions`;preserveUrl=!1;current={};initialState=null;remember(e,t){this.replaceState({...A.getWithoutFlashData(),rememberedState:{...A.get()?.rememberedState??{},[t]:e}})}restore(e){if(!Kn)return this.current[this.rememberedState]?.[e]===void 0?this.initialState?.[this.rememberedState]?.[e]:this.current[this.rememberedState]?.[e]}pushState(e,t=null){if(!Kn){if(this.preserveUrl){t&&t();return}this.current=e,qn.add(()=>this.getPageData(e).then(n=>{let r=()=>this.doPushState({page:n},e.url).then(()=>t?.());return Jn?new Promise(e=>{setTimeout(()=>r().then(e))}):r()}))}}clonePageProps(e){try{return structuredClone(e.props),e}catch{return{...e,props:O(e.props)}}}getPageData(e){let t=this.clonePageProps(e);return new Promise(n=>e.encryptHistory?en(t).then(n):n(t))}processQueue(){return qn.process()}decrypt(e=null){if(Kn)return Promise.resolve(e??A.get());let t=e??window.history.state?.page;return this.decryptPageData(t).then(e=>{if(!e)throw Error(`Unable to decrypt history`);return this.initialState===null?this.initialState=e??void 0:this.current=e??{},e})}decryptPageData(e){return e instanceof ArrayBuffer?nn(e):Promise.resolve(e)}saveScrollPositions(e){qn.add(()=>Promise.resolve().then(()=>{if(window.history.state?.page&&!be(this.getScrollRegions(),e))return this.doReplaceState({page:window.history.state.page,scrollRegions:e})}))}saveDocumentScrollPosition(e){qn.add(()=>Promise.resolve().then(()=>{if(window.history.state?.page&&!be(this.getDocumentScrollPosition(),e))return this.doReplaceState({page:window.history.state.page,documentScrollPosition:e})}))}getScrollRegions(){return window.history.state?.scrollRegions||[]}getDocumentScrollPosition(){return window.history.state?.documentScrollPosition||{top:0,left:0}}replaceState(e,t=null){if(be(this.current,e)){t&&t();return}let{flash:n,...r}=e;if(A.merge(r),!Kn){if(this.preserveUrl){t&&t();return}this.current=e,qn.add(()=>this.getPageData(e).then(n=>{let r=()=>this.doReplaceState({page:n},e.url).then(()=>t?.());return Jn?new Promise(e=>{setTimeout(()=>r().then(e))}):r()}))}}isHistoryThrottleError(e){return e instanceof Error&&e.name===`SecurityError`&&(e.message.includes(`history.pushState`)||e.message.includes(`history.replaceState`))}isQuotaExceededError(e){return e instanceof Error&&e.name===`QuotaExceededError`}withThrottleProtection(e){return Promise.resolve().then(()=>{try{return e()}catch(e){if(!this.isHistoryThrottleError(e))throw e;console.error(e.message)}})}doReplaceState(e,t){return this.withThrottleProtection(()=>{window.history.replaceState({...e,scrollRegions:e.scrollRegions??window.history.state?.scrollRegions,documentScrollPosition:e.documentScrollPosition??window.history.state?.documentScrollPosition},``,t)})}doPushState(e,t){return this.withThrottleProtection(()=>{try{window.history.pushState(e,``,t)}catch(e){if(!this.isQuotaExceededError(e))throw e;Xn.fireInternalEvent(`historyQuotaExceeded`,t)}})}getState(e,t){return this.current?.[e]??t}deleteState(e){this.current[e]!==void 0&&(delete this.current[e],this.replaceState(this.current))}clearInitialState(e){this.initialState&&this.initialState[e]!==void 0&&delete this.initialState[e]}browserHasHistoryEntry(){return!Kn&&!!window.history.state?.page}clear(){$t.remove(tn.key),$t.remove(tn.iv)}setCurrent(e){this.current=e}isValidState(e){return!!e.page}getAllState(){return this.current}};typeof window<`u`&&window.history.scrollRestoration&&(window.history.scrollRestoration=`manual`);var j=new Yn,Xn=new class{internalListeners=[];init(){typeof window<`u`&&(window.addEventListener(`popstate`,this.handlePopstateEvent.bind(this)),window.addEventListener(`pageshow`,this.handlePageshowEvent.bind(this)),window.addEventListener(`scroll`,Rt(bn.onWindowScroll.bind(bn),100),!0)),typeof document<`u`&&document.addEventListener(`scroll`,Rt(bn.onScroll.bind(bn),100),!0)}onGlobalEvent(e,t){return this.registerListener(`inertia:${e}`,(e=>{let n=t(e);e.cancelable&&!e.defaultPrevented&&n===!1&&e.preventDefault()}))}on(e,t){return this.internalListeners.push({event:e,listener:t}),()=>{this.internalListeners=this.internalListeners.filter(e=>e.listener!==t)}}onMissingHistoryItem(){A.clear(),this.fireInternalEvent(`missingHistoryItem`)}fireInternalEvent(e,...t){this.internalListeners.filter(t=>t.event===e).forEach(e=>e.listener(...t))}registerListener(e,t){return document.addEventListener(e,t),()=>document.removeEventListener(e,t)}handlePageshowEvent(e){e.persisted&&j.decrypt().catch(()=>this.onMissingHistoryItem())}handlePopstateEvent(e){let t=e.state||null;if(t===null){let e=Fn(A.get().url);e.hash=window.location.hash,j.replaceState({...A.getWithoutFlashData(),url:e.href}),bn.reset();return}if(!j.isValidState(t))return this.onMissingHistoryItem();j.decrypt(t.page).then(e=>{if(A.get().version!==e.version){this.onMissingHistoryItem();return}N.cancelAll({prefetch:!1}),A.setQuietly(e,{preserveState:!1}).then(()=>{bn.restore(j.getScrollRegions()),Kt(A.get());let t={},n=A.get().props;for(let[r,i]of Object.entries(e.initialDeferredProps??e.deferredProps??{})){let e=i.filter(e=>k(n,e)===void 0);e.length>0&&(t[r]=e)}Object.keys(t).length>0&&this.fireInternalEvent(`loadDeferredProps`,t)})}).catch(()=>{this.onMissingHistoryItem()})}},Zn=new class{type;constructor(){this.type=this.resolveType()}resolveType(){return typeof window>`u`?`navigate`:window.performance?.getEntriesByType(`navigation`)[0]?.type??`navigate`}get(){return this.type}isBackForward(){return this.type===`back_forward`}isReload(){return this.type===`reload`}},Qn=class{static handle(){this.clearRememberedStateOnReload(),[this.handleBackForward,this.handleLocation,this.handleDefault].find(e=>e.bind(this)())}static clearRememberedStateOnReload(){Zn.isReload()&&(j.deleteState(j.rememberedState),j.clearInitialState(j.rememberedState))}static handleBackForward(){if(!Zn.isBackForward()||!j.browserHasHistoryEntry())return!1;let e=j.getScrollRegions();return j.decrypt().then(t=>{A.set(t,{preserveScroll:!0,preserveState:!0}).then(()=>{bn.restore(e),Kt(A.get())})}).catch(()=>{Xn.onMissingHistoryItem()}),!0}static handleLocation(){if(!$t.exists($t.locationVisitKey))return!1;let e=$t.get($t.locationVisitKey)||{};return $t.remove($t.locationVisitKey),typeof window<`u`&&A.setUrlHash(window.location.hash),j.decrypt(A.get()).then(()=>{let t=j.getState(j.rememberedState,{}),n=j.getScrollRegions();A.remember(t),A.set(A.get(),{preserveScroll:e.preserveScroll,preserveState:!0}).then(()=>{e.preserveScroll&&bn.restore(n),this.fireInitialEvents()})}).catch(()=>{Xn.onMissingHistoryItem()}),!0}static handleDefault(){typeof window<`u`&&A.setUrlHash(window.location.hash),A.set(A.get(),{preserveScroll:!0,preserveState:!0}).then(()=>{Zn.isReload()?bn.restore(j.getScrollRegions()):bn.scrollToAnchor(),this.fireInitialEvents()})}static fireInitialEvents(){let e=A.get();Kt(e),Object.keys(e.flash).length>0&&queueMicrotask(()=>Qt(e.flash))}},$n=class{id=null;throttle=!1;keepAlive=!1;cb;interval;cbCount=0;constructor(e,t,n){this.keepAlive=n.keepAlive??!1,this.cb=t,this.interval=e,(n.autoStart??!0)&&this.start()}stop(){this.id&&clearInterval(this.id)}start(){typeof window>`u`||(this.stop(),this.id=window.setInterval(()=>{(!this.throttle||this.cbCount%10==0)&&this.cb(),this.throttle&&this.cbCount++},this.interval))}isInBackground(e){this.throttle=this.keepAlive?!1:e,this.throttle&&(this.cbCount=0)}},er=new class{polls=[];constructor(){this.setupVisibilityListener()}add(e,t,n){let r=new $n(e,t,n);return this.polls.push(r),{stop:()=>r.stop(),start:()=>r.start()}}clear(){this.polls.forEach(e=>e.stop()),this.polls=[]}setupVisibilityListener(){typeof document>`u`||document.addEventListener(`visibilitychange`,()=>{this.polls.forEach(e=>e.isInBackground(document.hidden))},!1)}},tr=new class{requestHandlers=[];responseHandlers=[];errorHandlers=[];onRequest(e){return this.requestHandlers.push(e),()=>{this.requestHandlers=this.requestHandlers.filter(t=>t!==e)}}onResponse(e){return this.responseHandlers.push(e),()=>{this.responseHandlers=this.responseHandlers.filter(t=>t!==e)}}onError(e){return this.errorHandlers.push(e),()=>{this.errorHandlers=this.errorHandlers.filter(t=>t!==e)}}async processRequest(e){let t=e;for(let e of this.requestHandlers)t=await e(t);return t}async processResponse(e){let t=e;for(let e of this.responseHandlers)t=await e(t);return t}async processError(e){for(let t of this.errorHandlers)await t(e)}},nr=class extends Error{code;url;constructor(e,t,n){super(n?`${e} (${n})`:e),this.name=`HttpError`,this.code=t,this.url=n}},rr=class extends nr{response;constructor(e,t,n){super(e,`ERR_HTTP_RESPONSE`,n),this.name=`HttpResponseError`,this.response=t}},ir=class extends nr{constructor(e=`Request was cancelled`,t){super(e,`ERR_CANCELLED`,t),this.name=`HttpCancelledError`}},ar=class extends nr{cause;constructor(e,t,n){super(e,`ERR_NETWORK`,t),this.name=`HttpNetworkError`,this.cause=n}};function or(e){let t=document.cookie.match(RegExp(`(^|;\\s*)(`+e+`)=([^;]*)`));return t?decodeURIComponent(t[3]):null}function sr(e){let t={};return e.getAllResponseHeaders().split(`\r `).forEach(e=>{let n=e.indexOf(`:`);n>0&&(t[e.slice(0,n).toLowerCase().trim()]=e.slice(n+1).trim())}),t}function cr(e,t){if(!t.headers)return;let n=t.data instanceof FormData;Object.entries(t.headers).forEach(([t,r])=>{(t.toLowerCase()!==`content-type`||!n)&&e.setRequestHeader(t,String(r))})}function lr(e,t){if(!t||Object.keys(t).length===0)return e;let[n]=Ln(`get`,e,t);return n}var ur=class{xsrfCookieName;xsrfHeaderName;constructor(e={}){this.xsrfCookieName=e.xsrfCookieName??`XSRF-TOKEN`,this.xsrfHeaderName=e.xsrfHeaderName??`X-XSRF-TOKEN`}async request(e){let t=await tr.processRequest(e);try{let e=await this.doRequest(t);return await tr.processResponse(e)}catch(e){throw(e instanceof rr||e instanceof ar||e instanceof ir)&&await tr.processError(e),e}}doRequest(e){return new Promise((t,n)=>{let r=new XMLHttpRequest,i=lr(e.url,e.params);r.open(e.method.toUpperCase(),i,!0);let a=or(this.xsrfCookieName);a&&r.setRequestHeader(this.xsrfHeaderName,a);let o=null;e.data!==null&&e.data!==void 0&&(e.data instanceof FormData?o=e.data:typeof e.data==`object`?(o=JSON.stringify(e.data),!e.headers?.[`Content-Type`]&&!e.headers?.[`content-type`]&&r.setRequestHeader(`Content-Type`,`application/json`)):o=String(e.data)),cr(r,e),e.onUploadProgress&&(r.upload.onprogress=t=>{let n=t.lengthComputable?t.loaded/t.total:void 0;e.onUploadProgress({progress:n,percentage:n?Math.round(n*100):0,loaded:t.loaded,total:t.lengthComputable?t.total:void 0})}),e.signal&&e.signal.addEventListener(`abort`,()=>r.abort()),r.onabort=()=>n(new ir(`Request was cancelled`,e.url)),r.onerror=()=>n(new ar(`Network error`,e.url)),r.onload=()=>{let i={status:r.status,data:r.responseText,headers:sr(r)};r.status>=400?n(new rr(`Request failed with status ${r.status}`,i,e.url)):t(i)},r.send(o)})}},dr=new ur;function fr(e){return!(`request`in e)}var pr={getClient(){return dr},setClient(e){if(!fr(e)){dr=e;return}dr=new ur(e),e.xsrfCookieName&&vt.withXsrfCookieName(e.xsrfCookieName),e.xsrfHeaderName&&vt.withXsrfHeaderName(e.xsrfHeaderName)},onRequest:tr.onRequest.bind(tr),onResponse:tr.onResponse.bind(tr),onError:tr.onError.bind(tr),processRequest:tr.processRequest.bind(tr),processResponse:tr.processResponse.bind(tr),processError:tr.processError.bind(tr)},mr=class e{callbacks=[];params;constructor(e){if(!e.prefetch)this.params=e;else{let t={onBefore:this.wrapCallback(e,`onBefore`),onBeforeUpdate:this.wrapCallback(e,`onBeforeUpdate`),onStart:this.wrapCallback(e,`onStart`),onProgress:this.wrapCallback(e,`onProgress`),onFinish:this.wrapCallback(e,`onFinish`),onCancel:this.wrapCallback(e,`onCancel`),onSuccess:this.wrapCallback(e,`onSuccess`),onError:this.wrapCallback(e,`onError`),onHttpException:this.wrapCallback(e,`onHttpException`),onNetworkError:this.wrapCallback(e,`onNetworkError`),onFlash:this.wrapCallback(e,`onFlash`),onCancelToken:this.wrapCallback(e,`onCancelToken`),onPrefetched:this.wrapCallback(e,`onPrefetched`),onPrefetching:this.wrapCallback(e,`onPrefetching`)};this.params={...e,...t,onPrefetchResponse:e.onPrefetchResponse||(()=>{}),onPrefetchError:e.onPrefetchError||(()=>{})}}}static create(t){return new e(t)}data(){return this.params.method===`get`?null:this.params.data}queryParams(){return this.params.method===`get`?this.params.data:{}}isPartial(){return this.params.only.length>0||this.params.except.length>0||this.params.reset.length>0}isPrefetch(){return this.params.prefetch===!0}isDeferredPropsRequest(){return this.params.deferredProps===!0}onCancelToken(e){this.params.onCancelToken({cancel:e})}markAsFinished(){this.params.completed=!0,this.params.cancelled=!1,this.params.interrupted=!1}markAsCancelled({cancelled:e=!0,interrupted:t=!1}){this.params.onCancel(),this.params.completed=!1,this.params.cancelled=e,this.params.interrupted=t}wasCancelledAtAll(){return this.params.cancelled||this.params.interrupted}onFinish(){this.params.onFinish(this.params)}onStart(){this.params.onStart(this.params)}onPrefetching(){this.params.onPrefetching(this.params)}onPrefetchResponse(e){this.params.onPrefetchResponse&&this.params.onPrefetchResponse(e)}onPrefetchError(e){this.params.onPrefetchError&&this.params.onPrefetchError(e)}all(){return this.params}headers(){let e={...this.params.headers};this.isPartial()&&(e[`X-Inertia-Partial-Component`]=A.get().component);let t=this.params.only.concat(this.params.reset);return t.length>0&&(e[`X-Inertia-Partial-Data`]=t.join(`,`)),this.params.except.length>0&&(e[`X-Inertia-Partial-Except`]=this.params.except.join(`,`)),this.params.reset.length>0&&(e[`X-Inertia-Reset`]=this.params.reset.join(`,`)),this.params.errorBag&&this.params.errorBag.length>0&&(e[`X-Inertia-Error-Bag`]=this.params.errorBag),e}setPreserveOptions(t){this.params.preserveScroll=e.resolvePreserveOption(this.params.preserveScroll,t),this.params.preserveState=e.resolvePreserveOption(this.params.preserveState,t)}runCallbacks(){this.callbacks.forEach(({name:e,args:t})=>{this.params[e](...t)})}merge(e){this.params={...this.params,...e}}wrapCallback(e,t){return(...n)=>{this.recordCallback(t,n),e[t](...n)}}recordCallback(e,t){this.callbacks.push({name:e,args:t})}static resolvePreserveOption(e,t){return typeof e==`function`?e(t):e===`errors`?Object.keys(t.props.errors||{}).length>0:e}},hr={createIframeAndPage(e){typeof e==`object`&&(e=`All Inertia requests must receive a valid Inertia response, however a plain JSON response was received.


${JSON.stringify(e)}`);let t=document.createElement(`html`);t.innerHTML=e,t.querySelectorAll(`a`).forEach(e=>e.setAttribute(`target`,`_top`));let n=document.createElement(`iframe`);return n.style.backgroundColor=`white`,n.style.borderRadius=`5px`,n.style.width=`100%`,n.style.height=`100%`,{iframe:n,page:t}},show(e){let{iframe:t,page:n}=this.createIframeAndPage(e);t.style.boxSizing=`border-box`,t.style.display=`block`;let r=document.createElement(`dialog`);r.id=`inertia-error-dialog`,Object.assign(r.style,{width:`calc(100vw - 100px)`,height:`calc(100vh - 100px)`,padding:`0`,margin:`auto`,border:`none`,backgroundColor:`transparent`});let i=document.createElement(`style`);if(i.textContent=` dialog#inertia-error-dialog::backdrop { background-color: rgba(0, 0, 0, 0.6); @@ -7,8 +7,8 @@ import{n as e}from"./rolldown-runtime-DXc-PV0M.js";function t(e){return typeof e dialog#inertia-error-dialog:focus { outline: none; } - `,document.head.appendChild(i),r.addEventListener(`click`,e=>{e.target===r&&r.close()}),r.addEventListener(`close`,()=>{i.remove(),r.remove()}),r.appendChild(t),document.body.prepend(r),r.showModal(),r.focus(),!t.contentWindow)throw Error(`iframe not yet ready.`);t.contentWindow.document.open(),t.contentWindow.document.write(n.outerHTML),t.contentWindow.document.close()}},gr=new Gn,_r=class e{constructor(e,t,n){this.requestParams=e,this.response=t,this.originatingPage=n}wasPrefetched=!1;processed=!1;static create(t,n,r){return new e(t,n,r)}isProcessed(){return this.processed}async handlePrefetch(){Bn(this.requestParams.all().url,window.location)&&this.handle()}async handle(){return gr.add(()=>this.process())}async process(){if(this.requestParams.all().prefetch)return this.wasPrefetched=!0,this.requestParams.all().prefetch=!1,this.requestParams.all().onPrefetched(this.response,this.requestParams.all()),Xt(this.response,this.requestParams.all()),Promise.resolve();if(this.requestParams.runCallbacks(),this.processed=!0,!this.isInertiaResponse())return this.handleNonInertiaResponse();if(this.isHttpException()){let e={...this.response,data:this.getDataFromResponse(this.response.data)};if(this.requestParams.all().onHttpException(e)===!1||!Wt(e))return}await j.processQueue(),j.preserveUrl=this.requestParams.all().preserveUrl,await this.setPage();let{flash:e}=A.get();Object.keys(e).length>0&&!this.requestParams.isDeferredPropsRequest()&&(Qt(e),this.requestParams.all().onFlash(e));let t=A.get().props.errors||{};if(Object.keys(t).length>0){let e=this.getScopedErrors(t);return Vt(e),this.requestParams.all().onError(e)}P.flushByCacheTags(this.requestParams.all().invalidateCacheTags||[]),this.wasPrefetched||P.flush(A.get().url),Yt(A.get()),await this.requestParams.all().onSuccess(A.get()),j.preserveUrl=!1}mergeParams(e){this.requestParams.merge(e)}getPageResponse(){let e=this.getDataFromResponse(this.response.data);return typeof e==`object`?this.response.data={...e,flash:e.flash??{}}:this.response.data=e}async handleNonInertiaResponse(){if(this.isInertiaRedirect()){P.visit(this.getHeader(`x-inertia-redirect`),{...this.requestParams.all(),method:`get`,data:{}});return}if(this.isLocationVisit()){let e=Fn(this.getHeader(`x-inertia-location`));return zn(this.requestParams.all().url,e),this.locationVisit(e)}let e={...this.response,data:this.getDataFromResponse(this.response.data)};if(this.requestParams.all().onHttpException(e)!==!1&&Wt(e))return hr.show(e.data)}isInertiaResponse(){return this.hasHeader(`x-inertia`)}isHttpException(){return this.response.status>=400}hasStatus(e){return this.response.status===e}getHeader(e){return this.response.headers[e]}hasHeader(e){return this.getHeader(e)!==void 0}isInertiaRedirect(){return this.hasStatus(409)&&this.hasHeader(`x-inertia-redirect`)}isLocationVisit(){return this.hasStatus(409)&&this.hasHeader(`x-inertia-location`)}locationVisit(e){try{if($t.set($t.locationVisitKey,{preserveScroll:this.requestParams.all().preserveScroll===!0}),typeof window>`u`)return;Bn(window.location,e)?window.location.reload():window.location.href=e.href}catch{return!1}}async setPage(){let e=this.getPageResponse();return this.shouldSetPage(e)?(this.mergeProps(e),A.mergeOncePropsIntoResponse(e),this.preserveOptimisticProps(e),this.preserveEqualProps(e),await this.setRememberedState(e),this.requestParams.setPreserveOptions(e),e.url=j.preserveUrl?A.get().url:this.pageUrl(e),this.requestParams.all().onBeforeUpdate(e),Gt(e),A.set(e,{replace:this.requestParams.all().replace,preserveScroll:this.requestParams.all().preserveScroll,preserveState:this.requestParams.all().preserveState,viewTransition:this.requestParams.all().viewTransition})):Promise.resolve()}getDataFromResponse(e){if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch{return e}}shouldSetPage(e){if(!this.requestParams.all().async||this.originatingPage.component!==e.component)return!0;if(this.originatingPage.component!==A.get().component)return!1;let t=Fn(this.originatingPage.url),n=Fn(A.get().url);return t.origin===n.origin&&t.pathname===n.pathname}pageUrl(e){let t=Fn(e.url);return e.preserveFragment?t.hash=this.requestParams.all().url.hash:zn(this.requestParams.all().url,t),t.pathname+t.search+t.hash}preserveOptimisticProps(e){if(P.hasPendingOptimistic())for(let t of Object.keys(e.props))A.hasBaseline(t)&&(A.updateBaseline(t,e.props[t]),e.props[t]=A.get().props[t])}preserveEqualProps(e){if(e.component!==A.get().component)return;let t=A.get().props;Object.entries(e.props).forEach(([n,r])=>{be(r,t[n])&&(e.props[n]=t[n])})}mergeProps(e){if(!this.requestParams.isPartial()||e.component!==A.get().component)return;let t=e.mergeProps||[],n=e.prependProps||[],r=e.deepMergeProps||[],i=e.matchPropsOn||[],a=(t,n)=>{let r=k(A.get().props,t),a=k(e.props,t);if(Array.isArray(a)){let o=this.mergeOrMatchItems(r||[],a,t,i,n);We(e.props,t,o)}else if(typeof a==`object`&&a){let n={...r||{},...a};We(e.props,t,n)}};t.forEach(e=>a(e,!0)),n.forEach(e=>a(e,!1)),r.forEach(t=>{let n=k(A.get().props,t),r=k(e.props,t),a=(e,t,n)=>Array.isArray(t)?this.mergeOrMatchItems(e,t,n,i):typeof t==`object`&&t?Object.keys(t).reduce((r,i)=>(r[i]=a(e?e[i]:void 0,t[i],`${n}.${i}`),r),{...e}):t;We(e.props,t,a(n,r,t))});let o=new Set([...this.requestParams.all().only,...this.requestParams.all().except].filter(e=>e.includes(`.`)).map(e=>e.split(`.`)[0]));for(let t of o){let n=A.get().props[t];this.isObject(n)&&this.isObject(e.props[t])&&(e.props[t]=this.deepMergeObjects(n,e.props[t]))}e.props={...A.get().props,...e.props},this.shouldPreserveErrors(e)&&(e.props.errors=A.get().props.errors),A.get().scrollProps&&(e.scrollProps={...A.get().scrollProps||{},...e.scrollProps||{}}),A.hasOnceProps()&&(e.onceProps={...A.get().onceProps||{},...e.onceProps||{}}),this.requestParams.isDeferredPropsRequest()&&(e.flash={...A.get().flash});let s=A.get().initialDeferredProps;s&&Object.keys(s).length>0&&(e.initialDeferredProps=s)}shouldPreserveErrors(e){if(!this.requestParams.all().preserveErrors)return!1;let t=A.get().props.errors;if(!t||Object.keys(t).length===0)return!1;let n=e.props.errors;return!(n&&Object.keys(n).length>0)}isObject(e){return e&&typeof e==`object`&&!Array.isArray(e)}deepMergeObjects(e,t){let n={...e};for(let r of Object.keys(t)){let i=e[r],a=t[r];this.isObject(i)&&this.isObject(a)?n[r]=this.deepMergeObjects(i,a):n[r]=a}return n}mergeOrMatchItems(e,t,n,r,i=!0){let a=Array.isArray(e)?e:[],o=r.find(e=>e.split(`.`).slice(0,-1).join(`.`)===n);if(!o)return i?[...a,...t]:[...t,...a];let s=o.split(`.`).pop()||``,c=new Map;return t.forEach(e=>{this.hasUniqueProperty(e,s)&&c.set(e[s],e)}),i?this.appendWithMatching(a,t,c,s):this.prependWithMatching(a,t,c,s)}appendWithMatching(e,t,n,r){let i=e.map(e=>this.hasUniqueProperty(e,r)&&n.has(e[r])?n.get(e[r]):e),a=t.filter(t=>this.hasUniqueProperty(t,r)?!e.some(e=>this.hasUniqueProperty(e,r)&&e[r]===t[r]):!0);return[...i,...a]}prependWithMatching(e,t,n,r){let i=e.filter(e=>this.hasUniqueProperty(e,r)?!n.has(e[r]):!0);return[...t,...i]}hasUniqueProperty(e,t){return e&&typeof e==`object`&&t in e}async setRememberedState(e){let t=await j.getState(j.rememberedState,{});this.requestParams.all().preserveState&&t&&e.component===A.get().component&&(e.rememberedState=t)}getScopedErrors(e){return this.requestParams.all().errorBag?e[this.requestParams.all().errorBag||``]||{}:e}},vr=class e{constructor(e,t,{optimistic:n=!1}={}){this.page=t,this.requestParams=mr.create(e),this.cancelToken=new AbortController,this.optimistic=n}response;cancelToken;requestParams;requestHasFinished=!1;optimistic;static create(t,n,r){return new e(t,n,r)}isPrefetch(){return this.requestParams.isPrefetch()}isOptimistic(){return this.optimistic}isPendingOptimistic(){return this.isOptimistic()&&(!this.response||!this.response.isProcessed())}async send(){this.requestParams.onCancelToken(()=>this.cancel({cancelled:!0})),Jt(this.requestParams.all()),this.requestParams.onStart(),this.requestParams.all().prefetch&&(this.requestParams.onPrefetching(),Zt(this.requestParams.all()));let e=this.requestParams.all().prefetch;return pr.getClient().request({method:this.requestParams.all().method,url:Rn(this.requestParams.all().url).href,data:this.requestParams.data(),signal:this.cancelToken.signal,headers:this.getHeaders(),onUploadProgress:this.onProgress.bind(this)}).then(e=>(this.response=_r.create(this.requestParams,e,this.page),this.response.handle())).catch(e=>e instanceof rr?(this.response=_r.create(this.requestParams,e.response,this.page),this.response.handle()):Promise.reject(e)).catch(t=>{if(!(t instanceof ir)&&this.requestParams.all().onNetworkError(t)!==!1&&Ht(t))return e&&this.requestParams.onPrefetchError(t),Promise.reject(t)}).finally(()=>{this.finish(),e&&this.response&&this.requestParams.onPrefetchResponse(this.response)})}finish(){this.requestParams.wasCancelledAtAll()||(this.requestParams.markAsFinished(),this.fireFinishEvents())}fireFinishEvents(){this.requestHasFinished||(this.requestHasFinished=!0,Ut(this.requestParams.all()),this.requestParams.onFinish())}cancel({cancelled:e=!1,interrupted:t=!1}){this.requestHasFinished||(this.cancelToken.abort(),this.requestParams.markAsCancelled({cancelled:e,interrupted:t}),this.fireFinishEvents())}onProgress(e){this.requestParams.data()instanceof FormData&&(qt(e),this.requestParams.all().onProgress(e))}getHeaders(){let e={...this.requestParams.headers(),Accept:`text/html, application/xhtml+xml`,"X-Requested-With":`XMLHttpRequest`,"X-Inertia":!0},t=A.get();t.version&&(e[`X-Inertia-Version`]=t.version);let n=Object.entries(t.onceProps||{}).filter(([,e])=>k(t.props,e.prop)===void 0?!1:!e.expiresAt||e.expiresAt>Date.now()).map(([e])=>e);return n.length>0&&(e[`X-Inertia-Except-Once-Props`]=n.join(`,`)),e}},yr=class{requests=[];maxConcurrent;interruptible;constructor({maxConcurrent:e,interruptible:t}){this.maxConcurrent=e,this.interruptible=t}send(e){this.requests.push(e),e.send().finally(()=>{this.requests=this.requests.filter(t=>t!==e)})}interruptInFlight(){this.cancel({interrupted:!0},!1)}cancelInFlight({prefetch:e=!0,optimistic:t=!0}={}){this.requests.filter(t=>e||!t.isPrefetch()).filter(e=>t||!e.isOptimistic()).forEach(e=>e.cancel({cancelled:!0}))}cancel({cancelled:e=!1,interrupted:t=!1}={},n=!1){!n&&!this.shouldCancel()||this.requests.shift()?.cancel({cancelled:e,interrupted:t})}shouldCancel(){return this.interruptible&&this.requests.length>=this.maxConcurrent}hasPendingOptimistic(){return this.requests.some(e=>e.isPendingOptimistic())}},br=()=>{},xr=class{syncRequestStream=new yr({maxConcurrent:1,interruptible:!0});asyncRequestStream=new yr({maxConcurrent:1/0,interruptible:!1});clientVisitQueue=new Gn;pendingOptimisticCallback=void 0;init({initialPage:e,resolveComponent:t,swapComponent:n,onFlash:r}){A.init({initialPage:e,resolveComponent:t,swapComponent:n,onFlash:r}),Qn.handle(),Xn.init(),Xn.on(`missingHistoryItem`,()=>{typeof window<`u`&&this.visit(window.location.href,{preserveState:!0,preserveScroll:!0,replace:!0})}),Xn.on(`loadDeferredProps`,e=>{this.loadDeferredProps(e)}),Xn.on(`historyQuotaExceeded`,e=>{window.location.href=e})}optimistic(e){return this.pendingOptimisticCallback=e,this}get(e,t={},n={}){return this.visit(e,{...n,method:`get`,data:t})}post(e,t={},n={}){return this.visit(e,{preserveState:!0,...n,method:`post`,data:t})}put(e,t={},n={}){return this.visit(e,{preserveState:!0,...n,method:`put`,data:t})}patch(e,t={},n={}){return this.visit(e,{preserveState:!0,...n,method:`patch`,data:t})}delete(e,t={}){return this.visit(e,{preserveState:!0,...t,method:`delete`})}reload(e={}){return this.doReload(e)}doReload(e={}){if(!(typeof window>`u`))return this.visit(window.location.href,{...e,preserveScroll:!0,preserveState:!0,async:!0,headers:{...e.headers||{},"Cache-Control":`no-cache`}})}remember(e,t=`default`){j.remember(e,t)}restore(e=`default`){return j.restore(e)}on(e,t){return typeof window>`u`?()=>{}:Xn.onGlobalEvent(e,t)}hasPendingOptimistic(){return this.asyncRequestStream.hasPendingOptimistic()}cancelAll({async:e=!0,prefetch:t=!0,sync:n=!0}={}){e&&this.asyncRequestStream.cancelInFlight({prefetch:t}),n&&this.syncRequestStream.cancelInFlight()}poll(e,t={},n={}){return er.add(e,()=>this.reload({preserveErrors:!0,...t}),{autoStart:n.autoStart??!0,keepAlive:n.keepAlive??!1})}visit(e,t={}){t.optimistic=t.optimistic??this.pendingOptimisticCallback,this.pendingOptimisticCallback=void 0,t.optimistic&&(t.async=t.async??!0);let n=this.getPendingVisit(e,{...t,showProgress:t.showProgress??(!t.async||!!t.optimistic)}),r=this.getVisitEvents(t);if(r.onBefore(n)===!1||!Bt(n))return;let i=Fn(A.get().url);(n.only.length>0||n.except.length>0||n.reset.length>0?Vn(n.url,i):Bn(n.url,i))||this.asyncRequestStream.cancelInFlight({prefetch:!1,optimistic:!1}),n.async||this.syncRequestStream.interruptInFlight(),t.optimistic&&this.applyOptimisticUpdate(t.optimistic,r),!A.isCleared()&&!n.preserveUrl&&bn.save();let a={...n,...r},o=()=>{let e=hn.get(a);e?(li.reveal(e.inFlight),hn.use(e,a)):(li.reveal(!0),(n.async?this.asyncRequestStream:this.syncRequestStream).send(vr.create(a,A.get(),{optimistic:!!t.optimistic})))};Array.isArray(n.component)&&(console.error(`The "component" prop received an array of components (${n.component.join(`, `)}), but only a single component string is supported for instant visits. Pass an explicit component name instead.`),n.component=null),n.component?j.processQueue().then(()=>{this.performInstantSwap(n).then(()=>{a.preserveState=!0,a.replace=!0,a.viewTransition=!1,o()})}):o()}getCached(e,t={}){return hn.findCached(this.getPrefetchParams(e,t))}flush(e,t={}){hn.remove(this.getPrefetchParams(e,t))}flushAll(){hn.removeAll()}flushByCacheTags(e){hn.removeByTags(Array.isArray(e)?e:[e])}getPrefetching(e,t={}){return hn.findInFlight(this.getPrefetchParams(e,t))}prefetch(e,t={},n={}){if((t.method??(Hn(e)?e.method:`get`))!==`get`)throw Error(`Prefetch requests must use the GET method`);let r=this.getPendingVisit(e,{...t,async:!0,showProgress:!1,prefetch:!0,viewTransition:!1});if(r.url.origin+r.url.pathname+r.url.search===window.location.origin+window.location.pathname+window.location.search)return;let i=this.getVisitEvents(t);if(i.onBefore(r)===!1||!Bt(r))return;li.hide(),this.asyncRequestStream.interruptInFlight();let a={...r,...i};new Promise(e=>{let t=()=>{A.get()?e():setTimeout(t,50)};t()}).then(()=>{hn.add(a,e=>{this.asyncRequestStream.send(vr.create(e,A.get()))},{cacheFor:Lt.get(`prefetch.cacheFor`),cacheTags:[],...n})})}clearHistory(){j.clear()}decryptHistory(){return j.decrypt()}resolveComponent(e,t){return A.resolve(e,t)}replace(e){this.clientVisit(e,{replace:!0})}replaceProp(e,t,n){this.replace({preserveScroll:!0,preserveState:!0,props(n){let r=typeof t==`function`?t(k(n,e),n):t;return We(O(n),e,r)},...n||{}})}appendToProp(e,t,n){this.replaceProp(e,(e,n)=>{let r=typeof t==`function`?t(e,n):t;return Array.isArray(e)||(e=e===void 0?[]:[e]),[...e,r]},n)}prependToProp(e,t,n){this.replaceProp(e,(e,n)=>{let r=typeof t==`function`?t(e,n):t;return Array.isArray(e)||(e=e===void 0?[]:[e]),[r,...e]},n)}push(e){this.clientVisit(e)}flash(e,t){let n=A.get().flash,r;if(typeof e==`function`)r=e(n);else if(typeof e==`string`)r={...n,[e]:t};else if(e&&Object.keys(e).length)r={...n,...e};else return;A.setFlash(r),Object.keys(r).length&&Qt(r)}clientVisit(e,{replace:t=!1}={}){this.clientVisitQueue.add(()=>this.performClientVisit(e,{replace:t}))}performClientVisit(e,{replace:t=!1}={}){let n=A.get(),r=typeof e.props==`function`?Object.fromEntries(Object.values(n.onceProps??{}).map(e=>[e.prop,k(n.props,e.prop)])):{},i=typeof e.props==`function`?e.props(n.props,r):e.props??n.props,a=typeof e.flash==`function`?e.flash(n.flash):e.flash,{viewTransition:o,onError:s,onFinish:c,onFlash:l,onSuccess:u,...d}=e,f={...n,...d,flash:a??{},props:i},p=mr.resolvePreserveOption(e.preserveScroll??!1,f),m=mr.resolvePreserveOption(e.preserveState??!1,f);return A.set(f,{replace:t,preserveScroll:p,preserveState:m,viewTransition:o}).then(()=>{let t=A.get().flash;Object.keys(t).length>0&&(Qt(t),l?.(t));let n=A.get().props.errors||{};if(Object.keys(n).length===0){u?.(A.get());return}let r=e.errorBag?n[e.errorBag||``]||{}:n;s?.(r)}).finally(()=>c?.(e))}performInstantSwap(e){let t=A.get(),n=Object.fromEntries((t.sharedProps??[]).filter(e=>e in t.props).map(e=>[e,t.props[e]])),r=typeof e.pageProps==`function`?e.pageProps(O(t.props),O(n)):e.pageProps,i=r===null?{...n}:{...r},a={component:e.component,url:e.url.pathname+e.url.search+e.url.hash,version:t.version,props:{...i,errors:{}},flash:{},clearHistory:!1,encryptHistory:t.encryptHistory,sharedProps:t.sharedProps,rememberedState:{}};return A.set(a,{replace:e.replace,preserveScroll:mr.resolvePreserveOption(e.preserveScroll,a),preserveState:!1,viewTransition:e.viewTransition})}getPrefetchParams(e,t){return{...this.getPendingVisit(e,{...t,async:!0,showProgress:!1,prefetch:!0,viewTransition:!1}),...this.getVisitEvents(t)}}getPendingVisit(e,t){if(Hn(e)){let n=e;e=n.url,t.method=t.method??n.method}let n=Lt.get(`visitOptions`),r=n&&n(e.toString(),O(t))||{},i={method:`get`,data:{},replace:!1,preserveScroll:!1,preserveState:!1,only:[],except:[],headers:{},errorBag:``,forceFormData:!1,queryStringArrayFormat:`brackets`,async:!1,showProgress:!0,fresh:!1,reset:[],preserveUrl:!1,preserveErrors:!1,prefetch:!1,invalidateCacheTags:[],viewTransition:!1,component:null,pageProps:null,...t,...r},[a,o]=In(e,i.data,i.method,i.forceFormData,i.queryStringArrayFormat),s={cancelled:!1,completed:!1,interrupted:!1,...i,url:a,data:o};return s.prefetch&&(s.headers.Purpose=`prefetch`),s}getVisitEvents(e){return{onCancelToken:e.onCancelToken||br,onBefore:e.onBefore||br,onBeforeUpdate:e.onBeforeUpdate||br,onStart:e.onStart||br,onProgress:e.onProgress||br,onFinish:e.onFinish||br,onCancel:e.onCancel||br,onSuccess:e.onSuccess||br,onError:e.onError||br,onHttpException:e.onHttpException||br,onNetworkError:e.onNetworkError||br,onFlash:e.onFlash||br,onPrefetched:e.onPrefetched||br,onPrefetching:e.onPrefetching||br}}applyOptimisticUpdate(e,t){let n=A.get().props,r=e(O(n));if(!r)return;let i=[];for(let e of Object.keys(r))be(n[e],r[e])||i.push(e);if(i.length===0)return;let a=A.nextOptimisticId(),o=A.get().component;for(let e of i)A.setBaseline(e,O(n[e]));A.registerOptimistic(a,e),A.setPropsQuietly({...n,...r});let s=!0,c=t.onSuccess;t.onSuccess=e=>(s=!1,c(e));let l=t.onFinish;t.onFinish=e=>{if(A.unregisterOptimistic(a),s&&A.get().component===o){let e=A.replayOptimistics();Object.keys(e).length>0&&A.setPropsQuietly({...A.get().props,...e})}return A.pendingOptimisticCount()===0&&A.clearOptimisticState(),l(e)}}loadDeferredProps(e){e&&Object.values(e).forEach(e=>{this.doReload({only:e,deferredProps:!0,preserveErrors:!0})})}},Sr=class{static createWayfinderCallback(...e){return()=>e.length===1?Hn(e[0])?e[0]:e[0]():{method:typeof e[0]==`function`?e[0]():e[0],url:typeof e[1]==`function`?e[1]():e[1]}}static parseUseFormArguments(...e){return e.length===0?{rememberKey:null,data:{},precognitionEndpoint:null}:e.length===1?{rememberKey:null,data:e[0],precognitionEndpoint:null}:e.length===2?typeof e[0]==`string`?{rememberKey:e[0],data:e[1],precognitionEndpoint:null}:{rememberKey:null,data:e[1],precognitionEndpoint:this.createWayfinderCallback(e[0])}:{rememberKey:null,data:e[2],precognitionEndpoint:this.createWayfinderCallback(e[0],e[1])}}static parseSubmitArguments(e,t){return e.length===3||e.length===2&&typeof e[0]==`string`?{method:e[0],url:e[1],options:e[2]??{}}:Hn(e[0])?{...e[0],options:e[1]??{}}:{...t(),options:e[0]??{}}}static mergeHeadersForValidation(e,t,n){let r=e=>(e.headers={...n??{},...e.headers??{}},e);return e&&typeof e==`object`&&!(`target`in e)?e=r(e):t&&typeof t==`object`?t=r(t):typeof e==`string`?t=r(t??{}):e=r(e??{}),[e,t]}};function Cr(e){return e.includes(`.`)?e.replace(/\\\./g,`__ESCAPED_DOT__`).split(/(\[[^\]]*\])/).filter(Boolean).map(e=>e.startsWith(`[`)&&e.endsWith(`]`)?e:e.split(`.`).reduce((e,t,n)=>n===0?t:`${e}[${t}]`)).join(``).replace(/__ESCAPED_DOT__/g,`.`):e}function wr(e){let t=[],n=/([^\[\]]+)|\[(\d*)\]/g,r;for(;(r=n.exec(e))!==null;)r[1]===void 0?r[2]!==void 0&&t.push(r[2]===``?``:Number(r[2])):t.push(r[1]);return t}function Tr(e,t,n){let r=e;for(let e=0;e/^\d+$/.test(e)).map(Number).sort((e,t)=>e-t);return t.length===n.length&&n.length>0&&n[0]===0&&n.every((e,t)=>e===t)}function Dr(e){if(Array.isArray(e))return e.map(Dr);if(typeof e!=`object`||!e||xn(e))return e;if(Er(e)){let t=[];for(let n=0;n/^\d+$/.test(e)).map(Number).sort((e,t)=>e-t);We(t,n,e.length>0?[...e.map(e=>i[e]),r]:[r])}else We(t,n,[r]);continue}Tr(t,e.map(String),r)}return Dr(t)}var kr={buildDOMElement(e){let t=document.createElement(`template`);t.innerHTML=e;let n=t.content.firstChild;if(!e.startsWith(` diff --git a/resources/js/components/DropIndicator.vue b/resources/js/components/DropIndicator.vue index 71d0382a846..955dad8eefd 100644 --- a/resources/js/components/DropIndicator.vue +++ b/resources/js/components/DropIndicator.vue @@ -1,6 +1,5 @@ + + + + diff --git a/resources/js/composables/useReorderableItems.ts b/resources/js/composables/useReorderableItems.ts index 1f73ece4995..0bc36d10dff 100644 --- a/resources/js/composables/useReorderableItems.ts +++ b/resources/js/composables/useReorderableItems.ts @@ -1,8 +1,8 @@ import { + type ComponentPublicInstance, nextTick, onMounted, onUnmounted, - ref, shallowRef, triggerRef, watch, @@ -16,6 +16,8 @@ import { export type {DragState, DropState}; +type ReorderableElement = Element | ComponentPublicInstance | null; + export interface UseReorderableItemsOptions { getItemIds: () => Array; onReorder: (startIndex: number, finishIndex: number) => void; @@ -24,8 +26,8 @@ export interface UseReorderableItemsOptions { } export interface UseReorderableItemsReturn { - setItemRef: (el: HTMLElement | null, itemId: string | number) => void; - setHandleRef: (el: HTMLElement | null, itemId: string | number) => void; + setItemRef: (el: ReorderableElement, itemId: string | number) => void; + setHandleRef: (el: ReorderableElement, itemId: string | number) => void; getDragState: (id: string | number) => DragState; getDropState: (id: string | number) => DropState; refreshRegistrations: () => void; @@ -34,10 +36,13 @@ export interface UseReorderableItemsReturn { export function useReorderableItems( options: UseReorderableItemsOptions ): UseReorderableItemsReturn { - const itemRefs = ref>(new Map()); + const itemRefs = shallowRef>(new Map()); const handleRefs = shallowRef>(new Map()); - const cleanupFns = ref void>>(new Map()); + const cleanupFns = new Map void>(); let monitorCleanup: (() => void) | null = null; + let mounted = false; + let unmounted = false; + let refreshScheduled = false; const {registerItem, getDragState, getDropState, setupMonitor} = useDragAndDrop({ @@ -45,21 +50,72 @@ export function useReorderableItems( axis: options.axis ?? 'vertical', }); - function setItemRef(el: HTMLElement | null, itemId: string | number) { - if (el) { - itemRefs.value.set(itemId, el); - } else { - itemRefs.value.delete(itemId); + function resolveElement(el: ReorderableElement): HTMLElement | null { + if (el instanceof HTMLElement) { + return el; + } + + if (el && !(el instanceof Element) && el.$el instanceof HTMLElement) { + return el.$el; + } + + return null; + } + + function scheduleRefreshRegistrations() { + if (!mounted || unmounted || refreshScheduled) { + return; } + + refreshScheduled = true; + + nextTick(() => { + refreshScheduled = false; + + if (!unmounted) { + refreshRegistrations(); + } + }); } - function setHandleRef(el: HTMLElement | null, itemId: string | number) { - if (el) { - handleRefs.value.set(itemId, el); + function setItemRef(el: ReorderableElement, itemId: string | number) { + const element = resolveElement(el); + const current = itemRefs.value.get(itemId); + + if (element) { + if (current === element) { + return; + } + + itemRefs.value.set(itemId, element); + } else if (current) { + itemRefs.value.delete(itemId); } else { + return; + } + + triggerRef(itemRefs); + scheduleRefreshRegistrations(); + } + + function setHandleRef(el: ReorderableElement, itemId: string | number) { + const element = resolveElement(el); + const current = handleRefs.value.get(itemId); + + if (element) { + if (current === element) { + return; + } + + handleRefs.value.set(itemId, element); + } else if (current) { handleRefs.value.delete(itemId); + } else { + return; } + triggerRef(handleRefs); + scheduleRefreshRegistrations(); } function isEnabled(): boolean { @@ -68,8 +124,8 @@ export function useReorderableItems( function refreshRegistrations() { // Clean up existing registrations - cleanupFns.value.forEach((fn) => fn()); - cleanupFns.value.clear(); + cleanupFns.forEach((fn) => fn()); + cleanupFns.clear(); if (!isEnabled()) { return; @@ -83,7 +139,7 @@ export function useReorderableItems( if (itemEl) { const cleanup = registerItem(itemEl, handleEl ?? null, itemId, index); - cleanupFns.value.set(itemId, cleanup); + cleanupFns.set(itemId, cleanup); } }); } @@ -92,27 +148,31 @@ export function useReorderableItems( watch( () => options.getItemIds(), () => { - nextTick(refreshRegistrations); + scheduleRefreshRegistrations(); }, {deep: true} ); - // Re-register when handle refs change (handles may be set after initial mount) + // Re-register when enabled state changes. watch( - () => handleRefs.value.size, + () => isEnabled(), () => { - nextTick(refreshRegistrations); + scheduleRefreshRegistrations(); } ); onMounted(() => { + mounted = true; + // Setup the monitor monitorCleanup = setupMonitor(); - nextTick(refreshRegistrations); + scheduleRefreshRegistrations(); }); onUnmounted(() => { - cleanupFns.value.forEach((fn) => fn()); + unmounted = true; + cleanupFns.forEach((fn) => fn()); + cleanupFns.clear(); monitorCleanup?.(); }); diff --git a/resources/js/composables/useSettingsSave.ts b/resources/js/composables/useSettingsSave.ts index b4d86c83f73..99a7b199b0c 100644 --- a/resources/js/composables/useSettingsSave.ts +++ b/resources/js/composables/useSettingsSave.ts @@ -2,9 +2,14 @@ import {useEventListener} from '@vueuse/core'; import {type InertiaForm, usePage} from '@inertiajs/vue3'; import {computed} from 'vue'; +interface UseSettingsSaveOptions> { + transform?: (data: T) => Record; +} + export function useSettingsSave>( form: InertiaForm, - action: any + action: any, + options: UseSettingsSaveOptions = {} ) { const page = usePage<{ redirectUrl?: string; @@ -20,9 +25,9 @@ export function useSettingsSave>( }); function save({redirect = true} = {}) { - let options = {}; + let submitOptions = {}; if (redirect) { - options = { + submitOptions = { preserveScroll: true, preserveState: true, }; @@ -31,13 +36,15 @@ export function useSettingsSave>( form .clearErrors() .transform((data: T) => { + const transformedData = options.transform?.(data) ?? data; + return { - ...data, + ...transformedData, redirect: redirect && redirectUrl.value ? redirectUrl.value : undefined, }; }) - .submit(action(), options); + .submit(action(), submitOptions); } return {save}; diff --git a/resources/js/layout/AppLayout.vue b/resources/js/layout/AppLayout.vue index 6e04667ff7b..17ec9cb2bb4 100644 --- a/resources/js/layout/AppLayout.vue +++ b/resources/js/layout/AppLayout.vue @@ -31,6 +31,7 @@ fullWidth?: boolean; form?: InertiaForm | null; formActions?: Array; + formAdditionalActions?: Array; additionalSkipLinks?: Array<{label: string; url: string}>; } @@ -206,40 +207,51 @@ :is-active="form.recentlySuccessful || form.hasErrors" /> - - - {{ t('Save') }} - +
+ + + {{ t('Save') }} + + + + + + - - - + v-if="formAdditionalActions?.length" + :actions="formAdditionalActions" + /> +
diff --git a/resources/js/pages/settings/routes/EditRoutePage.vue b/resources/js/pages/settings/routes/EditRoutePage.vue new file mode 100644 index 00000000000..ab5f21a656a --- /dev/null +++ b/resources/js/pages/settings/routes/EditRoutePage.vue @@ -0,0 +1,300 @@ + + + + + diff --git a/resources/js/pages/settings/routes/RoutesIndexPage.vue b/resources/js/pages/settings/routes/RoutesIndexPage.vue new file mode 100644 index 00000000000..ed13a87e7e4 --- /dev/null +++ b/resources/js/pages/settings/routes/RoutesIndexPage.vue @@ -0,0 +1,299 @@ + + + + + diff --git a/resources/js/pages/settings/routes/types.ts b/resources/js/pages/settings/routes/types.ts new file mode 100644 index 00000000000..92943680f9a --- /dev/null +++ b/resources/js/pages/settings/routes/types.ts @@ -0,0 +1,34 @@ +import type {MixedInputPart} from '@/components/form/MixedInput.vue'; + +export interface RouteData { + uid: string | null; + siteUid: string | null; + uriParts: Array; + uriDisplayHtml: string; + template: string; + sortOrder: number | null; +} + +export interface RouteIndexData extends Omit { + uid: string; + siteName: string; +} + +export interface RouteFormData { + uriParts: Array; + template: string; + siteUid: string; + redirect?: string; +} + +export interface RouteActionMenuItem { + type?: 'button' | 'link' | 'hr' | 'group'; + label?: string; + url?: string; + icon?: string; + destructive?: boolean; + attributes?: { + data?: Record; + }; + items?: Array; +} diff --git a/resources/templates/settings/routes.twig b/resources/templates/settings/routes.twig deleted file mode 100644 index 85250f76194..00000000000 --- a/resources/templates/settings/routes.twig +++ /dev/null @@ -1,99 +0,0 @@ -{% from '_includes/forms.twig' import button %} - -{% extends "_layouts/cp" %} -{% set title = "Routes"|t('app') %} - -{% block actionButton %} - {% if not readOnly %} - - {% endif %} -{% endblock %} - -{% set crumbs = [ - { label: "Settings"|t('app'), url: url('settings') } -] %} - - - -{% set actionMenuItems = [ - { - icon: 'arrow-up', - label: 'Move up'|t('app'), - attributes: { - data: {action: 'moveUp'}, - }, - }, - { - label: 'Move down'|t('app'), - attributes: { - data: {icon: 'arrow-down', action: 'moveDown'}, - }, - }, -] %} - -{% block main %} -
- {% if readOnly %} -
- {{ readOnlyNotice()|raw }} -
- {% endif %} - - - - {% for route in routes %} -
-
- {%- apply spaceless %} - {% if Sites.isMultiSite() %} - {{ route.siteUid ? Sites.getSiteByUid(route.siteUid).name|t('site') : "Global"|t('app') }} - {% endif %} - {{ route.uriDisplayHtml|raw }} - {% endapply -%} -
-
{{ route.template }}
- {% if not readOnly %} -
- {{ button({ - class: ['chromeless', 'small', 'edit-btn'], - icon: 'edit', - attributes: { - title: 'Edit'|t('app'), - aria: {label: 'Edit'|t('app')}, - role: 'none', - }, - }) }} - {{ disclosureMenu(actionMenuItems, { - hiddenLabel: 'Actions'|t('app'), - buttonAttributes: { - class: ['action-btn', 'small'], - title: 'Actions'|t('app'), - data: { - 'disclosure-trigger': true, - }, - }, - }) }} - {{ tag('a', { - class: ['move', 'icon'], - title: 'Reorder'|t('app'), - aria: {label: 'Reorder'|t('app')}, - tabindex: '-1', - }) }} -
- {% endif %} -
- {% endfor %} -
-{% endblock %} - - -{% js %} - Craft.routes.tokens = { - {% for name, pattern in tokens %} - {% if not loop.first %},{% endif %} - "{{ name|e('js') }}": "{{ pattern|e('js') }}" - {% endfor %} - }; -{% endjs %} diff --git a/routes/actions.php b/routes/actions.php index ef73adc8619..4478ca5e1f8 100644 --- a/routes/actions.php +++ b/routes/actions.php @@ -73,7 +73,6 @@ use CraftCms\Cms\Http\Controllers\Settings\EntryTypesController; use CraftCms\Cms\Http\Controllers\Settings\FilesystemsController; use CraftCms\Cms\Http\Controllers\Settings\ImageTransformsController; -use CraftCms\Cms\Http\Controllers\Settings\RoutesController; use CraftCms\Cms\Http\Controllers\Settings\SectionsController; use CraftCms\Cms\Http\Controllers\Settings\UserSettingsController; use CraftCms\Cms\Http\Controllers\Settings\VolumesController; @@ -463,13 +462,6 @@ Route::post(BaseUpdaterController::ACTION_FINISH, [ConfigSyncController::class, 'finish']); }); - // Routes - Route::middleware([RequireAdminChanges::class])->group(function () { - Route::post('routes/save-route', [RoutesController::class, 'store']); - Route::post('routes/delete-route', [RoutesController::class, 'destroy']); - Route::post('routes/update-route-order', [RoutesController::class, 'reorder']); - }); - // Sections Route::get('sections/table-data', [SectionsController::class, 'tableData']); Route::get('sections/edit/{section}', [SectionsController::class, 'edit']); diff --git a/routes/cp.php b/routes/cp.php index 41ac234a0c9..8806780f039 100644 --- a/routes/cp.php +++ b/routes/cp.php @@ -237,7 +237,18 @@ })->where('filename', '.*'); // Routes - Route::get('settings/routes', [RoutesController::class, 'index']); + Route::prefix('settings/routes')->name('settings.routes.')->group(function () { + Route::get('/', [RoutesController::class, 'index'])->name('index'); + Route::get('{uid}', [RoutesController::class, 'edit'])->name('edit'); + + Route::middleware(RequireAdminChanges::class)->group(function () { + Route::get('new', [RoutesController::class, 'create'])->name('create'); + Route::post('/', [RoutesController::class, 'store'])->name('store'); + Route::patch('{uid}', [RoutesController::class, 'update'])->name('update'); + Route::delete('{uid}', [RoutesController::class, 'destroy'])->name('destroy'); + Route::post('reorder', [RoutesController::class, 'reorder'])->name('reorder'); + }); + }); // Sections Route::get('settings/sections', [SectionsController::class, 'index']) diff --git a/src/Cp/Html/MenuHtml.php b/src/Cp/Html/MenuHtml.php index faa903da7b2..7fd08ab04ea 100644 --- a/src/Cp/Html/MenuHtml.php +++ b/src/Cp/Html/MenuHtml.php @@ -38,27 +38,7 @@ public function disclosureMenu(array $items, array $config = []): string 'omitIfEmpty' => true, ]; - // Item normalization & cleanup - $items = Collection::make($this->normalizeMenuItems($items)); - - // Place all the destructive items at the end - $destructiveItems = $items->filter(fn (array $item) => $item['destructive'] ?? false); - $items = $items->reject(fn (array $item): bool => (bool) ($item['destructive'] ?? false)) - ->push(['type' => MenuItemType::HR->value]) - ->push(...$destructiveItems->all()); - - // Remove leading/trailing/repetitive HRs - while (($items->first()['type'] ?? null) === MenuItemType::HR->value) { - $items->shift(); - } - while (($items->last()['type'] ?? null) === MenuItemType::HR->value) { - $items->pop(); - } - $items = $items->values(); - $items = $items->filter(fn (array $item, int $i) => ( - ($item['type'] ?? null) !== MenuItemType::HR->value || - ($items->get($i + 1)['type'] ?? null) !== MenuItemType::HR->value - )); + $items = Collection::make($this->disclosureMenuItems($items)); // If we're left without any items, just return an empty string if ($config['omitIfEmpty'] && $items->isEmpty()) { @@ -83,6 +63,32 @@ public function disclosureMenu(array $items, array $config = []): string return template('_includes/disclosuremenu', $config, templateMode: TemplateMode::Cp); } + public function disclosureMenuItems(array $items): array + { + $items = Collection::make($this->normalizeMenuItems($items)); + + // Place all the destructive items at the end + $destructiveItems = $items->filter(fn (array $item) => $item['destructive'] ?? false); + $items = $items->reject(fn (array $item): bool => (bool) ($item['destructive'] ?? false)) + ->push(['type' => MenuItemType::HR->value]) + ->push(...$destructiveItems->all()); + + // Remove leading/trailing/repetitive HRs + while (($items->first()['type'] ?? null) === MenuItemType::HR->value) { + $items->shift(); + } + while (($items->last()['type'] ?? null) === MenuItemType::HR->value) { + $items->pop(); + } + $items = $items->values(); + $items = $items->filter(fn (array $item, int $i) => ( + ($item['type'] ?? null) !== MenuItemType::HR->value || + ($items->get($i + 1)['type'] ?? null) !== MenuItemType::HR->value + )); + + return $items->values()->all(); + } + public function menuItem(array $config, string $menuId): string { return template('_includes/menuitem', [ diff --git a/src/Cp/JsonResource.php b/src/Cp/JsonResource.php index 40483a9d3e1..bdaff8f50d4 100644 --- a/src/Cp/JsonResource.php +++ b/src/Cp/JsonResource.php @@ -4,8 +4,10 @@ namespace CraftCms\Cms\Cp; +use Override; + class JsonResource extends \Illuminate\Http\Resources\Json\JsonResource { - #[\Override] - public static $wrap = false; + #[Override] + public static $wrap; } diff --git a/src/Http/Controllers/Settings/RoutesController.php b/src/Http/Controllers/Settings/RoutesController.php index 0f747728d16..7e2521b5900 100644 --- a/src/Http/Controllers/Settings/RoutesController.php +++ b/src/Http/Controllers/Settings/RoutesController.php @@ -5,64 +5,74 @@ namespace CraftCms\Cms\Http\Controllers\Settings; use CraftCms\Cms\Cms; +use CraftCms\Cms\Http\Requests\RouteRequest; use CraftCms\Cms\Http\RespondsWithFlash; +use CraftCms\Cms\Http\Responses\CpScreenResponse; use CraftCms\Cms\Route\Data\Route; use CraftCms\Cms\Route\Routes; -use CraftCms\Cms\View\LegacyAssets\InternalAssetRegistry; -use CraftCms\Cms\View\LegacyAssets\RoutesAsset; -use Illuminate\Contracts\View\View; +use CraftCms\Cms\Site\Data\Site; +use CraftCms\Cms\Site\Sites; +use CraftCms\Cms\Support\Url; use Illuminate\Http\Request; use Symfony\Component\HttpFoundation\Response; +use function CraftCms\Cms\t; + readonly class RoutesController { use RespondsWithFlash; public function __construct( private Routes $routes, + private Sites $sites, ) {} - public function index(): View + public function index(): CpScreenResponse { - app(InternalAssetRegistry::class)->register(RoutesAsset::class); + return new CpScreenResponse() + ->title(t('Routes')) + ->crumbs([ + ['label' => t('Settings'), 'url' => Url::cpUrl('settings')], + ['label' => t('Routes')], + ]) + ->inertiaPage('settings/routes/RoutesIndexPage', [ + 'routes' => $this->routes->getProjectConfigRoutes()->values(), + ]); + } - return view('settings.routes', [ - 'tokens' => $this->routes->tokens, - 'routes' => $this->routes->getProjectConfigRoutes(), - 'readOnly' => ! Cms::config()->allowAdminChanges, - ]); + public function create(): CpScreenResponse + { + return $this->editResponse(new Route(uriParts: [''], template: ''), isNew: true); } - public function store(Request $request): Response + public function edit(string $uid): CpScreenResponse { - $data = $request->validate([ - 'uriParts' => ['required', 'array'], - 'uriParts.*' => ['string'], - 'template' => ['required', 'string'], - 'siteUid' => ['nullable', 'uuid'], - 'uid' => ['nullable', 'uuid'], - 'sortOrder' => ['nullable', 'integer'], - ]); + $route = $this->routes->getProjectConfigRoutes()->firstWhere('uid', $uid); - $route = new Route(...$data); + abort_if(is_null($route), 404, 'Route not found'); - $routeUid = $this->routes->saveRoute($route); + return $this->editResponse($route, isNew: false); + } - return $this->asSuccess(data: [ - 'routeUid' => $routeUid, - 'siteUid' => $route->siteUid, - ]); + public function store(RouteRequest $request): Response + { + $this->routes->saveRoute($request->toRoute()); + + return $this->asSuccess(t('Route saved.')); } - public function destroy(Request $request): Response + public function update(RouteRequest $request, string $uid): Response { - $routeUid = $request->validate([ - 'routeUid' => ['required', 'string'], - ])['routeUid']; + $this->routes->saveRoute($request->toRoute($uid)); + + return $this->asSuccess(t('Route saved.')); + } - $this->routes->deleteRouteByUid($routeUid); + public function destroy(string $uid): Response + { + $this->routes->deleteRouteByUid($uid); - return $this->asSuccess(); + return $this->asSuccess(t('Route deleted.'), redirect: route('craft.cp.settings.routes.index')); } public function reorder(Request $request): Response @@ -74,6 +84,68 @@ public function reorder(Request $request): Response $this->routes->updateRouteOrder($routeUids); - return $this->asSuccess(); + return $this->asSuccess(t('New route order saved.')); + } + + private function editResponse(Route $route, bool $isNew): CpScreenResponse + { + $title = $isNew + ? t('Create a new route') + : t('Edit Route'); + + $response = new CpScreenResponse() + ->title($title) + ->crumbs([ + ['label' => t('Settings'), 'url' => Url::cpUrl('settings')], + ['label' => t('Routes'), 'url' => Url::cpUrl('settings/routes')], + ['label' => $title], + ]) + ->redirectUrl('settings/routes'); + + if (! $isNew && Cms::config()->allowAdminChanges) { + $response->actionMenuItems(fn () => [[ + 'label' => t('Delete'), + 'icon' => 'trash', + 'destructive' => true, + 'attributes' => [ + 'type' => 'button', + 'data' => [ + 'route-delete-action' => true, + 'route-delete-url' => Url::cpUrl("settings/routes/{$route->uid}"), + ], + ], + ]]); + } + + return $response->inertiaPage('settings/routes/EditRoutePage', [ + 'route' => $route, + 'tokens' => $this->tokenProps(), + 'sites' => $this->siteProps(), + ]); + } + + private function tokenProps(): array + { + return collect($this->routes->tokens) + ->map(fn (string $value, string $label): array => [ + 'label' => $label, + 'value' => $value, + ]) + ->values() + ->all(); + } + + private function siteProps(): array + { + return collect([[ + 'value' => '', + 'label' => t('Global'), + ]]) + ->merge($this->sites->getAllSites()->map(fn (Site $site): array => [ + 'value' => $site->uid, + 'label' => t($site->getName(), category: 'site'), + ])) + ->values() + ->all(); } } diff --git a/src/Http/Requests/RouteRequest.php b/src/Http/Requests/RouteRequest.php new file mode 100644 index 00000000000..b42dd87ab81 --- /dev/null +++ b/src/Http/Requests/RouteRequest.php @@ -0,0 +1,90 @@ + ['present', 'array'], + 'template' => ['required', 'string'], + 'siteUid' => ['nullable', 'uuid'], + ]; + } + + public function after(): array + { + return [ + function (Validator $validator): void { + if ($validator->errors()->has('uriParts') || ! is_array($this->input('uriParts'))) { + return; + } + + try { + $uriParts = $this->normalizeUriParts($this->input('uriParts')); + } catch (ValidationException) { + $validator->errors()->add('uriParts', t('Invalid route URI.')); + + return; + } + + $uriValidator = ValidatorFacade::make( + ['uriParts' => new Route(uriParts: $uriParts, template: '')->getUri()], + ['uriParts' => [new UriFormatRule]], + ); + + foreach ($uriValidator->errors()->get('uriParts') as $message) { + $validator->errors()->add('uriParts', $message); + } + }, + ]; + } + + public function toRoute(?string $routeUid = null): Route + { + $data = $this->validated(); + + return new Route( + uriParts: $this->normalizeUriParts($data['uriParts']), + template: $data['template'], + siteUid: $data['siteUid'] ?? null, + uid: $routeUid, + ); + } + + private function normalizeUriParts(array $uriParts): array + { + return collect($uriParts) + ->map(function (mixed $part): string|array { + if (is_string($part)) { + return $part; + } + + if ( + is_array($part) && + isset($part[0], $part[1]) && + is_string($part[0]) && + is_string($part[1]) + ) { + return [$part[0], $part[1]]; + } + + throw ValidationException::withMessages([ + 'uriParts' => t('Invalid route URI.'), + ]); + }) + ->all(); + } +} diff --git a/src/Http/Responses/CpScreenResponse.php b/src/Http/Responses/CpScreenResponse.php index 8c1ca45b94c..f5c628716f9 100644 --- a/src/Http/Responses/CpScreenResponse.php +++ b/src/Http/Responses/CpScreenResponse.php @@ -856,6 +856,7 @@ private function response(Request $request): Response }, $crumbs ?? []), 'contextMenu' => $this->contextMenu(), 'toolbar' => $toolbar, + 'actionMenuItems' => $this->actionMenuItemProps(), 'actionMenu' => $this->actionMenu(config: [ 'hiddenLabel' => t('Actions'), 'buttonAttributes' => [ @@ -912,23 +913,37 @@ private function contextMenu(?string $namespace = null): ?string } private function actionMenu(bool $withDestructive = true, array $config = [], ?string $namespace = null): ?string + { + $itemsFactory = $this->actionMenuItemsFactory($withDestructive); + + if ($itemsFactory === null) { + return null; + } + + return $this->menu($itemsFactory, $config + [ + 'id' => 'action-menu', + ], $namespace); + } + + private function actionMenuItemProps(bool $withDestructive = true): ?array + { + return $this->menuItems($this->actionMenuItemsFactory($withDestructive)); + } + + private function actionMenuItemsFactory(bool $withDestructive): ?callable { if ($this->actionMenuItems === null) { return null; } if ($withDestructive) { - $itemsFactory = $this->actionMenuItems; - } else { - $itemsFactory = fn () => array_filter( - call_user_func($this->actionMenuItems), - fn (array $item) => ! ($item['destructive'] ?? false), - ); + return $this->actionMenuItems; } - return $this->menu($itemsFactory, $config + [ - 'id' => 'action-menu', - ], $namespace); + return fn () => array_filter( + call_user_func($this->actionMenuItems), + fn (array $item) => ! ($item['destructive'] ?? false), + ); } private function menu(?callable $itemsFactory, array $config, ?string $namespace): ?string @@ -938,7 +953,7 @@ private function menu(?callable $itemsFactory, array $config, ?string $namespace } $render = function () use ($itemsFactory, $config): ?string { - $items = app(MenuHtml::class)->normalizeMenuItems($itemsFactory() ?? []); + $items = $this->menuItems($itemsFactory); if (empty($items)) { return null; @@ -953,4 +968,19 @@ private function menu(?callable $itemsFactory, array $config, ?string $namespace return $render(); } + + private function menuItems(?callable $itemsFactory): ?array + { + if ($itemsFactory === null) { + return null; + } + + $items = app(MenuHtml::class)->disclosureMenuItems($itemsFactory() ?? []); + + if (empty($items)) { + return null; + } + + return $items; + } } diff --git a/src/Route/Data/Route.php b/src/Route/Data/Route.php index 9b16bb1723e..d2c0e931a97 100644 --- a/src/Route/Data/Route.php +++ b/src/Route/Data/Route.php @@ -4,9 +4,16 @@ namespace CraftCms\Cms\Route\Data; +use CraftCms\Cms\Site\Data\Site; +use CraftCms\Cms\Support\Facades\Sites; use CraftCms\Cms\Support\Html; +use Illuminate\Support\Collection; +use Inertia\PropertyContext; +use Inertia\ProvidesInertiaProperty; -class Route +use function CraftCms\Cms\t; + +class Route implements ProvidesInertiaProperty { public function __construct( /** @@ -83,4 +90,22 @@ public function uriDisplayHtml(): string return $uriDisplayHtml; } + + public function toInertiaProperty(PropertyContext $prop): array + { + /** @var Collection $sitesByUid */ + $sitesByUid = Sites::getAllSites()->keyBy('uid'); + + return [ + 'uid' => $this->uid, + 'siteUid' => $this->siteUid, + 'siteName' => $this->siteUid + ? t($sitesByUid->get($this->siteUid)?->getName() ?? $this->siteUid, category: 'site') + : t('Global'), + 'uriParts' => array_values($this->uriParts) ?: [''], + 'uriDisplayHtml' => $this->uriDisplayHtml(), + 'template' => $this->template, + 'sortOrder' => $this->sortOrder, + ]; + } } diff --git a/tests/Feature/Http/Controllers/Settings/RoutesControllerTest.php b/tests/Feature/Http/Controllers/Settings/RoutesControllerTest.php new file mode 100644 index 00000000000..efc5b5271b9 --- /dev/null +++ b/tests/Feature/Http/Controllers/Settings/RoutesControllerTest.php @@ -0,0 +1,270 @@ +one()); + + $this->routes = app(Routes::class); + $this->projectConfig = app(ProjectConfig::class); + + Site::first(); +}); + +it('requires authentication', function () { + Auth::logout(); + + get(action([RoutesController::class, 'index']))->assertRedirect(); + get(action([RoutesController::class, 'create']))->assertRedirect(); + get(action([RoutesController::class, 'edit'], ['uid' => '11111111-1111-4111-8111-111111111111']))->assertRedirect(); + post(action([RoutesController::class, 'store']))->assertRedirect(); + patch(action([RoutesController::class, 'update'], ['uid' => '11111111-1111-4111-8111-111111111111']))->assertRedirect(); + delete(action([RoutesController::class, 'destroy'], ['uid' => '11111111-1111-4111-8111-111111111111']))->assertRedirect(); + post(action([RoutesController::class, 'reorder']))->assertRedirect(); +}); + +it('requires admin changes for mutations', function () { + Cms::config()->allowAdminChanges = false; + + get(action([RoutesController::class, 'index'])) + ->assertOk() + ->assertInertia(fn (AssertableInertia $page) => $page + ->component('settings/routes/RoutesIndexPage') + ->where('readOnly', true)); + + get(action([RoutesController::class, 'create']))->assertForbidden(); + post(action([RoutesController::class, 'store']))->assertForbidden(); + patch(action([RoutesController::class, 'update'], ['uid' => '11111111-1111-4111-8111-111111111111']))->assertForbidden(); + delete(action([RoutesController::class, 'destroy'], ['uid' => '11111111-1111-4111-8111-111111111111']))->assertForbidden(); + post(action([RoutesController::class, 'reorder']))->assertForbidden(); +}); + +it('can show the routes screen', function () { + $siteUid = Site::first()->uid; + $uid = $this->routes->saveRoute(new Route( + uriParts: ['news/', ['slug', '[^\/]+']], + template: 'news/_entry', + siteUid: $siteUid, + )); + + get(action([RoutesController::class, 'index'])) + ->assertOk() + ->assertInertia(fn (AssertableInertia $page) => $page + ->component('settings/routes/RoutesIndexPage') + ->where('title', 'Routes') + ->where('routes.0.uid', $uid) + ->where('routes.0.siteUid', $siteUid) + ->where('routes.0.uriParts.0', 'news/') + ->where('routes.0.uriParts.1.0', 'slug') + ->where('routes.0.template', 'news/_entry') + ->missing('sites') + ->missing('tokens') + ->missing('actionTrigger') + ->missing('cpTrigger') + ->where('readOnly', false)); +}); + +it('can show the create route screen', function () { + get(action([RoutesController::class, 'create'])) + ->assertOk() + ->assertInertia(fn (AssertableInertia $page) => $page + ->component('settings/routes/EditRoutePage') + ->where('title', 'Create a new route') + ->where('route.uid', null) + ->where('route.siteUid', null) + ->where('route.uriParts', ['']) + ->where('route.template', '') + ->where('tokens', fn ($tokens): bool => collect($tokens) + ->contains(fn (array $token): bool => $token['label'] === 'year' && $token['value'] === '\d{4}')) + ->where('sites.0.value', '') + ->where('sites.0.label', 'Global') + ->where('actionMenu', null) + ->where('actionMenuItems', null) + ->where('readOnly', false)); +}); + +it('can show the edit route screen', function () { + $siteUid = Site::first()->uid; + $uid = $this->routes->saveRoute(new Route( + uriParts: ['news/', ['slug', '[^\/]+']], + template: 'news/_entry', + siteUid: $siteUid, + )); + + get(action([RoutesController::class, 'edit'], ['uid' => $uid])) + ->assertOk() + ->assertInertia(fn (AssertableInertia $page) => $page + ->component('settings/routes/EditRoutePage') + ->where('title', 'Edit Route') + ->where('route.uid', $uid) + ->where('route.siteUid', $siteUid) + ->where('route.uriParts.0', 'news/') + ->where('route.uriParts.1.0', 'slug') + ->where('route.template', 'news/_entry') + ->where('tokens', fn ($tokens): bool => collect($tokens) + ->contains(fn (array $token): bool => $token['label'] === 'year' && $token['value'] === '\d{4}')) + ->where('sites.0.value', '') + ->where('sites.0.label', 'Global') + ->where('actionMenuItems.0.label', 'Delete') + ->where('actionMenuItems.0.icon', 'trash') + ->where('actionMenuItems.0.destructive', true) + ->where('actionMenuItems.0.type', 'button') + ->where('actionMenuItems.0.attributes.data.route-delete-action', true) + ->where('actionMenuItems.0.attributes.data.route-delete-url', Url::cpUrl("settings/routes/$uid")) + ->where('readOnly', false)); +}); + +it('can show the edit route screen in read-only mode', function () { + $uid = $this->routes->saveRoute(new Route( + uriParts: ['news'], + template: 'news/_index', + )); + + Cms::config()->allowAdminChanges = false; + + get(action([RoutesController::class, 'edit'], ['uid' => $uid])) + ->assertOk() + ->assertInertia(fn (AssertableInertia $page) => $page + ->component('settings/routes/EditRoutePage') + ->where('route.uid', $uid) + ->where('actionMenu', null) + ->where('actionMenuItems', null) + ->where('readOnly', true)); +}); + +it('can create a route', function (array $uriParts, array $expected) { + post(action([RoutesController::class, 'store']), [ + 'uriParts' => $uriParts, + 'template' => '_route', + 'siteUid' => null, + ])->assertRedirect()->assertSessionHasNoErrors(); + + $uid = $this->routes->getProjectConfigRoutes()->where('template', '_route')->first()->uid; + + expect($this->projectConfig->get(ProjectConfig::PATH_ROUTES.'.'.$uid))->toBe($expected); +})->with([ + 'empty uri' => [ + 'uriParts' => [], + 'expected' => [ + 'siteUid' => null, + 'sortOrder' => 1, + 'template' => '_route', + ], + ], + 'plain uri' => [ + 'uriParts' => ['news'], + 'expected' => [ + 'siteUid' => null, + 'sortOrder' => 1, + 'template' => '_route', + 'uriParts' => ['news'], + ], + ], + 'token uri' => [ + 'uriParts' => ['news/', ['slug', '[^\/]+']], + 'expected' => [ + 'siteUid' => null, + 'sortOrder' => 1, + 'template' => '_route', + 'uriParts' => ['news/', ['slug', '[^\/]+']], + ], + ], +]); + +it('can create a site-specific route', function () { + $siteUid = Site::first()->uid; + + post(action([RoutesController::class, 'store']), [ + 'uriParts' => ['news'], + 'template' => '_route', + 'siteUid' => $siteUid, + ])->assertRedirect() + ->assertSessionHasNoErrors(); + + $uid = $this->routes->getProjectConfigRoutes()->where('template', '_route')->first()->uid; + + expect($this->projectConfig->get(ProjectConfig::PATH_ROUTES.'.'.$uid.'.siteUid'))->toBe($siteUid); +}); + +it('can update a route', function () { + $uid = $this->routes->saveRoute(new Route( + uriParts: ['old'], + template: 'old', + )); + + patch(action([RoutesController::class, 'update'], ['uid' => $uid]), [ + 'uriParts' => ['new/', ['year', '\d{4}']], + 'template' => 'new', + 'siteUid' => null, + ])->assertRedirect() + ->assertSessionHasNoErrors(); + + expect($this->projectConfig->get(ProjectConfig::PATH_ROUTES.'.'.$uid.'.uriParts'))->toBe(['new/', ['year', '\d{4}']]) + ->and($this->projectConfig->get(ProjectConfig::PATH_ROUTES.'.'.$uid.'.template'))->toBe('new'); +}); + +it('can delete a route', function () { + $uid = $this->routes->saveRoute(new Route( + uriParts: ['old'], + template: 'old', + )); + + delete(action([RoutesController::class, 'destroy'], ['uid' => $uid])) + ->assertRedirect() + ->assertSessionHasNoErrors(); + + expect($this->projectConfig->get(ProjectConfig::PATH_ROUTES.'.'.$uid))->toBeNull(); +}); + +it('can reorder routes', function () { + $firstUid = $this->routes->saveRoute(new Route( + uriParts: ['first'], + template: 'first', + )); + $secondUid = $this->routes->saveRoute(new Route( + uriParts: ['second'], + template: 'second', + )); + + post(action([RoutesController::class, 'reorder']), [ + 'routeUids' => [$secondUid, $firstUid], + ])->assertRedirect() + ->assertSessionHasNoErrors(); + + expect($this->projectConfig->get(ProjectConfig::PATH_ROUTES.'.'.$secondUid.'.sortOrder'))->toBe(1) + ->and($this->projectConfig->get(ProjectConfig::PATH_ROUTES.'.'.$firstUid.'.sortOrder'))->toBe(2); +}); + +it('validates route uri parts', function () { + post(action([RoutesController::class, 'store']), [ + 'uriParts' => [['slug']], + 'template' => '_route', + ])->assertSessionHasErrors('uriParts'); +}); + +it('validates route uris do not start with reserved triggers', function (array $uriParts) { + post(action([RoutesController::class, 'store']), [ + 'uriParts' => $uriParts, + 'template' => '_route', + ])->assertSessionHasErrors('uriParts'); +})->with([ + 'action trigger' => [['actions/foo']], + 'cp trigger' => [['admin/foo']], +]); diff --git a/tests/Feature/Integration/PagesTest.php b/tests/Feature/Integration/PagesTest.php index e706c75e62f..eb326988110 100644 --- a/tests/Feature/Integration/PagesTest.php +++ b/tests/Feature/Integration/PagesTest.php @@ -55,14 +55,6 @@ ['url' => '/settings/plugins', 'title' => 'Plugins'], ['url' => '/settings/sites', 'title' => 'Sites'], - [ - 'url' => '/settings/routes', - 'title' => 'Routes', - 'extraContent' => [ - ['rendered' => 'No routes exist yet.'], - ], - ], - ]); it('renders inertia pages', function (string $url, string $component, string $title) { @@ -101,6 +93,11 @@ 'title' => 'Image Transforms', 'component' => 'SettingsImageTransformsIndexPage', ], + [ + 'url' => '/settings/routes', + 'title' => 'Routes', + 'component' => 'settings/routes/RoutesIndexPage', + ], ]); it('renders utility pages', function (string $url, string $title, array $extraContent = []) {