@aquera/nile-elements 2.0.17 → 2.0.19
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/README.md +8 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +629 -440
- package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js +1 -1
- package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js.map +1 -1
- package/dist/nile-breadcrumb/nile-breadcrumb.esm.js +2 -2
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js.map +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js.map +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.esm.js +14 -2
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.esm.js +4 -4
- package/dist/nile-minimap/index.cjs.js +2 -0
- package/dist/nile-minimap/index.cjs.js.map +1 -0
- package/dist/nile-minimap/index.esm.js +1 -0
- package/dist/nile-minimap/nile-minimap.cjs.js +2 -0
- package/dist/nile-minimap/nile-minimap.cjs.js.map +1 -0
- package/dist/nile-minimap/nile-minimap.css.cjs.js +2 -0
- package/dist/nile-minimap/nile-minimap.css.cjs.js.map +1 -0
- package/dist/nile-minimap/nile-minimap.css.esm.js +150 -0
- package/dist/nile-minimap/nile-minimap.esm.js +22 -0
- package/dist/nile-select/index.cjs.js +1 -1
- package/dist/nile-select/index.esm.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +2 -2
- package/dist/nile-select/nile-select.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.esm.js +1 -1
- package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
- package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
- package/dist/nile-select/virtual-scroll-helper.esm.js +48 -47
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js +4 -4
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.esm.js +2 -2
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-breadcrumb/nile-breadcrumb.d.ts +7 -0
- package/dist/src/nile-breadcrumb/nile-breadcrumb.js +24 -1
- package/dist/src/nile-breadcrumb/nile-breadcrumb.js.map +1 -1
- package/dist/src/nile-breadcrumb/nile-breadcrumb.test.js +51 -0
- package/dist/src/nile-breadcrumb/nile-breadcrumb.test.js.map +1 -1
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.css.js +12 -0
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.css.js.map +1 -1
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.d.ts +5 -0
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.js +9 -0
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.js.map +1 -1
- package/dist/src/nile-minimap/index.d.ts +1 -0
- package/dist/src/nile-minimap/index.js +2 -0
- package/dist/src/nile-minimap/index.js.map +1 -0
- package/dist/src/nile-minimap/nile-minimap.css.d.ts +12 -0
- package/dist/src/nile-minimap/nile-minimap.css.js +162 -0
- package/dist/src/nile-minimap/nile-minimap.css.js.map +1 -0
- package/dist/src/nile-minimap/nile-minimap.d.ts +131 -0
- package/dist/src/nile-minimap/nile-minimap.js +704 -0
- package/dist/src/nile-minimap/nile-minimap.js.map +1 -0
- package/dist/src/nile-minimap/nile-minimap.test.d.ts +1 -0
- package/dist/src/nile-minimap/nile-minimap.test.js +785 -0
- package/dist/src/nile-minimap/nile-minimap.test.js.map +1 -0
- package/dist/src/nile-select/nile-select.d.ts +1 -0
- package/dist/src/nile-select/nile-select.js +16 -1
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/src/nile-select/nile-select.test.js +430 -5
- package/dist/src/nile-select/nile-select.test.js.map +1 -1
- package/dist/src/nile-select/virtual-scroll-helper.js +7 -4
- package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +3 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.js +14 -6
- package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.test.js +115 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.test.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/index.ts +1 -0
- package/src/nile-breadcrumb/nile-breadcrumb.test.ts +57 -0
- package/src/nile-breadcrumb/nile-breadcrumb.ts +19 -0
- package/src/nile-breadcrumb-item/nile-breadcrumb-item.css.ts +12 -0
- package/src/nile-breadcrumb-item/nile-breadcrumb-item.ts +7 -0
- package/src/nile-minimap/index.ts +1 -0
- package/src/nile-minimap/nile-minimap.css.ts +164 -0
- package/src/nile-minimap/nile-minimap.test.ts +924 -0
- package/src/nile-minimap/nile-minimap.ts +796 -0
- package/src/nile-select/nile-select.test.ts +560 -5
- package/src/nile-select/nile-select.ts +21 -1
- package/src/nile-select/virtual-scroll-helper.ts +7 -4
- package/src/nile-virtual-select/nile-virtual-select.test.ts +139 -1
- package/src/nile-virtual-select/nile-virtual-select.ts +17 -6
- package/vscode-html-custom-data.json +138 -36
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2023
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
|
|
8
|
+
import NileElement from '../internal/nile-element';
|
|
9
|
+
export type NileMinimapOrientation = 'horizontal' | 'vertical' | 'auto';
|
|
10
|
+
export type NileMinimapMode = 'segments' | 'track';
|
|
11
|
+
export type NileMinimapAxis = 'horizontal' | 'vertical';
|
|
12
|
+
export type NileMinimapSource = 'drag' | 'click' | 'wheel' | 'keyboard';
|
|
13
|
+
/** Formats the `aria-valuetext` in segments mode. */
|
|
14
|
+
export type NileMinimapValueTextFormatter = (first: number, last: number, total: number) => string;
|
|
15
|
+
/**
|
|
16
|
+
* A small overview of any scrolling container. It mirrors the container's
|
|
17
|
+
* scroll position and lets people drag, click, wheel or key to another part of
|
|
18
|
+
* it. One axis at a time: horizontal for boards and wide tables, vertical for
|
|
19
|
+
* long documents and lists. It adds to the native scrollbar; it never replaces
|
|
20
|
+
* it.
|
|
21
|
+
*
|
|
22
|
+
* NxtGen theme only: styles use `--ng-*` tokens with no legacy `--nile-*`
|
|
23
|
+
* fallbacks, so the page must load the NxtGen theme (e.g. `nxtgen.css`).
|
|
24
|
+
*
|
|
25
|
+
* @tag nile-minimap
|
|
26
|
+
* @summary Scroll overview that attaches to a scroll container by id and lets people navigate it.
|
|
27
|
+
*
|
|
28
|
+
* @event nile-navigate - Fired before the minimap scrolls the container. Cancelable: `preventDefault()` skips the scroll. Detail: { position: number, ratio: number, source: 'drag' | 'click' | 'wheel' | 'keyboard', orientation: 'horizontal' | 'vertical' }
|
|
29
|
+
* @event nile-overflow-change - Fired once on first measure, then whenever overflow on the active axis starts or stops. Detail: { overflowing: boolean, orientation: 'horizontal' | 'vertical' }
|
|
30
|
+
*
|
|
31
|
+
* @csspart base - The container surface.
|
|
32
|
+
* @csspart track - The scaled area; drawn as a rail in track mode.
|
|
33
|
+
* @csspart segment - One block per item matched by `itemSelector`.
|
|
34
|
+
* @csspart viewport - The focusable, draggable thumb (`role="scrollbar"`).
|
|
35
|
+
*
|
|
36
|
+
* @cssproperty --nile-minimap-width - Width of the minimap (112px). Swaps with height in vertical mode.
|
|
37
|
+
* @cssproperty --nile-minimap-height - Height of the minimap (40px). Swaps with width in vertical mode.
|
|
38
|
+
*/
|
|
39
|
+
export declare class NileMinimap extends NileElement {
|
|
40
|
+
static styles: CSSResultGroup;
|
|
41
|
+
/** Id of the scroll container, resolved in the minimap's root node. The only way to attach. */
|
|
42
|
+
for: string;
|
|
43
|
+
/** Which axis the minimap represents. `auto` picks the overflowing axis (horizontal first). */
|
|
44
|
+
orientation: NileMinimapOrientation;
|
|
45
|
+
/** `segments` draws one block per item; `track` draws a single rail. */
|
|
46
|
+
mode: NileMinimapMode;
|
|
47
|
+
/** Selector queried on the container to find the segment items. */
|
|
48
|
+
itemSelector: string;
|
|
49
|
+
/** Hides the host while nothing overflows. */
|
|
50
|
+
hideWhenFits: boolean;
|
|
51
|
+
/** Smooth scroll for click and keyboard. Always off under reduced motion. */
|
|
52
|
+
smooth: boolean;
|
|
53
|
+
/** Still mirrors scrolling, but can't be used. */
|
|
54
|
+
disabled: boolean;
|
|
55
|
+
/** Accessible name on the viewport. */
|
|
56
|
+
label: string;
|
|
57
|
+
/**
|
|
58
|
+
* Keeps the minimap hidden until the container scrolls, then fades it out
|
|
59
|
+
* after `hideDelay` ms without scrolling. It stays visible while it is
|
|
60
|
+
* hovered, focused or being dragged. Hidden, it keeps its space and ignores
|
|
61
|
+
* the pointer.
|
|
62
|
+
*/
|
|
63
|
+
autoHide: boolean;
|
|
64
|
+
/** With `autoHide`, milliseconds without scrolling before the minimap fades out. */
|
|
65
|
+
hideDelay: number;
|
|
66
|
+
/** Builds the `aria-valuetext` in segments mode. */
|
|
67
|
+
formatValueText: NileMinimapValueTextFormatter;
|
|
68
|
+
private base;
|
|
69
|
+
private trackEl;
|
|
70
|
+
private segsEl;
|
|
71
|
+
private viewport;
|
|
72
|
+
private resolvedDir;
|
|
73
|
+
private target;
|
|
74
|
+
private axis;
|
|
75
|
+
private geo;
|
|
76
|
+
private observed;
|
|
77
|
+
private overflowing;
|
|
78
|
+
private segOn;
|
|
79
|
+
private rtl;
|
|
80
|
+
private raf;
|
|
81
|
+
private full;
|
|
82
|
+
private pending;
|
|
83
|
+
private pendingAt;
|
|
84
|
+
private retried;
|
|
85
|
+
private retryRaf;
|
|
86
|
+
private contentSize;
|
|
87
|
+
private clientSize;
|
|
88
|
+
private maxScroll;
|
|
89
|
+
private trackLen;
|
|
90
|
+
private vpLen;
|
|
91
|
+
private ro;
|
|
92
|
+
private mo;
|
|
93
|
+
private onScroll;
|
|
94
|
+
private hideTimer;
|
|
95
|
+
private hovered;
|
|
96
|
+
private focused;
|
|
97
|
+
private onPointerEnter;
|
|
98
|
+
private onPointerLeave;
|
|
99
|
+
private onFocusIn;
|
|
100
|
+
private onFocusOut;
|
|
101
|
+
private drag;
|
|
102
|
+
private dragRaf;
|
|
103
|
+
private lastMove;
|
|
104
|
+
private reduceMotion;
|
|
105
|
+
connectedCallback(): void;
|
|
106
|
+
disconnectedCallback(): void;
|
|
107
|
+
firstUpdated(): void;
|
|
108
|
+
updated(changed: PropertyValues): void;
|
|
109
|
+
render(): TemplateResult;
|
|
110
|
+
private get held();
|
|
111
|
+
/** Shows an auto-hidden minimap and restarts the countdown to hiding it. */
|
|
112
|
+
private reveal;
|
|
113
|
+
private queueHide;
|
|
114
|
+
private resolveTarget;
|
|
115
|
+
private attach;
|
|
116
|
+
private detach;
|
|
117
|
+
private schedule;
|
|
118
|
+
private layout;
|
|
119
|
+
private renderSegments;
|
|
120
|
+
private refresh;
|
|
121
|
+
private go;
|
|
122
|
+
private cur;
|
|
123
|
+
private step;
|
|
124
|
+
private bindInteractions;
|
|
125
|
+
}
|
|
126
|
+
export default NileMinimap;
|
|
127
|
+
declare global {
|
|
128
|
+
interface HTMLElementTagNameMap {
|
|
129
|
+
'nile-minimap': NileMinimap;
|
|
130
|
+
}
|
|
131
|
+
}
|