@gjsify/adwaita-nativescript 0.64.13 → 0.64.14

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.
Files changed (57) hide show
  1. package/lib/esm/builder/index.js +1 -1
  2. package/lib/esm/index.js +1 -1
  3. package/lib/esm/namespace/gio.js +1 -1
  4. package/lib/esm/namespace/gtk.js +1 -1
  5. package/lib/esm/widgets/adw-about-dialog.js +3 -3
  6. package/lib/esm/widgets/adw-action-row.js +1 -1
  7. package/lib/esm/widgets/adw-button-row.js +1 -1
  8. package/lib/esm/widgets/adw-entry-row.js +1 -1
  9. package/lib/esm/widgets/adw-preferences-group.js +1 -1
  10. package/lib/esm/widgets/adw-split-button.js +1 -1
  11. package/lib/esm/widgets/box-layout.js +1 -1
  12. package/lib/esm/widgets/gtk-box.js +1 -1
  13. package/lib/esm/widgets/gtk-button.js +1 -1
  14. package/lib/esm/widgets/gtk-check-button.js +1 -1
  15. package/lib/esm/widgets/gtk-entry.js +1 -1
  16. package/lib/esm/widgets/gtk-label.js +2 -2
  17. package/lib/esm/widgets/gtk-menu-button.js +1 -1
  18. package/lib/esm/widgets/gtk-popover-menu.js +1 -1
  19. package/lib/esm/widgets/gtk-stack.js +1 -1
  20. package/lib/esm/widgets/index.js +1 -1
  21. package/lib/esm/widgets/label-markup-native.android.js +1 -0
  22. package/lib/esm/widgets/label-markup-native.ios.js +1 -0
  23. package/lib/esm/widgets/label-markup-native.js +1 -0
  24. package/lib/esm/widgets/label-markup.js +1 -1
  25. package/lib/esm/widgets/menu-slot.js +1 -0
  26. package/lib/esm/widgets/popup-menu-view.js +1 -1
  27. package/lib/esm/widgets/popup-menu.js +1 -1
  28. package/lib/esm/widgets/signals.js +1 -1
  29. package/lib/esm/widgets/single-child-base.js +1 -1
  30. package/lib/esm/widgets/single-child-cell.js +1 -1
  31. package/lib/types/entry-properties.spec.d.ts +1 -0
  32. package/lib/types/index.d.ts +4 -2
  33. package/lib/types/menu-model-door.spec.d.ts +1 -0
  34. package/lib/types/namespace/gio.d.ts +1 -1
  35. package/lib/types/template-xalign.spec.d.ts +2 -0
  36. package/lib/types/testing/ns-core.d.mts +11 -0
  37. package/lib/types/widgets/actions.d.ts +3 -3
  38. package/lib/types/widgets/adw-split-button.d.ts +17 -7
  39. package/lib/types/widgets/box-layout.d.ts +37 -0
  40. package/lib/types/widgets/gtk-box.d.ts +11 -5
  41. package/lib/types/widgets/gtk-entry.d.ts +62 -34
  42. package/lib/types/widgets/gtk-label.d.ts +24 -0
  43. package/lib/types/widgets/gtk-menu-button.d.ts +22 -13
  44. package/lib/types/widgets/gtk-popover-menu.d.ts +7 -7
  45. package/lib/types/widgets/index.d.ts +1 -2
  46. package/lib/types/widgets/label-markup-native.android.d.ts +5 -0
  47. package/lib/types/widgets/label-markup-native.d.ts +19 -0
  48. package/lib/types/widgets/label-markup-native.ios.d.ts +5 -0
  49. package/lib/types/widgets/label-markup.d.ts +62 -1
  50. package/lib/types/widgets/menu-slot.d.ts +40 -0
  51. package/lib/types/widgets/popup-menu-view.d.ts +3 -2
  52. package/lib/types/widgets/popup-menu.d.ts +8 -6
  53. package/lib/types/widgets/single-child-base.d.ts +3 -0
  54. package/lib/types/widgets/single-child-cell.d.ts +10 -5
  55. package/package.json +12 -12
  56. package/src/testing/ns-core.mts +19 -0
  57. package/src/theme/adwaita.css +24 -11
@@ -1 +1 @@
1
- import"../_virtual/_rolldown/runtime.js";import{AdwBreakpoint as ee,addBreakpoints as e,evaluateBreakpointCondition as te,observeViewSize as ne,observeWindowSize as re,parseBreakpointCondition as ie}from"./breakpoint.js";import{GTK_ALIGN as ae}from"./gtk-align.js";import{DEFAULT_ICON_PIXEL_SIZE as oe,GTK_ICON_SIZE_NICKS as se,GTK_ICON_SIZE_PIXELS as ce,PIXEL_SIZE_UNSET as le,isGtkIconSizeNick as ue}from"./gtk-icon-size.js";import{applyConstructProps as de,nsAlignment as fe}from"./construct-props.js";import{lengthValue as pe}from"./ns-length.js";import{SimpleAction as me,SimpleActionGroup as he,activateWidgetAction as ge,findActionGroup as _e,insertActionGroup as ve}from"./actions.js";import{NOTIFY_HEXPAND as ye,NOTIFY_VEXPAND as be,withGtkWidgetLayout as xe}from"./widget-layout.js";import{adwaitaColorScheme as Se,isThemeIconColor as Ce,onAdwaitaColorSchemeChanged as we,setAdwaitaColorScheme as Te,themeIconColor as Ee,toggleAdwaitaColorScheme as De}from"./color-scheme.js";import{ADWAITA_ICON_GRID as Oe,DEFAULT_ICON_COLOR as ke,DEFAULT_ICON_COLOR_DARK as Ae,extractIconPaths as je,extractPathData as Me}from"./icon-path.js";import{ICON_FALLBACK_NAME as Ne,compiledIconNames as Pe,iconValueKind as Fe,isIconAvailable as Ie,resolveIconSource as Le}from"./icon-theme.js";import{renderSymbolicIcon as Re}from"./icons.js";import{DEFAULT_GTK_IMAGE_SIZE as ze,GtkImage as t}from"./gtk-image.js";import{DEFAULT_REVEALER_TRANSITION_DURATION as Be,DEFAULT_STACK_TRANSITION_DURATION as Ve,GTK_REVEALER_TRANSITIONS as He,GTK_STACK_TRANSITIONS as Ue,transitionNick as We}from"./transition-type.js";import{ADW_DIALOG_PRESENTATION_MODES as Ge,DEFAULT_DIALOG_PRESENTATION_MODE as Ke,dialogPresentationMode as qe,findDialogHost as Je,surfaceSize as Ye}from"./window-state.js";import{AdwAboutDialog as n,CLOSED as Xe}from"./adw-about-dialog.js";import{ACTIVATED as Ze,AdwActionRow as r}from"./adw-action-row.js";import{AdwAlertDialog as Qe,AdwAlertResponses as $e}from"./adw-alert-dialog.js";import{CLOSE_ATTEMPT as et,NOTIFY_OPEN as tt,SHEET_CLOSE as nt}from"./bottom-sheet-state.js";import{SHEET_CONTENT_BOTTOM_GAP as rt,bottomSheetInsetPadding as it}from"./bottom-sheet-insets.js";import{attachRowPressFeedback as at}from"./row-press.js";import{AdwBottomSheet as i,bottomSheetPanel as ot}from"./adw-bottom-sheet.js";import{GtkWindow as a}from"./gtk-window.js";import{ADW_WINDOW_CLASS as st,AdwWindowBase as ct}from"./window-base.js";import{AdwApplicationWindow as o}from"./adw-application-window.js";import{avatarInitials as lt}from"./avatar-color.js";import{AVATAR_DEFAULT_ICON as ut}from"./avatar-view.js";import{AdwAvatar as s,DEFAULT_AVATAR_SIZE as dt}from"./adw-avatar.js";import{DEFAULT_CLAMP_MAX_SIZE as ft,DEFAULT_SPINNER_SIZE as pt}from"./chrome.js";import{AdwBanner as c,BUTTON_CLICKED as mt}from"./adw-banner.js";import{AdwBin as l}from"./adw-bin.js";import{AdwButtonContent as u,NOTIFY_BUTTON_CONTENT_CAN_SHRINK as ht,NOTIFY_BUTTON_CONTENT_ICON_NAME as gt,NOTIFY_BUTTON_CONTENT_LABEL as _t,NOTIFY_BUTTON_CONTENT_USE_UNDERLINE as vt}from"./adw-button-content.js";import{AdwButtonRow as d}from"./adw-button-row.js";import{CarouselScrollSync as yt,DEFAULT_CAROUSEL_PAGE_WIDTH as bt,applyMarkerClasses as xt,carouselDotClasses as St,carouselNotifyPayload as Ct,carouselPositionAtOffset as wt,carouselScrollOffset as Tt,createCarouselState as Et,indicatorMarkerClasses as Dt,normalizeCarouselPageWidth as Ot}from"./carousel-state.js";import{AdwCarousel as f,NOTIFY_N_PAGES as kt,NOTIFY_POSITION as At,PAGE_CHANGED as jt}from"./adw-carousel.js";import{AdwCarouselIndicatorDots as p}from"./adw-carousel-indicator-dots.js";import{AdwCarouselIndicatorLines as m}from"./adw-carousel-indicator-lines.js";import{AdwClamp as h}from"./adw-clamp.js";import{AdwComboRow as g,ComboState as Mt,NOTIFY_SELECTED as Nt}from"./adw-combo-row.js";import{ADW_DIALOG_CLASS as Pt,ADW_DIALOG_CLOSED as Ft,ADW_DIALOG_CLOSE_ATTEMPT as It,AdwDialog as _}from"./adw-dialog.js";import{AdwImageButton as v,DEFAULT_ICON_BUTTON_ICON_SIZE as Lt}from"./adw-image-button.js";import{AdwEntryRow as y,NOTIFY_ACTIVATES_DEFAULT as Rt,NOTIFY_EDITABLE as zt,NOTIFY_MAX_LENGTH as Bt,NOTIFY_SHOW_APPLY_BUTTON as Vt,NOTIFY_TEXT as Ht,NOTIFY_TEXT_LENGTH as Ut,SIGNAL_APPLY as Wt,SIGNAL_ENTRY_ACTIVATED as Gt}from"./adw-entry-row.js";import{AdwExpanderRow as b,NOTIFY_ENABLE_EXPANSION as Kt,NOTIFY_EXPANDED as qt,NOTIFY_SHOW_ENABLE_SWITCH as Jt,NS_EXPANDER_ARROW_DISABLED_OPACITY as Yt}from"./adw-expander-row.js";import{AdwWindowTitle as x}from"./adw-window-title.js";import{AdwHeaderBar as S}from"./adw-header-bar.js";import{AdwViewStackPage as Xt}from"./view-stack-page.js";import{AdwViewStack as C,NOTIFY_VISIBLE_CHILD as Zt}from"./adw-view-stack.js";import{AdwViewSwitcherBase as Qt,NOTIFY_SELECTED as $t}from"./view-switcher-base.js";import{AdwInlineViewSwitcher as w}from"./adw-inline-view-switcher.js";import{NsNavigationSplitViewState as en,NsOverlaySplitViewState as tn,splitViewColumns as nn}from"./split-view-state.js";import{AdwSplitViewBase as rn,NOTIFY_SHOW_SIDEBAR as an}from"./split-view-base.js";import{AdwNavigationSplitView as T}from"./adw-navigation-split-view.js";import{AdwNavigationPage as E}from"./adw-navigation-page.js";import{NOTIFY_VISIBLE_PAGE as on}from"./navigation-stack.js";import{AdwNavigationView as D}from"./adw-navigation-view.js";import{AdwOverlaySplitView as O}from"./adw-overlay-split-view.js";import{AdwPasswordEntryRow as k}from"./adw-password-entry-row.js";import{AdwPreferencesDialog as A,CLOSED as sn}from"./adw-preferences-dialog.js";import{AdwPreferencesGroup as j}from"./adw-preferences-group.js";import{AdwPreferencesPage as M}from"./adw-preferences-page.js";import{SHORTCUT_LABEL_CAP_TEXT_CLASS as cn,SHORTCUT_LABEL_CLASS as ln,SHORTCUT_LABEL_DIMMED_CLASS as un,SHORTCUT_LABEL_DISABLED_CLASS as dn,SHORTCUT_LABEL_KEYCAP_CLASS as fn,SHORTCUT_LABEL_KEYS_CLASS as pn,SHORTCUT_LABEL_SIDE_CLASS as mn,SHORTCUT_LABEL_SPACED_CLASS as hn,shortcutLabelDirection as gn,shortcutLabelPlatform as _n,shortcutLabelRenderPlan as vn}from"./shortcut-label.js";import{AdwShortcutLabel as N}from"./adw-shortcut-label.js";import{AdwSidebarItem as yn,AdwSidebarSection as bn}from"../values/sidebar.js";import{AdwSidebar as P,NOTIFY_SELECTED as xn}from"./adw-sidebar.js";import{AdwSpinRow as F,NOTIFY_VALUE as Sn,SpinState as Cn}from"./adw-spin-row.js";import{AdwSpinner as I}from"./adw-spinner.js";import{GROUP_DIVIDER_API as wn,assertPopupMenuAssignable as Tn,fillPopupMenu as En,openPopupMenu as Dn,refuseMenuString as On}from"./popup-menu.js";import{showMenuPopup as kn}from"./popup-menu-view.js";import{DEFAULT_SCROLLBAR_POLICY as An,GTK_POLICY_TYPES as jn,normalizePolicy as Mn,policyScrolls as Nn,scrollOrientationFor as Pn}from"./scrolled-window-policy.js";import{AdwSplitButton as L,MENU_TAPPED as Fn}from"./adw-split-button.js";import{AdwStatusPage as R}from"./adw-status-page.js";import{AdwSwitchRow as z,NOTIFY_ACTIVE as In}from"./adw-switch-row.js";import{AdwTabPage as Ln}from"../values/tab-page.js";import{applyTabViewVisibility as Rn,createTabViewState as zn,tabBarVisibility as Bn,tabCloseVisibilities as Vn,tabLabelText as Hn,tabPageVisibilities as Un,tabTooltipText as Wn,tabViewNotifyPayload as Gn}from"./tab-view-state.js";import{AdwTabView as B,CLOSE_PAGE as Kn,NOTIFY_SELECTED_PAGE as qn,PAGES_CHANGED as Jn}from"./adw-tab-view.js";import{AdwToast as Yn,AdwToastOverlay as V,AdwToastQueue as Xn,DEFAULT_TOAST_TIMEOUT as Zn}from"./adw-toast-overlay.js";import{AdwToggle as Qn}from"./adw-toggle.js";import{AdwToggleGroup as H,NOTIFY_SELECTED as $n,ToggleGroupState as er}from"./adw-toggle-group.js";import{WINDOW_BACKGROUND as tr,configureSystemBars as nr,systemBarsConfig as rr}from"./system-bars.js";import{AdwToolbarView as U}from"./adw-toolbar-view.js";import{AdwViewSwitcher as W}from"./adw-view-switcher.js";import{AdwViewSwitcherBar as G}from"./adw-view-switcher-bar.js";import{AdwWindow as K}from"./adw-window.js";import{AdwWrapBox as q}from"./adw-wrap-box.js";import{ADWAITA_NS_ACCENT_RULES as ir,adwaitaNsAccentColor as ar,adwaitaNsAccentCss as or}from"./accent-theme.js";import{applyAdwaitaNsAccent as sr,clearAdwaitaNsAccent as cr}from"./adw-accent.js";import{GtkActionBar as J}from"./gtk-action-bar.js";import{DEFAULT_BOX_SPACING as lr,boxChildTrack as ur,boxSpacingChanges as dr,boxTrackPlan as fr,normalizeBoxSpacing as pr}from"./box-layout.js";import{GtkBox as Y}from"./gtk-box.js";import{buttonSlotAfterWrite as mr,buttonSlotDetaches as hr}from"./button-slot.js";import{GTK_BUTTON_CLICKED as gr,GTK_BUTTON_LABEL_CLASS as _r,GtkButton as X}from"./gtk-button.js";import{GtkDropDown as Z,NOTIFY_SELECTED as vr}from"./gtk-drop-down.js";import{GTK_CHECK_BUTTON_ACTIVATE as yr,GTK_CHECK_BUTTON_CHECKED_CLASS as br,GTK_CHECK_BUTTON_INCONSISTENT_CLASS as xr,GTK_CHECK_BUTTON_TOGGLED as Sr,GtkCheckButton as Q,NOTIFY_CHECK_ACTIVE as Cr}from"./gtk-check-button.js";import{DRAWING_AREA_REFUSAL as wr,GtkDrawingArea as $}from"./gtk-drawing-area.js";import{ACTIVATE as Tr,GtkEntry as Er,NOTIFY_TEXT as Dr}from"./gtk-entry.js";import{gridChildAt as Or,gridGap as kr,gridSpacing as Ar,gridTrackCounts as jr}from"./grid-state.js";import{GtkGrid as Mr}from"./gtk-grid.js";import{GtkFrame as Nr}from"./gtk-frame.js";import{GtkLabel as Pr}from"./gtk-label.js";import{DEFAULT_LIST_SELECTION_MODE as Fr,GTK_SELECTION_MODES as Ir,selectionAfterModeChange as Lr,selectionAfterTap as Rr,selectionMode as zr}from"./list-box-state.js";import{GtkListBox as Br,LIST_BOX_ROW_ACTIVATED as Vr,LIST_BOX_ROW_SELECTED as Hr,LIST_ROW_SELECTED_CLASS as Ur}from"./gtk-list-box.js";import{GtkMenuButton as Wr,MENU_ITEM_ACTIVATED as Gr}from"./gtk-menu-button.js";import{GtkPopoverMenu as Kr}from"./gtk-popover-menu.js";import{GtkOverlay as qr}from"./gtk-overlay.js";import{revealerChildVisibility as Jr}from"./revealer-state.js";import{GtkRevealer as Yr,NOTIFY_REVEAL_CHILD as Xr}from"./gtk-revealer.js";import{GtkScrolledWindow as Zr}from"./gtk-scrolled-window.js";import{GtkApplicationWindow as Qr}from"./gtk-application-window.js";import{GtkSeparator as $r}from"./gtk-separator.js";import{GtkStackPage as ei}from"./stack-page.js";import{GtkStack as ti,NOTIFY_STACK_VISIBLE_CHILD as ni,NOTIFY_STACK_VISIBLE_CHILD_NAME as ri}from"./gtk-stack.js";import{GTK_WRAP_MODES as ii,GtkTextView as ai,NOTIFY_TEXT_VIEW_TEXT as oi}from"./gtk-text-view.js";import{GTK_TOGGLE_BUTTON_CHECKED_CLASS as si,GTK_TOGGLE_BUTTON_TOGGLED as ci,GtkToggleButton as li,NOTIFY_TOGGLE_ACTIVE as ui}from"./gtk-toggle-button.js";import{AdwSliderRow as di,NOTIFY_SLIDER_VALUE as fi}from"./adw-slider-row.js";import{DATA_GRID_HEADER_CELL_CLASS as pi,DATA_GRID_HEADER_ROW_CLASS as mi,DATA_GRID_SECTION_CELL_CLASS as hi,dataGridCellClass as gi,dataGridItemSpec as _i,dataGridRowClass as vi,dataGridShapeKey as yi,dataGridTracksKey as bi,parseDataGridWidth as xi}from"./data-grid-model.js";import{AdwDataGrid as Si,ROW_ACTIVATED as Ci}from"./adw-data-grid.js";import{padForSystemInsets as wi,padSheetForSystemInsets as Ti}from"./system-insets.js";import{labelDisplayText as Ei,labelMarkupIsUnparseable as Di}from"@gjsify/adwaita-core";const Oi={AdwPreferencesPage:M,AdwPreferencesGroup:j,AdwActionRow:r,AdwSwitchRow:z,AdwEntryRow:y,AdwPasswordEntryRow:k,GtkEntry:Er,AdwComboRow:g,GtkDropDown:Z,AdwSpinRow:F,AdwSliderRow:di,AdwExpanderRow:b,GtkButton:X,GtkBox:Y,GtkGrid:Mr,GtkListBox:Br,AdwWindow:K,AdwApplicationWindow:o,AdwDialog:_,GtkActionBar:J,AdwBin:l,GtkOverlay:qr,GtkRevealer:Yr,GtkScrolledWindow:Zr,GtkWindow:a,GtkApplicationWindow:Qr,GtkStack:ti,GtkToggleButton:li,GtkCheckButton:Q,GtkDrawingArea:$,GtkFrame:Nr,GtkSeparator:$r,GtkTextView:ai,GtkLabel:Pr,AdwImageButton:v,GtkMenuButton:Wr,GtkImage:t,AdwBanner:c,AdwAvatar:s,AdwWindowTitle:x,AdwClamp:h,AdwHeaderBar:S,AdwToolbarView:U,AdwWrapBox:q,AdwDataGrid:Si,AdwSpinner:I,AdwStatusPage:R,AdwButtonRow:d,AdwButtonContent:u,AdwSplitButton:L,AdwToggleGroup:H,AdwShortcutLabel:N,AdwViewStack:C,AdwViewSwitcher:W,AdwViewSwitcherBar:G,AdwInlineViewSwitcher:w,AdwTabView:B,AdwCarousel:f,AdwCarouselIndicatorDots:p,AdwCarouselIndicatorLines:m,AdwNavigationPage:E,AdwNavigationView:D,AdwNavigationSplitView:T,AdwOverlaySplitView:O,AdwSidebar:P,AdwBottomSheet:i,AdwToastOverlay:V,AdwAboutDialog:n,AdwPreferencesDialog:A};let ki=!1;function registerAdwaitaElements(){if(!ki&&typeof registerElement==`function`){for(let[ee,e]of Object.entries(Oi))registerElement(ee,()=>e);ki=!0}}export{Xe as ABOUT_CLOSED,Ze as ACTIVATED,Oe as ADWAITA_ICON_GRID,ir as ADWAITA_NS_ACCENT_RULES,Pt as ADW_DIALOG_CLASS,Ft as ADW_DIALOG_CLOSED,It as ADW_DIALOG_CLOSE_ATTEMPT,Ge as ADW_DIALOG_PRESENTATION_MODES,st as ADW_WINDOW_CLASS,ut as AVATAR_DEFAULT_ICON,n as AdwAboutDialog,r as AdwActionRow,Qe as AdwAlertDialog,$e as AdwAlertResponses,o as AdwApplicationWindow,s as AdwAvatar,c as AdwBanner,l as AdwBin,i as AdwBottomSheet,ee as AdwBreakpoint,u as AdwButtonContent,d as AdwButtonRow,f as AdwCarousel,p as AdwCarouselIndicatorDots,m as AdwCarouselIndicatorLines,h as AdwClamp,g as AdwComboRow,Si as AdwDataGrid,_ as AdwDialog,y as AdwEntryRow,b as AdwExpanderRow,S as AdwHeaderBar,v as AdwImageButton,w as AdwInlineViewSwitcher,E as AdwNavigationPage,T as AdwNavigationSplitView,D as AdwNavigationView,O as AdwOverlaySplitView,k as AdwPasswordEntryRow,A as AdwPreferencesDialog,j as AdwPreferencesGroup,M as AdwPreferencesPage,N as AdwShortcutLabel,P as AdwSidebar,yn as AdwSidebarItem,bn as AdwSidebarSection,di as AdwSliderRow,F as AdwSpinRow,I as AdwSpinner,L as AdwSplitButton,rn as AdwSplitViewBase,R as AdwStatusPage,z as AdwSwitchRow,Ln as AdwTabPage,B as AdwTabView,Yn as AdwToast,V as AdwToastOverlay,Xn as AdwToastQueue,Qn as AdwToggle,H as AdwToggleGroup,U as AdwToolbarView,C as AdwViewStack,Xt as AdwViewStackPage,W as AdwViewSwitcher,G as AdwViewSwitcherBar,Qt as AdwViewSwitcherBase,K as AdwWindow,ct as AdwWindowBase,x as AdwWindowTitle,q as AdwWrapBox,mt as BUTTON_CLICKED,et as CLOSE_ATTEMPT,Kn as CLOSE_PAGE,yt as CarouselScrollSync,Mt as ComboState,pi as DATA_GRID_HEADER_CELL_CLASS,mi as DATA_GRID_HEADER_ROW_CLASS,hi as DATA_GRID_SECTION_CELL_CLASS,dt as DEFAULT_AVATAR_SIZE,lr as DEFAULT_BOX_SPACING,bt as DEFAULT_CAROUSEL_PAGE_WIDTH,ft as DEFAULT_CLAMP_MAX_SIZE,Ke as DEFAULT_DIALOG_PRESENTATION_MODE,ze as DEFAULT_GTK_IMAGE_SIZE,Lt as DEFAULT_ICON_BUTTON_ICON_SIZE,ke as DEFAULT_ICON_COLOR,Ae as DEFAULT_ICON_COLOR_DARK,oe as DEFAULT_ICON_PIXEL_SIZE,Fr as DEFAULT_LIST_SELECTION_MODE,Be as DEFAULT_REVEALER_TRANSITION_DURATION,An as DEFAULT_SCROLLBAR_POLICY,pt as DEFAULT_SPINNER_SIZE,Ve as DEFAULT_STACK_TRANSITION_DURATION,Zn as DEFAULT_TOAST_TIMEOUT,wr as DRAWING_AREA_REFUSAL,Tr as ENTRY_ACTIVATE,wn as GROUP_DIVIDER_API,ae as GTK_ALIGN,gr as GTK_BUTTON_CLICKED,_r as GTK_BUTTON_LABEL_CLASS,yr as GTK_CHECK_BUTTON_ACTIVATE,br as GTK_CHECK_BUTTON_CHECKED_CLASS,xr as GTK_CHECK_BUTTON_INCONSISTENT_CLASS,Sr as GTK_CHECK_BUTTON_TOGGLED,se as GTK_ICON_SIZE_NICKS,ce as GTK_ICON_SIZE_PIXELS,jn as GTK_POLICY_TYPES,He as GTK_REVEALER_TRANSITIONS,Ir as GTK_SELECTION_MODES,Ue as GTK_STACK_TRANSITIONS,si as GTK_TOGGLE_BUTTON_CHECKED_CLASS,ci as GTK_TOGGLE_BUTTON_TOGGLED,ii as GTK_WRAP_MODES,J as GtkActionBar,Qr as GtkApplicationWindow,Y as GtkBox,X as GtkButton,Q as GtkCheckButton,$ as GtkDrawingArea,Z as GtkDropDown,Er as GtkEntry,Nr as GtkFrame,Mr as GtkGrid,t as GtkImage,Pr as GtkLabel,Br as GtkListBox,Wr as GtkMenuButton,qr as GtkOverlay,Kr as GtkPopoverMenu,Yr as GtkRevealer,Zr as GtkScrolledWindow,$r as GtkSeparator,ti as GtkStack,ei as GtkStackPage,ai as GtkTextView,li as GtkToggleButton,a as GtkWindow,Ne as ICON_FALLBACK_NAME,Vr as LIST_BOX_ROW_ACTIVATED,Hr as LIST_BOX_ROW_SELECTED,Ur as LIST_ROW_SELECTED_CLASS,Gr as MENU_ITEM_ACTIVATED,Fn as MENU_TAPPED,Rt as NOTIFY_ACTIVATES_DEFAULT,In as NOTIFY_ACTIVE,ht as NOTIFY_BUTTON_CONTENT_CAN_SHRINK,gt as NOTIFY_BUTTON_CONTENT_ICON_NAME,_t as NOTIFY_BUTTON_CONTENT_LABEL,vt as NOTIFY_BUTTON_CONTENT_USE_UNDERLINE,Cr as NOTIFY_CHECK_ACTIVE,vr as NOTIFY_DROP_DOWN_SELECTED,zt as NOTIFY_EDITABLE,Kt as NOTIFY_ENABLE_EXPANSION,Dr as NOTIFY_ENTRY_TEXT,qt as NOTIFY_EXPANDED,ye as NOTIFY_HEXPAND,Bt as NOTIFY_MAX_LENGTH,kt as NOTIFY_N_PAGES,tt as NOTIFY_OPEN,At as NOTIFY_POSITION,Xr as NOTIFY_REVEAL_CHILD,Nt as NOTIFY_SELECTED,qn as NOTIFY_SELECTED_PAGE,Vt as NOTIFY_SHOW_APPLY_BUTTON,Jt as NOTIFY_SHOW_ENABLE_SWITCH,an as NOTIFY_SHOW_SIDEBAR,xn as NOTIFY_SIDEBAR_SELECTED,fi as NOTIFY_SLIDER_VALUE,ni as NOTIFY_STACK_VISIBLE_CHILD,ri as NOTIFY_STACK_VISIBLE_CHILD_NAME,Ht as NOTIFY_TEXT,Ut as NOTIFY_TEXT_LENGTH,oi as NOTIFY_TEXT_VIEW_TEXT,ui as NOTIFY_TOGGLE_ACTIVE,$n as NOTIFY_TOGGLE_SELECTED,Sn as NOTIFY_VALUE,be as NOTIFY_VEXPAND,$t as NOTIFY_VIEW_SELECTED,Zt as NOTIFY_VISIBLE_CHILD,on as NOTIFY_VISIBLE_PAGE,Yt as NS_EXPANDER_ARROW_DISABLED_OPACITY,en as NsNavigationSplitViewState,tn as NsOverlaySplitViewState,Jn as PAGES_CHANGED,jt as PAGE_CHANGED,le as PIXEL_SIZE_UNSET,sn as PREFERENCES_CLOSED,Ci as ROW_ACTIVATED,nt as SHEET_CLOSE,rt as SHEET_CONTENT_BOTTOM_GAP,cn as SHORTCUT_LABEL_CAP_TEXT_CLASS,ln as SHORTCUT_LABEL_CLASS,un as SHORTCUT_LABEL_DIMMED_CLASS,dn as SHORTCUT_LABEL_DISABLED_CLASS,fn as SHORTCUT_LABEL_KEYCAP_CLASS,pn as SHORTCUT_LABEL_KEYS_CLASS,mn as SHORTCUT_LABEL_SIDE_CLASS,hn as SHORTCUT_LABEL_SPACED_CLASS,Wt as SIGNAL_APPLY,Gt as SIGNAL_ENTRY_ACTIVATED,me as SimpleAction,he as SimpleActionGroup,Cn as SpinState,er as ToggleGroupState,tr as WINDOW_BACKGROUND,ge as activateWidgetAction,e as addBreakpoints,Se as adwaitaColorScheme,ar as adwaitaNsAccentColor,or as adwaitaNsAccentCss,sr as applyAdwaitaNsAccent,de as applyConstructProps,xt as applyMarkerClasses,Rn as applyTabViewVisibility,Tn as assertPopupMenuAssignable,at as attachRowPressFeedback,lt as avatarInitials,it as bottomSheetInsetPadding,ot as bottomSheetPanel,ur as boxChildTrack,dr as boxSpacingChanges,fr as boxTrackPlan,mr as buttonSlotAfterWrite,hr as buttonSlotDetaches,St as carouselDotClasses,Ct as carouselNotifyPayload,wt as carouselPositionAtOffset,Tt as carouselScrollOffset,cr as clearAdwaitaNsAccent,Pe as compiledIconNames,nr as configureSystemBars,Et as createCarouselState,zn as createTabViewState,gi as dataGridCellClass,_i as dataGridItemSpec,vi as dataGridRowClass,yi as dataGridShapeKey,bi as dataGridTracksKey,qe as dialogPresentationMode,te as evaluateBreakpointCondition,je as extractIconPaths,Me as extractPathData,En as fillPopupMenu,_e as findActionGroup,Je as findDialogHost,Or as gridChildAt,kr as gridGap,Ar as gridSpacing,jr as gridTrackCounts,Fe as iconValueKind,Dt as indicatorMarkerClasses,ve as insertActionGroup,ue as isGtkIconSizeNick,Ie as isIconAvailable,Ce as isThemeIconColor,Ei as labelDisplayText,Di as labelMarkupIsUnparseable,pe as lengthValue,pr as normalizeBoxSpacing,Ot as normalizeCarouselPageWidth,Mn as normalizePolicy,fe as nsAlignment,ne as observeViewSize,re as observeWindowSize,we as onAdwaitaColorSchemeChanged,Dn as openPopupMenu,wi as padForSystemInsets,Ti as padSheetForSystemInsets,ie as parseBreakpointCondition,xi as parseDataGridWidth,Nn as policyScrolls,On as refuseMenuString,registerAdwaitaElements,Re as renderSymbolicIcon,Le as resolveIconSource,Jr as revealerChildVisibility,Pn as scrollOrientationFor,Lr as selectionAfterModeChange,Rr as selectionAfterTap,zr as selectionMode,Te as setAdwaitaColorScheme,gn as shortcutLabelDirection,_n as shortcutLabelPlatform,vn as shortcutLabelRenderPlan,kn as showMenuPopup,nn as splitViewColumns,Ye as surfaceSize,rr as systemBarsConfig,Bn as tabBarVisibility,Vn as tabCloseVisibilities,Hn as tabLabelText,Un as tabPageVisibilities,Wn as tabTooltipText,Gn as tabViewNotifyPayload,Ee as themeIconColor,De as toggleAdwaitaColorScheme,We as transitionNick,xe as withGtkWidgetLayout};
1
+ import"../_virtual/_rolldown/runtime.js";import{AdwBreakpoint as ee,addBreakpoints as e,evaluateBreakpointCondition as te,observeViewSize as ne,observeWindowSize as re,parseBreakpointCondition as ie}from"./breakpoint.js";import{GTK_ALIGN as ae}from"./gtk-align.js";import{DEFAULT_ICON_PIXEL_SIZE as oe,GTK_ICON_SIZE_NICKS as se,GTK_ICON_SIZE_PIXELS as ce,PIXEL_SIZE_UNSET as le,isGtkIconSizeNick as ue}from"./gtk-icon-size.js";import{applyConstructProps as de,nsAlignment as fe}from"./construct-props.js";import{lengthValue as pe}from"./ns-length.js";import{SimpleAction as me,SimpleActionGroup as he,activateWidgetAction as ge,findActionGroup as _e,insertActionGroup as ve}from"./actions.js";import{NOTIFY_HEXPAND as ye,NOTIFY_VEXPAND as be,withGtkWidgetLayout as xe}from"./widget-layout.js";import{adwaitaColorScheme as Se,isThemeIconColor as Ce,onAdwaitaColorSchemeChanged as we,setAdwaitaColorScheme as Te,themeIconColor as Ee,toggleAdwaitaColorScheme as De}from"./color-scheme.js";import{ADWAITA_ICON_GRID as Oe,DEFAULT_ICON_COLOR as ke,DEFAULT_ICON_COLOR_DARK as Ae,extractIconPaths as je,extractPathData as Me}from"./icon-path.js";import{ICON_FALLBACK_NAME as Ne,compiledIconNames as Pe,iconValueKind as Fe,isIconAvailable as Ie,resolveIconSource as Le}from"./icon-theme.js";import{renderSymbolicIcon as Re}from"./icons.js";import{DEFAULT_GTK_IMAGE_SIZE as ze,GtkImage as t}from"./gtk-image.js";import{GtkLabel as n}from"./gtk-label.js";import{DEFAULT_REVEALER_TRANSITION_DURATION as Be,DEFAULT_STACK_TRANSITION_DURATION as Ve,GTK_REVEALER_TRANSITIONS as He,GTK_STACK_TRANSITIONS as Ue,transitionNick as We}from"./transition-type.js";import{ADW_DIALOG_PRESENTATION_MODES as Ge,DEFAULT_DIALOG_PRESENTATION_MODE as Ke,dialogPresentationMode as qe,findDialogHost as Je,surfaceSize as Ye}from"./window-state.js";import{AdwAboutDialog as r,CLOSED as Xe}from"./adw-about-dialog.js";import{ACTIVATED as Ze,AdwActionRow as i}from"./adw-action-row.js";import{AdwAlertDialog as Qe,AdwAlertResponses as $e}from"./adw-alert-dialog.js";import{CLOSE_ATTEMPT as et,NOTIFY_OPEN as tt,SHEET_CLOSE as nt}from"./bottom-sheet-state.js";import{SHEET_CONTENT_BOTTOM_GAP as rt,bottomSheetInsetPadding as it}from"./bottom-sheet-insets.js";import{attachRowPressFeedback as at}from"./row-press.js";import{AdwBottomSheet as a,bottomSheetPanel as ot}from"./adw-bottom-sheet.js";import{GtkWindow as o}from"./gtk-window.js";import{ADW_WINDOW_CLASS as st,AdwWindowBase as ct}from"./window-base.js";import{AdwApplicationWindow as s}from"./adw-application-window.js";import{avatarInitials as lt}from"./avatar-color.js";import{AVATAR_DEFAULT_ICON as ut}from"./avatar-view.js";import{AdwAvatar as c,DEFAULT_AVATAR_SIZE as dt}from"./adw-avatar.js";import{DEFAULT_CLAMP_MAX_SIZE as ft,DEFAULT_SPINNER_SIZE as pt}from"./chrome.js";import{AdwBanner as l,BUTTON_CLICKED as mt}from"./adw-banner.js";import{AdwBin as u}from"./adw-bin.js";import{AdwButtonContent as d,NOTIFY_BUTTON_CONTENT_CAN_SHRINK as ht,NOTIFY_BUTTON_CONTENT_ICON_NAME as gt,NOTIFY_BUTTON_CONTENT_LABEL as _t,NOTIFY_BUTTON_CONTENT_USE_UNDERLINE as vt}from"./adw-button-content.js";import{AdwButtonRow as f}from"./adw-button-row.js";import{CarouselScrollSync as yt,DEFAULT_CAROUSEL_PAGE_WIDTH as bt,applyMarkerClasses as xt,carouselDotClasses as St,carouselNotifyPayload as Ct,carouselPositionAtOffset as wt,carouselScrollOffset as Tt,createCarouselState as Et,indicatorMarkerClasses as Dt,normalizeCarouselPageWidth as Ot}from"./carousel-state.js";import{AdwCarousel as p,NOTIFY_N_PAGES as kt,NOTIFY_POSITION as At,PAGE_CHANGED as jt}from"./adw-carousel.js";import{AdwCarouselIndicatorDots as m}from"./adw-carousel-indicator-dots.js";import{AdwCarouselIndicatorLines as h}from"./adw-carousel-indicator-lines.js";import{AdwClamp as g}from"./adw-clamp.js";import{AdwComboRow as _,ComboState as Mt,NOTIFY_SELECTED as Nt}from"./adw-combo-row.js";import{ADW_DIALOG_CLASS as Pt,ADW_DIALOG_CLOSED as Ft,ADW_DIALOG_CLOSE_ATTEMPT as It,AdwDialog as v}from"./adw-dialog.js";import{AdwImageButton as y,DEFAULT_ICON_BUTTON_ICON_SIZE as Lt}from"./adw-image-button.js";import{AdwEntryRow as b,NOTIFY_ACTIVATES_DEFAULT as Rt,NOTIFY_EDITABLE as zt,NOTIFY_MAX_LENGTH as Bt,NOTIFY_SHOW_APPLY_BUTTON as Vt,NOTIFY_TEXT as Ht,NOTIFY_TEXT_LENGTH as Ut,SIGNAL_APPLY as Wt,SIGNAL_ENTRY_ACTIVATED as Gt}from"./adw-entry-row.js";import{AdwExpanderRow as x,NOTIFY_ENABLE_EXPANSION as Kt,NOTIFY_EXPANDED as qt,NOTIFY_SHOW_ENABLE_SWITCH as Jt,NS_EXPANDER_ARROW_DISABLED_OPACITY as Yt}from"./adw-expander-row.js";import{AdwWindowTitle as S}from"./adw-window-title.js";import{AdwHeaderBar as C}from"./adw-header-bar.js";import{AdwViewStackPage as Xt}from"./view-stack-page.js";import{AdwViewStack as w,NOTIFY_VISIBLE_CHILD as Zt}from"./adw-view-stack.js";import{AdwViewSwitcherBase as Qt,NOTIFY_SELECTED as $t}from"./view-switcher-base.js";import{AdwInlineViewSwitcher as T}from"./adw-inline-view-switcher.js";import{NsNavigationSplitViewState as en,NsOverlaySplitViewState as tn,splitViewColumns as nn}from"./split-view-state.js";import{AdwSplitViewBase as rn,NOTIFY_SHOW_SIDEBAR as an}from"./split-view-base.js";import{AdwNavigationSplitView as E}from"./adw-navigation-split-view.js";import{AdwNavigationPage as D}from"./adw-navigation-page.js";import{NOTIFY_VISIBLE_PAGE as on}from"./navigation-stack.js";import{AdwNavigationView as O}from"./adw-navigation-view.js";import{AdwOverlaySplitView as k}from"./adw-overlay-split-view.js";import{AdwPasswordEntryRow as A}from"./adw-password-entry-row.js";import{AdwPreferencesDialog as j,CLOSED as sn}from"./adw-preferences-dialog.js";import{AdwPreferencesGroup as M}from"./adw-preferences-group.js";import{AdwPreferencesPage as N}from"./adw-preferences-page.js";import{SHORTCUT_LABEL_CAP_TEXT_CLASS as cn,SHORTCUT_LABEL_CLASS as ln,SHORTCUT_LABEL_DIMMED_CLASS as un,SHORTCUT_LABEL_DISABLED_CLASS as dn,SHORTCUT_LABEL_KEYCAP_CLASS as fn,SHORTCUT_LABEL_KEYS_CLASS as pn,SHORTCUT_LABEL_SIDE_CLASS as mn,SHORTCUT_LABEL_SPACED_CLASS as hn,shortcutLabelDirection as gn,shortcutLabelPlatform as _n,shortcutLabelRenderPlan as vn}from"./shortcut-label.js";import{AdwShortcutLabel as P}from"./adw-shortcut-label.js";import{AdwSidebarItem as yn,AdwSidebarSection as bn}from"../values/sidebar.js";import{AdwSidebar as F,NOTIFY_SELECTED as xn}from"./adw-sidebar.js";import{AdwSpinRow as I,NOTIFY_VALUE as Sn,SpinState as Cn}from"./adw-spin-row.js";import{AdwSpinner as wn}from"./adw-spinner.js";import{GROUP_DIVIDER_API as Tn,assertPopupMenuAssignable as En,fillPopupMenu as Dn,openPopupMenu as On,refuseMenuString as kn}from"./popup-menu.js";import{showMenuPopup as An}from"./popup-menu-view.js";import{DEFAULT_SCROLLBAR_POLICY as jn,GTK_POLICY_TYPES as Mn,normalizePolicy as Nn,policyScrolls as Pn,scrollOrientationFor as Fn}from"./scrolled-window-policy.js";import{AdwSplitButton as L,MENU_TAPPED as In}from"./adw-split-button.js";import{AdwStatusPage as R}from"./adw-status-page.js";import{AdwSwitchRow as z,NOTIFY_ACTIVE as Ln}from"./adw-switch-row.js";import{AdwTabPage as Rn}from"../values/tab-page.js";import{applyTabViewVisibility as zn,createTabViewState as Bn,tabBarVisibility as Vn,tabCloseVisibilities as Hn,tabLabelText as Un,tabPageVisibilities as Wn,tabTooltipText as Gn,tabViewNotifyPayload as Kn}from"./tab-view-state.js";import{AdwTabView as B,CLOSE_PAGE as qn,NOTIFY_SELECTED_PAGE as Jn,PAGES_CHANGED as Yn}from"./adw-tab-view.js";import{AdwToast as Xn,AdwToastOverlay as V,AdwToastQueue as Zn,DEFAULT_TOAST_TIMEOUT as Qn}from"./adw-toast-overlay.js";import{AdwToggle as $n}from"./adw-toggle.js";import{AdwToggleGroup as H,NOTIFY_SELECTED as er,ToggleGroupState as tr}from"./adw-toggle-group.js";import{WINDOW_BACKGROUND as nr,configureSystemBars as rr,systemBarsConfig as ir}from"./system-bars.js";import{AdwToolbarView as U}from"./adw-toolbar-view.js";import{AdwViewSwitcher as W}from"./adw-view-switcher.js";import{AdwViewSwitcherBar as G}from"./adw-view-switcher-bar.js";import{AdwWindow as K}from"./adw-window.js";import{AdwWrapBox as q}from"./adw-wrap-box.js";import{ADWAITA_NS_ACCENT_RULES as ar,adwaitaNsAccentColor as or,adwaitaNsAccentCss as sr}from"./accent-theme.js";import{applyAdwaitaNsAccent as cr,clearAdwaitaNsAccent as lr}from"./adw-accent.js";import{GtkActionBar as J}from"./gtk-action-bar.js";import{DEFAULT_BOX_SPACING as ur,boxChildTrack as dr,boxSpacingChanges as fr,boxTrackPlan as pr,normalizeBoxSpacing as mr}from"./box-layout.js";import{GtkBox as Y}from"./gtk-box.js";import{buttonSlotAfterWrite as hr,buttonSlotDetaches as gr}from"./button-slot.js";import{GTK_BUTTON_CLICKED as _r,GTK_BUTTON_LABEL_CLASS as vr,GtkButton as X}from"./gtk-button.js";import{GtkDropDown as Z,NOTIFY_SELECTED as yr}from"./gtk-drop-down.js";import{GTK_CHECK_BUTTON_ACTIVATE as br,GTK_CHECK_BUTTON_CHECKED_CLASS as xr,GTK_CHECK_BUTTON_INCONSISTENT_CLASS as Sr,GTK_CHECK_BUTTON_TOGGLED as Cr,GtkCheckButton as Q,NOTIFY_CHECK_ACTIVE as wr}from"./gtk-check-button.js";import{DRAWING_AREA_REFUSAL as Tr,GtkDrawingArea as $}from"./gtk-drawing-area.js";import{ACTIVATE as Er,CHANGED as Dr,GtkEntry as Or,NOTIFY_EDITABLE as kr,NOTIFY_MAX_LENGTH as Ar,NOTIFY_PLACEHOLDER_TEXT as jr,NOTIFY_TEXT as Mr,NOTIFY_TEXT_LENGTH as Nr}from"./gtk-entry.js";import{gridChildAt as Pr,gridGap as Fr,gridSpacing as Ir,gridTrackCounts as Lr}from"./grid-state.js";import{GtkGrid as Rr}from"./gtk-grid.js";import{GtkFrame as zr}from"./gtk-frame.js";import{DEFAULT_LIST_SELECTION_MODE as Br,GTK_SELECTION_MODES as Vr,selectionAfterModeChange as Hr,selectionAfterTap as Ur,selectionMode as Wr}from"./list-box-state.js";import{GtkListBox as Gr,LIST_BOX_ROW_ACTIVATED as Kr,LIST_BOX_ROW_SELECTED as qr,LIST_ROW_SELECTED_CLASS as Jr}from"./gtk-list-box.js";import{GtkMenuButton as Yr,MENU_ITEM_ACTIVATED as Xr}from"./gtk-menu-button.js";import{GtkPopoverMenu as Zr}from"./gtk-popover-menu.js";import{GtkOverlay as Qr}from"./gtk-overlay.js";import{revealerChildVisibility as $r}from"./revealer-state.js";import{GtkRevealer as ei,NOTIFY_REVEAL_CHILD as ti}from"./gtk-revealer.js";import{GtkScrolledWindow as ni}from"./gtk-scrolled-window.js";import{GtkApplicationWindow as ri}from"./gtk-application-window.js";import{GtkSeparator as ii}from"./gtk-separator.js";import{GtkStackPage as ai}from"./stack-page.js";import{GtkStack as oi,NOTIFY_STACK_VISIBLE_CHILD as si,NOTIFY_STACK_VISIBLE_CHILD_NAME as ci}from"./gtk-stack.js";import{GTK_WRAP_MODES as li,GtkTextView as ui,NOTIFY_TEXT_VIEW_TEXT as di}from"./gtk-text-view.js";import{GTK_TOGGLE_BUTTON_CHECKED_CLASS as fi,GTK_TOGGLE_BUTTON_TOGGLED as pi,GtkToggleButton as mi,NOTIFY_TOGGLE_ACTIVE as hi}from"./gtk-toggle-button.js";import{AdwSliderRow as gi,NOTIFY_SLIDER_VALUE as _i}from"./adw-slider-row.js";import{DATA_GRID_HEADER_CELL_CLASS as vi,DATA_GRID_HEADER_ROW_CLASS as yi,DATA_GRID_SECTION_CELL_CLASS as bi,dataGridCellClass as xi,dataGridItemSpec as Si,dataGridRowClass as Ci,dataGridShapeKey as wi,dataGridTracksKey as Ti,parseDataGridWidth as Ei}from"./data-grid-model.js";import{AdwDataGrid as Di,ROW_ACTIVATED as Oi}from"./adw-data-grid.js";import{padForSystemInsets as ki,padSheetForSystemInsets as Ai}from"./system-insets.js";import{labelDisplayText as ji,labelMarkupIsUnparseable as Mi}from"@gjsify/adwaita-core";const Ni={AdwPreferencesPage:N,AdwPreferencesGroup:M,AdwActionRow:i,AdwSwitchRow:z,AdwEntryRow:b,AdwPasswordEntryRow:A,GtkEntry:Or,AdwComboRow:_,GtkDropDown:Z,AdwSpinRow:I,AdwSliderRow:gi,AdwExpanderRow:x,GtkButton:X,GtkBox:Y,GtkGrid:Rr,GtkListBox:Gr,AdwWindow:K,AdwApplicationWindow:s,AdwDialog:v,GtkActionBar:J,AdwBin:u,GtkOverlay:Qr,GtkRevealer:ei,GtkScrolledWindow:ni,GtkWindow:o,GtkApplicationWindow:ri,GtkStack:oi,GtkToggleButton:mi,GtkCheckButton:Q,GtkDrawingArea:$,GtkFrame:zr,GtkSeparator:ii,GtkTextView:ui,GtkLabel:n,AdwImageButton:y,GtkMenuButton:Yr,GtkImage:t,AdwBanner:l,AdwAvatar:c,AdwWindowTitle:S,AdwClamp:g,AdwHeaderBar:C,AdwToolbarView:U,AdwWrapBox:q,AdwDataGrid:Di,AdwSpinner:wn,AdwStatusPage:R,AdwButtonRow:f,AdwButtonContent:d,AdwSplitButton:L,AdwToggleGroup:H,AdwShortcutLabel:P,AdwViewStack:w,AdwViewSwitcher:W,AdwViewSwitcherBar:G,AdwInlineViewSwitcher:T,AdwTabView:B,AdwCarousel:p,AdwCarouselIndicatorDots:m,AdwCarouselIndicatorLines:h,AdwNavigationPage:D,AdwNavigationView:O,AdwNavigationSplitView:E,AdwOverlaySplitView:k,AdwSidebar:F,AdwBottomSheet:a,AdwToastOverlay:V,AdwAboutDialog:r,AdwPreferencesDialog:j};let Pi=!1;function registerAdwaitaElements(){if(!Pi&&typeof registerElement==`function`){for(let[ee,e]of Object.entries(Ni))registerElement(ee,()=>e);Pi=!0}}export{Xe as ABOUT_CLOSED,Ze as ACTIVATED,Oe as ADWAITA_ICON_GRID,ar as ADWAITA_NS_ACCENT_RULES,Pt as ADW_DIALOG_CLASS,Ft as ADW_DIALOG_CLOSED,It as ADW_DIALOG_CLOSE_ATTEMPT,Ge as ADW_DIALOG_PRESENTATION_MODES,st as ADW_WINDOW_CLASS,ut as AVATAR_DEFAULT_ICON,r as AdwAboutDialog,i as AdwActionRow,Qe as AdwAlertDialog,$e as AdwAlertResponses,s as AdwApplicationWindow,c as AdwAvatar,l as AdwBanner,u as AdwBin,a as AdwBottomSheet,ee as AdwBreakpoint,d as AdwButtonContent,f as AdwButtonRow,p as AdwCarousel,m as AdwCarouselIndicatorDots,h as AdwCarouselIndicatorLines,g as AdwClamp,_ as AdwComboRow,Di as AdwDataGrid,v as AdwDialog,b as AdwEntryRow,x as AdwExpanderRow,C as AdwHeaderBar,y as AdwImageButton,T as AdwInlineViewSwitcher,D as AdwNavigationPage,E as AdwNavigationSplitView,O as AdwNavigationView,k as AdwOverlaySplitView,A as AdwPasswordEntryRow,j as AdwPreferencesDialog,M as AdwPreferencesGroup,N as AdwPreferencesPage,P as AdwShortcutLabel,F as AdwSidebar,yn as AdwSidebarItem,bn as AdwSidebarSection,gi as AdwSliderRow,I as AdwSpinRow,wn as AdwSpinner,L as AdwSplitButton,rn as AdwSplitViewBase,R as AdwStatusPage,z as AdwSwitchRow,Rn as AdwTabPage,B as AdwTabView,Xn as AdwToast,V as AdwToastOverlay,Zn as AdwToastQueue,$n as AdwToggle,H as AdwToggleGroup,U as AdwToolbarView,w as AdwViewStack,Xt as AdwViewStackPage,W as AdwViewSwitcher,G as AdwViewSwitcherBar,Qt as AdwViewSwitcherBase,K as AdwWindow,ct as AdwWindowBase,S as AdwWindowTitle,q as AdwWrapBox,mt as BUTTON_CLICKED,et as CLOSE_ATTEMPT,qn as CLOSE_PAGE,yt as CarouselScrollSync,Mt as ComboState,vi as DATA_GRID_HEADER_CELL_CLASS,yi as DATA_GRID_HEADER_ROW_CLASS,bi as DATA_GRID_SECTION_CELL_CLASS,dt as DEFAULT_AVATAR_SIZE,ur as DEFAULT_BOX_SPACING,bt as DEFAULT_CAROUSEL_PAGE_WIDTH,ft as DEFAULT_CLAMP_MAX_SIZE,Ke as DEFAULT_DIALOG_PRESENTATION_MODE,ze as DEFAULT_GTK_IMAGE_SIZE,Lt as DEFAULT_ICON_BUTTON_ICON_SIZE,ke as DEFAULT_ICON_COLOR,Ae as DEFAULT_ICON_COLOR_DARK,oe as DEFAULT_ICON_PIXEL_SIZE,Br as DEFAULT_LIST_SELECTION_MODE,Be as DEFAULT_REVEALER_TRANSITION_DURATION,jn as DEFAULT_SCROLLBAR_POLICY,pt as DEFAULT_SPINNER_SIZE,Ve as DEFAULT_STACK_TRANSITION_DURATION,Qn as DEFAULT_TOAST_TIMEOUT,Tr as DRAWING_AREA_REFUSAL,Er as ENTRY_ACTIVATE,Dr as ENTRY_CHANGED,Tn as GROUP_DIVIDER_API,ae as GTK_ALIGN,_r as GTK_BUTTON_CLICKED,vr as GTK_BUTTON_LABEL_CLASS,br as GTK_CHECK_BUTTON_ACTIVATE,xr as GTK_CHECK_BUTTON_CHECKED_CLASS,Sr as GTK_CHECK_BUTTON_INCONSISTENT_CLASS,Cr as GTK_CHECK_BUTTON_TOGGLED,se as GTK_ICON_SIZE_NICKS,ce as GTK_ICON_SIZE_PIXELS,Mn as GTK_POLICY_TYPES,He as GTK_REVEALER_TRANSITIONS,Vr as GTK_SELECTION_MODES,Ue as GTK_STACK_TRANSITIONS,fi as GTK_TOGGLE_BUTTON_CHECKED_CLASS,pi as GTK_TOGGLE_BUTTON_TOGGLED,li as GTK_WRAP_MODES,J as GtkActionBar,ri as GtkApplicationWindow,Y as GtkBox,X as GtkButton,Q as GtkCheckButton,$ as GtkDrawingArea,Z as GtkDropDown,Or as GtkEntry,zr as GtkFrame,Rr as GtkGrid,t as GtkImage,n as GtkLabel,Gr as GtkListBox,Yr as GtkMenuButton,Qr as GtkOverlay,Zr as GtkPopoverMenu,ei as GtkRevealer,ni as GtkScrolledWindow,ii as GtkSeparator,oi as GtkStack,ai as GtkStackPage,ui as GtkTextView,mi as GtkToggleButton,o as GtkWindow,Ne as ICON_FALLBACK_NAME,Kr as LIST_BOX_ROW_ACTIVATED,qr as LIST_BOX_ROW_SELECTED,Jr as LIST_ROW_SELECTED_CLASS,Xr as MENU_ITEM_ACTIVATED,In as MENU_TAPPED,Rt as NOTIFY_ACTIVATES_DEFAULT,Ln as NOTIFY_ACTIVE,ht as NOTIFY_BUTTON_CONTENT_CAN_SHRINK,gt as NOTIFY_BUTTON_CONTENT_ICON_NAME,_t as NOTIFY_BUTTON_CONTENT_LABEL,vt as NOTIFY_BUTTON_CONTENT_USE_UNDERLINE,wr as NOTIFY_CHECK_ACTIVE,yr as NOTIFY_DROP_DOWN_SELECTED,zt as NOTIFY_EDITABLE,Kt as NOTIFY_ENABLE_EXPANSION,kr as NOTIFY_ENTRY_EDITABLE,Ar as NOTIFY_ENTRY_MAX_LENGTH,Mr as NOTIFY_ENTRY_TEXT,Nr as NOTIFY_ENTRY_TEXT_LENGTH,qt as NOTIFY_EXPANDED,ye as NOTIFY_HEXPAND,Bt as NOTIFY_MAX_LENGTH,kt as NOTIFY_N_PAGES,tt as NOTIFY_OPEN,jr as NOTIFY_PLACEHOLDER_TEXT,At as NOTIFY_POSITION,ti as NOTIFY_REVEAL_CHILD,Nt as NOTIFY_SELECTED,Jn as NOTIFY_SELECTED_PAGE,Vt as NOTIFY_SHOW_APPLY_BUTTON,Jt as NOTIFY_SHOW_ENABLE_SWITCH,an as NOTIFY_SHOW_SIDEBAR,xn as NOTIFY_SIDEBAR_SELECTED,_i as NOTIFY_SLIDER_VALUE,si as NOTIFY_STACK_VISIBLE_CHILD,ci as NOTIFY_STACK_VISIBLE_CHILD_NAME,Ht as NOTIFY_TEXT,Ut as NOTIFY_TEXT_LENGTH,di as NOTIFY_TEXT_VIEW_TEXT,hi as NOTIFY_TOGGLE_ACTIVE,er as NOTIFY_TOGGLE_SELECTED,Sn as NOTIFY_VALUE,be as NOTIFY_VEXPAND,$t as NOTIFY_VIEW_SELECTED,Zt as NOTIFY_VISIBLE_CHILD,on as NOTIFY_VISIBLE_PAGE,Yt as NS_EXPANDER_ARROW_DISABLED_OPACITY,en as NsNavigationSplitViewState,tn as NsOverlaySplitViewState,Yn as PAGES_CHANGED,jt as PAGE_CHANGED,le as PIXEL_SIZE_UNSET,sn as PREFERENCES_CLOSED,Oi as ROW_ACTIVATED,nt as SHEET_CLOSE,rt as SHEET_CONTENT_BOTTOM_GAP,cn as SHORTCUT_LABEL_CAP_TEXT_CLASS,ln as SHORTCUT_LABEL_CLASS,un as SHORTCUT_LABEL_DIMMED_CLASS,dn as SHORTCUT_LABEL_DISABLED_CLASS,fn as SHORTCUT_LABEL_KEYCAP_CLASS,pn as SHORTCUT_LABEL_KEYS_CLASS,mn as SHORTCUT_LABEL_SIDE_CLASS,hn as SHORTCUT_LABEL_SPACED_CLASS,Wt as SIGNAL_APPLY,Gt as SIGNAL_ENTRY_ACTIVATED,me as SimpleAction,he as SimpleActionGroup,Cn as SpinState,tr as ToggleGroupState,nr as WINDOW_BACKGROUND,ge as activateWidgetAction,e as addBreakpoints,Se as adwaitaColorScheme,or as adwaitaNsAccentColor,sr as adwaitaNsAccentCss,cr as applyAdwaitaNsAccent,de as applyConstructProps,xt as applyMarkerClasses,zn as applyTabViewVisibility,En as assertPopupMenuAssignable,at as attachRowPressFeedback,lt as avatarInitials,it as bottomSheetInsetPadding,ot as bottomSheetPanel,dr as boxChildTrack,fr as boxSpacingChanges,pr as boxTrackPlan,hr as buttonSlotAfterWrite,gr as buttonSlotDetaches,St as carouselDotClasses,Ct as carouselNotifyPayload,wt as carouselPositionAtOffset,Tt as carouselScrollOffset,lr as clearAdwaitaNsAccent,Pe as compiledIconNames,rr as configureSystemBars,Et as createCarouselState,Bn as createTabViewState,xi as dataGridCellClass,Si as dataGridItemSpec,Ci as dataGridRowClass,wi as dataGridShapeKey,Ti as dataGridTracksKey,qe as dialogPresentationMode,te as evaluateBreakpointCondition,je as extractIconPaths,Me as extractPathData,Dn as fillPopupMenu,_e as findActionGroup,Je as findDialogHost,Pr as gridChildAt,Fr as gridGap,Ir as gridSpacing,Lr as gridTrackCounts,Fe as iconValueKind,Dt as indicatorMarkerClasses,ve as insertActionGroup,ue as isGtkIconSizeNick,Ie as isIconAvailable,Ce as isThemeIconColor,ji as labelDisplayText,Mi as labelMarkupIsUnparseable,pe as lengthValue,mr as normalizeBoxSpacing,Ot as normalizeCarouselPageWidth,Nn as normalizePolicy,fe as nsAlignment,ne as observeViewSize,re as observeWindowSize,we as onAdwaitaColorSchemeChanged,On as openPopupMenu,ki as padForSystemInsets,Ai as padSheetForSystemInsets,ie as parseBreakpointCondition,Ei as parseDataGridWidth,Pn as policyScrolls,kn as refuseMenuString,registerAdwaitaElements,Re as renderSymbolicIcon,Le as resolveIconSource,$r as revealerChildVisibility,Fn as scrollOrientationFor,Hr as selectionAfterModeChange,Ur as selectionAfterTap,Wr as selectionMode,Te as setAdwaitaColorScheme,gn as shortcutLabelDirection,_n as shortcutLabelPlatform,vn as shortcutLabelRenderPlan,An as showMenuPopup,nn as splitViewColumns,Ye as surfaceSize,ir as systemBarsConfig,Vn as tabBarVisibility,Hn as tabCloseVisibilities,Un as tabLabelText,Wn as tabPageVisibilities,Gn as tabTooltipText,Kn as tabViewNotifyPayload,Ee as themeIconColor,De as toggleAdwaitaColorScheme,We as transitionNick,xe as withGtkWidgetLayout};
@@ -0,0 +1 @@
1
+ import"../_virtual/_rolldown/runtime.js";import{labelMarkupFace as e}from"./label-markup.js";import{stripMnemonic as t}from"@gjsify/adwaita-core";const n=new WeakMap;let r;function tappableSpan(e){r===void 0&&(r=android.text.style.ClickableSpan.extend({onClick(){this.tap?.()},updateDrawState(){}}));let t=new r;return t.tap=e,t}function nativeTextViewOf(e){return e.nativeTextViewProtected??void 0}function labelMarkupHoldNative(e,t){if(android===void 0)return!1;let r=n.delete(e);return t!==null&&n.set(e,t),(r||t!==null)&&nativeTextViewOf(e)!==void 0&&e._setNativeText(),!0}function labelMarkupDrawNative(r,i){if(android===void 0||i)return!1;let a=n.get(r);if(a===void 0)return!1;let o=nativeTextViewOf(r);if(o===void 0)return!1;let{Typeface:s}=android.graphics,c=android.text.style,l=android.text.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE,u=new android.text.SpannableStringBuilder,d=!1,f=0;for(let n of a.render.runs){let r=a.mnemonics?t(n.text):n.text;if(r.length===0)continue;u.insert(f,r);let i=f+r.length,o=n.link,p=e(n.style,o!==null);if(p.family!==void 0&&u.setSpan(new c.TypefaceSpan(p.family),f,i,l),p.bold||p.italic){let e=p.bold&&p.italic?s.BOLD_ITALIC:p.bold?s.BOLD:s.ITALIC;u.setSpan(new c.StyleSpan(e),f,i,l)}p.underline&&u.setSpan(new c.UnderlineSpan,f,i,l),p.strikethrough&&u.setSpan(new c.StrikethroughSpan,f,i,l),p.scale!==1&&u.setSpan(new c.RelativeSizeSpan(p.scale),f,i,l),p.script===`sub`?u.setSpan(new c.SubscriptSpan,f,i,l):p.script===`sup`&&u.setSpan(new c.SuperscriptSpan,f,i,l),o!==null&&(d=!0,u.setSpan(tappableSpan(()=>a.onLinkTap(o)),f,i,l)),f=i}return r._setTappableState(d),o.setText(u),!0}export{labelMarkupDrawNative,labelMarkupHoldNative};
@@ -0,0 +1 @@
1
+ import"../_virtual/_rolldown/runtime.js";function labelMarkupHoldNative(e,t){return!1}function labelMarkupDrawNative(e,t){return!1}export{labelMarkupDrawNative,labelMarkupHoldNative};
@@ -0,0 +1 @@
1
+ import"../_virtual/_rolldown/runtime.js";function labelMarkupHoldNative(e,t){return!1}function labelMarkupDrawNative(e,t){return!1}export{labelMarkupDrawNative,labelMarkupHoldNative};
@@ -1 +1 @@
1
- import"../_virtual/_rolldown/runtime.js";import{stripMnemonic as e}from"@gjsify/adwaita-core";import{FormattedString as t,Span as n}from"@nativescript/core";function decoration(e,t){let n=e.underline||t;if(n&&e.strikethrough)return`underline line-through`;if(n)return`underline`;if(e.strikethrough)return`line-through`}const r={thin:`100`,ultralight:`200`,light:`300`,normal:`normal`,medium:`500`,semibold:`600`,bold:`bold`,ultrabold:`800`,heavy:`900`},i=new Set([`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`]);function applySpanAttributes(e,t){for(let[n,a]of Object.entries(t))switch(n){case`font_family`:case`family`:e.fontFamily=a;break;case`font_style`:case`style`:(a===`normal`||a===`italic`)&&(e.fontStyle=a);break;case`font_weight`:case`weight`:{let t=r[a]??(i.has(a)?a:void 0);t!==void 0&&(e.fontWeight=t);break}case`underline`:a!==`none`&&(e.textDecoration=`underline`);break;case`strikethrough`:a!==`false`&&a!==`none`&&(e.textDecoration=`line-through`);break;default:break}}function labelMarkupSpan(t,r,i){let a=new n;a.text=r?e(t.text):t.text;for(let e of t.style.spans)applySpanAttributes(a,e);t.style.monospace&&(a.fontFamily=`monospace`),t.style.bold&&(a.fontWeight=`bold`),t.style.italic&&(a.fontStyle=`italic`);let o=decoration(t.style,t.link!==null);o!==void 0&&(a.textDecoration=o),t.style.script!==null&&(a.style.verticalAlignment=t.style.script);let s=t.style.sizeSteps;if(i!==void 0&&(s!==0||t.style.script!==null)){let e=t.style.script===null?1:.8333333333333334;a.fontSize=i*(s>0?1.2:.8333333333333)**Math.abs(s)*e}return a}function labelMarkupNeedsSpans(e){return e.links.length>0?!0:e.runs.some(e=>e.link!==null||styled(e.style))}function styled(e){return e.bold||e.italic||e.underline||e.strikethrough||e.monospace||e.script!==null||e.sizeSteps!==0||e.spans.length>0}function labelMarkupFormattedString(e,r,i,a){let o=new t;for(let t of e.runs){let e=labelMarkupSpan(t,r,i);if(t.link!==null){let r=t.link;e.addEventListener(n.linkTapEvent,()=>a(r))}o.spans.push(e)}return o}export{labelMarkupFormattedString,labelMarkupNeedsSpans,labelMarkupSpan};
1
+ import"../_virtual/_rolldown/runtime.js";import{stripMnemonic as e}from"@gjsify/adwaita-core";import{FormattedString as t,Span as n}from"@nativescript/core";const r=1.2,i=.8333333333333,a=1/1.2;function decoration(e,t){let n=e.underline||t;if(n&&e.strikethrough)return`underline line-through`;if(n)return`underline`;if(e.strikethrough)return`line-through`}const o={thin:`100`,ultralight:`200`,light:`300`,normal:`normal`,medium:`500`,semibold:`600`,bold:`bold`,ultrabold:`800`,heavy:`900`},s=new Set([`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`]);function labelMarkupFace(e,t){let n,c=!1,l=!1,u=!1,d=!1;for(let t of e.spans)for(let[e,r]of Object.entries(t))switch(e){case`font_family`:case`family`:n=r;break;case`font_style`:case`style`:r===`normal`?l=!1:r===`italic`&&(l=!0);break;case`font_weight`:case`weight`:{let e=o[r]??r;c=e===`bold`||s.has(e)&&Number(e)>=600;break}case`underline`:u=r!==`none`;break;case`strikethrough`:d=r!==`false`&&r!==`none`;break;default:break}e.monospace&&(n=`monospace`),e.bold&&(c=!0),e.italic&&(l=!0),e.underline&&(u=!0),e.strikethrough&&(d=!0);let f=Math.abs(e.sizeSteps);return{family:n,bold:c,italic:l,underline:u||t,strikethrough:d,script:e.script,scale:(e.sizeSteps>0?r:i)**f*(e.script===null?1:a)}}function applySpanAttributes(e,t){for(let[n,r]of Object.entries(t))switch(n){case`font_family`:case`family`:e.fontFamily=r;break;case`font_style`:case`style`:(r===`normal`||r===`italic`)&&(e.fontStyle=r);break;case`font_weight`:case`weight`:{let t=o[r]??(s.has(r)?r:void 0);t!==void 0&&(e.fontWeight=t);break}case`underline`:r!==`none`&&(e.textDecoration=`underline`);break;case`strikethrough`:r!==`false`&&r!==`none`&&(e.textDecoration=`line-through`);break;default:break}}function labelMarkupSpan(t,o,s){let c=new n;c.text=o?e(t.text):t.text;for(let e of t.style.spans)applySpanAttributes(c,e);t.style.monospace&&(c.fontFamily=`monospace`),t.style.bold&&(c.fontWeight=`bold`),t.style.italic&&(c.fontStyle=`italic`);let l=decoration(t.style,t.link!==null);l!==void 0&&(c.textDecoration=l),t.style.script!==null&&(c.style.verticalAlignment=t.style.script);let u=t.style.sizeSteps;if(s!==void 0&&(u!==0||t.style.script!==null)){let e=t.style.script===null?1:a;c.fontSize=s*(u>0?r:i)**Math.abs(u)*e}return c}function labelMarkupNeedsSpans(e){return e.links.length>0?!0:e.runs.some(e=>e.link!==null||styled(e.style))}function styled(e){return e.bold||e.italic||e.underline||e.strikethrough||e.monospace||e.script!==null||e.sizeSteps!==0||e.spans.length>0}function labelMarkupFormattedString(e,r,i,a){let o=new t;for(let t of e.runs){let e=labelMarkupSpan(t,r,i);if(t.link!==null){let r=t.link;e.addEventListener(n.linkTapEvent,()=>a(r))}o.spans.push(e)}return o}export{labelMarkupFace,labelMarkupFormattedString,labelMarkupNeedsSpans,labelMarkupSpan};
@@ -0,0 +1 @@
1
+ import"../_virtual/_rolldown/runtime.js";import{assertPopupMenuAssignable as e,refuseMenuString as t}from"./popup-menu.js";import{GjsifyMenu as n,menuTree as r,readMenuModelWrite as i,watchMenuModel as a}from"@gjsify/adwaita-core";var MenuSlot=class{widget;onItemsChanged;_authored=new n;_model=null;_tree=[];_unwatch=null;constructor(e,t){this.widget=e,this.onItemsChanged=t}get model(){return this._model}get tree(){return this._tree}get isEmpty(){return this._tree.length===0}write(n){t(n,this.widget);let a=i(n,this._authored);a!==null&&e(r(a)),this._adopt(a)}_adopt(e){this._unwatch?.(),this._unwatch=null,this._model=e,this._tree=e===null?[]:r(e),e!==null&&(this._unwatch=a(e,()=>{this._adopt(this._model),this.onItemsChanged()}))}};export{MenuSlot};
@@ -1 +1 @@
1
- import"../_virtual/_rolldown/runtime.js";import{activateViewMenuItem as e,menuActionsOfView as t}from"./actions.js";import{openPopupMenu as n}from"./popup-menu.js";import{createPopupMenuSurface as r}from"./popup-menu-surface.js";import{menuItemAt as i}from"@gjsify/adwaita-core";let a=null;function setPopupMenuSurfaceForTesting(e){a=e}function showMenuPopup(o,s){let c=(a??r)(o);return n({surface:c,model:s.model,actions:s.actions??t(o,s.model),activate(t){let n=i(s.model,t);n!==null&&(e(o,n),s.onActivated?.(n,t))},onDismiss:s.onDismiss}),{dismiss:()=>c.dismiss()}}export{setPopupMenuSurfaceForTesting,showMenuPopup};
1
+ import"../_virtual/_rolldown/runtime.js";import{activateViewMenuItem as e,menuActionsOfView as t}from"./actions.js";import{openPopupMenu as n}from"./popup-menu.js";import{createPopupMenuSurface as r}from"./popup-menu-surface.js";import{menuItemAt as i}from"@gjsify/adwaita-core";let a=null;function setPopupMenuSurfaceForTesting(e){a=e}function showMenuPopup(o,s){let c=(a??r)(o);return n({surface:c,tree:s.tree,actions:s.actions??t(o,s.tree),activate(t){let n=i(s.tree,t);n!==null&&(e(o,n),s.onActivated?.(n,t))},onDismiss:s.onDismiss}),{dismiss:()=>c.dismiss()}}export{setPopupMenuSurfaceForTesting,showMenuPopup};
@@ -1 +1 @@
1
- import"../_virtual/_rolldown/runtime.js";import{assertPopupMenuPlan as e,planPopupMenu as t}from"@gjsify/adwaita-core";const n=28;function fillPopupMenu(e,t,n){let r={next:1,paths:new Map};return fillLevel(e,t,n,r),r.paths}function fillLevel(e,t,n,r){let i=0;t.groups.forEach((t,a)=>{let o=a+1,s;for(let a of t.entries){let t=r.next++;if(a.kind===`submenu`){fillLevel(e.addSubMenu(o,t,i++,a.title),a.level,n,r);continue}let c=e.add(o,t,i++,a.title);r.paths.set(t,a.path),a.enabled||c.setEnabled(!1),a.checkable?(c.setCheckable(!0),c.setChecked(a.checked)):a.role===`radio`&&a.checked&&(s=c)}t.checkable===`exclusive`&&e.setGroupCheckable(o,!0,!0),s?.setChecked(!0)}),t.groups.length>1&&n>=28&&e.setGroupDividerEnabled?.(!0)}function openPopupMenu(n){let{surface:r}=n,i=t(n.model,n.actions);e(i);let a=fillPopupMenu(r.menu,i.level,r.apiLevel);return r.onItemClick(e=>{let t=a.get(e);return t===void 0?!1:(n.activate(t),!0)}),r.onDismiss(()=>n.onDismiss?.()),r.show(),i}function assertPopupMenuAssignable(n){e(t(n))}function refuseMenuString(e,t){if(typeof e==`string`)throw TypeError(`${t}.menuModel takes a menu model, not the string ${JSON.stringify(e.slice(0,40))}. NativeScript's XML Builder writes an attribute straight onto the property, so a menuModel="…" in a view file arrives here as text — which this port deliberately does not parse (ADR 0042). Assign the model from code, or keep this menu on a surface whose attribute door is open.`)}export{n as GROUP_DIVIDER_API,assertPopupMenuAssignable,fillPopupMenu,openPopupMenu,refuseMenuString};
1
+ import"../_virtual/_rolldown/runtime.js";import{assertPopupMenuPlan as e,planPopupMenu as t}from"@gjsify/adwaita-core";const n=28;function fillPopupMenu(e,t,n){let r={next:1,paths:new Map};return fillLevel(e,t,n,r),r.paths}function fillLevel(e,t,n,r){let i=0;t.groups.forEach((t,a)=>{let o=a+1,s;for(let a of t.entries){let t=r.next++;if(a.kind===`submenu`){fillLevel(e.addSubMenu(o,t,i++,a.title),a.level,n,r);continue}let c=e.add(o,t,i++,a.title);r.paths.set(t,a.path),a.enabled||c.setEnabled(!1),a.checkable?(c.setCheckable(!0),c.setChecked(a.checked)):a.role===`radio`&&a.checked&&(s=c)}t.checkable===`exclusive`&&e.setGroupCheckable(o,!0,!0),s?.setChecked(!0)}),t.groups.length>1&&n>=28&&e.setGroupDividerEnabled?.(!0)}function openPopupMenu(n){let{surface:r}=n,i=t(n.tree,n.actions);e(i);let a=fillPopupMenu(r.menu,i.level,r.apiLevel);return r.onItemClick(e=>{let t=a.get(e);return t===void 0?!1:(n.activate(t),!0)}),r.onDismiss(()=>n.onDismiss?.()),r.show(),i}function assertPopupMenuAssignable(n){e(t(n))}function refuseMenuString(e,t){if(typeof e==`string`)throw TypeError(`${t}.menuModel takes a menu model, not the string ${JSON.stringify(e.slice(0,40))}. NativeScript's XML Builder writes an attribute straight onto the property, so a menuModel="…" in a view file arrives here as text — which this port deliberately does not parse (ADR 0042). Assign the model from code, or keep this menu on a surface whose attribute door is open.`)}export{n as GROUP_DIVIDER_API,assertPopupMenuAssignable,fillPopupMenu,openPopupMenu,refuseMenuString};
@@ -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 isDeclaredChange(e,t,n,r,i){return e.changed===void 0?n!==t:e.changed(t,n,r,i)}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=new Set,a={canonicalOf:n,seamOwned:r,declaredSignals:i,routeD:!1,giConnect:void 0,giDisconnect:void 0,giEmit:void 0},o=a;for(let t of declarationsOf(e)){for(let[e,r]of t.canonicalOf)n.set(e,r);for(let e of t.seamOwned)r.add(e);for(let e of t.declaredSignals)i.add(e);t.routeD&&(o.routeD=!0),t.giConnect!==void 0&&(o.giConnect=t.giConnect),t.giDisconnect!==void 0&&(o.giDisconnect=t.giDisconnect),t.giEmit!==void 0&&(o.giEmit=t.giEmit)}return _.set(e,a),a}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,i=new Set;for(let[e,n]of Object.entries(t?.Properties??{})){for(let t of spellingsOf(e))r.set(t,e);isSeamOwned(n)&&i.add(e)}let a={meta:t,klass:e,prototype:e.prototype,canonicalOf:r,seamOwned:i,declaredSignals:new Set(Object.keys(t?.Signals??{})),routers:n,realized:!1,routeD:!1};return m.set(e,a),a}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 isSeamOwned(e){return e.kind===`object`||e.explicitNotify===!0}function seamOwnedDescriptor(e,t,n){let r=defaultValueOf(t);return{configurable:!0,enumerable:!1,get(){let t=valuesOf(this);return t.has(e)||t.set(e,r),t.get(e)},set(r){let i=coerceDeclared(e,t,r,this),a=valuesOf(this);a.has(e)&&!isDeclaredChange(t,i,a.get(e),r,this)||(a.set(e,i),t.explicitNotify!==!0&&n(this,e),t.afterNotify?.(this))}}}function notifyThrough(e,t){e.notify(t)}function wrapRouteDAccessors(e){let{meta:t,prototype:n}=e;for(let[e,r]of Object.entries(t.Properties??{})){let i=r.changed!==void 0||r.afterNotify!==void 0,a=isSeamOwned(r);if(!(!a&&!i&&r.kind===`string`&&r.normalize===void 0))for(let o of spellingsOf(e)){let s=Object.getOwnPropertyDescriptor(n,o);if(s?.set===void 0||s.get===void 0)throw Error(`Registering '${t.GTypeName}' installed no accessor for '${o}', 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.`);if(a){Object.defineProperty(n,o,seamOwnedDescriptor(e,r,notifyThrough));continue}let{get:c,set:l}=s;Object.defineProperty(n,o,{...s,set(t){let n=coerceDeclared(e,r,t,this);if(!i){l.call(this,n);return}let a=c.call(this);l.call(this,n);let o=c.call(this)!==a,s=r.changed===void 0?o:r.changed(n,a,t,this);s&&!o&&notifyThrough(this,e),s&&r.afterNotify?.(this)}})}}}function installPureJsProperties(e){let{meta:t,prototype:n}=e;for(let[e,r]of Object.entries(t.Properties??{})){let t=seamOwnedDescriptor(e,r,emitPureNotify);for(let r of spellingsOf(e))r in n||Object.defineProperty(n,r,t)}installPureNotify(e)}function emitPureNotify(e,t){emitDeclared(e,`notify::${t}`,[])}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 pushDeclared(e,t,n){let{canonicalOf:r,seamOwned:i}=resolvedFor(e.constructor),a=r.get(t);if(a===void 0||!i.has(a))throw TypeError(`${e.constructor.name} cannot push '${t}': only a property the seam owns on both legs can be moved without notifying — declare it as object-kind or with explicitNotify. The pushable ones are ${[...i].join(`, `)||`(none)`}.`);valuesOf(e).set(a,n)}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,pushDeclared,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 isDeclaredChange(e,t,n,r,i){return e.changed===void 0?n!==t:e.changed(t,n,r,i)}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=new Set,a={canonicalOf:n,seamOwned:r,declaredSignals:i,routeD:!1,giConnect:void 0,giDisconnect:void 0,giEmit:void 0},o=a;for(let t of declarationsOf(e)){for(let[e,r]of t.canonicalOf)n.set(e,r);for(let e of t.seamOwned)r.add(e);for(let e of t.declaredSignals)i.add(e);t.routeD&&(o.routeD=!0),t.giConnect!==void 0&&(o.giConnect=t.giConnect),t.giDisconnect!==void 0&&(o.giDisconnect=t.giDisconnect),t.giEmit!==void 0&&(o.giEmit=t.giEmit)}return _.set(e,a),a}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,i=new Set;for(let[e,n]of Object.entries(t?.Properties??{})){for(let t of spellingsOf(e))r.set(t,e);isSeamOwned(n)&&i.add(e)}let a={meta:t,klass:e,prototype:e.prototype,canonicalOf:r,seamOwned:i,declaredSignals:new Set(Object.keys(t?.Signals??{})),routers:n,realized:!1,routeD:!1};return m.set(e,a),a}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 isSeamOwned(e){return e.kind===`object`||e.explicitNotify===!0}function seamOwnedDescriptor(e,t,n){let r=defaultValueOf(t);return{configurable:!0,enumerable:!1,get(){let t=valuesOf(this);return t.has(e)||t.set(e,r),t.get(e)},set(i){let a=coerceDeclared(e,t,i,this),o=valuesOf(this);isDeclaredChange(t,a,o.has(e)?o.get(e):r,i,this)&&(o.set(e,a),t.explicitNotify!==!0&&n(this,e),t.afterNotify?.(this))}}}function notifyThrough(e,t){e.notify(t)}function wrapRouteDAccessors(e){let{meta:t,prototype:n}=e;for(let[e,r]of Object.entries(t.Properties??{})){let i=r.changed!==void 0||r.afterNotify!==void 0,a=isSeamOwned(r);if(!(!a&&!i&&r.kind===`string`&&r.normalize===void 0))for(let o of spellingsOf(e)){let s=Object.getOwnPropertyDescriptor(n,o);if(s?.set===void 0||s.get===void 0)throw Error(`Registering '${t.GTypeName}' installed no accessor for '${o}', 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.`);if(a){Object.defineProperty(n,o,seamOwnedDescriptor(e,r,notifyThrough));continue}let{get:c,set:l}=s;Object.defineProperty(n,o,{...s,set(t){let n=coerceDeclared(e,r,t,this);if(!i){l.call(this,n);return}let a=c.call(this);l.call(this,n);let o=c.call(this)!==a,s=r.changed===void 0?o:r.changed(n,a,t,this);s&&!o&&notifyThrough(this,e),s&&r.afterNotify?.(this)}})}}}function installPureJsProperties(e){let{meta:t,prototype:n}=e;for(let[e,r]of Object.entries(t.Properties??{})){let t=seamOwnedDescriptor(e,r,emitPureNotify);for(let r of spellingsOf(e))r in n||Object.defineProperty(n,r,t)}installPureNotify(e)}function emitPureNotify(e,t){emitDeclared(e,`notify::${t}`,[])}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 pushDeclared(e,t,n){let{canonicalOf:r,seamOwned:i}=resolvedFor(e.constructor),a=r.get(t);if(a===void 0||!i.has(a))throw TypeError(`${e.constructor.name} cannot push '${t}': only a property the seam owns on both legs can be moved without notifying — declare it as object-kind or with explicitNotify. The pushable ones are ${[...i].join(`, `)||`(none)`}.`);valuesOf(e).set(a,n)}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,pushDeclared,readDeclaredValue,withProperties,withSignals};
@@ -1 +1 @@
1
- import"../_virtual/_rolldown/runtime.js";import{AdwStyledLayoutBase as e}from"./styled-layout-base.js";import{singleChildCellIsStar as t}from"./single-child-cell.js";import{GridLayout as n,ItemSpec as r}from"@nativescript/core";var AdwSingleChildBase=class extends e{_child=null;constructor(){super(),this.addColumn(new r(1,`star`)),this.addRow(new r(1,`star`))}_columnIsStar=!0;onLoaded(){super.onLoaded(),this._syncColumnToAlignment(),this.style.addEventListener(`widthChange`,this._onWidthChangeSyncColumn)}onUnloaded(){this.style.removeEventListener(`widthChange`,this._onWidthChangeSyncColumn),super.onUnloaded()}_onWidthChangeSyncColumn=()=>{this._syncColumnToAlignment()};_syncColumnToAlignment(){let e=t(this.horizontalAlignment,this.width);e!==this._columnIsStar&&(this._columnIsStar=e,this.removeColumns(),this.addColumn(new r(1,e?`star`:`auto`)))}get child(){return this._child}set child(e){let t=e??null;t!==this._child&&(this._child&&=(this._release(this._child),null),t&&(this._child=t,this._adopt(t)))}set_child(e){this.child=e}get_child(){return this._child}_addChildFromBuilder(e,t){this.child=t}_adopt(e){n.setColumn(e,0),n.setRow(e,0),this.insertChild(e,0)}_release(e){this.removeChild(e)}};export{AdwSingleChildBase};
1
+ import"../_virtual/_rolldown/runtime.js";import{AdwStyledLayoutBase as e}from"./styled-layout-base.js";import{singleChildCellIsStar as t}from"./single-child-cell.js";import{GridLayout as n,ItemSpec as r}from"@nativescript/core";var AdwSingleChildBase=class extends e{_child=null;constructor(){super(),this.addColumn(new r(1,`star`)),this.addRow(new r(1,`star`))}_columnIsStar=!0;_rowIsStar=!0;onLoaded(){super.onLoaded(),this._syncColumnToAlignment(),this._syncRowToAlignment(),this.style.addEventListener(`widthChange`,this._onWidthChangeSyncColumn),this.style.addEventListener(`heightChange`,this._onHeightChangeSyncRow)}onUnloaded(){this.style.removeEventListener(`widthChange`,this._onWidthChangeSyncColumn),this.style.removeEventListener(`heightChange`,this._onHeightChangeSyncRow),super.onUnloaded()}_onWidthChangeSyncColumn=()=>{this._syncColumnToAlignment()};_onHeightChangeSyncRow=()=>{this._syncRowToAlignment()};_syncColumnToAlignment(){let e=t(this.horizontalAlignment,this.width);e!==this._columnIsStar&&(this._columnIsStar=e,this.removeColumns(),this.addColumn(new r(1,e?`star`:`auto`)))}_syncRowToAlignment(){let e=t(this.verticalAlignment,this.height);e!==this._rowIsStar&&(this._rowIsStar=e,this.removeRows(),this.addRow(new r(1,e?`star`:`auto`)))}get child(){return this._child}set child(e){let t=e??null;t!==this._child&&(this._child&&=(this._release(this._child),null),t&&(this._child=t,this._adopt(t)))}set_child(e){this.child=e}get_child(){return this._child}_addChildFromBuilder(e,t){this.child=t}_adopt(e){n.setColumn(e,0),n.setRow(e,0),this.insertChild(e,0)}_release(e){this.removeChild(e)}};export{AdwSingleChildBase};
@@ -1 +1 @@
1
- import"../_virtual/_rolldown/runtime.js";function widthIsSettled(e){if(typeof e==`number`)return Number.isFinite(e)&&e>0;if(typeof e!=`object`||!e)return!1;let t=e.value;return typeof t==`number`&&Number.isFinite(t)&&t>0}function singleChildCellIsStar(e,t){return e===`stretch`||widthIsSettled(t)}export{singleChildCellIsStar};
1
+ import"../_virtual/_rolldown/runtime.js";function lengthIsSettled(e){if(typeof e==`number`)return Number.isFinite(e)&&e>0;if(typeof e!=`object`||!e)return!1;let t=e.value;return typeof t==`number`&&Number.isFinite(t)&&t>0}function singleChildCellIsStar(e,t){return e===`stretch`||lengthIsSettled(t)}export{singleChildCellIsStar};
@@ -0,0 +1 @@
1
+ export declare const GtkEntryPropertiesNsTest: () => Promise<void>;
@@ -1,7 +1,9 @@
1
1
  export { assertNativeScript, isNativeScript, isAndroid, isIOS } from '@gjsify/native-platform';
2
- export { NOTIFY_ACTIVE, NOTIFY_TEXT, NOTIFY_TEXT_LENGTH, NOTIFY_MAX_LENGTH, NOTIFY_EDITABLE, NOTIFY_SHOW_APPLY_BUTTON, NOTIFY_ACTIVATES_DEFAULT, SIGNAL_APPLY, SIGNAL_ENTRY_ACTIVATED, ENTRY_ACTIVATE, NOTIFY_ENTRY_TEXT, ComboState, NOTIFY_SELECTED, NOTIFY_DROP_DOWN_SELECTED, SpinState, NOTIFY_VALUE, AdwSliderRow, NOTIFY_SLIDER_VALUE, NOTIFY_EXPANDED, NOTIFY_ENABLE_EXPANSION, NOTIFY_SHOW_ENABLE_SWITCH, NS_EXPANDER_ARROW_DISABLED_OPACITY, AdwImageButton, DEFAULT_ICON_BUTTON_ICON_SIZE, MENU_ITEM_ACTIVATED, DEFAULT_GTK_IMAGE_SIZE, DEFAULT_BOX_SPACING, GTK_BUTTON_CLICKED, GTK_BUTTON_LABEL_CLASS, buttonSlotAfterWrite, buttonSlotDetaches, boxChildTrack, boxTrackPlan, boxSpacingChanges, normalizeBoxSpacing, NOTIFY_REVEAL_CHILD, ADW_DIALOG_CLOSED, ADW_DIALOG_CLOSE_ATTEMPT, LIST_BOX_ROW_ACTIVATED, LIST_BOX_ROW_SELECTED, NOTIFY_HEXPAND, NOTIFY_VEXPAND, withGtkWidgetLayout, NOTIFY_STACK_VISIBLE_CHILD, NOTIFY_STACK_VISIBLE_CHILD_NAME, DRAWING_AREA_REFUSAL, GTK_CHECK_BUTTON_TOGGLED, GTK_CHECK_BUTTON_ACTIVATE, GTK_CHECK_BUTTON_CHECKED_CLASS, GTK_CHECK_BUTTON_INCONSISTENT_CLASS, NOTIFY_CHECK_ACTIVE, GTK_WRAP_MODES, NOTIFY_TEXT_VIEW_TEXT, GTK_TOGGLE_BUTTON_CHECKED_CLASS, GTK_TOGGLE_BUTTON_TOGGLED, NOTIFY_TOGGLE_ACTIVE, labelDisplayText, labelMarkupIsUnparseable, BUTTON_CLICKED, AVATAR_DEFAULT_ICON, DEFAULT_AVATAR_SIZE, avatarInitials, DEFAULT_CLAMP_MAX_SIZE, padForSystemInsets, padSheetForSystemInsets, bottomSheetPanel, AdwDataGrid, ROW_ACTIVATED, dataGridCellClass, dataGridItemSpec, dataGridRowClass, dataGridShapeKey, dataGridTracksKey, parseDataGridWidth, DATA_GRID_HEADER_CELL_CLASS, DATA_GRID_HEADER_ROW_CLASS, DATA_GRID_SECTION_CELL_CLASS, DEFAULT_SPINNER_SIZE, ACTIVATED, MENU_TAPPED, ToggleGroupState, NOTIFY_TOGGLE_SELECTED, applyAdwaitaNsAccent, clearAdwaitaNsAccent, ADWAITA_NS_ACCENT_RULES, adwaitaNsAccentColor, adwaitaNsAccentCss, SHORTCUT_LABEL_CAP_TEXT_CLASS, SHORTCUT_LABEL_CLASS, SHORTCUT_LABEL_DIMMED_CLASS, SHORTCUT_LABEL_DISABLED_CLASS, SHORTCUT_LABEL_KEYCAP_CLASS, SHORTCUT_LABEL_KEYS_CLASS, SHORTCUT_LABEL_SIDE_CLASS, SHORTCUT_LABEL_SPACED_CLASS, shortcutLabelDirection, shortcutLabelPlatform, shortcutLabelRenderPlan, NOTIFY_VISIBLE_CHILD, AdwViewSwitcherBase, NOTIFY_VIEW_SELECTED, DEFAULT_CAROUSEL_PAGE_WIDTH, NOTIFY_POSITION, NOTIFY_VISIBLE_PAGE, AdwSplitViewBase, NOTIFY_SHOW_SIDEBAR, NsNavigationSplitViewState, NsOverlaySplitViewState, splitViewColumns, NOTIFY_SIDEBAR_SELECTED, NOTIFY_OPEN, AdwToast, AdwToastQueue, DEFAULT_TOAST_TIMEOUT, AdwAlertResponses, ABOUT_CLOSED, PREFERENCES_CLOSED, applyConstructProps, nsAlignment, GTK_ALIGN, DEFAULT_ICON_PIXEL_SIZE, GTK_ICON_SIZE_NICKS, GTK_ICON_SIZE_PIXELS, type GtkIconSizeNick, isGtkIconSizeNick, PIXEL_SIZE_UNSET, activateWidgetAction, findActionGroup, insertActionGroup, attachRowPressFeedback, ICON_FALLBACK_NAME, compiledIconNames, iconValueKind, isIconAvailable, resolveIconSource, renderSymbolicIcon, extractIconPaths, extractPathData, ADWAITA_ICON_GRID, DEFAULT_ICON_COLOR, DEFAULT_ICON_COLOR_DARK, adwaitaColorScheme, isThemeIconColor, onAdwaitaColorSchemeChanged, setAdwaitaColorScheme, themeIconColor, toggleAdwaitaColorScheme, AdwBreakpoint, addBreakpoints, evaluateBreakpointCondition, observeViewSize, observeWindowSize, parseBreakpointCondition, registerAdwaitaElements, } from './widgets/index.js';
3
- export type { BoxOrientation, ButtonSlot, ButtonSlotWrite, NotifyEntryTextEventData, AdwComboOption, ComboStateChange, ComboStateListener, NotifyValueEventData, SpinStateChange, SpinStateListener, NotifySliderValueEventData, MenuItemActivatedEventData, MenuTappedEventData, RowActivatedEventData, DataGridItemSpec, NotifyToggleSelectedEventData, ToggleGroupStateChange, ToggleGroupStateListener, AccentRole, AccentRule, ShortcutLabelRenderPlan, ShortcutLabelViewSpec, AdwViewStackPageInfo, NotifyVisibleChildEventData, AdwViewPage, NotifyViewSelectedEventData, NotifyPositionEventData, NotifyVisiblePageEventData, NotifyShowSidebarEventData, NsShowSidebarNotification, NsSplitViewHost, NsSplitViewState, NotifySidebarSelectedEventData, NotifyOpenEventData, AdwToastOptions, AdwToastQueueHandlers, AdwToastQueueOptions, ToastScheduler, ToastTimerHandle, AdwAlertResponse, AdwResponseAppearance, AdwResponseOptions, OrderedConfirmResponses, ConstructProps, SystemInsetEdges, IconValueKind, SymbolicIconOptions, IconPath, AdwColorScheme, AdwBreakpointHandlers, BreakpointBound, BreakpointConditionGroup, BreakpointConditionLeaf, BreakpointConditionNode, BreakpointDimension, BreakpointSize, } from './widgets/index.js';
2
+ export { NOTIFY_ACTIVE, NOTIFY_TEXT, NOTIFY_TEXT_LENGTH, NOTIFY_MAX_LENGTH, NOTIFY_EDITABLE, NOTIFY_SHOW_APPLY_BUTTON, NOTIFY_ACTIVATES_DEFAULT, SIGNAL_APPLY, SIGNAL_ENTRY_ACTIVATED, ENTRY_ACTIVATE, ENTRY_CHANGED, NOTIFY_ENTRY_TEXT, NOTIFY_ENTRY_TEXT_LENGTH, NOTIFY_ENTRY_MAX_LENGTH, NOTIFY_PLACEHOLDER_TEXT, NOTIFY_ENTRY_EDITABLE, ComboState, NOTIFY_SELECTED, NOTIFY_DROP_DOWN_SELECTED, SpinState, NOTIFY_VALUE, AdwSliderRow, NOTIFY_SLIDER_VALUE, NOTIFY_EXPANDED, NOTIFY_ENABLE_EXPANSION, NOTIFY_SHOW_ENABLE_SWITCH, NS_EXPANDER_ARROW_DISABLED_OPACITY, AdwImageButton, DEFAULT_ICON_BUTTON_ICON_SIZE, MENU_ITEM_ACTIVATED, DEFAULT_GTK_IMAGE_SIZE, DEFAULT_BOX_SPACING, GTK_BUTTON_CLICKED, GTK_BUTTON_LABEL_CLASS, buttonSlotAfterWrite, buttonSlotDetaches, boxChildTrack, boxTrackPlan, boxSpacingChanges, normalizeBoxSpacing, NOTIFY_REVEAL_CHILD, ADW_DIALOG_CLOSED, ADW_DIALOG_CLOSE_ATTEMPT, LIST_BOX_ROW_ACTIVATED, LIST_BOX_ROW_SELECTED, NOTIFY_HEXPAND, NOTIFY_VEXPAND, withGtkWidgetLayout, NOTIFY_STACK_VISIBLE_CHILD, NOTIFY_STACK_VISIBLE_CHILD_NAME, DRAWING_AREA_REFUSAL, GTK_CHECK_BUTTON_TOGGLED, GTK_CHECK_BUTTON_ACTIVATE, GTK_CHECK_BUTTON_CHECKED_CLASS, GTK_CHECK_BUTTON_INCONSISTENT_CLASS, NOTIFY_CHECK_ACTIVE, GTK_WRAP_MODES, NOTIFY_TEXT_VIEW_TEXT, GTK_TOGGLE_BUTTON_CHECKED_CLASS, GTK_TOGGLE_BUTTON_TOGGLED, NOTIFY_TOGGLE_ACTIVE, labelDisplayText, labelMarkupIsUnparseable, BUTTON_CLICKED, AVATAR_DEFAULT_ICON, DEFAULT_AVATAR_SIZE, avatarInitials, DEFAULT_CLAMP_MAX_SIZE, padForSystemInsets, padSheetForSystemInsets, bottomSheetPanel, AdwDataGrid, ROW_ACTIVATED, dataGridCellClass, dataGridItemSpec, dataGridRowClass, dataGridShapeKey, dataGridTracksKey, parseDataGridWidth, DATA_GRID_HEADER_CELL_CLASS, DATA_GRID_HEADER_ROW_CLASS, DATA_GRID_SECTION_CELL_CLASS, DEFAULT_SPINNER_SIZE, ACTIVATED, MENU_TAPPED, ToggleGroupState, NOTIFY_TOGGLE_SELECTED, applyAdwaitaNsAccent, clearAdwaitaNsAccent, ADWAITA_NS_ACCENT_RULES, adwaitaNsAccentColor, adwaitaNsAccentCss, SHORTCUT_LABEL_CAP_TEXT_CLASS, SHORTCUT_LABEL_CLASS, SHORTCUT_LABEL_DIMMED_CLASS, SHORTCUT_LABEL_DISABLED_CLASS, SHORTCUT_LABEL_KEYCAP_CLASS, SHORTCUT_LABEL_KEYS_CLASS, SHORTCUT_LABEL_SIDE_CLASS, SHORTCUT_LABEL_SPACED_CLASS, shortcutLabelDirection, shortcutLabelPlatform, shortcutLabelRenderPlan, NOTIFY_VISIBLE_CHILD, AdwViewSwitcherBase, NOTIFY_VIEW_SELECTED, DEFAULT_CAROUSEL_PAGE_WIDTH, NOTIFY_POSITION, NOTIFY_VISIBLE_PAGE, AdwSplitViewBase, NOTIFY_SHOW_SIDEBAR, NsNavigationSplitViewState, NsOverlaySplitViewState, splitViewColumns, NOTIFY_SIDEBAR_SELECTED, NOTIFY_OPEN, AdwToast, AdwToastQueue, DEFAULT_TOAST_TIMEOUT, AdwAlertResponses, ABOUT_CLOSED, PREFERENCES_CLOSED, applyConstructProps, nsAlignment, GTK_ALIGN, DEFAULT_ICON_PIXEL_SIZE, GTK_ICON_SIZE_NICKS, GTK_ICON_SIZE_PIXELS, type GtkIconSizeNick, isGtkIconSizeNick, PIXEL_SIZE_UNSET, activateWidgetAction, findActionGroup, insertActionGroup, attachRowPressFeedback, ICON_FALLBACK_NAME, compiledIconNames, iconValueKind, isIconAvailable, resolveIconSource, renderSymbolicIcon, extractIconPaths, extractPathData, ADWAITA_ICON_GRID, DEFAULT_ICON_COLOR, DEFAULT_ICON_COLOR_DARK, adwaitaColorScheme, isThemeIconColor, onAdwaitaColorSchemeChanged, setAdwaitaColorScheme, themeIconColor, toggleAdwaitaColorScheme, AdwBreakpoint, addBreakpoints, evaluateBreakpointCondition, observeViewSize, observeWindowSize, parseBreakpointCondition, registerAdwaitaElements, } from './widgets/index.js';
3
+ export type { BoxOrientation, ButtonSlot, ButtonSlotWrite, AdwComboOption, ComboStateChange, ComboStateListener, NotifyValueEventData, SpinStateChange, SpinStateListener, NotifySliderValueEventData, MenuItemActivatedEventData, MenuTappedEventData, RowActivatedEventData, DataGridItemSpec, NotifyToggleSelectedEventData, ToggleGroupStateChange, ToggleGroupStateListener, AccentRole, AccentRule, ShortcutLabelRenderPlan, ShortcutLabelViewSpec, AdwViewStackPageInfo, NotifyVisibleChildEventData, AdwViewPage, NotifyViewSelectedEventData, NotifyPositionEventData, NotifyVisiblePageEventData, NotifyShowSidebarEventData, NsShowSidebarNotification, NsSplitViewHost, NsSplitViewState, NotifySidebarSelectedEventData, NotifyOpenEventData, AdwToastOptions, AdwToastQueueHandlers, AdwToastQueueOptions, ToastScheduler, ToastTimerHandle, AdwAlertResponse, AdwResponseAppearance, AdwResponseOptions, OrderedConfirmResponses, ConstructProps, SystemInsetEdges, IconValueKind, SymbolicIconOptions, IconPath, AdwColorScheme, AdwBreakpointHandlers, BreakpointBound, BreakpointConditionGroup, BreakpointConditionLeaf, BreakpointConditionNode, BreakpointDimension, BreakpointSize, } from './widgets/index.js';
4
4
  export type { GtkWidgetLayout, GtkWidgetLayoutMembers } from './widgets/widget-layout.js';
5
+ export { buildMenu, menuTree, watchMenuModel } from '@gjsify/adwaita-core';
6
+ export type { AdwMenuActions, AdwMenuEntryInput, AdwMenuInput, AdwMenuItem, AdwMenuModel, AdwMenuNode, AdwMenuPath, AdwMenuSection, AdwMenuSubmenu, AdwMenuTree, } from '@gjsify/adwaita-core';
5
7
  export * as Adw from './namespace/adw.js';
6
8
  export * as Gtk from './namespace/gtk.js';
7
9
  export * as Gio from './namespace/gio.js';
@@ -0,0 +1 @@
1
+ export declare const MenuModelDoorNsTest: () => Promise<void>;
@@ -1,5 +1,5 @@
1
1
  import '../file-chooser-host.js';
2
- export { GioMenu as Menu, GioMenuItem as MenuItem } from '@gjsify/adwaita-core';
2
+ export { GioMenu as Menu, GioMenuItem as MenuItem, GioMenuModel as MenuModel, GioMenuAttributeIter as MenuAttributeIter, GioMenuLinkIter as MenuLinkIter, MENU_ATTRIBUTE_ACTION, MENU_ATTRIBUTE_ACTION_NAMESPACE, MENU_ATTRIBUTE_ICON, MENU_ATTRIBUTE_LABEL, MENU_ATTRIBUTE_TARGET, MENU_EXPORTER_MAX_SECTION_SIZE, MENU_LINK_SECTION, MENU_LINK_SUBMENU, } from '@gjsify/adwaita-core';
3
3
  export { ListModel } from '@gjsify/adwaita-core';
4
4
  export { GioFile as File, GioListStore as ListStore, GioOutputStream as OutputStream, GioFileOutputStream as FileOutputStream, FileCreateFlags, IOErrorEnum, promisify as _promisify, } from '@gjsify/adwaita-core';
5
5
  export { SimpleAction, SimpleActionGroup } from '../widgets/actions.js';
@@ -0,0 +1,2 @@
1
+ export declare const AdwTemplateXalignNsTest: () => Promise<void>;
2
+ export default AdwTemplateXalignNsTest;
@@ -284,8 +284,12 @@ export declare class GridLayout extends LayoutBase {
284
284
  addColumn(itemSpec: ItemSpec): void;
285
285
  addRow(itemSpec: ItemSpec): void;
286
286
  removeRow(itemSpec: ItemSpec): void;
287
+ /** `GridLayoutBase.removeColumn` — BY SPEC, like `removeRow`, not by index. */
288
+ removeColumn(itemSpec: ItemSpec): void;
287
289
  /** `GridLayoutBase.getColumns` — a copy, as on a device. */
288
290
  getColumns(): ItemSpec[];
291
+ /** `GridLayoutBase.getRows` — the same read on the other axis. */
292
+ getRows(): ItemSpec[];
289
293
  removeColumns(): void;
290
294
  removeRows(): void;
291
295
  /** Where a child was placed — the read-back the `set*` statics have on a device. */
@@ -394,6 +398,13 @@ export declare class Label extends View {
394
398
  */
395
399
  get formattedText(): FormattedString | null | undefined;
396
400
  set formattedText(value: FormattedString | null | undefined);
401
+ /**
402
+ * `TextBase._setNativeText` — the framework's sink for every text write, and the seam
403
+ * the native markup path draws at (`widgets/label-markup-native.ts`). There is no
404
+ * native text view off a device, so this records nothing: it exists because the port
405
+ * overrides it and `super._setNativeText()` has to be callable.
406
+ */
407
+ _setNativeText(_reset?: boolean): void;
397
408
  textWrap: boolean;
398
409
  textAlignment: string;
399
410
  textOverflow: string;
@@ -1,4 +1,4 @@
1
- import { type ActionGroupLike, type AdwMenuActions, type AdwMenuItem, type AdwMenuModel } from '@gjsify/adwaita-core';
1
+ import { type ActionGroupLike, type AdwMenuActions, type AdwMenuItem, type AdwMenuTree } from '@gjsify/adwaita-core';
2
2
  export { SimpleAction, SimpleActionGroup } from '@gjsify/adwaita-core';
3
3
  export type { ActionActivateHandler, SimpleActionProps } from '@gjsify/adwaita-core';
4
4
  /** What the chain walk needs of a view: `View.parent`, nothing else. */
@@ -18,7 +18,7 @@ export declare function findActionGroup(widget: ActionHost, prefix: string): Act
18
18
  * caller can tell a wired button from a dangling name (GTK only warns about the latter).
19
19
  */
20
20
  export declare function activateWidgetAction(widget: ActionHost, fullName: string, parameter?: unknown): boolean;
21
- /** What the items of `model` read from the actions registered at or above `widget` (ADR 0097 § 3). */
22
- export declare function menuActionsOfView(widget: ActionHost, model: AdwMenuModel): AdwMenuActions;
21
+ /** What the items of `tree` read from the actions registered at or above `widget` (ADR 0097 § 3). */
22
+ export declare function menuActionsOfView(widget: ActionHost, tree: AdwMenuTree): AdwMenuActions;
23
23
  /** What choosing `item` in a menu owned by `widget` does: the action it names fires, as GTK's tracker does. */
24
24
  export declare function activateViewMenuItem(widget: ActionHost, item: AdwMenuItem): boolean;
@@ -1,5 +1,5 @@
1
1
  import { GridLayout, Label, StackLayout, type EventData } from '@nativescript/core';
2
- import type { AdwMenuActions, AdwMenuInput, AdwMenuModel, SplitButtonDirection } from '@gjsify/adwaita-core';
2
+ import type { AdwMenuActions, AdwMenuModel, SplitButtonDirection } from '@gjsify/adwaita-core';
3
3
  import { GtkImage } from './gtk-image.js';
4
4
  import { type ConstructProps } from './construct-props.js';
5
5
  import { type GObjectNotify } from './signals.js';
@@ -121,6 +121,12 @@ export declare class AdwSplitButton extends AdwSplitButton_base {
121
121
  /** The direction arrow. */
122
122
  protected readonly _chevron: GtkImage;
123
123
  private readonly _state;
124
+ /**
125
+ * The menu this button holds, with its `items-changed` watcher. The STATE holds it too
126
+ * — `setMenuModel` is what drives `dropdownEnabled` and the notify order — and this
127
+ * holds the snapshot the popup is built from, which the state has no business knowing.
128
+ */
129
+ private readonly _slot;
124
130
  private _actions;
125
131
  /** Which of the two action views is currently parented. */
126
132
  private _showingIcon;
@@ -168,13 +174,17 @@ export declare class AdwSplitButton extends AdwSplitButton_base {
168
174
  * (`gallery-page.ts`), which no structured value can satisfy. An input form nothing
169
175
  * can run is a claim, not a feature.
170
176
  *
171
- * AND IT SAYS SO. Left to `normalizeMenuModel`, a string is "not an array" and
172
- * becomes an EMPTY menu — so an XML author writing `menuModel="[…]"` would get a
173
- * button whose dropdown is dead, with nothing anywhere saying why. A shut door that
174
- * is silent is worse than one that is open.
177
+ * AND IT SAYS SO. Left to the core's door a string would be PARSED, because that door
178
+ * is also the browser's `menu-model` attribute (ADR 0128 § 4) — so an XML author writing
179
+ * `menuModel="[…]"` would get a menu this port never promised to build from markup. A
180
+ * shut door that is silent is worse than one that is open, so the refusal names itself.
181
+ *
182
+ * `null` IS THE ONE SPELLING OF "NO MENU" since ADR 0128: an empty `Gio.Menu` is a menu
183
+ * that happens to have no rows, and it keeps the dropdown live exactly as it does on
184
+ * GTK (measured, `MENU_MODEL_DOOR_VECTORS`).
175
185
  */
176
- get menuModel(): AdwMenuModel;
177
- set menuModel(value: AdwMenuInput);
186
+ get menuModel(): AdwMenuModel | null;
187
+ set menuModel(value: AdwMenuModel | null);
178
188
  /**
179
189
  * What the action group publishes about the actions this menu names — the portable
180
190
  * stand-in for a `GActionGroup`, and the only source of a menu's enabled/checked
@@ -25,6 +25,43 @@ export interface BoxTrack {
25
25
  export declare function boxTrackPlan(expands: readonly boolean[], spacing: unknown, homogeneous: boolean): BoxTrack[];
26
26
  /** The track child `index` lives in — the even ones; the odd ones are the gaps. */
27
27
  export declare function boxChildTrack(index: number): number;
28
+ /** What a track list has to change to become the next one — a kept head and an added tail. */
29
+ export interface BoxTrackDiff {
30
+ /** How many leading tracks are already right and stay exactly as they are. */
31
+ keep: number;
32
+ /** The tracks to add after those, in order. Everything past `keep` is dropped first. */
33
+ add: readonly BoxTrack[];
34
+ }
35
+ /**
36
+ * How to turn `current` into `next`: keep the common leading run, drop the rest from the END
37
+ * backwards, then add {@link BoxTrackDiff.add}.
38
+ *
39
+ * WHY A DIFF AND NOT A REBUILD. {@link boxTrackPlan} is a pure SUFFIX EXTENSION — one more
40
+ * child appends a gap track and a track, and leaves every earlier track untouched, because
41
+ * {@link boxChildTrack} answers `2 * i` whatever follows. So the widget re-planned the whole
42
+ * list on every single `addChild` / `removeChild`, and that is quadratic in the child count.
43
+ * Measured on a Galaxy S9, a 167-child vertical box building the Learn6502 tutorial: 362
44
+ * `_applyChildren` calls, 175 ms of them spent removing and re-adding `ItemSpec`s that had
45
+ * not changed and writing cells to children that had not moved. With this diff an append and
46
+ * a remove-at-the-end are both one track pair.
47
+ *
48
+ * REMOVING FROM THE END IS NOT AN OPTIMISATION, it is the only order that works: the platform
49
+ * removes a track BY SPEC, so dropping a leading one renumbers the specs still to drop.
50
+ */
51
+ export declare function boxTrackDiff(current: readonly BoxTrack[], next: readonly BoxTrack[]): BoxTrackDiff;
52
+ /**
53
+ * The first index at which the children already placed differ from the children now — where
54
+ * writing cells has to start.
55
+ *
56
+ * A child's cell is `2 * index` and nothing else, so a child whose index did not move keeps
57
+ * the cell it has: an append has to place only the newcomer, and a remove-at-the-end nothing
58
+ * at all. A prepend or a remove from the middle shifts every index after it and is answered
59
+ * with a 0 — correct, and no cheaper than it is in the child list itself.
60
+ *
61
+ * Generic over the child type for the same reason the rest of this module is free of
62
+ * `@nativescript/core`: so the spec suite can drive it off-device.
63
+ */
64
+ export declare function boxPlacementStart<T>(placed: readonly T[], next: readonly T[]): number;
28
65
  /**
29
66
  * Where the child list ends up after an `insert_child_after` / `reorder_child_after`, or
30
67
  * `null` where C would have hit a `g_return_if_fail`.
@@ -8,7 +8,10 @@ export declare class GtkBox extends AdwStyledLayoutBase {
8
8
  private _spacing;
9
9
  private _orientation;
10
10
  private _homogeneous;
11
- private _trackKey;
11
+ private _tracks;
12
+ private _tracksVertical;
13
+ private readonly _specs;
14
+ private _placed;
12
15
  private readonly _followers;
13
16
  constructor(props?: ConstructProps<GtkBox>);
14
17
  /** Append a child — `gtk_box_append`. */
@@ -54,10 +57,13 @@ export declare class GtkBox extends AdwStyledLayoutBase {
54
57
  /**
55
58
  * Give every child its track and the box the track list that matches.
56
59
  *
57
- * The WHOLE set, not just the newcomer: adding a second child changes the FIRST one's
58
- * answer too when the box is re-ordered, and a removal shifts every index after it. The
59
- * track list is rebuilt only when it differs, because re-adding every `ItemSpec` makes
60
- * the platform re-measure.
60
+ * RE-PLANNED FROM THE WHOLE SET, APPLIED AS A DIFF. Adding a second child changes the
61
+ * FIRST one's answer too when the box is re-ordered, and a removal shifts every index
62
+ * after it, so the plan is always read off every child. But this runs on EVERY
63
+ * `addChild` / `insertChild` / `removeChild`, and re-adding every `ItemSpec` and
64
+ * re-writing every cell made that quadratic in the child count — `boxTrackDiff` and
65
+ * `boxPlacementStart` hold the measurement and the reasoning. An append and a
66
+ * remove-from-the-end are one track pair and one cell each.
61
67
  */
62
68
  private _applyChildren;
63
69
  }
@@ -1,22 +1,24 @@
1
- import { GridLayout, TextField, type EventData } from '@nativescript/core';
1
+ import { GridLayout, TextField } from '@nativescript/core';
2
2
  import { type ConstructProps } from './construct-props.js';
3
+ import { type GObjectNotify } from './signals.js';
3
4
  /** Event name emitted when {@link GtkEntry.text} changes. Mirrors GObject `notify::text`. */
4
5
  export declare const NOTIFY_TEXT = "notify::text";
6
+ /** Event name emitted when {@link GtkEntry.textLength} changes. Mirrors `notify::text-length`. */
7
+ export declare const NOTIFY_TEXT_LENGTH = "notify::text-length";
8
+ /** Event name emitted when {@link GtkEntry.maxLength} changes. Mirrors `notify::max-length`. */
9
+ export declare const NOTIFY_MAX_LENGTH = "notify::max-length";
10
+ /** Event name emitted when {@link GtkEntry.placeholderText} changes. */
11
+ export declare const NOTIFY_PLACEHOLDER_TEXT = "notify::placeholder-text";
12
+ /** Event name emitted when {@link GtkEntry.editable} changes. */
13
+ export declare const NOTIFY_EDITABLE = "notify::editable";
5
14
  /** Event name emitted when the return key is pressed — `Gtk.Entry::activate`. */
6
15
  export declare const ACTIVATE = "activate";
7
16
  /** `Gtk.Editable::changed` — every change of the text, typed or set. */
8
17
  export declare const CHANGED = "changed";
9
- /** Payload of the `notify::text` event. */
10
- export interface NotifyEntryTextEventData extends EventData {
11
- /** The new text value (already truncated to `maxLength`). */
12
- text: string;
13
- /** The new number of CHARACTERS (not UTF-16 units). */
14
- textLength: number;
15
- }
16
18
  declare const GtkEntry_base: ((abstract new (...args: any[]) => {
17
- addEventListener(eventName: string, callback: (data: EventData) => void, thisArg?: unknown, once?: boolean): void;
18
- removeEventListener(eventName: string, callback?: (data: EventData) => void, thisArg?: unknown): void;
19
- connect(eventName: string, callback: (self: /*elided*/ any, data: EventData) => unknown): number;
19
+ addEventListener(eventName: string, callback: (data: import("@nativescript/core").EventData) => void, thisArg?: unknown, once?: boolean): void;
20
+ removeEventListener(eventName: string, callback?: (data: import("@nativescript/core").EventData) => void, thisArg?: unknown): void;
21
+ connect(eventName: string, callback: (self: /*elided*/ any, data: import("@nativescript/core").EventData) => unknown): number;
20
22
  disconnect(handlerId: number): void;
21
23
  emit(eventName: string, ...args: unknown[]): void;
22
24
  get_property(name: string): unknown;
@@ -71,7 +73,7 @@ declare const GtkEntry_base: ((abstract new (...args: any[]) => {
71
73
  set_focus_on_click(focusOnClick: boolean): void;
72
74
  grab_focus(): boolean;
73
75
  _emit(eventName: string): void;
74
- notify<T extends EventData>(data: T): void;
76
+ notify<T extends import("@nativescript/core").EventData>(data: T): void;
75
77
  notifyPropertyChange(name: string, value: unknown, oldValue?: unknown): void;
76
78
  set(name: string, value: unknown): void;
77
79
  get(name: string): unknown;
@@ -80,35 +82,61 @@ declare const GtkEntry_base: ((abstract new (...args: any[]) => {
80
82
  }) & typeof GridLayout;
81
83
  export declare class GtkEntry extends GtkEntry_base {
82
84
  static readonly GTypeName: string;
83
- /** The GTK signals this widget emits through `connect` — read by the shared-tree builder (ADR 0093). */
84
- static readonly emittedSignals: readonly string[];
85
85
  /** The real input. Chrome-less: the box around it paints the Adwaita surface. */
86
86
  protected readonly _field: TextField;
87
- private _text;
88
- private _maxLength;
89
- constructor(props?: ConstructProps<GtkEntry>);
90
87
  /**
91
- * Truncate, write the field, and notify on a real change.
88
+ * Whether the write being applied came from the keyboard. It decides the ORDER
89
+ * {@link _applyText} emits in, and nothing else — see the module header's measurement.
90
+ */
91
+ private _typing;
92
+ /** The entry's contents, truncated to {@link maxLength}. Declared above; the seam installs it. */
93
+ text: string;
94
+ /**
95
+ * `Gtk.Entry:text-length` — the number of CHARACTERS, not UTF-16 units, so `'🔒é'` is 2.
92
96
  *
93
- * Writing the field re-enters through `textChange`; the nested call finds the
94
- * text already applied and settles it, and the outer one then sees its own
95
- * value in `_text` and stops — so a truncated keystroke notifies exactly once.
97
+ * READ-ONLY, as upstream declares it: a write is normalized back to the count derived from
98
+ * this entry's own {@link text} and so changes nothing (see the declaration). Not `readonly`
99
+ * in TypeScript, because the seam installs one accessor pair per declared property and this
100
+ * widget is what writes the derived value.
96
101
  */
97
- private _applyText;
98
- /** The editable text. */
99
- get text(): string;
100
- set text(value: string);
101
- /** The number of CHARACTERS in {@link text}, not UTF-16 units. */
102
- get textLength(): number;
103
- /** Maximum number of characters, `0` = unlimited. */
104
- get maxLength(): number;
105
- set maxLength(raw: number | string);
102
+ textLength: number;
103
+ /** `Gtk.Entry:max-length` — maximum number of characters, `0` = unlimited. */
104
+ maxLength: number;
106
105
  /** Placeholder shown while the entry is empty (`Gtk.Entry:placeholder-text`). */
107
- get placeholderText(): string;
108
- set placeholderText(value: string);
106
+ placeholderText: string;
109
107
  /** Whether the entry accepts edits (`GtkEditable:editable`). */
110
- get editable(): boolean;
111
- set editable(raw: boolean | string);
108
+ editable: boolean;
109
+ /** GJS's `notify('<prop>')` beside NativeScript's `notify({ eventName })`; see the seam. */
110
+ notify: GObjectNotify;
111
+ constructor(props?: ConstructProps<GtkEntry>);
112
+ /**
113
+ * What a `text` write does once the seam holds the normalized value: push the field, move
114
+ * the derived length, and emit in the MEASURED order.
115
+ *
116
+ * Writing the field re-enters through `textChange`, which writes this very value back; the
117
+ * seam's equal-write rule drops it, and that is what retired the old re-entrancy funnel.
118
+ * The origin is read BEFORE that write, because the handler it re-enters assigns `_typing`
119
+ * and the flag is no longer this call's once the field has been touched.
120
+ */
121
+ private _applyText;
122
+ /**
123
+ * What a `max-length` write does: re-run the held text against the new ceiling, so a
124
+ * SHRINKING limit truncates what is already there, and only then announce the limit —
125
+ * `changed`, `notify::text`, `notify::max-length`, as measured.
126
+ */
127
+ private _applyMaxLength;
128
+ /** `placeholder-text` reaches the field's hint and nothing else. */
129
+ private _applyPlaceholderText;
130
+ /** `editable` gates the keyboard only — see the declaration. */
131
+ private _applyEditable;
132
+ /** `gtk_editable_get_text`. */
133
+ get_text(): string;
134
+ /** `gtk_editable_set_text`. */
135
+ set_text(text: string): void;
136
+ /** `gtk_entry_get_max_length`. */
137
+ get_max_length(): number;
138
+ /** `gtk_entry_set_max_length`. */
139
+ set_max_length(max: number): void;
112
140
  /** The inner `TextField` — for focus, selection and host-specific keyboard options. */
113
141
  get field(): TextField;
114
142
  }