@gjsify/adwaita-core 0.39.0 → 0.41.0

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.
@@ -0,0 +1 @@
1
+ import"./_virtual/_rolldown/runtime.js";const e=[`flat`,`suggested-action`,`destructive-action`,`circular`,`pill`],t={flat:`flat`,suggested:`suggested-action`,"suggested-action":`suggested-action`,destructive:`destructive-action`,"destructive-action":`destructive-action`,circular:`circular`,pill:`pill`};function buttonStyleClass(e){return e?t[e]??null:null}function buttonStyleClasses(t){let n=new Set;for(let e of t){let t=buttonStyleClass(e);t&&n.add(t)}return e.filter(e=>n.has(e))}export{t as ADW_BUTTON_STYLE_ALIASES,e as ADW_BUTTON_STYLE_CLASSES,buttonStyleClass,buttonStyleClasses};
@@ -1 +1 @@
1
- import"./_virtual/_rolldown/runtime.js";import{glibClamp as e}from"./glib.js";const t=150,n=.01;function approx(e,t){return Math.abs(e-t)<2**-52}function carouselSnapPoints(e){let t=0;return e.map(e=>{let n=t+e-1;return t+=e,n})}function carouselSizesFromSnapPoints(e){if(e.length===0)return[];let t=[e[0]+1];for(let n=1;n<e.length;n++)t.push(e[n]-e[n-1]);return t}function carouselRange(e,t=0){let n=e.length>0?e[e.length-1]:0;return{lower:0,upper:Math.max(0,t+n)}}function carouselClampPosition(t,n,r=0){let i=carouselRange(n,r);return e(t,i.lower,i.upper)}function carouselClosestSnapPoint(e,t){if(t.length===0)return-1;let n=0;for(let r=1;r<t.length;r++)Math.abs(t[n]-e)>Math.abs(t[r]-e)&&(n=r);return n}function carouselPageAtPosition(e,t){return carouselClosestSnapPoint(carouselClampPosition(e,t),t)}function cRound(e){return Math.sign(e)*Math.round(Math.abs(e))}function carouselNavigateTarget(e,t,n){if(t<=0)return null;let r=cRound(e);return n===`back`?r>0?r-1:null:r<t-1?r+1:null}function carouselWheelStep(e){if(e.source===`touchpad`)return 0;let t=e.source===`mouse`,n=0;return(e.orientation===`vertical`||t)&&(e.deltaY>0?n=1:e.deltaY<0&&(n=-1)),e.orientation===`horizontal`&&n===0&&(e.deltaX>0?n=1:e.deltaX<0&&(n=-1)),n}function carouselReorderShift(e){let{closestPoint:t,oldPoint:n,newPoint:r,size:i}=e;return approx(t,n)?r-n:(approx(n,t)||n>t)&&(approx(t,r)||t>r)?i:(approx(r,t)||r>t)&&(approx(t,n)||t>n)?-i:0}function nthPageDiagnostic(e,t){return`adw_carousel_get_nth_page: assertion 'n < adw_carousel_get_n_pages (self)' failed (n = ${e}, n_pages = ${t})`}function positionDiagnostic(e,t){return`${e}: assertion 'position >= -1' failed (position = ${t})`}function unknownPageDiagnostic(e){return`AdwCarousel: no page with id '${e}'`}function nonFiniteDiagnostic(e,t){return`AdwCarousel: ${e} must be a finite double (got ${t})`}var CarouselState=class{constructor(e={}){this._children=[],this._position=0,this._wheelLockedAt=null,this._settledPage=null,this._listeners=new Set,this._pageChangedListeners=new Set,this._diagnostics=[],this._orientation=e.orientation??`horizontal`,this._interactive=e.interactive??!0,this._allowScrollWheel=e.allowScrollWheel??!0,this._allowLongSwipes=e.allowLongSwipes??!1,this._spacing=e.spacing??0,this._revealDuration=e.revealDuration??0,this._now=e.now??(()=>Date.now()),this._onScrollTo=e.onScrollTo,this._animateScroll=e.animateScroll??!1}subscribe(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}onPageChanged(e){return this._pageChangedListeners.add(e),()=>{this._pageChangedListeners.delete(e)}}_emit(e,t){let n={position:this._position,nPages:this.nPages,page:this.pageAt(this._position),interactive:t,reason:e};for(let e of[...this._listeners])e(n)}get nPages(){let e=0;for(let t of this._children)t.removing||e++;return e}get ids(){return this._children.filter(e=>!e.removing).map(e=>e.id)}get position(){return this._position}get sizes(){return this._children.map(e=>e.size)}get snapPoints(){return carouselSnapPoints(this.sizes)}get range(){return carouselRange(this.snapPoints)}_visibleSnapPoints(){return this.snapPoints.filter((e,t)=>!this._children[t].removing)}pageAt(e){return carouselPageAtPosition(e,this._visibleSnapPoints())}indexOf(e){let t=0;for(let n of this._children)if(!n.removing){if(n.id===e)return t;t++}return-1}snapPointOf(e){let t=this._nthLink(e);return t<0?void 0:this.snapPoints[t]}_nthLink(e){let t=e;for(let e=0;e<this._children.length;e++)if(!this._children[e].removing&&t--===0)return e;return-1}_closestChildIndex(e,t,n){let r=this.snapPoints,i=[],a=[];this._children.forEach((e,o)=>{e.adding&&!t||e.removing&&!n||(i.push(o),a.push(r[o]))});let o=carouselClosestSnapPoint(e,a);return o<0?-1:i[o]}_updateShiftPositionFlag(e){let t=this._closestChildIndex(this._position,!1,!0);t<0||(this._children[e].shiftPosition=t>=e)}_updateShiftFlags(){this._children.forEach((e,t)=>{(e.adding||e.removing)&&this._updateShiftPositionFlag(t)})}setPosition(e,t=!1){if(!Number.isFinite(e))return this._diagnostics.push(nonFiniteDiagnostic(`position`,e)),!1;let n=carouselClampPosition(e,this.snapPoints),r=n!==this._position;return this._position=n,this._updateShiftFlags(),this._emit(`position`,t),r}scrollTo(e,t={}){let n=this.nPages;if(!Number.isInteger(e)||e<0||e>=n)return this._diagnostics.push(nthPageDiagnostic(e,n)),!1;let r=t.interactive??!1,i=t.animate??this._animateScroll,a=this.snapPointOf(e);return this._onScrollTo?.({index:e,position:a,interactive:r,animate:i}),i||(this.setPosition(a,r),this.settle()),!0}settle(){let e=this.pageAt(this._position);this._settledPage=e;for(let t of[...this._pageChangedListeners])t(e)}settleIfArrived(e=n){let t=this.pageAt(this._position),r=this.snapPointOf(t);return r===void 0||Math.abs(this._position-r)>=e?(this._settledPage=null,!1):this._settledPage===t?!1:(this.settle(),!0)}navigate(e){if(!this._interactive)return!1;let t=carouselNavigateTarget(this._position,this.nPages,e);return t===null?!1:this.scrollTo(t,{interactive:!0})}handleWheel(t){if(!this._allowScrollWheel||this._wheelLockedAt!==null&&this._now()-this._wheelLockedAt<150||!this._interactive)return 0;let n=this.nPages;if(n===0)return 0;let r=carouselWheelStep({...t,orientation:this._orientation});if(r===0)return 0;let i=e(this.pageAt(this._position)+r,0,n-1);return this.scrollTo(i,{interactive:!0}),this._wheelLockedAt=this._now(),r}insertPage(e,t=-1){if(!Number.isInteger(t)||t<-1)return this._diagnostics.push(positionDiagnostic(`adw_carousel_insert`,t)),!1;let n={id:e,size:0,adding:!0,removing:!1,shiftPosition:!1},r=t>=0?this._nthLink(t):-1,i=r<0?this._children.length:r;return this._children.splice(i,0,n),this._updateShiftPositionFlag(i),this._emit(`n-pages`,!1),!0}removePage(e){let t=this._children.findIndex(t=>t.id===e&&!t.removing);if(t<0)return this._diagnostics.push(unknownPageDiagnostic(e)),!1;let n=this._children[t];return n.removing=!0,this._updateShiftPositionFlag(t),n.adding&&this._children.splice(t,1),this._emit(`n-pages`,!1),!0}reorderPage(e,t){if(!Number.isInteger(t)||t<-1)return this._diagnostics.push(positionDiagnostic(`adw_carousel_reorder`,t)),!1;let n=this._children.findIndex(t=>t.id===e);if(n<0)return this._diagnostics.push(unknownPageDiagnostic(e)),!1;if(t===n)return!1;let r=this._closestChildIndex(this._position,!0,!0),i=this.snapPoints,a=r<0?0:i[r],o=i[n],s=this.nPages,c=t<0||t>s?s:t;if(n===s-1&&c===s)return!1;let l;l=c===s?-1:c>n?this._nthLink(c+1):this._nthLink(c);let u;u=l>=0?c>n?i[l-1]:i[l]:i[i.length-1];let[d]=this._children.splice(n,1);l<0?this._children.push(d):this._children.splice(l>n?l-1:l,0,d);let f=carouselReorderShift({closestPoint:a,oldPoint:o,newPoint:u,size:d.size});return f===0?(this._emit(`geometry`,!1),!0):(this._position=carouselClampPosition(this._position+f,this.snapPoints),this._updateShiftFlags(),this._emit(`position`,!1),!0)}setPageSize(e,t){if(!Number.isFinite(t))return this._diagnostics.push(nonFiniteDiagnostic(`size of page '${e}'`,t)),!1;let n=this._children.findIndex(t=>t.id===e);if(n<0)return this._diagnostics.push(unknownPageDiagnostic(e)),!1;let r=this._children[n],i=t-r.size,a=r.shiftPosition&&i!==0;return r.size=t,r.removing&&t<=0?this._children.splice(n,1):r.adding&&t>=1&&(r.adding=!1),a?(this._position=carouselClampPosition(this._position+i,this.snapPoints),this._updateShiftFlags(),this._emit(`position`,!1),!0):(this._emit(`geometry`,!1),!0)}skipReveal(e){let t=this._children.find(t=>t.id===e);return!t||!t.adding&&!t.removing?!1:this.setPageSize(e,+!t.removing)}get orientation(){return this._orientation}setOrientation(e){return e===this._orientation?!1:(this._orientation=e,this._emit(`geometry`,!1),!0)}get interactive(){return this._interactive}setInteractive(e){let t=!!e;return t===this._interactive?!1:(this._interactive=t,!0)}get allowScrollWheel(){return this._allowScrollWheel}setAllowScrollWheel(e){let t=!!e;return t===this._allowScrollWheel?!1:(this._allowScrollWheel=t,!0)}get allowLongSwipes(){return this._allowLongSwipes}setAllowLongSwipes(e){let t=!!e;return t===this._allowLongSwipes?!1:(this._allowLongSwipes=t,!0)}get spacing(){return this._spacing}setSpacing(e){return!Number.isFinite(e)||e<0?(this._diagnostics.push(nonFiniteDiagnostic(`spacing`,e)),!1):e===this._spacing?!1:(this._spacing=e,this._emit(`geometry`,!1),!0)}get revealDuration(){return this._revealDuration}setRevealDuration(e){return!Number.isFinite(e)||e<0?(this._diagnostics.push(nonFiniteDiagnostic(`reveal-duration`,e)),!1):e===this._revealDuration?!1:(this._revealDuration=e,!0)}pageDistance(e){return e+this._spacing}get diagnostics(){return this._diagnostics}};export{t as CAROUSEL_SCROLL_TIMEOUT_MS,n as CAROUSEL_SETTLE_EPSILON,CarouselState,carouselClampPosition,carouselClosestSnapPoint,carouselNavigateTarget,carouselPageAtPosition,carouselRange,carouselReorderShift,carouselSizesFromSnapPoints,carouselSnapPoints,carouselWheelStep};
1
+ import"./_virtual/_rolldown/runtime.js";import{glibClamp as e}from"./glib.js";const t=150,n=.01;function approx(e,t){return Math.abs(e-t)<2**-52}function carouselSnapPoints(e){let t=0;return e.map(e=>{let n=t+e-1;return t+=e,n})}function carouselSizesFromSnapPoints(e){if(e.length===0)return[];let t=[e[0]+1];for(let n=1;n<e.length;n++)t.push(e[n]-e[n-1]);return t}function carouselPageAllocation(t,n){let r=0;for(let i of n){let n=i.expand?t:e(i.natural,i.minimum??0,t);r=Math.max(r,n)}return{pageSize:r,leadingInset:(t-r)/2}}function carouselRange(e,t=0){let n=e.length>0?e[e.length-1]:0;return{lower:0,upper:Math.max(0,t+n)}}function carouselClampPosition(t,n,r=0){let i=carouselRange(n,r);return e(t,i.lower,i.upper)}function carouselClosestSnapPoint(e,t){if(t.length===0)return-1;let n=0;for(let r=1;r<t.length;r++)Math.abs(t[n]-e)>Math.abs(t[r]-e)&&(n=r);return n}function carouselPageAtPosition(e,t){return carouselClosestSnapPoint(carouselClampPosition(e,t),t)}function cRound(e){return Math.sign(e)*Math.round(Math.abs(e))}function carouselNavigateTarget(e,t,n){if(t<=0)return null;let r=cRound(e);return n===`back`?r>0?r-1:null:r<t-1?r+1:null}function carouselWheelStep(e){if(e.source===`touchpad`)return 0;let t=e.source===`mouse`,n=0;return(e.orientation===`vertical`||t)&&(e.deltaY>0?n=1:e.deltaY<0&&(n=-1)),e.orientation===`horizontal`&&n===0&&(e.deltaX>0?n=1:e.deltaX<0&&(n=-1)),n}function carouselReorderShift(e){let{closestPoint:t,oldPoint:n,newPoint:r,size:i}=e;return approx(t,n)?r-n:(approx(n,t)||n>t)&&(approx(t,r)||t>r)?i:(approx(r,t)||r>t)&&(approx(t,n)||t>n)?-i:0}function nthPageDiagnostic(e,t){return`adw_carousel_get_nth_page: assertion 'n < adw_carousel_get_n_pages (self)' failed (n = ${e}, n_pages = ${t})`}function positionDiagnostic(e,t){return`${e}: assertion 'position >= -1' failed (position = ${t})`}function unknownPageDiagnostic(e){return`AdwCarousel: no page with id '${e}'`}function nonFiniteDiagnostic(e,t){return`AdwCarousel: ${e} must be a finite double (got ${t})`}var CarouselState=class{constructor(e={}){this._children=[],this._position=0,this._wheelLockedAt=null,this._settledPage=null,this._listeners=new Set,this._pageChangedListeners=new Set,this._diagnostics=[],this._orientation=e.orientation??`horizontal`,this._interactive=e.interactive??!0,this._allowScrollWheel=e.allowScrollWheel??!0,this._allowLongSwipes=e.allowLongSwipes??!1,this._spacing=e.spacing??0,this._revealDuration=e.revealDuration??0,this._now=e.now??(()=>Date.now()),this._onScrollTo=e.onScrollTo,this._animateScroll=e.animateScroll??!1}subscribe(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}onPageChanged(e){return this._pageChangedListeners.add(e),()=>{this._pageChangedListeners.delete(e)}}_emit(e,t){let n={position:this._position,nPages:this.nPages,page:this.pageAt(this._position),interactive:t,reason:e};for(let e of[...this._listeners])e(n)}get nPages(){let e=0;for(let t of this._children)t.removing||e++;return e}get ids(){return this._children.filter(e=>!e.removing).map(e=>e.id)}get position(){return this._position}get sizes(){return this._children.map(e=>e.size)}get snapPoints(){return carouselSnapPoints(this.sizes)}get range(){return carouselRange(this.snapPoints)}_visibleSnapPoints(){return this.snapPoints.filter((e,t)=>!this._children[t].removing)}pageAt(e){return carouselPageAtPosition(e,this._visibleSnapPoints())}indexOf(e){let t=0;for(let n of this._children)if(!n.removing){if(n.id===e)return t;t++}return-1}snapPointOf(e){let t=this._nthLink(e);return t<0?void 0:this.snapPoints[t]}_nthLink(e){let t=e;for(let e=0;e<this._children.length;e++)if(!this._children[e].removing&&t--===0)return e;return-1}_closestChildIndex(e,t,n){let r=this.snapPoints,i=[],a=[];this._children.forEach((e,o)=>{e.adding&&!t||e.removing&&!n||(i.push(o),a.push(r[o]))});let o=carouselClosestSnapPoint(e,a);return o<0?-1:i[o]}_updateShiftPositionFlag(e){let t=this._closestChildIndex(this._position,!1,!0);t<0||(this._children[e].shiftPosition=t>=e)}_updateShiftFlags(){this._children.forEach((e,t)=>{(e.adding||e.removing)&&this._updateShiftPositionFlag(t)})}setPosition(e,t=!1){if(!Number.isFinite(e))return this._diagnostics.push(nonFiniteDiagnostic(`position`,e)),!1;let n=carouselClampPosition(e,this.snapPoints),r=n!==this._position;return this._position=n,this._updateShiftFlags(),this._emit(`position`,t),r}scrollTo(e,t={}){let n=this.nPages;if(!Number.isInteger(e)||e<0||e>=n)return this._diagnostics.push(nthPageDiagnostic(e,n)),!1;let r=t.interactive??!1,i=t.animate??this._animateScroll,a=this.snapPointOf(e);return this._onScrollTo?.({index:e,position:a,interactive:r,animate:i}),i||(this.setPosition(a,r),this.settle()),!0}settle(){let e=this.pageAt(this._position);this._settledPage=e;for(let t of[...this._pageChangedListeners])t(e)}settleIfArrived(e=n){let t=this.pageAt(this._position),r=this.snapPointOf(t);return r===void 0||Math.abs(this._position-r)>=e?(this._settledPage=null,!1):this._settledPage===t?!1:(this.settle(),!0)}navigate(e){if(!this._interactive)return!1;let t=carouselNavigateTarget(this._position,this.nPages,e);return t===null?!1:this.scrollTo(t,{interactive:!0})}handleWheel(t){if(!this._allowScrollWheel||this._wheelLockedAt!==null&&this._now()-this._wheelLockedAt<150||!this._interactive)return 0;let n=this.nPages;if(n===0)return 0;let r=carouselWheelStep({...t,orientation:this._orientation});if(r===0)return 0;let i=e(this.pageAt(this._position)+r,0,n-1);return this.scrollTo(i,{interactive:!0}),this._wheelLockedAt=this._now(),r}insertPage(e,t=-1){if(!Number.isInteger(t)||t<-1)return this._diagnostics.push(positionDiagnostic(`adw_carousel_insert`,t)),!1;let n={id:e,size:0,adding:!0,removing:!1,shiftPosition:!1},r=t>=0?this._nthLink(t):-1,i=r<0?this._children.length:r;return this._children.splice(i,0,n),this._updateShiftPositionFlag(i),this._emit(`n-pages`,!1),!0}removePage(e){let t=this._children.findIndex(t=>t.id===e&&!t.removing);if(t<0)return this._diagnostics.push(unknownPageDiagnostic(e)),!1;let n=this._children[t];return n.removing=!0,this._updateShiftPositionFlag(t),n.adding&&this._children.splice(t,1),this._emit(`n-pages`,!1),!0}reorderPage(e,t){if(!Number.isInteger(t)||t<-1)return this._diagnostics.push(positionDiagnostic(`adw_carousel_reorder`,t)),!1;let n=this._children.findIndex(t=>t.id===e);if(n<0)return this._diagnostics.push(unknownPageDiagnostic(e)),!1;if(t===n)return!1;let r=this._closestChildIndex(this._position,!0,!0),i=this.snapPoints,a=r<0?0:i[r],o=i[n],s=this.nPages,c=t<0||t>s?s:t;if(n===s-1&&c===s)return!1;let l;l=c===s?-1:c>n?this._nthLink(c+1):this._nthLink(c);let u;u=l>=0?c>n?i[l-1]:i[l]:i[i.length-1];let[d]=this._children.splice(n,1);l<0?this._children.push(d):this._children.splice(l>n?l-1:l,0,d);let f=carouselReorderShift({closestPoint:a,oldPoint:o,newPoint:u,size:d.size});return f===0?(this._emit(`geometry`,!1),!0):(this._position=carouselClampPosition(this._position+f,this.snapPoints),this._updateShiftFlags(),this._emit(`position`,!1),!0)}setPageSize(e,t){if(!Number.isFinite(t))return this._diagnostics.push(nonFiniteDiagnostic(`size of page '${e}'`,t)),!1;let n=this._children.findIndex(t=>t.id===e);if(n<0)return this._diagnostics.push(unknownPageDiagnostic(e)),!1;let r=this._children[n],i=t-r.size,a=r.shiftPosition&&i!==0;return r.size=t,r.removing&&t<=0?this._children.splice(n,1):r.adding&&t>=1&&(r.adding=!1),a?(this._position=carouselClampPosition(this._position+i,this.snapPoints),this._updateShiftFlags(),this._emit(`position`,!1),!0):(this._emit(`geometry`,!1),!0)}skipReveal(e){let t=this._children.find(t=>t.id===e);return!t||!t.adding&&!t.removing?!1:this.setPageSize(e,+!t.removing)}get orientation(){return this._orientation}setOrientation(e){return e===this._orientation?!1:(this._orientation=e,this._emit(`geometry`,!1),!0)}get interactive(){return this._interactive}setInteractive(e){let t=!!e;return t===this._interactive?!1:(this._interactive=t,!0)}get allowScrollWheel(){return this._allowScrollWheel}setAllowScrollWheel(e){let t=!!e;return t===this._allowScrollWheel?!1:(this._allowScrollWheel=t,!0)}get allowLongSwipes(){return this._allowLongSwipes}setAllowLongSwipes(e){let t=!!e;return t===this._allowLongSwipes?!1:(this._allowLongSwipes=t,!0)}get spacing(){return this._spacing}setSpacing(e){return!Number.isFinite(e)||e<0?(this._diagnostics.push(nonFiniteDiagnostic(`spacing`,e)),!1):e===this._spacing?!1:(this._spacing=e,this._emit(`geometry`,!1),!0)}get revealDuration(){return this._revealDuration}setRevealDuration(e){return!Number.isFinite(e)||e<0?(this._diagnostics.push(nonFiniteDiagnostic(`reveal-duration`,e)),!1):e===this._revealDuration?!1:(this._revealDuration=e,!0)}pageDistance(e){return e+this._spacing}get diagnostics(){return this._diagnostics}};export{t as CAROUSEL_SCROLL_TIMEOUT_MS,n as CAROUSEL_SETTLE_EPSILON,CarouselState,carouselClampPosition,carouselClosestSnapPoint,carouselNavigateTarget,carouselPageAllocation,carouselPageAtPosition,carouselRange,carouselReorderShift,carouselSizesFromSnapPoints,carouselSnapPoints,carouselWheelStep};
@@ -0,0 +1 @@
1
+ const e=[{names:[],classes:[],rule:`a plain button carries no style class`},{names:[`flat`],classes:[`flat`],rule:`.flat — a button with no frame until hovered`},{names:[`suggested`],classes:[`suggested-action`],rule:"the browser attribute `suggested` is the class `.suggested-action`"},{names:[`suggested-action`],classes:[`suggested-action`],rule:`the NativeScript variant spells the class itself — both spellings resolve`},{names:[`destructive`],classes:[`destructive-action`],rule:"`destructive` → `.destructive-action`, the same short/long pair"},{names:[`circular`],classes:[`circular`],rule:`CIRCULAR EXISTS — it was in the browser table and missing from the NativeScript one`},{names:[`pill`],classes:[`pill`],rule:`.pill — the fully rounded button`},{names:[`pill`,`suggested`],classes:[`suggested-action`,`pill`],rule:`style classes COMPOSE (gtk_widget_add_css_class is a set), and come back in stylesheet order`},{names:[`suggested`,`pill`],classes:[`suggested-action`,`pill`],rule:`the caller's order does not change the result — two buttons with the same styles read alike`},{names:[`pill`,`pill`],classes:[`pill`],rule:`a repeat is not a second class`},{names:[`suggessted`],classes:[],rule:`a TYPO is dropped, not passed through — the input is author-written markup`},{names:[`flat`,`not-a-style`,`circular`],classes:[`flat`,`circular`],rule:`one bad name does not take the good ones with it`}];export{e as BUTTON_STYLE_CLASS_VECTORS};
@@ -1 +1 @@
1
- const e=[{sizes:[1,1,1],snapPoints:[0,1,2],rule:`settled pages sit one unit apart, starting at 0`},{sizes:[1],snapPoints:[0],rule:`a single page is always at position 0`},{sizes:[1,.5,1],snapPoints:[0,.5,1.5],rule:`a half-revealed page makes the snap points fractional`},{sizes:[0,1,1],snapPoints:[-1,0,1],rule:`a page inserted at 0 starts at size 0 (:1385), so its snap point is NEGATIVE — which is what keeps the pages behind it in place`},{sizes:[1,1,0],snapPoints:[0,1,1],rule:`a trailing size-0 page shares its predecessor’s snap point`},{sizes:[],snapPoints:[],rule:`no pages, no snap points — the swipeable view pads this to [0] (:1269)`}],t=[{snapPoints:[0,1,2],sizes:[1,1,1],rule:`settled pages round-trip to size 1`},{snapPoints:[0,.5,1.5],sizes:[1,.5,1],rule:`a mid-reveal page is recovered as a fraction`},{snapPoints:[-1,0,1],sizes:[0,1,1],rule:`the +1 offset recovers a just-inserted page as size 0`},{snapPoints:[0],sizes:[1],rule:`an EMPTY carousel still measures as one page (:1269 pads to a single 0)`},{snapPoints:[],sizes:[],rule:`nothing in, nothing out`}],n=[{snapPoints:[0,1,2],positionShift:0,lower:0,upper:2,rule:`the last snap point is the upper bound`},{snapPoints:[],positionShift:0,lower:0,upper:0,rule:`an empty carousel cannot scroll (:212-219)`},{snapPoints:[0],positionShift:0,lower:0,upper:0,rule:`one page cannot scroll either`},{snapPoints:[0,1,2],positionShift:-5,lower:0,upper:0,rule:`MAX(0, …) floors the bound — a large pending shift collapses the range instead of inverting it`},{snapPoints:[-1,0,1],positionShift:0,lower:0,upper:1,rule:`a negative FIRST snap point does not lower the bound; only the last one is read`}],r=[{position:5,snapPoints:[0,1,2],clamped:2,rule:`past the end clamps to the last snap point`},{position:-3,snapPoints:[0,1,2],clamped:0,rule:`below the start clamps to 0`},{position:1.7,snapPoints:[0,1,2],clamped:1.7,rule:`the clamp BOUNDS the scroll, it does not snap — a fractional position passes through`},{position:5,snapPoints:[],clamped:0,rule:`an empty carousel clamps everything to 0`},{position:0,snapPoints:[0,1,2],clamped:0,rule:`an in-range position is untouched`}],i=[{position:0,snapPoints:[0,1,2],page:0,rule:`exactly on a snap point`},{position:2,snapPoints:[0,1,2],page:2,rule:`exactly on the last snap point`},{position:.5,snapPoints:[0,1,2],page:0,rule:`an exact tie resolves to the LOWER page — Math.round would answer 1 here, and both ports did`},{position:.5000001,snapPoints:[0,1,2],page:1,rule:`a hair past the tie flips to the later page`},{position:.4999999,snapPoints:[0,1,2],page:0,rule:`a hair before the tie stays on the earlier page`},{position:1.5,snapPoints:[0,1,2],page:1,rule:`the tie-break is the same at every boundary`},{position:9,snapPoints:[0,1,2],page:2,rule:`the position is clamped into the range BEFORE the search`},{position:-1,snapPoints:[0,1,2],page:0,rule:`clamped from below the same way`},{position:0,snapPoints:[],page:-1,rule:"an empty carousel has no current page — the -1 `page-changed` documents (:1150-1151)"},{position:.5,snapPoints:[-1,0,1],page:1,rule:`mid-insert geometry: the search runs on snap points, not on indices`}],a=[{position:0,nPages:3,direction:`back`,target:null,rule:`already at the first page (:489-494)`},{position:2,nPages:3,direction:`forward`,target:null,rule:`already at the last page (:495-499)`},{position:0,nPages:3,direction:`forward`,target:1,rule:`one page forward`},{position:2,nPages:3,direction:`back`,target:1,rule:`one page back`},{position:.5,nPages:3,direction:`forward`,target:2,rule:`round(0.5) = 1 — half AWAY FROM ZERO, where the page lookup would have answered 0`},{position:.5,nPages:3,direction:`back`,target:0,rule:`the same rounding backwards: 1 − 1`},{position:1.4,nPages:3,direction:`back`,target:0,rule:`round(1.4) = 1, then −1`},{position:1.6,nPages:3,direction:`forward`,target:null,rule:`round(1.6) = 2, already the last page`},{position:0,nPages:0,direction:`forward`,target:null,rule:`an empty carousel never navigates (:482-484)`},{position:0,nPages:1,direction:`forward`,target:null,rule:`a single page is both bounds`}],o=[{deltaX:0,deltaY:53,orientation:`horizontal`,source:`mouse`,step:1,rule:`a mouse wheel pages a HORIZONTAL carousel — mice rarely have a horizontal wheel (:540-542)`},{deltaX:0,deltaY:-53,orientation:`horizontal`,source:`mouse`,step:-1,rule:`the same, backwards`},{deltaX:-30,deltaY:0,orientation:`horizontal`,source:`mouse`,step:-1,rule:`the dx FALLBACK the web port dropped: it returned early on |dy| <= |dx|, so this did nothing`},{deltaX:30,deltaY:-53,orientation:`horizontal`,source:`mouse`,step:-1,rule:`dx is only consulted when the vertical branch produced nothing (:554)`},{deltaX:-30,deltaY:0,orientation:`horizontal`,source:`touchpad`,step:0,rule:`a touchpad always propagates — its kinetic scroll drives the swipe tracker (:537-538)`},{deltaX:0,deltaY:53,orientation:`horizontal`,source:`other`,step:0,rule:`a non-mouse device may only scroll ALONG the carousel’s axis`},{deltaX:53,deltaY:0,orientation:`horizontal`,source:`other`,step:1,rule:`and along the axis it works for any source`},{deltaX:0,deltaY:-10,orientation:`vertical`,source:`other`,step:-1,rule:`a vertical carousel reads dy`},{deltaX:53,deltaY:0,orientation:`vertical`,source:`mouse`,step:0,rule:`a vertical carousel NEVER reads dx — the fallback branch requires GTK_ORIENTATION_HORIZONTAL (:554)`},{deltaX:0,deltaY:0,orientation:`horizontal`,source:`mouse`,step:0,rule:`a null event propagates`}],s=[{pages:3,steps:[{at:1e3,deltaY:53,step:1,position:1},{at:1100,deltaY:53,step:0,position:1},{at:1150,deltaY:53,step:1,position:2}],rule:`a notch 100 ms later propagates; at exactly 150 ms the lockout has expired (g_timeout_add_once fires AT the duration)`},{pages:3,steps:[{at:0,deltaY:30,step:1,position:1},{at:200,deltaY:-30,step:-1,position:0}],rule:`opposite notches page BOTH ways — the accumulator the web port used cancelled them out instead`},{pages:2,steps:[{at:0,deltaY:53,step:1,position:1},{at:500,deltaY:53,step:1,position:1}],rule:`a notch at the last page still consumes the event and still arms the lockout (:561-576, :567)`}],c=[{closestPoint:1,oldPoint:2,newPoint:0,size:1,shift:1,rule:`a page from AFTER the current one moved BEFORE it: one page of content appeared ahead (:1490-1492)`},{closestPoint:1,oldPoint:0,newPoint:2,size:1,shift:-1,rule:`a page from BEFORE moved AFTER: one page of content disappeared ahead (:1493-1495)`},{closestPoint:1,oldPoint:1,newPoint:2,size:1,shift:1,rule:`the CURRENT page is the one moved, so the position follows it (:1488-1489)`},{closestPoint:0,oldPoint:1,newPoint:2,size:1,shift:0,rule:`a move entirely on one side of the position changes nothing`},{closestPoint:1,oldPoint:2,newPoint:0,size:.5,shift:.5,rule:`the shift is the moved page’s SIZE, so a half-revealed page shifts by half`}],l=[{pages:[`a`,`b`,`c`],ops:[],opResults:[],pageChanged:[],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:0,page:0},rule:`three settled pages sit one unit apart and start on page 0`},{pages:[`a`,`b`,`c`],ops:[{kind:`insert`,id:`d`}],opResults:[!0],pageChanged:[],expected:{ids:[`a`,`b`,`c`,`d`],nPages:4,sizes:[1,1,1,1],snapPoints:[0,1,2,3],position:0,page:0},rule:"append — `adw_carousel_append` is insert at -1 (:1349-1357)"},{pages:[`a`,`b`,`c`],ops:[{kind:`insert`,id:`d`,position:7}],opResults:[!0],pageChanged:[],expected:{ids:[`a`,`b`,`c`,`d`],nPages:4,sizes:[1,1,1,1],snapPoints:[0,1,2,3],position:0,page:0},rule:"a position past the end appends — `get_nth_link` returns NULL there (:1388-1391)"},{pages:[`a`,`b`,`c`],ops:[{kind:`insert`,id:`d`,position:0}],opResults:[!0],pageChanged:[],expected:{ids:[`d`,`a`,`b`,`c`],nPages:4,sizes:[1,1,1,1],snapPoints:[0,1,2,3],position:1,page:1},rule:"prepend — `adw_carousel_prepend` is insert at 0 (:1330-1339). The position moves to 1 so the page on screen is still `a`: a page revealed AT OR BEFORE the current one drags the position with it (`shift_position`, :241-258, :293-294)"},{pages:[`a`,`b`,`c`],ops:[{kind:`insert`,id:`d`,position:-2}],opResults:[!1],pageChanged:[],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:0,page:0},rule:`below -1 fails C’s own precondition (:1381) and adds nothing`},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:2},{kind:`insert`,id:`d`,position:0}],opResults:[!0,!0],pageChanged:[],expected:{ids:[`d`,`a`,`b`,`c`],nPages:4,sizes:[1,1,1,1],snapPoints:[0,1,2,3],position:3,page:3},rule:"inserting BEFORE the current page moves the position with it, so the same page stays on screen (`shift_position`, :241-258)"},{pages:[`a`,`b`,`c`],ops:[{kind:`insert`,id:`d`,position:2}],opResults:[!0],pageChanged:[],expected:{ids:[`a`,`b`,`d`,`c`],nPages:4,sizes:[1,1,1,1],snapPoints:[0,1,2,3],position:0,page:0},rule:`inserting AFTER the current page leaves the position alone`},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:2},{kind:`remove`,id:`a`}],opResults:[!0,!0],pageChanged:[],expected:{ids:[`b`,`c`],nPages:2,sizes:[1,1],snapPoints:[0,1],position:1,page:1},rule:"removing a page BEFORE the current one pulls the position back so `c` stays on screen"},{pages:[`a`,`b`,`c`],ops:[{kind:`remove`,id:`c`}],opResults:[!0],pageChanged:[],expected:{ids:[`a`,`b`],nPages:2,sizes:[1,1],snapPoints:[0,1],position:0,page:0},rule:`removing a page AFTER the current one leaves the position alone`},{pages:[`a`,`b`,`c`],ops:[{kind:`remove`,id:`zz`}],opResults:[!1],pageChanged:[],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:0,page:0},rule:`removing a page that is not there changes nothing`},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:1},{kind:`reorder`,id:`c`,position:0}],opResults:[!0,!0],pageChanged:[],expected:{ids:[`c`,`a`,`b`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:2,page:2},rule:"a page from after the current one moved before it shifts the position +size, so `b` is still shown (:1490-1492)"},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:1},{kind:`reorder`,id:`a`,position:2}],opResults:[!0,!0],pageChanged:[],expected:{ids:[`b`,`c`,`a`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:0,page:0},rule:"a page from before the current one moved after it shifts −size, so `b` is still shown (:1493-1495)"},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:1},{kind:`reorder`,id:`b`,position:2}],opResults:[!0,!0],pageChanged:[],expected:{ids:[`a`,`c`,`b`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:2,page:2},rule:`moving the CURRENT page carries the position along with it (:1488-1489)`},{pages:[`a`,`b`,`c`],ops:[{kind:`reorder`,id:`a`,position:0}],opResults:[!1],pageChanged:[],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:0,page:0},rule:`reordering a page to where it already is returns before doing anything (:1439-1440)`},{pages:[`a`,`b`,`c`],ops:[{kind:`reorder`,id:`c`,position:-1}],opResults:[!1],pageChanged:[],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:0,page:0},rule:`moving the LAST page to the end is the second early-out, checked after normalisation (:1448-1449)`},{pages:[`a`,`b`,`c`],ops:[{kind:`scrollTo`,index:2}],opResults:[!0],pageChanged:[2],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:2,page:2},rule:"a completed scroll emits `page-changed` (:363-376)"},{pages:[`a`,`b`,`c`],ops:[{kind:`scrollTo`,index:1},{kind:`scrollTo`,index:1}],opResults:[!0,!0],pageChanged:[1,1],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:1,page:1},rule:`settling back onto the SAME page emits again — the web port’s index-change gate swallowed this`},{pages:[`a`,`b`,`c`],ops:[{kind:`scrollTo`,index:99},{kind:`scrollTo`,index:-1},{kind:`scrollTo`,index:1.5},{kind:`scrollTo`,index:NaN}],opResults:[!1,!1,!1,!1],pageChanged:[],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:0,page:0},rule:"out-of-range, fractional and NaN targets are REFUSED, not clamped — `get_nth_page` fails its precondition and `scroll_to` returns on the NULL widget (:1616, :385-386). NaN used to set the NS position to NaN"},{pages:[],ops:[{kind:`settle`}],opResults:[!0],pageChanged:[-1],expected:{ids:[],nPages:0,sizes:[],snapPoints:[],position:0,page:-1},rule:`an empty carousel reports index -1, the case the signal documents (:1150-1151) and neither port could produce`},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:.5},{kind:`settle`}],opResults:[!0,!0],pageChanged:[0],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:.5,page:0},rule:`settling half-way reports the LOWER page; both ports reported 1`}],u=[{pages:[`a`,`b`,`c`],ops:[{kind:`insert`,id:`d`,position:0}],expected:{ids:[`d`,`a`,`b`,`c`],nPages:4,sizes:[0,1,1,1],snapPoints:[-1,0,1,2],position:0,page:1},rule:"immediately after the insert the page has size 0 and a NEGATIVE snap point, and the carousel still shows `a` (:1385-1386, :782)"},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:1},{kind:`insert`,id:`d`,position:0},{kind:`size`,id:`d`,size:.5}],expected:{ids:[`d`,`a`,`b`,`c`],nPages:4,sizes:[.5,1,1,1],snapPoints:[-.5,.5,1.5,2.5],position:1.5,page:2},rule:"half-way through the reveal the position has moved half a page, so `b` has not slid sideways (`resize_animation_value_cb`, :284-297)"},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:1},{kind:`insert`,id:`d`,position:0},{kind:`reveal`,id:`d`}],expected:{ids:[`d`,`a`,`b`,`c`],nPages:4,sizes:[1,1,1,1],snapPoints:[0,1,2,3],position:2,page:2},rule:"once revealed the shift has moved a full page and `b` is still the current one"},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:2},{kind:`remove`,id:`b`}],expected:{ids:[`a`,`c`],nPages:2,sizes:[1,1,1],snapPoints:[0,1,2],position:2,page:1},rule:`a removed page leaves n-pages at once (:1522, :1640-1645) but keeps its geometry, so the pages after it have not moved yet`},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:2},{kind:`remove`,id:`b`},{kind:`size`,id:`b`,size:.5}],expected:{ids:[`a`,`c`],nPages:2,sizes:[1,.5,1],snapPoints:[0,.5,1.5],position:1.5,page:1},rule:"while it shrinks the position follows, keeping `c` on screen"},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:2},{kind:`remove`,id:`b`},{kind:`reveal`,id:`b`}],expected:{ids:[`a`,`c`],nPages:2,sizes:[1,1],snapPoints:[0,1],position:1,page:1},rule:"reaching size 0 drops the entry from the geometry entirely (`resize_animation_done_cb`, :309-313)"},{pages:[`a`,`b`],ops:[{kind:`insert`,id:`c`},{kind:`remove`,id:`c`}],expected:{ids:[`a`,`b`],nPages:2,sizes:[1,1],snapPoints:[0,1],position:0,page:0},rule:`removing a page that is still revealing frees it on the spot — the skip finishes the animation, which runs the done handler (:329-337 → :309-313)`},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:1},{kind:`remove`,id:`b`},{kind:`reveal`,id:`b`}],expected:{ids:[`a`,`c`],nPages:2,sizes:[1,1],snapPoints:[0,1],position:0,page:0},rule:"removing the CURRENT page shifts too — `update_shift_position_flag` counts removing children on purpose (:248-249)"}],d=[{property:`orientation`,value:`horizontal`,rule:`adw_carousel_init (:1205)`},{property:`interactive`,value:!0,rule:`AdwCarousel:interactive defaults TRUE (:1051-1054)`},{property:`allowScrollWheel`,value:!0,rule:`AdwCarousel:allow-scroll-wheel defaults TRUE (:1103-1106, :1201) — the web port defaulted it FALSE`},{property:`allowLongSwipes`,value:!1,rule:`AdwCarousel:allow-long-swipes defaults FALSE (:1115-1118) — one flick, one page`},{property:`spacing`,value:0,rule:`AdwCarousel:spacing defaults 0 (:1061-1066)`},{property:`revealDuration`,value:0,rule:`AdwCarousel:reveal-duration defaults 0 (:1127-1132, :1206)`}];export{r as CAROUSEL_CLAMP_VECTORS,a as CAROUSEL_NAVIGATE_VECTORS,i as CAROUSEL_PAGE_AT_POSITION_VECTORS,l as CAROUSEL_PAGE_LIST_VECTORS,d as CAROUSEL_PROPERTY_DEFAULT_VECTORS,n as CAROUSEL_RANGE_VECTORS,c as CAROUSEL_REORDER_SHIFT_VECTORS,u as CAROUSEL_REVEAL_VECTORS,t as CAROUSEL_SIZES_FROM_SNAP_POINTS_VECTORS,e as CAROUSEL_SNAP_POINT_VECTORS,s as CAROUSEL_WHEEL_LOCKOUT_VECTORS,o as CAROUSEL_WHEEL_VECTORS};
1
+ const e=[{sizes:[1,1,1],snapPoints:[0,1,2],rule:`settled pages sit one unit apart, starting at 0`},{sizes:[1],snapPoints:[0],rule:`a single page is always at position 0`},{sizes:[1,.5,1],snapPoints:[0,.5,1.5],rule:`a half-revealed page makes the snap points fractional`},{sizes:[0,1,1],snapPoints:[-1,0,1],rule:`a page inserted at 0 starts at size 0 (:1385), so its snap point is NEGATIVE — which is what keeps the pages behind it in place`},{sizes:[1,1,0],snapPoints:[0,1,1],rule:`a trailing size-0 page shares its predecessor’s snap point`},{sizes:[],snapPoints:[],rule:`no pages, no snap points — the swipeable view pads this to [0] (:1269)`}],t=[{snapPoints:[0,1,2],sizes:[1,1,1],rule:`settled pages round-trip to size 1`},{snapPoints:[0,.5,1.5],sizes:[1,.5,1],rule:`a mid-reveal page is recovered as a fraction`},{snapPoints:[-1,0,1],sizes:[0,1,1],rule:`the +1 offset recovers a just-inserted page as size 0`},{snapPoints:[0],sizes:[1],rule:`an EMPTY carousel still measures as one page (:1269 pads to a single 0)`},{snapPoints:[],sizes:[],rule:`nothing in, nothing out`}],n=[{available:480,pages:[{natural:440},{natural:440},{natural:440}],pageSize:440,leadingInset:20,rule:`a page narrower than the carousel keeps its natural size, and the 40px left over is split so BOTH neighbours peek in by 20px`},{available:480,pages:[{natural:200},{natural:440},{natural:300}],pageSize:440,leadingInset:20,rule:`every page is allocated the SAME size, the largest of them (:764)`},{available:480,pages:[{natural:900}],pageSize:480,leadingInset:0,rule:`a page wider than the carousel is capped at it (:754), the only case in which a page IS the carousel width`},{available:480,pages:[{natural:200,expand:!0},{natural:200}],pageSize:480,leadingInset:0,rule:`an expanding page takes the whole carousel (:751-752), and one expanding page sizes them all`},{available:480,pages:[{natural:450,minimum:600}],pageSize:600,leadingInset:-60,rule:`CLAMP tests the HIGH bound first, so a page whose MINIMUM exceeds the carousel gets its minimum and the strip overhangs both edges`},{available:0,pages:[{natural:440}],pageSize:0,leadingInset:0,rule:`a carousel with no width allocates no page, which is why a renderer must wait for its first layout before measuring anything`},{available:480,pages:[],pageSize:0,leadingInset:240,rule:"no pages, no size: `size` starts at 0 (:738) with nothing to MAX it against"}],r=[{snapPoints:[0,1,2],positionShift:0,lower:0,upper:2,rule:`the last snap point is the upper bound`},{snapPoints:[],positionShift:0,lower:0,upper:0,rule:`an empty carousel cannot scroll (:212-219)`},{snapPoints:[0],positionShift:0,lower:0,upper:0,rule:`one page cannot scroll either`},{snapPoints:[0,1,2],positionShift:-5,lower:0,upper:0,rule:`MAX(0, …) floors the bound — a large pending shift collapses the range instead of inverting it`},{snapPoints:[-1,0,1],positionShift:0,lower:0,upper:1,rule:`a negative FIRST snap point does not lower the bound; only the last one is read`}],i=[{position:5,snapPoints:[0,1,2],clamped:2,rule:`past the end clamps to the last snap point`},{position:-3,snapPoints:[0,1,2],clamped:0,rule:`below the start clamps to 0`},{position:1.7,snapPoints:[0,1,2],clamped:1.7,rule:`the clamp BOUNDS the scroll, it does not snap — a fractional position passes through`},{position:5,snapPoints:[],clamped:0,rule:`an empty carousel clamps everything to 0`},{position:0,snapPoints:[0,1,2],clamped:0,rule:`an in-range position is untouched`}],a=[{position:0,snapPoints:[0,1,2],page:0,rule:`exactly on a snap point`},{position:2,snapPoints:[0,1,2],page:2,rule:`exactly on the last snap point`},{position:.5,snapPoints:[0,1,2],page:0,rule:`an exact tie resolves to the LOWER page — Math.round would answer 1 here, and both ports did`},{position:.5000001,snapPoints:[0,1,2],page:1,rule:`a hair past the tie flips to the later page`},{position:.4999999,snapPoints:[0,1,2],page:0,rule:`a hair before the tie stays on the earlier page`},{position:1.5,snapPoints:[0,1,2],page:1,rule:`the tie-break is the same at every boundary`},{position:9,snapPoints:[0,1,2],page:2,rule:`the position is clamped into the range BEFORE the search`},{position:-1,snapPoints:[0,1,2],page:0,rule:`clamped from below the same way`},{position:0,snapPoints:[],page:-1,rule:"an empty carousel has no current page — the -1 `page-changed` documents (:1150-1151)"},{position:.5,snapPoints:[-1,0,1],page:1,rule:`mid-insert geometry: the search runs on snap points, not on indices`}],o=[{position:0,nPages:3,direction:`back`,target:null,rule:`already at the first page (:489-494)`},{position:2,nPages:3,direction:`forward`,target:null,rule:`already at the last page (:495-499)`},{position:0,nPages:3,direction:`forward`,target:1,rule:`one page forward`},{position:2,nPages:3,direction:`back`,target:1,rule:`one page back`},{position:.5,nPages:3,direction:`forward`,target:2,rule:`round(0.5) = 1 — half AWAY FROM ZERO, where the page lookup would have answered 0`},{position:.5,nPages:3,direction:`back`,target:0,rule:`the same rounding backwards: 1 − 1`},{position:1.4,nPages:3,direction:`back`,target:0,rule:`round(1.4) = 1, then −1`},{position:1.6,nPages:3,direction:`forward`,target:null,rule:`round(1.6) = 2, already the last page`},{position:0,nPages:0,direction:`forward`,target:null,rule:`an empty carousel never navigates (:482-484)`},{position:0,nPages:1,direction:`forward`,target:null,rule:`a single page is both bounds`}],s=[{deltaX:0,deltaY:53,orientation:`horizontal`,source:`mouse`,step:1,rule:`a mouse wheel pages a HORIZONTAL carousel — mice rarely have a horizontal wheel (:540-542)`},{deltaX:0,deltaY:-53,orientation:`horizontal`,source:`mouse`,step:-1,rule:`the same, backwards`},{deltaX:-30,deltaY:0,orientation:`horizontal`,source:`mouse`,step:-1,rule:`the dx FALLBACK the web port dropped: it returned early on |dy| <= |dx|, so this did nothing`},{deltaX:30,deltaY:-53,orientation:`horizontal`,source:`mouse`,step:-1,rule:`dx is only consulted when the vertical branch produced nothing (:554)`},{deltaX:-30,deltaY:0,orientation:`horizontal`,source:`touchpad`,step:0,rule:`a touchpad always propagates — its kinetic scroll drives the swipe tracker (:537-538)`},{deltaX:0,deltaY:53,orientation:`horizontal`,source:`other`,step:0,rule:`a non-mouse device may only scroll ALONG the carousel’s axis`},{deltaX:53,deltaY:0,orientation:`horizontal`,source:`other`,step:1,rule:`and along the axis it works for any source`},{deltaX:0,deltaY:-10,orientation:`vertical`,source:`other`,step:-1,rule:`a vertical carousel reads dy`},{deltaX:53,deltaY:0,orientation:`vertical`,source:`mouse`,step:0,rule:`a vertical carousel NEVER reads dx — the fallback branch requires GTK_ORIENTATION_HORIZONTAL (:554)`},{deltaX:0,deltaY:0,orientation:`horizontal`,source:`mouse`,step:0,rule:`a null event propagates`}],c=[{pages:3,steps:[{at:1e3,deltaY:53,step:1,position:1},{at:1100,deltaY:53,step:0,position:1},{at:1150,deltaY:53,step:1,position:2}],rule:`a notch 100 ms later propagates; at exactly 150 ms the lockout has expired (g_timeout_add_once fires AT the duration)`},{pages:3,steps:[{at:0,deltaY:30,step:1,position:1},{at:200,deltaY:-30,step:-1,position:0}],rule:`opposite notches page BOTH ways — the accumulator the web port used cancelled them out instead`},{pages:2,steps:[{at:0,deltaY:53,step:1,position:1},{at:500,deltaY:53,step:1,position:1}],rule:`a notch at the last page still consumes the event and still arms the lockout (:561-576, :567)`}],l=[{closestPoint:1,oldPoint:2,newPoint:0,size:1,shift:1,rule:`a page from AFTER the current one moved BEFORE it: one page of content appeared ahead (:1490-1492)`},{closestPoint:1,oldPoint:0,newPoint:2,size:1,shift:-1,rule:`a page from BEFORE moved AFTER: one page of content disappeared ahead (:1493-1495)`},{closestPoint:1,oldPoint:1,newPoint:2,size:1,shift:1,rule:`the CURRENT page is the one moved, so the position follows it (:1488-1489)`},{closestPoint:0,oldPoint:1,newPoint:2,size:1,shift:0,rule:`a move entirely on one side of the position changes nothing`},{closestPoint:1,oldPoint:2,newPoint:0,size:.5,shift:.5,rule:`the shift is the moved page’s SIZE, so a half-revealed page shifts by half`}],u=[{pages:[`a`,`b`,`c`],ops:[],opResults:[],pageChanged:[],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:0,page:0},rule:`three settled pages sit one unit apart and start on page 0`},{pages:[`a`,`b`,`c`],ops:[{kind:`insert`,id:`d`}],opResults:[!0],pageChanged:[],expected:{ids:[`a`,`b`,`c`,`d`],nPages:4,sizes:[1,1,1,1],snapPoints:[0,1,2,3],position:0,page:0},rule:"append — `adw_carousel_append` is insert at -1 (:1349-1357)"},{pages:[`a`,`b`,`c`],ops:[{kind:`insert`,id:`d`,position:7}],opResults:[!0],pageChanged:[],expected:{ids:[`a`,`b`,`c`,`d`],nPages:4,sizes:[1,1,1,1],snapPoints:[0,1,2,3],position:0,page:0},rule:"a position past the end appends — `get_nth_link` returns NULL there (:1388-1391)"},{pages:[`a`,`b`,`c`],ops:[{kind:`insert`,id:`d`,position:0}],opResults:[!0],pageChanged:[],expected:{ids:[`d`,`a`,`b`,`c`],nPages:4,sizes:[1,1,1,1],snapPoints:[0,1,2,3],position:1,page:1},rule:"prepend — `adw_carousel_prepend` is insert at 0 (:1330-1339). The position moves to 1 so the page on screen is still `a`: a page revealed AT OR BEFORE the current one drags the position with it (`shift_position`, :241-258, :293-294)"},{pages:[`a`,`b`,`c`],ops:[{kind:`insert`,id:`d`,position:-2}],opResults:[!1],pageChanged:[],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:0,page:0},rule:`below -1 fails C’s own precondition (:1381) and adds nothing`},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:2},{kind:`insert`,id:`d`,position:0}],opResults:[!0,!0],pageChanged:[],expected:{ids:[`d`,`a`,`b`,`c`],nPages:4,sizes:[1,1,1,1],snapPoints:[0,1,2,3],position:3,page:3},rule:"inserting BEFORE the current page moves the position with it, so the same page stays on screen (`shift_position`, :241-258)"},{pages:[`a`,`b`,`c`],ops:[{kind:`insert`,id:`d`,position:2}],opResults:[!0],pageChanged:[],expected:{ids:[`a`,`b`,`d`,`c`],nPages:4,sizes:[1,1,1,1],snapPoints:[0,1,2,3],position:0,page:0},rule:`inserting AFTER the current page leaves the position alone`},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:2},{kind:`remove`,id:`a`}],opResults:[!0,!0],pageChanged:[],expected:{ids:[`b`,`c`],nPages:2,sizes:[1,1],snapPoints:[0,1],position:1,page:1},rule:"removing a page BEFORE the current one pulls the position back so `c` stays on screen"},{pages:[`a`,`b`,`c`],ops:[{kind:`remove`,id:`c`}],opResults:[!0],pageChanged:[],expected:{ids:[`a`,`b`],nPages:2,sizes:[1,1],snapPoints:[0,1],position:0,page:0},rule:`removing a page AFTER the current one leaves the position alone`},{pages:[`a`,`b`,`c`],ops:[{kind:`remove`,id:`zz`}],opResults:[!1],pageChanged:[],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:0,page:0},rule:`removing a page that is not there changes nothing`},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:1},{kind:`reorder`,id:`c`,position:0}],opResults:[!0,!0],pageChanged:[],expected:{ids:[`c`,`a`,`b`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:2,page:2},rule:"a page from after the current one moved before it shifts the position +size, so `b` is still shown (:1490-1492)"},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:1},{kind:`reorder`,id:`a`,position:2}],opResults:[!0,!0],pageChanged:[],expected:{ids:[`b`,`c`,`a`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:0,page:0},rule:"a page from before the current one moved after it shifts −size, so `b` is still shown (:1493-1495)"},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:1},{kind:`reorder`,id:`b`,position:2}],opResults:[!0,!0],pageChanged:[],expected:{ids:[`a`,`c`,`b`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:2,page:2},rule:`moving the CURRENT page carries the position along with it (:1488-1489)`},{pages:[`a`,`b`,`c`],ops:[{kind:`reorder`,id:`a`,position:0}],opResults:[!1],pageChanged:[],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:0,page:0},rule:`reordering a page to where it already is returns before doing anything (:1439-1440)`},{pages:[`a`,`b`,`c`],ops:[{kind:`reorder`,id:`c`,position:-1}],opResults:[!1],pageChanged:[],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:0,page:0},rule:`moving the LAST page to the end is the second early-out, checked after normalisation (:1448-1449)`},{pages:[`a`,`b`,`c`],ops:[{kind:`scrollTo`,index:2}],opResults:[!0],pageChanged:[2],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:2,page:2},rule:"a completed scroll emits `page-changed` (:363-376)"},{pages:[`a`,`b`,`c`],ops:[{kind:`scrollTo`,index:1},{kind:`scrollTo`,index:1}],opResults:[!0,!0],pageChanged:[1,1],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:1,page:1},rule:`settling back onto the SAME page emits again — the web port’s index-change gate swallowed this`},{pages:[`a`,`b`,`c`],ops:[{kind:`scrollTo`,index:99},{kind:`scrollTo`,index:-1},{kind:`scrollTo`,index:1.5},{kind:`scrollTo`,index:NaN}],opResults:[!1,!1,!1,!1],pageChanged:[],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:0,page:0},rule:"out-of-range, fractional and NaN targets are REFUSED, not clamped — `get_nth_page` fails its precondition and `scroll_to` returns on the NULL widget (:1616, :385-386). NaN used to set the NS position to NaN"},{pages:[],ops:[{kind:`settle`}],opResults:[!0],pageChanged:[-1],expected:{ids:[],nPages:0,sizes:[],snapPoints:[],position:0,page:-1},rule:`an empty carousel reports index -1, the case the signal documents (:1150-1151) and neither port could produce`},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:.5},{kind:`settle`}],opResults:[!0,!0],pageChanged:[0],expected:{ids:[`a`,`b`,`c`],nPages:3,sizes:[1,1,1],snapPoints:[0,1,2],position:.5,page:0},rule:`settling half-way reports the LOWER page; both ports reported 1`}],d=[{pages:[`a`,`b`,`c`],ops:[{kind:`insert`,id:`d`,position:0}],expected:{ids:[`d`,`a`,`b`,`c`],nPages:4,sizes:[0,1,1,1],snapPoints:[-1,0,1,2],position:0,page:1},rule:"immediately after the insert the page has size 0 and a NEGATIVE snap point, and the carousel still shows `a` (:1385-1386, :782)"},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:1},{kind:`insert`,id:`d`,position:0},{kind:`size`,id:`d`,size:.5}],expected:{ids:[`d`,`a`,`b`,`c`],nPages:4,sizes:[.5,1,1,1],snapPoints:[-.5,.5,1.5,2.5],position:1.5,page:2},rule:"half-way through the reveal the position has moved half a page, so `b` has not slid sideways (`resize_animation_value_cb`, :284-297)"},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:1},{kind:`insert`,id:`d`,position:0},{kind:`reveal`,id:`d`}],expected:{ids:[`d`,`a`,`b`,`c`],nPages:4,sizes:[1,1,1,1],snapPoints:[0,1,2,3],position:2,page:2},rule:"once revealed the shift has moved a full page and `b` is still the current one"},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:2},{kind:`remove`,id:`b`}],expected:{ids:[`a`,`c`],nPages:2,sizes:[1,1,1],snapPoints:[0,1,2],position:2,page:1},rule:`a removed page leaves n-pages at once (:1522, :1640-1645) but keeps its geometry, so the pages after it have not moved yet`},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:2},{kind:`remove`,id:`b`},{kind:`size`,id:`b`,size:.5}],expected:{ids:[`a`,`c`],nPages:2,sizes:[1,.5,1],snapPoints:[0,.5,1.5],position:1.5,page:1},rule:"while it shrinks the position follows, keeping `c` on screen"},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:2},{kind:`remove`,id:`b`},{kind:`reveal`,id:`b`}],expected:{ids:[`a`,`c`],nPages:2,sizes:[1,1],snapPoints:[0,1],position:1,page:1},rule:"reaching size 0 drops the entry from the geometry entirely (`resize_animation_done_cb`, :309-313)"},{pages:[`a`,`b`],ops:[{kind:`insert`,id:`c`},{kind:`remove`,id:`c`}],expected:{ids:[`a`,`b`],nPages:2,sizes:[1,1],snapPoints:[0,1],position:0,page:0},rule:`removing a page that is still revealing frees it on the spot — the skip finishes the animation, which runs the done handler (:329-337 → :309-313)`},{pages:[`a`,`b`,`c`],ops:[{kind:`setPosition`,position:1},{kind:`remove`,id:`b`},{kind:`reveal`,id:`b`}],expected:{ids:[`a`,`c`],nPages:2,sizes:[1,1],snapPoints:[0,1],position:0,page:0},rule:"removing the CURRENT page shifts too — `update_shift_position_flag` counts removing children on purpose (:248-249)"}],f=[{property:`orientation`,value:`horizontal`,rule:`adw_carousel_init (:1205)`},{property:`interactive`,value:!0,rule:`AdwCarousel:interactive defaults TRUE (:1051-1054)`},{property:`allowScrollWheel`,value:!0,rule:`AdwCarousel:allow-scroll-wheel defaults TRUE (:1103-1106, :1201) — the web port defaulted it FALSE`},{property:`allowLongSwipes`,value:!1,rule:`AdwCarousel:allow-long-swipes defaults FALSE (:1115-1118) — one flick, one page`},{property:`spacing`,value:0,rule:`AdwCarousel:spacing defaults 0 (:1061-1066)`},{property:`revealDuration`,value:0,rule:`AdwCarousel:reveal-duration defaults 0 (:1127-1132, :1206)`}];export{i as CAROUSEL_CLAMP_VECTORS,o as CAROUSEL_NAVIGATE_VECTORS,n as CAROUSEL_PAGE_ALLOCATION_VECTORS,a as CAROUSEL_PAGE_AT_POSITION_VECTORS,u as CAROUSEL_PAGE_LIST_VECTORS,f as CAROUSEL_PROPERTY_DEFAULT_VECTORS,r as CAROUSEL_RANGE_VECTORS,l as CAROUSEL_REORDER_SHIFT_VECTORS,d as CAROUSEL_REVEAL_VECTORS,t as CAROUSEL_SIZES_FROM_SNAP_POINTS_VECTORS,e as CAROUSEL_SNAP_POINT_VECTORS,c as CAROUSEL_WHEEL_LOCKOUT_VECTORS,s as CAROUSEL_WHEEL_VECTORS};
@@ -1 +1 @@
1
- import"../_virtual/_rolldown/runtime.js";const e=[{source:`dimming`,open:!0,canClose:!0,outcome:`close`,rule:`a scrim click on an unlocked open sheet closes it`,derivedFrom:`released_cb, adw-bottom-sheet.c:236-240`},{source:`dimming`,open:!0,canClose:!1,outcome:`close-attempt`,rule:`a locked sheet SIGNALS the scrim click instead of swallowing it`,derivedFrom:`released_cb, adw-bottom-sheet.c:237-238`},{source:`dimming`,open:!1,canClose:!0,outcome:`ignored`,rule:`the scrim is not an event target while the sheet is closed, so nothing happens and nothing is signalled`,derivedFrom:`gtk_widget_set_can_target (self->dimming, open), adw-bottom-sheet.c:1148 + 1692`},{source:`dimming`,open:!1,canClose:!1,outcome:`ignored`,rule:`unreachable-while-closed beats the can-close signal — a locked CLOSED sheet says nothing`,derivedFrom:`adw-bottom-sheet.c:1692 (reachability) before released_cb:237`},{source:`escape`,open:!0,canClose:!0,outcome:`close`,rule:`Escape closes an unlocked open sheet`,derivedFrom:`maybe_close_cb, adw-bottom-sheet.c:393-395`},{source:`escape`,open:!0,canClose:!1,outcome:`close-attempt`,rule:`Escape on a locked sheet signals`,derivedFrom:`maybe_close_cb, adw-bottom-sheet.c:398`},{source:`escape`,open:!1,canClose:!0,outcome:`close-attempt`,rule:`THE SURPRISING ONE: Escape on a closed-but-focused sheet still signals, because the emit is the fallthrough for every case that is not (can_close && open). The sheet bin stays focusable while it shows a bottom bar. Both ports returned nothing here`,derivedFrom:`maybe_close_cb, adw-bottom-sheet.c:393-399`},{source:`escape`,open:!1,canClose:!1,outcome:`close-attempt`,rule:`the fallthrough covers this corner too`,derivedFrom:`maybe_close_cb, adw-bottom-sheet.c:398`},{source:`close-button`,open:!0,canClose:!0,outcome:`close`,rule:`the sheet.close action closes an unlocked open sheet`,derivedFrom:`sheet_close_cb, adw-bottom-sheet.c:377-380`},{source:`close-button`,open:!0,canClose:!1,outcome:`close-attempt`,rule:`can_close is tested FIRST, before the open check`,derivedFrom:`sheet_close_cb, adw-bottom-sheet.c:372-375`},{source:`close-button`,open:!1,canClose:!0,outcome:`delegate`,rule:`sheet.close on an already-closed sheet forwards the action to the PARENT (a sheet inside a sheet closes the outer one) rather than doing nothing`,derivedFrom:`sheet_close_cb, adw-bottom-sheet.c:382-385`},{source:`close-button`,open:!1,canClose:!1,outcome:`close-attempt`,rule:`a locked sheet never reaches the delegation branch — the can_close guard returns first`,derivedFrom:`sheet_close_cb, adw-bottom-sheet.c:372-375`},{source:`drag-handle`,open:!0,canClose:!0,outcome:`ignored`,rule:`THE SHARED MISTAKE: the drag handle is not an event target in libadwaita, so it closes nothing. Both ports had wired it to close the sheet`,derivedFrom:`gtk_widget_set_can_focus/can_target (self->drag_handle, FALSE), adw-bottom-sheet.c:1197-1198`},{source:`drag-handle`,open:!0,canClose:!1,outcome:`ignored`,rule:`not a can-close question at all — a decorative widget cannot attempt anything`,derivedFrom:`adw-bottom-sheet.c:1197-1198`},{source:`drag-handle`,open:!1,canClose:!0,outcome:`ignored`,rule:`its only behavioural role is elsewhere: allow_mouse_drag = show_drag_handle || bottom_bar`,derivedFrom:`adw-bottom-sheet.c:1197-1198 + update_swipe_tracker:455-457`},{source:`swipe`,open:!0,canClose:!0,outcome:`close`,rule:`a downward swipe past the midpoint closes an unlocked open sheet`,derivedFrom:`prepare_cb adw-bottom-sheet.c:1050 → end_swipe_cb adw-bottom-sheet.c:1099-1103`},{source:`swipe`,open:!0,canClose:!1,outcome:`ignored`,rule:`a locked sheet swallows the swipe SILENTLY — prepare_cb refuses to detect it, so unlike the scrim and Escape there is no close-attempt`,derivedFrom:`prepare_cb, adw-bottom-sheet.c:1050-1051`},{source:`swipe`,open:!1,canClose:!0,outcome:`ignored`,rule:`a swipe on a closed sheet is an OPEN gesture (gated by can-open), never a close one`,derivedFrom:`prepare_cb, adw-bottom-sheet.c:1052-1053`}];function runBottomSheetSteps(e,t){let n=[];for(let r of t)switch(r.kind){case`setOpen`:e.setOpen(r.open);break;case`setCanClose`:e.setCanClose(r.canClose);break;case`requestClose`:n.push(e.requestClose(r.source));break}return n}const t=[{steps:[],outcomes:[],notifications:[],callbacks:[],open:!1,hasBeenOpen:!1,rule:`a fresh sheet is closed, unlocked and has never been open`,derivedFrom:`adw_bottom_sheet_init adw-bottom-sheet.c:1125-1133 + the open pspec default at :852-855`},{steps:[{kind:`setOpen`,open:!0}],outcomes:[],notifications:[!0],callbacks:[],open:!0,hasBeenOpen:!0,rule:`opening notifies once and latches has_been_open`,derivedFrom:`adw-bottom-sheet.c:1684-1689 + the notify at :1777`},{steps:[{kind:`setOpen`,open:!0},{kind:`setOpen`,open:!0}],outcomes:[],notifications:[!0],callbacks:[],open:!0,hasBeenOpen:!0,rule:`setting the current value again is a no-op — no second notification`,derivedFrom:`adw-bottom-sheet.c:1672-1682`},{steps:[{kind:`setOpen`,open:!1}],outcomes:[],notifications:[],callbacks:[`closing`,`closed`],open:!1,hasBeenOpen:!1,rule:`THE REPLAY: closing a sheet that was NEVER open changes nothing and notifies nothing, but still fires closing+closed — this is how a dialog dismissed before it ever animated in gets torn down`,derivedFrom:`adw-bottom-sheet.c:1672-1682`},{steps:[{kind:`setOpen`,open:!0},{kind:`setOpen`,open:!1},{kind:`setOpen`,open:!1}],outcomes:[],notifications:[!0,!1],callbacks:[`closing`],open:!1,hasBeenOpen:!0,rule:`once has_been_open is set the replay branch is skipped: the third call fires NOTHING`,derivedFrom:`adw-bottom-sheet.c:1673 (the !has_been_open guard) + :1689`},{steps:[{kind:`setCanClose`,canClose:!1},{kind:`setOpen`,open:!0},{kind:`setOpen`,open:!1}],outcomes:[],notifications:[!0,!1],callbacks:[`closing`],open:!1,hasBeenOpen:!0,rule:`can-close does NOT gate the programmatic path — "Bottom sheet can still be closed using [property@BottomSheet:open]"`,derivedFrom:`adw_bottom_sheet_set_open adw-bottom-sheet.c:1661-1778 (never reads can_close) + the doc at :2071`},{steps:[{kind:`setOpen`,open:!0},{kind:`requestClose`,source:`dimming`}],outcomes:[`close`],notifications:[!0,!1],callbacks:[`closing`],open:!1,hasBeenOpen:!0,rule:`an accepted dismissal runs the same close path as the programmatic one`,derivedFrom:`released_cb adw-bottom-sheet.c:239 → adw_bottom_sheet_set_open`},{steps:[{kind:`setOpen`,open:!0},{kind:`setCanClose`,canClose:!1},{kind:`requestClose`,source:`dimming`},{kind:`requestClose`,source:`escape`},{kind:`requestClose`,source:`swipe`}],outcomes:[`close-attempt`,`close-attempt`,`ignored`],notifications:[!0],callbacks:[],open:!0,hasBeenOpen:!0,rule:`a locked sheet signals the scrim and Escape but swallows the swipe — three affordances, two different answers`,derivedFrom:`released_cb:237-238 + maybe_close_cb:398 + prepare_cb:1050-1051`},{steps:[{kind:`setOpen`,open:!0},{kind:`requestClose`,source:`drag-handle`}],outcomes:[`ignored`],notifications:[!0],callbacks:[],open:!0,hasBeenOpen:!0,rule:`REGRESSION PIN: tapping the drag handle leaves an open sheet open. Both ports closed it here`,derivedFrom:`adw-bottom-sheet.c:1197-1198`},{steps:[{kind:`setOpen`,open:!0},{kind:`setOpen`,open:!1},{kind:`requestClose`,source:`escape`},{kind:`requestClose`,source:`close-button`}],outcomes:[`close-attempt`,`delegate`],notifications:[!0,!1],callbacks:[`closing`],open:!1,hasBeenOpen:!0,rule:`REGRESSION PIN: on a closed sheet Escape still signals and sheet.close delegates upward — neither port did either`,derivedFrom:`maybe_close_cb:393-399 + sheet_close_cb:382-385`},{steps:[{kind:`setOpen`,open:!0},{kind:`setCanClose`,canClose:!1},{kind:`requestClose`,source:`escape`},{kind:`setCanClose`,canClose:!0},{kind:`requestClose`,source:`escape`}],outcomes:[`close-attempt`,`close`],notifications:[!0,!1],callbacks:[`closing`],open:!1,hasBeenOpen:!0,rule:`unlocking mid-life makes the same affordance start closing`,derivedFrom:`adw_bottom_sheet_set_can_close adw-bottom-sheet.c:2076-2091`}];export{e as BOTTOM_SHEET_CLOSE_VECTORS,t as BOTTOM_SHEET_PRESENTATION_VECTORS,runBottomSheetSteps};
1
+ import"../_virtual/_rolldown/runtime.js";const e=[{source:`dimming`,open:!0,canClose:!0,outcome:`close`,rule:`a scrim click on an unlocked open sheet closes it`,derivedFrom:`released_cb, adw-bottom-sheet.c:236-240`},{source:`dimming`,open:!0,canClose:!1,outcome:`close-attempt`,rule:`a locked sheet SIGNALS the scrim click instead of swallowing it`,derivedFrom:`released_cb, adw-bottom-sheet.c:237-238`},{source:`dimming`,open:!1,canClose:!0,outcome:`ignored`,rule:`the scrim is not an event target while the sheet is closed, so nothing happens and nothing is signalled`,derivedFrom:`gtk_widget_set_can_target (self->dimming, open), adw-bottom-sheet.c:1148 + 1692`},{source:`dimming`,open:!1,canClose:!1,outcome:`ignored`,rule:`unreachable-while-closed beats the can-close signal — a locked CLOSED sheet says nothing`,derivedFrom:`adw-bottom-sheet.c:1692 (reachability) before released_cb:237`},{source:`escape`,open:!0,canClose:!0,outcome:`close`,rule:`Escape closes an unlocked open sheet`,derivedFrom:`maybe_close_cb, adw-bottom-sheet.c:393-395`},{source:`escape`,open:!0,canClose:!1,outcome:`close-attempt`,rule:`Escape on a locked sheet signals`,derivedFrom:`maybe_close_cb, adw-bottom-sheet.c:398`},{source:`escape`,open:!1,canClose:!0,outcome:`close-attempt`,rule:`THE SURPRISING ONE: Escape on a closed-but-focused sheet still signals, because the emit is the fallthrough for every case that is not (can_close && open). The sheet bin stays focusable while it shows a bottom bar. Both ports returned nothing here`,derivedFrom:`maybe_close_cb, adw-bottom-sheet.c:393-399`},{source:`escape`,open:!1,canClose:!1,outcome:`close-attempt`,rule:`the fallthrough covers this corner too`,derivedFrom:`maybe_close_cb, adw-bottom-sheet.c:398`},{source:`close-button`,open:!0,canClose:!0,outcome:`close`,rule:`the sheet.close action closes an unlocked open sheet`,derivedFrom:`sheet_close_cb, adw-bottom-sheet.c:377-380`},{source:`close-button`,open:!0,canClose:!1,outcome:`close-attempt`,rule:`can_close is tested FIRST, before the open check`,derivedFrom:`sheet_close_cb, adw-bottom-sheet.c:372-375`},{source:`close-button`,open:!1,canClose:!0,outcome:`delegate`,rule:`sheet.close on an already-closed sheet forwards the action to the PARENT (a sheet inside a sheet closes the outer one) rather than doing nothing`,derivedFrom:`sheet_close_cb, adw-bottom-sheet.c:382-385`},{source:`close-button`,open:!1,canClose:!1,outcome:`close-attempt`,rule:`a locked sheet never reaches the delegation branch — the can_close guard returns first`,derivedFrom:`sheet_close_cb, adw-bottom-sheet.c:372-375`},{source:`drag-handle`,open:!0,canClose:!0,outcome:`ignored`,rule:`THE SHARED MISTAKE: the drag handle is not an event target in libadwaita, so it closes nothing. Both ports had wired it to close the sheet`,derivedFrom:`gtk_widget_set_can_focus/can_target (self->drag_handle, FALSE), adw-bottom-sheet.c:1197-1198`},{source:`drag-handle`,open:!0,canClose:!1,outcome:`ignored`,rule:`not a can-close question at all — a decorative widget cannot attempt anything`,derivedFrom:`adw-bottom-sheet.c:1197-1198`},{source:`drag-handle`,open:!1,canClose:!0,outcome:`ignored`,rule:`its only behavioural role is elsewhere: allow_mouse_drag = show_drag_handle || bottom_bar`,derivedFrom:`adw-bottom-sheet.c:1197-1198 + update_swipe_tracker:455-457`},{source:`swipe`,open:!0,canClose:!0,outcome:`close`,rule:`a downward swipe past the midpoint closes an unlocked open sheet`,derivedFrom:`prepare_cb adw-bottom-sheet.c:1050 → end_swipe_cb adw-bottom-sheet.c:1099-1103`},{source:`swipe`,open:!0,canClose:!1,outcome:`ignored`,rule:`a locked sheet swallows the swipe SILENTLY — prepare_cb refuses to detect it, so unlike the scrim and Escape there is no close-attempt`,derivedFrom:`prepare_cb, adw-bottom-sheet.c:1050-1051`},{source:`swipe`,open:!1,canClose:!0,outcome:`ignored`,rule:`a swipe on a closed sheet is an OPEN gesture (gated by can-open), never a close one`,derivedFrom:`prepare_cb, adw-bottom-sheet.c:1052-1053`}];function runBottomSheetSteps(e,t){let n=[];for(let r of t)switch(r.kind){case`setOpen`:e.setOpen(r.open);break;case`setCanClose`:e.setCanClose(r.canClose);break;case`requestClose`:n.push(e.requestClose(r.source));break}return n}const t=[{steps:[],outcomes:[],notifications:[],callbacks:[],open:!1,hasBeenOpen:!1,rule:`a fresh sheet is closed, unlocked and has never been open`,derivedFrom:`adw_bottom_sheet_init adw-bottom-sheet.c:1125-1133 + the open pspec default at :852-855`},{steps:[{kind:`setOpen`,open:!0}],outcomes:[],notifications:[!0],callbacks:[],open:!0,hasBeenOpen:!0,rule:`opening notifies once and latches has_been_open`,derivedFrom:`adw-bottom-sheet.c:1684-1689 + the notify at :1777`},{steps:[{kind:`setOpen`,open:!0},{kind:`setOpen`,open:!0}],outcomes:[],notifications:[!0],callbacks:[],open:!0,hasBeenOpen:!0,rule:`setting the current value again is a no-op — no second notification`,derivedFrom:`adw-bottom-sheet.c:1672-1682`},{steps:[{kind:`setOpen`,open:!1}],outcomes:[],notifications:[],callbacks:[`closing`,`closed`],open:!1,hasBeenOpen:!1,rule:`THE REPLAY: closing a sheet that was NEVER open changes nothing and notifies nothing, but still fires closing+closed — this is how a dialog dismissed before it ever animated in gets torn down`,derivedFrom:`adw-bottom-sheet.c:1672-1682`},{steps:[{kind:`setOpen`,open:!0},{kind:`setOpen`,open:!1},{kind:`setOpen`,open:!1}],outcomes:[],notifications:[!0,!1],callbacks:[`closing`],open:!1,hasBeenOpen:!0,rule:`once has_been_open is set the replay branch is skipped: the third call fires NOTHING`,derivedFrom:`adw-bottom-sheet.c:1673 (the !has_been_open guard) + :1689`},{steps:[{kind:`setCanClose`,canClose:!1},{kind:`setOpen`,open:!0},{kind:`setOpen`,open:!1}],outcomes:[],notifications:[!0,!1],callbacks:[`closing`],open:!1,hasBeenOpen:!0,rule:`can-close does NOT gate the programmatic path — "Bottom sheet can still be closed using [property@BottomSheet:open]"`,derivedFrom:`adw_bottom_sheet_set_open adw-bottom-sheet.c:1661-1778 (never reads can_close) + the doc at :2071`},{steps:[{kind:`setOpen`,open:!0},{kind:`requestClose`,source:`dimming`}],outcomes:[`close`],notifications:[!0,!1],callbacks:[`closing`],open:!1,hasBeenOpen:!0,rule:`an accepted dismissal runs the same close path as the programmatic one`,derivedFrom:`released_cb adw-bottom-sheet.c:239 → adw_bottom_sheet_set_open`},{steps:[{kind:`setOpen`,open:!0},{kind:`requestClose`,source:`dimming`},{kind:`setOpen`,open:!0}],outcomes:[`close`],notifications:[!0,!1,!0],callbacks:[`closing`],open:!0,hasBeenOpen:!0,rule:`a dismissed sheet re-opens, and notifies a third time. Every other row stops at its first close, so a close path that latched (a listener torn down and never re-attached, a state that only travels one way) would leave the whole table green`,derivedFrom:`adw_bottom_sheet_set_open adw-bottom-sheet.c:1661-1778: has_been_open (:1673) gates only the teardown replay, never a later open`},{steps:[{kind:`setOpen`,open:!0},{kind:`setCanClose`,canClose:!1},{kind:`requestClose`,source:`dimming`},{kind:`requestClose`,source:`escape`},{kind:`requestClose`,source:`swipe`}],outcomes:[`close-attempt`,`close-attempt`,`ignored`],notifications:[!0],callbacks:[],open:!0,hasBeenOpen:!0,rule:`a locked sheet signals the scrim and Escape but swallows the swipe — three affordances, two different answers`,derivedFrom:`released_cb:237-238 + maybe_close_cb:398 + prepare_cb:1050-1051`},{steps:[{kind:`setOpen`,open:!0},{kind:`requestClose`,source:`drag-handle`}],outcomes:[`ignored`],notifications:[!0],callbacks:[],open:!0,hasBeenOpen:!0,rule:`REGRESSION PIN: tapping the drag handle leaves an open sheet open. Both ports closed it here`,derivedFrom:`adw-bottom-sheet.c:1197-1198`},{steps:[{kind:`setOpen`,open:!0},{kind:`setOpen`,open:!1},{kind:`requestClose`,source:`escape`},{kind:`requestClose`,source:`close-button`}],outcomes:[`close-attempt`,`delegate`],notifications:[!0,!1],callbacks:[`closing`],open:!1,hasBeenOpen:!0,rule:`REGRESSION PIN: on a closed sheet Escape still signals and sheet.close delegates upward — neither port did either`,derivedFrom:`maybe_close_cb:393-399 + sheet_close_cb:382-385`},{steps:[{kind:`setOpen`,open:!0},{kind:`setCanClose`,canClose:!1},{kind:`requestClose`,source:`escape`},{kind:`setCanClose`,canClose:!0},{kind:`requestClose`,source:`escape`}],outcomes:[`close-attempt`,`close`],notifications:[!0,!1],callbacks:[`closing`],open:!1,hasBeenOpen:!0,rule:`unlocking mid-life makes the same affordance start closing`,derivedFrom:`adw_bottom_sheet_set_can_close adw-bottom-sheet.c:2076-2091`}];export{e as BOTTOM_SHEET_CLOSE_VECTORS,t as BOTTOM_SHEET_PRESENTATION_VECTORS,runBottomSheetSteps};
@@ -1 +1 @@
1
- import{ABOUT_DIALOG_CREDITS_LEGAL_VECTORS as e,ABOUT_DIALOG_DETAILS_VECTORS as t,ABOUT_DIALOG_HEADER_VECTORS as n,ABOUT_DIALOG_LABEL_VECTORS as r,ABOUT_DIALOG_SUPPORT_VECTORS as i,CREDITS_SECTIONS_VECTORS as a,CREDIT_PERSON_VECTORS as o,LEGAL_SECTION_VECTORS as s,LICENSE_INFO_VECTORS as c,LICENSE_SETTER_VECTORS as l,LICENSE_SPDX_VECTORS as u,LICENSE_TEXT_VECTORS as d,TRANSLATOR_CREDITS_VECTORS as f}from"./about-dialog.js";import{ACCENT_COLOR_VECTORS as p}from"./accent.js";import{ACTION_ROW_ACTIVATION_VECTORS as m,BUTTON_ROW_ACTIVATABLE_VECTORS as h,BUTTON_ROW_ICON_VECTORS as g,LABEL_VISIBILITY_VECTORS as _,SWITCH_ROW_NOTIFY_VECTORS as v,WINDOW_TITLE_VECTORS as y}from"./action-row.js";import{AVATAR_COLOR_VECTORS as b,AVATAR_FONT_SIZE_VECTORS as x,AVATAR_INITIALS_VECTORS as S,AVATAR_MODE_VECTORS as C}from"./avatar.js";import{BANNER_BUTTON_STYLE_PARSE_VECTORS as w,BANNER_BUTTON_STYLE_VECTORS as T,BANNER_BUTTON_TEXT_VECTORS as E,BANNER_BUTTON_VISIBLE_VECTORS as D,BANNER_DEFAULT_VECTORS as O}from"./banner.js";import{BUTTON_CONTENT_DEFAULT_VECTORS as k,BUTTON_CONTENT_ELLIPSIZE_VECTORS as A,BUTTON_CONTENT_ICON_VECTORS as j,BUTTON_CONTENT_LABEL_VECTORS as M,BUTTON_CONTENT_STYLE_TARGET_VECTORS as N,BUTTON_CONTENT_TEXT_VECTORS as P}from"./button-content.js";import{CAROUSEL_CLAMP_VECTORS as F,CAROUSEL_NAVIGATE_VECTORS as I,CAROUSEL_PAGE_AT_POSITION_VECTORS as L,CAROUSEL_PAGE_LIST_VECTORS as R,CAROUSEL_PROPERTY_DEFAULT_VECTORS as z,CAROUSEL_RANGE_VECTORS as B,CAROUSEL_REORDER_SHIFT_VECTORS as V,CAROUSEL_REVEAL_VECTORS as H,CAROUSEL_SIZES_FROM_SNAP_POINTS_VECTORS as U,CAROUSEL_SNAP_POINT_VECTORS as W,CAROUSEL_WHEEL_LOCKOUT_VECTORS as G,CAROUSEL_WHEEL_VECTORS as K}from"./carousel.js";import{RADIO_GROUP_VECTORS as q}from"./checks.js";import{CLAMP_ALLOCATE_VECTORS as J,CLAMP_CHILD_SIZE_VECTORS as Y,CLAMP_PROPERTY_VECTORS as X,CLAMP_SIZE_FROM_CHILD_VECTORS as Z,CLAMP_THRESHOLD_VECTORS as Q,SPINNER_GEOMETRY_VECTORS as $,SPINNER_SIZE_VECTORS as ee,TOOLBAR_VIEW_ALLOCATE_VECTORS as te,TOOLBAR_VIEW_CLASS_VECTORS as ne,TOOLBAR_VIEW_CONTENT_FOR_SIZE_VECTORS as re,TOOLBAR_VIEW_MEASURE_VECTORS as ie}from"./chrome.js";import{DATA_GRID_CELL_TEXT_VECTORS as ae,DATA_GRID_COLUMN_CLASS_VECTORS as oe,DATA_GRID_COLUMN_NORMALIZE_VECTORS as se,DATA_GRID_INTERACTIVE_VECTORS as ce,DATA_GRID_TRACK_VECTORS as le,DATA_GRID_VARIANT_VECTORS as ue}from"./data-grid.js";import{BOTTOM_SHEET_CLOSE_VECTORS as de,BOTTOM_SHEET_PRESENTATION_VECTORS as fe,runBottomSheetSteps as pe}from"./dialog.js";import{ENTRY_MAX_LENGTH_VECTORS as me,ENTRY_ROW_ACTIVATION_VECTORS as he,ENTRY_ROW_GUARD_VECTORS as ge,ENTRY_ROW_STATE_VECTORS as _e,ENTRY_TEXT_LENGTH_VECTORS as ve,PASSWORD_ENTRY_ROW_VECTORS as ye,PASSWORD_REVEAL_GUARD_VECTORS as be}from"./entry-row.js";import{COMBO_CHOOSER_VECTORS as xe,COMBO_SELECTION_VECTORS as Se}from"./rows.js";import{VIEW_STACK_ICON_NAME_VECTORS as Ce,VIEW_STACK_PAGE_VECTORS as we,VIEW_STACK_VECTORS as Te}from"./view-stack.js";import{NAVIGATION_VIEW_VECTORS as Ee,collectNavigationState as De,navigationEventLog as Oe,runNavigationSteps as ke}from"./navigation-view.js";import{SIDEBAR_ACTIVATION_VECTORS as Ae,SIDEBAR_CLAMP_VECTORS as je,SIDEBAR_FILTER_VECTORS as Me,SIDEBAR_ITEMS_CHANGED_VECTORS as Ne,SIDEBAR_ITEM_FLAG_VECTORS as Pe,SIDEBAR_MODEL_VECTORS as Fe,SIDEBAR_MODE_VECTORS as Ie}from"./sidebar.js";import{ADW_LENGTH_UNIT_VECTORS as Le,GLIB_CLAMP_VECTORS as Re,NATURAL_SIDEBAR_WIDTH_VECTORS as ze,NAVIGATION_ACTION_VECTORS as Be,NAVIGATION_SPLIT_VIEW_LAYOUT_VECTORS as Ve,NAVIGATION_STACK_VECTORS as He,OVERLAY_COLLAPSE_VECTORS as Ue,OVERLAY_SPLIT_VIEW_LAYOUT_VECTORS as We,OVERLAY_SWIPE_AREA_VECTORS as Ge,OVERLAY_SWIPE_CANCEL_VECTORS as Ke,OVERLAY_SWIPE_RELEASE_VECTORS as qe,OVERLAY_SWIPE_SNAP_POINT_VECTORS as Je,OVERLAY_SWIPE_START_VECTORS as Ye,SIDEBAR_BOUNDS_VECTORS as Xe,SIDEBAR_WIDTH_VECTORS as Ze,SPLIT_VIEW_MEASURE_VECTORS as Qe,TAGS_CONFLICT_VECTORS as $e}from"./split-view.js";import{MENU_BUTTON_DIRECTION_VECTORS as et,SPLIT_BUTTON_CONTENT_VECTORS as tt,SPLIT_BUTTON_DIRECTION_VECTORS as nt,SPLIT_BUTTON_DROPDOWN_VECTORS as rt,SPLIT_BUTTON_MENU_ACTIVATION_VECTORS as it,SPLIT_BUTTON_MENU_PARSE_VECTORS as at,SPLIT_BUTTON_ROOT_STATE_VECTORS as ot,SPLIT_BUTTON_STYLE_CLASS_VECTORS as st,SPLIT_BUTTON_TOOLTIP_VECTORS as ct}from"./split-button.js";import{INLINE_TOGGLE_VECTORS as lt,INLINE_TOOLTIP_VECTORS as ut,VIEW_SWITCHER_BADGE_VECTORS as dt,VIEW_SWITCHER_BAR_REVEAL_VECTORS as ft,VIEW_SWITCHER_BAR_VECTORS as pt,VIEW_SWITCHER_BUTTON_VECTORS as mt,VIEW_SWITCHER_BUTTON_VISIBILITY_VECTORS as ht,VIEW_SWITCHER_DRAG_VECTORS as gt,VIEW_SWITCHER_ICON_VECTORS as _t,VIEW_SWITCHER_MNEMONIC_VECTORS as vt,VIEW_SWITCHER_REBUILD_VECTORS as yt,VIEW_SWITCHER_SELECTION_VECTORS as bt,createViewSwitcherClock as xt}from"./view-switcher.js";import{TABS_REVEALED_VECTORS as St,TAB_CLOSE_VISIBLE_VECTORS as Ct,TAB_DESCENDANT_VECTORS as wt,TAB_ICON_STATE_VECTORS as Tt,TAB_PAGE_DESCRIPTOR_VECTORS as Et,TAB_SUCCESSOR_VECTORS as Dt,TAB_TOOLTIP_VECTORS as Ot,TAB_VIEW_VECTORS as kt,applyTabViewOp as At,seedTabViewPages as jt,tabViewClosing as Mt,tabViewOrder as Nt}from"./tab-view.js";import{CASE_FOLD_VECTORS as Pt,MAKE_COMPARABLE_VECTORS as Ft,PREFERENCES_GROUP_HEADER_VECTORS as It,PREFERENCES_SEARCH_PAGES as Lt,PREFERENCES_SEARCH_VECTORS as Rt,ROW_MATCH_VECTORS as zt,SEARCH_CORPUS_VECTORS as Bt,SEARCH_ROW_SUBTITLE_VECTORS as Vt,STRIP_MARKUP_VECTORS as Ht,STRIP_MNEMONIC_VECTORS as Ut}from"./preferences.js";import{POPOVER_KEY_VECTORS as Wt,POPOVER_SURFACE_VECTORS as Gt}from"./popover.js";import{SHORTCUT_LABEL_VECTORS as Kt,formatShortcutLabelNodes as qt}from"./shortcut-label.js";import{SPINNER_ARC_ENVELOPE as Jt,SPINNER_ARC_PHASE_VECTORS as Yt,SPINNER_ARC_TOLERANCE as Xt,SPINNER_CONSTANT_VECTORS as Zt}from"./spinner.js";import{WRAP_BOX_CHILD_ORDER_VECTORS as Qt,WRAP_BOX_LENGTH_VECTORS as $t,WRAP_BOX_LINE_VECTORS as en,WRAP_BOX_NATURAL_LENGTH_VECTORS as tn,WRAP_BOX_NOTIFY_PROPERTIES as nn,WRAP_BOX_POLICY_VECTORS as rn,WRAP_BOX_SPACING_NOTIFY_VECTORS as an,WRAP_BOX_SPACING_VECTORS as on}from"./wrap-box.js";export{e as ABOUT_DIALOG_CREDITS_LEGAL_VECTORS,t as ABOUT_DIALOG_DETAILS_VECTORS,n as ABOUT_DIALOG_HEADER_VECTORS,r as ABOUT_DIALOG_LABEL_VECTORS,i as ABOUT_DIALOG_SUPPORT_VECTORS,p as ACCENT_COLOR_VECTORS,m as ACTION_ROW_ACTIVATION_VECTORS,Le as ADW_LENGTH_UNIT_VECTORS,b as AVATAR_COLOR_VECTORS,x as AVATAR_FONT_SIZE_VECTORS,S as AVATAR_INITIALS_VECTORS,C as AVATAR_MODE_VECTORS,w as BANNER_BUTTON_STYLE_PARSE_VECTORS,T as BANNER_BUTTON_STYLE_VECTORS,E as BANNER_BUTTON_TEXT_VECTORS,D as BANNER_BUTTON_VISIBLE_VECTORS,O as BANNER_DEFAULT_VECTORS,de as BOTTOM_SHEET_CLOSE_VECTORS,fe as BOTTOM_SHEET_PRESENTATION_VECTORS,k as BUTTON_CONTENT_DEFAULT_VECTORS,A as BUTTON_CONTENT_ELLIPSIZE_VECTORS,j as BUTTON_CONTENT_ICON_VECTORS,M as BUTTON_CONTENT_LABEL_VECTORS,N as BUTTON_CONTENT_STYLE_TARGET_VECTORS,P as BUTTON_CONTENT_TEXT_VECTORS,h as BUTTON_ROW_ACTIVATABLE_VECTORS,g as BUTTON_ROW_ICON_VECTORS,F as CAROUSEL_CLAMP_VECTORS,I as CAROUSEL_NAVIGATE_VECTORS,L as CAROUSEL_PAGE_AT_POSITION_VECTORS,R as CAROUSEL_PAGE_LIST_VECTORS,z as CAROUSEL_PROPERTY_DEFAULT_VECTORS,B as CAROUSEL_RANGE_VECTORS,V as CAROUSEL_REORDER_SHIFT_VECTORS,H as CAROUSEL_REVEAL_VECTORS,U as CAROUSEL_SIZES_FROM_SNAP_POINTS_VECTORS,W as CAROUSEL_SNAP_POINT_VECTORS,G as CAROUSEL_WHEEL_LOCKOUT_VECTORS,K as CAROUSEL_WHEEL_VECTORS,Pt as CASE_FOLD_VECTORS,J as CLAMP_ALLOCATE_VECTORS,Y as CLAMP_CHILD_SIZE_VECTORS,X as CLAMP_PROPERTY_VECTORS,Z as CLAMP_SIZE_FROM_CHILD_VECTORS,Q as CLAMP_THRESHOLD_VECTORS,xe as COMBO_CHOOSER_VECTORS,Se as COMBO_SELECTION_VECTORS,a as CREDITS_SECTIONS_VECTORS,o as CREDIT_PERSON_VECTORS,ae as DATA_GRID_CELL_TEXT_VECTORS,oe as DATA_GRID_COLUMN_CLASS_VECTORS,se as DATA_GRID_COLUMN_NORMALIZE_VECTORS,ce as DATA_GRID_INTERACTIVE_VECTORS,le as DATA_GRID_TRACK_VECTORS,ue as DATA_GRID_VARIANT_VECTORS,me as ENTRY_MAX_LENGTH_VECTORS,he as ENTRY_ROW_ACTIVATION_VECTORS,ge as ENTRY_ROW_GUARD_VECTORS,_e as ENTRY_ROW_STATE_VECTORS,ve as ENTRY_TEXT_LENGTH_VECTORS,Re as GLIB_CLAMP_VECTORS,lt as INLINE_TOGGLE_VECTORS,ut as INLINE_TOOLTIP_VECTORS,_ as LABEL_VISIBILITY_VECTORS,s as LEGAL_SECTION_VECTORS,c as LICENSE_INFO_VECTORS,l as LICENSE_SETTER_VECTORS,u as LICENSE_SPDX_VECTORS,d as LICENSE_TEXT_VECTORS,Ft as MAKE_COMPARABLE_VECTORS,et as MENU_BUTTON_DIRECTION_VECTORS,ze as NATURAL_SIDEBAR_WIDTH_VECTORS,Be as NAVIGATION_ACTION_VECTORS,Ve as NAVIGATION_SPLIT_VIEW_LAYOUT_VECTORS,He as NAVIGATION_STACK_VECTORS,Ee as NAVIGATION_VIEW_VECTORS,Ue as OVERLAY_COLLAPSE_VECTORS,We as OVERLAY_SPLIT_VIEW_LAYOUT_VECTORS,Ge as OVERLAY_SWIPE_AREA_VECTORS,Ke as OVERLAY_SWIPE_CANCEL_VECTORS,qe as OVERLAY_SWIPE_RELEASE_VECTORS,Je as OVERLAY_SWIPE_SNAP_POINT_VECTORS,Ye as OVERLAY_SWIPE_START_VECTORS,ye as PASSWORD_ENTRY_ROW_VECTORS,be as PASSWORD_REVEAL_GUARD_VECTORS,Wt as POPOVER_KEY_VECTORS,Gt as POPOVER_SURFACE_VECTORS,It as PREFERENCES_GROUP_HEADER_VECTORS,Lt as PREFERENCES_SEARCH_PAGES,Rt as PREFERENCES_SEARCH_VECTORS,q as RADIO_GROUP_VECTORS,zt as ROW_MATCH_VECTORS,Bt as SEARCH_CORPUS_VECTORS,Vt as SEARCH_ROW_SUBTITLE_VECTORS,Kt as SHORTCUT_LABEL_VECTORS,Ae as SIDEBAR_ACTIVATION_VECTORS,Xe as SIDEBAR_BOUNDS_VECTORS,je as SIDEBAR_CLAMP_VECTORS,Me as SIDEBAR_FILTER_VECTORS,Ne as SIDEBAR_ITEMS_CHANGED_VECTORS,Pe as SIDEBAR_ITEM_FLAG_VECTORS,Fe as SIDEBAR_MODEL_VECTORS,Ie as SIDEBAR_MODE_VECTORS,Ze as SIDEBAR_WIDTH_VECTORS,Jt as SPINNER_ARC_ENVELOPE,Yt as SPINNER_ARC_PHASE_VECTORS,Xt as SPINNER_ARC_TOLERANCE,Zt as SPINNER_CONSTANT_VECTORS,$ as SPINNER_GEOMETRY_VECTORS,ee as SPINNER_SIZE_VECTORS,tt as SPLIT_BUTTON_CONTENT_VECTORS,nt as SPLIT_BUTTON_DIRECTION_VECTORS,rt as SPLIT_BUTTON_DROPDOWN_VECTORS,it as SPLIT_BUTTON_MENU_ACTIVATION_VECTORS,at as SPLIT_BUTTON_MENU_PARSE_VECTORS,ot as SPLIT_BUTTON_ROOT_STATE_VECTORS,st as SPLIT_BUTTON_STYLE_CLASS_VECTORS,ct as SPLIT_BUTTON_TOOLTIP_VECTORS,Qe as SPLIT_VIEW_MEASURE_VECTORS,Ht as STRIP_MARKUP_VECTORS,Ut as STRIP_MNEMONIC_VECTORS,v as SWITCH_ROW_NOTIFY_VECTORS,St as TABS_REVEALED_VECTORS,Ct as TAB_CLOSE_VISIBLE_VECTORS,wt as TAB_DESCENDANT_VECTORS,Tt as TAB_ICON_STATE_VECTORS,Et as TAB_PAGE_DESCRIPTOR_VECTORS,Dt as TAB_SUCCESSOR_VECTORS,Ot as TAB_TOOLTIP_VECTORS,kt as TAB_VIEW_VECTORS,$e as TAGS_CONFLICT_VECTORS,te as TOOLBAR_VIEW_ALLOCATE_VECTORS,ne as TOOLBAR_VIEW_CLASS_VECTORS,re as TOOLBAR_VIEW_CONTENT_FOR_SIZE_VECTORS,ie as TOOLBAR_VIEW_MEASURE_VECTORS,f as TRANSLATOR_CREDITS_VECTORS,Ce as VIEW_STACK_ICON_NAME_VECTORS,we as VIEW_STACK_PAGE_VECTORS,Te as VIEW_STACK_VECTORS,dt as VIEW_SWITCHER_BADGE_VECTORS,ft as VIEW_SWITCHER_BAR_REVEAL_VECTORS,pt as VIEW_SWITCHER_BAR_VECTORS,mt as VIEW_SWITCHER_BUTTON_VECTORS,ht as VIEW_SWITCHER_BUTTON_VISIBILITY_VECTORS,gt as VIEW_SWITCHER_DRAG_VECTORS,_t as VIEW_SWITCHER_ICON_VECTORS,vt as VIEW_SWITCHER_MNEMONIC_VECTORS,yt as VIEW_SWITCHER_REBUILD_VECTORS,bt as VIEW_SWITCHER_SELECTION_VECTORS,y as WINDOW_TITLE_VECTORS,Qt as WRAP_BOX_CHILD_ORDER_VECTORS,$t as WRAP_BOX_LENGTH_VECTORS,en as WRAP_BOX_LINE_VECTORS,tn as WRAP_BOX_NATURAL_LENGTH_VECTORS,nn as WRAP_BOX_NOTIFY_PROPERTIES,rn as WRAP_BOX_POLICY_VECTORS,an as WRAP_BOX_SPACING_NOTIFY_VECTORS,on as WRAP_BOX_SPACING_VECTORS,At as applyTabViewOp,De as collectNavigationState,xt as createViewSwitcherClock,qt as formatShortcutLabelNodes,Oe as navigationEventLog,pe as runBottomSheetSteps,ke as runNavigationSteps,jt as seedTabViewPages,Mt as tabViewClosing,Nt as tabViewOrder};
1
+ import{ABOUT_DIALOG_CREDITS_LEGAL_VECTORS as e,ABOUT_DIALOG_DETAILS_VECTORS as t,ABOUT_DIALOG_HEADER_VECTORS as n,ABOUT_DIALOG_LABEL_VECTORS as r,ABOUT_DIALOG_SUPPORT_VECTORS as i,CREDITS_SECTIONS_VECTORS as a,CREDIT_PERSON_VECTORS as o,LEGAL_SECTION_VECTORS as s,LICENSE_INFO_VECTORS as c,LICENSE_SETTER_VECTORS as l,LICENSE_SPDX_VECTORS as u,LICENSE_TEXT_VECTORS as d,TRANSLATOR_CREDITS_VECTORS as f}from"./about-dialog.js";import{ACCENT_COLOR_VECTORS as p}from"./accent.js";import{ACTION_ROW_ACTIVATION_VECTORS as m,BUTTON_ROW_ACTIVATABLE_VECTORS as h,BUTTON_ROW_ICON_VECTORS as g,LABEL_VISIBILITY_VECTORS as _,SWITCH_ROW_NOTIFY_VECTORS as v,WINDOW_TITLE_VECTORS as y}from"./action-row.js";import{AVATAR_COLOR_VECTORS as b,AVATAR_FONT_SIZE_VECTORS as x,AVATAR_INITIALS_VECTORS as S,AVATAR_MODE_VECTORS as C}from"./avatar.js";import{BANNER_BUTTON_STYLE_PARSE_VECTORS as w,BANNER_BUTTON_STYLE_VECTORS as T,BANNER_BUTTON_TEXT_VECTORS as E,BANNER_BUTTON_VISIBLE_VECTORS as D,BANNER_DEFAULT_VECTORS as O}from"./banner.js";import{BUTTON_CONTENT_DEFAULT_VECTORS as k,BUTTON_CONTENT_ELLIPSIZE_VECTORS as A,BUTTON_CONTENT_ICON_VECTORS as j,BUTTON_CONTENT_LABEL_VECTORS as M,BUTTON_CONTENT_STYLE_TARGET_VECTORS as N,BUTTON_CONTENT_TEXT_VECTORS as P}from"./button-content.js";import{BUTTON_STYLE_CLASS_VECTORS as F}from"./button.js";import{CAROUSEL_CLAMP_VECTORS as I,CAROUSEL_NAVIGATE_VECTORS as L,CAROUSEL_PAGE_ALLOCATION_VECTORS as R,CAROUSEL_PAGE_AT_POSITION_VECTORS as z,CAROUSEL_PAGE_LIST_VECTORS as B,CAROUSEL_PROPERTY_DEFAULT_VECTORS as V,CAROUSEL_RANGE_VECTORS as H,CAROUSEL_REORDER_SHIFT_VECTORS as U,CAROUSEL_REVEAL_VECTORS as W,CAROUSEL_SIZES_FROM_SNAP_POINTS_VECTORS as G,CAROUSEL_SNAP_POINT_VECTORS as K,CAROUSEL_WHEEL_LOCKOUT_VECTORS as q,CAROUSEL_WHEEL_VECTORS as J}from"./carousel.js";import{RADIO_GROUP_VECTORS as Y}from"./checks.js";import{CLAMP_ALLOCATE_VECTORS as X,CLAMP_CHILD_SIZE_VECTORS as Z,CLAMP_PROPERTY_VECTORS as Q,CLAMP_SIZE_FROM_CHILD_VECTORS as $,CLAMP_THRESHOLD_VECTORS as ee,SPINNER_GEOMETRY_VECTORS as te,SPINNER_SIZE_VECTORS as ne,TOOLBAR_VIEW_ALLOCATE_VECTORS as re,TOOLBAR_VIEW_CLASS_VECTORS as ie,TOOLBAR_VIEW_CONTENT_FOR_SIZE_VECTORS as ae,TOOLBAR_VIEW_MEASURE_VECTORS as oe}from"./chrome.js";import{DATA_GRID_CELL_TEXT_VECTORS as se,DATA_GRID_COLUMN_CLASS_VECTORS as ce,DATA_GRID_COLUMN_NORMALIZE_VECTORS as le,DATA_GRID_INTERACTIVE_VECTORS as ue,DATA_GRID_TRACK_VECTORS as de,DATA_GRID_VARIANT_VECTORS as fe}from"./data-grid.js";import{BOTTOM_SHEET_CLOSE_VECTORS as pe,BOTTOM_SHEET_PRESENTATION_VECTORS as me,runBottomSheetSteps as he}from"./dialog.js";import{ENTRY_MAX_LENGTH_VECTORS as ge,ENTRY_ROW_ACTIVATION_VECTORS as _e,ENTRY_ROW_GUARD_VECTORS as ve,ENTRY_ROW_STATE_VECTORS as ye,ENTRY_TEXT_LENGTH_VECTORS as be,PASSWORD_ENTRY_ROW_VECTORS as xe,PASSWORD_REVEAL_GUARD_VECTORS as Se}from"./entry-row.js";import{COMBO_CHOOSER_VECTORS as Ce,COMBO_SELECTION_VECTORS as we}from"./rows.js";import{VIEW_STACK_ICON_NAME_VECTORS as Te,VIEW_STACK_PAGE_VECTORS as Ee,VIEW_STACK_VECTORS as De}from"./view-stack.js";import{NAVIGATION_VIEW_VECTORS as Oe,collectNavigationState as ke,navigationEventLog as Ae,runNavigationSteps as je}from"./navigation-view.js";import{SIDEBAR_ACTIVATION_VECTORS as Me,SIDEBAR_CLAMP_VECTORS as Ne,SIDEBAR_FILTER_VECTORS as Pe,SIDEBAR_ITEMS_CHANGED_VECTORS as Fe,SIDEBAR_ITEM_FLAG_VECTORS as Ie,SIDEBAR_MODEL_VECTORS as Le,SIDEBAR_MODE_VECTORS as Re}from"./sidebar.js";import{ADW_LENGTH_UNIT_VECTORS as ze,GLIB_CLAMP_VECTORS as Be,NATURAL_SIDEBAR_WIDTH_VECTORS as Ve,NAVIGATION_ACTION_VECTORS as He,NAVIGATION_SPLIT_VIEW_LAYOUT_VECTORS as Ue,NAVIGATION_STACK_VECTORS as We,OVERLAY_COLLAPSE_VECTORS as Ge,OVERLAY_SPLIT_VIEW_LAYOUT_VECTORS as Ke,OVERLAY_SWIPE_AREA_VECTORS as qe,OVERLAY_SWIPE_CANCEL_VECTORS as Je,OVERLAY_SWIPE_RELEASE_VECTORS as Ye,OVERLAY_SWIPE_SNAP_POINT_VECTORS as Xe,OVERLAY_SWIPE_START_VECTORS as Ze,SIDEBAR_BOUNDS_VECTORS as Qe,SIDEBAR_WIDTH_VECTORS as $e,SPLIT_VIEW_MEASURE_VECTORS as et,TAGS_CONFLICT_VECTORS as tt}from"./split-view.js";import{MENU_BUTTON_DIRECTION_VECTORS as nt,SPLIT_BUTTON_CONTENT_VECTORS as rt,SPLIT_BUTTON_DIRECTION_VECTORS as it,SPLIT_BUTTON_DROPDOWN_VECTORS as at,SPLIT_BUTTON_MENU_ACTIVATION_VECTORS as ot,SPLIT_BUTTON_MENU_PARSE_VECTORS as st,SPLIT_BUTTON_ROOT_STATE_VECTORS as ct,SPLIT_BUTTON_STYLE_CLASS_VECTORS as lt,SPLIT_BUTTON_TOOLTIP_VECTORS as ut}from"./split-button.js";import{INLINE_TOGGLE_VECTORS as dt,INLINE_TOOLTIP_VECTORS as ft,VIEW_SWITCHER_BADGE_VECTORS as pt,VIEW_SWITCHER_BAR_REVEAL_VECTORS as mt,VIEW_SWITCHER_BAR_VECTORS as ht,VIEW_SWITCHER_BUTTON_VECTORS as gt,VIEW_SWITCHER_BUTTON_VISIBILITY_VECTORS as _t,VIEW_SWITCHER_DRAG_VECTORS as vt,VIEW_SWITCHER_ICON_VECTORS as yt,VIEW_SWITCHER_MNEMONIC_VECTORS as bt,VIEW_SWITCHER_REBUILD_VECTORS as xt,VIEW_SWITCHER_SELECTION_VECTORS as St,createViewSwitcherClock as Ct}from"./view-switcher.js";import{TABS_REVEALED_VECTORS as wt,TAB_CLOSE_VISIBLE_VECTORS as Tt,TAB_DESCENDANT_VECTORS as Et,TAB_ICON_STATE_VECTORS as Dt,TAB_PAGE_DESCRIPTOR_VECTORS as Ot,TAB_SUCCESSOR_VECTORS as kt,TAB_TOOLTIP_VECTORS as At,TAB_VIEW_VECTORS as jt,applyTabViewOp as Mt,seedTabViewPages as Nt,tabViewClosing as Pt,tabViewOrder as Ft}from"./tab-view.js";import{CASE_FOLD_VECTORS as It,MAKE_COMPARABLE_VECTORS as Lt,PREFERENCES_GROUP_HEADER_VECTORS as Rt,PREFERENCES_SEARCH_PAGES as zt,PREFERENCES_SEARCH_VECTORS as Bt,ROW_MATCH_VECTORS as Vt,SEARCH_CORPUS_VECTORS as Ht,SEARCH_ROW_SUBTITLE_VECTORS as Ut,STRIP_MARKUP_VECTORS as Wt,STRIP_MNEMONIC_VECTORS as Gt}from"./preferences.js";import{POPOVER_KEY_VECTORS as Kt,POPOVER_SURFACE_VECTORS as qt}from"./popover.js";import{SHORTCUT_LABEL_VECTORS as Jt,formatShortcutLabelNodes as Yt}from"./shortcut-label.js";import{SPINNER_ARC_ENVELOPE as Xt,SPINNER_ARC_PHASE_VECTORS as Zt,SPINNER_ARC_TOLERANCE as Qt,SPINNER_CONSTANT_VECTORS as $t}from"./spinner.js";import{WRAP_BOX_CHILD_ORDER_VECTORS as en,WRAP_BOX_LENGTH_VECTORS as tn,WRAP_BOX_LINE_VECTORS as nn,WRAP_BOX_NATURAL_LENGTH_VECTORS as rn,WRAP_BOX_NOTIFY_PROPERTIES as an,WRAP_BOX_POLICY_VECTORS as on,WRAP_BOX_SPACING_NOTIFY_VECTORS as sn,WRAP_BOX_SPACING_VECTORS as cn}from"./wrap-box.js";export{e as ABOUT_DIALOG_CREDITS_LEGAL_VECTORS,t as ABOUT_DIALOG_DETAILS_VECTORS,n as ABOUT_DIALOG_HEADER_VECTORS,r as ABOUT_DIALOG_LABEL_VECTORS,i as ABOUT_DIALOG_SUPPORT_VECTORS,p as ACCENT_COLOR_VECTORS,m as ACTION_ROW_ACTIVATION_VECTORS,ze as ADW_LENGTH_UNIT_VECTORS,b as AVATAR_COLOR_VECTORS,x as AVATAR_FONT_SIZE_VECTORS,S as AVATAR_INITIALS_VECTORS,C as AVATAR_MODE_VECTORS,w as BANNER_BUTTON_STYLE_PARSE_VECTORS,T as BANNER_BUTTON_STYLE_VECTORS,E as BANNER_BUTTON_TEXT_VECTORS,D as BANNER_BUTTON_VISIBLE_VECTORS,O as BANNER_DEFAULT_VECTORS,pe as BOTTOM_SHEET_CLOSE_VECTORS,me as BOTTOM_SHEET_PRESENTATION_VECTORS,k as BUTTON_CONTENT_DEFAULT_VECTORS,A as BUTTON_CONTENT_ELLIPSIZE_VECTORS,j as BUTTON_CONTENT_ICON_VECTORS,M as BUTTON_CONTENT_LABEL_VECTORS,N as BUTTON_CONTENT_STYLE_TARGET_VECTORS,P as BUTTON_CONTENT_TEXT_VECTORS,h as BUTTON_ROW_ACTIVATABLE_VECTORS,g as BUTTON_ROW_ICON_VECTORS,F as BUTTON_STYLE_CLASS_VECTORS,I as CAROUSEL_CLAMP_VECTORS,L as CAROUSEL_NAVIGATE_VECTORS,R as CAROUSEL_PAGE_ALLOCATION_VECTORS,z as CAROUSEL_PAGE_AT_POSITION_VECTORS,B as CAROUSEL_PAGE_LIST_VECTORS,V as CAROUSEL_PROPERTY_DEFAULT_VECTORS,H as CAROUSEL_RANGE_VECTORS,U as CAROUSEL_REORDER_SHIFT_VECTORS,W as CAROUSEL_REVEAL_VECTORS,G as CAROUSEL_SIZES_FROM_SNAP_POINTS_VECTORS,K as CAROUSEL_SNAP_POINT_VECTORS,q as CAROUSEL_WHEEL_LOCKOUT_VECTORS,J as CAROUSEL_WHEEL_VECTORS,It as CASE_FOLD_VECTORS,X as CLAMP_ALLOCATE_VECTORS,Z as CLAMP_CHILD_SIZE_VECTORS,Q as CLAMP_PROPERTY_VECTORS,$ as CLAMP_SIZE_FROM_CHILD_VECTORS,ee as CLAMP_THRESHOLD_VECTORS,Ce as COMBO_CHOOSER_VECTORS,we as COMBO_SELECTION_VECTORS,a as CREDITS_SECTIONS_VECTORS,o as CREDIT_PERSON_VECTORS,se as DATA_GRID_CELL_TEXT_VECTORS,ce as DATA_GRID_COLUMN_CLASS_VECTORS,le as DATA_GRID_COLUMN_NORMALIZE_VECTORS,ue as DATA_GRID_INTERACTIVE_VECTORS,de as DATA_GRID_TRACK_VECTORS,fe as DATA_GRID_VARIANT_VECTORS,ge as ENTRY_MAX_LENGTH_VECTORS,_e as ENTRY_ROW_ACTIVATION_VECTORS,ve as ENTRY_ROW_GUARD_VECTORS,ye as ENTRY_ROW_STATE_VECTORS,be as ENTRY_TEXT_LENGTH_VECTORS,Be as GLIB_CLAMP_VECTORS,dt as INLINE_TOGGLE_VECTORS,ft as INLINE_TOOLTIP_VECTORS,_ as LABEL_VISIBILITY_VECTORS,s as LEGAL_SECTION_VECTORS,c as LICENSE_INFO_VECTORS,l as LICENSE_SETTER_VECTORS,u as LICENSE_SPDX_VECTORS,d as LICENSE_TEXT_VECTORS,Lt as MAKE_COMPARABLE_VECTORS,nt as MENU_BUTTON_DIRECTION_VECTORS,Ve as NATURAL_SIDEBAR_WIDTH_VECTORS,He as NAVIGATION_ACTION_VECTORS,Ue as NAVIGATION_SPLIT_VIEW_LAYOUT_VECTORS,We as NAVIGATION_STACK_VECTORS,Oe as NAVIGATION_VIEW_VECTORS,Ge as OVERLAY_COLLAPSE_VECTORS,Ke as OVERLAY_SPLIT_VIEW_LAYOUT_VECTORS,qe as OVERLAY_SWIPE_AREA_VECTORS,Je as OVERLAY_SWIPE_CANCEL_VECTORS,Ye as OVERLAY_SWIPE_RELEASE_VECTORS,Xe as OVERLAY_SWIPE_SNAP_POINT_VECTORS,Ze as OVERLAY_SWIPE_START_VECTORS,xe as PASSWORD_ENTRY_ROW_VECTORS,Se as PASSWORD_REVEAL_GUARD_VECTORS,Kt as POPOVER_KEY_VECTORS,qt as POPOVER_SURFACE_VECTORS,Rt as PREFERENCES_GROUP_HEADER_VECTORS,zt as PREFERENCES_SEARCH_PAGES,Bt as PREFERENCES_SEARCH_VECTORS,Y as RADIO_GROUP_VECTORS,Vt as ROW_MATCH_VECTORS,Ht as SEARCH_CORPUS_VECTORS,Ut as SEARCH_ROW_SUBTITLE_VECTORS,Jt as SHORTCUT_LABEL_VECTORS,Me as SIDEBAR_ACTIVATION_VECTORS,Qe as SIDEBAR_BOUNDS_VECTORS,Ne as SIDEBAR_CLAMP_VECTORS,Pe as SIDEBAR_FILTER_VECTORS,Fe as SIDEBAR_ITEMS_CHANGED_VECTORS,Ie as SIDEBAR_ITEM_FLAG_VECTORS,Le as SIDEBAR_MODEL_VECTORS,Re as SIDEBAR_MODE_VECTORS,$e as SIDEBAR_WIDTH_VECTORS,Xt as SPINNER_ARC_ENVELOPE,Zt as SPINNER_ARC_PHASE_VECTORS,Qt as SPINNER_ARC_TOLERANCE,$t as SPINNER_CONSTANT_VECTORS,te as SPINNER_GEOMETRY_VECTORS,ne as SPINNER_SIZE_VECTORS,rt as SPLIT_BUTTON_CONTENT_VECTORS,it as SPLIT_BUTTON_DIRECTION_VECTORS,at as SPLIT_BUTTON_DROPDOWN_VECTORS,ot as SPLIT_BUTTON_MENU_ACTIVATION_VECTORS,st as SPLIT_BUTTON_MENU_PARSE_VECTORS,ct as SPLIT_BUTTON_ROOT_STATE_VECTORS,lt as SPLIT_BUTTON_STYLE_CLASS_VECTORS,ut as SPLIT_BUTTON_TOOLTIP_VECTORS,et as SPLIT_VIEW_MEASURE_VECTORS,Wt as STRIP_MARKUP_VECTORS,Gt as STRIP_MNEMONIC_VECTORS,v as SWITCH_ROW_NOTIFY_VECTORS,wt as TABS_REVEALED_VECTORS,Tt as TAB_CLOSE_VISIBLE_VECTORS,Et as TAB_DESCENDANT_VECTORS,Dt as TAB_ICON_STATE_VECTORS,Ot as TAB_PAGE_DESCRIPTOR_VECTORS,kt as TAB_SUCCESSOR_VECTORS,At as TAB_TOOLTIP_VECTORS,jt as TAB_VIEW_VECTORS,tt as TAGS_CONFLICT_VECTORS,re as TOOLBAR_VIEW_ALLOCATE_VECTORS,ie as TOOLBAR_VIEW_CLASS_VECTORS,ae as TOOLBAR_VIEW_CONTENT_FOR_SIZE_VECTORS,oe as TOOLBAR_VIEW_MEASURE_VECTORS,f as TRANSLATOR_CREDITS_VECTORS,Te as VIEW_STACK_ICON_NAME_VECTORS,Ee as VIEW_STACK_PAGE_VECTORS,De as VIEW_STACK_VECTORS,pt as VIEW_SWITCHER_BADGE_VECTORS,mt as VIEW_SWITCHER_BAR_REVEAL_VECTORS,ht as VIEW_SWITCHER_BAR_VECTORS,gt as VIEW_SWITCHER_BUTTON_VECTORS,_t as VIEW_SWITCHER_BUTTON_VISIBILITY_VECTORS,vt as VIEW_SWITCHER_DRAG_VECTORS,yt as VIEW_SWITCHER_ICON_VECTORS,bt as VIEW_SWITCHER_MNEMONIC_VECTORS,xt as VIEW_SWITCHER_REBUILD_VECTORS,St as VIEW_SWITCHER_SELECTION_VECTORS,y as WINDOW_TITLE_VECTORS,en as WRAP_BOX_CHILD_ORDER_VECTORS,tn as WRAP_BOX_LENGTH_VECTORS,nn as WRAP_BOX_LINE_VECTORS,rn as WRAP_BOX_NATURAL_LENGTH_VECTORS,an as WRAP_BOX_NOTIFY_PROPERTIES,on as WRAP_BOX_POLICY_VECTORS,sn as WRAP_BOX_SPACING_NOTIFY_VECTORS,cn as WRAP_BOX_SPACING_VECTORS,Mt as applyTabViewOp,ke as collectNavigationState,Ct as createViewSwitcherClock,Yt as formatShortcutLabelNodes,Ae as navigationEventLog,he as runBottomSheetSteps,je as runNavigationSteps,Nt as seedTabViewPages,Pt as tabViewClosing,Ft as tabViewOrder};
package/lib/esm/index.js CHANGED
@@ -1 +1 @@
1
- import{gStrStrip as e,glibClamp as t,stringIsNotEmpty as n,stripMnemonic as r}from"./glib.js";import{ADW_ABOUT_DIALOG_LABELS as i,ADW_CREDITS_SECTION_TITLES as a,ADW_LICENSES as o,ADW_LICENSE_ALIASES as s,ADW_LICENSE_DEFAULTS as c,ADW_LICENSE_WARRANTY_TEMPLATE as l,ADW_TRANSLATOR_CREDITS_SENTINELS as u,GTK_LICENSE as d,aboutDialogVisibility as f,creditsSections as p,isLicenseType as m,legalSectionVisible as h,licenseText as g,licenseTypeForSpdxId as _,parseCreditPerson as v,setLicense as y,setLicenseType as b,translatorCreditsPeople as x}from"./about-dialog.js";import{ADW_ACCENT_BG_COLORS as S,ADW_ACCENT_COLOR_NAMES as C,ADW_ACCENT_FG_COLOR as w,ADW_DEFAULT_ACCENT_COLOR as T,adwaitaAccent as E,adwaitaAccentBgColor as D,adwaitaAccentColor as O,adwaitaStandaloneColor as k,isAdwAccentColorName as A,onAdwaitaAccentChanged as j,setAdwaitaAccent as M}from"./accent.js";import{ActionRowState as N,BUTTON_ROW_ACTIVATABLE as P,ButtonRowState as F,SwitchRowState as I,WindowTitleState as L,deriveRowLabels as R}from"./action-row.js";import{AVATAR_COLORS as z,AVATAR_COLOR_COUNT as B,avatarColor as V,avatarColorClass as H,avatarFontSize as U,avatarInitials as W,avatarMaxFontSize as G,avatarMode as K,flattenAvatarGradient as q,gStrHash as J,randomAvatarColorClass as Y}from"./avatar.js";import{ADW_BANNER_BUTTON_STYLES as X,ADW_BANNER_BUTTON_STYLE_CLASSES as Z,ADW_BANNER_DEFAULTS as Q,bannerButtonStyleClasses as $,bannerButtonText as ee,bannerButtonVisible as te,bannerRenderState as ne,isBannerButtonStyle as re,parseBannerButtonStyle as ie}from"./banner.js";import{AdwBreakpoint as ae,evaluateBreakpointCondition as oe,parseBreakpointCondition as se}from"./breakpoint.js";import{ADW_BUTTON_CONTENT_DEFAULTS as ce,BUTTON_CONTENT_FALLBACK_ICON as le,BUTTON_CONTENT_STYLE_CLASS as ue,buttonContentEllipsize as de,buttonContentIconExpands as fe,buttonContentIconIsEmpty as pe,buttonContentIconName as me,buttonContentLabelText as he,buttonContentLabelVisible as ge,buttonContentRenderState as _e,buttonContentStyleTargetIndex as ve}from"./button-content.js";import{CAROUSEL_SCROLL_TIMEOUT_MS as ye,CAROUSEL_SETTLE_EPSILON as be,CarouselState as xe,carouselClampPosition as Se,carouselClosestSnapPoint as Ce,carouselNavigateTarget as we,carouselPageAtPosition as Te,carouselRange as Ee,carouselReorderShift as De,carouselSizesFromSnapPoints as Oe,carouselSnapPoints as ke,carouselWheelStep as Ae}from"./carousel.js";import{RadioGroupState as je,resolveCheckState as Me}from"./checks.js";import{adwLerp as Ne,easeInOutSine as Pe,easeOutCubic as Fe,inverseLerp as Ie}from"./easing.js";import{ADW_CLAMP_DEFAULTS as Le,ADW_CLAMP_SIZE_CLASSES as Re,ADW_SPINNER_MAX_SIZE as ze,ADW_SPINNER_MIN_SIZE as Be,ADW_TOOLBAR_BAR_CLASSES as Ve,ADW_TOOLBAR_VIEW_CLASSES as He,ADW_TOOLBAR_VIEW_DEFAULTS as Ue,clampAllocate as We,clampChildSize as Ge,clampSizeFromChild as Ke,clampThresholds as qe,normalizeClampSize as Je,parseToolbarStyle as Ye,resolveSpinnerSize as Xe,spinnerGeometry as Ze,toolbarBarStyleClasses as Qe,toolbarViewAllocate as $e,toolbarViewClasses as et,toolbarViewContentForSize as tt,toolbarViewMeasure as nt}from"./chrome.js";import{DEFAULT_ICON_COLOR as rt,DEFAULT_ICON_COLOR_DARK as it,adwaitaColorScheme as at,isThemeIconColor as ot,onAdwaitaColorSchemeChanged as st,setAdwaitaColorScheme as ct,themeIconColor as lt,toggleAdwaitaColorScheme as ut}from"./color-scheme.js";import{ADW_DATA_GRID_ROW_VARIANTS as dt,DATA_GRID_CELL_CLASS as ft,DATA_GRID_ROW_CLASS as pt,dataGridCellText as mt,dataGridColumnAlign as ht,dataGridColumnClasses as gt,dataGridRowInteractive as _t,dataGridTrackTemplate as vt,dataGridTracks as yt,normalizeDataGridColumns as bt,normalizeDataGridVariant as xt}from"./data-grid.js";import{AdwAlertResponses as St,BottomSheetPresentation as Ct,resolveBottomSheetClose as wt}from"./dialog.js";import{CAPS_LOCK_ICON_NAME as Tt,CAPS_LOCK_TOOLTIP as Et,EMPTY_ANIMATION_DURATION_MS as Dt,ENTRY_ROW_APPLY_ICON_NAME as Ot,ENTRY_ROW_APPLY_TOOLTIP as kt,ENTRY_ROW_EDIT_ICON_NAME as At,ENTRY_ROW_MAX_LENGTH_LIMIT as jt,ENTRY_ROW_TITLE_SPACING as Mt,EntryRowState as Nt,PASSWORD_CONCEAL_ICON_NAME as Pt,PASSWORD_CONCEAL_LABEL as Ft,PASSWORD_REVEAL_ICON_NAME as It,PASSWORD_REVEAL_LABEL as Lt,PasswordEntryRowState as Rt,clampEntryText as zt,entryTextLength as Bt}from"./entry-row.js";import{AdwToast as Vt,AdwToastQueue as Ht,DEFAULT_TOAST_TIMEOUT as Ut}from"./toast.js";import{ADW_COMBO_NO_SELECTION as Wt,ComboState as Gt,ExpanderState as Kt,SpinState as qt,ToggleGroupState as Jt,normalizeComboOptions as Yt}from"./rows.js";import{ViewStackState as Xt,normalizeIconName as Zt,resolvePageTitle as Qt}from"./view-stack.js";import{BACK_BUTTON_FALLBACK_TOOLTIP as $t,NavigationViewState as en,describeNavigationDiagnostic as tn}from"./navigation-view.js";import{ADW_SIDEBAR_NO_SELECTION as nn,SidebarState as rn,adjustSidebarSelection as an,clampSidebarSelection as on,flattenSidebarItems as sn,sidebarHeaders as cn}from"./sidebar.js";import{ADW_SPINNER_CONTRACT_DISTANCE as ln,ADW_SPINNER_CYCLES_PER_LOOP as un,ADW_SPINNER_CYCLE_LENGTH as dn,ADW_SPINNER_EXTEND_DISTANCE as fn,ADW_SPINNER_IDLE_DISTANCE as pn,ADW_SPINNER_MAX_ARC_LENGTH as mn,ADW_SPINNER_MIN_ARC_LENGTH as hn,ADW_SPINNER_N_CYCLES as gn,ADW_SPINNER_OVERLAP_DISTANCE as _n,ADW_SPINNER_SPIN_DURATION_MS as vn,ADW_SPINNER_START_ANGLE as yn,ADW_SPINNER_STILL_PROGRESS as bn,ADW_SPINNER_TRACK_OPACITY as xn,normalizeSpinnerAngle as Sn,spinnerArc as Cn,spinnerArcEnd as wn,spinnerArcStart as Tn,spinnerProgressAt as En}from"./spinner.js";import{parseAccelerator as Dn,parseShortcutLabel as On,shortcutKeycaps as kn}from"./shortcut-label.js";import{ADW_LENGTH_UNITS as An,DEFAULT_DPI as jn,adwLengthToPx as Mn,normalizeLengthUnit as Nn}from"./length-unit.js";import{ADW_SWIPE_BORDER as Pn,DEFAULT_MAX_SIDEBAR_WIDTH as Fn,DEFAULT_MIN_SIDEBAR_WIDTH as In,DEFAULT_SIDEBAR_WIDTH_FRACTION as Ln,DEFAULT_SIDEBAR_WIDTH_UNIT as Rn,INSTANT_SPLIT_VIEW_ANIMATOR as zn,NAVIGATION_SPLIT_VIEW_CRITICALS as Bn,NavigationSplitViewState as Vn,OverlaySplitViewState as Hn,isSidebarAtVisualStart as Un,layoutNavigationSplitView as Wn,layoutOverlaySplitView as Gn,measureSplitViewHorizontal as Kn,resolveNaturalSidebarWidth as qn,resolveNavigationAction as Jn,resolveNavigationSidebarWidth as Yn,resolveNavigationStack as Xn,resolveOverlaySidebarWidth as Zn,resolveSidebarBounds as Qn,resolveSwipeArea as $n,resolveSwipeRelease as er,resolveSwipeSnapPoints as tr,resolveSwipeStart as nr,swipeCancelProgress as rr,tagsConflict as ir}from"./split-view.js";import{DEFAULT_DROPDOWN_TOOLTIP as ar,SPLIT_BUTTON_DISABLED_OPACITY as or,SplitButtonState as sr,isSplitButtonDirection as cr,menuButtonArrowIcon as lr,menuButtonPopupDirection as ur,parseMenuEntries as dr,resolveDropdownTooltip as fr,splitButtonArrowIcon as pr,splitButtonPopupDirection as mr,splitButtonRootState as hr,splitButtonStyleClasses as gr}from"./split-button.js";import{DEFAULT_INDICATOR_DESCRIPTION_STRINGS as _r,INLINE_VIEW_SWITCHER_DISPLAY_MODES as vr,VIEW_SWITCHER_BADGE_LIMIT as yr,VIEW_SWITCHER_DRAG_SWITCH_DELAY as br,VIEW_SWITCHER_FALLBACK_ICON as xr,VIEW_SWITCHER_NO_SELECTION as Sr,VIEW_SWITCHER_POLICIES as Cr,ViewSwitcherBarState as wr,ViewSwitcherDragSwitch as Tr,ViewSwitcherState as Er,buildInlineToggles as Dr,buildViewSwitcherButtons as Or,createViewSwitcherPage as kr,inlineToggleTooltip as Ar,isInlineViewSwitcherDisplayMode as jr,isViewSwitcherButtonVisible as Mr,isViewSwitcherPolicy as Nr,pageIndexForToggle as Pr,shouldRevealViewSwitcherBar as Fr,toggleIndexForPage as Ir,viewSwitcherBadgeLabel as Lr,viewSwitcherButtonOrientation as Rr,viewSwitcherIconName as zr,viewSwitcherIndicatorDescription as Br,viewSwitcherLabel as Vr,viewSwitcherPageFromStackPage as Hr,viewSwitcherPagesFromStack as Ur}from"./view-switcher.js";import{DEFAULT_TAB_AUTOHIDE as Wr,TabViewState as Gr,isDescendantOfPage as Kr,successorAfterClose as qr,tabCloseVisible as Jr,tabIconState as Yr,tabTooltip as Xr,tabTooltipIsMarkup as Zr,tabsRevealed as Qr}from"./tab-view.js";import{UNTITLED_PAGE_LABEL as $r,collectSearchRows as ei,countVisiblePages as ti,createSearchRowSubtitle as ni,defaultCaseFolder as ri,derivePreferencesGroupHeader as ii,escapeMarkup as ai,makeComparable as oi,rowMatchesQuery as si,searchPreferences as ci,stripMarkup as li}from"./preferences.js";import{POPOVER_ITEM_RADIUS as ui,POPOVER_MENU_PADDING as di,POPOVER_PADDING as fi,POPOVER_RADIUS as pi,PopoverState as mi,resolvePopoverKey as hi}from"./popover.js";import{ADW_WRAP_BOX_DEFAULT_ALIGN as gi,ADW_WRAP_BOX_DEFAULT_JUSTIFY as _i,ADW_WRAP_BOX_DEFAULT_JUSTIFY_LAST_LINE as vi,ADW_WRAP_BOX_DEFAULT_LENGTH_UNIT as yi,ADW_WRAP_BOX_DEFAULT_PACK_DIRECTION as bi,ADW_WRAP_BOX_DEFAULT_SPACING as xi,ADW_WRAP_BOX_DEFAULT_WRAP_POLICY as Si,ADW_WRAP_BOX_JUSTIFY_MODES as Ci,ADW_WRAP_BOX_NATURAL_LINE_LENGTH_UNSET as wi,ADW_WRAP_BOX_PACK_DIRECTIONS as Ti,ADW_WRAP_POLICIES as Ei,normalizeNaturalLineLength as Di,normalizeWrapBoxAlign as Oi,normalizeWrapBoxJustify as ki,normalizeWrapBoxLengthUnit as Ai,normalizeWrapBoxPackDirection as ji,normalizeWrapBoxSpacing as Mi,normalizeWrapPolicy as Ni,resolveWrapBoxChildOrder as Pi,resolveWrapBoxLine as Fi,wrapBoxLengthToPx as Ii,wrapPolicyFlexShrink as Li}from"./wrap-box.js";export{i as ADW_ABOUT_DIALOG_LABELS,S as ADW_ACCENT_BG_COLORS,C as ADW_ACCENT_COLOR_NAMES,w as ADW_ACCENT_FG_COLOR,X as ADW_BANNER_BUTTON_STYLES,Z as ADW_BANNER_BUTTON_STYLE_CLASSES,Q as ADW_BANNER_DEFAULTS,ce as ADW_BUTTON_CONTENT_DEFAULTS,Le as ADW_CLAMP_DEFAULTS,Re as ADW_CLAMP_SIZE_CLASSES,Wt as ADW_COMBO_NO_SELECTION,a as ADW_CREDITS_SECTION_TITLES,dt as ADW_DATA_GRID_ROW_VARIANTS,T as ADW_DEFAULT_ACCENT_COLOR,An as ADW_LENGTH_UNITS,o as ADW_LICENSES,s as ADW_LICENSE_ALIASES,c as ADW_LICENSE_DEFAULTS,l as ADW_LICENSE_WARRANTY_TEMPLATE,nn as ADW_SIDEBAR_NO_SELECTION,ln as ADW_SPINNER_CONTRACT_DISTANCE,un as ADW_SPINNER_CYCLES_PER_LOOP,dn as ADW_SPINNER_CYCLE_LENGTH,fn as ADW_SPINNER_EXTEND_DISTANCE,pn as ADW_SPINNER_IDLE_DISTANCE,mn as ADW_SPINNER_MAX_ARC_LENGTH,ze as ADW_SPINNER_MAX_SIZE,hn as ADW_SPINNER_MIN_ARC_LENGTH,Be as ADW_SPINNER_MIN_SIZE,gn as ADW_SPINNER_N_CYCLES,_n as ADW_SPINNER_OVERLAP_DISTANCE,vn as ADW_SPINNER_SPIN_DURATION_MS,yn as ADW_SPINNER_START_ANGLE,bn as ADW_SPINNER_STILL_PROGRESS,xn as ADW_SPINNER_TRACK_OPACITY,Pn as ADW_SWIPE_BORDER,Ve as ADW_TOOLBAR_BAR_CLASSES,He as ADW_TOOLBAR_VIEW_CLASSES,Ue as ADW_TOOLBAR_VIEW_DEFAULTS,u as ADW_TRANSLATOR_CREDITS_SENTINELS,gi as ADW_WRAP_BOX_DEFAULT_ALIGN,_i as ADW_WRAP_BOX_DEFAULT_JUSTIFY,vi as ADW_WRAP_BOX_DEFAULT_JUSTIFY_LAST_LINE,yi as ADW_WRAP_BOX_DEFAULT_LENGTH_UNIT,bi as ADW_WRAP_BOX_DEFAULT_PACK_DIRECTION,xi as ADW_WRAP_BOX_DEFAULT_SPACING,Si as ADW_WRAP_BOX_DEFAULT_WRAP_POLICY,Ci as ADW_WRAP_BOX_JUSTIFY_MODES,wi as ADW_WRAP_BOX_NATURAL_LINE_LENGTH_UNSET,Ti as ADW_WRAP_BOX_PACK_DIRECTIONS,Ei as ADW_WRAP_POLICIES,z as AVATAR_COLORS,B as AVATAR_COLOR_COUNT,N as ActionRowState,St as AdwAlertResponses,ae as AdwBreakpoint,Vt as AdwToast,Ht as AdwToastQueue,$t as BACK_BUTTON_FALLBACK_TOOLTIP,le as BUTTON_CONTENT_FALLBACK_ICON,ue as BUTTON_CONTENT_STYLE_CLASS,P as BUTTON_ROW_ACTIVATABLE,Ct as BottomSheetPresentation,F as ButtonRowState,Tt as CAPS_LOCK_ICON_NAME,Et as CAPS_LOCK_TOOLTIP,ye as CAROUSEL_SCROLL_TIMEOUT_MS,be as CAROUSEL_SETTLE_EPSILON,xe as CarouselState,Gt as ComboState,ft as DATA_GRID_CELL_CLASS,pt as DATA_GRID_ROW_CLASS,jn as DEFAULT_DPI,ar as DEFAULT_DROPDOWN_TOOLTIP,rt as DEFAULT_ICON_COLOR,it as DEFAULT_ICON_COLOR_DARK,_r as DEFAULT_INDICATOR_DESCRIPTION_STRINGS,Fn as DEFAULT_MAX_SIDEBAR_WIDTH,In as DEFAULT_MIN_SIDEBAR_WIDTH,Ln as DEFAULT_SIDEBAR_WIDTH_FRACTION,Rn as DEFAULT_SIDEBAR_WIDTH_UNIT,Wr as DEFAULT_TAB_AUTOHIDE,Ut as DEFAULT_TOAST_TIMEOUT,Dt as EMPTY_ANIMATION_DURATION_MS,Ot as ENTRY_ROW_APPLY_ICON_NAME,kt as ENTRY_ROW_APPLY_TOOLTIP,At as ENTRY_ROW_EDIT_ICON_NAME,jt as ENTRY_ROW_MAX_LENGTH_LIMIT,Mt as ENTRY_ROW_TITLE_SPACING,Nt as EntryRowState,Kt as ExpanderState,d as GTK_LICENSE,vr as INLINE_VIEW_SWITCHER_DISPLAY_MODES,zn as INSTANT_SPLIT_VIEW_ANIMATOR,Bn as NAVIGATION_SPLIT_VIEW_CRITICALS,Vn as NavigationSplitViewState,en as NavigationViewState,Hn as OverlaySplitViewState,Pt as PASSWORD_CONCEAL_ICON_NAME,Ft as PASSWORD_CONCEAL_LABEL,It as PASSWORD_REVEAL_ICON_NAME,Lt as PASSWORD_REVEAL_LABEL,ui as POPOVER_ITEM_RADIUS,di as POPOVER_MENU_PADDING,fi as POPOVER_PADDING,pi as POPOVER_RADIUS,Rt as PasswordEntryRowState,mi as PopoverState,je as RadioGroupState,or as SPLIT_BUTTON_DISABLED_OPACITY,rn as SidebarState,qt as SpinState,sr as SplitButtonState,I as SwitchRowState,Gr as TabViewState,Jt as ToggleGroupState,$r as UNTITLED_PAGE_LABEL,yr as VIEW_SWITCHER_BADGE_LIMIT,br as VIEW_SWITCHER_DRAG_SWITCH_DELAY,xr as VIEW_SWITCHER_FALLBACK_ICON,Sr as VIEW_SWITCHER_NO_SELECTION,Cr as VIEW_SWITCHER_POLICIES,Xt as ViewStackState,wr as ViewSwitcherBarState,Tr as ViewSwitcherDragSwitch,Er as ViewSwitcherState,L as WindowTitleState,f as aboutDialogVisibility,an as adjustSidebarSelection,Mn as adwLengthToPx,Ne as adwLerp,E as adwaitaAccent,D as adwaitaAccentBgColor,O as adwaitaAccentColor,at as adwaitaColorScheme,k as adwaitaStandaloneColor,V as avatarColor,H as avatarColorClass,U as avatarFontSize,W as avatarInitials,G as avatarMaxFontSize,K as avatarMode,$ as bannerButtonStyleClasses,ee as bannerButtonText,te as bannerButtonVisible,ne as bannerRenderState,Dr as buildInlineToggles,Or as buildViewSwitcherButtons,de as buttonContentEllipsize,fe as buttonContentIconExpands,pe as buttonContentIconIsEmpty,me as buttonContentIconName,he as buttonContentLabelText,ge as buttonContentLabelVisible,_e as buttonContentRenderState,ve as buttonContentStyleTargetIndex,Se as carouselClampPosition,Ce as carouselClosestSnapPoint,we as carouselNavigateTarget,Te as carouselPageAtPosition,Ee as carouselRange,De as carouselReorderShift,Oe as carouselSizesFromSnapPoints,ke as carouselSnapPoints,Ae as carouselWheelStep,We as clampAllocate,Ge as clampChildSize,zt as clampEntryText,on as clampSidebarSelection,Ke as clampSizeFromChild,qe as clampThresholds,ei as collectSearchRows,ti as countVisiblePages,ni as createSearchRowSubtitle,kr as createViewSwitcherPage,p as creditsSections,mt as dataGridCellText,ht as dataGridColumnAlign,gt as dataGridColumnClasses,_t as dataGridRowInteractive,vt as dataGridTrackTemplate,yt as dataGridTracks,ri as defaultCaseFolder,ii as derivePreferencesGroupHeader,R as deriveRowLabels,tn as describeNavigationDiagnostic,Pe as easeInOutSine,Fe as easeOutCubic,Bt as entryTextLength,ai as escapeMarkup,oe as evaluateBreakpointCondition,q as flattenAvatarGradient,sn as flattenSidebarItems,J as gStrHash,e as gStrStrip,t as glibClamp,Ar as inlineToggleTooltip,Ie as inverseLerp,A as isAdwAccentColorName,re as isBannerButtonStyle,Kr as isDescendantOfPage,jr as isInlineViewSwitcherDisplayMode,m as isLicenseType,Un as isSidebarAtVisualStart,cr as isSplitButtonDirection,ot as isThemeIconColor,Mr as isViewSwitcherButtonVisible,Nr as isViewSwitcherPolicy,Wn as layoutNavigationSplitView,Gn as layoutOverlaySplitView,h as legalSectionVisible,g as licenseText,_ as licenseTypeForSpdxId,oi as makeComparable,Kn as measureSplitViewHorizontal,lr as menuButtonArrowIcon,ur as menuButtonPopupDirection,Je as normalizeClampSize,Yt as normalizeComboOptions,bt as normalizeDataGridColumns,xt as normalizeDataGridVariant,Zt as normalizeIconName,Nn as normalizeLengthUnit,Di as normalizeNaturalLineLength,Sn as normalizeSpinnerAngle,Oi as normalizeWrapBoxAlign,ki as normalizeWrapBoxJustify,Ai as normalizeWrapBoxLengthUnit,ji as normalizeWrapBoxPackDirection,Mi as normalizeWrapBoxSpacing,Ni as normalizeWrapPolicy,j as onAdwaitaAccentChanged,st as onAdwaitaColorSchemeChanged,Pr as pageIndexForToggle,Dn as parseAccelerator,ie as parseBannerButtonStyle,se as parseBreakpointCondition,v as parseCreditPerson,dr as parseMenuEntries,On as parseShortcutLabel,Ye as parseToolbarStyle,Y as randomAvatarColorClass,wt as resolveBottomSheetClose,Me as resolveCheckState,fr as resolveDropdownTooltip,qn as resolveNaturalSidebarWidth,Jn as resolveNavigationAction,Yn as resolveNavigationSidebarWidth,Xn as resolveNavigationStack,Zn as resolveOverlaySidebarWidth,Qt as resolvePageTitle,hi as resolvePopoverKey,Qn as resolveSidebarBounds,Xe as resolveSpinnerSize,$n as resolveSwipeArea,er as resolveSwipeRelease,tr as resolveSwipeSnapPoints,nr as resolveSwipeStart,Pi as resolveWrapBoxChildOrder,Fi as resolveWrapBoxLine,si as rowMatchesQuery,ci as searchPreferences,M as setAdwaitaAccent,ct as setAdwaitaColorScheme,y as setLicense,b as setLicenseType,kn as shortcutKeycaps,Fr as shouldRevealViewSwitcherBar,cn as sidebarHeaders,Cn as spinnerArc,wn as spinnerArcEnd,Tn as spinnerArcStart,Ze as spinnerGeometry,En as spinnerProgressAt,pr as splitButtonArrowIcon,mr as splitButtonPopupDirection,hr as splitButtonRootState,gr as splitButtonStyleClasses,n as stringIsNotEmpty,li as stripMarkup,r as stripMnemonic,qr as successorAfterClose,rr as swipeCancelProgress,Jr as tabCloseVisible,Yr as tabIconState,Xr as tabTooltip,Zr as tabTooltipIsMarkup,Qr as tabsRevealed,ir as tagsConflict,lt as themeIconColor,ut as toggleAdwaitaColorScheme,Ir as toggleIndexForPage,Qe as toolbarBarStyleClasses,$e as toolbarViewAllocate,et as toolbarViewClasses,tt as toolbarViewContentForSize,nt as toolbarViewMeasure,x as translatorCreditsPeople,Lr as viewSwitcherBadgeLabel,Rr as viewSwitcherButtonOrientation,zr as viewSwitcherIconName,Br as viewSwitcherIndicatorDescription,Vr as viewSwitcherLabel,Hr as viewSwitcherPageFromStackPage,Ur as viewSwitcherPagesFromStack,Ii as wrapBoxLengthToPx,Li as wrapPolicyFlexShrink};
1
+ import{gStrStrip as e,glibClamp as t,stringIsNotEmpty as n,stripMnemonic as r}from"./glib.js";import{ADW_ABOUT_DIALOG_LABELS as i,ADW_CREDITS_SECTION_TITLES as a,ADW_LICENSES as o,ADW_LICENSE_ALIASES as s,ADW_LICENSE_DEFAULTS as c,ADW_LICENSE_WARRANTY_TEMPLATE as l,ADW_TRANSLATOR_CREDITS_SENTINELS as u,GTK_LICENSE as d,aboutDialogVisibility as f,creditsSections as p,isLicenseType as m,legalSectionVisible as h,licenseText as g,licenseTypeForSpdxId as _,parseCreditPerson as v,setLicense as y,setLicenseType as b,translatorCreditsPeople as x}from"./about-dialog.js";import{ADW_ACCENT_BG_COLORS as S,ADW_ACCENT_COLOR_NAMES as C,ADW_ACCENT_FG_COLOR as w,ADW_DEFAULT_ACCENT_COLOR as T,adwaitaAccent as E,adwaitaAccentBgColor as D,adwaitaAccentColor as O,adwaitaStandaloneColor as k,isAdwAccentColorName as A,onAdwaitaAccentChanged as j,setAdwaitaAccent as M}from"./accent.js";import{ActionRowState as N,BUTTON_ROW_ACTIVATABLE as P,ButtonRowState as F,SwitchRowState as I,WindowTitleState as L,deriveRowLabels as R}from"./action-row.js";import{AVATAR_COLORS as z,AVATAR_COLOR_COUNT as B,avatarColor as V,avatarColorClass as H,avatarFontSize as U,avatarInitials as W,avatarMaxFontSize as G,avatarMode as K,flattenAvatarGradient as q,gStrHash as J,randomAvatarColorClass as Y}from"./avatar.js";import{ADW_BANNER_BUTTON_STYLES as X,ADW_BANNER_BUTTON_STYLE_CLASSES as Z,ADW_BANNER_DEFAULTS as Q,bannerButtonStyleClasses as $,bannerButtonText as ee,bannerButtonVisible as te,bannerRenderState as ne,isBannerButtonStyle as re,parseBannerButtonStyle as ie}from"./banner.js";import{AdwBreakpoint as ae,evaluateBreakpointCondition as oe,parseBreakpointCondition as se}from"./breakpoint.js";import{ADW_BUTTON_CONTENT_DEFAULTS as ce,BUTTON_CONTENT_FALLBACK_ICON as le,BUTTON_CONTENT_STYLE_CLASS as ue,buttonContentEllipsize as de,buttonContentIconExpands as fe,buttonContentIconIsEmpty as pe,buttonContentIconName as me,buttonContentLabelText as he,buttonContentLabelVisible as ge,buttonContentRenderState as _e,buttonContentStyleTargetIndex as ve}from"./button-content.js";import{ADW_BUTTON_STYLE_ALIASES as ye,ADW_BUTTON_STYLE_CLASSES as be,buttonStyleClass as xe,buttonStyleClasses as Se}from"./button.js";import{CAROUSEL_SCROLL_TIMEOUT_MS as Ce,CAROUSEL_SETTLE_EPSILON as we,CarouselState as Te,carouselClampPosition as Ee,carouselClosestSnapPoint as De,carouselNavigateTarget as Oe,carouselPageAllocation as ke,carouselPageAtPosition as Ae,carouselRange as je,carouselReorderShift as Me,carouselSizesFromSnapPoints as Ne,carouselSnapPoints as Pe,carouselWheelStep as Fe}from"./carousel.js";import{RadioGroupState as Ie,resolveCheckState as Le}from"./checks.js";import{adwLerp as Re,easeInOutSine as ze,easeOutCubic as Be,inverseLerp as Ve}from"./easing.js";import{ADW_CLAMP_DEFAULTS as He,ADW_CLAMP_SIZE_CLASSES as Ue,ADW_SPINNER_MAX_SIZE as We,ADW_SPINNER_MIN_SIZE as Ge,ADW_TOOLBAR_BAR_CLASSES as Ke,ADW_TOOLBAR_VIEW_CLASSES as qe,ADW_TOOLBAR_VIEW_DEFAULTS as Je,clampAllocate as Ye,clampChildSize as Xe,clampSizeFromChild as Ze,clampThresholds as Qe,normalizeClampSize as $e,parseToolbarStyle as et,resolveSpinnerSize as tt,spinnerGeometry as nt,toolbarBarStyleClasses as rt,toolbarViewAllocate as it,toolbarViewClasses as at,toolbarViewContentForSize as ot,toolbarViewMeasure as st}from"./chrome.js";import{DEFAULT_ICON_COLOR as ct,DEFAULT_ICON_COLOR_DARK as lt,adwaitaColorScheme as ut,isThemeIconColor as dt,onAdwaitaColorSchemeChanged as ft,setAdwaitaColorScheme as pt,themeIconColor as mt,toggleAdwaitaColorScheme as ht}from"./color-scheme.js";import{ADW_DATA_GRID_ROW_VARIANTS as gt,DATA_GRID_CELL_CLASS as _t,DATA_GRID_ROW_CLASS as vt,dataGridCellText as yt,dataGridColumnAlign as bt,dataGridColumnClasses as xt,dataGridRowInteractive as St,dataGridTrackTemplate as Ct,dataGridTracks as wt,normalizeDataGridColumns as Tt,normalizeDataGridVariant as Et}from"./data-grid.js";import{AdwAlertResponses as Dt,BottomSheetPresentation as Ot,resolveBottomSheetClose as kt}from"./dialog.js";import{CAPS_LOCK_ICON_NAME as At,CAPS_LOCK_TOOLTIP as jt,EMPTY_ANIMATION_DURATION_MS as Mt,ENTRY_ROW_APPLY_ICON_NAME as Nt,ENTRY_ROW_APPLY_TOOLTIP as Pt,ENTRY_ROW_EDIT_ICON_NAME as Ft,ENTRY_ROW_MAX_LENGTH_LIMIT as It,ENTRY_ROW_TITLE_SPACING as Lt,EntryRowState as Rt,PASSWORD_CONCEAL_ICON_NAME as zt,PASSWORD_CONCEAL_LABEL as Bt,PASSWORD_REVEAL_ICON_NAME as Vt,PASSWORD_REVEAL_LABEL as Ht,PasswordEntryRowState as Ut,clampEntryText as Wt,entryTextLength as Gt}from"./entry-row.js";import{AdwToast as Kt,AdwToastQueue as qt,DEFAULT_TOAST_TIMEOUT as Jt}from"./toast.js";import{ADW_COMBO_NO_SELECTION as Yt,ComboState as Xt,ExpanderState as Zt,SpinState as Qt,ToggleGroupState as $t,normalizeComboOptions as en}from"./rows.js";import{ViewStackState as tn,normalizeIconName as nn,resolvePageTitle as rn}from"./view-stack.js";import{BACK_BUTTON_FALLBACK_TOOLTIP as an,NavigationViewState as on,describeNavigationDiagnostic as sn}from"./navigation-view.js";import{ADW_SIDEBAR_NO_SELECTION as cn,SidebarState as ln,adjustSidebarSelection as un,clampSidebarSelection as dn,flattenSidebarItems as fn,sidebarHeaders as pn}from"./sidebar.js";import{ADW_SPINNER_CONTRACT_DISTANCE as mn,ADW_SPINNER_CYCLES_PER_LOOP as hn,ADW_SPINNER_CYCLE_LENGTH as gn,ADW_SPINNER_EXTEND_DISTANCE as _n,ADW_SPINNER_IDLE_DISTANCE as vn,ADW_SPINNER_MAX_ARC_LENGTH as yn,ADW_SPINNER_MIN_ARC_LENGTH as bn,ADW_SPINNER_N_CYCLES as xn,ADW_SPINNER_OVERLAP_DISTANCE as Sn,ADW_SPINNER_SPIN_DURATION_MS as Cn,ADW_SPINNER_START_ANGLE as wn,ADW_SPINNER_STILL_PROGRESS as Tn,ADW_SPINNER_TRACK_OPACITY as En,normalizeSpinnerAngle as Dn,spinnerArc as On,spinnerArcEnd as kn,spinnerArcStart as An,spinnerProgressAt as jn}from"./spinner.js";import{parseAccelerator as Mn,parseShortcutLabel as Nn,shortcutKeycaps as Pn}from"./shortcut-label.js";import{ADW_LENGTH_UNITS as Fn,DEFAULT_DPI as In,adwLengthToPx as Ln,normalizeLengthUnit as Rn}from"./length-unit.js";import{ADW_SWIPE_BORDER as zn,DEFAULT_MAX_SIDEBAR_WIDTH as Bn,DEFAULT_MIN_SIDEBAR_WIDTH as Vn,DEFAULT_SIDEBAR_WIDTH_FRACTION as Hn,DEFAULT_SIDEBAR_WIDTH_UNIT as Un,INSTANT_SPLIT_VIEW_ANIMATOR as Wn,NAVIGATION_SPLIT_VIEW_CRITICALS as Gn,NavigationSplitViewState as Kn,OverlaySplitViewState as qn,isSidebarAtVisualStart as Jn,layoutNavigationSplitView as Yn,layoutOverlaySplitView as Xn,measureSplitViewHorizontal as Zn,resolveNaturalSidebarWidth as Qn,resolveNavigationAction as $n,resolveNavigationSidebarWidth as er,resolveNavigationStack as tr,resolveOverlaySidebarWidth as nr,resolveSidebarBounds as rr,resolveSwipeArea as ir,resolveSwipeRelease as ar,resolveSwipeSnapPoints as or,resolveSwipeStart as sr,swipeCancelProgress as cr,tagsConflict as lr}from"./split-view.js";import{DEFAULT_DROPDOWN_TOOLTIP as ur,SPLIT_BUTTON_DISABLED_OPACITY as dr,SplitButtonState as fr,isSplitButtonDirection as pr,menuButtonArrowIcon as mr,menuButtonPopupDirection as hr,parseMenuEntries as gr,resolveDropdownTooltip as _r,splitButtonArrowIcon as vr,splitButtonPopupDirection as yr,splitButtonRootState as br,splitButtonStyleClasses as xr}from"./split-button.js";import{DEFAULT_INDICATOR_DESCRIPTION_STRINGS as Sr,INLINE_VIEW_SWITCHER_DISPLAY_MODES as Cr,VIEW_SWITCHER_BADGE_LIMIT as wr,VIEW_SWITCHER_DRAG_SWITCH_DELAY as Tr,VIEW_SWITCHER_FALLBACK_ICON as Er,VIEW_SWITCHER_NO_SELECTION as Dr,VIEW_SWITCHER_POLICIES as Or,ViewSwitcherBarState as kr,ViewSwitcherDragSwitch as Ar,ViewSwitcherState as jr,buildInlineToggles as Mr,buildViewSwitcherButtons as Nr,createViewSwitcherPage as Pr,inlineToggleTooltip as Fr,isInlineViewSwitcherDisplayMode as Ir,isViewSwitcherButtonVisible as Lr,isViewSwitcherPolicy as Rr,pageIndexForToggle as zr,shouldRevealViewSwitcherBar as Br,toggleIndexForPage as Vr,viewSwitcherBadgeLabel as Hr,viewSwitcherButtonOrientation as Ur,viewSwitcherIconName as Wr,viewSwitcherIndicatorDescription as Gr,viewSwitcherLabel as Kr,viewSwitcherPageFromStackPage as qr,viewSwitcherPagesFromStack as Jr}from"./view-switcher.js";import{DEFAULT_TAB_AUTOHIDE as Yr,TabViewState as Xr,isDescendantOfPage as Zr,successorAfterClose as Qr,tabCloseVisible as $r,tabIconState as ei,tabTooltip as ti,tabTooltipIsMarkup as ni,tabsRevealed as ri}from"./tab-view.js";import{UNTITLED_PAGE_LABEL as ii,collectSearchRows as ai,countVisiblePages as oi,createSearchRowSubtitle as si,defaultCaseFolder as ci,derivePreferencesGroupHeader as li,escapeMarkup as ui,makeComparable as di,rowMatchesQuery as fi,searchPreferences as pi,stripMarkup as mi}from"./preferences.js";import{ADW_MAX_OVERSHOOT_DISTANCE as hi,ADW_OVERSHOOT_SETTLE_MS as gi,ADW_UNDERSHOOT_CLASSES as _i,ADW_UNDERSHOOT_SIZE as vi,accumulateOvershoot as yi,isScrolledFromEnd as bi,isScrolledFromStart as xi,overshootDistance as Si,scrollMaxValue as Ci,scrollUndershootClasses as wi}from"./scrolling.js";import{POPOVER_ITEM_RADIUS as Ti,POPOVER_MENU_PADDING as Ei,POPOVER_PADDING as Di,POPOVER_RADIUS as Oi,PopoverState as ki,resolvePopoverKey as Ai}from"./popover.js";import{ADW_WRAP_BOX_DEFAULT_ALIGN as ji,ADW_WRAP_BOX_DEFAULT_JUSTIFY as Mi,ADW_WRAP_BOX_DEFAULT_JUSTIFY_LAST_LINE as Ni,ADW_WRAP_BOX_DEFAULT_LENGTH_UNIT as Pi,ADW_WRAP_BOX_DEFAULT_PACK_DIRECTION as Fi,ADW_WRAP_BOX_DEFAULT_SPACING as Ii,ADW_WRAP_BOX_DEFAULT_WRAP_POLICY as Li,ADW_WRAP_BOX_JUSTIFY_MODES as Ri,ADW_WRAP_BOX_NATURAL_LINE_LENGTH_UNSET as zi,ADW_WRAP_BOX_PACK_DIRECTIONS as Bi,ADW_WRAP_POLICIES as Vi,normalizeNaturalLineLength as Hi,normalizeWrapBoxAlign as Ui,normalizeWrapBoxJustify as Wi,normalizeWrapBoxLengthUnit as Gi,normalizeWrapBoxPackDirection as Ki,normalizeWrapBoxSpacing as qi,normalizeWrapPolicy as Ji,resolveWrapBoxChildOrder as Yi,resolveWrapBoxLine as Xi,wrapBoxLengthToPx as Zi,wrapPolicyFlexShrink as Qi}from"./wrap-box.js";export{i as ADW_ABOUT_DIALOG_LABELS,S as ADW_ACCENT_BG_COLORS,C as ADW_ACCENT_COLOR_NAMES,w as ADW_ACCENT_FG_COLOR,X as ADW_BANNER_BUTTON_STYLES,Z as ADW_BANNER_BUTTON_STYLE_CLASSES,Q as ADW_BANNER_DEFAULTS,ce as ADW_BUTTON_CONTENT_DEFAULTS,ye as ADW_BUTTON_STYLE_ALIASES,be as ADW_BUTTON_STYLE_CLASSES,He as ADW_CLAMP_DEFAULTS,Ue as ADW_CLAMP_SIZE_CLASSES,Yt as ADW_COMBO_NO_SELECTION,a as ADW_CREDITS_SECTION_TITLES,gt as ADW_DATA_GRID_ROW_VARIANTS,T as ADW_DEFAULT_ACCENT_COLOR,Fn as ADW_LENGTH_UNITS,o as ADW_LICENSES,s as ADW_LICENSE_ALIASES,c as ADW_LICENSE_DEFAULTS,l as ADW_LICENSE_WARRANTY_TEMPLATE,hi as ADW_MAX_OVERSHOOT_DISTANCE,gi as ADW_OVERSHOOT_SETTLE_MS,cn as ADW_SIDEBAR_NO_SELECTION,mn as ADW_SPINNER_CONTRACT_DISTANCE,hn as ADW_SPINNER_CYCLES_PER_LOOP,gn as ADW_SPINNER_CYCLE_LENGTH,_n as ADW_SPINNER_EXTEND_DISTANCE,vn as ADW_SPINNER_IDLE_DISTANCE,yn as ADW_SPINNER_MAX_ARC_LENGTH,We as ADW_SPINNER_MAX_SIZE,bn as ADW_SPINNER_MIN_ARC_LENGTH,Ge as ADW_SPINNER_MIN_SIZE,xn as ADW_SPINNER_N_CYCLES,Sn as ADW_SPINNER_OVERLAP_DISTANCE,Cn as ADW_SPINNER_SPIN_DURATION_MS,wn as ADW_SPINNER_START_ANGLE,Tn as ADW_SPINNER_STILL_PROGRESS,En as ADW_SPINNER_TRACK_OPACITY,zn as ADW_SWIPE_BORDER,Ke as ADW_TOOLBAR_BAR_CLASSES,qe as ADW_TOOLBAR_VIEW_CLASSES,Je as ADW_TOOLBAR_VIEW_DEFAULTS,u as ADW_TRANSLATOR_CREDITS_SENTINELS,_i as ADW_UNDERSHOOT_CLASSES,vi as ADW_UNDERSHOOT_SIZE,ji as ADW_WRAP_BOX_DEFAULT_ALIGN,Mi as ADW_WRAP_BOX_DEFAULT_JUSTIFY,Ni as ADW_WRAP_BOX_DEFAULT_JUSTIFY_LAST_LINE,Pi as ADW_WRAP_BOX_DEFAULT_LENGTH_UNIT,Fi as ADW_WRAP_BOX_DEFAULT_PACK_DIRECTION,Ii as ADW_WRAP_BOX_DEFAULT_SPACING,Li as ADW_WRAP_BOX_DEFAULT_WRAP_POLICY,Ri as ADW_WRAP_BOX_JUSTIFY_MODES,zi as ADW_WRAP_BOX_NATURAL_LINE_LENGTH_UNSET,Bi as ADW_WRAP_BOX_PACK_DIRECTIONS,Vi as ADW_WRAP_POLICIES,z as AVATAR_COLORS,B as AVATAR_COLOR_COUNT,N as ActionRowState,Dt as AdwAlertResponses,ae as AdwBreakpoint,Kt as AdwToast,qt as AdwToastQueue,an as BACK_BUTTON_FALLBACK_TOOLTIP,le as BUTTON_CONTENT_FALLBACK_ICON,ue as BUTTON_CONTENT_STYLE_CLASS,P as BUTTON_ROW_ACTIVATABLE,Ot as BottomSheetPresentation,F as ButtonRowState,At as CAPS_LOCK_ICON_NAME,jt as CAPS_LOCK_TOOLTIP,Ce as CAROUSEL_SCROLL_TIMEOUT_MS,we as CAROUSEL_SETTLE_EPSILON,Te as CarouselState,Xt as ComboState,_t as DATA_GRID_CELL_CLASS,vt as DATA_GRID_ROW_CLASS,In as DEFAULT_DPI,ur as DEFAULT_DROPDOWN_TOOLTIP,ct as DEFAULT_ICON_COLOR,lt as DEFAULT_ICON_COLOR_DARK,Sr as DEFAULT_INDICATOR_DESCRIPTION_STRINGS,Bn as DEFAULT_MAX_SIDEBAR_WIDTH,Vn as DEFAULT_MIN_SIDEBAR_WIDTH,Hn as DEFAULT_SIDEBAR_WIDTH_FRACTION,Un as DEFAULT_SIDEBAR_WIDTH_UNIT,Yr as DEFAULT_TAB_AUTOHIDE,Jt as DEFAULT_TOAST_TIMEOUT,Mt as EMPTY_ANIMATION_DURATION_MS,Nt as ENTRY_ROW_APPLY_ICON_NAME,Pt as ENTRY_ROW_APPLY_TOOLTIP,Ft as ENTRY_ROW_EDIT_ICON_NAME,It as ENTRY_ROW_MAX_LENGTH_LIMIT,Lt as ENTRY_ROW_TITLE_SPACING,Rt as EntryRowState,Zt as ExpanderState,d as GTK_LICENSE,Cr as INLINE_VIEW_SWITCHER_DISPLAY_MODES,Wn as INSTANT_SPLIT_VIEW_ANIMATOR,Gn as NAVIGATION_SPLIT_VIEW_CRITICALS,Kn as NavigationSplitViewState,on as NavigationViewState,qn as OverlaySplitViewState,zt as PASSWORD_CONCEAL_ICON_NAME,Bt as PASSWORD_CONCEAL_LABEL,Vt as PASSWORD_REVEAL_ICON_NAME,Ht as PASSWORD_REVEAL_LABEL,Ti as POPOVER_ITEM_RADIUS,Ei as POPOVER_MENU_PADDING,Di as POPOVER_PADDING,Oi as POPOVER_RADIUS,Ut as PasswordEntryRowState,ki as PopoverState,Ie as RadioGroupState,dr as SPLIT_BUTTON_DISABLED_OPACITY,ln as SidebarState,Qt as SpinState,fr as SplitButtonState,I as SwitchRowState,Xr as TabViewState,$t as ToggleGroupState,ii as UNTITLED_PAGE_LABEL,wr as VIEW_SWITCHER_BADGE_LIMIT,Tr as VIEW_SWITCHER_DRAG_SWITCH_DELAY,Er as VIEW_SWITCHER_FALLBACK_ICON,Dr as VIEW_SWITCHER_NO_SELECTION,Or as VIEW_SWITCHER_POLICIES,tn as ViewStackState,kr as ViewSwitcherBarState,Ar as ViewSwitcherDragSwitch,jr as ViewSwitcherState,L as WindowTitleState,f as aboutDialogVisibility,yi as accumulateOvershoot,un as adjustSidebarSelection,Ln as adwLengthToPx,Re as adwLerp,E as adwaitaAccent,D as adwaitaAccentBgColor,O as adwaitaAccentColor,ut as adwaitaColorScheme,k as adwaitaStandaloneColor,V as avatarColor,H as avatarColorClass,U as avatarFontSize,W as avatarInitials,G as avatarMaxFontSize,K as avatarMode,$ as bannerButtonStyleClasses,ee as bannerButtonText,te as bannerButtonVisible,ne as bannerRenderState,Mr as buildInlineToggles,Nr as buildViewSwitcherButtons,de as buttonContentEllipsize,fe as buttonContentIconExpands,pe as buttonContentIconIsEmpty,me as buttonContentIconName,he as buttonContentLabelText,ge as buttonContentLabelVisible,_e as buttonContentRenderState,ve as buttonContentStyleTargetIndex,xe as buttonStyleClass,Se as buttonStyleClasses,Ee as carouselClampPosition,De as carouselClosestSnapPoint,Oe as carouselNavigateTarget,ke as carouselPageAllocation,Ae as carouselPageAtPosition,je as carouselRange,Me as carouselReorderShift,Ne as carouselSizesFromSnapPoints,Pe as carouselSnapPoints,Fe as carouselWheelStep,Ye as clampAllocate,Xe as clampChildSize,Wt as clampEntryText,dn as clampSidebarSelection,Ze as clampSizeFromChild,Qe as clampThresholds,ai as collectSearchRows,oi as countVisiblePages,si as createSearchRowSubtitle,Pr as createViewSwitcherPage,p as creditsSections,yt as dataGridCellText,bt as dataGridColumnAlign,xt as dataGridColumnClasses,St as dataGridRowInteractive,Ct as dataGridTrackTemplate,wt as dataGridTracks,ci as defaultCaseFolder,li as derivePreferencesGroupHeader,R as deriveRowLabels,sn as describeNavigationDiagnostic,ze as easeInOutSine,Be as easeOutCubic,Gt as entryTextLength,ui as escapeMarkup,oe as evaluateBreakpointCondition,q as flattenAvatarGradient,fn as flattenSidebarItems,J as gStrHash,e as gStrStrip,t as glibClamp,Fr as inlineToggleTooltip,Ve as inverseLerp,A as isAdwAccentColorName,re as isBannerButtonStyle,Zr as isDescendantOfPage,Ir as isInlineViewSwitcherDisplayMode,m as isLicenseType,bi as isScrolledFromEnd,xi as isScrolledFromStart,Jn as isSidebarAtVisualStart,pr as isSplitButtonDirection,dt as isThemeIconColor,Lr as isViewSwitcherButtonVisible,Rr as isViewSwitcherPolicy,Yn as layoutNavigationSplitView,Xn as layoutOverlaySplitView,h as legalSectionVisible,g as licenseText,_ as licenseTypeForSpdxId,di as makeComparable,Zn as measureSplitViewHorizontal,mr as menuButtonArrowIcon,hr as menuButtonPopupDirection,$e as normalizeClampSize,en as normalizeComboOptions,Tt as normalizeDataGridColumns,Et as normalizeDataGridVariant,nn as normalizeIconName,Rn as normalizeLengthUnit,Hi as normalizeNaturalLineLength,Dn as normalizeSpinnerAngle,Ui as normalizeWrapBoxAlign,Wi as normalizeWrapBoxJustify,Gi as normalizeWrapBoxLengthUnit,Ki as normalizeWrapBoxPackDirection,qi as normalizeWrapBoxSpacing,Ji as normalizeWrapPolicy,j as onAdwaitaAccentChanged,ft as onAdwaitaColorSchemeChanged,Si as overshootDistance,zr as pageIndexForToggle,Mn as parseAccelerator,ie as parseBannerButtonStyle,se as parseBreakpointCondition,v as parseCreditPerson,gr as parseMenuEntries,Nn as parseShortcutLabel,et as parseToolbarStyle,Y as randomAvatarColorClass,kt as resolveBottomSheetClose,Le as resolveCheckState,_r as resolveDropdownTooltip,Qn as resolveNaturalSidebarWidth,$n as resolveNavigationAction,er as resolveNavigationSidebarWidth,tr as resolveNavigationStack,nr as resolveOverlaySidebarWidth,rn as resolvePageTitle,Ai as resolvePopoverKey,rr as resolveSidebarBounds,tt as resolveSpinnerSize,ir as resolveSwipeArea,ar as resolveSwipeRelease,or as resolveSwipeSnapPoints,sr as resolveSwipeStart,Yi as resolveWrapBoxChildOrder,Xi as resolveWrapBoxLine,fi as rowMatchesQuery,Ci as scrollMaxValue,wi as scrollUndershootClasses,pi as searchPreferences,M as setAdwaitaAccent,pt as setAdwaitaColorScheme,y as setLicense,b as setLicenseType,Pn as shortcutKeycaps,Br as shouldRevealViewSwitcherBar,pn as sidebarHeaders,On as spinnerArc,kn as spinnerArcEnd,An as spinnerArcStart,nt as spinnerGeometry,jn as spinnerProgressAt,vr as splitButtonArrowIcon,yr as splitButtonPopupDirection,br as splitButtonRootState,xr as splitButtonStyleClasses,n as stringIsNotEmpty,mi as stripMarkup,r as stripMnemonic,Qr as successorAfterClose,cr as swipeCancelProgress,$r as tabCloseVisible,ei as tabIconState,ti as tabTooltip,ni as tabTooltipIsMarkup,ri as tabsRevealed,lr as tagsConflict,mt as themeIconColor,ht as toggleAdwaitaColorScheme,Vr as toggleIndexForPage,rt as toolbarBarStyleClasses,it as toolbarViewAllocate,at as toolbarViewClasses,ot as toolbarViewContentForSize,st as toolbarViewMeasure,x as translatorCreditsPeople,Hr as viewSwitcherBadgeLabel,Ur as viewSwitcherButtonOrientation,Wr as viewSwitcherIconName,Gr as viewSwitcherIndicatorDescription,Kr as viewSwitcherLabel,qr as viewSwitcherPageFromStackPage,Jr as viewSwitcherPagesFromStack,Zi as wrapBoxLengthToPx,Qi as wrapPolicyFlexShrink};
@@ -0,0 +1 @@
1
+ import"./_virtual/_rolldown/runtime.js";const e=40,t=100,n=50;function scrollMaxValue(e){return e.upper-e.pageSize}function isScrolledFromStart(e){return e.value>e.lower}function isScrolledFromEnd(e){return e.value<scrollMaxValue(e)}const r=[`undershoot-top`,`undershoot-bottom`,`undershoot-start`,`undershoot-end`];function scrollUndershootClasses(e){let t=[],{vertical:n,horizontal:r}=e;return n&&(isScrolledFromStart(n)&&t.push(`undershoot-top`),isScrolledFromEnd(n)&&t.push(`undershoot-bottom`)),r&&(isScrolledFromStart(r)&&t.push(`undershoot-start`),isScrolledFromEnd(r)&&t.push(`undershoot-end`)),t}function overshootDistance(e,t){let n=scrollMaxValue(t);return e<t.lower?e-t.lower:e>n?e-n:0}function accumulateOvershoot(e,t,n){let r=n.lower-100,i=scrollMaxValue(n)+100;return Math.min(Math.max(e+t,r),i)}export{t as ADW_MAX_OVERSHOOT_DISTANCE,n as ADW_OVERSHOOT_SETTLE_MS,r as ADW_UNDERSHOOT_CLASSES,e as ADW_UNDERSHOOT_SIZE,accumulateOvershoot,isScrolledFromEnd,isScrolledFromStart,overshootDistance,scrollMaxValue,scrollUndershootClasses};
@@ -0,0 +1,21 @@
1
+ /** Every documented button style class, in stylesheet order. */
2
+ export declare const ADW_BUTTON_STYLE_CLASSES: readonly ["flat", "suggested-action", "destructive-action", "circular", "pill"];
3
+ /** One of {@link ADW_BUTTON_STYLE_CLASSES}. */
4
+ export type AdwButtonStyleClass = (typeof ADW_BUTTON_STYLE_CLASSES)[number];
5
+ /**
6
+ * The short names a renderer's own surface uses → the class.
7
+ *
8
+ * The browser element spells them as attributes (`suggested`), the NativeScript one
9
+ * as variants (`suggested-action`). Both spellings resolve here, so neither has to
10
+ * keep a private table to translate.
11
+ */
12
+ export declare const ADW_BUTTON_STYLE_ALIASES: Readonly<Record<string, AdwButtonStyleClass>>;
13
+ /** The class for one short name, or `null` when the name is not a button style. */
14
+ export declare function buttonStyleClass(name: string | null | undefined): AdwButtonStyleClass | null;
15
+ /**
16
+ * The classes for a set of short names, deduplicated, in {@link ADW_BUTTON_STYLE_CLASSES}
17
+ * order — so two buttons carrying the same styles carry them in the same order, whatever
18
+ * order the caller asked in. Unknown names are dropped rather than passed through: the
19
+ * input is author-written markup, and a typo must not become a class.
20
+ */
21
+ export declare function buttonStyleClasses(names: Iterable<string | null | undefined>): AdwButtonStyleClass[];
@@ -0,0 +1,2 @@
1
+ declare const _default: () => Promise<void>;
2
+ export default _default;
@@ -61,6 +61,49 @@ export declare function carouselSnapPoints(sizes: readonly number[]): number[];
61
61
  * per-page reveal state, since `AdwSwipeable` hands out snap points and never sizes.
62
62
  */
63
63
  export declare function carouselSizesFromSnapPoints(points: readonly number[]): number[];
64
+ /**
65
+ * One page's measurement along the carousel's axis, in the terms
66
+ * `adw_carousel_size_allocate` asks each child for.
67
+ */
68
+ export interface CarouselPageMeasurement {
69
+ /** What `gtk_widget_measure` reports as the natural size along that axis. */
70
+ natural: number;
71
+ /** What it reports as the minimum, `CLAMP`'s LOW bound. Defaults to 0. */
72
+ minimum?: number;
73
+ /** `gtk_widget_get_hexpand` (`get_vexpand` when vertical): this page wants the whole carousel. */
74
+ expand?: boolean;
75
+ }
76
+ /** The two lengths `adw_carousel_size_allocate` settles before it places anything. */
77
+ export interface CarouselPageAllocation {
78
+ /** `child_width` / `child_height`: the size EVERY page is allocated, not just the current one. */
79
+ pageSize: number;
80
+ /** `(width − child_width) / 2`: the empty half-gap the page strip starts at. */
81
+ leadingInset: number;
82
+ }
83
+ /**
84
+ * How big every page is, and how far in from the carousel's edge the strip of pages
85
+ * starts (`adw_carousel_size_allocate`, adw-carousel.c:748-767 and :796-806).
86
+ *
87
+ * A page is NOT "the carousel's size". Every page is allocated the SAME size, the
88
+ * largest of what the pages ask for and never more than the carousel has: a page that
89
+ * expands takes the whole carousel, any other takes `CLAMP (natural, minimum,
90
+ * available)`. Whatever is left over is then split in half, because the strip is drawn
91
+ * at an offset of `-(width - child_width) / 2`, which centres the current page and lets
92
+ * the two neighbours show through at the edges by `leadingInset - spacing` each.
93
+ *
94
+ * That peek is why this is core arithmetic rather than a renderer's CSS: the web port
95
+ * pinned its pages at 100% of the carousel, which is right only when `leadingInset`
96
+ * happens to be 0, so a 440px page in a 480px carousel had both neighbours entirely off
97
+ * screen where GTK shows 20px of each.
98
+ *
99
+ * `glibClamp`, not `Math.min`/`Math.max`: `CLAMP` tests its HIGH bound first, so a page
100
+ * whose MINIMUM exceeds the carousel gets its minimum and the strip legitimately
101
+ * overhangs, with `leadingInset` going negative.
102
+ *
103
+ * The gap BETWEEN pages is not here: that is `spacing`, which
104
+ * {@link CarouselState.pageDistance} adds to this size to get `self->distance`.
105
+ */
106
+ export declare function carouselPageAllocation(available: number, pages: readonly CarouselPageMeasurement[]): CarouselPageAllocation;
64
107
  /**
65
108
  * The scrollable range — `get_range`. `positionShift` is the pending compensation an
66
109
  * insert/remove/reorder accumulates before the next allocation, and is part of the bound
@@ -0,0 +1,9 @@
1
+ /** One style-class resolution. */
2
+ export interface ButtonStyleClassVector {
3
+ /** The short names a renderer hands in — attribute names, or a variant. */
4
+ names: readonly string[];
5
+ /** The classes that must come back, in order. */
6
+ classes: readonly string[];
7
+ rule: string;
8
+ }
9
+ export declare const BUTTON_STYLE_CLASS_VECTORS: ReadonlyArray<ButtonStyleClassVector>;
@@ -1,4 +1,4 @@
1
- import type { CarouselDirection, CarouselOrientation, CarouselScrollSource } from '../carousel.js';
1
+ import type { CarouselDirection, CarouselOrientation, CarouselPageMeasurement, CarouselScrollSource } from '../carousel.js';
2
2
  /** One `carouselSnapPoints` expectation. */
3
3
  export interface CarouselSnapPointVector {
4
4
  /** Per-page reveal sizes: 0 while a page animates in, 1 once settled. */
@@ -28,6 +28,29 @@ export interface CarouselSizesFromSnapPointsVector {
28
28
  * CORE-ONLY: an internal step of a pipeline whose COMPOSED result is renderer-driven — driving it separately would assert the same thing twice (CAROUSEL_PAGE_LIST_VECTORS)
29
29
  */
30
30
  export declare const CAROUSEL_SIZES_FROM_SNAP_POINTS_VECTORS: ReadonlyArray<CarouselSizesFromSnapPointsVector>;
31
+ /** One `carouselPageAllocation` expectation. */
32
+ export interface CarouselPageAllocationVector {
33
+ /** The carousel's own size along its axis: `width` as `size_allocate` receives it. */
34
+ available: number;
35
+ /** What each page measures, in C's terms. */
36
+ pages: readonly CarouselPageMeasurement[];
37
+ /** `child_width`: the size every page is allocated. */
38
+ pageSize: number;
39
+ /** `(available − pageSize) / 2`, the half-gap the strip starts at. */
40
+ leadingInset: number;
41
+ rule: string;
42
+ }
43
+ /**
44
+ * `adw_carousel_size_allocate`'s page sizing (:748-767) and the centring offset it
45
+ * feeds (:796-806).
46
+ *
47
+ * The regression pin for the peek: in GTK the pages of the Carousel story (440px cards
48
+ * in a 480px carousel) leave 20px of the previous and next page showing at the two
49
+ * edges, and the web port showed neither, because its pages were CSS `flex: 0 0 100%`.
50
+ * A row here is a page size and the inset that follows from it; where the neighbours
51
+ * then land is `distance` away from that, which CAROUSEL_PAGE_LIST_VECTORS already owns.
52
+ */
53
+ export declare const CAROUSEL_PAGE_ALLOCATION_VECTORS: ReadonlyArray<CarouselPageAllocationVector>;
31
54
  /** One `carouselRange` expectation. */
32
55
  export interface CarouselRangeVector {
33
56
  snapPoints: readonly number[];
@@ -8,6 +8,8 @@ export { BANNER_BUTTON_STYLE_PARSE_VECTORS, BANNER_BUTTON_STYLE_VECTORS, BANNER_
8
8
  export type { BannerButtonStyleParseVector, BannerButtonStyleVector, BannerButtonTextVector, BannerButtonVisibleVector, BannerDefaultVector, } from './banner.js';
9
9
  export { BUTTON_CONTENT_DEFAULT_VECTORS, BUTTON_CONTENT_ELLIPSIZE_VECTORS, BUTTON_CONTENT_ICON_VECTORS, BUTTON_CONTENT_LABEL_VECTORS, BUTTON_CONTENT_STYLE_TARGET_VECTORS, BUTTON_CONTENT_TEXT_VECTORS, } from './button-content.js';
10
10
  export type { ButtonContentDefaultVector, ButtonContentEllipsizeVector, ButtonContentIconVector, ButtonContentLabelVector, ButtonContentStyleTargetVector, ButtonContentTextVector, } from './button-content.js';
11
+ export { BUTTON_STYLE_CLASS_VECTORS } from './button.js';
12
+ export type { ButtonStyleClassVector } from './button.js';
11
13
  export { RADIO_GROUP_VECTORS } from './checks.js';
12
14
  export type { RadioGroupStep, RadioGroupVector } from './checks.js';
13
15
  export { COMBO_CHOOSER_VECTORS, COMBO_SELECTION_VECTORS } from './rows.js';
@@ -28,8 +30,8 @@ export { INLINE_TOGGLE_VECTORS, INLINE_TOOLTIP_VECTORS, VIEW_SWITCHER_BADGE_VECT
28
30
  export type { ExpectedInlineToggle, ExpectedViewSwitcherButton, InlineToggleVector, InlineTooltipVector, MnemonicVector, ViewSwitcherBadgeVector, ViewSwitcherBarRevealVector, ViewSwitcherBarSnapshot, ViewSwitcherBarStep, ViewSwitcherBarVector, ViewSwitcherButtonVector, ViewSwitcherButtonVisibilityVector, ViewSwitcherClock, ViewSwitcherDragStep, ViewSwitcherDragVector, ViewSwitcherIconVector, ViewSwitcherRebuildVector, ViewSwitcherSelectionVector, ViewSwitcherVectorChange, ViewSwitcherVectorOp, ViewSwitcherVectorPage, } from './view-switcher.js';
29
31
  export { TABS_REVEALED_VECTORS, TAB_CLOSE_VISIBLE_VECTORS, TAB_DESCENDANT_VECTORS, TAB_ICON_STATE_VECTORS, TAB_PAGE_DESCRIPTOR_VECTORS, TAB_SUCCESSOR_VECTORS, TAB_TOOLTIP_VECTORS, TAB_VIEW_VECTORS, applyTabViewOp, seedTabViewPages, tabViewClosing, tabViewOrder, } from './tab-view.js';
30
32
  export type { TabCloseVisibleVector, TabDescendantVector, TabIconStateVector, TabPageDescriptorVector, TabSuccessorVector, TabTooltipVector, TabViewVector, TabViewVectorHandler, TabViewVectorOp, TabViewVectorPage, TabViewVectorPagesChange, TabViewVectorSelection, TabViewVectorTarget, TabsRevealedVector, } from './tab-view.js';
31
- export { CAROUSEL_CLAMP_VECTORS, CAROUSEL_NAVIGATE_VECTORS, CAROUSEL_PAGE_AT_POSITION_VECTORS, CAROUSEL_PAGE_LIST_VECTORS, CAROUSEL_PROPERTY_DEFAULT_VECTORS, CAROUSEL_RANGE_VECTORS, CAROUSEL_REORDER_SHIFT_VECTORS, CAROUSEL_REVEAL_VECTORS, CAROUSEL_SIZES_FROM_SNAP_POINTS_VECTORS, CAROUSEL_SNAP_POINT_VECTORS, CAROUSEL_WHEEL_LOCKOUT_VECTORS, CAROUSEL_WHEEL_VECTORS, } from './carousel.js';
32
- export type { CarouselClampVector, CarouselNavigateVector, CarouselPageAtPositionVector, CarouselPageListVector, CarouselPageOp, CarouselPropertyDefaultVector, CarouselRangeVector, CarouselReorderShiftVector, CarouselRevealOp, CarouselRevealVector, CarouselSizesFromSnapPointsVector, CarouselSnapPointVector, CarouselStateSnapshot, CarouselWheelLockoutStep, CarouselWheelLockoutVector, CarouselWheelVector, } from './carousel.js';
33
+ export { CAROUSEL_CLAMP_VECTORS, CAROUSEL_NAVIGATE_VECTORS, CAROUSEL_PAGE_ALLOCATION_VECTORS, CAROUSEL_PAGE_AT_POSITION_VECTORS, CAROUSEL_PAGE_LIST_VECTORS, CAROUSEL_PROPERTY_DEFAULT_VECTORS, CAROUSEL_RANGE_VECTORS, CAROUSEL_REORDER_SHIFT_VECTORS, CAROUSEL_REVEAL_VECTORS, CAROUSEL_SIZES_FROM_SNAP_POINTS_VECTORS, CAROUSEL_SNAP_POINT_VECTORS, CAROUSEL_WHEEL_LOCKOUT_VECTORS, CAROUSEL_WHEEL_VECTORS, } from './carousel.js';
34
+ export type { CarouselClampVector, CarouselNavigateVector, CarouselPageAllocationVector, CarouselPageAtPositionVector, CarouselPageListVector, CarouselPageOp, CarouselPropertyDefaultVector, CarouselRangeVector, CarouselReorderShiftVector, CarouselRevealOp, CarouselRevealVector, CarouselSizesFromSnapPointsVector, CarouselSnapPointVector, CarouselStateSnapshot, CarouselWheelLockoutStep, CarouselWheelLockoutVector, CarouselWheelVector, } from './carousel.js';
33
35
  export { DATA_GRID_CELL_TEXT_VECTORS, DATA_GRID_COLUMN_CLASS_VECTORS, DATA_GRID_COLUMN_NORMALIZE_VECTORS, DATA_GRID_INTERACTIVE_VECTORS, DATA_GRID_TRACK_VECTORS, DATA_GRID_VARIANT_VECTORS, } from './data-grid.js';
34
36
  export type { DataGridCellTextVector, DataGridColumnClassVector, DataGridColumnNormalizeVector, DataGridInteractiveVector, DataGridTrackVector, DataGridVariantVector, } from './data-grid.js';
35
37
  export { CASE_FOLD_VECTORS, MAKE_COMPARABLE_VECTORS, PREFERENCES_GROUP_HEADER_VECTORS, PREFERENCES_SEARCH_PAGES, PREFERENCES_SEARCH_VECTORS, ROW_MATCH_VECTORS, SEARCH_CORPUS_VECTORS, SEARCH_ROW_SUBTITLE_VECTORS, STRIP_MARKUP_VECTORS, STRIP_MNEMONIC_VECTORS, } from './preferences.js';
@@ -8,6 +8,8 @@ export { ADW_BANNER_BUTTON_STYLES, ADW_BANNER_BUTTON_STYLE_CLASSES, ADW_BANNER_D
8
8
  export type { AdwBannerButtonStyle, AdwBannerProps, AdwBannerRenderState } from './banner.js';
9
9
  export { ADW_BUTTON_CONTENT_DEFAULTS, BUTTON_CONTENT_FALLBACK_ICON, BUTTON_CONTENT_STYLE_CLASS, buttonContentEllipsize, buttonContentIconExpands, buttonContentIconIsEmpty, buttonContentIconName, buttonContentLabelText, buttonContentLabelVisible, buttonContentRenderState, buttonContentStyleTargetIndex, } from './button-content.js';
10
10
  export type { AdwButtonContentProps, AdwButtonContentRenderState, ButtonContentAncestor, ButtonContentEllipsize, } from './button-content.js';
11
+ export { ADW_BUTTON_STYLE_ALIASES, ADW_BUTTON_STYLE_CLASSES, buttonStyleClass, buttonStyleClasses } from './button.js';
12
+ export type { AdwButtonStyleClass } from './button.js';
11
13
  export { RadioGroupState, resolveCheckState } from './checks.js';
12
14
  export type { AdwCheckState, RadioGroupChange, RadioGroupListener } from './checks.js';
13
15
  export { AdwBreakpoint, evaluateBreakpointCondition, parseBreakpointCondition } from './breakpoint.js';
@@ -48,12 +50,14 @@ export { DEFAULT_INDICATOR_DESCRIPTION_STRINGS, INLINE_VIEW_SWITCHER_DISPLAY_MOD
48
50
  export type { AdwInlineViewSwitcherDisplayMode, AdwViewSwitcherPage, AdwViewSwitcherPageInit, AdwViewSwitcherPolicy, IndicatorDescriptionStrings, InlineToggleModel, ViewSwitcherBarChange, ViewSwitcherBarListener, ViewSwitcherButtonModel, ViewSwitcherDragSwitchOptions, ViewSwitcherScheduler, ViewSwitcherStateChange, ViewSwitcherStateListener, ViewSwitcherStateOptions, ViewSwitcherTimerHandle, } from './view-switcher.js';
49
51
  export { DEFAULT_TAB_AUTOHIDE, TabViewState, isDescendantOfPage, successorAfterClose, tabCloseVisible, tabIconState, tabTooltip, tabTooltipIsMarkup, tabsRevealed, } from './tab-view.js';
50
52
  export type { AdwTabPageSpec, AdwTabPageState, TabIconState, TabViewHandlers, TabViewPagesChange, TabViewPagesChangeKind, TabViewPagesListener, TabViewSelectionChange, TabViewSelectionListener, } from './tab-view.js';
51
- export { CAROUSEL_SCROLL_TIMEOUT_MS, CAROUSEL_SETTLE_EPSILON, CarouselState, carouselClampPosition, carouselClosestSnapPoint, carouselNavigateTarget, carouselPageAtPosition, carouselRange, carouselReorderShift, carouselSizesFromSnapPoints, carouselSnapPoints, carouselWheelStep, } from './carousel.js';
52
- export type { CarouselChangeReason, CarouselDirection, CarouselOrientation, CarouselPageChangedListener, CarouselRange, CarouselReorderShiftInput, CarouselScrollOptions, CarouselScrollRequest, CarouselScrollSource, CarouselStateChange, CarouselStateListener, CarouselStateOptions, CarouselWheelInput, } from './carousel.js';
53
+ export { CAROUSEL_SCROLL_TIMEOUT_MS, CAROUSEL_SETTLE_EPSILON, CarouselState, carouselClampPosition, carouselClosestSnapPoint, carouselNavigateTarget, carouselPageAllocation, carouselPageAtPosition, carouselRange, carouselReorderShift, carouselSizesFromSnapPoints, carouselSnapPoints, carouselWheelStep, } from './carousel.js';
54
+ export type { CarouselChangeReason, CarouselDirection, CarouselOrientation, CarouselPageAllocation, CarouselPageChangedListener, CarouselPageMeasurement, CarouselRange, CarouselReorderShiftInput, CarouselScrollOptions, CarouselScrollRequest, CarouselScrollSource, CarouselStateChange, CarouselStateListener, CarouselStateOptions, CarouselWheelInput, } from './carousel.js';
53
55
  export { UNTITLED_PAGE_LABEL, collectSearchRows, countVisiblePages, createSearchRowSubtitle, defaultCaseFolder, derivePreferencesGroupHeader, escapeMarkup, makeComparable, rowMatchesQuery, searchPreferences, stripMarkup, } from './preferences.js';
54
56
  export type { CaseFolder, MakeComparableOptions, PreferencesGroupHeaderInput, PreferencesGroupHeaderState, PreferencesSearchEntry, PreferencesSearchGroup, PreferencesSearchPage, PreferencesSearchResult, PreferencesSearchRow, SearchPreferencesOptions, SearchRowSubtitleInput, } from './preferences.js';
55
57
  export { ADW_CLAMP_DEFAULTS, ADW_CLAMP_SIZE_CLASSES, ADW_SPINNER_MAX_SIZE, ADW_SPINNER_MIN_SIZE, ADW_TOOLBAR_BAR_CLASSES, ADW_TOOLBAR_VIEW_CLASSES, ADW_TOOLBAR_VIEW_DEFAULTS, clampAllocate, clampChildSize, clampSizeFromChild, clampThresholds, normalizeClampSize, parseToolbarStyle, resolveSpinnerSize, spinnerGeometry, toolbarBarStyleClasses, toolbarViewAllocate, toolbarViewClasses, toolbarViewContentForSize, toolbarViewMeasure, } from './chrome.js';
56
58
  export type { AdwClampSizeClass, AdwMeasurement, AdwToolbarStyle, ClampAllocation, ClampParams, ClampThresholds, SpinnerGeometry, ToolbarViewAllocateInput, ToolbarViewAllocation, ToolbarViewClassInput, ToolbarViewClasses, ToolbarViewContentForSize, ToolbarViewContentForSizeInput, ToolbarViewMeasureInput, } from './chrome.js';
59
+ export { ADW_MAX_OVERSHOOT_DISTANCE, ADW_OVERSHOOT_SETTLE_MS, ADW_UNDERSHOOT_CLASSES, ADW_UNDERSHOOT_SIZE, accumulateOvershoot, isScrolledFromEnd, isScrolledFromStart, overshootDistance, scrollMaxValue, scrollUndershootClasses, } from './scrolling.js';
60
+ export type { ScrollAdjustment, ScrollAdjustments } from './scrolling.js';
57
61
  export { POPOVER_ITEM_RADIUS, POPOVER_MENU_PADDING, POPOVER_PADDING, POPOVER_RADIUS, PopoverState, resolvePopoverKey, } from './popover.js';
58
62
  export type { PopoverKeyAction, PopoverKeyContext, PopoverKeyResolution, PopoverStateChange, PopoverStateListener, } from './popover.js';
59
63
  export { ADW_WRAP_BOX_DEFAULT_ALIGN, ADW_WRAP_BOX_DEFAULT_JUSTIFY, ADW_WRAP_BOX_DEFAULT_JUSTIFY_LAST_LINE, ADW_WRAP_BOX_DEFAULT_LENGTH_UNIT, ADW_WRAP_BOX_DEFAULT_PACK_DIRECTION, ADW_WRAP_BOX_DEFAULT_SPACING, ADW_WRAP_BOX_DEFAULT_WRAP_POLICY, ADW_WRAP_BOX_JUSTIFY_MODES, ADW_WRAP_BOX_NATURAL_LINE_LENGTH_UNSET, ADW_WRAP_BOX_PACK_DIRECTIONS, ADW_WRAP_POLICIES, normalizeNaturalLineLength, normalizeWrapBoxAlign, normalizeWrapBoxJustify, normalizeWrapBoxLengthUnit, normalizeWrapBoxPackDirection, normalizeWrapBoxSpacing, normalizeWrapPolicy, resolveWrapBoxChildOrder, resolveWrapBoxLine, wrapBoxLengthToPx, wrapPolicyFlexShrink, } from './wrap-box.js';
@@ -0,0 +1,70 @@
1
+ /**
2
+ * `UNDERSHOOT_SIZE` — the band the undershoot node is allocated, in px.
3
+ *
4
+ * Larger than what is visible on purpose: the gradient over it fades out after 4px,
5
+ * so the band is mostly transparent. A renderer sizing the element to the visible
6
+ * 4px would be describing the gradient, not the node.
7
+ */
8
+ export declare const ADW_UNDERSHOOT_SIZE = 40;
9
+ /** `MAX_OVERSHOOT_DISTANCE` — how far past an edge the position may travel, in px. */
10
+ export declare const ADW_MAX_OVERSHOOT_DISTANCE = 100;
11
+ /**
12
+ * The idle gap after which a non-smooth scroll starts decelerating, in ms.
13
+ *
14
+ * `scrolled_window_scroll` arms this timeout on every wheel event that left an
15
+ * overshoot standing, so the spring-back happens once the wheel STOPS rather than
16
+ * between two detents of the same gesture.
17
+ */
18
+ export declare const ADW_OVERSHOOT_SETTLE_MS = 50;
19
+ /** One axis of a `GtkAdjustment`, as a scrollport reports it. */
20
+ export interface ScrollAdjustment {
21
+ /** `gtk_adjustment_get_value` — the current scroll position. */
22
+ value: number;
23
+ /** `gtk_adjustment_get_lower` — the position of the start edge, normally 0. */
24
+ lower: number;
25
+ /** `gtk_adjustment_get_upper` — the full content length. */
26
+ upper: number;
27
+ /** `gtk_adjustment_get_page_size` — the visible length. */
28
+ pageSize: number;
29
+ }
30
+ /** The highest position an adjustment can hold — `upper - page_size`. */
31
+ export declare function scrollMaxValue(adjustment: ScrollAdjustment): number;
32
+ /** Whether content is hidden BEFORE the current position, i.e. `value > lower`. */
33
+ export declare function isScrolledFromStart(adjustment: ScrollAdjustment): boolean;
34
+ /** Whether content is hidden AFTER the current position, i.e. `value < upper - page_size`. */
35
+ export declare function isScrolledFromEnd(adjustment: ScrollAdjustment): boolean;
36
+ /** The four undershoot classes a scroller owns, so a renderer can clear them. */
37
+ export declare const ADW_UNDERSHOOT_CLASSES: ReadonlyArray<string>;
38
+ /** The adjustments of a scroller, either axis optional (an axis that cannot scroll). */
39
+ export interface ScrollAdjustments {
40
+ /** The vertical axis — drives `undershoot-top` / `undershoot-bottom`. */
41
+ vertical?: ScrollAdjustment;
42
+ /** The horizontal axis — drives `undershoot-start` / `undershoot-end`. */
43
+ horizontal?: ScrollAdjustment;
44
+ }
45
+ /**
46
+ * Which undershoot indicators a scroller shows at its current position.
47
+ *
48
+ * The horizontal pair is named start/end rather than left/right because the
49
+ * stylesheet resolves them per text direction (`_scrolling.scss:158-166`); the
50
+ * arithmetic is direction-blind, which is why it lives here and the flip lives in
51
+ * CSS.
52
+ */
53
+ export declare function scrollUndershootClasses(adjustments: ScrollAdjustments): string[];
54
+ /**
55
+ * `_gtk_scrolled_window_get_overshoot` for one axis: how far the unclamped position
56
+ * lies past an edge.
57
+ *
58
+ * Signed — negative past the start edge, positive past the end edge, `0` in range —
59
+ * so one number carries both which edge glows and how much.
60
+ */
61
+ export declare function overshootDistance(unclamped: number, adjustment: ScrollAdjustment): number;
62
+ /**
63
+ * `_gtk_scrolled_window_set_adjustment_value`: advance the unclamped position by a
64
+ * scroll delta, held within one overshoot distance of either edge.
65
+ *
66
+ * A hard CLAMP, not a spring: upstream damps nothing on the way out, so pushing
67
+ * twice as hard past the edge does not glow twice as far — it stops at
68
+ * {@link ADW_MAX_OVERSHOOT_DISTANCE} and stays there until the gesture ends.
69
+ */
70
+ export declare function accumulateOvershoot(unclamped: number, delta: number, adjustment: ScrollAdjustment): number;
@@ -0,0 +1,2 @@
1
+ declare const _default: () => Promise<void>;
2
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjsify/adwaita-core",
3
- "version": "0.39.0",
3
+ "version": "0.41.0",
4
4
  "description": "Headless Adwaita widget behavior (breakpoint condition grammar + apply/unapply state machine, color-scheme observable, avatar derivation) shared by the web and NativeScript Adwaita renderers — pure TS, no platform imports",
5
5
  "type": "module",
6
6
  "module": "lib/esm/index.js",
@@ -46,8 +46,8 @@
46
46
  "headless"
47
47
  ],
48
48
  "devDependencies": {
49
- "@gjsify/cli": "^0.39.0",
50
- "@gjsify/unit": "^0.39.0",
49
+ "@gjsify/cli": "^0.41.0",
50
+ "@gjsify/unit": "^0.41.0",
51
51
  "@types/node": "^25.9.2",
52
52
  "typescript": "^6.0.3"
53
53
  },