@ni/ok-components 1.8.3 → 1.9.1
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/dist/all-components-bundle.js +1016 -548
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +7161 -7033
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/custom-elements.json +371 -6
- package/dist/custom-elements.md +41 -0
- package/dist/esm/fv/all-fv.d.ts +1 -0
- package/dist/esm/fv/all-fv.js +1 -0
- package/dist/esm/fv/all-fv.js.map +1 -1
- package/dist/esm/fv/splitter/index.d.ts +69 -0
- package/dist/esm/fv/splitter/index.js +266 -0
- package/dist/esm/fv/splitter/index.js.map +1 -0
- package/dist/esm/fv/splitter/styles.d.ts +1 -0
- package/dist/esm/fv/splitter/styles.js +62 -0
- package/dist/esm/fv/splitter/styles.js.map +1 -0
- package/dist/esm/fv/splitter/template.d.ts +2 -0
- package/dist/esm/fv/splitter/template.js +12 -0
- package/dist/esm/fv/splitter/template.js.map +1 -0
- package/dist/esm/ts/table-column/breakpoint/index.d.ts +1 -4
- package/package.json +8 -8
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { attr, nullableNumberConverter, observable } from '@ni/fast-element';
|
|
3
|
+
import { DesignSystem, FoundationElement } from '@ni/fast-foundation';
|
|
4
|
+
import { styles } from './styles';
|
|
5
|
+
import { template } from './template';
|
|
6
|
+
/**
|
|
7
|
+
* A vertical separator that enables pointer and keyboard resizing between two panes.
|
|
8
|
+
*/
|
|
9
|
+
export class FvSplitter extends FoundationElement {
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
/** The accessible name for the separator. */
|
|
13
|
+
this.ariaLabel = 'Resize panes';
|
|
14
|
+
/** The splitter position as a percentage of the containing layout's width. */
|
|
15
|
+
this.position = 60;
|
|
16
|
+
/** The minimum allowed position. */
|
|
17
|
+
this.min = 0;
|
|
18
|
+
/** The maximum allowed position. */
|
|
19
|
+
this.max = 100;
|
|
20
|
+
/** The percentage-point increment used for keyboard resizing. */
|
|
21
|
+
this.step = 1;
|
|
22
|
+
/** @internal */
|
|
23
|
+
this.resizing = false;
|
|
24
|
+
this.pointerStartPosition = 0;
|
|
25
|
+
this.requestedPosition = this.position;
|
|
26
|
+
this.applyingConstrainedPosition = false;
|
|
27
|
+
this.requestedPositionResetScheduled = false;
|
|
28
|
+
this.positionChangeCallbackVersion = 0;
|
|
29
|
+
this.keydownHandler = (event) => {
|
|
30
|
+
this.handleKeyDown(event);
|
|
31
|
+
};
|
|
32
|
+
const positionDescriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(this), 'position');
|
|
33
|
+
if (!positionDescriptor?.get || !positionDescriptor.set) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const getPosition = positionDescriptor.get.bind(this);
|
|
37
|
+
const setPosition = positionDescriptor.set.bind(this);
|
|
38
|
+
Object.defineProperty(this, 'position', {
|
|
39
|
+
configurable: true,
|
|
40
|
+
enumerable: positionDescriptor.enumerable,
|
|
41
|
+
get: getPosition,
|
|
42
|
+
set: (value) => {
|
|
43
|
+
const previousPosition = getPosition();
|
|
44
|
+
const callbackVersion = this.positionChangeCallbackVersion;
|
|
45
|
+
setPosition(value);
|
|
46
|
+
if (!this.applyingConstrainedPosition
|
|
47
|
+
&& callbackVersion === this.positionChangeCallbackVersion
|
|
48
|
+
&& previousPosition === getPosition()) {
|
|
49
|
+
this.requestedPosition = getPosition();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
/** @internal */
|
|
55
|
+
connectedCallback() {
|
|
56
|
+
super.connectedCallback();
|
|
57
|
+
this.setAttribute('role', 'separator');
|
|
58
|
+
this.setAttribute('aria-orientation', 'vertical');
|
|
59
|
+
this.setAttribute('aria-label', this.ariaLabel);
|
|
60
|
+
this.tabIndex = 0;
|
|
61
|
+
this.addEventListener('keydown', this.keydownHandler);
|
|
62
|
+
this.syncAriaValueAttributes();
|
|
63
|
+
}
|
|
64
|
+
/** @internal */
|
|
65
|
+
disconnectedCallback() {
|
|
66
|
+
this.removeEventListener('keydown', this.keydownHandler);
|
|
67
|
+
super.disconnectedCallback();
|
|
68
|
+
}
|
|
69
|
+
/** @internal */
|
|
70
|
+
positionChanged() {
|
|
71
|
+
this.positionChangeCallbackVersion += 1;
|
|
72
|
+
if (!this.applyingConstrainedPosition) {
|
|
73
|
+
this.requestedPosition = this.position;
|
|
74
|
+
this.resetRequestedPositionAfterSynchronousUpdates();
|
|
75
|
+
}
|
|
76
|
+
this.applyConstrainedPosition();
|
|
77
|
+
}
|
|
78
|
+
/** @internal */
|
|
79
|
+
minChanged() {
|
|
80
|
+
this.applyConstrainedPosition();
|
|
81
|
+
}
|
|
82
|
+
/** @internal */
|
|
83
|
+
maxChanged() {
|
|
84
|
+
this.applyConstrainedPosition();
|
|
85
|
+
}
|
|
86
|
+
/** @internal */
|
|
87
|
+
resizingChanged() {
|
|
88
|
+
this.toggleAttribute('resizing', this.resizing);
|
|
89
|
+
}
|
|
90
|
+
/** @internal */
|
|
91
|
+
handlePointerDown(event) {
|
|
92
|
+
if (event.button !== 0 || !event.isPrimary || this.pointerId !== undefined) {
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
event.preventDefault();
|
|
96
|
+
const pointerTarget = event.currentTarget;
|
|
97
|
+
this.focus();
|
|
98
|
+
this.pointerId = event.pointerId;
|
|
99
|
+
this.pointerStartPosition = this.position;
|
|
100
|
+
this.resizing = true;
|
|
101
|
+
if (event.pointerId !== -1) {
|
|
102
|
+
pointerTarget.setPointerCapture(event.pointerId);
|
|
103
|
+
}
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
/** @internal */
|
|
107
|
+
handlePointerMove(event) {
|
|
108
|
+
if (event.pointerId !== this.pointerId) {
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
const container = this.parentElement;
|
|
112
|
+
if (!container) {
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
const bounds = container.getBoundingClientRect();
|
|
116
|
+
if (bounds.width > 0) {
|
|
117
|
+
const distanceFromInlineStart = this.isRtl
|
|
118
|
+
? bounds.right - event.clientX
|
|
119
|
+
: event.clientX - bounds.left;
|
|
120
|
+
this.updatePosition((distanceFromInlineStart / bounds.width) * 100);
|
|
121
|
+
}
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
/** @internal */
|
|
125
|
+
handlePointerUp(event) {
|
|
126
|
+
if (event.pointerId === this.pointerId) {
|
|
127
|
+
this.finishResize();
|
|
128
|
+
}
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
/** @internal */
|
|
132
|
+
handlePointerCancel(event) {
|
|
133
|
+
if (event.pointerId === this.pointerId) {
|
|
134
|
+
this.updatePosition(this.pointerStartPosition);
|
|
135
|
+
this.resizing = false;
|
|
136
|
+
this.pointerId = undefined;
|
|
137
|
+
}
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
/** @internal */
|
|
141
|
+
handleKeyDown(event) {
|
|
142
|
+
let nextPosition;
|
|
143
|
+
const direction = this.isRtl ? -1 : 1;
|
|
144
|
+
switch (event.key) {
|
|
145
|
+
case 'ArrowLeft':
|
|
146
|
+
nextPosition = this.position - direction * this.validStep;
|
|
147
|
+
break;
|
|
148
|
+
case 'ArrowRight':
|
|
149
|
+
nextPosition = this.position + direction * this.validStep;
|
|
150
|
+
break;
|
|
151
|
+
case 'Home':
|
|
152
|
+
nextPosition = this.validMin;
|
|
153
|
+
break;
|
|
154
|
+
case 'End':
|
|
155
|
+
nextPosition = this.validMax;
|
|
156
|
+
break;
|
|
157
|
+
default:
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
event.preventDefault();
|
|
161
|
+
const previousPosition = this.position;
|
|
162
|
+
this.updatePosition(nextPosition);
|
|
163
|
+
if (this.position !== previousPosition) {
|
|
164
|
+
this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));
|
|
165
|
+
}
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
168
|
+
get validMin() {
|
|
169
|
+
return Number.isFinite(this.min) ? Math.min(100, Math.max(0, this.min)) : 0;
|
|
170
|
+
}
|
|
171
|
+
get validMax() {
|
|
172
|
+
const max = Number.isFinite(this.max) ? this.max : 100;
|
|
173
|
+
return Math.max(this.validMin, Math.min(100, Math.max(0, max)));
|
|
174
|
+
}
|
|
175
|
+
get validStep() {
|
|
176
|
+
return Number.isFinite(this.step) && this.step > 0 ? this.step : 1;
|
|
177
|
+
}
|
|
178
|
+
get isRtl() {
|
|
179
|
+
return getComputedStyle(this).direction === 'rtl';
|
|
180
|
+
}
|
|
181
|
+
constrain(position) {
|
|
182
|
+
const finitePosition = Number.isFinite(position) ? position : 60;
|
|
183
|
+
return Math.min(this.validMax, Math.max(this.validMin, finitePosition));
|
|
184
|
+
}
|
|
185
|
+
updatePosition(position) {
|
|
186
|
+
const nextPosition = this.constrain(position);
|
|
187
|
+
this.requestedPosition = nextPosition;
|
|
188
|
+
if (nextPosition !== this.position) {
|
|
189
|
+
this.position = nextPosition;
|
|
190
|
+
this.dispatchEvent(new Event('input', { bubbles: true, composed: true }));
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
applyConstrainedPosition() {
|
|
194
|
+
const constrainedPosition = this.constrain(this.requestedPosition);
|
|
195
|
+
if (constrainedPosition !== this.position) {
|
|
196
|
+
this.applyingConstrainedPosition = true;
|
|
197
|
+
this.position = constrainedPosition;
|
|
198
|
+
this.applyingConstrainedPosition = false;
|
|
199
|
+
}
|
|
200
|
+
this.syncAriaValueAttributesIfConnected();
|
|
201
|
+
}
|
|
202
|
+
resetRequestedPositionAfterSynchronousUpdates() {
|
|
203
|
+
if (this.requestedPositionResetScheduled) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
this.requestedPositionResetScheduled = true;
|
|
207
|
+
queueMicrotask(() => {
|
|
208
|
+
this.requestedPositionResetScheduled = false;
|
|
209
|
+
this.requestedPosition = this.position;
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
finishResize() {
|
|
213
|
+
const changed = this.position !== this.pointerStartPosition;
|
|
214
|
+
this.resizing = false;
|
|
215
|
+
this.pointerId = undefined;
|
|
216
|
+
if (changed) {
|
|
217
|
+
this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
syncAriaValueAttributesIfConnected() {
|
|
221
|
+
if (this.$fastController.isConnected) {
|
|
222
|
+
this.syncAriaValueAttributes();
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
syncAriaValueAttributes() {
|
|
226
|
+
this.setAttribute('aria-valuemin', String(this.validMin));
|
|
227
|
+
this.setAttribute('aria-valuemax', String(this.validMax));
|
|
228
|
+
this.setAttribute('aria-valuenow', String(this.position));
|
|
229
|
+
this.setAttribute('aria-valuetext', `${this.position} percent`);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
__decorate([
|
|
233
|
+
attr({ attribute: 'aria-label' })
|
|
234
|
+
], FvSplitter.prototype, "ariaLabel", void 0);
|
|
235
|
+
__decorate([
|
|
236
|
+
attr({ attribute: 'aria-labelledby' })
|
|
237
|
+
], FvSplitter.prototype, "ariaLabelledby", void 0);
|
|
238
|
+
__decorate([
|
|
239
|
+
attr({ attribute: 'aria-controls' })
|
|
240
|
+
], FvSplitter.prototype, "ariaControls", void 0);
|
|
241
|
+
__decorate([
|
|
242
|
+
attr({ converter: nullableNumberConverter })
|
|
243
|
+
], FvSplitter.prototype, "position", void 0);
|
|
244
|
+
__decorate([
|
|
245
|
+
attr({ converter: nullableNumberConverter })
|
|
246
|
+
], FvSplitter.prototype, "min", void 0);
|
|
247
|
+
__decorate([
|
|
248
|
+
attr({ converter: nullableNumberConverter })
|
|
249
|
+
], FvSplitter.prototype, "max", void 0);
|
|
250
|
+
__decorate([
|
|
251
|
+
attr({ converter: nullableNumberConverter })
|
|
252
|
+
], FvSplitter.prototype, "step", void 0);
|
|
253
|
+
__decorate([
|
|
254
|
+
observable
|
|
255
|
+
], FvSplitter.prototype, "resizing", void 0);
|
|
256
|
+
const okFvSplitter = FvSplitter.compose({
|
|
257
|
+
baseName: 'fv-splitter',
|
|
258
|
+
template,
|
|
259
|
+
styles,
|
|
260
|
+
shadowOptions: {
|
|
261
|
+
delegatesFocus: false
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
DesignSystem.getOrCreate().withPrefix('ok').register(okFvSplitter());
|
|
265
|
+
export const fvSplitterTag = 'ok-fv-splitter';
|
|
266
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/fv/splitter/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { attr, nullableNumberConverter, observable } from '@ni/fast-element';\nimport { DesignSystem, FoundationElement } from '@ni/fast-foundation';\nimport { styles } from './styles';\nimport { template } from './template';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ok-fv-splitter': FvSplitter;\n }\n}\n\n/**\n * A vertical separator that enables pointer and keyboard resizing between two panes.\n */\nexport class FvSplitter extends FoundationElement {\n /** The accessible name for the separator. */\n @attr({ attribute: 'aria-label' })\n public override ariaLabel = 'Resize panes';\n\n /** Identifies the element that labels the separator. */\n @attr({ attribute: 'aria-labelledby' })\n public ariaLabelledby: string | undefined;\n\n /** Identifies the primary pane controlled by the separator. */\n @attr({ attribute: 'aria-controls' })\n public ariaControls: string | undefined;\n\n /** The splitter position as a percentage of the containing layout's width. */\n @attr({ converter: nullableNumberConverter })\n public position = 60;\n\n /** The minimum allowed position. */\n @attr({ converter: nullableNumberConverter })\n public min = 0;\n\n /** The maximum allowed position. */\n @attr({ converter: nullableNumberConverter })\n public max = 100;\n\n /** The percentage-point increment used for keyboard resizing. */\n @attr({ converter: nullableNumberConverter })\n public step = 1;\n\n /** @internal */\n @observable\n public resizing = false;\n\n private pointerId: number | undefined;\n private pointerStartPosition = 0;\n private requestedPosition = this.position;\n private applyingConstrainedPosition = false;\n private requestedPositionResetScheduled = false;\n private positionChangeCallbackVersion = 0;\n\n public constructor() {\n super();\n\n const positionDescriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(this), 'position');\n if (!positionDescriptor?.get || !positionDescriptor.set) {\n return;\n }\n\n const getPosition = positionDescriptor.get.bind(this) as () => number;\n const setPosition = positionDescriptor.set.bind(this) as (value: number) => void;\n Object.defineProperty(this, 'position', {\n configurable: true,\n enumerable: positionDescriptor.enumerable,\n get: getPosition,\n set: (value: number) => {\n const previousPosition = getPosition();\n const callbackVersion = this.positionChangeCallbackVersion;\n setPosition(value);\n if (!this.applyingConstrainedPosition\n && callbackVersion === this.positionChangeCallbackVersion\n && previousPosition === getPosition()) {\n this.requestedPosition = getPosition();\n }\n }\n });\n }\n\n /** @internal */\n public override connectedCallback(): void {\n super.connectedCallback();\n\n this.setAttribute('role', 'separator');\n this.setAttribute('aria-orientation', 'vertical');\n this.setAttribute('aria-label', this.ariaLabel);\n this.tabIndex = 0;\n this.addEventListener('keydown', this.keydownHandler);\n this.syncAriaValueAttributes();\n }\n\n /** @internal */\n public override disconnectedCallback(): void {\n this.removeEventListener('keydown', this.keydownHandler);\n super.disconnectedCallback();\n }\n\n /** @internal */\n public positionChanged(): void {\n this.positionChangeCallbackVersion += 1;\n if (!this.applyingConstrainedPosition) {\n this.requestedPosition = this.position;\n this.resetRequestedPositionAfterSynchronousUpdates();\n }\n this.applyConstrainedPosition();\n }\n\n /** @internal */\n public minChanged(): void {\n this.applyConstrainedPosition();\n }\n\n /** @internal */\n public maxChanged(): void {\n this.applyConstrainedPosition();\n }\n\n /** @internal */\n public resizingChanged(): void {\n this.toggleAttribute('resizing', this.resizing);\n }\n\n /** @internal */\n public handlePointerDown(event: PointerEvent): boolean {\n if (event.button !== 0 || !event.isPrimary || this.pointerId !== undefined) {\n return true;\n }\n\n event.preventDefault();\n const pointerTarget = event.currentTarget as HTMLElement;\n this.focus();\n this.pointerId = event.pointerId;\n this.pointerStartPosition = this.position;\n this.resizing = true;\n if (event.pointerId !== -1) {\n pointerTarget.setPointerCapture(event.pointerId);\n }\n return true;\n }\n\n /** @internal */\n public handlePointerMove(event: PointerEvent): boolean {\n if (event.pointerId !== this.pointerId) {\n return true;\n }\n\n const container = this.parentElement;\n if (!container) {\n return true;\n }\n\n const bounds = container.getBoundingClientRect();\n if (bounds.width > 0) {\n const distanceFromInlineStart = this.isRtl\n ? bounds.right - event.clientX\n : event.clientX - bounds.left;\n this.updatePosition((distanceFromInlineStart / bounds.width) * 100);\n }\n return true;\n }\n\n /** @internal */\n public handlePointerUp(event: PointerEvent): boolean {\n if (event.pointerId === this.pointerId) {\n this.finishResize();\n }\n return true;\n }\n\n /** @internal */\n public handlePointerCancel(event: PointerEvent): boolean {\n if (event.pointerId === this.pointerId) {\n this.updatePosition(this.pointerStartPosition);\n this.resizing = false;\n this.pointerId = undefined;\n }\n return true;\n }\n\n /** @internal */\n public handleKeyDown(event: KeyboardEvent): boolean {\n let nextPosition: number | undefined;\n const direction = this.isRtl ? -1 : 1;\n switch (event.key) {\n case 'ArrowLeft':\n nextPosition = this.position - direction * this.validStep;\n break;\n case 'ArrowRight':\n nextPosition = this.position + direction * this.validStep;\n break;\n case 'Home':\n nextPosition = this.validMin;\n break;\n case 'End':\n nextPosition = this.validMax;\n break;\n default:\n return true;\n }\n\n event.preventDefault();\n const previousPosition = this.position;\n this.updatePosition(nextPosition);\n if (this.position !== previousPosition) {\n this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));\n }\n return true;\n }\n\n private get validMin(): number {\n return Number.isFinite(this.min) ? Math.min(100, Math.max(0, this.min)) : 0;\n }\n\n private get validMax(): number {\n const max = Number.isFinite(this.max) ? this.max : 100;\n return Math.max(this.validMin, Math.min(100, Math.max(0, max)));\n }\n\n private get validStep(): number {\n return Number.isFinite(this.step) && this.step > 0 ? this.step : 1;\n }\n\n private get isRtl(): boolean {\n return getComputedStyle(this).direction === 'rtl';\n }\n\n private readonly keydownHandler = (event: KeyboardEvent): void => {\n this.handleKeyDown(event);\n };\n\n private constrain(position: number): number {\n const finitePosition = Number.isFinite(position) ? position : 60;\n return Math.min(this.validMax, Math.max(this.validMin, finitePosition));\n }\n\n private updatePosition(position: number): void {\n const nextPosition = this.constrain(position);\n this.requestedPosition = nextPosition;\n if (nextPosition !== this.position) {\n this.position = nextPosition;\n this.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n }\n }\n\n private applyConstrainedPosition(): void {\n const constrainedPosition = this.constrain(this.requestedPosition);\n if (constrainedPosition !== this.position) {\n this.applyingConstrainedPosition = true;\n this.position = constrainedPosition;\n this.applyingConstrainedPosition = false;\n }\n this.syncAriaValueAttributesIfConnected();\n }\n\n private resetRequestedPositionAfterSynchronousUpdates(): void {\n if (this.requestedPositionResetScheduled) {\n return;\n }\n\n this.requestedPositionResetScheduled = true;\n queueMicrotask(() => {\n this.requestedPositionResetScheduled = false;\n this.requestedPosition = this.position;\n });\n }\n\n private finishResize(): void {\n const changed = this.position !== this.pointerStartPosition;\n this.resizing = false;\n this.pointerId = undefined;\n if (changed) {\n this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));\n }\n }\n\n private syncAriaValueAttributesIfConnected(): void {\n if (this.$fastController.isConnected) {\n this.syncAriaValueAttributes();\n }\n }\n\n private syncAriaValueAttributes(): void {\n this.setAttribute('aria-valuemin', String(this.validMin));\n this.setAttribute('aria-valuemax', String(this.validMax));\n this.setAttribute('aria-valuenow', String(this.position));\n this.setAttribute('aria-valuetext', `${this.position} percent`);\n }\n}\n\nconst okFvSplitter = FvSplitter.compose({\n baseName: 'fv-splitter',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: false\n }\n});\n\nDesignSystem.getOrCreate().withPrefix('ok').register(okFvSplitter());\nexport const fvSplitterTag = 'ok-fv-splitter';"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("@ni/fast-element").ElementStyles;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { css } from '@ni/fast-element';
|
|
2
|
+
import { borderHoverColor, dividerBackgroundDynamicColor } from '@ni/nimble-components/dist/esm/theme-provider/design-tokens';
|
|
3
|
+
import { display } from '../../utilities/style/display';
|
|
4
|
+
export const styles = css `
|
|
5
|
+
@layer base, hover, focusVisible, active;
|
|
6
|
+
|
|
7
|
+
@layer base {
|
|
8
|
+
${display('block')}
|
|
9
|
+
|
|
10
|
+
:host {
|
|
11
|
+
position: relative;
|
|
12
|
+
flex: 0 0 2px;
|
|
13
|
+
width: 2px;
|
|
14
|
+
height: 100%;
|
|
15
|
+
min-height: 0;
|
|
16
|
+
background: ${dividerBackgroundDynamicColor};
|
|
17
|
+
outline: none;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.splitter {
|
|
21
|
+
position: absolute;
|
|
22
|
+
inset: 0 -8px 0 -2px;
|
|
23
|
+
cursor: col-resize;
|
|
24
|
+
touch-action: none;
|
|
25
|
+
user-select: none;
|
|
26
|
+
-webkit-user-select: none;
|
|
27
|
+
outline: none;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@layer hover {
|
|
32
|
+
:host(:hover) {
|
|
33
|
+
background: ${borderHoverColor};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@layer focusVisible {
|
|
38
|
+
:host(:focus),
|
|
39
|
+
:host(:focus-visible) {
|
|
40
|
+
outline: none;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
:host(:focus-visible)::before {
|
|
44
|
+
content: '';
|
|
45
|
+
position: absolute;
|
|
46
|
+
z-index: 1;
|
|
47
|
+
inset-block: 0;
|
|
48
|
+
left: 1px;
|
|
49
|
+
width: 3px;
|
|
50
|
+
transform: translateX(-50%);
|
|
51
|
+
background: ${borderHoverColor};
|
|
52
|
+
pointer-events: none;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@layer active {
|
|
57
|
+
:host([resizing]) {
|
|
58
|
+
background: ${borderHoverColor};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
`;
|
|
62
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/fv/splitter/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EACH,gBAAgB,EAChB,6BAA6B,EAChC,MAAM,6DAA6D,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;UAIf,OAAO,CAAC,OAAO,CAAC;;;;;;;;0BAQA,6BAA6B;;;;;;;;;;;;;;;;;0BAiB7B,gBAAgB;;;;;;;;;;;;;;;;;;0BAkBhB,gBAAgB;;;;;;;0BAOhB,gBAAgB;;;CAGzC,CAAC","sourcesContent":["import { css } from '@ni/fast-element';\nimport {\n borderHoverColor,\n dividerBackgroundDynamicColor\n} from '@ni/nimble-components/dist/esm/theme-provider/design-tokens';\nimport { display } from '../../utilities/style/display';\n\nexport const styles = css`\n @layer base, hover, focusVisible, active;\n\n @layer base {\n ${display('block')}\n\n :host {\n position: relative;\n flex: 0 0 2px;\n width: 2px;\n height: 100%;\n min-height: 0;\n background: ${dividerBackgroundDynamicColor};\n outline: none;\n }\n\n .splitter {\n position: absolute;\n inset: 0 -8px 0 -2px;\n cursor: col-resize;\n touch-action: none;\n user-select: none;\n -webkit-user-select: none;\n outline: none;\n }\n }\n\n @layer hover {\n :host(:hover) {\n background: ${borderHoverColor};\n }\n }\n\n @layer focusVisible {\n :host(:focus),\n :host(:focus-visible) {\n outline: none;\n }\n\n :host(:focus-visible)::before {\n content: '';\n position: absolute;\n z-index: 1;\n inset-block: 0;\n left: 1px;\n width: 3px;\n transform: translateX(-50%);\n background: ${borderHoverColor};\n pointer-events: none;\n }\n }\n\n @layer active {\n :host([resizing]) {\n background: ${borderHoverColor};\n }\n }\n`;"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { html } from '@ni/fast-element';
|
|
2
|
+
export const template = html `
|
|
3
|
+
<div
|
|
4
|
+
class="splitter"
|
|
5
|
+
@pointerdown="${(x, c) => x.handlePointerDown(c.event)}"
|
|
6
|
+
@pointermove="${(x, c) => x.handlePointerMove(c.event)}"
|
|
7
|
+
@pointerup="${(x, c) => x.handlePointerUp(c.event)}"
|
|
8
|
+
@pointercancel="${(x, c) => x.handlePointerCancel(c.event)}"
|
|
9
|
+
@lostpointercapture="${(x, c) => x.handlePointerCancel(c.event)}"
|
|
10
|
+
></div>
|
|
11
|
+
`;
|
|
12
|
+
//# sourceMappingURL=template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/fv/splitter/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGxC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAY;;;wBAGhB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAqB,CAAC;wBACtD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAqB,CAAC;sBACxD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAqB,CAAC;0BAChD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAqB,CAAC;+BACnD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAqB,CAAC;;CAEtF,CAAC","sourcesContent":["import { html } from '@ni/fast-element';\nimport type { FvSplitter } from '.';\n\nexport const template = html<FvSplitter>`\n <div\n class=\"splitter\"\n @pointerdown=\"${(x, c) => x.handlePointerDown(c.event as PointerEvent)}\"\n @pointermove=\"${(x, c) => x.handlePointerMove(c.event as PointerEvent)}\"\n @pointerup=\"${(x, c) => x.handlePointerUp(c.event as PointerEvent)}\"\n @pointercancel=\"${(x, c) => x.handlePointerCancel(c.event as PointerEvent)}\"\n @lostpointercapture=\"${(x, c) => x.handlePointerCancel(c.event as PointerEvent)}\"\n ></div>\n`;"]}
|
|
@@ -20,10 +20,7 @@ declare const TsTableColumnBreakpoint_base: (abstract new (...args: any[]) => {
|
|
|
20
20
|
readonly columnInternals: import("@ni/nimble-components/dist/esm/table-column/base/models/column-internals").ColumnInternals<unknown, import("@ni/nimble-components/dist/esm/table-column/base/models/column-validator").ColumnValidator<[]>>;
|
|
21
21
|
}) & ((abstract new () => TableColumn<TsTableColumnBreakpointColumnConfig, ColumnValidator<[]>>) & {
|
|
22
22
|
compose<T extends import("@ni/fast-foundation").FoundationElementDefinition = import("@ni/fast-foundation").FoundationElementDefinition, K extends import("@ni/fast-element").Constructable<import("@ni/fast-foundation").FoundationElement> = import("@ni/fast-element").Constructable<import("@ni/fast-foundation").FoundationElement>>(this: K, elementDefinition: T): (overrideDefinition?: import("@ni/fast-foundation").OverrideFoundationElementDefinition<T>) => import("@ni/fast-foundation").FoundationElementRegistry<T, K>;
|
|
23
|
-
from<TBase extends
|
|
24
|
-
new (): HTMLElement;
|
|
25
|
-
prototype: HTMLElement;
|
|
26
|
-
}>(BaseType: TBase): new () => InstanceType<TBase> & import("@ni/fast-element").FASTElement;
|
|
23
|
+
from<TBase extends typeof HTMLElement>(BaseType: TBase): new () => InstanceType<TBase> & import("@ni/fast-element").FASTElement;
|
|
27
24
|
define<TType extends Function>(type: TType, nameOrDef?: string | import("@ni/fast-element").PartialFASTElementDefinition): TType;
|
|
28
25
|
});
|
|
29
26
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ni/ok-components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.1",
|
|
4
4
|
"description": "NI Ok Components",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "npm run build:components && npm run build:cem",
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
"homepage": "https://github.com/ni/nimble#readme",
|
|
41
41
|
"customElements": "dist/custom-elements.json",
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@ni/fast-element": "^10.
|
|
44
|
-
"@ni/fast-foundation": "^10.
|
|
45
|
-
"@ni/fast-web-utilities": "^10.
|
|
46
|
-
"@ni/nimble-components": "^35.13.
|
|
47
|
-
"@ni/spright-components": "^6.22.
|
|
43
|
+
"@ni/fast-element": "^10.2.0",
|
|
44
|
+
"@ni/fast-foundation": "^10.3.0",
|
|
45
|
+
"@ni/fast-web-utilities": "^10.1.0",
|
|
46
|
+
"@ni/nimble-components": "^35.13.2",
|
|
47
|
+
"@ni/spright-components": "^6.22.2",
|
|
48
48
|
"tslib": "^2.2.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"@custom-elements-manifest/to-markdown": "^0.1.0",
|
|
53
53
|
"@ni-private/eslint-config-nimble": "*",
|
|
54
54
|
"@ni-private/jasmine-extensions": "^0.0.1",
|
|
55
|
-
"@ni/jasmine-parameterized": "^1.0.
|
|
55
|
+
"@ni/jasmine-parameterized": "^1.0.12",
|
|
56
56
|
"@rollup/plugin-commonjs": "^29.0.0",
|
|
57
57
|
"@rollup/plugin-node-resolve": "^16.0.0",
|
|
58
58
|
"@rollup/plugin-replace": "^6.0.0",
|
|
@@ -71,6 +71,6 @@
|
|
|
71
71
|
"playwright": "1.62.0",
|
|
72
72
|
"rollup": "^4.60.2",
|
|
73
73
|
"rollup-plugin-sourcemaps2": "^0.5.0",
|
|
74
|
-
"typescript": "~5.
|
|
74
|
+
"typescript": "~5.9.3"
|
|
75
75
|
}
|
|
76
76
|
}
|