@aceshooting/lyra-ui 25.3.1 → 25.4.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.
- package/CHANGELOG.md +19 -0
- package/custom-elements.json +1 -1
- package/dist/cli/migration-contract.json +1 -1
- package/dist/components/agent-tools/browser-frame/browser-frame.styles.js +1 -1
- package/dist/components/charts/chart/chart-sync.d.ts +4 -0
- package/dist/components/charts/chart/chart-sync.js +1 -0
- package/dist/components/charts/chart/chart-sync.styles.d.ts +1 -0
- package/dist/components/charts/chart/chart-sync.styles.js +1 -0
- package/dist/components/charts/chart/chart.class.d.ts +12 -2
- package/dist/components/charts/chart/chart.class.js +5 -4
- package/dist/components/charts/chart/histogram.class.js +1 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts +18 -5
- package/dist/components/charts/chart/lite-chart.class.js +11 -11
- package/dist/components/data/heatmap/heatmap-grid-navigation.d.ts +2 -2
- package/dist/components/data/heatmap/heatmap-grid-navigation.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +24 -9
- package/dist/components/data/heatmap/heatmap.class.js +3 -3
- package/dist/components/forms/button/button.styles.js +1 -1
- package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
- package/dist/components/layout/app-rail/app-rail.class.d.ts +1 -1
- package/dist/components/layout/app-rail/app-rail.class.js +1 -1
- package/dist/components/layout/card/card.styles.js +1 -1
- package/dist/components/layout/details/accordion-item.styles.js +1 -1
- package/dist/components/layout/details/details.styles.js +1 -1
- package/dist/components/layout/reorder-list/reorder-item.class.js +2 -0
- package/dist/components/media/avatar/avatar.class.d.ts +3 -0
- package/dist/components/media/avatar/avatar.styles.js +1 -1
- package/dist/components/media/pan-zoom/pan-zoom.styles.js +1 -1
- package/dist/framework-types.d.ts +1 -1
- package/dist/internal/glass-surface.styles.js +1 -1
- package/dist/internal/opaque-content-border.styles.d.ts +3 -0
- package/dist/internal/opaque-content-border.styles.js +1 -0
- package/dist/internal/package-metadata.d.ts +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/internal/tokens.styles.js +1 -1
- package/dist/surfaces/glass.css +1 -1
- package/dist/theme.css +1 -1
- package/llms/components/lr-avatar.md +9 -3
- package/llms/components/lr-bar-chart.md +1 -1
- package/llms/components/lr-bubble-chart.md +1 -1
- package/llms/components/lr-chart.md +11 -2
- package/llms/components/lr-doughnut-chart.md +1 -1
- package/llms/components/lr-heatmap.md +16 -3
- package/llms/components/lr-histogram.md +9 -1
- package/llms/components/lr-line-chart.md +11 -1
- package/llms/components/lr-lite-chart.md +14 -4
- package/llms/components/lr-pie-chart.md +1 -1
- package/llms/components/lr-polar-area-chart.md +1 -1
- package/llms/components/lr-radar-chart.md +1 -1
- package/llms/components/lr-reorder-list.md +5 -0
- package/llms/components/lr-scatter-chart.md +1 -1
- package/llms/peers.md +2 -2
- package/llms/shared/styles-and-tokens.md +8 -2
- package/llms/shared.md +8 -2
- package/package.json +3 -3
- package/vscode-css-data.json +1 -1
- package/vscode-html-data.json +1 -1
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{css}from"lit";const styles=css`:host{contain-intrinsic-inline-size:var(--lr-size-20rem);display:block;container-type:inline-size}[part=base]{border:var(--lr-size-1px) solid var(--lr-color-border-subtle);border-radius:var(--lr-radius);flex-direction:column;display:flex;overflow:hidden}[part=toolbar]{align-items:center;gap:var(--lr-space-s);padding:var(--lr-space-xs) var(--lr-space-s);border-block-end:var(--lr-size-1px) solid var(--lr-color-border-subtle);font-size:var(--lr-font-size-sm);flex-wrap:wrap;display:flex}[part=url]{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;color:var(--lr-color-text-quiet);flex:auto;overflow:hidden}[part=status]{font-size:var(--lr-font-size-xs)}[part=controller-badge]{font-size:var(--lr-font-size-xs);padding:var(--lr-space-2xs) var(--lr-space-xs);border-radius:var(--lr-radius-pill);background:var(--lr-browser-frame-controller-bg,var(--lr-color-brand-quiet));color:var(--lr-browser-frame-controller-color,var(--lr-color-brand));overflow-wrap:anywhere;min-inline-size:0}[part=take-over-button],[part=stop-button]{font:inherit;font-size:var(--lr-font-size-xs);border:var(--lr-size-1px) solid var(--lr-color-border);border-radius:var(--lr-radius-xs);padding:var(--lr-space-2xs) var(--lr-space-s);cursor:pointer;white-space:normal;overflow-wrap:anywhere;min-inline-size:0;transition:background-color var(--lr-transition-fast), color var(--lr-transition-fast);background:0 0}[part=take-over-button]:hover,[part=stop-button]:hover{background:var(--lr-color-brand-quiet)}[part=take-over-button]:active,[part=stop-button]:active{background:color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active))}[part=take-over-button]:focus-visible,[part=stop-button]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:var(--lr-focus-ring-offset)}[part=viewport]{aspect-ratio:var(--lr-browser-frame-aspect-ratio,16 / 9);background:var(--lr-color-surface-raised);position:relative}[part=frame]{object-fit:contain;block-size:100%;inline-size:100%;display:block}::slotted(*){object-fit:contain;box-sizing:border-box;block-size:100%;inline-size:100%;display:block}::slotted([hidden]:not([hidden=until-found i])){display:none}[part=ping]{inline-size:var(--lr-size-16px);block-size:var(--lr-size-16px);border-radius:var(--lr-radius-pill);border:var(--lr-size-2px) solid var(--lr-color-brand);pointer-events:none;position:absolute;translate:-50% -50%}[part=ping][data-kind=click]{border-color:var(--lr-browser-frame-ping-click-color,var(--lr-color-brand))}[part=ping][data-kind=type]{border-color:var(--lr-browser-frame-ping-type-color,var(--lr-color-success))}[part=ping][data-kind=scroll]{border-color:var(--lr-browser-frame-ping-scroll-color,var(--lr-color-warning))}[part=ping][data-kind=move]{border-color:var(--lr-browser-frame-ping-move-color,var(--lr-color-text-quiet))}@container (inline-size<=20rem){[part=url]{flex-basis:100%}}`;export{styles};
|
|
1
|
+
import{css}from"lit";const styles=css`:host{contain-intrinsic-inline-size:var(--lr-size-20rem);display:block;container-type:inline-size}[part=base]{border:var(--lr-size-1px) solid var(--lr-color-border-subtle);border-radius:var(--lr-radius);flex-direction:column;display:flex;overflow:hidden}[part=toolbar]{align-items:center;gap:var(--lr-space-s);padding:var(--lr-space-xs) var(--lr-space-s);border-block-end:var(--lr-size-1px) solid var(--lr-color-border-subtle);font-size:var(--lr-font-size-sm);flex-wrap:wrap;display:flex;position:relative}[part=url]{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;color:var(--lr-color-text-quiet);flex:auto;overflow:hidden}[part=status]{font-size:var(--lr-font-size-xs)}[part=controller-badge]{font-size:var(--lr-font-size-xs);padding:var(--lr-space-2xs) var(--lr-space-xs);border-radius:var(--lr-radius-pill);background:var(--lr-browser-frame-controller-bg,var(--lr-color-brand-quiet));color:var(--lr-browser-frame-controller-color,var(--lr-color-brand));overflow-wrap:anywhere;min-inline-size:0}[part=take-over-button],[part=stop-button]{font:inherit;font-size:var(--lr-font-size-xs);border:var(--lr-size-1px) solid var(--lr-color-border);border-radius:var(--lr-radius-xs);padding:var(--lr-space-2xs) var(--lr-space-s);cursor:pointer;white-space:normal;overflow-wrap:anywhere;min-inline-size:0;transition:background-color var(--lr-transition-fast), color var(--lr-transition-fast);background:0 0}[part=take-over-button]:hover,[part=stop-button]:hover{background:var(--lr-color-brand-quiet)}[part=take-over-button]:active,[part=stop-button]:active{background:color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active))}[part=take-over-button]:focus-visible,[part=stop-button]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:var(--lr-focus-ring-offset)}[part=viewport]{aspect-ratio:var(--lr-browser-frame-aspect-ratio,16 / 9);background:var(--lr-color-surface-raised);position:relative}[part=frame]{object-fit:contain;block-size:100%;inline-size:100%;display:block}::slotted(*){object-fit:contain;box-sizing:border-box;block-size:100%;inline-size:100%;display:block}::slotted([hidden]:not([hidden=until-found i])){display:none}[part=ping]{inline-size:var(--lr-size-16px);block-size:var(--lr-size-16px);border-radius:var(--lr-radius-pill);border:var(--lr-size-2px) solid var(--lr-color-brand);pointer-events:none;position:absolute;translate:-50% -50%}[part=ping][data-kind=click]{border-color:var(--lr-browser-frame-ping-click-color,var(--lr-color-brand))}[part=ping][data-kind=type]{border-color:var(--lr-browser-frame-ping-type-color,var(--lr-color-success))}[part=ping][data-kind=scroll]{border-color:var(--lr-browser-frame-ping-scroll-color,var(--lr-color-warning))}[part=ping][data-kind=move]{border-color:var(--lr-browser-frame-ping-move-color,var(--lr-color-text-quiet))}@container (inline-size<=20rem){[part=url]{flex-basis:100%}}`;export{styles};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** Peer-neutral, document-scoped coordination for categorical chart interaction. */
|
|
2
|
+
export interface ChartSyncPresentation{readonly container:HTMLElement;readonly x:number;readonly top:number;readonly height:number;readonly tooltip?:{readonly title:string;readonly rows:readonly string[];};}
|
|
3
|
+
/** Only adapters resolve data eligibility, formatting and renderer geometry. */
|
|
4
|
+
export declare class ChartSyncController{private readonly host;private readonly project;private readonly reset?;private readonly isNavigationTarget?;private document?;private groupName;private group?;private crosshair?;private tooltip?;private scrollTargets;constructor(host:HTMLElement,project:(label:string,sourceIndex?:number)=>ChartSyncPresentation|undefined,reset?:(()=>void)|undefined,isNavigationTarget?:((target:Node)=>boolean)|undefined);get enabled():boolean;update(name:unknown,compatible:boolean,invalidateOwner?:boolean):void;publish(label:string,index:number):void;clear():void;disconnect():void;private readonly onLeave;private readonly onKeyDown;private composedParent;private includesComposed;private readonly onScroll;private readonly onBlur;private hide;private receive;private show;}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const documents=new WeakMap;class ChartSyncController{constructor(host,project,reset,isNavigationTarget){this.host=host,this.project=project,this.reset=reset,this.isNavigationTarget=isNavigationTarget,this.groupName="",this.scrollTargets=[],this.onLeave=()=>{this.clear()},this.onKeyDown=event=>{event.key==="Escape"&&this.clear()},this.onScroll=event=>{const target=event.target;target&&typeof target.nodeType=="number"&&(target===this.document||this.includesComposed(target,this.host)||this.includesComposed(this.host,target))&&(this.clear(),this.receive())},this.onBlur=event=>{const target=event.relatedTarget;target&&typeof target.nodeType=="number"&&(this.isNavigationTarget?this.isNavigationTarget(target):this.includesComposed(this.host,target))||this.clear()}}get enabled(){return this.group!==void 0}update(name,compatible,invalidateOwner=!1){const normalized=typeof name=="string"&&compatible?name.trim():"";if(!this.host.isConnected||!normalized){this.disconnect();return}const doc=this.host.ownerDocument;if(doc!==this.document||normalized!==this.groupName){this.disconnect();let groups=documents.get(doc);groups||(groups=new Map,documents.set(doc,groups));let group=groups.get(normalized);group||(group={members:new Set},groups.set(normalized,group)),this.document=doc,this.groupName=normalized,this.group=group,group.members.add(this),this.host.addEventListener("pointerleave",this.onLeave),this.host.addEventListener("pointercancel",this.onLeave),this.host.addEventListener("focusout",this.onBlur),this.host.shadowRoot?.addEventListener("focusout",this.onBlur),this.host.addEventListener("keydown",this.onKeyDown);const roots=new Set([doc]);this.host.shadowRoot&&roots.add(this.host.shadowRoot);for(let node=this.host;node;node=this.composedParent(node))roots.add(node.getRootNode());this.scrollTargets=[...roots];for(const root of this.scrollTargets)root.addEventListener("scroll",this.onScroll,!0)}invalidateOwner&&this.group?.active?.owner===this&&this.clear(),this.receive()}publish(label,index){if(!label||!this.group){this.clear();return}const presentation=this.project(label,index);if(!presentation){this.clear();return}this.group.active={owner:this,label,index};for(const member of[...this.group.members])member===this?member.show(presentation):member.receive()}clear(){if(this.group?.active?.owner===this){this.group.active=void 0;for(const member of[...this.group.members])member.hide()}}disconnect(){if(!this.group){this.hide(!1);return}this.clear();const group=this.group;if(group?.members.delete(this),group&&group.members.size===0&&this.document){const groups=documents.get(this.document);groups?.delete(this.groupName),groups?.size===0&&documents.delete(this.document)}this.host.removeEventListener("pointerleave",this.onLeave),this.host.removeEventListener("pointercancel",this.onLeave),this.host.removeEventListener("focusout",this.onBlur),this.host.shadowRoot?.removeEventListener("focusout",this.onBlur),this.host.removeEventListener("keydown",this.onKeyDown);for(const root of this.scrollTargets)root.removeEventListener("scroll",this.onScroll,!0);this.scrollTargets=[],this.group=void 0,this.document=void 0,this.groupName="",this.hide()}composedParent(node){return node.assignedSlot??node.parentNode??(node.nodeType===11?node.host??null:null)}includesComposed(ancestor,descendant){for(let node=descendant;node;node=this.composedParent(node))if(node===ancestor)return!0;return!1}hide(reset=!0){reset&&this.reset?.(),this.crosshair?.remove(),this.tooltip?.remove(),this.crosshair=void 0,this.tooltip=void 0}receive(){const active=this.group?.active,presentation=active&&this.host.isConnected?this.project(active.label,active.owner===this?active.index:void 0):void 0;this.show(presentation)}show(presentation){if(this.hide(!1),!presentation){this.reset?.();return}const{container,x,top,height}=presentation;if(![x,top,height].every(Number.isFinite)||height<=0||container.clientWidth<=0)return;const doc=this.host.ownerDocument,crosshair=doc.createElement("div");crosshair.setAttribute("part","sync-crosshair"),crosshair.setAttribute("aria-hidden","true"),crosshair.style.left=`${x}px`,crosshair.style.top=`${top}px`,crosshair.style.height=`${height}px`,container.append(crosshair),this.crosshair=crosshair;const content=presentation.tooltip;if(!content||!content.rows.length&&!content.title)return;const tooltip=doc.createElement("div");tooltip.setAttribute("part","sync-tooltip"),tooltip.setAttribute("aria-hidden","true");for(const text of[content.title,...content.rows]){if(!text)continue;const line=doc.createElement("div"),isolated=doc.createElement("bdi");isolated.textContent=text,line.append(isolated),tooltip.append(line)}container.append(tooltip);const inlineSize=Math.min(tooltip.getBoundingClientRect().width,container.clientWidth),blockSize=tooltip.getBoundingClientRect().height;tooltip.style.left=`${Math.max(container.scrollLeft,Math.min(x,container.scrollLeft+container.clientWidth-inlineSize))}px`,tooltip.style.top=`${Math.max(container.scrollTop,Math.min(top,container.scrollTop+container.clientHeight-blockSize))}px`,this.tooltip=tooltip}}export{ChartSyncController};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const chartSyncStyles:import("lit").CSSResult;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{css}from"lit";const chartSyncStyles=css`[part=sync-crosshair],[part=sync-tooltip]{pointer-events:none;box-sizing:border-box;position:absolute}[part=sync-crosshair]{border-inline-start:var(--lr-chart-sync-crosshair-width,var(--lr-border-width-thin)) solid var(--lr-chart-sync-crosshair-color,var(--lr-color-text));inline-size:0}[part=sync-tooltip]{z-index:var(--lr-layer-content);max-block-size:100%;max-inline-size:100%;padding:var(--lr-space-xs);border:var(--lr-border-width-thin) solid var(--lr-color-border);border-radius:var(--lr-radius);background:var(--lr-chart-tooltip-bg,var(--lr-color-surface));color:var(--lr-chart-tooltip-color,var(--lr-color-text));font:var(--lr-font-size-sm) var(--lr-font);overflow-wrap:anywhere;white-space:pre-wrap;overflow:auto}@media (forced-colors:active){[part=sync-crosshair]{border-color:canvastext}[part=sync-tooltip]{color:canvastext;background:canvas;border-color:canvastext}}`;export{chartSyncStyles};
|
|
@@ -273,6 +273,9 @@ export interface LyraChartDatumActivateDetail<TKind extends LyraChartDatumKind=L
|
|
|
273
273
|
* sample is insufficient.
|
|
274
274
|
* @slot center - Optional overlay content positioned at the chart area's center. Useful for
|
|
275
275
|
* doughnut and pie totals.
|
|
276
|
+
* @csspart sync-crosshair - Decorative category crosshair shown while a sync group is active.
|
|
277
|
+
* @cssprop [--lr-chart-sync-crosshair-color=var(--lr-color-text)] - Shared category crosshair color.
|
|
278
|
+
* @cssprop [--lr-chart-sync-crosshair-width=var(--lr-border-width-thin)] - Shared category crosshair width.
|
|
276
279
|
* @status stable
|
|
277
280
|
* @since 4.0.0
|
|
278
281
|
*/
|
|
@@ -551,7 +554,14 @@ chart?:LyraChartInstance;private scaledSliceDatasets;private chartJsModule?;priv
|
|
|
551
554
|
* inspection mirror only because shadow-root live regions are not consistently spoken. */
|
|
552
555
|
private politeAnnouncementSink?;private assertiveAnnouncementSink?;private lastDataTruncationAnnouncement;
|
|
553
556
|
/** Gates the sampling notice so an initially supplied large dataset is described, not announced. */
|
|
554
|
-
private isMounting;private announcedFeatureWarnings;private lastDrawnDirection?;private lastDrawnLocale?;
|
|
557
|
+
private isMounting;private announcedFeatureWarnings;private lastDrawnDirection?;private lastDrawnLocale?;
|
|
558
|
+
/**
|
|
559
|
+
* Synchronizes the visible active category with categorical vertical bar/line charts in the
|
|
560
|
+
* same owner document. Trimmed, case-sensitive groups match exact nonempty category labels.
|
|
561
|
+
* Duplicate labels choose the first eligible recipient category; unique labels are recommended.
|
|
562
|
+
* Peer updates are visual only and never move focus, announce, activate or select data.
|
|
563
|
+
*/
|
|
564
|
+
syncGroup:string;private readonly chartSync;connectedCallback():void;disconnectedCallback():void;adoptedCallback():void;private readonly onReducedMotionChange;private armReducedMotionWatcher;private disarmReducedMotionWatcher;
|
|
555
565
|
/** Re-target the ref-counted regions after reconnect/adoption without replaying existing text. */
|
|
556
566
|
private syncAnnouncementSinks;private releaseAnnouncementSinks;private get ownerWindow();private computedStyle;
|
|
557
567
|
/**
|
|
@@ -765,7 +775,7 @@ private buildScales;
|
|
|
765
775
|
* whatever's nearest. Covers the per-bar/per-segment click ask for any
|
|
766
776
|
* chart type (bar/line/pie/doughnut/etc.), not just bars.
|
|
767
777
|
*/
|
|
768
|
-
private handlePointClick;private chartDatums;private datumDisplayValue;private datumAnnouncement;private activateDatum;private onCanvasFocus;private onCanvasKeyDown;
|
|
778
|
+
private handlePointClick;private chartDatums;private datumDisplayValue;private datumAnnouncement;private activateDatum;private resetSyncTooltip;private syncCompatible;private syncDatums;private publishSyncDatum;private onSyncPointerMove;private syncPresentation;private onCanvasFocus;private onCanvasKeyDown;
|
|
769
779
|
/**
|
|
770
780
|
* `config.type` (if set) overrides the attribute `type` post-merge — this
|
|
771
781
|
* is the one place that resolution logic lives, shared by `buildConfig()`
|