@gjsify/adwaita-nativescript 0.64.12-next.281 → 0.64.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/esm/namespace/gdk.js +1 -1
- package/lib/esm/namespace/gobject.js +1 -1
- package/lib/esm/widgets/adw-combo-row.js +1 -1
- package/lib/esm/widgets/gtk-drop-down.js +1 -1
- package/lib/esm/widgets/gtk-window.js +1 -1
- package/lib/esm/widgets/signals.js +1 -1
- package/lib/esm/window-host.js +1 -1
- package/lib/esm/window-source.android.js +1 -1
- package/lib/esm/window-source.ios.js +1 -1
- package/lib/esm/window-source.js +1 -1
- package/lib/types/namespace/gdk.d.ts +1 -1
- package/lib/types/widgets/adw-combo-row.d.ts +32 -8
- package/lib/types/widgets/construct-props.d.ts +22 -16
- package/lib/types/widgets/gtk-drop-down.d.ts +29 -6
- package/lib/types/widgets/gtk-window.d.ts +8 -1
- package/lib/types/widgets/signals.d.ts +13 -5
- package/lib/types/window-source.android.d.ts +1 -1
- package/lib/types/window-source.d.ts +7 -2
- package/lib/types/window-source.ios.d.ts +1 -1
- package/package.json +13 -14
package/lib/esm/namespace/gdk.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__exportAll as e}from"../_virtual/_rolldown/runtime.js";import{nativeClipboardHost as t}from"../clipboard-host.js";import{CURRENT_TIME as n,GDK_KEYS as r,RGBA as i,createGdk as a}from"@gjsify/adwaita-core";var o=e({AppLaunchContext:()=>f,CURRENT_TIME:()=>p,Clipboard:()=>l,ContentFormats:()=>d,ContentProvider:()=>u,Display:()=>c,KEY_Down:()=>E,KEY_Escape:()=>S,KEY_Left:()=>C,KEY_Return:()=>x,KEY_Right:()=>T,KEY_Up:()=>w,KEY_a:()=>h,KEY_d:()=>g,KEY_e:()=>_,KEY_q:()=>v,KEY_s:()=>y,KEY_space:()=>m,KEY_w:()=>b,RGBA:()=>i,gdk:()=>s});const s=a(t),c=s.Display,l=s.Clipboard,u=s.ContentProvider,d=s.ContentFormats,f=s.AppLaunchContext,p=n,{KEY_space:m,KEY_a:h,KEY_d:g,KEY_e:_,KEY_q:v,KEY_s:y,KEY_w:b,KEY_Return:x,KEY_Escape:S,KEY_Left:C,KEY_Up:w,KEY_Right:T,KEY_Down:E}=r;export{f as AppLaunchContext,p as CURRENT_TIME,l as Clipboard,d as ContentFormats,u as ContentProvider,c as Display,E as KEY_Down,S as KEY_Escape,C as KEY_Left,x as KEY_Return,T as KEY_Right,w as KEY_Up,h as KEY_a,g as KEY_d,_ as KEY_e,v as KEY_q,y as KEY_s,m as KEY_space,b as KEY_w,i as RGBA,s as gdk,o as gdk_exports};
|
|
1
|
+
import{__exportAll as e}from"../_virtual/_rolldown/runtime.js";import{nativeClipboardHost as t}from"../clipboard-host.js";import{CURRENT_TIME as n,GDK_KEYS as r,RGBA as i,createGdk as a}from"@gjsify/adwaita-core";var o=e({AppLaunchContext:()=>f,CURRENT_TIME:()=>p,Clipboard:()=>l,ContentFormats:()=>d,ContentProvider:()=>u,Display:()=>c,KEY_Back:()=>D,KEY_Down:()=>E,KEY_Escape:()=>S,KEY_Left:()=>C,KEY_Return:()=>x,KEY_Right:()=>T,KEY_Up:()=>w,KEY_a:()=>h,KEY_d:()=>g,KEY_e:()=>_,KEY_q:()=>v,KEY_s:()=>y,KEY_space:()=>m,KEY_w:()=>b,RGBA:()=>i,gdk:()=>s});const s=a(t),c=s.Display,l=s.Clipboard,u=s.ContentProvider,d=s.ContentFormats,f=s.AppLaunchContext,p=n,{KEY_space:m,KEY_a:h,KEY_d:g,KEY_e:_,KEY_q:v,KEY_s:y,KEY_w:b,KEY_Return:x,KEY_Escape:S,KEY_Left:C,KEY_Up:w,KEY_Right:T,KEY_Down:E,KEY_Back:D}=r;export{f as AppLaunchContext,p as CURRENT_TIME,l as Clipboard,d as ContentFormats,u as ContentProvider,c as Display,D as KEY_Back,E as KEY_Down,S as KEY_Escape,C as KEY_Left,x as KEY_Return,T as KEY_Right,w as KEY_Up,h as KEY_a,g as KEY_d,_ as KEY_e,v as KEY_q,y as KEY_s,m as KEY_space,b as KEY_w,i as RGBA,s as gdk,o as gdk_exports};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../_virtual/_rolldown/runtime.js";import{ENGINE_TARGET as e}from"../engine-target.js";import{applyConstructProps as t}from"../widgets/construct-props.js";import{WIDGET_SIGNALS as n,watchMapping as r}from"../widgets/widget-mapping.js";import{emittedSignalsOf as i}from"../widgets/signals.js";import{registerTemplateClass as a}from"../builder/template-classes.js";import{nativePlatformHost as o}from"../platform-host.js";import{buildInto as s}from"../builder/index.js";import{gdk as c}from"./gdk.js";import{GObjectObject as l,connectInstance as u,constructRegistered as d,createGObject as f,disconnectInstance as p,emitInstance as m,engineForTarget as h,notifyInstance as g,registeredClassOf as _,widgetControllerMembers as v,widgetDisplayMembers as y}from"@gjsify/adwaita-core";function nearestRegistered(e){for(let t=e;typeof t==`function`;t=Object.getPrototypeOf(t))if(_(t)!==void 0)return t}function declareEmitted(e,t){let n=i(e),r=[...t.properties.map(e=>`notify::${e.name}`),...Object.keys(t.signals)];Object.defineProperty(e,"emittedSignals",{value:[...new Set([...n,...r])],enumerable:!1,configurable:!0,writable:!0})}function spliceLayer(e){let n=Object.getPrototypeOf(e),r=n.prototype.notify;class Registered extends n{constructor(n){if(super(),nearestRegistered(new.target)!==e)return;let r=d(this,n);t(this,r)}}let i={connect(e,t){return u(this,e,t)},disconnect(e){p(this,e)},emit(e,...t){m(this,e,...t)},notify(e){typeof e==`string`?g(this,e):r.call(this,e)}};for(let[e,t]of Object.entries({...y(c),...v(o)}))e in n.prototype||(i[e]=t);for(let[e,t]of Object.entries(i))Object.defineProperty(Registered.prototype,e,{value:t,writable:!0,configurable:!0,enumerable:!1});Object.setPrototypeOf(e,Registered),Object.setPrototypeOf(e.prototype,Registered.prototype)}const{engineName:b,Object:x,registerClass:S,ParamSpec:C,ParamFlags:w,Value:T,TYPE_STRING:E,TYPE_BOOLEAN:D,TYPE_INT:O,TYPE_UINT:k,TYPE_DOUBLE:A,GTypeName:j,GTypeFlags:M,interfaces:N,properties:P,signals:F,requires:I,__gtkTemplate__:L,__gtkCssName__:R,__gtkChildren__:z,__gtkInternalChildren__:B,type_ensure:V,signal_stop_emission_by_name:H}=f({name:`adwaita-nativescript`,dispatch(e,t,n){e.notify({eventName:t,object:e,args:n})},listen(e,t,i){let listener=t=>{i(e,t)},a=n.includes(t)?r(e):void 0;return e.addEventListener(t,listener),()=>{e.removeEventListener(t,listener),a?.()}},createFromTree(e,t,n){let r=s(n,e,{template:t});return{children:[],objects:Object.fromEntries(r)}},attach(e,t){},register(e,t){declareEmitted(e,t),!(e.prototype instanceof l)&&(spliceLayer(e),a(t.typeName,e))}},h(e));export{M as GTypeFlags,j as GTypeName,x as Object,w as ParamFlags,C as ParamSpec,D as TYPE_BOOLEAN,A as TYPE_DOUBLE,O as TYPE_INT,E as TYPE_STRING,k as TYPE_UINT,T as Value,z as __gtkChildren__,R as __gtkCssName__,B as __gtkInternalChildren__,L as __gtkTemplate__,b as engineName,N as interfaces,P as properties,S as registerClass,I as requires,H as signal_stop_emission_by_name,F as signals,V as type_ensure};
|
|
1
|
+
import"../_virtual/_rolldown/runtime.js";import{ENGINE_TARGET as e}from"../engine-target.js";import{applyConstructProps as t}from"../widgets/construct-props.js";import{WIDGET_SIGNALS as n,watchMapping as r}from"../widgets/widget-mapping.js";import{emittedSignalsOf as i}from"../widgets/signals.js";import{registerTemplateClass as a}from"../builder/template-classes.js";import{nativePlatformHost as o}from"../platform-host.js";import{buildInto as s}from"../builder/index.js";import{gdk as c}from"./gdk.js";import{GObjectObject as l,connectInstance as u,constructRegistered as d,createGObject as f,disconnectInstance as p,emitInstance as m,engineForTarget as h,notifyInstance as g,registeredClassOf as _,widgetControllerMembers as v,widgetDisplayMembers as y}from"@gjsify/adwaita-core";function nearestRegistered(e){for(let t=e;typeof t==`function`;t=Object.getPrototypeOf(t))if(_(t)!==void 0)return t}function declareEmitted(e,t){let n=i(e),r=[...t.properties.map(e=>`notify::${e.name}`),...Object.keys(t.signals)];Object.defineProperty(e,"emittedSignals",{value:[...new Set([...n,...r])],enumerable:!1,configurable:!0,writable:!0})}function spliceLayer(e){let n=Object.getPrototypeOf(e),r=n.prototype.notify;class Registered extends n{constructor(n){if(super(),nearestRegistered(new.target)!==e)return;let r=d(this,n);t(this,r)}}let i={connect(e,t){return u(this,e,t)},disconnect(e){p(this,e)},emit(e,...t){m(this,e,...t)},notify(e){typeof e==`string`?g(this,e):r.call(this,e)}};for(let[e,t]of Object.entries({...y(c),...v(o)}))e in n.prototype||(i[e]=t);for(let[e,t]of Object.entries(i))Object.defineProperty(Registered.prototype,e,{value:t,writable:!0,configurable:!0,enumerable:!1});Object.setPrototypeOf(e,Registered),Object.setPrototypeOf(e.prototype,Registered.prototype)}const{engineName:b,Object:x,registerClass:S,ParamSpec:C,ParamFlags:w,Value:T,TYPE_STRING:E,TYPE_BOOLEAN:D,TYPE_INT:O,TYPE_UINT:k,TYPE_DOUBLE:A,GTypeName:j,GTypeFlags:M,interfaces:N,properties:P,signals:F,requires:I,__gtkTemplate__:L,__gtkCssName__:R,__gtkChildren__:z,__gtkInternalChildren__:B,type_ensure:V,signal_stop_emission_by_name:H}=f({name:`adwaita-nativescript`,dispatch(e,t,n){e.notify({eventName:t,object:e,args:n})},listen(e,t,i){let listener=t=>{let n=t.accumulator;if(n===void 0){i(e,t);return}n.stopped||n.collect(i(e,t))},a=n.includes(t)?r(e):void 0;return e.addEventListener(t,listener),()=>{e.removeEventListener(t,listener),a?.()}},createFromTree(e,t,n){let r=s(n,e,{template:t});return{children:[],objects:Object.fromEntries(r)}},attach(e,t){},register(e,t){declareEmitted(e,t),!(e.prototype instanceof l)&&(spliceLayer(e),a(t.typeName,e))}},h(e));export{M as GTypeFlags,j as GTypeName,x as Object,w as ParamFlags,C as ParamSpec,D as TYPE_BOOLEAN,A as TYPE_DOUBLE,O as TYPE_INT,E as TYPE_STRING,k as TYPE_UINT,T as Value,z as __gtkChildren__,R as __gtkCssName__,B as __gtkInternalChildren__,L as __gtkTemplate__,b as engineName,N as interfaces,P as properties,S as registerClass,I as requires,H as signal_stop_emission_by_name,F as signals,V as type_ensure};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../_virtual/_rolldown/runtime.js";import{builderSlotsOf as e,resolveBuilderSlot as t}from"./builder-slots.js";import{applyConstructProps as n}from"./construct-props.js";import{xmlNumber as r}from"./xml-values.js";import{GtkImage as i}from"./gtk-image.js";import{AdwActionRow as a}from"./adw-action-row.js";import{attachRowPressFeedback as o}from"./row-press.js";import{ComboState as s,ComboState as c,
|
|
1
|
+
import"../_virtual/_rolldown/runtime.js";import{builderSlotsOf as e,resolveBuilderSlot as t}from"./builder-slots.js";import{applyConstructProps as n}from"./construct-props.js";import{xmlNumber as r}from"./xml-values.js";import{GtkImage as i}from"./gtk-image.js";import{AdwActionRow as a}from"./adw-action-row.js";import{attachRowPressFeedback as o}from"./row-press.js";import{ComboState as s,ComboState as c,GjsifyOptionList as l,readModelWrite as u}from"@gjsify/adwaita-core";import{Label as d,StackLayout as f,action as p}from"@nativescript/core";import{panDownSymbolic as m}from"@gjsify/adwaita-icons/ui";const h=`notify::selected`;var AdwComboRow=class extends a{static GTypeName=`AdwComboRow`;static builderSlots=e([...a.builderSlots,`model`],`suffix`);_valueLabel;_chevron;_state=new c;_authored=l.new(null);_pendingSelected=null;constructor(e){super(),this.className=`adw-row adw-action-row adw-combo-row`;let t=new f;t.orientation=`horizontal`,t.className=`adw-combo-suffix`;let r=new d;r.className=`adw-combo-value`,r.text=``;let a=new i;a.className=`adw-combo-chevron`,a.iconColor=`#9a9a9a`,a.pixelSize=16,a.iconName=m,t.addChild(r),t.addChild(a),this.add_suffix(t),this._valueLabel=r,this._chevron=a,this._state.subscribe(e=>{if(this._valueLabel.text=e.label,this._syncChooser(),e.interactive){let t={eventName:h,object:this,selected:e.selected,value:e.value};this.notify(t)}}),this.addEventListener(`tap`,()=>{this._openChooser()}),o(this),this._syncChooser(),n(this,e)}_syncChooser(){this._chevron.visibility=this._state.presentsChooser?`visible`:`collapse`}async _openChooser(){if(!this._state.presentsChooser)return;let e=this._state.options.map(e=>e.label),t=await p({title:this.title||void 0,cancelButtonText:`Cancel`,actions:e});this._state.select(e.indexOf(t))}get model(){return this._state.model}set model(e){if(this._state.setModel(u(e,this._authored)),this._pendingSelected!==null&&this._state.hasIndex(this._pendingSelected)){let e=this._pendingSelected;this._pendingSelected=null,this._state.setSelectedIndex(e)}}get options(){return this._state.options}set_model(e){this.model=e}get_model(){return this.model}_addChildFromBuilder(e,n){if(t(e,[`model`],`edge`)===`model`){this.model=n;return}super._addChildFromBuilder(e,n)}get selected(){return this._state.selectedIndex}set selected(e){let t=r(e,this.selected);if(this._state.count===0){this._pendingSelected=t;return}this._state.setSelectedIndex(t)}get_selected(){return this.selected}set_selected(e){this.selected=e}get selectedValue(){return this._state.selectedValue}set selectedValue(e){this._state.setSelectedValue(e)}get selectedItem(){return this._state.selectedItem}get_selected_item(){return this.selectedItem}};export{AdwComboRow,s as ComboState,h as NOTIFY_SELECTED};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../_virtual/_rolldown/runtime.js";import{builderSlotsOf as e,resolveBuilderSlot as t}from"./builder-slots.js";import{applyConstructProps as n}from"./construct-props.js";import{xmlNumber as r}from"./xml-values.js";import{withSignals as i}from"./signals.js";import{GtkImage as a}from"./gtk-image.js";import{attachRowPressFeedback as o}from"./row-press.js";import{ComboState as s,
|
|
1
|
+
import"../_virtual/_rolldown/runtime.js";import{builderSlotsOf as e,resolveBuilderSlot as t}from"./builder-slots.js";import{applyConstructProps as n}from"./construct-props.js";import{xmlNumber as r}from"./xml-values.js";import{withSignals as i}from"./signals.js";import{GtkImage as a}from"./gtk-image.js";import{attachRowPressFeedback as o}from"./row-press.js";import{ComboState as s,GjsifyOptionList as c,readModelWrite as l}from"@gjsify/adwaita-core";import{Label as u,StackLayout as d,action as f}from"@nativescript/core";import{panDownSymbolic as p}from"@gjsify/adwaita-icons/ui";const m=`notify::selected`,h=`notify::selected-item`;var GtkDropDown=class extends i(d){static GTypeName=`GtkDropDown`;static emittedSignals=[m,h];static builderSlots=e([`model`],`model`);_label;_chevron;_state=new s;_authored=c.new(null);_chooserTitle=``;constructor(e){super(),this.orientation=`horizontal`,this.className=`adw-drop-down`;let t=new u;t.className=`adw-drop-down-label`,t.text=``;let r=new a;r.className=`adw-drop-down-chevron`,r.iconName=p,this.addChild(t),this.addChild(r),this._label=t,this._chevron=r,this._state.subscribe(e=>{if(this._label.text=e.label,e.interactive)for(let t of[m,h]){let n={eventName:t,object:this,selected:e.selected,value:e.value,label:e.label};this.notify(n)}}),this.addEventListener(`tap`,()=>{this._openChooser()}),o(this),n(this,e)}async _openChooser(){if(this._state.count===0)return;let e=this._state.options.map(e=>e.label),t=await f({title:this._chooserTitle||void 0,cancelButtonText:`Cancel`,actions:e});this._state.select(e.indexOf(t))}get model(){return this._state.model}set model(e){this._state.setModel(l(e,this._authored))}get options(){return this._state.options}set_model(e){this.model=e}get_model(){return this.model}_addChildFromBuilder(e,n){if(t(e,[`model`],`child`)!==`model`)throw Error(`Gtk.DropDown takes no child widget; <${e}> is placed nowhere.`);this.model=n}get selected(){return this._state.selectedIndex}set selected(e){let t=r(e,this.selected);this._state.setSelectedIndex(t)}get_selected(){return this.selected}set_selected(e){this.selected=e}get selectedValue(){return this._state.selectedValue}set selectedValue(e){this._state.setSelectedValue(e)}get selectedItem(){return this._state.selectedItem}get_selected_item(){return this.selectedItem}get chooserTitle(){return this._chooserTitle}set chooserTitle(e){this._chooserTitle=e??``}};export{GtkDropDown,m as NOTIFY_SELECTED,h as NOTIFY_SELECTED_ITEM};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../_virtual/_rolldown/runtime.js";import{applyConstructProps as e}from"./construct-props.js";import{xmlBoolean as t,xmlNumber as n}from"./xml-values.js";import{surfaceSize as r}from"./window-state.js";import{windowHost as i}from"../window-host.js";import{AdwBottomSheet as a}from"./adw-bottom-sheet.js";import{defineWindowApplication as o}from"./application.js";import{AdwSingleChildBase as s}from"./single-child-base.js";import{CloseRequestState as c,
|
|
1
|
+
import"../_virtual/_rolldown/runtime.js";import{applyConstructProps as e}from"./construct-props.js";import{xmlBoolean as t,xmlNumber as n}from"./xml-values.js";import{surfaceSize as r}from"./window-state.js";import{windowHost as i}from"../window-host.js";import{AdwBottomSheet as a}from"./adw-bottom-sheet.js";import{defineWindowApplication as o}from"./application.js";import{AdwSingleChildBase as s}from"./single-child-base.js";import{CloseRequestState as c,GDK_KEYS as l,HandledAccumulator as u,WindowMemberState as d,deliverKeyToControllers as f,stepDefaultSize as p}from"@gjsify/adwaita-core";const m=`notify::is-active`,h=`notify::maximized`,g=`notify::focus-widget`,_=`close-request`;var v=class GtkWindow extends s{static GTypeName=`GtkWindow`;_title=``;_defaultWidth=0;_defaultHeight=0;_members=new d(e=>{let t=e===`is-active`?m:h;this.notify({eventName:t,object:this,value:e===`is-active`?this.isActive:this.maximized})},{maximized:!0});_closeRequest=new c;_unwatchForeground=null;_unwatchBack=null;constructor(t){super(),e(this,t)}onLoaded(){super.onLoaded();let e=i();this._unwatchForeground?.(),this._unwatchForeground=e.watchForeground(e=>this._members.reportActive(e)),this._members.reportActive(e.isForeground()),this._unwatchBack?.(),this._unwatchBack=this._isToplevel()?e.watchBack(()=>this._handleBack()):null}onUnloaded(){this._unwatchForeground?.(),this._unwatchForeground=null,this._unwatchBack?.(),this._unwatchBack=null,this._members.reportActive(!1),super.onUnloaded()}get isActive(){return this._members.active}get is_active(){return this._members.active}get maximized(){return this._members.maximized}set maximized(e){t(e,!0)?this.maximize():this.unmaximize()}is_maximized(){return this.maximized}maximize(){}unmaximize(){throw Error(`GtkWindow.unmaximize is not supported on NativeScript: the window is the whole screen and the platform has no un-maximized state to go back to.`)}present(){}get focusWidget(){return this.get_focus()}get focus_widget(){return this.get_focus()}set focus_widget(e){this.set_focus(e)}get_focus(){let e=i();return findView(this,t=>e.isFocused(t))}set_focus(e){let t=i();if(e===null){let e=this.get_focus();e!==null&&t.clearFocus(e);return}if(findView(this,t=>t===e)===null)throw Error(`GtkWindow.set_focus: the widget is not a descendant of this window.`);t.requestFocus(e)}close(){let e=i();if(this.isLoaded&&!e.canFinish)throw Error(`GtkWindow.close is not supported on this platform: iOS has no public API to close the root window. Android finishes the foreground activity.`);this._requestClose()}_requestClose(){let e=i();this._closeRequest.close({realized:this.isLoaded,hideOnClose:!1,emit:()=>{let e=new u;return this.notify({eventName:_,object:this,accumulator:e}),e.stopped},hide:()=>{},destroy:()=>e.finish()})}_handleBack(){return this._consumeBack()||closeOpenBottomSheet(this)||popInnermostNavigation(this)||this._deliverBackKey()||this._requestClose(),!0}_deliverBackKey(){return f(this,{key:`BrowserBack`,keycode:l.KEY_Back,state:0,pressed:!0})}_consumeBack(){return!1}_isToplevel(){for(let e=this.parent;e;e=e.parent)if(e instanceof GtkWindow)return!1;return!0}connect(e,t){if(e===`notify::focus-widget`)throw Error(`GtkWindow notify::focus-widget is not supported on NativeScript: focus the user moves is not observable here. Read get_focus() when you need it.`);return super.connect(e,t)}get title(){return this._title}set title(e){this._title=e??``}get defaultWidth(){return this._defaultWidth}set defaultWidth(e){this._defaultWidth=r(n(e,NaN),e,this._defaultWidth,`defaultWidth`)}get defaultHeight(){return this._defaultHeight}set defaultHeight(e){this._defaultHeight=r(n(e,NaN),e,this._defaultHeight,`defaultHeight`)}get_default_size(){return[this._defaultWidth,this._defaultHeight]}set_default_size(e,t){let n=p(this.get_default_size(),e,t);if(n!==null){this._defaultWidth=n.width,this._defaultHeight=n.height;for(let e of n.changed){let t=e===`default-width`?n.width:n.height;this.notify({eventName:`notify::${e}`,object:this,value:t})}}}};function findView(e,t){let n=null;return e.eachChildView(e=>t(e)?(n=e,!1):(n=findView(e,t),n===null)),n}function closeOpenBottomSheet(e){let t=!1;return e.eachChildView(e=>e.visibility===`visible`?closeOpenBottomSheet(e)?(t=!0,!1):e instanceof a&&e.open&&e.canClose?(e.open=!1,t=!0,!1):!0:!0),t}const popsOnBack=e=>typeof e.popFromShortcut==`function`;function popInnermostNavigation(e){let t=!1;return e.eachChildView(e=>e.visibility===`visible`&&(popInnermostNavigation(e)||popsOnBack(e)&&e.isLoaded&&e.popFromShortcut()===`stop`)?(t=!0,!1):!0),t}o(v.prototype);export{_ as CLOSE_REQUEST,v as GtkWindow,g as NOTIFY_FOCUS_WIDGET,m as NOTIFY_IS_ACTIVE,h as NOTIFY_MAXIMIZED};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../_virtual/_rolldown/runtime.js";import{ENGINE_TARGET as e}from"../engine-target.js";import{camelProperty as t,readGtkProperty as n,writeGtkProperty as r}from"./shadowed-properties.js";import{WIDGET_SIGNALS as i,watchMapping as a}from"./widget-mapping.js";import{withGtkWidgetLayout as o}from"./widget-layout.js";import{engineForTarget as s}from"@gjsify/adwaita-core";function coerceDeclared(e,t,n,r){return t.normalize===void 0?readDeclaredValue(e,t.kind,n):t.normalize(n,r)}function readDeclaredValue(e,t,n){if(typeof n!=`string`||t===`string`)return n;let r=n.trim();if(t===`boolean`){let t=r.toLowerCase();if(t===`true`)return!0;if(t===`false`)return!1;throw TypeError(`Property '${e}' is a boolean; '${n}' is neither 'true' nor 'false'.`)}let i=r===``?NaN:Number(r);if(!Number.isFinite(i))throw TypeError(`Property '${e}' is a number; '${n}' is not one.`);return i}const c=new WeakMap;let l=1;const u=1073741824,d=new WeakMap,f=new WeakMap;function unknownHandler(e,t){return TypeError(`${e.constructor.name} has no handler with id ${t}. connect() hands out each id once and disconnect() takes it once; a second disconnect, or an id another widget returned, is refused here rather than left as a silent no-op.`)}const p=new WeakMap;function pureConnect(e,t,n){let r=l++,o=c.get(e);o===void 0&&(o=new Map,c.set(e,o));let s=i.includes(t)?a(e):void 0;return o.set(r,{eventName:t,listener:n,unwatch:s}),e.addEventListener(t,n),r}function pureDisconnect(e,t){let n=c.get(e)?.get(t);if(n===void 0)throw unknownHandler(e,t);e.removeEventListener(n.eventName,n.listener),n.unwatch?.(),c.get(e)?.delete(t)}function declaredConnect(e,t,n,r){let i=l++,a=p.get(e);return a===void 0&&p.set(e,a=new Map),a.set(i,{key:t,eventName:n,callback:r}),i}function declaredDisconnect(e,t){return p.get(e)?.delete(t)===!0}function emitDeclared(e,t,n){let r=p.get(e);if(r===void 0)return;let i=t.startsWith(`notify::`),a=[...r];for(let[o,s]of a){if(s.key!==t||r.get(o)!==s)continue;let a=i?{eventName:s.eventName,object:e}:{eventName:s.eventName,object:e,args:n};try{s.callback(e,a)}catch(t){console.error(`[${e.constructor.name}] unhandled exception in a '${s.eventName}' handler:`,t)}}}function refuseDeclaredEvent(e,t,n){let r=giKeyOf(resolvedFor(e.constructor),t);if(r===null)return;let i=r.startsWith(`notify::`),a=i?`a declared property's notification`:`a declared signal`,o=n===`notify`?i?`write the property, or emit it with notify('${r.slice(8)}')`:`emit it with emit('${r}', …)`:`subscribe with connect('${t}', (self, data) => …), whose id disconnect() takes`;throw TypeError(`${e.constructor.name}.${n}('${t}'): '${r}' is ${a} and GObject owns it — ${o}. On Android the emission belongs to the GObject and no NativeScript listener can see it, so ${n} would work off-device and be silent on it.`)}function spellingsOf(e){return[...new Set([e,e.replace(/-/g,`_`),t(e)])]}function emittedSignalsOf(e){let t=[];for(let n=e;typeof n==`function`;n=Object.getPrototypeOf(n))t.unshift(n);let n=new Set;for(let e of t)if(Object.hasOwn(e,`emittedSignals`))for(let t of e.emittedSignals)n.add(t);return[...n]}const m=new WeakMap,h=new WeakSet,g=new WeakSet,_=new WeakMap;function declarationsOf(e){let t=[];for(let n=e;typeof n==`function`;n=Object.getPrototypeOf(n)){let e=m.get(n);e!==void 0&&t.unshift(e)}return t}function resolvedFor(e){let t=_.get(e);if(t!==void 0)return t;let n=new Map,r=new Set,i={canonicalOf:n,declaredSignals:r,routeD:!1,giConnect:void 0,giDisconnect:void 0,giEmit:void 0},a=i;for(let t of declarationsOf(e)){for(let[e,r]of t.canonicalOf)n.set(e,r);for(let e of t.declaredSignals)r.add(e);t.routeD&&(a.routeD=!0),t.giConnect!==void 0&&(a.giConnect=t.giConnect),t.giDisconnect!==void 0&&(a.giDisconnect=t.giDisconnect),t.giEmit!==void 0&&(a.giEmit=t.giEmit)}return _.set(e,i),i}function giKeyOf(e,t){if(e.declaredSignals.has(t))return t;if(!t.startsWith(`notify::`))return null;let n=e.canonicalOf.get(t.slice(8));return n===void 0?null:`notify::${n}`}function declare(e,t,n){let r=new Map;for(let e of Object.keys(t?.Properties??{}))for(let t of spellingsOf(e))r.set(t,e);let i={meta:t,klass:e,prototype:e.prototype,canonicalOf:r,declaredSignals:new Set(Object.keys(t?.Signals??{})),routers:n,realized:!1,routeD:!1};return m.set(e,i),i}function declaredEmissionsOf(e){return[...Object.keys(e?.Signals??{}),...Object.keys(e?.Properties??{}).map(e=>`notify::${e}`)]}function realizeChain(e){if(!h.has(e)){h.add(e);for(let t of declarationsOf(e))realize(t)}}function realize(t){if(t.realized||(t.realized=!0,t.meta===void 0))return;let n=s(e);if(n?.supportsForeignParentClasses===!0){registerRouteD(t,n.registerForeignClass.bind(n));return}installPureJsProperties(t)}function registerRouteD(e,t){let{meta:n,prototype:r,routers:i}=e;if(i!==void 0&&(delete r.connect,delete r.disconnect,delete r.emit,delete r.notify),t(e.klass,n),wrapRouteDAccessors(e),i!==void 0){if(e.giConnect=r.connect,e.giDisconnect=r.disconnect,e.giEmit=r.emit,e.giConnect===void 0||e.giDisconnect===void 0||e.giEmit===void 0)throw Error(`Registering '${n.GTypeName}' over its NativeScript base installed no connect/disconnect/emit, so the widget would answer neither GObject nor this port. ADR 0105 refuses a silent fallback here: the subset is reachable only by calling usePureJsGObjectEngine() from '@gjsify/adwaita-core' before the port loads.`);for(let[e,t]of Object.entries(i))Object.defineProperty(r,e,{configurable:!0,writable:!0,enumerable:!1,value:t});refuseDeclaredNotifyPayload(r,r.notify)}e.routeD=!0}function refuseDeclaredNotifyPayload(e,t){let n=function notify(e,...n){if(typeof e==`object`&&e){let{eventName:t}=e;typeof t==`string`&&refuseDeclaredEvent(this,t,`notify`)}return t.call(this,e,...n)};g.add(n),Object.defineProperty(e,"notify",{configurable:!0,writable:!0,enumerable:!1,value:n})}function wrapRouteDAccessors(e){let{meta:t,prototype:n}=e;for(let[e,r]of Object.entries(t.Properties??{}))if(!(r.kind===`string`&&r.normalize===void 0))for(let i of spellingsOf(e)){let a=Object.getOwnPropertyDescriptor(n,i);if(a?.set===void 0)throw Error(`Registering '${t.GTypeName}' installed no setter for '${i}', so a string from XML would reach the GObject uncoerced. The host chain probably owns that name (see the class's \$foreignSkipped); rename the property.`);let o=a.set;Object.defineProperty(n,i,{...a,set(t){o.call(this,coerceDeclared(e,r,t,this))}})}}function installPureJsProperties(e){let{meta:t,prototype:n}=e;for(let[e,r]of Object.entries(t.Properties??{})){let t=defaultValueOf(r);for(let i of spellingsOf(e))i in n||Object.defineProperty(n,i,{configurable:!0,enumerable:!1,get(){let n=valuesOf(this);return n.has(e)||n.set(e,t),n.get(e)},set(t){let n=coerceDeclared(e,r,t,this),i=valuesOf(this);i.has(e)&&i.get(e)===n||(i.set(e,n),emitDeclared(this,`notify::${e}`,[]))}})}installPureNotify(e)}function installPureNotify(e){let{prototype:t}=e,n=t.notify;if(g.has(n))return;let r=function notify(e,...t){if(typeof e!=`string`){if(typeof e==`object`&&e){let{eventName:t}=e;typeof t==`string`&&refuseDeclaredEvent(this,t,`notify`)}return n.call(this,e,...t)}let{canonicalOf:r}=resolvedFor(this.constructor),i=r.get(e);if(i===void 0)throw TypeError(`${this.constructor.name} has no property '${e}' to notify. The declared ones are ${[...r.keys()].join(`, `)||`(none)`}; a NativeScript event is notified with its payload object, not with a name.`);emitDeclared(this,`notify::${i}`,[])};g.add(r),Object.defineProperty(t,"notify",{configurable:!0,writable:!0,enumerable:!1,value:r})}function withSignals(e,a){class WithSignals extends o(e){static emittedSignals=[...i,...declaredEmissionsOf(a)];constructor(...e){super(...e),realizeChain(new.target)}addEventListener(e,t,n,r){refuseDeclaredEvent(this,e,`addEventListener`),super.addEventListener(e,t,n,r)}removeEventListener(e,t,n){refuseDeclaredEvent(this,e,`removeEventListener`),super.removeEventListener(e,t,n)}connect(e,t){let n=resolvedFor(this.constructor),r=giKeyOf(n,e);if(n.routeD&&r!==null){let i=r.startsWith(`notify::`),a=n.giConnect.call(this,r,(n,...r)=>{let a=n;return t(n,i?{eventName:e,object:a}:{eventName:e,object:a,args:r})}),o=d.get(this);return o===void 0&&d.set(this,o=new Set),o.add(a),u+a}if(r!==null)return declaredConnect(this,r,e,t);let listener=e=>{let n=e.accumulator;if(n===void 0){t(this,e);return}n.stopped||n.collect(t(this,e))};return pureConnect(this,e,listener)}disconnect(e){if(e>=u){let t=e-u;if(d.get(this)?.delete(t)!==!0)throw unknownHandler(this,e);resolvedFor(this.constructor).giDisconnect.call(this,t);return}declaredDisconnect(this,e)||pureDisconnect(this,e)}emit(e,...t){let n=resolvedFor(this.constructor),r=giKeyOf(n,e);if(r!==null){n.routeD?n.giEmit.call(this,r,...t):emitDeclared(this,r,t);return}throw Error(`No signal '${e}' on object '${this.constructor.name}'. emit() is GObject's and takes a declared signal or a declared property's notify::<prop>; to dispatch a NativeScript event use notify({ eventName: '${e}', object: this }).`)}get_property(e){return n(this,t(e))}set_property(e,n){r(this,t(e),n)}}return declare(WithSignals,a,{connect:WithSignals.prototype.connect,disconnect:WithSignals.prototype.disconnect,emit:WithSignals.prototype.emit}),WithSignals}function withProperties(e,t){class WithProperties extends e{static emittedSignals=declaredEmissionsOf(t)}return declare(WithProperties,t,void 0),WithProperties}function valuesOf(e){let t=f.get(e);return t===void 0&&f.set(e,t=new Map),t}function defaultValueOf(e){return e.default===void 0?e.kind===`string`?``:e.kind===`boolean`?!1:0:e.default}export{emittedSignalsOf,readDeclaredValue,withProperties,withSignals};
|
|
1
|
+
import"../_virtual/_rolldown/runtime.js";import{ENGINE_TARGET as e}from"../engine-target.js";import{camelProperty as t,readGtkProperty as n,writeGtkProperty as r}from"./shadowed-properties.js";import{WIDGET_SIGNALS as i,watchMapping as a}from"./widget-mapping.js";import{withGtkWidgetLayout as o}from"./widget-layout.js";import{engineForTarget as s}from"@gjsify/adwaita-core";function coerceDeclared(e,t,n,r){return t.normalize===void 0?readDeclaredValue(e,t.kind,n):t.normalize(n,r)}function readDeclaredValue(e,t,n){if(typeof n!=`string`||t===`string`)return n;let r=n.trim();if(t===`object`)throw TypeError(`Property '${e}' holds an object; '${n}' is a string.`);if(t===`boolean`){let t=r.toLowerCase();if(t===`true`)return!0;if(t===`false`)return!1;throw TypeError(`Property '${e}' is a boolean; '${n}' is neither 'true' nor 'false'.`)}let i=r===``?NaN:Number(r);if(!Number.isFinite(i))throw TypeError(`Property '${e}' is a number; '${n}' is not one.`);return i}const c=new WeakMap;let l=1;const u=1073741824,d=new WeakMap,f=new WeakMap;function unknownHandler(e,t){return TypeError(`${e.constructor.name} has no handler with id ${t}. connect() hands out each id once and disconnect() takes it once; a second disconnect, or an id another widget returned, is refused here rather than left as a silent no-op.`)}const p=new WeakMap;function pureConnect(e,t,n){let r=l++,o=c.get(e);o===void 0&&(o=new Map,c.set(e,o));let s=i.includes(t)?a(e):void 0;return o.set(r,{eventName:t,listener:n,unwatch:s}),e.addEventListener(t,n),r}function pureDisconnect(e,t){let n=c.get(e)?.get(t);if(n===void 0)throw unknownHandler(e,t);e.removeEventListener(n.eventName,n.listener),n.unwatch?.(),c.get(e)?.delete(t)}function declaredConnect(e,t,n,r){let i=l++,a=p.get(e);return a===void 0&&p.set(e,a=new Map),a.set(i,{key:t,eventName:n,callback:r}),i}function declaredDisconnect(e,t){return p.get(e)?.delete(t)===!0}function emitDeclared(e,t,n){let r=p.get(e);if(r===void 0)return;let i=t.startsWith(`notify::`),a=[...r];for(let[o,s]of a){if(s.key!==t||r.get(o)!==s)continue;let a=i?{eventName:s.eventName,object:e}:{eventName:s.eventName,object:e,args:n};try{s.callback(e,a)}catch(t){console.error(`[${e.constructor.name}] unhandled exception in a '${s.eventName}' handler:`,t)}}}function refuseDeclaredEvent(e,t,n){let r=giKeyOf(resolvedFor(e.constructor),t);if(r===null)return;let i=r.startsWith(`notify::`),a=i?`a declared property's notification`:`a declared signal`,o=n===`notify`?i?`write the property, or emit it with notify('${r.slice(8)}')`:`emit it with emit('${r}', …)`:`subscribe with connect('${t}', (self, data) => …), whose id disconnect() takes`;throw TypeError(`${e.constructor.name}.${n}('${t}'): '${r}' is ${a} and GObject owns it — ${o}. On Android the emission belongs to the GObject and no NativeScript listener can see it, so ${n} would work off-device and be silent on it.`)}function spellingsOf(e){return[...new Set([e,e.replace(/-/g,`_`),t(e)])]}function emittedSignalsOf(e){let t=[];for(let n=e;typeof n==`function`;n=Object.getPrototypeOf(n))t.unshift(n);let n=new Set;for(let e of t)if(Object.hasOwn(e,`emittedSignals`))for(let t of e.emittedSignals)n.add(t);return[...n]}const m=new WeakMap,h=new WeakSet,g=new WeakSet,_=new WeakMap;function declarationsOf(e){let t=[];for(let n=e;typeof n==`function`;n=Object.getPrototypeOf(n)){let e=m.get(n);e!==void 0&&t.unshift(e)}return t}function resolvedFor(e){let t=_.get(e);if(t!==void 0)return t;let n=new Map,r=new Set,i={canonicalOf:n,declaredSignals:r,routeD:!1,giConnect:void 0,giDisconnect:void 0,giEmit:void 0},a=i;for(let t of declarationsOf(e)){for(let[e,r]of t.canonicalOf)n.set(e,r);for(let e of t.declaredSignals)r.add(e);t.routeD&&(a.routeD=!0),t.giConnect!==void 0&&(a.giConnect=t.giConnect),t.giDisconnect!==void 0&&(a.giDisconnect=t.giDisconnect),t.giEmit!==void 0&&(a.giEmit=t.giEmit)}return _.set(e,i),i}function giKeyOf(e,t){if(e.declaredSignals.has(t))return t;if(!t.startsWith(`notify::`))return null;let n=e.canonicalOf.get(t.slice(8));return n===void 0?null:`notify::${n}`}function declare(e,t,n){let r=new Map;for(let e of Object.keys(t?.Properties??{}))for(let t of spellingsOf(e))r.set(t,e);let i={meta:t,klass:e,prototype:e.prototype,canonicalOf:r,declaredSignals:new Set(Object.keys(t?.Signals??{})),routers:n,realized:!1,routeD:!1};return m.set(e,i),i}function declaredEmissionsOf(e){return[...Object.keys(e?.Signals??{}),...Object.keys(e?.Properties??{}).map(e=>`notify::${e}`)]}function realizeChain(e){if(!h.has(e)){h.add(e);for(let t of declarationsOf(e))realize(t)}}function realize(t){if(t.realized||(t.realized=!0,t.meta===void 0))return;let n=s(e);if(n?.supportsForeignParentClasses===!0){registerRouteD(t,n.registerForeignClass.bind(n));return}installPureJsProperties(t)}function registerRouteD(e,t){let{meta:n,prototype:r,routers:i}=e;if(i!==void 0&&(delete r.connect,delete r.disconnect,delete r.emit,delete r.notify),t(e.klass,n),wrapRouteDAccessors(e),i!==void 0){if(e.giConnect=r.connect,e.giDisconnect=r.disconnect,e.giEmit=r.emit,e.giConnect===void 0||e.giDisconnect===void 0||e.giEmit===void 0)throw Error(`Registering '${n.GTypeName}' over its NativeScript base installed no connect/disconnect/emit, so the widget would answer neither GObject nor this port. ADR 0105 refuses a silent fallback here: the subset is reachable only by calling usePureJsGObjectEngine() from '@gjsify/adwaita-core' before the port loads.`);for(let[e,t]of Object.entries(i))Object.defineProperty(r,e,{configurable:!0,writable:!0,enumerable:!1,value:t});refuseDeclaredNotifyPayload(r,r.notify)}e.routeD=!0}function refuseDeclaredNotifyPayload(e,t){let n=function notify(e,...n){if(typeof e==`object`&&e){let{eventName:t}=e;typeof t==`string`&&refuseDeclaredEvent(this,t,`notify`)}return t.call(this,e,...n)};g.add(n),Object.defineProperty(e,"notify",{configurable:!0,writable:!0,enumerable:!1,value:n})}function wrapRouteDAccessors(e){let{meta:t,prototype:n}=e;for(let[e,r]of Object.entries(t.Properties??{}))if(!(r.kind===`string`&&r.normalize===void 0))for(let i of spellingsOf(e)){let a=Object.getOwnPropertyDescriptor(n,i);if(a?.set===void 0)throw Error(`Registering '${t.GTypeName}' installed no setter for '${i}', so a string from XML would reach the GObject uncoerced. The host chain probably owns that name (see the class's \$foreignSkipped); rename the property.`);let o=a.set;Object.defineProperty(n,i,{...a,set(t){o.call(this,coerceDeclared(e,r,t,this))}})}}function installPureJsProperties(e){let{meta:t,prototype:n}=e;for(let[e,r]of Object.entries(t.Properties??{})){let t=defaultValueOf(r);for(let i of spellingsOf(e))i in n||Object.defineProperty(n,i,{configurable:!0,enumerable:!1,get(){let n=valuesOf(this);return n.has(e)||n.set(e,t),n.get(e)},set(t){let n=coerceDeclared(e,r,t,this),i=valuesOf(this);i.has(e)&&i.get(e)===n||(i.set(e,n),emitDeclared(this,`notify::${e}`,[]))}})}installPureNotify(e)}function installPureNotify(e){let{prototype:t}=e,n=t.notify;if(g.has(n))return;let r=function notify(e,...t){if(typeof e!=`string`){if(typeof e==`object`&&e){let{eventName:t}=e;typeof t==`string`&&refuseDeclaredEvent(this,t,`notify`)}return n.call(this,e,...t)}let{canonicalOf:r}=resolvedFor(this.constructor),i=r.get(e);if(i===void 0)throw TypeError(`${this.constructor.name} has no property '${e}' to notify. The declared ones are ${[...r.keys()].join(`, `)||`(none)`}; a NativeScript event is notified with its payload object, not with a name.`);emitDeclared(this,`notify::${i}`,[])};g.add(r),Object.defineProperty(t,"notify",{configurable:!0,writable:!0,enumerable:!1,value:r})}function withSignals(e,a){class WithSignals extends o(e){static emittedSignals=[...i,...declaredEmissionsOf(a)];constructor(...e){super(...e),realizeChain(new.target)}addEventListener(e,t,n,r){refuseDeclaredEvent(this,e,`addEventListener`),super.addEventListener(e,t,n,r)}removeEventListener(e,t,n){refuseDeclaredEvent(this,e,`removeEventListener`),super.removeEventListener(e,t,n)}connect(e,t){let n=resolvedFor(this.constructor),r=giKeyOf(n,e);if(n.routeD&&r!==null){let i=r.startsWith(`notify::`),a=n.giConnect.call(this,r,(n,...r)=>{let a=n;return t(n,i?{eventName:e,object:a}:{eventName:e,object:a,args:r})}),o=d.get(this);return o===void 0&&d.set(this,o=new Set),o.add(a),u+a}if(r!==null)return declaredConnect(this,r,e,t);let listener=e=>{let n=e.accumulator;if(n===void 0){t(this,e);return}n.stopped||n.collect(t(this,e))};return pureConnect(this,e,listener)}disconnect(e){if(e>=u){let t=e-u;if(d.get(this)?.delete(t)!==!0)throw unknownHandler(this,e);resolvedFor(this.constructor).giDisconnect.call(this,t);return}declaredDisconnect(this,e)||pureDisconnect(this,e)}emit(e,...t){let n=resolvedFor(this.constructor),r=giKeyOf(n,e);if(r!==null){n.routeD?n.giEmit.call(this,r,...t):emitDeclared(this,r,t);return}throw Error(`No signal '${e}' on object '${this.constructor.name}'. emit() is GObject's and takes a declared signal or a declared property's notify::<prop>; to dispatch a NativeScript event use notify({ eventName: '${e}', object: this }).`)}get_property(e){return n(this,t(e))}set_property(e,n){r(this,t(e),n)}}return declare(WithSignals,a,{connect:WithSignals.prototype.connect,disconnect:WithSignals.prototype.disconnect,emit:WithSignals.prototype.emit}),WithSignals}function withProperties(e,t){class WithProperties extends e{static emittedSignals=declaredEmissionsOf(t)}return declare(WithProperties,t,void 0),WithProperties}function valuesOf(e){let t=f.get(e);return t===void 0&&f.set(e,t=new Map),t}function defaultValueOf(e){return e.kind===`object`?null:e.default===void 0?e.kind===`string`?``:e.kind===`boolean`?!1:0:e.default}export{emittedSignalsOf,readDeclaredValue,withProperties,withSignals};
|
package/lib/esm/window-host.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./_virtual/_rolldown/runtime.js";import{blurView as e,
|
|
1
|
+
import"./_virtual/_rolldown/runtime.js";import{blurView as e,canFinishWindow as t,finishWindow as n,focusView as r,isViewFocused as i,watchBackButton as a}from"./window-source.js";import{Application as o}from"@nativescript/core";let s=null;function useWindowHost(e){s=e}const c={get canFinish(){return t()},isForeground:()=>!0,watchForeground(e){let resume=()=>e(!0),suspend=()=>e(!1);return o.on(`resume`,resume),o.on(`suspend`,suspend),()=>{o.off(`resume`,resume),o.off(`suspend`,suspend)}},watchBack(e){return a(t=>{e()&&(t.cancel=!0)})},finish:n,isFocused:i,requestFocus:r,clearFocus:e};function windowHost(){return s??c}export{c as nativeWindowHost,useWindowHost,windowHost};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./_virtual/_rolldown/runtime.js";import{Application as e}from"@nativescript/core";const t
|
|
1
|
+
import"./_virtual/_rolldown/runtime.js";import{Application as e}from"@nativescript/core";function canFinishWindow(){return!0}const t=`activityBackPressed`;function watchBackButton(n){let r=e.android;return r?(r.on(t,n),()=>r.off(t,n)):()=>{}}function finishWindow(){let t=e.android?.foregroundActivity??e.android?.startActivity;if(!t?.finish)throw Error(`Android has no activity to finish for this window`);t.finish()}const peer=e=>e.nativeViewProtected;function isViewFocused(e){return peer(e)?.isFocused?.()===!0}function focusView(e){peer(e)?.requestFocus?.()}function blurView(e){peer(e)?.clearFocus?.()}export{blurView,canFinishWindow,finishWindow,focusView,isViewFocused,watchBackButton};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./_virtual/_rolldown/runtime.js";
|
|
1
|
+
import"./_virtual/_rolldown/runtime.js";function canFinishWindow(){return!1}function finishWindow(){throw Error(`iOS has no public API for an app to close its own window`)}const peer=e=>e.nativeViewProtected;function isViewFocused(e){return peer(e)?.isFirstResponder===!0}function focusView(e){peer(e)?.becomeFirstResponder?.()}function blurView(e){peer(e)?.resignFirstResponder?.()}function watchBackButton(e){return()=>{}}export{blurView,canFinishWindow,finishWindow,focusView,isViewFocused,watchBackButton};
|
package/lib/esm/window-source.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./_virtual/_rolldown/runtime.js";
|
|
1
|
+
import"./_virtual/_rolldown/runtime.js";function canFinishWindow(){return!1}function finishWindow(){throw Error(`there is no platform window to close on this host`)}function isViewFocused(e){throw Error(`there is no platform focus to read on this host`)}function focusView(e){throw Error(`there is no platform focus to move on this host`)}function blurView(e){throw Error(`there is no platform focus to clear on this host`)}function watchBackButton(e){return()=>{}}export{blurView,canFinishWindow,finishWindow,focusView,isViewFocused,watchBackButton};
|
|
@@ -8,4 +8,4 @@ export declare const ContentProvider: Pick<typeof import("@gjsify/adwaita-core")
|
|
|
8
8
|
export declare const ContentFormats: typeof import("@gjsify/adwaita-core").ContentFormats;
|
|
9
9
|
export declare const AppLaunchContext: typeof import("@gjsify/adwaita-core").GdkAppLaunchContext;
|
|
10
10
|
export declare const CURRENT_TIME = 0;
|
|
11
|
-
export declare const KEY_space: 32, KEY_a: 97, KEY_d: 100, KEY_e: 101, KEY_q: 113, KEY_s: 115, KEY_w: 119, KEY_Return: 65293, KEY_Escape: 65307, KEY_Left: 65361, KEY_Up: 65362, KEY_Right: 65363, KEY_Down: 65364;
|
|
11
|
+
export declare const KEY_space: 32, KEY_a: 97, KEY_d: 100, KEY_e: 101, KEY_q: 113, KEY_s: 115, KEY_w: 119, KEY_Return: 65293, KEY_Escape: 65307, KEY_Left: 65361, KEY_Up: 65362, KEY_Right: 65363, KEY_Down: 65364, KEY_Back: 269025062;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Label, type EventData, type View } from '@nativescript/core';
|
|
2
|
-
import type { AdwComboOption,
|
|
2
|
+
import type { AdwComboOption, ComboWatchableModel } from '@gjsify/adwaita-core';
|
|
3
3
|
import { AdwActionRow } from './adw-action-row.js';
|
|
4
4
|
import { GtkImage } from './gtk-image.js';
|
|
5
5
|
import { type ConstructProps } from './construct-props.js';
|
|
@@ -27,6 +27,13 @@ export declare class AdwComboRow extends AdwActionRow {
|
|
|
27
27
|
protected readonly _chevron: GtkImage;
|
|
28
28
|
/** The headless options list + selectedIndex↔selectedValue state machine (ADR 0004). */
|
|
29
29
|
private readonly _state;
|
|
30
|
+
/**
|
|
31
|
+
* The list the MARKUP door fills — `<adw:ComboRow model='[…]'>` is JSON text, and a real
|
|
32
|
+
* `Gio.ListModel` has no attribute spelling (ADR 0122 § 5). Held for the row's whole life so
|
|
33
|
+
* re-parsing the attribute splices the list the row already points at rather than replacing
|
|
34
|
+
* it, which would reset the selection.
|
|
35
|
+
*/
|
|
36
|
+
private readonly _authored;
|
|
30
37
|
/**
|
|
31
38
|
* A `selected` written while the row has no model yet. NativeScript's XML builder assigns
|
|
32
39
|
* every attribute before it adds the children, so `<adw:ComboRow selected="1">` reaches
|
|
@@ -47,15 +54,23 @@ export declare class AdwComboRow extends AdwActionRow {
|
|
|
47
54
|
private _syncChooser;
|
|
48
55
|
/** Open the native action chooser and apply the picked option. */
|
|
49
56
|
private _openChooser;
|
|
50
|
-
/**
|
|
51
|
-
|
|
52
|
-
|
|
57
|
+
/**
|
|
58
|
+
* The list model (`Adw.ComboRow:model`) — the OBJECT that was assigned, by identity, as
|
|
59
|
+
* `row.model === model` is measured to hold in libadwaita (ADR 0122 § 4). The normalised
|
|
60
|
+
* descriptors are {@link options}.
|
|
61
|
+
*/
|
|
62
|
+
get model(): ComboWatchableModel | null;
|
|
63
|
+
set model(value: ComboWatchableModel | string | null);
|
|
64
|
+
/** The held model's items as `{ value, label }` descriptors. */
|
|
65
|
+
get options(): AdwComboOption[];
|
|
53
66
|
/** `adw_combo_row_set_model`. */
|
|
54
|
-
set_model(model:
|
|
67
|
+
set_model(model: ComboWatchableModel | null): void;
|
|
68
|
+
/** `adw_combo_row_get_model`. */
|
|
69
|
+
get_model(): ComboWatchableModel | null;
|
|
55
70
|
/**
|
|
56
|
-
* XML inflation: a child at `model` is the row's list — a `Gtk.StringList`
|
|
57
|
-
* `
|
|
58
|
-
*
|
|
71
|
+
* XML inflation: a child at `model` is the row's list — a `Gtk.StringList` IS a
|
|
72
|
+
* `Gio.ListModel`, so it goes through the same setter as the property. Everything else is a
|
|
73
|
+
* row edge, as on any action row.
|
|
59
74
|
*/
|
|
60
75
|
_addChildFromBuilder(name: string, child: View): void;
|
|
61
76
|
/** The selected option index. Updates the inline value label. */
|
|
@@ -66,4 +81,13 @@ export declare class AdwComboRow extends AdwActionRow {
|
|
|
66
81
|
/** The selected option's `value`, or `''` when out of range. */
|
|
67
82
|
get selectedValue(): string;
|
|
68
83
|
set selectedValue(value: string);
|
|
84
|
+
/**
|
|
85
|
+
* The selected ITEM (`Adw.ComboRow:selected-item`) — the model's own object at
|
|
86
|
+
* {@link selected}, read through `get_item`, so the identity comparison a `selected-item`
|
|
87
|
+
* consumer writes holds. `null` for the sentinel and for no model. Read-only, as in
|
|
88
|
+
* libadwaita.
|
|
89
|
+
*/
|
|
90
|
+
get selectedItem(): unknown;
|
|
91
|
+
/** `adw_combo_row_get_selected_item`. */
|
|
92
|
+
get_selected_item(): unknown;
|
|
69
93
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AdwAdjustmentInput
|
|
1
|
+
import type { AdwAdjustmentInput } from '@gjsify/adwaita-core';
|
|
2
2
|
import { type ShadowedName } from './shadowed-properties.js';
|
|
3
3
|
/**
|
|
4
4
|
* The keys a widget's construct-props bag accepts, derived from the widget itself.
|
|
@@ -33,31 +33,37 @@ export type WithSnakeCase<Props> = Props & {
|
|
|
33
33
|
[K in keyof Props as K extends string ? SnakeCase<K> : K]: Props[K];
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
36
|
-
* The two properties whose SETTER takes a
|
|
37
|
-
*
|
|
36
|
+
* The two properties whose SETTER takes a value the getter does not hand back, and what each
|
|
37
|
+
* one accepts BEYOND its getter's type.
|
|
38
38
|
*
|
|
39
39
|
* THE GETTER TYPE IS NOT THE WHOLE DOOR HERE, and the difference is not an XML artifact like
|
|
40
|
-
* `size`'s `| string`. `set
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
40
|
+
* `size`'s `| string`. `set adjustment` takes a PARTIAL and hands back a whole one, which is
|
|
41
|
+
* what makes `adjustment: { upper: 20 }` move one bound. Read off the getter alone, the bag
|
|
42
|
+
* refused `new Adw.SpinRow({ adjustment: { lower: 0, upper: 100 } })` — a spelling the website
|
|
43
|
+
* gallery has published on every such block — with `TS2322` while the runtime took it:
|
|
44
|
+
* `applyConstructProps` assigns through the setter, so nothing could fail.
|
|
45
|
+
*
|
|
46
|
+
* `model` IS NARROWER THAN IT WAS, and the narrowing is the point. It used to widen to
|
|
47
|
+
* `AdwListModelInput`, arrays included, which was right while a `Gtk.StringList` WAS an array;
|
|
48
|
+
* since ADR 0122 § 4 `model` is an object property over `Gio.ListModel`, so
|
|
49
|
+
* `new Adw.ComboRow({ model: ['Blue', 'Teal'] })` is a `TypeError` at runtime and has to be one
|
|
50
|
+
* at compile time too — a bag that still admitted it would only move the failure to the first
|
|
51
|
+
* person who ran it. What is left to widen is the STRING: `model='[…]'` is the XML attribute's
|
|
52
|
+
* JSON door, which a `Gio.ListModel` has no attribute spelling for, and the getter hands back a
|
|
53
|
+
* model rather than the string it parsed.
|
|
48
54
|
*
|
|
49
55
|
* TWO KEY NAMES AND FOUR ACCESSORS: `model` on `AdwComboRow` and `GtkDropDown`, `adjustment`
|
|
50
56
|
* on `AdwSpinRow` and `AdwSliderRow`, each pair declaring the same input type as the other.
|
|
51
57
|
* Keyed by NAME like {@link ALIGNMENT_AXES}, because a widget that grows one of these
|
|
52
58
|
* properties grows it with that meaning or the vocabulary gate refuses the name.
|
|
53
59
|
*
|
|
54
|
-
* It is held by `gtk-value-doors.spec.ts`, which writes
|
|
55
|
-
* `Gtk.StringList`, an object literal and a `Gtk.Adjustment` — through this door and
|
|
56
|
-
* type-checked with the rest of the package, so
|
|
57
|
-
* compiling.
|
|
60
|
+
* It is held by `gtk-value-doors.spec.ts`, which writes every accepted spelling — a
|
|
61
|
+
* `Gtk.StringList`, an object literal and a `Gtk.Adjustment` — through this door and asserts
|
|
62
|
+
* the array as the refusal it became, and is type-checked with the rest of the package, so
|
|
63
|
+
* narrowing this table further stops that file compiling.
|
|
58
64
|
*/
|
|
59
65
|
export interface ValueProps {
|
|
60
|
-
model:
|
|
66
|
+
model: string;
|
|
61
67
|
adjustment: AdwAdjustmentInput;
|
|
62
68
|
}
|
|
63
69
|
/** The keys {@link ValueProps} declares — {@link ConstructProps} widens exactly these. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Label, StackLayout, type EventData, type View } from '@nativescript/core';
|
|
2
|
-
import type { AdwComboOption,
|
|
2
|
+
import type { AdwComboOption, ComboWatchableModel } from '@gjsify/adwaita-core';
|
|
3
3
|
import { GtkImage } from './gtk-image.js';
|
|
4
4
|
import { type ConstructProps } from './construct-props.js';
|
|
5
5
|
/** Event name emitted when {@link GtkDropDown.selected} changes through a pick. Mirrors GObject `notify::selected`. */
|
|
@@ -95,14 +95,31 @@ export declare class GtkDropDown extends GtkDropDown_base {
|
|
|
95
95
|
protected readonly _chevron: GtkImage;
|
|
96
96
|
/** The headless options list + selectedIndex↔selectedValue state machine (ADR 0004). */
|
|
97
97
|
private readonly _state;
|
|
98
|
+
/**
|
|
99
|
+
* The list the MARKUP door fills — `<gtk:DropDown model='[…]'>` is JSON text, and a real
|
|
100
|
+
* `Gio.ListModel` has no attribute spelling (ADR 0122 § 5). Held for the widget's whole life
|
|
101
|
+
* so re-parsing the attribute splices the list it already points at rather than replacing
|
|
102
|
+
* it, which would reset the selection.
|
|
103
|
+
*/
|
|
104
|
+
private readonly _authored;
|
|
98
105
|
/** Title shown atop the substituted `action()` sheet. */
|
|
99
106
|
private _chooserTitle;
|
|
100
107
|
constructor(props?: ConstructProps<GtkDropDown>);
|
|
101
108
|
/** Open the native chooser and apply the picked option. */
|
|
102
109
|
private _openChooser;
|
|
103
|
-
/**
|
|
104
|
-
|
|
105
|
-
|
|
110
|
+
/**
|
|
111
|
+
* The list model (`Gtk.DropDown:model`) — the OBJECT that was assigned, by identity, as
|
|
112
|
+
* `dropdown.model === model` is measured to hold in GTK (ADR 0122 § 4). The normalised
|
|
113
|
+
* descriptors are {@link options}.
|
|
114
|
+
*/
|
|
115
|
+
get model(): ComboWatchableModel | null;
|
|
116
|
+
set model(value: ComboWatchableModel | string | null);
|
|
117
|
+
/** The held model's items as `{ value, label }` descriptors. */
|
|
118
|
+
get options(): AdwComboOption[];
|
|
119
|
+
/** `gtk_drop_down_set_model`. */
|
|
120
|
+
set_model(model: ComboWatchableModel | null): void;
|
|
121
|
+
/** `gtk_drop_down_get_model`. */
|
|
122
|
+
get_model(): ComboWatchableModel | null;
|
|
106
123
|
/**
|
|
107
124
|
* XML inflation: a child at `model` is the list, written through the property's setter.
|
|
108
125
|
* Anything else is refused, as GTK refuses a child widget on a `GtkDropDown`.
|
|
@@ -118,8 +135,14 @@ export declare class GtkDropDown extends GtkDropDown_base {
|
|
|
118
135
|
/** The selected option's `value`, or `''` when out of range. */
|
|
119
136
|
get selectedValue(): string;
|
|
120
137
|
set selectedValue(value: string);
|
|
121
|
-
/**
|
|
122
|
-
|
|
138
|
+
/**
|
|
139
|
+
* The selected ITEM (`Gtk.DropDown:selected-item`) — the model's own object at
|
|
140
|
+
* {@link selected}, read through `get_item`, so the identity comparison a `selected-item`
|
|
141
|
+
* consumer writes holds. `null` for the sentinel and for no model. Read-only, as in GTK.
|
|
142
|
+
*/
|
|
143
|
+
get selectedItem(): unknown;
|
|
144
|
+
/** `gtk_drop_down_get_selected_item`. */
|
|
145
|
+
get_selected_item(): unknown;
|
|
123
146
|
/**
|
|
124
147
|
* Optional title shown atop the chooser sheet. A SUBSTITUTION affordance:
|
|
125
148
|
* GTK's popover has no title, but a bare native sheet gives no clue what is
|
|
@@ -51,11 +51,18 @@ export declare class GtkWindow extends AdwSingleChildBase {
|
|
|
51
51
|
private _requestClose;
|
|
52
52
|
/**
|
|
53
53
|
* What the back button does, in order: the topmost dialog, an open bottom sheet, the innermost
|
|
54
|
-
* navigation view, then `close-request`. The sheet sits over the content a navigation view lives
|
|
54
|
+
* navigation view, the window's key controllers (`Gdk.KEY_Back`), then `close-request`. The sheet sits over the content a navigation view lives
|
|
55
55
|
* in, and libadwaita closes it on Escape before anything under it sees the key. Always consumes the press — the system's own back would `finish()` too, but
|
|
56
56
|
* without asking the handlers.
|
|
57
57
|
*/
|
|
58
58
|
private _handleBack;
|
|
59
|
+
/**
|
|
60
|
+
* Back as GTK would see it: a `key-pressed` of `Gdk.KEY_Back` reaching the toplevel's key
|
|
61
|
+
* controllers AFTER the focused content (dialog, sheet, navigation view) had its turn, since the
|
|
62
|
+
* key travels from the focus up. The press arrives by NativeScript's back event, not through
|
|
63
|
+
* the view's key listener, so it is handed to the controllers here.
|
|
64
|
+
*/
|
|
65
|
+
private _deliverBackKey;
|
|
59
66
|
/** A subclass that shows things over the window (dialogs) takes the press first; true = taken. */
|
|
60
67
|
protected _consumeBack(): boolean;
|
|
61
68
|
/** Only a window with no window above it owns the back button. */
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import type { EventData, Observable } from '@nativescript/core';
|
|
2
|
-
import { type ForeignClassMeta, type ForeignProperty } from '@gjsify/adwaita-core';
|
|
2
|
+
import { type ForeignClassMeta, type ForeignObjectProperty, type ForeignProperty, type ForeignScalarProperty } from '@gjsify/adwaita-core';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
* brought into the property's shape BEFORE it is stored. The engine never sees
|
|
4
|
+
* One arm of {@link ForeignProperty}, plus the one thing the engine's vocabulary has no room for:
|
|
5
|
+
* how a value is brought into the property's shape BEFORE it is stored. The engine never sees
|
|
6
|
+
* `normalize`.
|
|
7
|
+
*
|
|
8
|
+
* Applied per ARM rather than to the union, because `ForeignProperty` is a discriminated union
|
|
9
|
+
* since ADR 0122 § 6 and `property.kind === 'object'` has to keep narrowing to the arm that
|
|
10
|
+
* carries `valueType`.
|
|
6
11
|
*/
|
|
7
|
-
|
|
12
|
+
type Declared<P> = P & {
|
|
8
13
|
/**
|
|
9
14
|
* Replaces the seam's own coercion for EVERY write, typed or not — a floor, a clamp, a lenient
|
|
10
15
|
* parse. Runs identically on both legs, ahead of the store and of the equal-write check, so a
|
|
@@ -16,7 +21,9 @@ export interface DeclaredProperty extends ForeignProperty {
|
|
|
16
21
|
* here, since a write that resolves to the value already held is not a change.
|
|
17
22
|
*/
|
|
18
23
|
readonly normalize?: (value: unknown, self: object) => unknown;
|
|
19
|
-
}
|
|
24
|
+
};
|
|
25
|
+
/** A declared property of any kind, with its optional {@link Declared.normalize}. */
|
|
26
|
+
export type DeclaredProperty = Declared<ForeignScalarProperty> | Declared<ForeignObjectProperty>;
|
|
20
27
|
/** {@link ForeignClassMeta} whose properties may carry a {@link DeclaredProperty.normalize}. */
|
|
21
28
|
export interface DeclaredClassMeta extends Omit<ForeignClassMeta, 'Properties'> {
|
|
22
29
|
readonly Properties?: Readonly<Record<string, DeclaredProperty>>;
|
|
@@ -187,3 +194,4 @@ export declare function withProperties<TBase extends ObservableConstructor>(Base
|
|
|
187
194
|
/** Only what this class ADDS; `emittedSignalsOf` merges it with the base's. */
|
|
188
195
|
readonly emittedSignals: readonly string[];
|
|
189
196
|
}) & TBase;
|
|
197
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type View } from '@nativescript/core';
|
|
2
2
|
import type { BackPressedEvent } from './window-source.js';
|
|
3
|
-
export declare
|
|
3
|
+
export declare function canFinishWindow(): boolean;
|
|
4
4
|
export declare function watchBackButton(onBack: (event: BackPressedEvent) => void): () => void;
|
|
5
5
|
export declare function finishWindow(): void;
|
|
6
6
|
export declare function isViewFocused(view: View): boolean;
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { View } from '@nativescript/core';
|
|
2
|
-
/**
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Whether {@link finishWindow} can end the window on this platform. A FUNCTION, not a constant: the
|
|
4
|
+
* library build (`--library`, one module per file) folds an imported `const` into its importer, so
|
|
5
|
+
* `window-host.js` would carry this base file's `false` whatever platform variant the app's bundle
|
|
6
|
+
* resolves in its place.
|
|
7
|
+
*/
|
|
8
|
+
export declare function canFinishWindow(): boolean;
|
|
4
9
|
export declare function finishWindow(): void;
|
|
5
10
|
export declare function isViewFocused(_view: View): boolean;
|
|
6
11
|
export declare function focusView(_view: View): void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { View } from '@nativescript/core';
|
|
2
2
|
import type { BackPressedEvent } from './window-source.js';
|
|
3
|
-
export declare
|
|
3
|
+
export declare function canFinishWindow(): boolean;
|
|
4
4
|
export declare function finishWindow(): void;
|
|
5
5
|
export declare function isViewFocused(view: View): boolean;
|
|
6
6
|
export declare function focusView(view: View): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gjsify/adwaita-nativescript",
|
|
3
|
-
"version": "0.64.12
|
|
3
|
+
"version": "0.64.12",
|
|
4
4
|
"description": "Native Adwaita widgets for the NativeScript runtime — real NativeScript components (StackLayout/GridLayout/Switch/Label) styled like Libadwaita, not a webview",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "lib/esm/index.js",
|
|
@@ -73,15 +73,15 @@
|
|
|
73
73
|
"design-system"
|
|
74
74
|
],
|
|
75
75
|
"dependencies": {
|
|
76
|
-
"@gjsify/adwaita-core": "0.64.12
|
|
77
|
-
"@gjsify/adwaita-fonts": "0.64.12
|
|
78
|
-
"@gjsify/adwaita-icons": "0.64.12
|
|
79
|
-
"@gjsify/canvas2d-core": "0.64.12
|
|
80
|
-
"@gjsify/native-platform": "0.64.12
|
|
76
|
+
"@gjsify/adwaita-core": "^0.64.12",
|
|
77
|
+
"@gjsify/adwaita-fonts": "^0.64.12",
|
|
78
|
+
"@gjsify/adwaita-icons": "^0.64.12",
|
|
79
|
+
"@gjsify/canvas2d-core": "^0.64.12",
|
|
80
|
+
"@gjsify/native-platform": "^0.64.12"
|
|
81
81
|
},
|
|
82
82
|
"peerDependencies": {
|
|
83
83
|
"@nativescript/core": "*",
|
|
84
|
-
"@gjsify/app-settings": "0.64.12
|
|
84
|
+
"@gjsify/app-settings": "^0.64.12"
|
|
85
85
|
},
|
|
86
86
|
"peerDependenciesMeta": {
|
|
87
87
|
"@nativescript/core": {
|
|
@@ -92,11 +92,11 @@
|
|
|
92
92
|
}
|
|
93
93
|
},
|
|
94
94
|
"devDependencies": {
|
|
95
|
-
"@gjsify/app-settings": "0.64.12
|
|
96
|
-
"@gjsify/blueprint": "0.64.12
|
|
97
|
-
"@gjsify/cli": "0.64.12
|
|
98
|
-
"@gjsify/unit": "0.64.12
|
|
99
|
-
"@gjsify/vite-plugin-blueprint": "0.64.12
|
|
95
|
+
"@gjsify/app-settings": "^0.64.12",
|
|
96
|
+
"@gjsify/blueprint": "^0.64.12",
|
|
97
|
+
"@gjsify/cli": "^0.64.12",
|
|
98
|
+
"@gjsify/unit": "^0.64.12",
|
|
99
|
+
"@gjsify/vite-plugin-blueprint": "^0.64.12",
|
|
100
100
|
"@types/node": "^25.9.2",
|
|
101
101
|
"typescript": "^6.0.3"
|
|
102
102
|
},
|
|
@@ -125,6 +125,5 @@
|
|
|
125
125
|
"bugs": {
|
|
126
126
|
"url": "https://github.com/gjsify/gjsify/issues"
|
|
127
127
|
},
|
|
128
|
-
"homepage": "https://github.com/gjsify/gjsify/tree/main/packages/nativescript-bridge/adwaita#readme"
|
|
129
|
-
"gitHead": "c4d2e266c0d9849860b9828c14ebfe37b6d493b8"
|
|
128
|
+
"homepage": "https://github.com/gjsify/gjsify/tree/main/packages/nativescript-bridge/adwaita#readme"
|
|
130
129
|
}
|