@ixfx/components 0.14.6 → 0.15.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/bundle/index.d.ts +114 -2
- package/bundle/index.js +575 -247
- package/bundle/style.css +2 -82
- package/dist/ac-text.d.ts +1 -1
- package/dist/{ac-token--_vCHXWw.d.ts → ac-token-Cq7lsYf-.d.ts} +16 -2
- package/dist/ac-token.d.ts +2 -2
- package/dist/ac-token.js +8 -0
- package/dist/{button-BYuf72aR.d.ts → button-D1sPDUCM.d.ts} +8 -1
- package/dist/{button-B7mgqtxR.js → button-ikByJJPN.js} +29 -8
- package/dist/button.d.ts +1 -1
- package/dist/button.js +1 -1
- package/dist/{colour-picker-BCMU7W7R.js → colour-picker-DwAa6RDh.js} +73 -9
- package/dist/colour-picker.d.ts +1 -1
- package/dist/colour-picker.js +1 -1
- package/dist/crumbs.d.ts +1 -1
- package/dist/{data-grid-DmkId8bu.d.ts → data-grid-_BmlhuUu.d.ts} +3 -3
- package/dist/data-grid.d.ts +1 -1
- package/dist/{detail-list-CmQqeXvp.d.ts → detail-list-DXMnTrYm.d.ts} +3 -3
- package/dist/detail-list.d.ts +2 -2
- package/dist/{flat-list-BmQBB3ZC.d.ts → flat-list-JfozgW7d.d.ts} +2 -2
- package/dist/flat-list.d.ts +1 -1
- package/dist/form-BGZK3jZd.d.ts +54 -0
- package/dist/form-CY0nibZ5.js +418 -0
- package/dist/form.d.ts +1 -13
- package/dist/form.js +1 -1
- package/dist/{grid-list-BVsUEvgd.d.ts → grid-list-tQwXs895.d.ts} +1 -1
- package/dist/grid-list.d.ts +1 -1
- package/dist/{grouped-item-lister-DETte0Dh.d.ts → grouped-item-lister-Bhyo-dkH.d.ts} +1 -1
- package/dist/grouped-item-lister.d.ts +1 -1
- package/dist/{icon-CDGprSdE.d.ts → icon-DR_3rSyZ.d.ts} +1 -1
- package/dist/icons.d.ts +2 -2
- package/dist/incr-search.d.ts +1 -1
- package/dist/{index-CoqtMSd9.d.ts → index-BUB5SICW.d.ts} +1 -1
- package/dist/{index-tq6f8007.d.ts → index-Bz3loIAf.d.ts} +4 -1
- package/dist/{index-UvnoZUAo.d.ts → index-CJ5fshD3.d.ts} +1 -1
- package/dist/{index-BvoXLnBf.d.ts → index-ChdhB7RK.d.ts} +1 -1
- package/dist/{index-DxyyVqzA.d.ts → index-cnaRPQPp.d.ts} +2 -2
- package/dist/{index-CYndvTWH.d.ts → index-garxxqgV.d.ts} +1 -1
- package/dist/{index-DuhzWWTr.d.ts → index-wUYiXH8c.d.ts} +1 -1
- package/dist/index.d.ts +69 -22
- package/dist/index.js +138 -8
- package/dist/{labelled-input-base-DiTme1JO.d.ts → labelled-input-base-Dp_9KP0G.d.ts} +1 -1
- package/dist/labelled-radial-input.d.ts +2 -2
- package/dist/labelled-range-input.d.ts +1 -1
- package/dist/labelled-slider-input.d.ts +1 -1
- package/dist/list-group-header.d.ts +1 -1
- package/dist/{menu-item-bF6narIz.d.ts → menu-item-B0zqw2xp.d.ts} +1 -1
- package/dist/menu.d.ts +2 -2
- package/dist/miller.d.ts +1 -1
- package/dist/panel.d.ts +1 -1
- package/dist/{split-layout-JK3xWVX2.d.ts → split-layout-C5SYbDrq.d.ts} +1 -1
- package/dist/split-layout.d.ts +1 -1
- package/dist/style.css +2 -82
- package/dist/tab-list-R_bGbDvO.js +766 -0
- package/dist/{tab-list-CexFFg6O.d.ts → tab-list-wC0xNz1b.d.ts} +2 -1
- package/dist/tabs.d.ts +1 -1
- package/dist/tabs.js +1 -673
- package/dist/{titlebar-Tqu-VvMU.d.ts → titlebar-B5zSTZnF.d.ts} +1 -1
- package/dist/titlebar.d.ts +1 -1
- package/dist/tree.d.ts +1 -1
- package/dist/{vertical-list-ztrdFvyT.d.ts → vertical-list-BYyb2n4x.d.ts} +1 -1
- package/dist/vertical-list.d.ts +1 -1
- package/docs-user/ac-token.md +13 -0
- package/docs-user/button.md +1 -0
- package/docs-user/colour-picker.md +19 -0
- package/docs-user/form.md +97 -4
- package/docs-user/index.json +2 -2
- package/docs-user/tabs.md +30 -0
- package/package.json +2 -1
- package/dist/form-CsXJX15p.js +0 -62
package/bundle/style.css
CHANGED
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
--radius-m: 4px;
|
|
44
44
|
--radius-l: 6px;
|
|
45
45
|
--radius-xl: 8px;
|
|
46
|
-
--shadow-m: light-dark(
|
|
47
|
-
--shadow-l:
|
|
46
|
+
--shadow-m: 0 3px 10px light-dark(#0000001a, #0000004d);
|
|
47
|
+
--shadow-l: 0 4px 20px light-dark(#00000026, #00000080);
|
|
48
48
|
--disabled-opacity: .5;
|
|
49
49
|
--transition: .15s ease-out;
|
|
50
50
|
--prominence-idle-opacity: light-dark(.55, .6);
|
|
@@ -96,83 +96,3 @@
|
|
|
96
96
|
ixfx-grouped-item-lister {
|
|
97
97
|
display: block;
|
|
98
98
|
}
|
|
99
|
-
ixfx-form {
|
|
100
|
-
display: block;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
ixfx-form-group {
|
|
104
|
-
display: block;
|
|
105
|
-
container-type: inline-size;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
ixfx-form-group fieldset {
|
|
109
|
-
gap: var(--space-m) var(--space-l);
|
|
110
|
-
margin: 0;
|
|
111
|
-
border: 0;
|
|
112
|
-
grid-template-columns: 1fr;
|
|
113
|
-
min-inline-size: 0;
|
|
114
|
-
margin-block-start: var(--space-m);
|
|
115
|
-
margin-block-end: var(--space-m);
|
|
116
|
-
padding: 0;
|
|
117
|
-
display: grid;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
ixfx-form-group fieldset > legend:empty {
|
|
121
|
-
display: none;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
ixfx-form-group fieldset > legend {
|
|
125
|
-
font-weight: var(--font-weight-bold);
|
|
126
|
-
grid-column: 1 / -1;
|
|
127
|
-
margin-block-start: var(--space-m);
|
|
128
|
-
margin-block-end: var(--space-s);
|
|
129
|
-
padding: 0;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
ixfx-form-group fieldset > :not(ixfx-form-part) {
|
|
133
|
-
grid-column: 1 / -1;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
ixfx-form-part {
|
|
137
|
-
grid-column: 1 / -1;
|
|
138
|
-
grid-template-columns: 1fr;
|
|
139
|
-
align-items: start;
|
|
140
|
-
display: grid;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
ixfx-form-part > label {
|
|
144
|
-
font-size: var(--ixfx-form-label-font-size, var(--text-s));
|
|
145
|
-
font-weight: var(--ixfx-form-label-font-weight, inherit);
|
|
146
|
-
font-family: var(--ixfx-form-label-font-family, inherit);
|
|
147
|
-
color: var(--ixfx-form-label-color, inherit);
|
|
148
|
-
text-transform: var(--ixfx-form-label-text-transform, uppercase);
|
|
149
|
-
padding-bottom: var(--space-xs);
|
|
150
|
-
grid-area: 1 / 1;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
ixfx-form-part > input, ixfx-form-part > select, ixfx-form-part > textarea {
|
|
154
|
-
grid-area: 2 / 1;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
@container (width >= 30rem) {
|
|
158
|
-
ixfx-form-group fieldset {
|
|
159
|
-
grid-template-columns: max-content 1fr;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
ixfx-form-part {
|
|
163
|
-
grid-column: 1 / -1;
|
|
164
|
-
grid-template-columns: subgrid;
|
|
165
|
-
align-items: baseline;
|
|
166
|
-
display: grid;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
ixfx-form-part > label {
|
|
170
|
-
padding-right: var(--space-xs);
|
|
171
|
-
grid-area: 1 / 1;
|
|
172
|
-
padding-bottom: 0;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
ixfx-form-part > input, ixfx-form-part > select, ixfx-form-part > textarea {
|
|
176
|
-
grid-area: 1 / 2;
|
|
177
|
-
}
|
|
178
|
-
}
|
package/dist/ac-text.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./icon-
|
|
1
|
+
import "./icon-DR_3rSyZ.js";
|
|
2
2
|
import { r as IDataProvider } from "./data-provider-BAn_-oR1.js";
|
|
3
3
|
import { LitElement, PropertyValues } from "lit";
|
|
4
4
|
//#region src/ac-token/types.d.ts
|
|
@@ -10,6 +10,14 @@ type AcTokenItem = {
|
|
|
10
10
|
readonly data?: unknown;
|
|
11
11
|
readonly positions?: ReadonlySet<number>;
|
|
12
12
|
};
|
|
13
|
+
/** Per-token visual overrides. Any CSS colour value. Ignored while the chip is selected. */
|
|
14
|
+
type AcTokenStyle = {
|
|
15
|
+
readonly background?: string;
|
|
16
|
+
readonly color?: string;
|
|
17
|
+
readonly borderColor?: string;
|
|
18
|
+
};
|
|
19
|
+
/** Given a committed token, returns style overrides for its chip (or undefined for default). */
|
|
20
|
+
type AcTokenStyleFn = (item: AcTokenItem) => AcTokenStyle | undefined;
|
|
13
21
|
type AcTokenizerFn = (text: string) => string[];
|
|
14
22
|
type AcTokensChangeDetail = {
|
|
15
23
|
readonly tokens: readonly AcTokenItem[];
|
|
@@ -54,6 +62,12 @@ declare class AcTokenElement extends LitElement {
|
|
|
54
62
|
completionProvider: IDataProvider<string, AcTokenItem> | undefined;
|
|
55
63
|
/** Custom tokenizer — defaults to splitting on space, comma, semicolon. */
|
|
56
64
|
tokenizer: AcTokenizerFn | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Optional per-token styling. Called when rendering each committed chip;
|
|
67
|
+
* return `{ background, color, borderColor }` overrides, or undefined for
|
|
68
|
+
* the default look. Selected chips keep the selected style.
|
|
69
|
+
*/
|
|
70
|
+
tokenStyle: AcTokenStyleFn | undefined;
|
|
57
71
|
/** Placeholder text shown when no tokens or draft text are present. */
|
|
58
72
|
placeholder: string;
|
|
59
73
|
/** Maximum number of query results to cache (LRU). */
|
|
@@ -103,4 +117,4 @@ interface AcTokenElement {
|
|
|
103
117
|
addEventListener: (<K extends keyof AcTokenElementEventMap>(type: K, listener: (this: AcTokenElement, event: AcTokenElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
|
|
104
118
|
}
|
|
105
119
|
//#endregion
|
|
106
|
-
export { AcTokenItem as a,
|
|
120
|
+
export { AcTokenItem as a, AcTokenStyle as c, AcTokensChangeDetail as d, AcTokensChangeEvent as f, AcTokenElementEventMap as i, AcTokenStyleFn as l, AcTokenAddDetail as n, AcTokenRemoveDetail as o, AcTokenAddEvent as r, AcTokenRemoveEvent as s, AcTokenElement as t, AcTokenizerFn as u };
|
package/dist/ac-token.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as AcTokenItem, c as
|
|
2
|
-
export { type AcTokenAddDetail, type AcTokenAddEvent, AcTokenElement, type AcTokenElementEventMap, type AcTokenItem, type AcTokenRemoveDetail, type AcTokenRemoveEvent, type AcTokenizerFn, type AcTokensChangeDetail, type AcTokensChangeEvent };
|
|
1
|
+
import { a as AcTokenItem, c as AcTokenStyle, d as AcTokensChangeDetail, f as AcTokensChangeEvent, i as AcTokenElementEventMap, l as AcTokenStyleFn, n as AcTokenAddDetail, o as AcTokenRemoveDetail, r as AcTokenAddEvent, s as AcTokenRemoveEvent, t as AcTokenElement, u as AcTokenizerFn } from "./ac-token-Cq7lsYf-.js";
|
|
2
|
+
export { type AcTokenAddDetail, type AcTokenAddEvent, AcTokenElement, type AcTokenElementEventMap, type AcTokenItem, type AcTokenRemoveDetail, type AcTokenRemoveEvent, type AcTokenStyle, type AcTokenStyleFn, type AcTokenizerFn, type AcTokensChangeDetail, type AcTokensChangeEvent };
|
package/dist/ac-token.js
CHANGED
|
@@ -7,6 +7,7 @@ import { t as DataController } from "./data-controller-DOlmqNKb.js";
|
|
|
7
7
|
import { m as createAcCompletionProvider } from "./incr-search-JIhwB49y.js";
|
|
8
8
|
import { LitElement, css, html, nothing } from "lit";
|
|
9
9
|
import { property, state } from "lit/decorators.js";
|
|
10
|
+
import { styleMap } from "lit/directives/style-map.js";
|
|
10
11
|
//#region src/ac-token/ac-token.ts
|
|
11
12
|
const DEFAULT_TOKENIZER = (text) => text.split(/[\s,;]+/);
|
|
12
13
|
function makeLruCache(maxSize) {
|
|
@@ -370,9 +371,15 @@ let AcTokenElement = class AcTokenElement extends LitElement {
|
|
|
370
371
|
}
|
|
371
372
|
#renderChip(item, index) {
|
|
372
373
|
const isSelected = this._selectedTokenIndex === index;
|
|
374
|
+
const style = isSelected ? void 0 : this.tokenStyle?.(item);
|
|
373
375
|
return html`
|
|
374
376
|
<span
|
|
375
377
|
class="token-chip ${isSelected ? `selected` : ``}"
|
|
378
|
+
style=${styleMap({
|
|
379
|
+
"background": style?.background,
|
|
380
|
+
"color": style?.color,
|
|
381
|
+
"border-color": style?.borderColor
|
|
382
|
+
})}
|
|
376
383
|
title=${item.subLabel ?? nothing}
|
|
377
384
|
@pointerdown=${(e) => this.#onChipPointerDown(e, index)}
|
|
378
385
|
>
|
|
@@ -622,6 +629,7 @@ let AcTokenElement = class AcTokenElement extends LitElement {
|
|
|
622
629
|
};
|
|
623
630
|
__decorate([property({ type: Object })], AcTokenElement.prototype, "completionProvider", void 0);
|
|
624
631
|
__decorate([property({ type: Object })], AcTokenElement.prototype, "tokenizer", void 0);
|
|
632
|
+
__decorate([property({ attribute: false })], AcTokenElement.prototype, "tokenStyle", void 0);
|
|
625
633
|
__decorate([property({ type: String })], AcTokenElement.prototype, "placeholder", void 0);
|
|
626
634
|
__decorate([property({
|
|
627
635
|
type: Number,
|
|
@@ -43,7 +43,14 @@ declare class ButtonElement extends LitElement {
|
|
|
43
43
|
* attribute).
|
|
44
44
|
*/
|
|
45
45
|
value: boolean;
|
|
46
|
-
|
|
46
|
+
/**
|
|
47
|
+
* What clicking does inside a `<form>` (including `ixfx-form`): `submit`
|
|
48
|
+
* submits it, `reset` resets it. The default, `button`, does nothing.
|
|
49
|
+
*/
|
|
50
|
+
type: `button` | `submit` | `reset`;
|
|
51
|
+
static formAssociated: boolean;
|
|
52
|
+
formDisabledCallback(disabled: boolean): void;
|
|
53
|
+
protected _renderIcon(): import("lit").TemplateResult<1> | typeof nothing;
|
|
47
54
|
protected render(): import("lit").TemplateResult<1>;
|
|
48
55
|
static styles: import("lit").CSSResult[];
|
|
49
56
|
}
|
|
@@ -123,16 +123,33 @@ let ButtonElement = class ButtonElement extends LitElement {
|
|
|
123
123
|
this.subtle = false;
|
|
124
124
|
this.toggleable = false;
|
|
125
125
|
this.value = false;
|
|
126
|
+
this.type = `button`;
|
|
127
|
+
this.#internals = this.attachInternals?.();
|
|
128
|
+
this.#formDisabled = false;
|
|
126
129
|
this.#handleClick = () => {
|
|
127
|
-
if (
|
|
128
|
-
this.
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
130
|
+
if (this.disabled || this.#formDisabled) return;
|
|
131
|
+
if (this.toggleable) {
|
|
132
|
+
this.value = !this.value;
|
|
133
|
+
this.dispatchEvent(new CustomEvent(`toggle`, {
|
|
134
|
+
detail: { value: this.value },
|
|
135
|
+
bubbles: true,
|
|
136
|
+
composed: true
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
const form = this.#internals?.form ?? this.closest(`form`);
|
|
140
|
+
if (this.type === `submit`) form?.requestSubmit();
|
|
141
|
+
else if (this.type === `reset`) form?.reset();
|
|
134
142
|
};
|
|
135
143
|
}
|
|
144
|
+
static {
|
|
145
|
+
this.formAssociated = true;
|
|
146
|
+
}
|
|
147
|
+
#internals;
|
|
148
|
+
#formDisabled;
|
|
149
|
+
formDisabledCallback(disabled) {
|
|
150
|
+
this.#formDisabled = disabled;
|
|
151
|
+
this.requestUpdate();
|
|
152
|
+
}
|
|
136
153
|
#handleClick;
|
|
137
154
|
_renderIcon() {
|
|
138
155
|
if (this.hideIcon || !this.icon) return nothing;
|
|
@@ -143,7 +160,7 @@ let ButtonElement = class ButtonElement extends LitElement {
|
|
|
143
160
|
render() {
|
|
144
161
|
this.hasIcon = !this.hideIcon && !!this.icon;
|
|
145
162
|
const label = this.hideLabel ? nothing : html`<span class="button-label"><slot></slot></span>`;
|
|
146
|
-
return html`<button ?disabled=${this.disabled} @click=${this.#handleClick}>${this._renderIcon()}${label}</button>`;
|
|
163
|
+
return html`<button ?disabled=${this.disabled || this.#formDisabled} @click=${this.#handleClick}>${this._renderIcon()}${label}</button>`;
|
|
147
164
|
}
|
|
148
165
|
static {
|
|
149
166
|
this.styles = [prominenceStyles, buttonStyles];
|
|
@@ -178,6 +195,10 @@ __decorate([property({
|
|
|
178
195
|
type: Boolean,
|
|
179
196
|
reflect: true
|
|
180
197
|
})], ButtonElement.prototype, "value", void 0);
|
|
198
|
+
__decorate([property({
|
|
199
|
+
type: String,
|
|
200
|
+
reflect: true
|
|
201
|
+
})], ButtonElement.prototype, "type", void 0);
|
|
181
202
|
ButtonElement = __decorate([safeCustomElement(`ixfx-button`)], ButtonElement);
|
|
182
203
|
//#endregion
|
|
183
204
|
export { buttonStyles as n, ButtonElement as t };
|
package/dist/button.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as ButtonElementEventMap, t as ButtonElement } from "./button-
|
|
1
|
+
import { n as ButtonElementEventMap, t as ButtonElement } from "./button-D1sPDUCM.js";
|
|
2
2
|
export { ButtonElement, ButtonElementEventMap };
|
package/dist/button.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as ButtonElement } from "./button-
|
|
1
|
+
import { t as ButtonElement } from "./button-ikByJJPN.js";
|
|
2
2
|
export { ButtonElement };
|
|
@@ -595,6 +595,7 @@ let ColourPickerPopup = class ColourPickerPopup extends LitElement {
|
|
|
595
595
|
this.size = `medium`;
|
|
596
596
|
this._isOpen = false;
|
|
597
597
|
this._everOpened = false;
|
|
598
|
+
this._hasAction = false;
|
|
598
599
|
this._pendingL = this.l;
|
|
599
600
|
this._pendingC = this.c;
|
|
600
601
|
this._pendingH = this.h;
|
|
@@ -662,6 +663,9 @@ let ColourPickerPopup = class ColourPickerPopup extends LitElement {
|
|
|
662
663
|
this._popupEl.hidePopover();
|
|
663
664
|
} catch {}
|
|
664
665
|
};
|
|
666
|
+
this._onActionSlotChange = (e) => {
|
|
667
|
+
this._hasAction = e.target.assignedNodes().length > 0;
|
|
668
|
+
};
|
|
665
669
|
this._onSwatchClick = async () => {
|
|
666
670
|
if (!this._everOpened) {
|
|
667
671
|
this._everOpened = true;
|
|
@@ -714,6 +718,11 @@ let ColourPickerPopup = class ColourPickerPopup extends LitElement {
|
|
|
714
718
|
const swatch = this.shadowRoot?.querySelector(`.swatch`);
|
|
715
719
|
if (swatch) swatch.style.background = swatchBackground(this.l, this.c, this.h, this.a);
|
|
716
720
|
}
|
|
721
|
+
close() {
|
|
722
|
+
try {
|
|
723
|
+
this._popupEl.hidePopover();
|
|
724
|
+
} catch {}
|
|
725
|
+
}
|
|
717
726
|
_dispatchInput() {
|
|
718
727
|
const detail = {
|
|
719
728
|
l: this.l,
|
|
@@ -779,11 +788,14 @@ let ColourPickerPopup = class ColourPickerPopup extends LitElement {
|
|
|
779
788
|
@input=${this._onPickerInput}
|
|
780
789
|
@change=${this._onPickerChange}
|
|
781
790
|
></ixfx-colour-picker>
|
|
782
|
-
|
|
783
|
-
<
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
791
|
+
<div class="footer" ?hidden=${this.mode !== `confirm` && !this._hasAction}>
|
|
792
|
+
<slot name="action" @slotchange=${this._onActionSlotChange}></slot>
|
|
793
|
+
${this.mode === `confirm` ? html`
|
|
794
|
+
<button class="confirm-btn" @click=${this._onConfirm} aria-label="Confirm colour" title="Confirm colour">
|
|
795
|
+
${unsafeHTML(ICON_CHECK)}
|
|
796
|
+
</button>
|
|
797
|
+
` : nothing}
|
|
798
|
+
</div>
|
|
787
799
|
` : nothing}
|
|
788
800
|
</div>
|
|
789
801
|
`;
|
|
@@ -831,11 +843,22 @@ let ColourPickerPopup = class ColourPickerPopup extends LitElement {
|
|
|
831
843
|
min-width: var(--cp-popup-min-width);
|
|
832
844
|
min-height: var(--cp-popup-min-height);
|
|
833
845
|
|
|
834
|
-
/* CSS anchor positioning — position-anchor set via inline style in JS
|
|
846
|
+
/* CSS anchor positioning — position-anchor set via inline style in JS.
|
|
847
|
+
Preferred: centred horizontally below the swatch. Fallbacks: above,
|
|
848
|
+
then right/left of the swatch, vertically centred.
|
|
849
|
+
Centring uses anchor-center (not translate) so the browser's overflow
|
|
850
|
+
check for the fallbacks sees the popup's real position. */
|
|
835
851
|
position: fixed;
|
|
836
|
-
|
|
837
|
-
|
|
852
|
+
top: anchor(bottom);
|
|
853
|
+
bottom: 0;
|
|
854
|
+
left: 0;
|
|
855
|
+
right: 0;
|
|
856
|
+
width: max-content;
|
|
857
|
+
height: max-content;
|
|
858
|
+
justify-self: unsafe anchor-center;
|
|
859
|
+
align-self: start;
|
|
838
860
|
margin-block-start: 4px;
|
|
861
|
+
position-try-fallbacks: --cp-above, --cp-right, --cp-left;
|
|
839
862
|
|
|
840
863
|
padding: var(--space-l);
|
|
841
864
|
z-index: 100;
|
|
@@ -847,6 +870,30 @@ let ColourPickerPopup = class ColourPickerPopup extends LitElement {
|
|
|
847
870
|
transition: opacity 0.12s ease, scale 0.12s ease;
|
|
848
871
|
}
|
|
849
872
|
|
|
873
|
+
@position-try --cp-above {
|
|
874
|
+
inset: 0;
|
|
875
|
+
bottom: anchor(top);
|
|
876
|
+
justify-self: unsafe anchor-center;
|
|
877
|
+
align-self: end;
|
|
878
|
+
margin: 0 0 4px;
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
@position-try --cp-right {
|
|
882
|
+
inset: 0;
|
|
883
|
+
left: anchor(right);
|
|
884
|
+
justify-self: start;
|
|
885
|
+
align-self: anchor-center;
|
|
886
|
+
margin: 0 0 0 4px;
|
|
887
|
+
}
|
|
888
|
+
|
|
889
|
+
@position-try --cp-left {
|
|
890
|
+
inset: 0;
|
|
891
|
+
right: anchor(left);
|
|
892
|
+
justify-self: end;
|
|
893
|
+
align-self: anchor-center;
|
|
894
|
+
margin: 0 4px 0 0;
|
|
895
|
+
}
|
|
896
|
+
|
|
850
897
|
.popup:popover-open {
|
|
851
898
|
opacity: 1;
|
|
852
899
|
scale: 1;
|
|
@@ -857,11 +904,27 @@ let ColourPickerPopup = class ColourPickerPopup extends LitElement {
|
|
|
857
904
|
display: block;
|
|
858
905
|
}
|
|
859
906
|
|
|
907
|
+
.footer {
|
|
908
|
+
display: flex;
|
|
909
|
+
align-items: center;
|
|
910
|
+
gap: var(--space-s);
|
|
911
|
+
margin-block-start: var(--space-s);
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
.footer[hidden] {
|
|
915
|
+
display: none;
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
.footer slot[name='action'] {
|
|
919
|
+
display: flex;
|
|
920
|
+
align-items: center;
|
|
921
|
+
gap: var(--space-s);
|
|
922
|
+
}
|
|
923
|
+
|
|
860
924
|
.confirm-btn {
|
|
861
925
|
display: flex;
|
|
862
926
|
align-items: center;
|
|
863
927
|
justify-content: center;
|
|
864
|
-
margin-block-start: var(--space-s);
|
|
865
928
|
margin-inline-start: auto;
|
|
866
929
|
width: 1.8em;
|
|
867
930
|
height: 1.8em;
|
|
@@ -927,6 +990,7 @@ __decorate([property({
|
|
|
927
990
|
__decorate([property({ type: String })], ColourPickerPopup.prototype, "size", void 0);
|
|
928
991
|
__decorate([state()], ColourPickerPopup.prototype, "_isOpen", void 0);
|
|
929
992
|
__decorate([state()], ColourPickerPopup.prototype, "_everOpened", void 0);
|
|
993
|
+
__decorate([state()], ColourPickerPopup.prototype, "_hasAction", void 0);
|
|
930
994
|
__decorate([query(`.popup`)], ColourPickerPopup.prototype, "_popupEl", void 0);
|
|
931
995
|
__decorate([query(`ixfx-colour-picker`)], ColourPickerPopup.prototype, "_pickerEl", void 0);
|
|
932
996
|
ColourPickerPopup = __decorate([safeCustomElement(`ixfx-colour-picker-popup`)], ColourPickerPopup);
|
package/dist/colour-picker.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as ColourPickerInputEvent, i as ColourPickerEventDetail, n as ColourPicker, o as OklchValue, r as ColourPickerChangeEvent, t as ColourPickerPopup } from "./index-
|
|
1
|
+
import { a as ColourPickerInputEvent, i as ColourPickerEventDetail, n as ColourPicker, o as OklchValue, r as ColourPickerChangeEvent, t as ColourPickerPopup } from "./index-Bz3loIAf.js";
|
|
2
2
|
export { ColourPicker, type ColourPickerChangeEvent, type ColourPickerEventDetail, type ColourPickerInputEvent, ColourPickerPopup, type OklchValue };
|
package/dist/colour-picker.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as ColourPicker, t as ColourPickerPopup } from "./colour-picker-
|
|
1
|
+
import { n as ColourPicker, t as ColourPickerPopup } from "./colour-picker-DwAa6RDh.js";
|
|
2
2
|
export { ColourPicker, ColourPickerPopup };
|
package/dist/crumbs.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { A as TreeTickleEvent, O as TreeSelectEvent, a as TreeComponent, j as TreeDataModel, n as TreeActivateEvent, o as TreeComponentEventMap, x as TreeItemClickEvent, y as TreeExpandEvent } from "./tree-component-CDsYTBDi.js";
|
|
2
2
|
import { n as TreeExclusivity, o as TreeNode, r as TreeFilterPredicate, s as TreeSelectionFilter, t as LoadChildrenCallback } from "./types-Jky6oNAp.js";
|
|
3
|
-
import "./menu-item-
|
|
3
|
+
import "./menu-item-B0zqw2xp.js";
|
|
4
4
|
import "./index-o-CWDt11.js";
|
|
5
5
|
import { LitElement, PropertyValues } from "lit";
|
|
6
6
|
//#region src/crumbs/crumb-navigation.d.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import "./icon-
|
|
1
|
+
import "./icon-DR_3rSyZ.js";
|
|
2
2
|
import { B as ListNativeDragStartEvent, I as ListDragPreviewRenderer, L as ListDragPreviewSourceResolver } from "./tree-component-CDsYTBDi.js";
|
|
3
3
|
import { n as ListViewportChangeEvent, t as ListViewportChangeDetail } from "./list-viewport-types-BRZsLcvp.js";
|
|
4
|
-
import { S as ListSearchController } from "./index-
|
|
5
|
-
import "./index-
|
|
4
|
+
import { S as ListSearchController } from "./index-ChdhB7RK.js";
|
|
5
|
+
import "./index-cnaRPQPp.js";
|
|
6
6
|
import "./pan-text-CoYmt2qd.js";
|
|
7
7
|
import { LitElement } from "lit";
|
|
8
8
|
import { CommandId, CommandRegistry } from "@clinth/ui-commands";
|
package/dist/data-grid.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { B as ListNativeDragStartEvent, F as ListDragPreviewContext, I as ListDragPreviewRenderer, N as ListDragEntry, P as ListDragPreview, R as ListDragSource, z as ListNativeDragStartDetail } from "./tree-component-CDsYTBDi.js";
|
|
2
|
-
import { A as DataGridEditorFactory, B as GlobalFormatter, C as BuiltInFormatterName, D as DataGridDataType, E as DataGridColumnMenu, F as DataGridInteractionMode, I as DataGridRowLook, L as DataGridSelectionMode, M as DataGridGetRowKey, N as DataGridGroupBy, O as DataGridEditability, P as DataGridGroupLabel, R as DataGridSortDirection, S as DataGridViewportChangeEvent, T as DataGridColumn, _ as DataGridSelectDetail, a as DataGridColumnReorderDetail, b as DataGridSortEvent, c as DataGridColumnResizeEvent, d as DataGridElement, f as DataGridElementEventMap, g as DataGridRowActivateEvent, h as DataGridRowActivateDetail, i as DataGridCellEditEvent, j as DataGridEditorType, k as DataGridEditorContext, l as DataGridColumnVisibilityDetail, m as DataGridGroupChangeEvent, n as DataGridCellClickEvent, o as DataGridColumnReorderEvent, p as DataGridGroupChangeDetail, r as DataGridCellEditDetail, s as DataGridColumnResizeDetail, t as DataGridCellClickDetail, u as DataGridColumnVisibilityEvent, v as DataGridSelectEvent, w as BuiltInFormatterOptions, x as DataGridViewportChangeDetail, y as DataGridSortDetail, z as DataGridSortState } from "./data-grid-
|
|
2
|
+
import { A as DataGridEditorFactory, B as GlobalFormatter, C as BuiltInFormatterName, D as DataGridDataType, E as DataGridColumnMenu, F as DataGridInteractionMode, I as DataGridRowLook, L as DataGridSelectionMode, M as DataGridGetRowKey, N as DataGridGroupBy, O as DataGridEditability, P as DataGridGroupLabel, R as DataGridSortDirection, S as DataGridViewportChangeEvent, T as DataGridColumn, _ as DataGridSelectDetail, a as DataGridColumnReorderDetail, b as DataGridSortEvent, c as DataGridColumnResizeEvent, d as DataGridElement, f as DataGridElementEventMap, g as DataGridRowActivateEvent, h as DataGridRowActivateDetail, i as DataGridCellEditEvent, j as DataGridEditorType, k as DataGridEditorContext, l as DataGridColumnVisibilityDetail, m as DataGridGroupChangeEvent, n as DataGridCellClickEvent, o as DataGridColumnReorderEvent, p as DataGridGroupChangeDetail, r as DataGridCellEditDetail, s as DataGridColumnResizeDetail, t as DataGridCellClickDetail, u as DataGridColumnVisibilityEvent, v as DataGridSelectEvent, w as BuiltInFormatterOptions, x as DataGridViewportChangeDetail, y as DataGridSortDetail, z as DataGridSortState } from "./data-grid-_BmlhuUu.js";
|
|
3
3
|
export { type BuiltInFormatterName, type BuiltInFormatterOptions, DataGridCellClickDetail, DataGridCellClickEvent, DataGridCellEditDetail, DataGridCellEditEvent, type DataGridColumn, type DataGridColumnMenu, DataGridColumnReorderDetail, DataGridColumnReorderEvent, DataGridColumnResizeDetail, DataGridColumnResizeEvent, DataGridColumnVisibilityDetail, DataGridColumnVisibilityEvent, type DataGridDataType, type DataGridEditability, type DataGridEditorContext, type DataGridEditorFactory, type DataGridEditorType, DataGridElement, DataGridElementEventMap, type DataGridGetRowKey, type DataGridGroupBy, DataGridGroupChangeDetail, DataGridGroupChangeEvent, type DataGridGroupLabel, type DataGridInteractionMode, DataGridRowActivateDetail, DataGridRowActivateEvent, type DataGridRowLook, DataGridSelectDetail, DataGridSelectEvent, type DataGridSelectionMode, DataGridSortDetail, type DataGridSortDirection, DataGridSortEvent, type DataGridSortState, DataGridViewportChangeDetail, DataGridViewportChangeEvent, type GlobalFormatter, type ListDragEntry, type ListDragPreview, type ListDragPreviewContext, type ListDragPreviewRenderer, type ListDragSource, type ListNativeDragStartDetail, type ListNativeDragStartEvent };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import "./icon-
|
|
1
|
+
import "./icon-DR_3rSyZ.js";
|
|
2
2
|
import { r as IDataProvider } from "./data-provider-BAn_-oR1.js";
|
|
3
3
|
import { B as ListNativeDragStartEvent, I as ListDragPreviewRenderer, L as ListDragPreviewSourceResolver } from "./tree-component-CDsYTBDi.js";
|
|
4
4
|
import { n as ListViewportChangeEvent } from "./list-viewport-types-BRZsLcvp.js";
|
|
5
|
-
import { S as ListSearchController } from "./index-
|
|
5
|
+
import { S as ListSearchController } from "./index-ChdhB7RK.js";
|
|
6
6
|
import { a as ListGroupEventMap, o as ListGroupInfo, s as ListGroupLabel } from "./grouping-CUKgmkMm.js";
|
|
7
7
|
import { i as ListInteractionMode, l as ListSelectionMode, r as ListElementEventMap } from "./list-selection-types-PjKdhF-a.js";
|
|
8
|
-
import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-
|
|
8
|
+
import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-BYyb2n4x.js";
|
|
9
9
|
import "./list-group-header.js";
|
|
10
10
|
import { LitElement, PropertyValues } from "lit";
|
|
11
11
|
import { CommandId, CommandRegistry } from "@clinth/ui-commands";
|
package/dist/detail-list.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { B as ListNativeDragStartEvent, F as ListDragPreviewContext, I as ListDragPreviewRenderer, N as ListDragEntry, P as ListDragPreview, R as ListDragSource, z as ListNativeDragStartDetail } from "./tree-component-CDsYTBDi.js";
|
|
2
2
|
import { n as ListViewportChangeEvent, t as ListViewportChangeDetail } from "./list-viewport-types-BRZsLcvp.js";
|
|
3
3
|
import { i as ListGroupChangeEvent, l as ListGroupToggleDetail, n as ListGroupBy, o as ListGroupInfo, r as ListGroupChangeDetail, s as ListGroupLabel, u as ListGroupToggleEvent } from "./grouping-CUKgmkMm.js";
|
|
4
|
-
import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-
|
|
5
|
-
import { a as DetailSortComparator, i as DetailGroupBy, n as DetailListElementEventMap, o as DetailSortItem, r as DetailFormatter, s as DetailSortMode, t as DetailListElement } from "./detail-list-
|
|
4
|
+
import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-BYyb2n4x.js";
|
|
5
|
+
import { a as DetailSortComparator, i as DetailGroupBy, n as DetailListElementEventMap, o as DetailSortItem, r as DetailFormatter, s as DetailSortMode, t as DetailListElement } from "./detail-list-DXMnTrYm.js";
|
|
6
6
|
export { type AddItemOptions, type CustomCheckboxOptions, type DetailFormatter, type DetailGroupBy, DetailListElement, DetailListElementEventMap, type DetailSortComparator, type DetailSortItem, type DetailSortMode, type ListDragEntry, type ListDragPreview, type ListDragPreviewContext, type ListDragPreviewRenderer, type ListDragSource, type ListGroupBy, type ListGroupChangeDetail, type ListGroupChangeEvent, type ListGroupInfo, type ListGroupLabel, type ListGroupToggleDetail, type ListGroupToggleEvent, type ListNativeDragStartDetail, type ListNativeDragStartEvent, type ListViewportChangeDetail, type ListViewportChangeEvent };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import "./icon-
|
|
1
|
+
import "./icon-DR_3rSyZ.js";
|
|
2
2
|
import { j as TreeDataModel } from "./tree-component-CDsYTBDi.js";
|
|
3
3
|
import { o as TreeNode, r as TreeFilterPredicate, t as LoadChildrenCallback } from "./types-Jky6oNAp.js";
|
|
4
4
|
import "./crumbs.js";
|
|
5
5
|
import { i as ListInteractionMode, l as ListSelectionMode } from "./list-selection-types-PjKdhF-a.js";
|
|
6
|
-
import { r as VerticalListElement } from "./vertical-list-
|
|
6
|
+
import { r as VerticalListElement } from "./vertical-list-BYyb2n4x.js";
|
|
7
7
|
import { LitElement, PropertyValues } from "lit";
|
|
8
8
|
//#region src/flat-list/types.d.ts
|
|
9
9
|
/** How branches and leaves are ordered within one level. */
|
package/dist/flat-list.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { _ as FlatListSelectEvent, a as FlatListContextMenuDetail, c as FlatListDropEvent, d as FlatListEditCommitDetail, f as FlatListEditCommitEvent, g as FlatListSelectDetail, h as FlatListNavigateEvent, i as FlatListBranchOrder, l as FlatListEditCancelDetail, m as FlatListNavigateDetail, n as FlatListActivateDetail, o as FlatListContextMenuEvent, p as FlatListElementEventMap, r as FlatListActivateEvent, s as FlatListDropDetail, t as FlatListElement, u as FlatListEditCancelEvent } from "./flat-list-
|
|
1
|
+
import { _ as FlatListSelectEvent, a as FlatListContextMenuDetail, c as FlatListDropEvent, d as FlatListEditCommitDetail, f as FlatListEditCommitEvent, g as FlatListSelectDetail, h as FlatListNavigateEvent, i as FlatListBranchOrder, l as FlatListEditCancelDetail, m as FlatListNavigateDetail, n as FlatListActivateDetail, o as FlatListContextMenuEvent, p as FlatListElementEventMap, r as FlatListActivateEvent, s as FlatListDropDetail, t as FlatListElement, u as FlatListEditCancelEvent } from "./flat-list-JfozgW7d.js";
|
|
2
2
|
export { type FlatListActivateDetail, type FlatListActivateEvent, type FlatListBranchOrder, type FlatListContextMenuDetail, type FlatListContextMenuEvent, type FlatListDropDetail, type FlatListDropEvent, type FlatListEditCancelDetail, type FlatListEditCancelEvent, type FlatListEditCommitDetail, type FlatListEditCommitEvent, FlatListElement, type FlatListElementEventMap, type FlatListNavigateDetail, type FlatListNavigateEvent, type FlatListSelectDetail, type FlatListSelectEvent };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
//#region src/form/form-values.d.ts
|
|
3
|
+
type CollectFormValuesOptions = {
|
|
4
|
+
/** Return numbers (or `null` when empty) for `number` and `range` inputs, instead of strings. */
|
|
5
|
+
typed?: boolean;
|
|
6
|
+
};
|
|
7
|
+
//#endregion
|
|
8
|
+
//#region src/form/form.d.ts
|
|
9
|
+
/**
|
|
10
|
+
* Wraps its content in a native `<form>`, so submit, Enter-to-submit,
|
|
11
|
+
* validation, `FormData` and `form.elements` behave as they do for any form.
|
|
12
|
+
* Submitting never navigates: listen for the standard `submit` event.
|
|
13
|
+
*/
|
|
14
|
+
declare class FormElement extends LitElement {
|
|
15
|
+
/** Label justification in the wide layout. Groups can override. */
|
|
16
|
+
labelAlign: `left` | `right`;
|
|
17
|
+
/** Skip validation when submitting (like `<form novalidate>`). `reportValidity()` still validates. */
|
|
18
|
+
noValidate: boolean;
|
|
19
|
+
private _form?;
|
|
20
|
+
private _observer?;
|
|
21
|
+
protected createRenderRoot(): this;
|
|
22
|
+
/** The native form element that holds the content. */
|
|
23
|
+
get form(): HTMLFormElement;
|
|
24
|
+
/** Native controls in the form. Components with their own shadow root are not included. */
|
|
25
|
+
get elements(): HTMLFormControlsCollection;
|
|
26
|
+
connectedCallback(): void;
|
|
27
|
+
disconnectedCallback(): void;
|
|
28
|
+
protected updated(): void;
|
|
29
|
+
/** Moves everything into the native form. Nodes (not just elements) move so Lit's markers stay with their content. */
|
|
30
|
+
private _adoptChildren;
|
|
31
|
+
/**
|
|
32
|
+
* Browsers only submit on Enter when the form has a native submit button
|
|
33
|
+
* or a single text field. Cover the other cases (e.g. an `ixfx-button`).
|
|
34
|
+
*/
|
|
35
|
+
private readonly _onKeydown;
|
|
36
|
+
/** Validates (unless `novalidate`), then fires `submit`. */
|
|
37
|
+
requestSubmit(): void;
|
|
38
|
+
/** Resets native controls. Components with their own shadow root are not reset. */
|
|
39
|
+
reset(): void;
|
|
40
|
+
/** True if all native controls are valid. Shows nothing. */
|
|
41
|
+
checkValidity(): boolean;
|
|
42
|
+
/** True if all native controls are valid. Otherwise shows the browser's message on the first invalid one. */
|
|
43
|
+
reportValidity(): boolean;
|
|
44
|
+
/** Values of all named controls, including components with their own shadow root. Numbers are strings unless `typed`. */
|
|
45
|
+
getValues(options?: CollectFormValuesOptions): Record<string, unknown>;
|
|
46
|
+
setValues(data: Record<string, unknown>): void;
|
|
47
|
+
}
|
|
48
|
+
declare global {
|
|
49
|
+
interface HTMLElementTagNameMap {
|
|
50
|
+
'ixfx-form': FormElement;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { FormElement as t };
|