@fusion.dev/helix-core 0.142.1 → 0.144.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/custom-elements.json +10436 -3804
- package/dist/controllers/aria-forward-controller/aria-forward-controller.d.ts +65 -0
- package/dist/controllers/aria-forward-controller/aria-forward-controller.js +77 -16
- package/dist/controllers/arrival-controller/arrival-controller.d.ts +12 -0
- package/dist/controllers/arrival-controller/arrival-controller.js +10 -0
- package/dist/controllers/chart-pointer-controller/chart-pointer-controller.d.ts +99 -0
- package/dist/controllers/chart-pointer-controller/chart-pointer-controller.js +107 -2
- package/dist/controllers/chart-pointer-controller/reading-step.d.ts +57 -0
- package/dist/controllers/chart-pointer-controller/reading-step.js +45 -0
- package/dist/controllers/copy-controller/copy-controller.d.ts +11 -6
- package/dist/controllers/copy-controller/copy-controller.js +16 -9
- package/dist/controllers/delay-controller/delay-controller.d.ts +50 -0
- package/dist/controllers/delay-controller/delay-controller.js +54 -0
- package/dist/controllers/dismiss-controller/dismiss-controller.js +40 -3
- package/dist/controllers/focus-scope-controller/focus-scope-controller.d.ts +56 -0
- package/dist/controllers/focus-scope-controller/focus-scope-controller.js +71 -0
- package/dist/controllers/keyboard-navigation-controller/keyboard-navigation-controller.d.ts +79 -1
- package/dist/controllers/keyboard-navigation-controller/keyboard-navigation-controller.js +80 -10
- package/dist/controllers/open-phase-controller/open-phase-controller.d.ts +49 -0
- package/dist/controllers/open-phase-controller/open-phase-controller.js +41 -0
- package/dist/controllers/popover-controller/popover-controller.d.ts +11 -0
- package/dist/controllers/popover-controller/popover-controller.js +6 -0
- package/dist/controllers/source-controller/source-controller.d.ts +38 -0
- package/dist/controllers/source-controller/source-controller.js +71 -2
- package/dist/controllers/status-controller/status-controller.d.ts +47 -0
- package/dist/controllers/status-controller/status-controller.js +34 -0
- package/dist/controllers/swipe-controller/swipe-controller.d.ts +61 -0
- package/dist/controllers/swipe-controller/swipe-controller.js +106 -0
- package/dist/controllers/virtualize-controller/virtualize-controller.d.ts +16 -0
- package/dist/controllers/virtualize-controller/virtualize-controller.js +24 -2
- package/dist/events/events.d.ts +137 -4
- package/dist/events/events.js +96 -0
- package/dist/helix-element/react-bridge.js +6 -4
- package/dist/helix-form-element/helix-form-element.d.ts +131 -2
- package/dist/helix-form-element/helix-form-element.js +216 -6
- package/dist/index.d.ts +30 -9
- package/dist/index.js +29 -8
- package/dist/mixins/mixin-chart-source/mixin-chart-source.d.ts +15 -2
- package/dist/mixins/mixin-chart-source/mixin-chart-source.js +9 -1
- package/dist/mixins/mixin-collection/mixin-collection.d.ts +4 -2
- package/dist/mixins/mixin-collection/mixin-collection.js +8 -6
- package/dist/mixins/mixin-controller-checked/mixin-controller-checked.d.ts +10 -0
- package/dist/mixins/mixin-controller-checked/mixin-controller-checked.js +9 -0
- package/dist/mixins/mixin-controller-open/mixin-controller-open.js +19 -3
- package/dist/mixins/mixin-dismissible/mixin-dismissible.d.ts +2 -0
- package/dist/mixins/mixin-dismissible/mixin-dismissible.js +43 -0
- package/dist/mixins/mixin-field/mixin-field.d.ts +2 -0
- package/dist/mixins/mixin-field/mixin-field.js +46 -8
- package/dist/mixins/mixin-picker-editing/mixin-picker-editing.d.ts +23 -8
- package/dist/mixins/mixin-picker-editing/mixin-picker-editing.js +25 -1
- package/dist/mixins/mixin-picker-field/mixin-picker-field.d.ts +29 -5
- package/dist/mixins/mixin-picker-field/mixin-picker-field.js +94 -1
- package/dist/mixins/mixin-segmented-field/mixin-segmented-field.d.ts +67 -0
- package/dist/mixins/mixin-segmented-field/mixin-segmented-field.js +243 -0
- package/dist/utils/arrow/arrow.d.ts +15 -0
- package/dist/utils/arrow/arrow.js +2 -0
- package/dist/utils/audit-name/audit-name.d.ts +28 -0
- package/dist/utils/audit-name/audit-name.js +95 -0
- package/dist/utils/calendar/calendar.d.ts +117 -0
- package/dist/utils/calendar/calendar.js +96 -0
- package/dist/utils/chord/chord.d.ts +43 -0
- package/dist/utils/chord/chord.js +53 -0
- package/dist/utils/clock/clock.d.ts +87 -0
- package/dist/utils/clock/clock.js +68 -0
- package/dist/utils/color-name/color-name.d.ts +28 -0
- package/dist/utils/color-name/color-name.js +150 -0
- package/dist/utils/count-label/count-label.d.ts +13 -0
- package/dist/utils/count-label/count-label.js +5 -0
- package/dist/utils/css-color/css-color.d.ts +12 -0
- package/dist/utils/css-color/css-color.js +2 -2
- package/dist/utils/date-segments/date-segments.d.ts +122 -0
- package/dist/utils/date-segments/date-segments.js +206 -0
- package/dist/utils/draw-dismiss/draw-dismiss.d.ts +30 -0
- package/dist/utils/draw-dismiss/draw-dismiss.js +16 -0
- package/dist/utils/draw-tooltip/draw-tooltip.d.ts +15 -18
- package/dist/utils/draw-tooltip/draw-tooltip.js +16 -5
- package/dist/utils/draw-tooltip/spoken-reading.d.ts +10 -0
- package/dist/utils/draw-tooltip/spoken-reading.js +10 -0
- package/dist/utils/follow-link/follow-link.d.ts +46 -0
- package/dist/utils/follow-link/follow-link.js +37 -0
- package/dist/utils/heading-in/heading-in.d.ts +19 -0
- package/dist/utils/heading-in/heading-in.js +14 -0
- package/dist/utils/number-format/number-format.d.ts +23 -0
- package/dist/utils/number-format/number-format.js +55 -0
- package/dist/utils/platform/platform.d.ts +23 -0
- package/dist/utils/platform/platform.js +11 -0
- package/dist/utils/read-color/read-color.d.ts +14 -0
- package/dist/utils/read-color/read-color.js +13 -0
- package/dist/utils/read-series/read-series.d.ts +34 -0
- package/dist/utils/read-series/read-series.js +32 -4
- package/dist/utils/reflect-elements/reflect-elements.d.ts +37 -0
- package/dist/utils/reflect-elements/reflect-elements.js +40 -0
- package/dist/utils/relative-time/relative-time.d.ts +13 -1
- package/dist/utils/relative-time/relative-time.js +7 -4
- package/dist/utils/report-runtime/report-runtime.d.ts +12 -0
- package/dist/utils/roving-stop/roving-stop.d.ts +20 -0
- package/dist/utils/roving-stop/roving-stop.js +3 -0
- package/dist/utils/scroll-lock/scroll-lock.d.ts +16 -0
- package/dist/utils/scroll-lock/scroll-lock.js +30 -0
- package/dist/utils/swipe/swipe.d.ts +63 -0
- package/dist/utils/swipe/swipe.js +48 -0
- package/dist/utils/tab-stops/tab-stops.d.ts +16 -0
- package/dist/utils/tab-stops/tab-stops.js +22 -0
- package/dist/utils/value-as/value-as.d.ts +20 -0
- package/dist/utils/value-as/value-as.js +16 -0
- package/dist/utils/write-time/write-time.d.ts +11 -1
- package/dist/utils/write-time/write-time.js +7 -7
- package/dist/utils/written-list/written-list.d.ts +29 -2
- package/dist/utils/written-list/written-list.js +11 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -4
|
@@ -6,13 +6,55 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { property, state } from 'lit/decorators.js';
|
|
8
8
|
import { HelixElement } from '../helix-element/helix-element.js';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
const VALIDITY_FLAGS = [
|
|
10
|
+
'badInput',
|
|
11
|
+
'customError',
|
|
12
|
+
'patternMismatch',
|
|
13
|
+
'rangeOverflow',
|
|
14
|
+
'rangeUnderflow',
|
|
15
|
+
'stepMismatch',
|
|
16
|
+
'tooLong',
|
|
17
|
+
'tooShort',
|
|
18
|
+
'typeMismatch',
|
|
19
|
+
'valueMissing',
|
|
20
|
+
];
|
|
21
|
+
const BLOCKING_TYPES = new Set([
|
|
22
|
+
'date',
|
|
23
|
+
'datetime-local',
|
|
24
|
+
'email',
|
|
25
|
+
'month',
|
|
26
|
+
'number',
|
|
27
|
+
'password',
|
|
28
|
+
'search',
|
|
29
|
+
'tel',
|
|
30
|
+
'text',
|
|
31
|
+
'time',
|
|
32
|
+
'url',
|
|
33
|
+
'week',
|
|
34
|
+
]);
|
|
35
|
+
const takesFocus = (element) => (element.tabIndex >= 0 || element.hasAttribute('tabindex')) &&
|
|
36
|
+
!element.disabled &&
|
|
37
|
+
(typeof element.checkVisibility !== 'function' || element.checkVisibility());
|
|
38
|
+
const isTabStop = (element) => element instanceof HTMLElement &&
|
|
39
|
+
element.tabIndex >= 0 &&
|
|
40
|
+
!element.disabled &&
|
|
41
|
+
!element.hidden &&
|
|
42
|
+
!element.inert &&
|
|
43
|
+
(typeof element.checkVisibility !== 'function' || element.checkVisibility());
|
|
44
|
+
const firstTabStop = (node) => {
|
|
45
|
+
const children = node instanceof HTMLSlotElement ? node.assignedElements({ flatten: true }) : [...node.children];
|
|
46
|
+
for (const child of children) {
|
|
47
|
+
if (isTabStop(child)) {
|
|
48
|
+
return child;
|
|
49
|
+
}
|
|
50
|
+
const found = (child.shadowRoot ? firstTabStop(child.shadowRoot) : null) ?? firstTabStop(child);
|
|
51
|
+
if (found) {
|
|
52
|
+
return found;
|
|
53
|
+
}
|
|
15
54
|
}
|
|
55
|
+
return null;
|
|
56
|
+
};
|
|
57
|
+
export class HelixFormElement extends HelixElement {
|
|
16
58
|
static { this.formAssociated = true; }
|
|
17
59
|
get isDisabled() {
|
|
18
60
|
return this.disabled || this.formDisabled;
|
|
@@ -20,10 +62,27 @@ export class HelixFormElement extends HelixElement {
|
|
|
20
62
|
formDisabledCallback(disabled) {
|
|
21
63
|
this.formDisabled = disabled && !this.disabled;
|
|
22
64
|
}
|
|
65
|
+
get heldByFieldset() {
|
|
66
|
+
let fieldset = this.parentElement?.closest('fieldset[disabled]') ?? null;
|
|
67
|
+
while (fieldset) {
|
|
68
|
+
const legend = fieldset.querySelector(':scope > legend');
|
|
69
|
+
if (!legend?.contains(this)) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
fieldset = fieldset.parentElement?.closest('fieldset[disabled]') ?? null;
|
|
73
|
+
}
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
23
76
|
formResetCallback() { }
|
|
24
77
|
willUpdate(changed) {
|
|
25
78
|
super.willUpdate(changed);
|
|
79
|
+
if (changed.get('disabled') === true && !this.disabled && this.isConnected) {
|
|
80
|
+
this.formDisabled = this.heldByFieldset;
|
|
81
|
+
}
|
|
26
82
|
this.internals.ariaDisabled = this.isDisabled ? 'true' : null;
|
|
83
|
+
if (this.validityFeedback !== this.appliedFeedback) {
|
|
84
|
+
this.applyValidity();
|
|
85
|
+
}
|
|
27
86
|
}
|
|
28
87
|
announceInput() {
|
|
29
88
|
this.dispatchEvent(new Event('input', { bubbles: true, composed: true }));
|
|
@@ -31,6 +90,157 @@ export class HelixFormElement extends HelixElement {
|
|
|
31
90
|
announceChange() {
|
|
32
91
|
this.dispatchEvent(new Event('change', { bubbles: true, composed: false }));
|
|
33
92
|
}
|
|
93
|
+
constructor() {
|
|
94
|
+
super();
|
|
95
|
+
this.disabled = false;
|
|
96
|
+
this.formDisabled = false;
|
|
97
|
+
this.name = '';
|
|
98
|
+
this.reported = { anchor: undefined, flags: {}, message: '' };
|
|
99
|
+
this.customValidity = '';
|
|
100
|
+
this.appliedFeedback = '';
|
|
101
|
+
this.focusFromLabel = (event) => {
|
|
102
|
+
if (!event.isTrusted || event.composedPath()[0] !== this || this.isDisabled) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
if (!this.matches(':focus-within')) {
|
|
106
|
+
this.focus();
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
this.refreshAnchor = () => {
|
|
110
|
+
if (!this.internals.validity.valid) {
|
|
111
|
+
this.applyValidity();
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const internals = this.internals;
|
|
115
|
+
const report = internals.setValidity.bind(internals);
|
|
116
|
+
this.reportValidityTo = report;
|
|
117
|
+
internals.setValidity = (flags, message, anchor) => {
|
|
118
|
+
this.reported = { anchor, flags: flags ?? {}, message: message ?? '' };
|
|
119
|
+
this.applyValidity();
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
get validityFeedback() {
|
|
123
|
+
return '';
|
|
124
|
+
}
|
|
125
|
+
applyValidity() {
|
|
126
|
+
const feedback = this.validityFeedback;
|
|
127
|
+
this.appliedFeedback = feedback;
|
|
128
|
+
const custom = this.customValidity || feedback;
|
|
129
|
+
const flags = {};
|
|
130
|
+
for (const flag of VALIDITY_FLAGS) {
|
|
131
|
+
if (this.reported.flags[flag] === true) {
|
|
132
|
+
flags[flag] = true;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
if (custom !== '') {
|
|
136
|
+
flags.customError = true;
|
|
137
|
+
}
|
|
138
|
+
if (Object.keys(flags).length === 0) {
|
|
139
|
+
this.reportValidityTo({});
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
this.reportValidityTo(flags, custom || this.reported.message, this.validationAnchor(this.reported.anchor));
|
|
143
|
+
}
|
|
144
|
+
validationAnchor(anchor) {
|
|
145
|
+
if (anchor && takesFocus(anchor)) {
|
|
146
|
+
return anchor;
|
|
147
|
+
}
|
|
148
|
+
return this.focusTarget ?? anchor;
|
|
149
|
+
}
|
|
150
|
+
get validity() {
|
|
151
|
+
return this.internals.validity;
|
|
152
|
+
}
|
|
153
|
+
get validationMessage() {
|
|
154
|
+
return this.internals.validationMessage;
|
|
155
|
+
}
|
|
156
|
+
get willValidate() {
|
|
157
|
+
return this.internals.willValidate;
|
|
158
|
+
}
|
|
159
|
+
checkValidity() {
|
|
160
|
+
return this.internals.checkValidity();
|
|
161
|
+
}
|
|
162
|
+
reportValidity() {
|
|
163
|
+
this.applyValidity();
|
|
164
|
+
return this.internals.reportValidity();
|
|
165
|
+
}
|
|
166
|
+
setCustomValidity(message) {
|
|
167
|
+
this.customValidity = message;
|
|
168
|
+
this.applyValidity();
|
|
169
|
+
this.requestUpdate();
|
|
170
|
+
}
|
|
171
|
+
get focusTarget() {
|
|
172
|
+
const root = this.shadowRoot;
|
|
173
|
+
return root ? firstTabStop(root) : null;
|
|
174
|
+
}
|
|
175
|
+
focus(options) {
|
|
176
|
+
const target = this.focusTarget;
|
|
177
|
+
if (target) {
|
|
178
|
+
target.focus(options);
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
super.focus(options);
|
|
182
|
+
}
|
|
183
|
+
connectedCallback() {
|
|
184
|
+
super.connectedCallback();
|
|
185
|
+
this.addEventListener('click', this.focusFromLabel);
|
|
186
|
+
this.addEventListener('invalid', this.refreshAnchor);
|
|
187
|
+
}
|
|
188
|
+
disconnectedCallback() {
|
|
189
|
+
super.disconnectedCallback();
|
|
190
|
+
this.removeEventListener('click', this.focusFromLabel);
|
|
191
|
+
this.removeEventListener('invalid', this.refreshAnchor);
|
|
192
|
+
}
|
|
193
|
+
get blocksImplicitSubmission() {
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
get submitsForm() {
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
activate() {
|
|
200
|
+
this.click();
|
|
201
|
+
}
|
|
202
|
+
submitImplicitly() {
|
|
203
|
+
const { form } = this;
|
|
204
|
+
if (!form) {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
const elements = [...form.elements];
|
|
208
|
+
const button = HelixFormElement.defaultButton(form);
|
|
209
|
+
if (button) {
|
|
210
|
+
if (button.matches(':disabled')) {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
if (button instanceof HelixFormElement) {
|
|
214
|
+
button.activate();
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
;
|
|
218
|
+
button.click();
|
|
219
|
+
}
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
const blocking = elements.filter((element) => element instanceof HelixFormElement
|
|
223
|
+
? element.blocksImplicitSubmission
|
|
224
|
+
: element instanceof HTMLInputElement && BLOCKING_TYPES.has(element.type));
|
|
225
|
+
if (blocking.length <= 1) {
|
|
226
|
+
form.requestSubmit();
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
static defaultButton(form) {
|
|
230
|
+
return [...form.elements].find((element) => HelixFormElement.submits(element));
|
|
231
|
+
}
|
|
232
|
+
static submitsOnEnter(target, form) {
|
|
233
|
+
return (target instanceof HTMLInputElement && target.form === form && BLOCKING_TYPES.has(target.type));
|
|
234
|
+
}
|
|
235
|
+
static submits(element) {
|
|
236
|
+
if (element instanceof HelixFormElement) {
|
|
237
|
+
return element.submitsForm;
|
|
238
|
+
}
|
|
239
|
+
if (element instanceof HTMLButtonElement) {
|
|
240
|
+
return element.type === 'submit';
|
|
241
|
+
}
|
|
242
|
+
return (element instanceof HTMLInputElement && (element.type === 'submit' || element.type === 'image'));
|
|
243
|
+
}
|
|
34
244
|
get form() {
|
|
35
245
|
return this.internals.form;
|
|
36
246
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,25 +4,30 @@ export { ChartPointerController, type ChartPointerHost, } from './controllers/ch
|
|
|
4
4
|
export { CommandController, type CommandOptions, HelixFallbackCommandEvent, supportsInvokers, } from './controllers/command-controller/command-controller.js';
|
|
5
5
|
export { CopyController, type CopyOptions, } from './controllers/copy-controller/copy-controller.js';
|
|
6
6
|
export { activeCue, adoptTrack, type Caption, CueController, captionsAmong, captionTracks, showCaption, } from './controllers/cue-controller/cue-controller.js';
|
|
7
|
+
export { DelayController, type DelayOptions, } from './controllers/delay-controller/delay-controller.js';
|
|
7
8
|
export { DisabledCascadeController, type DisabledCascadeOptions, } from './controllers/disabled-cascade-controller/disabled-cascade-controller.js';
|
|
8
9
|
export { DismissController, type DismissOptions, } from './controllers/dismiss-controller/dismiss-controller.js';
|
|
9
10
|
export { DrilldownController, type DrilldownOptions, } from './controllers/drilldown-controller/drilldown-controller.js';
|
|
10
11
|
export { FloatingController, type FloatingOptions, type Placement, type Side, } from './controllers/floating-controller/floating-controller.js';
|
|
12
|
+
export { controlsIn, FocusScopeController, type FocusScopeOptions, } from './controllers/focus-scope-controller/focus-scope-controller.js';
|
|
11
13
|
export { FullscreenController } from './controllers/fullscreen-controller/fullscreen-controller.js';
|
|
12
14
|
export { HostClickController } from './controllers/host-click-controller/host-click-controller.js';
|
|
13
15
|
export { IdleController } from './controllers/idle-controller/idle-controller.js';
|
|
14
16
|
export { IndicatorController, type IndicatorOptions, } from './controllers/indicator-controller/indicator-controller.js';
|
|
15
|
-
export { KeyboardNavigationController, type KeyboardNavigationOptions, type NavigableItem, } from './controllers/keyboard-navigation-controller/keyboard-navigation-controller.js';
|
|
17
|
+
export { KeyboardNavigationController, type KeyboardNavigationOptions, type NavigableItem, Typeahead, typesCharacter, } from './controllers/keyboard-navigation-controller/keyboard-navigation-controller.js';
|
|
16
18
|
export { MediaSessionController, type SessionHandlers, SKIP_SECONDS, } from './controllers/media-session-controller/media-session-controller.js';
|
|
19
|
+
export { animationsSettled, type OpenPhase, OpenPhaseController, type OpenPhaseOptions, } from './controllers/open-phase-controller/open-phase-controller.js';
|
|
17
20
|
export { MAX_FRAME_STEP, PaintGateController, type PaintGateOptions, } from './controllers/paint-gate-controller/paint-gate-controller.js';
|
|
18
21
|
export { PlacementController } from './controllers/placement-controller/placement-controller.js';
|
|
19
22
|
export { PopoverController, type PopoverOptions, } from './controllers/popover-controller/popover-controller.js';
|
|
20
23
|
export { RemotePlaybackController, type RemoteReport, } from './controllers/remote-playback-controller/remote-playback-controller.js';
|
|
21
24
|
export { SourceController, type SourceHost, } from './controllers/source-controller/source-controller.js';
|
|
25
|
+
export { drawStatus, type SayOptions, StatusController, } from './controllers/status-controller/status-controller.js';
|
|
26
|
+
export { SwipeController, type SwipeOptions, } from './controllers/swipe-controller/swipe-controller.js';
|
|
22
27
|
export { type TokenColor, TokenColorController, } from './controllers/token-color-controller/token-color-controller.js';
|
|
23
28
|
export { type Rendered, VirtualizeController, type VirtualizeOptions, type Window as VirtualizeWindow, } from './controllers/virtualize-controller/virtualize-controller.js';
|
|
24
29
|
export { eventsForTag, registerElementEvents } from './events/element-events.js';
|
|
25
|
-
export { type CanvasView, type CaretDetail, type ChangeDetail, type CompleteDetail, type ConnectDetail, type ConsoleDetail, type CopyDetail, type CreateDetail, type DismissDetail, type FacetDetail, type FilterDetail, type GraphFilterDetail, type GraphLayoutDetail, type GraphPartChangeDetail, type GraphSignalDetail, HelixActivateEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCanvasEditEvent, HelixCanvasPanEvent, HelixCanvasViewEvent, HelixCanvasZoomEvent, HelixCaretEvent, HelixCompleteEvent, HelixConnectEvent, HelixConsoleEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixFacetEvent, HelixFilterEvent, HelixGraphFilterEvent, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphSignalEvent, HelixGraphZoomEvent, HelixHistoryEvent, HelixMapClusterEvent, HelixMapPanEvent, HelixMapPartChangeEvent, HelixMapReadyEvent, HelixMapRotateEvent, HelixMapTiltEvent, HelixMapZoomEvent, HelixMoveEvent, HelixNavigateEvent, HelixNextEvent, HelixPreviousEvent, HelixReadEvent, HelixReconnectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixTourAskEvent, type MapClusterDetail, type MapPanDetail, type MapPartChangeDetail, type MapRotateDetail, type MapTiltDetail, type MapZoomDetail, type MoveDetail, type NavigateDetail, type OpenDetail, type ReadDetail, type ReconnectDetail, type RelabelDetail, type RemoveDetail, type ResizeDetail, type ScrolledDetail, type SelectDetail, type SendDetail, type ShortcutDetail, type SkipDetail, type SortDetail, type ToggleDetail, type ViewportPanDetail, type ViewportZoomDetail, } from './events/events.js';
|
|
30
|
+
export { type CanvasView, type CaretDetail, type ChangeDetail, type CompleteDetail, type ConnectDetail, type ConsoleDetail, type CopyDetail, type CreateDetail, type DismissDetail, type FacetDetail, type FilterDetail, type GraphFilterDetail, type GraphLayoutDetail, type GraphPartChangeDetail, type GraphSignalDetail, HelixActivateEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCanvasEditEvent, HelixCanvasPanEvent, HelixCanvasViewEvent, HelixCanvasZoomEvent, HelixCaretEvent, HelixCollapseEvent, HelixCompleteEvent, HelixConnectEvent, HelixConsoleEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixFacetEvent, HelixFilterEvent, HelixFilteredEvent, HelixGraphFilterEvent, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphSignalEvent, HelixGraphZoomEvent, HelixHistoryEvent, HelixMapClusterEvent, HelixMapPanEvent, HelixMapPartChangeEvent, HelixMapReadyEvent, HelixMapRotateEvent, HelixMapTiltEvent, HelixMapZoomEvent, HelixMoveEvent, HelixNavigateEvent, HelixNextEvent, HelixPinEvent, HelixPreviousEvent, HelixReadEvent, HelixReconnectEvent, HelixRejectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixReorderedEvent, HelixResizedEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSelectedEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixSortedEvent, HelixTourAskEvent, type MapClusterDetail, type MapPanDetail, type MapPartChangeDetail, type MapRotateDetail, type MapTiltDetail, type MapZoomDetail, type MoveDetail, type NavigateDetail, type OpenDetail, type ReadDetail, type ReconnectDetail, type Refusal, type RefusedFile, type RejectDetail, type RelabelDetail, type RemoveDetail, type ResizeDetail, type ScrolledDetail, type SelectDetail, type SendDetail, type ShortcutDetail, type SkipDetail, type SortDetail, type ToggleDetail, type ViewportPanDetail, type ViewportZoomDetail, } from './events/events.js';
|
|
26
31
|
export { HelixElement, whenHydrated } from './helix-element/helix-element.js';
|
|
27
32
|
export { HelixFormElement } from './helix-form-element/helix-form-element.js';
|
|
28
33
|
export { MixinChartSource, type MixinChartSourceInterface, PALETTE, PLOT_HEIGHT, PLOT_WIDTH, seriesIndex, seriesNames, } from './mixins/mixin-chart-source/mixin-chart-source.js';
|
|
@@ -35,22 +40,32 @@ export { type DismissibleElement, MixinDismissible, } from './mixins/mixin-dismi
|
|
|
35
40
|
export { MixinField, type MixinFieldInterface } from './mixins/mixin-field/mixin-field.js';
|
|
36
41
|
export { MixinPickerEditing, type MixinPickerEditingInterface, } from './mixins/mixin-picker-editing/mixin-picker-editing.js';
|
|
37
42
|
export { MixinPickerField, type MixinPickerFieldInterface, } from './mixins/mixin-picker-field/mixin-picker-field.js';
|
|
43
|
+
export { MixinSegmentedField, type MixinSegmentedFieldInterface, } from './mixins/mixin-segmented-field/mixin-segmented-field.js';
|
|
38
44
|
export { MixinSelectableItem, type MixinSelectableItemInterface, } from './mixins/mixin-selectable-item/mixin-selectable-item.js';
|
|
39
45
|
export { MixinTokens, type MixinTokensInterface } from './mixins/mixin-tokens/mixin-tokens.js';
|
|
40
46
|
export { MixinViewport, type ViewportControlsPlacement, type ViewportElement, type ViewportGestureLabels, type ViewportGestureMode, type ViewportGestures, type ViewportWay, } from './mixins/mixin-viewport/mixin-viewport.js';
|
|
41
47
|
export { anchorElement } from './utils/anchor-element/anchor-element.js';
|
|
48
|
+
export { arrowReach, sideOf } from './utils/arrow/arrow.js';
|
|
49
|
+
export { addDays, addMonths, type Barring, barredBy, type CalendarView, localToday, monthOf, monthOut, type PeriodCell, type PeriodPage, periodCells, periodKey, periodMove, sameMonth, weekStartOf, YEARS_SHOWN, yearOut, yearPageOf, } from './utils/calendar/calendar.js';
|
|
42
50
|
export { capturePointer } from './utils/capture-pointer/capture-pointer.js';
|
|
51
|
+
export { ariaChord, type ChordPress, chordParts, matchesChord, printableChord, } from './utils/chord/chord.js';
|
|
52
|
+
export { clockLocale, dayPeriod, type HourCycle, isTwelveHour, nearestTime, offeredTimes, type TimeFault, type TimeRules, timeBarred, timeFault, wheelParts, wholeHour, } from './utils/clock/clock.js';
|
|
43
53
|
export { closestInstance } from './utils/closest-instance/closest-instance.js';
|
|
54
|
+
export { type ColorWords, colorName, hueName } from './utils/color-name/color-name.js';
|
|
55
|
+
export { countLabel } from './utils/count-label/count-label.js';
|
|
44
56
|
export { createSheet } from './utils/create-sheet/create-sheet.js';
|
|
45
|
-
export { type Color, type ColorFormat, formatColor, parseColor, toCss, } from './utils/css-color/css-color.js';
|
|
57
|
+
export { type Color, type ColorFormat, formatColor, parseColor, toCss, toHsl, toRgb, } from './utils/css-color/css-color.js';
|
|
46
58
|
export { customElement, definedTags, duplicateRegistrations, } from './utils/custom-element/custom-element.js';
|
|
59
|
+
export { type DrawDismissOptions, drawDismiss, drawDismissGlyph, } from './utils/draw-dismiss/draw-dismiss.js';
|
|
47
60
|
export { type DrawIconOptions, drawIcon } from './utils/draw-icon/draw-icon.js';
|
|
48
61
|
export { CHART_PLOT, drawTooltip } from './utils/draw-tooltip/draw-tooltip.js';
|
|
49
62
|
export { elapsedTime } from './utils/elapsed-time/elapsed-time.js';
|
|
50
63
|
export { type ElementByIdOptions, elementById, searchableById, } from './utils/element-by-id/element-by-id.js';
|
|
51
64
|
export { fillTemplate } from './utils/fill-template/fill-template.js';
|
|
52
65
|
export { deepActiveElement, deepContains, focusableElements, } from './utils/focusable-elements/focusable-elements.js';
|
|
66
|
+
export { afterLinkFollowed, followLink, type LinkModifiers, type LinkTarget, } from './utils/follow-link/follow-link.js';
|
|
53
67
|
export { formatNumbers } from './utils/format-numbers/format-numbers.js';
|
|
68
|
+
export { headingIn, headingsIn } from './utils/heading-in/heading-in.js';
|
|
54
69
|
export { type HostAria, hostAria } from './utils/host-aria/host-aria.js';
|
|
55
70
|
export { type DisableableItem, forgetDisabled, inheritDisabled, } from './utils/inherit-disabled/inherit-disabled.js';
|
|
56
71
|
export { inlineStep } from './utils/inline-step/inline-step.js';
|
|
@@ -59,10 +74,13 @@ export { keyClaimed } from './utils/key-claimed/key-claimed.js';
|
|
|
59
74
|
export { type Curve, linePath, type Point } from './utils/line-path/line-path.js';
|
|
60
75
|
export { markRegion, type RegionOptions } from './utils/mark-region/mark-region.js';
|
|
61
76
|
export { copiesOf, type MediaCopy, sameCopies, } from './utils/media-copy/media-copy.js';
|
|
77
|
+
export { formatNumber, parseNumber } from './utils/number-format/number-format.js';
|
|
62
78
|
export { onUnlessFalse } from './utils/on-unless-false/on-unless-false.js';
|
|
63
|
-
export {
|
|
64
|
-
export { type
|
|
65
|
-
export { type
|
|
79
|
+
export { appleTouch, onApple, type Platform } from './utils/platform/platform.js';
|
|
80
|
+
export { type ColorBytes, readColor, rgbOf } from './utils/read-color/read-color.js';
|
|
81
|
+
export { byRow, type Row, type RowCell, readRows, readSeries, type Series, type SeriesPoint, seriesKey, unbroken, } from './utils/read-series/read-series.js';
|
|
82
|
+
export { type ElementsProperty, linkDescription, reflectElements, unlinkDescription, } from './utils/reflect-elements/reflect-elements.js';
|
|
83
|
+
export { type Relative, type RelativeOptions, relativeTime, } from './utils/relative-time/relative-time.js';
|
|
66
84
|
export { measuring, RENDER_SLOT, reportRender } from './utils/report-render/report-render.js';
|
|
67
85
|
export { RUNTIME_LOG, RUNTIME_SLOT, type RuntimeEvent, type RuntimeKind, reportRuntime, } from './utils/report-runtime/report-runtime.js';
|
|
68
86
|
export { noteVersion, reportUsage, USAGE_SLOT, VERSIONS_SLOT, } from './utils/report-usage/report-usage.js';
|
|
@@ -70,17 +88,20 @@ export { reportValues } from './utils/report-values/report-values.js';
|
|
|
70
88
|
export { type ChangeRequestOptions, requestChange, } from './utils/request-change/request-change.js';
|
|
71
89
|
export { type ActivatableItem, resolveActiveItem, } from './utils/resolve-active-item/resolve-active-item.js';
|
|
72
90
|
export { holdCaret, restoreValue } from './utils/restore-value/restore-value.js';
|
|
91
|
+
export { type RovingOptions, rovingStop } from './utils/roving-stop/roving-stop.js';
|
|
73
92
|
export { extent, linear, type Scale } from './utils/scale/scale.js';
|
|
74
93
|
export { ticks } from './utils/scale/ticks.js';
|
|
75
94
|
export { type ScrollItemOptions, scrollItemIntoView, } from './utils/scroll-item-into-view/scroll-item-into-view.js';
|
|
95
|
+
export { lockScroll, scrollHolders, unlockScroll } from './utils/scroll-lock/scroll-lock.js';
|
|
76
96
|
export { slotFilled } from './utils/slot-filled/slot-filled.js';
|
|
77
97
|
export { slottedWords } from './utils/slotted-words/slotted-words.js';
|
|
78
98
|
export { splitValues } from './utils/split-values/split-values.js';
|
|
99
|
+
export { edgeOffset, FLING, parseSnapPoints, type SwipeAxis, type SwipeEdge, type SwipeRelease, settleSwipe, snapTravel, swipeAxis, swipeEdge, swipeStep, towardEdge, } from './utils/swipe/swipe.js';
|
|
79
100
|
export { tellDisclosure } from './utils/tell-disclosure/tell-disclosure.js';
|
|
80
101
|
export { subscribe } from './utils/ticker/ticker.js';
|
|
81
102
|
export { type HelixStatusTone, TONE_MARKS, type ToneMark, toneMark, } from './utils/tone-marks/tone-marks.js';
|
|
82
|
-
export { dateAsValue, isDateValue, isTimeValue, minutesAsValue, numberAsValue, timeAsValue, valueAsDate, valueAsMinutes, valueAsNumber, valueAsTime, } from './utils/value-as/value-as.js';
|
|
103
|
+
export { dateAsValue, isClockValue, isDateValue, isTimeValue, minutesAsValue, numberAsValue, secondsAsValue, timeAsValue, valueAsDate, valueAsMinutes, valueAsNumber, valueAsSeconds, valueAsTime, } from './utils/value-as/value-as.js';
|
|
83
104
|
export { watchTheme } from './utils/watch-theme/watch-theme.js';
|
|
84
|
-
export { writeTime } from './utils/write-time/write-time.js';
|
|
85
|
-
export { writtenList, writtenNumbers } from './utils/written-list/written-list.js';
|
|
105
|
+
export { writeClock, writeTime } from './utils/write-time/write-time.js';
|
|
106
|
+
export { commaList, toggleValue, writtenList, writtenNumbers, } from './utils/written-list/written-list.js';
|
|
86
107
|
export { VERSION } from './version.js';
|
package/dist/index.js
CHANGED
|
@@ -4,25 +4,30 @@ export { ChartPointerController, } from './controllers/chart-pointer-controller/
|
|
|
4
4
|
export { CommandController, HelixFallbackCommandEvent, supportsInvokers, } from './controllers/command-controller/command-controller.js';
|
|
5
5
|
export { CopyController, } from './controllers/copy-controller/copy-controller.js';
|
|
6
6
|
export { activeCue, adoptTrack, CueController, captionsAmong, captionTracks, showCaption, } from './controllers/cue-controller/cue-controller.js';
|
|
7
|
+
export { DelayController, } from './controllers/delay-controller/delay-controller.js';
|
|
7
8
|
export { DisabledCascadeController, } from './controllers/disabled-cascade-controller/disabled-cascade-controller.js';
|
|
8
9
|
export { DismissController, } from './controllers/dismiss-controller/dismiss-controller.js';
|
|
9
10
|
export { DrilldownController, } from './controllers/drilldown-controller/drilldown-controller.js';
|
|
10
11
|
export { FloatingController, } from './controllers/floating-controller/floating-controller.js';
|
|
12
|
+
export { controlsIn, FocusScopeController, } from './controllers/focus-scope-controller/focus-scope-controller.js';
|
|
11
13
|
export { FullscreenController } from './controllers/fullscreen-controller/fullscreen-controller.js';
|
|
12
14
|
export { HostClickController } from './controllers/host-click-controller/host-click-controller.js';
|
|
13
15
|
export { IdleController } from './controllers/idle-controller/idle-controller.js';
|
|
14
16
|
export { IndicatorController, } from './controllers/indicator-controller/indicator-controller.js';
|
|
15
|
-
export { KeyboardNavigationController, } from './controllers/keyboard-navigation-controller/keyboard-navigation-controller.js';
|
|
17
|
+
export { KeyboardNavigationController, Typeahead, typesCharacter, } from './controllers/keyboard-navigation-controller/keyboard-navigation-controller.js';
|
|
16
18
|
export { MediaSessionController, SKIP_SECONDS, } from './controllers/media-session-controller/media-session-controller.js';
|
|
19
|
+
export { animationsSettled, OpenPhaseController, } from './controllers/open-phase-controller/open-phase-controller.js';
|
|
17
20
|
export { MAX_FRAME_STEP, PaintGateController, } from './controllers/paint-gate-controller/paint-gate-controller.js';
|
|
18
21
|
export { PlacementController } from './controllers/placement-controller/placement-controller.js';
|
|
19
22
|
export { PopoverController, } from './controllers/popover-controller/popover-controller.js';
|
|
20
23
|
export { RemotePlaybackController, } from './controllers/remote-playback-controller/remote-playback-controller.js';
|
|
21
24
|
export { SourceController, } from './controllers/source-controller/source-controller.js';
|
|
25
|
+
export { drawStatus, StatusController, } from './controllers/status-controller/status-controller.js';
|
|
26
|
+
export { SwipeController, } from './controllers/swipe-controller/swipe-controller.js';
|
|
22
27
|
export { TokenColorController, } from './controllers/token-color-controller/token-color-controller.js';
|
|
23
28
|
export { VirtualizeController, } from './controllers/virtualize-controller/virtualize-controller.js';
|
|
24
29
|
export { eventsForTag, registerElementEvents } from './events/element-events.js';
|
|
25
|
-
export { HelixActivateEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCanvasEditEvent, HelixCanvasPanEvent, HelixCanvasViewEvent, HelixCanvasZoomEvent, HelixCaretEvent, HelixCompleteEvent, HelixConnectEvent, HelixConsoleEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixFacetEvent, HelixFilterEvent, HelixGraphFilterEvent, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphSignalEvent, HelixGraphZoomEvent, HelixHistoryEvent, HelixMapClusterEvent, HelixMapPanEvent, HelixMapPartChangeEvent, HelixMapReadyEvent, HelixMapRotateEvent, HelixMapTiltEvent, HelixMapZoomEvent, HelixMoveEvent, HelixNavigateEvent, HelixNextEvent, HelixPreviousEvent, HelixReadEvent, HelixReconnectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixTourAskEvent, } from './events/events.js';
|
|
30
|
+
export { HelixActivateEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCanvasEditEvent, HelixCanvasPanEvent, HelixCanvasViewEvent, HelixCanvasZoomEvent, HelixCaretEvent, HelixCollapseEvent, HelixCompleteEvent, HelixConnectEvent, HelixConsoleEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixFacetEvent, HelixFilterEvent, HelixFilteredEvent, HelixGraphFilterEvent, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphSignalEvent, HelixGraphZoomEvent, HelixHistoryEvent, HelixMapClusterEvent, HelixMapPanEvent, HelixMapPartChangeEvent, HelixMapReadyEvent, HelixMapRotateEvent, HelixMapTiltEvent, HelixMapZoomEvent, HelixMoveEvent, HelixNavigateEvent, HelixNextEvent, HelixPinEvent, HelixPreviousEvent, HelixReadEvent, HelixReconnectEvent, HelixRejectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixReorderedEvent, HelixResizedEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSelectedEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixSortedEvent, HelixTourAskEvent, } from './events/events.js';
|
|
26
31
|
export { HelixElement, whenHydrated } from './helix-element/helix-element.js';
|
|
27
32
|
export { HelixFormElement } from './helix-form-element/helix-form-element.js';
|
|
28
33
|
export { MixinChartSource, PALETTE, PLOT_HEIGHT, PLOT_WIDTH, seriesIndex, seriesNames, } from './mixins/mixin-chart-source/mixin-chart-source.js';
|
|
@@ -35,22 +40,32 @@ export { MixinDismissible, } from './mixins/mixin-dismissible/mixin-dismissible.
|
|
|
35
40
|
export { MixinField } from './mixins/mixin-field/mixin-field.js';
|
|
36
41
|
export { MixinPickerEditing, } from './mixins/mixin-picker-editing/mixin-picker-editing.js';
|
|
37
42
|
export { MixinPickerField, } from './mixins/mixin-picker-field/mixin-picker-field.js';
|
|
43
|
+
export { MixinSegmentedField, } from './mixins/mixin-segmented-field/mixin-segmented-field.js';
|
|
38
44
|
export { MixinSelectableItem, } from './mixins/mixin-selectable-item/mixin-selectable-item.js';
|
|
39
45
|
export { MixinTokens } from './mixins/mixin-tokens/mixin-tokens.js';
|
|
40
46
|
export { MixinViewport, } from './mixins/mixin-viewport/mixin-viewport.js';
|
|
41
47
|
export { anchorElement } from './utils/anchor-element/anchor-element.js';
|
|
48
|
+
export { arrowReach, sideOf } from './utils/arrow/arrow.js';
|
|
49
|
+
export { addDays, addMonths, barredBy, localToday, monthOf, monthOut, periodCells, periodKey, periodMove, sameMonth, weekStartOf, YEARS_SHOWN, yearOut, yearPageOf, } from './utils/calendar/calendar.js';
|
|
42
50
|
export { capturePointer } from './utils/capture-pointer/capture-pointer.js';
|
|
51
|
+
export { ariaChord, chordParts, matchesChord, printableChord, } from './utils/chord/chord.js';
|
|
52
|
+
export { clockLocale, dayPeriod, isTwelveHour, nearestTime, offeredTimes, timeBarred, timeFault, wheelParts, wholeHour, } from './utils/clock/clock.js';
|
|
43
53
|
export { closestInstance } from './utils/closest-instance/closest-instance.js';
|
|
54
|
+
export { colorName, hueName } from './utils/color-name/color-name.js';
|
|
55
|
+
export { countLabel } from './utils/count-label/count-label.js';
|
|
44
56
|
export { createSheet } from './utils/create-sheet/create-sheet.js';
|
|
45
|
-
export { formatColor, parseColor, toCss, } from './utils/css-color/css-color.js';
|
|
57
|
+
export { formatColor, parseColor, toCss, toHsl, toRgb, } from './utils/css-color/css-color.js';
|
|
46
58
|
export { customElement, definedTags, duplicateRegistrations, } from './utils/custom-element/custom-element.js';
|
|
59
|
+
export { drawDismiss, drawDismissGlyph, } from './utils/draw-dismiss/draw-dismiss.js';
|
|
47
60
|
export { drawIcon } from './utils/draw-icon/draw-icon.js';
|
|
48
61
|
export { CHART_PLOT, drawTooltip } from './utils/draw-tooltip/draw-tooltip.js';
|
|
49
62
|
export { elapsedTime } from './utils/elapsed-time/elapsed-time.js';
|
|
50
63
|
export { elementById, searchableById, } from './utils/element-by-id/element-by-id.js';
|
|
51
64
|
export { fillTemplate } from './utils/fill-template/fill-template.js';
|
|
52
65
|
export { deepActiveElement, deepContains, focusableElements, } from './utils/focusable-elements/focusable-elements.js';
|
|
66
|
+
export { afterLinkFollowed, followLink, } from './utils/follow-link/follow-link.js';
|
|
53
67
|
export { formatNumbers } from './utils/format-numbers/format-numbers.js';
|
|
68
|
+
export { headingIn, headingsIn } from './utils/heading-in/heading-in.js';
|
|
54
69
|
export { hostAria } from './utils/host-aria/host-aria.js';
|
|
55
70
|
export { forgetDisabled, inheritDisabled, } from './utils/inherit-disabled/inherit-disabled.js';
|
|
56
71
|
export { inlineStep } from './utils/inline-step/inline-step.js';
|
|
@@ -59,9 +74,12 @@ export { keyClaimed } from './utils/key-claimed/key-claimed.js';
|
|
|
59
74
|
export { linePath } from './utils/line-path/line-path.js';
|
|
60
75
|
export { markRegion } from './utils/mark-region/mark-region.js';
|
|
61
76
|
export { copiesOf, sameCopies, } from './utils/media-copy/media-copy.js';
|
|
77
|
+
export { formatNumber, parseNumber } from './utils/number-format/number-format.js';
|
|
62
78
|
export { onUnlessFalse } from './utils/on-unless-false/on-unless-false.js';
|
|
63
|
-
export {
|
|
64
|
-
export {
|
|
79
|
+
export { appleTouch, onApple } from './utils/platform/platform.js';
|
|
80
|
+
export { readColor, rgbOf } from './utils/read-color/read-color.js';
|
|
81
|
+
export { byRow, readRows, readSeries, seriesKey, unbroken, } from './utils/read-series/read-series.js';
|
|
82
|
+
export { linkDescription, reflectElements, unlinkDescription, } from './utils/reflect-elements/reflect-elements.js';
|
|
65
83
|
export { relativeTime, } from './utils/relative-time/relative-time.js';
|
|
66
84
|
export { measuring, RENDER_SLOT, reportRender } from './utils/report-render/report-render.js';
|
|
67
85
|
export { RUNTIME_LOG, RUNTIME_SLOT, reportRuntime, } from './utils/report-runtime/report-runtime.js';
|
|
@@ -70,17 +88,20 @@ export { reportValues } from './utils/report-values/report-values.js';
|
|
|
70
88
|
export { requestChange, } from './utils/request-change/request-change.js';
|
|
71
89
|
export { resolveActiveItem, } from './utils/resolve-active-item/resolve-active-item.js';
|
|
72
90
|
export { holdCaret, restoreValue } from './utils/restore-value/restore-value.js';
|
|
91
|
+
export { rovingStop } from './utils/roving-stop/roving-stop.js';
|
|
73
92
|
export { extent, linear } from './utils/scale/scale.js';
|
|
74
93
|
export { ticks } from './utils/scale/ticks.js';
|
|
75
94
|
export { scrollItemIntoView, } from './utils/scroll-item-into-view/scroll-item-into-view.js';
|
|
95
|
+
export { lockScroll, scrollHolders, unlockScroll } from './utils/scroll-lock/scroll-lock.js';
|
|
76
96
|
export { slotFilled } from './utils/slot-filled/slot-filled.js';
|
|
77
97
|
export { slottedWords } from './utils/slotted-words/slotted-words.js';
|
|
78
98
|
export { splitValues } from './utils/split-values/split-values.js';
|
|
99
|
+
export { edgeOffset, FLING, parseSnapPoints, settleSwipe, snapTravel, swipeAxis, swipeEdge, swipeStep, towardEdge, } from './utils/swipe/swipe.js';
|
|
79
100
|
export { tellDisclosure } from './utils/tell-disclosure/tell-disclosure.js';
|
|
80
101
|
export { subscribe } from './utils/ticker/ticker.js';
|
|
81
102
|
export { TONE_MARKS, toneMark, } from './utils/tone-marks/tone-marks.js';
|
|
82
|
-
export { dateAsValue, isDateValue, isTimeValue, minutesAsValue, numberAsValue, timeAsValue, valueAsDate, valueAsMinutes, valueAsNumber, valueAsTime, } from './utils/value-as/value-as.js';
|
|
103
|
+
export { dateAsValue, isClockValue, isDateValue, isTimeValue, minutesAsValue, numberAsValue, secondsAsValue, timeAsValue, valueAsDate, valueAsMinutes, valueAsNumber, valueAsSeconds, valueAsTime, } from './utils/value-as/value-as.js';
|
|
83
104
|
export { watchTheme } from './utils/watch-theme/watch-theme.js';
|
|
84
|
-
export { writeTime } from './utils/write-time/write-time.js';
|
|
85
|
-
export { writtenList, writtenNumbers } from './utils/written-list/written-list.js';
|
|
105
|
+
export { writeClock, writeTime } from './utils/write-time/write-time.js';
|
|
106
|
+
export { commaList, toggleValue, writtenList, writtenNumbers, } from './utils/written-list/written-list.js';
|
|
86
107
|
export { VERSION } from './version.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChartPointerController } from '../../controllers/chart-pointer-controller/chart-pointer-controller.js';
|
|
2
2
|
import type { HelixElement } from '../../helix-element/helix-element.js';
|
|
3
|
-
import type
|
|
3
|
+
import { type Row, type Series } from '../../utils/read-series/read-series.js';
|
|
4
4
|
type Constructor<T> = new (...args: any[]) => T;
|
|
5
5
|
/**
|
|
6
6
|
* How many colors the series palette has, and so where it starts over.
|
|
@@ -45,7 +45,7 @@ export declare const PLOT_HEIGHT = 100;
|
|
|
45
45
|
* nothing to read off the page that says why.
|
|
46
46
|
*
|
|
47
47
|
* `writtenList` is the split, and carries the argument for accepting a comma.
|
|
48
|
-
* What this adds is
|
|
48
|
+
* What this adds is `seriesKey`, the headings being matched
|
|
49
49
|
* case-insensitively.
|
|
50
50
|
*/
|
|
51
51
|
export declare const seriesNames: (list: string | undefined) => string[];
|
|
@@ -128,6 +128,14 @@ export declare class MixinChartSourceInterface {
|
|
|
128
128
|
* words and is already written.
|
|
129
129
|
*/
|
|
130
130
|
label: string;
|
|
131
|
+
/**
|
|
132
|
+
* The locale the chart's own numbers are written in: its axis, its
|
|
133
|
+
* percentages and its totals, such as `de` for `1.240` and `32 %`.
|
|
134
|
+
*
|
|
135
|
+
* Absent uses the runtime's own. The table's cells are shown as the table
|
|
136
|
+
* writes them, whatever this says.
|
|
137
|
+
*/
|
|
138
|
+
locale: string;
|
|
131
139
|
/**
|
|
132
140
|
* The table's columns, one series each. Empty when there is no table.
|
|
133
141
|
*/
|
|
@@ -150,6 +158,11 @@ export declare class MixinChartSourceInterface {
|
|
|
150
158
|
* when no series was read from that column.
|
|
151
159
|
*/
|
|
152
160
|
seriesOf(cell: number): number | undefined;
|
|
161
|
+
/**
|
|
162
|
+
* Whether the series of this name is drawn, which it is unless a legend
|
|
163
|
+
* reading the same table hid it.
|
|
164
|
+
*/
|
|
165
|
+
showsSeries(name: string): boolean;
|
|
153
166
|
/**
|
|
154
167
|
* The number of readings, which the pointer position maps onto.
|
|
155
168
|
*/
|
|
@@ -7,12 +7,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { property } from 'lit/decorators.js';
|
|
8
8
|
import { ChartPointerController } from '../../controllers/chart-pointer-controller/chart-pointer-controller.js';
|
|
9
9
|
import { SourceController } from '../../controllers/source-controller/source-controller.js';
|
|
10
|
+
import { seriesKey } from '../../utils/read-series/read-series.js';
|
|
10
11
|
import { writtenList } from '../../utils/written-list/written-list.js';
|
|
11
12
|
export const PALETTE = 24;
|
|
12
13
|
export const seriesIndex = (depth) => (depth % PALETTE) + 1;
|
|
13
14
|
export const PLOT_WIDTH = 100;
|
|
14
15
|
export const PLOT_HEIGHT = 100;
|
|
15
|
-
export const seriesNames = (list) => writtenList(list).map(
|
|
16
|
+
export const seriesNames = (list) => writtenList(list).map(seriesKey);
|
|
16
17
|
export const MixinChartSource = (Base) => {
|
|
17
18
|
class ChartSourceElement extends Base {
|
|
18
19
|
constructor() {
|
|
@@ -21,6 +22,7 @@ export const MixinChartSource = (Base) => {
|
|
|
21
22
|
this.pointer = new ChartPointerController(this);
|
|
22
23
|
this.for = '';
|
|
23
24
|
this.label = '';
|
|
25
|
+
this.locale = '';
|
|
24
26
|
}
|
|
25
27
|
willUpdate(changed) {
|
|
26
28
|
super.willUpdate(changed);
|
|
@@ -46,6 +48,9 @@ export const MixinChartSource = (Base) => {
|
|
|
46
48
|
const depth = this.plottedColumns.indexOf(cell);
|
|
47
49
|
return depth < 0 ? undefined : seriesIndex(depth);
|
|
48
50
|
}
|
|
51
|
+
showsSeries(name) {
|
|
52
|
+
return !this.source.hidden.has(seriesKey(name));
|
|
53
|
+
}
|
|
49
54
|
get readings() {
|
|
50
55
|
return this.sourceRows.length;
|
|
51
56
|
}
|
|
@@ -56,5 +61,8 @@ export const MixinChartSource = (Base) => {
|
|
|
56
61
|
__decorate([
|
|
57
62
|
property()
|
|
58
63
|
], ChartSourceElement.prototype, "label", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
property()
|
|
66
|
+
], ChartSourceElement.prototype, "locale", void 0);
|
|
59
67
|
return ChartSourceElement;
|
|
60
68
|
};
|
|
@@ -16,9 +16,11 @@ export declare class CollectionElement {
|
|
|
16
16
|
/**
|
|
17
17
|
* The status line, or nothing where the collection has content to show.
|
|
18
18
|
*
|
|
19
|
-
* Rendered by the component wherever its rows would be.
|
|
19
|
+
* Rendered by the component wherever its rows would be. `cell` makes the line
|
|
20
|
+
* a row holding one cell of that role, for a table or a grid, whose children
|
|
21
|
+
* may only be rows.
|
|
20
22
|
*/
|
|
21
|
-
protected renderStatus(hasContent: boolean): TemplateResult | typeof nothing;
|
|
23
|
+
protected renderStatus(hasContent: boolean, cell?: 'cell' | 'gridcell'): TemplateResult | typeof nothing;
|
|
22
24
|
/**
|
|
23
25
|
* The same words for a screen reader, in a region that is always there.
|
|
24
26
|
*
|
|
@@ -42,14 +42,16 @@ export const MixinCollection = (Base) => {
|
|
|
42
42
|
super.firstUpdated(changed);
|
|
43
43
|
this.finishHydration();
|
|
44
44
|
}
|
|
45
|
-
renderStatus(hasContent) {
|
|
46
|
-
if (this.loading) {
|
|
47
|
-
return html `<p part="loading">${this.loadingText}</p>`;
|
|
48
|
-
}
|
|
49
|
-
if (hasContent) {
|
|
45
|
+
renderStatus(hasContent, cell) {
|
|
46
|
+
if (!this.loading && hasContent) {
|
|
50
47
|
return nothing;
|
|
51
48
|
}
|
|
52
|
-
|
|
49
|
+
const text = this.loading ? this.loadingText : this.emptyText;
|
|
50
|
+
const words = cell ? html `<span role=${cell}>${text}</span>` : text;
|
|
51
|
+
const row = cell ? 'row' : nothing;
|
|
52
|
+
return this.loading
|
|
53
|
+
? html `<p part="loading" role=${row}>${words}</p>`
|
|
54
|
+
: html `<p part="empty" role=${row}>${words}</p>`;
|
|
53
55
|
}
|
|
54
56
|
renderLive(hasContent) {
|
|
55
57
|
const said = this.loading ? this.loadingText : hasContent ? this.announced : this.emptyText;
|
|
@@ -20,6 +20,16 @@ export declare class MixinControllerCheckedInterface {
|
|
|
20
20
|
* Whether the control starts checked. A form reset returns it to this state.
|
|
21
21
|
*/
|
|
22
22
|
defaultChecked: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Whether a reader can see and focus the control and cannot change it. A
|
|
25
|
+
* read-only control still submits its value.
|
|
26
|
+
*/
|
|
27
|
+
readOnly: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Refuses a press on the inner control while the control is read-only,
|
|
30
|
+
* bound to its `click`.
|
|
31
|
+
*/
|
|
32
|
+
protected readonly holdReadOnly: (event: Event) => void;
|
|
23
33
|
/**
|
|
24
34
|
* Requests a change to `checked`, and returns whether it was applied.
|
|
25
35
|
*
|