Files
amare/public/js/filament/filament/app.js
Manoel Freitas 236a7d3ea9 feat: Fase 0 — Fundação (setup-foundation) (#1)
* docs(openspec): propose setup-foundation change

Add OpenSpec change for SPEC Phase 0 — Foundation with proposal,
design, capability specs, and implementation tasks. Populate
openspec/config.yaml with project context and artifact rules.

Co-authored-by: Cursor <cursoragent@cursor.com>

* feat: bootstrap Laravel 13 foundation (Fase 0)

Implement OpenSpec change setup-foundation: Laravel 13 + Filament 5
admin panel, Livewire 4 public site shell, PostgreSQL via Compose,
design tokens, role-based auth, quality gates (Pint/Larastan/Pest),
FrankenPHP Dockerfile, and GitHub Actions CI with five blocking jobs.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ci): use valid APP_KEY for encryption in tests

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 22:05:25 -03:00

2 lines
11 KiB
JavaScript

(()=>{var te=Object.create,N=Object.defineProperty,re=Object.getPrototypeOf,ne=Object.prototype.hasOwnProperty,ie=Object.getOwnPropertyNames,ae=Object.getOwnPropertyDescriptor,se=r=>N(r,"__esModule",{value:!0}),oe=(r,n)=>()=>(n||(n={exports:{}},r(n.exports,n)),n.exports),le=(r,n,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of ie(n))!ne.call(r,s)&&s!=="default"&&N(r,s,{get:()=>n[s],enumerable:!(a=ae(n,s))||a.enumerable});return r},fe=r=>le(se(N(r!=null?te(re(r)):{},"default",r&&r.__esModule&&"default"in r?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r),ue=oe((r,n)=>{(function(a,s,g){if(!a)return;for(var p={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},w={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},v={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},S={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},A,y=1;y<20;++y)p[111+y]="f"+y;for(y=0;y<=9;++y)p[y+96]=y.toString();function P(e,t,o){if(e.addEventListener){e.addEventListener(t,o,!1);return}e.attachEvent("on"+t,o)}function x(e){if(e.type=="keypress"){var t=String.fromCharCode(e.which);return e.shiftKey||(t=t.toLowerCase()),t}return p[e.which]?p[e.which]:w[e.which]?w[e.which]:String.fromCharCode(e.which).toLowerCase()}function F(e,t){return e.sort().join(",")===t.sort().join(",")}function V(e){var t=[];return e.shiftKey&&t.push("shift"),e.altKey&&t.push("alt"),e.ctrlKey&&t.push("ctrl"),e.metaKey&&t.push("meta"),t}function H(e){if(e.preventDefault){e.preventDefault();return}e.returnValue=!1}function J(e){if(e.stopPropagation){e.stopPropagation();return}e.cancelBubble=!0}function C(e){return e=="shift"||e=="ctrl"||e=="alt"||e=="meta"}function B(){if(!A){A={};for(var e in p)e>95&&e<112||p.hasOwnProperty(e)&&(A[p[e]]=e)}return A}function X(e,t,o){return o||(o=B()[e]?"keydown":"keypress"),o=="keypress"&&t.length&&(o="keydown"),o}function Y(e){return e==="+"?["+"]:(e=e.replace(/\+{2}/g,"+plus"),e.split("+"))}function G(e,t){var o,h,k,M=[];for(o=Y(e),k=0;k<o.length;++k)h=o[k],S[h]&&(h=S[h]),t&&t!="keypress"&&v[h]&&(h=v[h],M.push("shift")),C(h)&&M.push(h);return t=X(h,M,t),{key:h,modifiers:M,action:t}}function U(e,t){return e===null||e===s?!1:e===t?!0:U(e.parentNode,t)}function _(e){var t=this;if(e=e||s,!(t instanceof _))return new _(e);t.target=e,t._callbacks={},t._directMap={};var o={},h,k=!1,M=!1,D=!1;function L(i){i=i||{};var f=!1,c;for(c in o){if(i[c]){f=!0;continue}o[c]=0}f||(D=!1)}function I(i,f,c,l,d,b){var u,m,E=[],O=c.type;if(!t._callbacks[i])return[];for(O=="keyup"&&C(i)&&(f=[i]),u=0;u<t._callbacks[i].length;++u)if(m=t._callbacks[i][u],!(!l&&m.seq&&o[m.seq]!=m.level)&&O==m.action&&(O=="keypress"&&!c.metaKey&&!c.ctrlKey||F(f,m.modifiers))){var $=!l&&m.combo==d,ee=l&&m.seq==l&&m.level==b;($||ee)&&t._callbacks[i].splice(u,1),E.push(m)}return E}function q(i,f,c,l){t.stopCallback(f,f.target||f.srcElement,c,l)||i(f,c)===!1&&(H(f),J(f))}t._handleKey=function(i,f,c){var l=I(i,f,c),d,b={},u=0,m=!1;for(d=0;d<l.length;++d)l[d].seq&&(u=Math.max(u,l[d].level));for(d=0;d<l.length;++d){if(l[d].seq){if(l[d].level!=u)continue;m=!0,b[l[d].seq]=1,q(l[d].callback,c,l[d].combo,l[d].seq);continue}m||q(l[d].callback,c,l[d].combo)}var E=c.type=="keypress"&&M;c.type==D&&!C(i)&&!E&&L(b),M=m&&c.type=="keydown"};function T(i){typeof i.which!="number"&&(i.which=i.keyCode);var f=x(i);if(f){if(i.type=="keyup"&&k===f){k=!1;return}t.handleKey(f,V(i),i)}}function Q(){clearTimeout(h),h=setTimeout(L,1e3)}function Z(i,f,c,l){o[i]=0;function d(O){return function(){D=O,++o[i],Q()}}function b(O){q(c,O,i),l!=="keyup"&&(k=x(O)),setTimeout(L,10)}for(var u=0;u<f.length;++u){var m=u+1===f.length,E=m?b:d(l||G(f[u+1]).action);z(f[u],E,l,i,u)}}function z(i,f,c,l,d){t._directMap[i+":"+c]=f,i=i.replace(/\s+/g," ");var b=i.split(" "),u;if(b.length>1){Z(i,b,f,c);return}u=G(i,c),t._callbacks[u.key]=t._callbacks[u.key]||[],I(u.key,u.modifiers,{type:u.action},l,i,d),t._callbacks[u.key][l?"unshift":"push"]({callback:f,modifiers:u.modifiers,action:u.action,seq:l,level:d,combo:i})}t._bindMultiple=function(i,f,c){for(var l=0;l<i.length;++l)z(i[l],f,c)},P(e,"keypress",T),P(e,"keydown",T),P(e,"keyup",T)}_.prototype.bind=function(e,t,o){var h=this;return e=e instanceof Array?e:[e],h._bindMultiple.call(h,e,t,o),h},_.prototype.unbind=function(e,t){var o=this;return o.bind.call(o,e,function(){},t)},_.prototype.trigger=function(e,t){var o=this;return o._directMap[e+":"+t]&&o._directMap[e+":"+t]({},e),o},_.prototype.reset=function(){var e=this;return e._callbacks={},e._directMap={},e},_.prototype.stopCallback=function(e,t){var o=this;if((" "+t.className+" ").indexOf(" mousetrap ")>-1||U(t,o.target))return!1;if("composedPath"in e&&typeof e.composedPath=="function"){var h=e.composedPath()[0];h!==e.target&&(t=h)}return t.tagName=="INPUT"||t.tagName=="SELECT"||t.tagName=="TEXTAREA"||t.isContentEditable},_.prototype.handleKey=function(){var e=this;return e._handleKey.apply(e,arguments)},_.addKeycodes=function(e){for(var t in e)e.hasOwnProperty(t)&&(p[t]=e[t]);A=null},_.init=function(){var e=_(s);for(var t in e)t.charAt(0)!=="_"&&(_[t]=(function(o){return function(){return e[o].apply(e,arguments)}})(t))},_.init(),a.Mousetrap=_,typeof n<"u"&&n.exports&&(n.exports=_),typeof define=="function"&&define.amd&&define(function(){return _})})(typeof window<"u"?window:null,typeof window<"u"?document:null)}),K=fe(ue());(function(r){if(r){var n={},a=r.prototype.stopCallback;r.prototype.stopCallback=function(s,g,p,w){var v=this;return v.paused?!0:n[p]||n[w]?!1:a.call(v,s,g,p)},r.prototype.bindGlobal=function(s,g,p){var w=this;if(w.bind(s,g,p),s instanceof Array){for(var v=0;v<s.length;v++)n[s[v]]=!0;return}n[s]=!0},r.init()}})(typeof Mousetrap<"u"?Mousetrap:void 0);var R=()=>Array.from(document.querySelectorAll('[aria-modal="true"]')).find(r=>window.getComputedStyle(r).display!=="none"),pe=r=>{r.directive("mousetrap",(n,{modifiers:a,expression:s},{evaluate:g})=>{let p=()=>s?g(s):n.click();a=a.map(w=>w.replace(/--/g," ").replace(/-/g,"+").replace(/\bslash\b/g,"/")),a.includes("global")&&(a=a.filter(w=>w!=="global"),K.default.bindGlobal(a,w=>{let v=R();v&&!v.contains(n)||(w.preventDefault(),p())})),K.default.bind(a,w=>{let v=R();v&&!v.contains(n)||(w.preventDefault(),p())}),document.addEventListener("livewire:navigating",()=>{K.default.unbind(a)},{once:!0})})},W=pe;var j=()=>({isOpen:window.Alpine.$persist(!0).as("isOpen"),isOpenDesktop:window.Alpine.$persist(!0).as("isOpenDesktop"),collapsedGroups:window.Alpine.$persist(null).as("collapsedGroups"),scrollTop:0,init(){this.resizeObserver=null,this.setUpResizeObserver(),document.addEventListener("livewire:navigate",()=>{let r=document.querySelector(".fi-main-sidebar .fi-sidebar-nav");r&&(this.scrollTop=r.scrollTop)}),document.addEventListener("livewire:navigated",()=>{this.setUpResizeObserver(),requestAnimationFrame(()=>{let r=document.querySelector(".fi-main-sidebar .fi-sidebar-nav");r&&this.scrollTop&&(r.scrollTop=this.scrollTop)})})},setUpResizeObserver(){this.resizeObserver&&this.resizeObserver.disconnect();let r=window.innerWidth;this.resizeObserver=new ResizeObserver(()=>{let n=window.innerWidth,a=r>=1024,s=n<1024,g=n>=1024;a&&s?(this.isOpenDesktop=this.isOpen,this.isOpen&&this.close()):!a&&g&&(this.isOpen=this.isOpenDesktop),r=n}),this.resizeObserver.observe(document.body),window.innerWidth<1024?this.isOpen&&(this.isOpenDesktop=!0,this.close()):this.isOpen=this.isOpenDesktop},groupIsCollapsed(r){return this.collapsedGroups.includes(r)},collapseGroup(r){this.collapsedGroups.includes(r)||(this.collapsedGroups=this.collapsedGroups.concat(r))},toggleCollapsedGroup(r){this.collapsedGroups=this.collapsedGroups.includes(r)?this.collapsedGroups.filter(n=>n!==r):this.collapsedGroups.concat(r)},close(){this.isOpen=!1,window.innerWidth>=1024&&(this.isOpenDesktop=!1)},open(){this.isOpen=!0,window.innerWidth>=1024&&(this.isOpenDesktop=!0)}});document.addEventListener("alpine:init",()=>{let r=localStorage.getItem("theme")??getComputedStyle(document.documentElement).getPropertyValue("--default-theme-mode");window.Alpine.store("theme",r==="dark"||r==="system"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.addEventListener("theme-changed",n=>{let a=n.detail;localStorage.setItem("theme",a),a==="system"&&(a=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),window.Alpine.store("theme",a)}),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",n=>{localStorage.getItem("theme")==="system"&&window.Alpine.store("theme",n.matches?"dark":"light")}),window.Alpine.effect(()=>{window.Alpine.store("theme")==="dark"?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")})});document.addEventListener("livewire:init",()=>{Livewire.interceptRequest(({request:r,onError:n,onFailure:a})=>{n(({response:s,preventDefault:g})=>{let p=window.filamentErrorNotifications;if(!p)return;try{let S=r?.payload;if(S&&S.components.length===1){for(let A of S.components)if(JSON.parse(A.snapshot).data.isFilamentNotificationsComponent)return}}catch{}let w=s?.status??"",v=p[w]??p[""];v.isDisabled!==!0&&(g(),v.isHidden!==!0&&new FilamentNotification().title(v.title).body(v.body).danger().send())}),a(()=>{let s=window.filamentErrorNotifications;if(!s)return;let g=s[""];new FilamentNotification().title(g.title).body(g.body).danger().send()})})});document.addEventListener("DOMContentLoaded",()=>{setTimeout(()=>{let r=document.querySelector(".fi-main-sidebar .fi-sidebar-item.fi-active");if((!r||r.offsetParent===null)&&(r=document.querySelector(".fi-main-sidebar .fi-sidebar-group.fi-active")),!r||r.offsetParent===null)return;let n=document.querySelector(".fi-main-sidebar .fi-sidebar-nav");n&&n.scrollTo(0,r.offsetTop-window.innerHeight/2)},10)});window.setUpUnsavedDataChangesAlert=({body:r,livewireComponent:n,$wire:a})=>{window.addEventListener("beforeunload",s=>{window.jsMd5(JSON.stringify(a.data).replace(/\\/g,""))===a.savedDataHash||a?.__instance?.effects?.redirect||(s.preventDefault(),s.returnValue=!0)})};window.setUpSpaModeUnsavedDataChangesAlert=({body:r,resolveLivewireComponentUsing:n,$wire:a})=>{let s=()=>a?.__instance?.effects?.redirect?!1:window.jsMd5(JSON.stringify(a.data).replace(/\\/g,""))!==a.savedDataHash,g=()=>confirm(r);document.addEventListener("livewire:navigate",p=>{if(typeof n()<"u"){if(!s()||g())return;p.preventDefault()}}),window.addEventListener("beforeunload",p=>{s()&&(p.preventDefault(),p.returnValue=!0)})};window.setUpUnsavedActionChangesAlert=({resolveLivewireComponentUsing:r,$wire:n})=>{window.addEventListener("beforeunload",a=>{if(!(typeof r()>"u")&&(n.mountedActions?.length??0)&&!n?.__instance?.effects?.redirect){a.preventDefault(),a.returnValue=!0;return}})};document.addEventListener("alpine:init",()=>{window.Alpine.plugin(W),window.Alpine.store("sidebar",j())});})();