@coreframe/vite 0.1.8 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,4 +1,20 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
|
|
1
3
|
//#region managed-dev-overlay.d.ts
|
|
2
|
-
|
|
4
|
+
type ManagedDevOverlayIndicatorProps = {
|
|
5
|
+
color?: string;
|
|
6
|
+
size?: number | string;
|
|
7
|
+
};
|
|
8
|
+
type ManagedDevOverlayProps = {
|
|
9
|
+
indicator?: ReactNode;
|
|
10
|
+
};
|
|
11
|
+
declare function toggleManagedDevOverlay(): void;
|
|
12
|
+
declare function ManagedDevOverlay({
|
|
13
|
+
indicator
|
|
14
|
+
}: ManagedDevOverlayProps): import("react").ReactPortal | null;
|
|
15
|
+
declare function ManagedDevOverlayIndicator({
|
|
16
|
+
color,
|
|
17
|
+
size
|
|
18
|
+
}: ManagedDevOverlayIndicatorProps): import("react").JSX.Element;
|
|
3
19
|
//#endregion
|
|
4
|
-
export { ManagedDevOverlay };
|
|
20
|
+
export { ManagedDevOverlay, ManagedDevOverlayIndicator, ManagedDevOverlayIndicatorProps, ManagedDevOverlayProps, toggleManagedDevOverlay };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useEffect as e,useRef as t,useState as n}from"react";import{createPortal as
|
|
2
|
-
`;const
|
|
1
|
+
import{useEffect as e,useRef as t,useState as n,useSyncExternalStore as r}from"react";import{createPortal as i}from"react-dom";import{Fragment as a,jsx as o,jsxs as s}from"react/jsx-runtime";const c=()=>{if(typeof document>`u`)return;let e=document.querySelector(`meta[name="csp-nonce"]`);if(e?.content)return e.content;let t=document.querySelector(`script[nonce]`),n=t?.nonce||t?.getAttribute(`nonce`);if(n)return n},l=(e,t,n)=>{if(typeof document>`u`)return null;let r=`isolet-style-${e}`,i=typeof CSS<`u`&&CSS.escape?CSS.escape(r):r,a=`getElementById`in n?n.getElementById(r):n.querySelector(`#${i}`);if(a)return a.textContent=t,a;let o=document.createElement(`style`);o.id=r;let s=c();return s&&o.setAttribute(`nonce`,s),o.textContent=t,n.appendChild(o),o},u=`data-isolet`,d=(e,t,n={})=>{if(typeof document>`u`)return{host:null,shadowRoot:null,container:t,target:t};let r=n.isolation??`shadow-dom`;if(r===`none`){let r=`[${u}="${e}"]`,i=t.querySelector(r);if(i)return{host:i,shadowRoot:null,container:i,target:t};let a=document.createElement(`div`);if(a.setAttribute(u,e),n.hostAttributes)for(let[e,t]of Object.entries(n.hostAttributes))a.setAttribute(e,t);return f(a,n),n.css&&l(e,n.css,t),t.appendChild(a),{host:a,shadowRoot:null,container:a,target:t}}let i=`[${u}="${e}"]`,a=t.querySelector(i);if(a){if(r===`shadow-dom`&&a.shadowRoot){let e=a.shadowRoot.querySelector(`[${u}-root]`);if(e)return{host:a,shadowRoot:a.shadowRoot,container:e,target:t}}else if(r===`scoped`)return{host:a,shadowRoot:null,container:a,target:t}}let o=document.createElement(`div`);if(o.setAttribute(u,e),n.hostAttributes)for(let[e,t]of Object.entries(n.hostAttributes))o.setAttribute(e,t);if(r===`shadow-dom`){o.style.all=`initial`;let r=o.attachShadow({mode:n.shadowMode??`open`});n.css&&l(e,n.css,r);let i=document.createElement(`div`);return i.setAttribute(`${u}-root`,``),r.appendChild(i),f(o,n),t.appendChild(o),{host:o,shadowRoot:r,container:i,target:t}}return f(o,n),n.css&&l(e,n.css,t),t.appendChild(o),{host:o,shadowRoot:null,container:o,target:t}},f=(e,t)=>{if(t.hostStyles)for(let[n,r]of Object.entries(t.hostStyles))r==null||typeof r==`function`||e.style.setProperty(n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),String(r));t.zIndex!=null&&(e.style.zIndex=String(t.zIndex))};var p={actions:`actions`,button:`button`,checkbox:`checkbox`,closeButton:`closeButton`,content:`content`,dialog:`dialog`,error:`error`,filePath:`filePath`,files:`files`,header:`header`,indicatorButton:`indicatorButton`,indicatorDot:`indicatorDot`,message:`message`,paragraph:`paragraph`,primary:`primary`,radiate:`radiate`,title:`title`,warning:`warning`},m=`:host{color-scheme:light dark;font:14px/1.45 system-ui,sans-serif}.indicatorButton{appearance:none;cursor:pointer;pointer-events:auto;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:fixed;bottom:10px;right:10px}.indicatorDot{background:var(--managed-dev-indicator-color);box-shadow:0 0 0 1px color-mix(in srgb, Canvas 70%, transparent);height:var(--managed-dev-indicator-size);width:var(--managed-dev-indicator-size);border-radius:50%;display:block;position:relative}.indicatorDot:before{border:max(1px, calc(var(--managed-dev-indicator-size) / 9)) solid var(--managed-dev-indicator-color);border-radius:inherit;content:"";animation:1.8s ease-out infinite radiate;position:absolute;inset:0}.dialog{border:1px solid color-mix(in srgb, CanvasText 18%, transparent);color:canvastext;box-sizing:border-box;pointer-events:auto;background:canvas;border-radius:14px;width:min(430px,100vw - 36px);max-width:min(430px,100vw - 36px);max-height:min(620px,100dvh - 80px);margin:0;padding:18px;position:fixed;inset:auto 18px 62px auto;overflow:auto;box-shadow:0 18px 60px #0005}.dialog[open]{gap:12px;display:grid}.header{justify-content:space-between;align-items:center;gap:12px;display:flex}.title{margin:0;font-size:16px}.closeButton{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;min-width:44px;min-height:44px;padding:6px}.content{gap:12px;display:grid}.paragraph{margin:0}.files{gap:7px;max-height:190px;display:grid;overflow:auto}.checkbox{overflow-wrap:anywhere;align-items:start;gap:8px;display:flex}.filePath{font-family:ui-monospace,monospace}.message{box-sizing:border-box;resize:vertical;width:100%;min-height:92px;font-family:ui-monospace,monospace}.actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.button{border:1px solid color-mix(in srgb, CanvasText 22%, transparent);cursor:pointer;font:inherit;border-radius:8px;padding:7px 11px}.primary{color:#fff;background:#2563eb;border-color:#2563eb}.button:disabled{cursor:wait;opacity:.55}.warning{color:#b45309;white-space:pre-wrap}.error{color:#dc2626;white-space:pre-wrap}@keyframes radiate{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@media (width<=600px){.dialog{width:auto;max-height:calc(100dvh - 86px);padding:16px;inset:auto 12px 62px}.button{min-height:44px}}@media (prefers-reduced-motion:reduce){.indicatorDot:before{opacity:.45;animation:none;transform:scale(1.65)}}
|
|
2
|
+
`;const h=`/__coreframe/managed-dev`;let g=!1;const _=new Set;function v(){g=!g;for(let e of _)e()}function y({indicator:t=o(b,{})}){let[a,c]=n(null),{act:l,status:u}=D(),f=r(O,k,A);return e(()=>{let e=!0,t=d(`coreframe-managed-dev`,document.body,{css:m,hostAttributes:{"aria-live":`polite`,id:`coreframe-managed-dev`},hostStyles:{inset:`0`,pointerEvents:`none`,position:`fixed`},zIndex:2147483647});return queueMicrotask(()=>{e&&c(t.container)}),()=>{e=!1,t.host?.remove()}},[]),a?i(s(`div`,{className:p.surface,children:[E(u)?t:null,f?o(x,{act:l,status:u}):null]}),a):null}function b({color:e=`#2563eb`,size:t=14}){let n=r(O,k,A),i={"--managed-dev-indicator-color":e,"--managed-dev-indicator-size":typeof t==`number`?`${t}px`:t};return o(`button`,{"aria-controls":`coreframe-managed-dev-dialog`,"aria-expanded":n,"aria-label":`${n?`Hide`:`Show`} Coreframe managed development`,className:p.indicatorButton,onClick:v,style:i,type:`button`,children:o(`span`,{className:p.indicatorDot})})}function x({act:e,status:t}){let[r,i]=n({value:``}),[c,l]=n(()=>({paths:new Set})),u=t?.draft,d=t?.target,f=c.fingerprint===u?.fingerprint?c.paths:new Set(u?.untracked??[]),m=r.fingerprint===u?.fingerprint&&r.proposal===t?.proposal?r.value:t?.proposal??``,h=!!(u?.untracked.length&&u.untracked.every(e=>f.has(e)));return s(`dialog`,{"aria-labelledby":`coreframe-managed-title`,className:p.dialog,id:`coreframe-managed-dev-dialog`,open:!0,children:[s(`div`,{className:p.header,children:[o(`h2`,{className:p.title,id:`coreframe-managed-title`,children:`Coreframe update`}),o(`button`,{className:p.closeButton,onClick:v,type:`button`,children:`Close`})]}),s(`div`,{className:p.content,children:[o(`p`,{className:`${p.paragraph} ${t?.mode===`error`?p.error:``}`,children:t?t.busy||t.message||T(t):`Checking managed development status…`}),d?s(`p`,{className:p.paragraph,children:[d.subject,` (`,d.shortCommit,`)`]}):null,t?.warnings.map((e,t)=>o(`p`,{className:`${p.paragraph} ${p.warning}`,children:e},`${t}-${e}`)),u?s(a,{children:[s(`div`,{className:p.files,children:[u.untracked.map(e=>o(S,{checked:f.has(e),label:o(`span`,{className:p.filePath,children:e}),onChange:t=>l(()=>{let n=new Set(f);return t?n.add(e):n.delete(e),{fingerprint:u.fingerprint,paths:n}})},e)),u.untracked.length>0?o(S,{checked:h,label:`Include all untracked files`,onChange:e=>l({fingerprint:u.fingerprint,paths:e?new Set(u.untracked):new Set})}):null]}),t.proposal===void 0?s(C,{children:[o(w,{busy:t.busy,onClick:()=>void e({type:`reject`}),children:`Reject`}),o(w,{busy:t.busy,onClick:()=>void e({type:`message`,fingerprint:u.fingerprint,untracked:[...f]}),primary:!0,children:`Generate commit message`})]}):s(a,{children:[o(`textarea`,{"aria-label":`Commit message`,className:p.message,onChange:e=>i({fingerprint:u.fingerprint,proposal:t.proposal,value:e.target.value}),value:m}),s(C,{children:[o(w,{busy:t.busy,onClick:()=>void e({type:`reject`}),children:`Reject`}),o(w,{busy:t.busy,onClick:()=>{d&&e({type:`apply`,target:d.commit,fingerprint:u.fingerprint,untracked:[...f],message:m})},primary:!0,children:`Commit and refresh`})]})]})]}):d&&!t.busy?o(C,{children:o(w,{busy:t.busy,onClick:()=>void e({type:`prepare`,target:d.commit}),primary:!0,children:d.source===`upstream`?`Refresh`:String(d.source)===`dev`?`Sync with dev`:`Sync with main`})}):null]})]})}function S({checked:e,label:t,onChange:n}){return s(`label`,{className:p.checkbox,children:[o(`input`,{checked:e,onChange:e=>n(e.target.checked),type:`checkbox`}),t]})}function C({children:e}){return o(`div`,{className:p.actions,children:e})}function w({busy:e,children:t,onClick:n,primary:r=!1}){return o(`button`,{className:`${p.button} ${r?p.primary:``}`,disabled:!!e,onClick:n,type:`button`,children:t})}function T(e){return e.mode===`waiting`?`Waiting for managed development to start.`:e.mode===`unmanaged`?`Managed synchronization is unavailable for this session.`:e.mode===`error`?`Managed synchronization stopped.`:e.target&&e.target.source!==`upstream`?String(e.target?.source)===`dev`?`New changes are available in local dev.`:`New changes are available in local main.`:e.target?`A newer main commit is ready.`:`Managed development is active. No updates are available.`}function E(e){return!e||e.mode===`waiting`?!1:e.mode===`managed`?!!(e.busy||e.draft||e.message||e.target||e.warnings.length>0):!0}function D(){let[r,i]=n(),a=t(null);return e(()=>{let e=!0,t=new BroadcastChannel(`coreframe-managed-dev`);a.current=t;let n=async()=>{try{let t=await fetch(`${h}/status`);if(t.ok&&e){let e=await t.json();i(e.status)}}catch{}};t.onmessage=()=>void n();let r=setInterval(n,2e3);return n(),()=>{e=!1,clearInterval(r),t.close(),a.current=null}},[]),{act:async e=>{try{let t=await fetch(`${h}/action`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),n=await t.json();i(e=>{let r=n.status??e??{mode:`error`,warnings:[]};return t.ok?r:{...r,message:n.error}}),a.current?.postMessage(`changed`)}catch(e){i(t=>({...t??{warnings:[]},message:e instanceof Error?e.message:String(e),mode:`error`}))}},status:r}}function O(e){return _.add(e),()=>_.delete(e)}function k(){return g}function A(){return!1}export{y as ManagedDevOverlay,b as ManagedDevOverlayIndicator,v as toggleManagedDevOverlay};
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:host{color-scheme:light dark;font:14px/1.45 ui
|
|
1
|
+
:host{color-scheme:light dark;font:14px/1.45 system-ui,sans-serif}.indicatorButton{appearance:none;cursor:pointer;pointer-events:auto;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex;position:fixed;bottom:10px;right:10px}.indicatorDot{background:var(--managed-dev-indicator-color);box-shadow:0 0 0 1px color-mix(in srgb, Canvas 70%, transparent);height:var(--managed-dev-indicator-size);width:var(--managed-dev-indicator-size);border-radius:50%;display:block;position:relative}.indicatorDot:before{border:max(1px, calc(var(--managed-dev-indicator-size) / 9)) solid var(--managed-dev-indicator-color);border-radius:inherit;content:"";animation:1.8s ease-out infinite radiate;position:absolute;inset:0}.dialog{border:1px solid color-mix(in srgb, CanvasText 18%, transparent);color:canvastext;box-sizing:border-box;pointer-events:auto;background:canvas;border-radius:14px;width:min(430px,100vw - 36px);max-width:min(430px,100vw - 36px);max-height:min(620px,100dvh - 80px);margin:0;padding:18px;position:fixed;inset:auto 18px 62px auto;overflow:auto;box-shadow:0 18px 60px #0005}.dialog[open]{gap:12px;display:grid}.header{justify-content:space-between;align-items:center;gap:12px;display:flex}.title{margin:0;font-size:16px}.closeButton{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;min-width:44px;min-height:44px;padding:6px}.content{gap:12px;display:grid}.paragraph{margin:0}.files{gap:7px;max-height:190px;display:grid;overflow:auto}.checkbox{overflow-wrap:anywhere;align-items:start;gap:8px;display:flex}.filePath{font-family:ui-monospace,monospace}.message{box-sizing:border-box;resize:vertical;width:100%;min-height:92px;font-family:ui-monospace,monospace}.actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.button{border:1px solid color-mix(in srgb, CanvasText 22%, transparent);cursor:pointer;font:inherit;border-radius:8px;padding:7px 11px}.primary{color:#fff;background:#2563eb;border-color:#2563eb}.button:disabled{cursor:wait;opacity:.55}.warning{color:#b45309;white-space:pre-wrap}.error{color:#dc2626;white-space:pre-wrap}@keyframes radiate{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@media (width<=600px){.dialog{width:auto;max-height:calc(100dvh - 86px);padding:16px;inset:auto 12px 62px}.button{min-height:44px}}@media (prefers-reduced-motion:reduce){.indicatorDot:before{opacity:.45;animation:none;transform:scale(1.65)}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coreframe/vite",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/airlock-labs/coreframe.git",
|
|
@@ -53,9 +53,9 @@
|
|
|
53
53
|
"@svgr/core": "^8.1.0",
|
|
54
54
|
"@svgr/plugin-jsx": "^8.1.0",
|
|
55
55
|
"unplugin-icons": "^23.0.1",
|
|
56
|
-
"@coreframe/dashboard": "^0.1
|
|
56
|
+
"@coreframe/dashboard": "^0.2.1",
|
|
57
57
|
"@coreframe/lib": "^0.1.6",
|
|
58
|
-
"@coreframe/scripts": "^0.1.
|
|
58
|
+
"@coreframe/scripts": "^0.1.23"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
61
|
"@tsdown/css": "0.22.3",
|