@ixfx/components 0.4.3 → 0.5.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 +518 -1176
- package/bundle/index.d.ts.map +1 -1
- package/bundle/index.js +4861 -17274
- package/bundle/index.js.map +1 -1
- package/bundle/style.css +1 -1
- package/dist/ac-text.d.ts +12 -7
- package/dist/ac-text.d.ts.map +1 -1
- package/dist/ac-text.js +2 -3
- package/dist/ac-text.js.map +1 -1
- package/dist/{button-C3fLMKUv.js → button-DxYee1ZH.js} +2 -2
- package/dist/{button-C3fLMKUv.js.map → button-DxYee1ZH.js.map} +1 -1
- package/dist/button.d.ts +1 -2
- package/dist/button.d.ts.map +1 -1
- package/dist/button.js +1 -2
- package/dist/checkbox.d.ts +0 -1
- package/dist/checkbox.d.ts.map +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/checkbox.js.map +1 -1
- package/dist/{colour-picker-0sgAha1T.js → colour-picker-C3Ag4uh-.js} +15 -17
- package/dist/colour-picker-C3Ag4uh-.js.map +1 -0
- package/dist/colour-picker.d.ts +1 -1
- package/dist/colour-picker.js +1 -1
- package/dist/crumbs.d.ts +5 -2
- package/dist/crumbs.d.ts.map +1 -1
- package/dist/crumbs.js +45 -20
- package/dist/crumbs.js.map +1 -1
- package/dist/data-display.d.ts +1 -2
- package/dist/data-display.d.ts.map +1 -1
- package/dist/data-display.js +25 -23
- package/dist/data-display.js.map +1 -1
- package/dist/{data-provider-DgI909FP.js → data-provider-35TyWclX.js} +2 -2
- package/dist/data-provider-35TyWclX.js.map +1 -0
- package/dist/{decorate-DdjvVHS-.js → decorate-VRK8rslU.js} +2 -2
- package/dist/{decorate-DdjvVHS-.js.map → decorate-VRK8rslU.js.map} +1 -1
- package/dist/{defaults-C3b9OWJD.js → defaults-DcE8RQJc.js} +19 -1
- package/dist/defaults-DcE8RQJc.js.map +1 -0
- package/dist/editable-label.d.ts +1 -2
- package/dist/editable-label.d.ts.map +1 -1
- package/dist/editable-label.js +1 -1
- package/dist/editable-label.js.map +1 -1
- package/dist/{hex-editor-WZrjRtvL.js → hex-editor-Bk6rxhfg.js} +9 -11
- package/dist/hex-editor-Bk6rxhfg.js.map +1 -0
- package/dist/{hex-editor-CMIxtNgT.d.ts → hex-editor-Caq8vNQk.d.ts} +2 -3
- package/dist/hex-editor-Caq8vNQk.d.ts.map +1 -0
- package/dist/hex.d.ts +1 -1
- package/dist/hex.js +1 -1
- package/dist/highlight-B-eQrhhb.js.map +1 -1
- package/dist/{icon-Ndo40kNO.js → icon-B22XVlCt.js} +6 -4
- package/dist/{icon-Ndo40kNO.js.map → icon-B22XVlCt.js.map} +1 -1
- package/dist/{icon-Bd5BiU4b.d.ts → icon-DpA9x2Ve.d.ts} +2 -3
- package/dist/icon-DpA9x2Ve.d.ts.map +1 -0
- package/dist/icons.d.ts +2 -2
- package/dist/icons.js +2 -2
- package/dist/{incr-search-CeERfijK.js → incr-search-2pz21xtR.js} +9 -6
- package/dist/incr-search-2pz21xtR.js.map +1 -0
- package/dist/incr-search.d.ts +1 -1
- package/dist/incr-search.js +1 -1
- package/dist/{index-CowKi2mo.d.ts → index-BeuCXtiO.d.ts} +3 -4
- package/dist/index-BeuCXtiO.d.ts.map +1 -0
- package/dist/{index-D87kRcEs.d.ts → index-BtGFYfaK.d.ts} +2 -1
- package/dist/index-BtGFYfaK.d.ts.map +1 -0
- package/dist/{index-s_IhSnwc.d.ts → index-CoqtMSd9.d.ts} +6 -4
- package/dist/index-CoqtMSd9.d.ts.map +1 -0
- package/dist/{index-9fGVAg1d.d.ts → index-Cxwxtj6g.d.ts} +3 -3
- package/dist/index-Cxwxtj6g.d.ts.map +1 -0
- package/dist/index-D_ftz_IT.d.ts +184 -0
- package/dist/index-D_ftz_IT.d.ts.map +1 -0
- package/dist/{index-_RTQSKHi.d.ts → index-DfEkTGvT.d.ts} +11 -11
- package/dist/index-DfEkTGvT.d.ts.map +1 -0
- package/dist/index.d.ts +167 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +712 -2970
- package/dist/index.js.map +1 -1
- package/dist/keyboard-B5xD7Fz-.js +36 -0
- package/dist/keyboard-B5xD7Fz-.js.map +1 -0
- package/dist/{labelled-input-base-ORb1rGq6.d.ts → labelled-input-base-DiTme1JO.d.ts} +1 -2
- package/dist/labelled-input-base-DiTme1JO.d.ts.map +1 -0
- package/dist/{labelled-input-base-9K_w3oLj.js → labelled-input-base-hoKGwyKT.js} +2 -2
- package/dist/{labelled-input-base-9K_w3oLj.js.map → labelled-input-base-hoKGwyKT.js.map} +1 -1
- package/dist/labelled-radial-input.d.ts +5 -4
- package/dist/labelled-radial-input.d.ts.map +1 -1
- package/dist/labelled-radial-input.js +7 -3
- package/dist/labelled-radial-input.js.map +1 -1
- package/dist/labelled-range-input.d.ts +1 -1
- package/dist/labelled-range-input.js +27 -3
- package/dist/labelled-range-input.js.map +1 -1
- package/dist/led.d.ts +1 -2
- package/dist/led.d.ts.map +1 -1
- package/dist/led.js +1 -1
- package/dist/led.js.map +1 -1
- package/dist/{menu-vjoiHZ13.js → menu-g6yd7ddN.js} +8 -9
- package/dist/menu-g6yd7ddN.js.map +1 -0
- package/dist/{menu-item-COx-Azgj.d.ts → menu-item-DSyf9f_L.d.ts} +4 -4
- package/dist/menu-item-DSyf9f_L.d.ts.map +1 -0
- package/dist/{menu-item-BrIuORYD.js → menu-item-NUKwJ4s5.js} +3 -4
- package/dist/{menu-item-BrIuORYD.js.map → menu-item-NUKwJ4s5.js.map} +1 -1
- package/dist/menu.d.ts +2 -2
- package/dist/menu.js +2 -2
- package/dist/miller.d.ts +8 -5
- package/dist/miller.d.ts.map +1 -1
- package/dist/miller.js +22 -24
- package/dist/miller.js.map +1 -1
- package/dist/narrowed-text.d.ts +7 -3
- package/dist/narrowed-text.d.ts.map +1 -1
- package/dist/narrowed-text.js +73 -47
- package/dist/narrowed-text.js.map +1 -1
- package/dist/panel.d.ts +1 -1
- package/dist/panel.d.ts.map +1 -1
- package/dist/panel.js +2 -2
- package/dist/panel.js.map +1 -1
- package/dist/plots.d.ts +2 -2
- package/dist/plots.js +1 -1
- package/dist/polar-pad.d.ts +15 -3
- package/dist/polar-pad.d.ts.map +1 -1
- package/dist/polar-pad.js +64 -11
- package/dist/polar-pad.js.map +1 -1
- package/dist/{radial-input-CpQPs1Mp.d.ts → radial-input-BhZeyyP-.d.ts} +6 -4
- package/dist/radial-input-BhZeyyP-.d.ts.map +1 -0
- package/dist/{radial-input-DZ7eQCcM.js → radial-input-DxCrt_NE.js} +41 -19
- package/dist/radial-input-DxCrt_NE.js.map +1 -0
- package/dist/radial-input.d.ts +1 -1
- package/dist/radial-input.js +1 -1
- package/dist/range-input.d.ts +15 -4
- package/dist/range-input.d.ts.map +1 -1
- package/dist/range-input.js +23 -2
- package/dist/range-input.js.map +1 -1
- package/dist/range.d.ts +15 -4
- package/dist/range.d.ts.map +1 -1
- package/dist/range.js +23 -2
- package/dist/range.js.map +1 -1
- package/dist/selecthorizontal.d.ts +1 -2
- package/dist/selecthorizontal.d.ts.map +1 -1
- package/dist/selecthorizontal.js +1 -1
- package/dist/selecthorizontal.js.map +1 -1
- package/dist/slider-input-DFpG23bS.js +1592 -0
- package/dist/slider-input-DFpG23bS.js.map +1 -0
- package/dist/slider-input-TidGhvXt.d.ts +160 -0
- package/dist/slider-input-TidGhvXt.d.ts.map +1 -0
- package/dist/slider-input.d.ts +2 -0
- package/dist/slider-input.js +2 -0
- package/dist/snap-container.d.ts +1 -2
- package/dist/snap-container.d.ts.map +1 -1
- package/dist/snap-container.js +6 -5
- package/dist/snap-container.js.map +1 -1
- package/dist/split-layout.d.ts +1 -2
- package/dist/split-layout.d.ts.map +1 -1
- package/dist/split-layout.js +6 -4
- package/dist/split-layout.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/swipe.d.ts +12 -2
- package/dist/swipe.d.ts.map +1 -1
- package/dist/swipe.js +22 -3
- package/dist/swipe.js.map +1 -1
- package/dist/{tab-list-DLzb-m-I.d.ts → tab-list-BohmbvqF.d.ts} +14 -5
- package/dist/tab-list-BohmbvqF.d.ts.map +1 -0
- package/dist/tab-list-DhkVhRQc.js +597 -0
- package/dist/tab-list-DhkVhRQc.js.map +1 -0
- package/dist/tabs.d.ts +2 -2
- package/dist/tabs.js +1 -208
- package/dist/{tickled-controller-BjYCzGrU.d.ts → tickled-controller-BF2Ea0DE.d.ts} +2 -31
- package/dist/tickled-controller-BF2Ea0DE.d.ts.map +1 -0
- package/dist/tickled-styles-fNDdqf6l.js.map +1 -1
- package/dist/{timeline-2OFtN4Ta.js → timeline-B2fgDL4U.js} +37 -1438
- package/dist/timeline-B2fgDL4U.js.map +1 -0
- package/dist/timeline.d.ts +1 -1
- package/dist/timeline.js +1 -1
- package/dist/{tooltip-RGVIwHrZ.d.ts → tooltip-BlvBUQxx.d.ts} +3 -3
- package/dist/tooltip-BlvBUQxx.d.ts.map +1 -0
- package/dist/{tree-D84RUgFC.js → tree-BnvzhsAw.js} +8 -9
- package/dist/tree-BnvzhsAw.js.map +1 -0
- package/dist/{tree-component-BaCSPWg1.d.ts → tree-component-DCmmKZ4j.d.ts} +8 -124
- package/dist/tree-component-DCmmKZ4j.d.ts.map +1 -0
- package/dist/tree.d.ts +10 -4
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +1 -1
- package/dist/types-DO3gt5vg.d.ts +130 -0
- package/dist/types-DO3gt5vg.d.ts.map +1 -0
- package/dist/wheel-nudge-BlSCe_hD.js +86 -0
- package/dist/wheel-nudge-BlSCe_hD.js.map +1 -0
- package/dist/wheel-nudge-DgMTRYlh.d.ts +29 -0
- package/dist/wheel-nudge-DgMTRYlh.d.ts.map +1 -0
- package/dist/{xy-axis-BeWRMmbo.d.ts → xy-axis-5KhVTNoX.d.ts} +30 -7
- package/dist/xy-axis-5KhVTNoX.d.ts.map +1 -0
- package/dist/xy-axis-CxHC8z5E.js +1849 -0
- package/dist/xy-axis-CxHC8z5E.js.map +1 -0
- package/dist/xy-pad.d.ts +13 -2
- package/dist/xy-pad.d.ts.map +1 -1
- package/dist/xy-pad.js +47 -6
- package/dist/xy-pad.js.map +1 -1
- package/docs-user/README.md +2 -0
- package/docs-user/button.md +48 -0
- package/docs-user/narrowed-text.md +33 -1
- package/docs-user/notifier.md +131 -0
- package/docs-user/plots.md +61 -1
- package/docs-user/radial-input.md +2 -2
- package/docs-user/slider-input.md +673 -0
- package/docs-user/tabs.md +12 -14
- package/docs-user/user-catalog.md +69 -4
- package/docs-user/vertical-list.md +75 -7
- package/package.json +23 -20
- package/dist/colour-C3MQIjFJ-vRCdr8W-.js +0 -3732
- package/dist/colour-C3MQIjFJ-vRCdr8W-.js.map +0 -1
- package/dist/colour-picker-0sgAha1T.js.map +0 -1
- package/dist/data-provider-DgI909FP.js.map +0 -1
- package/dist/defaults-C3b9OWJD.js.map +0 -1
- package/dist/dist-CA13FvMn.js +0 -980
- package/dist/dist-CA13FvMn.js.map +0 -1
- package/dist/hex-editor-CMIxtNgT.d.ts.map +0 -1
- package/dist/hex-editor-WZrjRtvL.js.map +0 -1
- package/dist/icon-Bd5BiU4b.d.ts.map +0 -1
- package/dist/incr-search-CeERfijK.js.map +0 -1
- package/dist/index-9fGVAg1d.d.ts.map +0 -1
- package/dist/index-CowKi2mo.d.ts.map +0 -1
- package/dist/index-D87kRcEs.d.ts.map +0 -1
- package/dist/index-DgXpCg_G.d.ts +0 -1244
- package/dist/index-DgXpCg_G.d.ts.map +0 -1
- package/dist/index-_RTQSKHi.d.ts.map +0 -1
- package/dist/index-s_IhSnwc.d.ts.map +0 -1
- package/dist/keyboard-CimiEskD.js +0 -20
- package/dist/keyboard-CimiEskD.js.map +0 -1
- package/dist/labelled-input-base-ORb1rGq6.d.ts.map +0 -1
- package/dist/menu-item-COx-Azgj.d.ts.map +0 -1
- package/dist/menu-vjoiHZ13.js.map +0 -1
- package/dist/radial-input-CpQPs1Mp.d.ts.map +0 -1
- package/dist/radial-input-DZ7eQCcM.js.map +0 -1
- package/dist/tab-list-DLzb-m-I.d.ts.map +0 -1
- package/dist/tabs.js.map +0 -1
- package/dist/tickled-controller-BjYCzGrU.d.ts.map +0 -1
- package/dist/timeline-2OFtN4Ta.js.map +0 -1
- package/dist/tooltip-RGVIwHrZ.d.ts.map +0 -1
- package/dist/tree-D84RUgFC.js.map +0 -1
- package/dist/tree-component-BaCSPWg1.d.ts.map +0 -1
- package/dist/types-DSfbtHs3.d.ts +0 -8
- package/dist/types-DSfbtHs3.d.ts.map +0 -1
- package/dist/xy-axis-BeWRMmbo.d.ts.map +0 -1
- package/dist/xy-axis-no0OL_O1.js +0 -7893
- package/dist/xy-axis-no0OL_O1.js.map +0 -1
- /package/bundle/{chunk-D7D4PA-g.js → rolldown-runtime-D7D4PA-g.js} +0 -0
- /package/dist/{chunk-D7D4PA-g.js → rolldown-runtime-D7D4PA-g.js} +0 -0
|
@@ -10,8 +10,9 @@ function defaultSelector(item) {
|
|
|
10
10
|
return String(item);
|
|
11
11
|
}
|
|
12
12
|
function createFuzzySearch(items, options = {}) {
|
|
13
|
+
const selector = options.selector ?? defaultSelector;
|
|
13
14
|
const fzf = new Fzf(items, {
|
|
14
|
-
selector
|
|
15
|
+
selector,
|
|
15
16
|
...options.fzf ?? {}
|
|
16
17
|
});
|
|
17
18
|
const find = (query) => {
|
|
@@ -223,10 +224,11 @@ var IncrSearchTreeController = class {
|
|
|
223
224
|
return;
|
|
224
225
|
}
|
|
225
226
|
const labelSelector = this.#opts.labelSelector ?? `.tree-label`;
|
|
226
|
-
|
|
227
|
+
const targets = buildHighlightTargets(this.#el.shadowRoot, labelSelector, state.positionsByItem, (labelEl) => {
|
|
227
228
|
const text = labelEl.textContent ?? ``;
|
|
228
229
|
return this.#labelMap.get(text);
|
|
229
|
-
}, (labelEl) => labelEl.textContent ?? ``)
|
|
230
|
+
}, (labelEl) => labelEl.textContent ?? ``);
|
|
231
|
+
applyHighlights(targets, { key });
|
|
230
232
|
}
|
|
231
233
|
};
|
|
232
234
|
//#endregion
|
|
@@ -252,10 +254,11 @@ function createElementIncrSearch(opts) {
|
|
|
252
254
|
clearHighlights({ key: highlightKey });
|
|
253
255
|
return;
|
|
254
256
|
}
|
|
255
|
-
|
|
257
|
+
const targets = buildHighlightTargets(container, labelSelector ?? itemSelector, state.positionsByItem, (el) => {
|
|
256
258
|
const key = getKey(el);
|
|
257
259
|
return state.results.find((r) => r.item.key === key)?.item;
|
|
258
|
-
}, (el) => getLabel(el))
|
|
260
|
+
}, (el) => getLabel(el));
|
|
261
|
+
applyHighlights(targets, { key: highlightKey });
|
|
259
262
|
};
|
|
260
263
|
const unsubscribeState = search.onChange((state) => {
|
|
261
264
|
updateVisibility(state);
|
|
@@ -310,4 +313,4 @@ function createElementIncrSearch(opts) {
|
|
|
310
313
|
//#endregion
|
|
311
314
|
export { createFuzzySearch as a, createAcCompletionProvider as i, IncrSearchTreeController as n, createIncrSearch as r, createElementIncrSearch as t };
|
|
312
315
|
|
|
313
|
-
//# sourceMappingURL=incr-search-
|
|
316
|
+
//# sourceMappingURL=incr-search-2pz21xtR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incr-search-2pz21xtR.js","names":["FzfAny","#el","#opts","#search","#labelMap","#onInput","#onKeydown","#unsub","#onStateChange"],"sources":["../src/incr-search/fuzzy.ts","../src/incr-search/ac-adapter.ts","../src/incr-search/incr-search.ts","../src/incr-search/controller-tree.ts","../src/incr-search/element-search.ts"],"sourcesContent":["import type { FuzzySearch, FuzzySearchOptions, IncrSearchResult } from './types.js';\nimport { Fzf } from 'fzf';\n\nfunction defaultSelector<T>(item: T): string {\n if (typeof item === `string`)\n return item;\n const r = item as Record<string, unknown>;\n if (typeof r.label === `string`)\n return r.label;\n if (typeof r.key === `string`)\n return r.key;\n if (typeof r.value === `string`)\n return r.value;\n return String(item);\n}\n\nexport function createFuzzySearch<T>(\n items: readonly T[],\n options: FuzzySearchOptions<T> = {},\n): FuzzySearch<T> {\n const selector = options.selector ?? defaultSelector<T>;\n // fzf uses a conditional SyncOptionsTuple<T> rest-parameter overload that TypeScript\n // cannot narrow through a spread when T is generic.\n const FzfAny = Fzf as new (list: readonly T[], opts: any) => { find: (q: string) => Array<{ item: T; positions: ReadonlySet<number>; score: number }> };\n const fzf = new FzfAny(items as readonly T[], { selector, ...(options.fzf ?? {}) });\n\n const find = (query: string): ReadonlyArray<IncrSearchResult<T>> => {\n if (!query.trim()) {\n return items.map(item => ({\n item,\n positions: new Set<number>(),\n score: 0,\n }));\n }\n return fzf.find(query).map(r => ({\n item: r.item,\n positions: r.positions,\n score: r.score,\n }));\n };\n\n return { find, items };\n}\n","import type { FuzzySearchOptions } from './types.js';\nimport { createFuzzySearch } from './fuzzy.js';\n\n/**\n * Creates an ixfx-ac-text-compatible `completionProvider` function from a\n * static item list. Uses synchronous fuzzy search wrapped in a Promise so it\n * fits the async provider signature.\n *\n * Each returned item has `positions` populated with matched character indices,\n * which `ixfx-ac-text` uses to render CSS Custom Highlights on the label.\n *\n * Empty query returns all items in original order (no positions).\n * A cancelled signal causes the returned promise to reject with an AbortError.\n */\nexport function createAcCompletionProvider<T extends { label: string }>(\n items: readonly T[],\n options: Pick<FuzzySearchOptions<T>, `selector`> = {},\n): (query: string, signal: AbortSignal) => Promise<Array<T & { positions: ReadonlySet<number> }>> {\n const selector = options.selector ?? ((item: T) => item.label);\n const fuzzy = createFuzzySearch(items, { selector });\n\n return (\n query: string,\n signal: AbortSignal,\n ): Promise<Array<T & { positions: ReadonlySet<number> }>> =>\n new Promise((resolve, reject) => {\n if (signal.aborted) {\n reject(new DOMException(`Aborted`, `AbortError`));\n return;\n }\n\n const results = fuzzy.find(query).map(r => ({ ...r.item, positions: r.positions }));\n\n if (signal.aborted) {\n reject(new DOMException(`Aborted`, `AbortError`));\n return;\n }\n\n resolve(results);\n });\n}\n","import type {\n IncrSearch,\n IncrSearchChangeCallback,\n IncrSearchOptions,\n IncrSearchState,\n} from './types.js';\nimport { createFuzzySearch } from './fuzzy.js';\n\nfunction buildState<T>(results: ReturnType<ReturnType<typeof createFuzzySearch<T>>[`find`]>, query: string): IncrSearchState<T> {\n const positionsByItem = new Map<T, ReadonlySet<number>>();\n for (const r of results) {\n positionsByItem.set(r.item, r.positions);\n }\n return Object.freeze({\n query,\n results: Object.freeze([...results]),\n positionsByItem,\n });\n}\n\nexport function createIncrSearch<T>(options: IncrSearchOptions<T> = {}): IncrSearch<T> {\n let items: readonly T[] = options.items ?? [];\n let query = ``;\n let fuzzy = createFuzzySearch(items, { selector: options.selector, fzf: options.fzf });\n let state: IncrSearchState<T> = buildState(fuzzy.find(query), query);\n let disposed = false;\n\n const observers = new Set<IncrSearchChangeCallback<T>>();\n\n if (options.onChange) {\n observers.add(options.onChange);\n }\n\n const notify = (s: IncrSearchState<T>): void => {\n for (const cb of observers) {\n cb(s);\n }\n };\n\n const run = async (q: string, signal?: AbortSignal): Promise<IncrSearchState<T>> => {\n // Yield to the microtask queue for a consistent async interface\n await Promise.resolve();\n if (signal?.aborted || disposed) {\n return state;\n }\n const results = fuzzy.find(q);\n if (signal?.aborted || disposed) {\n return state;\n }\n state = buildState(results, q);\n notify(state);\n return state;\n };\n\n return {\n get state() {\n return state;\n },\n\n async setItems(newItems: readonly T[], signal?: AbortSignal): Promise<void> {\n items = newItems;\n fuzzy = createFuzzySearch(items, { selector: options.selector, fzf: options.fzf });\n await run(query, signal);\n },\n\n async setQuery(q: string, signal?: AbortSignal): Promise<IncrSearchState<T>> {\n query = q;\n return run(q, signal);\n },\n\n async clearQuery(): Promise<void> {\n query = ``;\n await run(``, undefined);\n },\n\n onChange(cb: IncrSearchChangeCallback<T>): () => void {\n observers.add(cb);\n cb(state);\n return () => {\n observers.delete(cb);\n };\n },\n\n dispose(): void {\n disposed = true;\n observers.clear();\n items = [];\n },\n };\n}\n","import type { FzfOptions } from 'fzf';\nimport type { TreeSearchHost } from '../common/searchable.js';\nimport type { TreeNode } from '../common/types.js';\nimport type { IncrSearchState } from './types.js';\nimport { applyHighlights, buildHighlightTargets, clearHighlights } from './highlight.js';\nimport { createIncrSearch } from './incr-search.js';\n\nconst DEFAULT_HIGHLIGHT_KEY = `incr-search-highlight`;\n\nexport type IncrSearchTreeOptions = {\n selector: (item: { node: TreeNode; depth: number }) => string;\n /**\n * CSS selector for the label elements inside the shadow root.\n * Defaults to `.tree-label` (suitable for ixfx-tree-list).\n * Use `.label` for ixfx-miller-list.\n */\n labelSelector?: string;\n highlightKey?: string;\n input?: HTMLInputElement;\n fzf?: Partial<FzfOptions<{ node: TreeNode; depth: number }>>;\n};\n\ntype SearchItem = { node: TreeNode; depth: number };\n\n/**\n * Incremental-search controller for any component implementing `TreeSearchHost`\n * (i.e. `ixfx-tree-list`, `ixfx-miller-list`, `ixfx-crumb-navigation`).\n *\n * Replaces the previous separate `IncrSearchTreeController` / `IncrSearchMillerController`\n * classes — the unified `TreeFilterPredicate` (with depth) means one implementation works\n * for all tree-like components.\n *\n * @example Using with ixfx-tree-list:\n * ```typescript\n * const ctrl = new IncrSearchTreeController(myTreeList, {\n * selector: item => item.node.item.label,\n * });\n * ctrl.connect();\n * ```\n *\n * @example Using with ixfx-miller-list (different label selector):\n * ```typescript\n * const ctrl = new IncrSearchTreeController(myMillerList, {\n * selector: item => item.node.item.label,\n * labelSelector: '.label',\n * });\n * ctrl.connect();\n * ```\n */\nexport class IncrSearchTreeController {\n #el: TreeSearchHost;\n #opts: IncrSearchTreeOptions;\n #search: ReturnType<typeof createIncrSearch<SearchItem>>;\n #unsub: (() => void) | undefined;\n #labelMap = new Map<string, SearchItem>();\n\n constructor(el: TreeSearchHost, opts: IncrSearchTreeOptions) {\n this.#el = el;\n this.#opts = opts;\n this.#search = createIncrSearch<SearchItem>({\n selector: opts.selector,\n fzf: opts.fzf,\n });\n }\n\n connect(): void {\n this.disconnect();\n\n const items = this.#el.getNodes();\n for (const item of items) {\n this.#labelMap.set(this.#opts.selector(item), item);\n }\n void this.#search.setItems(items);\n\n if (this.#opts.input) {\n this.#opts.input.addEventListener(`input`, this.#onInput);\n this.#opts.input.addEventListener(`keydown`, this.#onKeydown);\n }\n\n this.#unsub = this.#search.onChange(state => this.#onStateChange(state));\n }\n\n disconnect(): void {\n if (this.#unsub) {\n this.#unsub();\n this.#unsub = undefined;\n }\n if (this.#opts.input) {\n this.#opts.input.removeEventListener(`input`, this.#onInput);\n this.#opts.input.removeEventListener(`keydown`, this.#onKeydown);\n }\n this.#el.filterPredicate = undefined;\n clearHighlights({ key: this.#opts.highlightKey ?? DEFAULT_HIGHLIGHT_KEY });\n this.#labelMap.clear();\n }\n\n async setQuery(query: string): Promise<void> {\n await this.#search.setQuery(query);\n }\n\n async clearQuery(): Promise<void> {\n await this.#search.clearQuery();\n }\n\n #onInput = () => {\n const value = this.#opts.input?.value ?? ``;\n void this.setQuery(value);\n };\n\n #onKeydown = (e: KeyboardEvent) => {\n if (e.key === `Escape` && this.#opts.input) {\n this.#opts.input.value = ``;\n void this.clearQuery();\n }\n };\n\n #onStateChange(state: IncrSearchState<SearchItem>): void {\n const matched = new Set(state.results.map(r => r.item.node.item.key));\n const hasQuery = state.query.trim().length > 0;\n this.#el.filterPredicate = hasQuery && matched.size > 0\n ? (node: TreeNode, _depth: number) => matched.has(node.item.key)\n : undefined;\n\n const key = this.#opts.highlightKey ?? DEFAULT_HIGHLIGHT_KEY;\n if (!this.#el.shadowRoot)\n return;\n\n if (!state.query.trim()) {\n clearHighlights({ key });\n return;\n }\n\n const labelSelector = this.#opts.labelSelector ?? `.tree-label`;\n const targets = buildHighlightTargets(\n this.#el.shadowRoot,\n labelSelector,\n state.positionsByItem,\n (labelEl) => {\n const text = labelEl.textContent ?? ``;\n return this.#labelMap.get(text);\n },\n labelEl => labelEl.textContent ?? ``,\n );\n applyHighlights(targets, { key });\n }\n}\n","import type {\n ElementIncrSearchOptions,\n IncrSearchChangeCallback,\n IncrSearchState,\n} from './types.js';\nimport { applyHighlights, buildHighlightTargets, clearHighlights } from './highlight.js';\nimport { createIncrSearch } from './incr-search.js';\n\ntype ElementItem = { readonly key: string; readonly label: string };\n\nconst defaultGetLabel = (el: Element): string => el.textContent?.trim() ?? ``;\n\nfunction defaultGetKey(el: Element): string {\n return el.getAttribute(`data-key`)\n ?? el.getAttribute(`data-value`)\n ?? el.textContent?.trim()\n ?? ``;\n}\n\nexport type ElementIncrSearch = {\n readonly setQuery: (query: string, signal?: AbortSignal) => Promise<void>;\n readonly clearQuery: () => Promise<void>;\n readonly refresh: () => void;\n readonly onChange: (cb: IncrSearchChangeCallback<ElementItem>) => () => void;\n readonly dispose: () => void;\n};\n\nexport function createElementIncrSearch(opts: ElementIncrSearchOptions): ElementIncrSearch {\n const {\n container,\n itemSelector,\n getLabel = defaultGetLabel,\n getKey = defaultGetKey,\n labelSelector,\n highlightKey,\n } = opts;\n\n // Map from key → element reference for highlight lookup\n let elementByKey = new Map<string, Element>();\n\n const search = createIncrSearch<ElementItem>({\n selector: item => item.label,\n fzf: opts.fzf,\n });\n\n const updateVisibility = (state: IncrSearchState<ElementItem>): void => {\n const matchedKeys = new Set(state.results.map(r => r.item.key));\n const hasQuery = state.query.trim().length > 0;\n\n for (const [key, el] of elementByKey) {\n (el as HTMLElement).hidden = hasQuery ? !matchedKeys.has(key) : false;\n }\n };\n\n const updateHighlights = (state: IncrSearchState<ElementItem>): void => {\n if (!state.query.trim()) {\n clearHighlights({ key: highlightKey });\n return;\n }\n\n const sel = labelSelector ?? itemSelector;\n const targets = buildHighlightTargets(\n container,\n sel,\n state.positionsByItem,\n (el) => {\n const key = getKey(el);\n // Find the ElementItem whose key matches this element's key\n const result = state.results.find(r => r.item.key === key);\n return result?.item;\n },\n el => getLabel(el),\n );\n applyHighlights(targets, { key: highlightKey });\n };\n\n const unsubscribeState = search.onChange((state) => {\n updateVisibility(state);\n updateHighlights(state);\n opts.onChange?.(state);\n });\n\n let refreshPending = false;\n\n const refresh = (): void => {\n if (refreshPending)\n return;\n refreshPending = true;\n void Promise.resolve().then(() => {\n refreshPending = false;\n elementByKey = new Map<string, Element>();\n const els = container.querySelectorAll(itemSelector);\n const items: ElementItem[] = [];\n for (const el of els) {\n const key = getKey(el);\n elementByKey.set(key, el);\n items.push({ key, label: getLabel(el) });\n }\n void search.setItems(items);\n });\n };\n\n const observer = new MutationObserver(() => refresh());\n observer.observe(container, { childList: true, subtree: false });\n\n refresh();\n\n return {\n async setQuery(query, signal) {\n await search.setQuery(query, signal);\n },\n\n async clearQuery() {\n await search.clearQuery();\n },\n\n refresh,\n\n onChange(cb) {\n return search.onChange(cb);\n },\n\n dispose() {\n observer.disconnect();\n unsubscribeState();\n search.dispose();\n clearHighlights({ key: highlightKey });\n },\n };\n}\n"],"mappings":"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"}
|
package/dist/incr-search.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { _ as IncrSearchChangeCallback, a as createFuzzySearch, b as IncrSearchState, c as IncrSearchTreeController, d as ElementIncrSearchOptions, f as FuzzySearch, g as IncrSearch, h as HighlightTarget, i as clearHighlights, l as IncrSearchTreeOptions, m as HighlightOptions, n as applyHighlights, o as ElementIncrSearch, p as FuzzySearchOptions, r as buildHighlightTargets, s as createElementIncrSearch, t as createIncrSearch, u as createAcCompletionProvider, v as IncrSearchOptions, y as IncrSearchResult } from "./index-
|
|
1
|
+
import { _ as IncrSearchChangeCallback, a as createFuzzySearch, b as IncrSearchState, c as IncrSearchTreeController, d as ElementIncrSearchOptions, f as FuzzySearch, g as IncrSearch, h as HighlightTarget, i as clearHighlights, l as IncrSearchTreeOptions, m as HighlightOptions, n as applyHighlights, o as ElementIncrSearch, p as FuzzySearchOptions, r as buildHighlightTargets, s as createElementIncrSearch, t as createIncrSearch, u as createAcCompletionProvider, v as IncrSearchOptions, y as IncrSearchResult } from "./index-Cxwxtj6g.js";
|
|
2
2
|
export { type ElementIncrSearch, type ElementIncrSearchOptions, type FuzzySearch, type FuzzySearchOptions, type HighlightOptions, type HighlightTarget, type IncrSearch, type IncrSearchChangeCallback, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, type IncrSearchTreeOptions as IncrSearchMillerOptions, type IncrSearchTreeOptions, type IncrSearchOptions, type IncrSearchResult, type IncrSearchState, applyHighlights, buildHighlightTargets, clearHighlights, createAcCompletionProvider, createElementIncrSearch, createFuzzySearch, createIncrSearch };
|
package/dist/incr-search.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { n as buildHighlightTargets, r as clearHighlights, t as applyHighlights } from "./highlight-B-eQrhhb.js";
|
|
2
|
-
import { a as createFuzzySearch, i as createAcCompletionProvider, n as IncrSearchTreeController, r as createIncrSearch, t as createElementIncrSearch } from "./incr-search-
|
|
2
|
+
import { a as createFuzzySearch, i as createAcCompletionProvider, n as IncrSearchTreeController, r as createIncrSearch, t as createElementIncrSearch } from "./incr-search-2pz21xtR.js";
|
|
3
3
|
export { IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, applyHighlights, buildHighlightTargets, clearHighlights, createAcCompletionProvider, createElementIncrSearch, createFuzzySearch, createIncrSearch };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LitElement, PropertyValues } from "lit";
|
|
2
|
-
|
|
2
|
+
import "@clinth/vcanvas";
|
|
3
3
|
//#region src/timeline/types.d.ts
|
|
4
4
|
type TimelineTrack = {
|
|
5
5
|
readonly key: string;
|
|
@@ -234,7 +234,7 @@ declare global {
|
|
|
234
234
|
interface HTMLElementTagNameMap {
|
|
235
235
|
'ixfx-timeline-track-tab': TimelineTrackTabElement;
|
|
236
236
|
}
|
|
237
|
-
}
|
|
237
|
+
}
|
|
238
238
|
//#endregion
|
|
239
239
|
//#region src/timeline/timeline-element.d.ts
|
|
240
240
|
type VCanvasElement$1 = HTMLElement & {
|
|
@@ -382,7 +382,6 @@ type VCanvasElement = HTMLElement & {
|
|
|
382
382
|
invalidateAll: () => void;
|
|
383
383
|
invalidateRegion: (x: number, y: number, w: number, h: number) => void;
|
|
384
384
|
};
|
|
385
|
-
/** Total pointer movement (px) before an axis drag activates */
|
|
386
385
|
/**
|
|
387
386
|
* Attaches pointer and keyboard interaction handlers to the timeline.
|
|
388
387
|
* Returns a cleanup function.
|
|
@@ -393,4 +392,4 @@ declare function attachTimelineInteractions(host: IxfxTimelineElement, vcanvasEl
|
|
|
393
392
|
declare const timelineStyles: import("lit").CSSResult;
|
|
394
393
|
//#endregion
|
|
395
394
|
export { TimelineTrackReorderEvent as A, TimelineEventResizeEvent as C, TimelineTickleChangeEvent as D, TimelineTickleChangeDetail as E, TrackHeightMode as F, TrackLayout as I, UserScale as L, TimelineTrackResizeEvent as M, TimelineTrackSelectDetail as N, TimelineTrack as O, TimelineTrackSelectEvent as P, ViewRange as R, TimelineEventResizeDetail as S, TimelineSelectionChangeEvent as T, TimelineDraggingEvent as _, CssVars as a, TimelineEventMoveDetail as b, resolveGrid as c, DragSnappingFn as d, DragTarget as f, TimelineDraggingDetail as g, TimelineDraggingCallbackDetail as h, TimelineTrackTabElement as i, TimelineTrackResizeDetail as j, TimelineTrackReorderDetail as k, TimelineController as l, GridResolution as m, attachTimelineInteractions as n, Rect as o, GridMode as p, IxfxTimelineElement as r, resolveCssVars as s, timelineStyles as t, TimelineControllerConfig as u, TimelineElementEventMap as v, TimelineSelectionChangeDetail as w, TimelineEventMoveEvent as x, TimelineEvent as y };
|
|
396
|
-
//# sourceMappingURL=index-
|
|
395
|
+
//# sourceMappingURL=index-BeuCXtiO.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BeuCXtiO.d.ts","names":[],"sources":["../src/timeline/types.ts","../src/timeline/timeline-controller.ts","../src/timeline/timeline-draw.ts","../src/timeline/timeline-track-tabs.ts","../src/timeline/timeline-element.ts","../src/timeline/timeline-interactions.ts","../src/timeline/timeline-styles.ts"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "./icon-DpA9x2Ve.js";
|
|
1
2
|
//#region src/icons/defaults.d.ts
|
|
2
3
|
/**
|
|
3
4
|
* Chevron pointing down. Used for split-button dropdown toggle.
|
|
@@ -33,4 +34,4 @@ declare function hasIcon(name: string): boolean;
|
|
|
33
34
|
declare function svgToDataUri(svg: string): string;
|
|
34
35
|
//#endregion
|
|
35
36
|
export { iconBus as a, ICON_CARET_RIGHT as c, ICON_CLOSE as d, hasIcon as i, ICON_CHECK as l, IconChangedEvent as n, registerIcon as o, getIcon as r, svgToDataUri as s, IconChangedDetail as t, ICON_CHEVRON_DOWN as u };
|
|
36
|
-
//# sourceMappingURL=index-
|
|
37
|
+
//# sourceMappingURL=index-BtGFYfaK.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BtGFYfaK.d.ts","names":[],"sources":["../src/icons/defaults.ts","../src/icons/registry.ts"],"mappings":";;;;;;cAMa;;;;;cAMA;;;;;cAMA;;;;;cAMA;;;cCtBA,SAAO;KAER;WAA+B;;KAC/B,mBAAmB,YAAY;iBAE3B,aAAa,cAAc;iBAK3B,QAAQ;iBAIR,QAAQ;;iBAKR,aAAa"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { t as LabelledInputBase } from "./labelled-input-base-
|
|
1
|
+
import { t as LabelledInputBase } from "./labelled-input-base-DiTme1JO.js";
|
|
2
2
|
import { CSSResultGroup } from "lit";
|
|
3
|
-
|
|
4
3
|
//#region src/labelled-range-input/labelled-range-input.d.ts
|
|
5
4
|
declare class LabelledRangeInput extends LabelledInputBase {
|
|
6
5
|
readonly inputSelector = "ixfx-range-input";
|
|
@@ -8,7 +7,10 @@ declare class LabelledRangeInput extends LabelledInputBase {
|
|
|
8
7
|
tooltip: boolean;
|
|
9
8
|
noTooltip: boolean;
|
|
10
9
|
tooltipOrientation: `top` | `right`;
|
|
10
|
+
/** Pass-through: enables wheel-on-hover for the inner slider and editable-number. */
|
|
11
|
+
lighttouch: boolean;
|
|
11
12
|
switchHeight: number;
|
|
13
|
+
protected _renderEditableNumber(): import("lit").TemplateResult<1>;
|
|
12
14
|
render(): import("lit").TemplateResult<1>;
|
|
13
15
|
static styles: CSSResultGroup;
|
|
14
16
|
}
|
|
@@ -16,7 +18,7 @@ declare global {
|
|
|
16
18
|
interface HTMLElementTagNameMap {
|
|
17
19
|
'ixfx-labelled-range-input': LabelledRangeInput;
|
|
18
20
|
}
|
|
19
|
-
}
|
|
21
|
+
}
|
|
20
22
|
//#endregion
|
|
21
23
|
export { LabelledRangeInput as t };
|
|
22
|
-
//# sourceMappingURL=index-
|
|
24
|
+
//# sourceMappingURL=index-CoqtMSd9.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-CoqtMSd9.d.ts","names":[],"sources":["../src/labelled-range-input/labelled-range-input.ts"],"mappings":";;;cAuEa,2BAA2B;WAC7B;EAEmB;EACC;EACyB;EACQ;;EAEjC;EAE2B;YAErC,uCAAqB;EA2B/B,wBAAM;SA2BR,QAAQ;;QA2ET;YACI;IACR,6BAA6B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { o as TreeNode } from "./types-DO3gt5vg.js";
|
|
2
|
+
import { d as TreeSearchHost } from "./tree-component-DCmmKZ4j.js";
|
|
2
3
|
import { FzfOptions } from "fzf";
|
|
3
|
-
|
|
4
4
|
//#region src/incr-search/types.d.ts
|
|
5
5
|
type IncrSearchResult<T> = {
|
|
6
6
|
readonly item: T;
|
|
@@ -157,4 +157,4 @@ declare function buildHighlightTargets<T>(root: ShadowRoot | Element, itemSelect
|
|
|
157
157
|
declare function createIncrSearch<T>(options?: IncrSearchOptions<T>): IncrSearch<T>;
|
|
158
158
|
//#endregion
|
|
159
159
|
export { IncrSearchChangeCallback as _, createFuzzySearch as a, IncrSearchState as b, IncrSearchTreeController as c, ElementIncrSearchOptions as d, FuzzySearch as f, IncrSearch as g, HighlightTarget as h, clearHighlights as i, IncrSearchTreeOptions as l, HighlightOptions as m, applyHighlights as n, ElementIncrSearch as o, FuzzySearchOptions as p, buildHighlightTargets as r, createElementIncrSearch as s, createIncrSearch as t, createAcCompletionProvider as u, IncrSearchOptions as v, IncrSearchResult as y };
|
|
160
|
-
//# sourceMappingURL=index-
|
|
160
|
+
//# sourceMappingURL=index-Cxwxtj6g.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-Cxwxtj6g.d.ts","names":[],"sources":["../src/incr-search/types.ts","../src/incr-search/ac-adapter.ts","../src/incr-search/controller-tree.ts","../src/incr-search/element-search.ts","../src/incr-search/fuzzy.ts","../src/incr-search/highlight.ts","../src/incr-search/incr-search.ts"],"mappings":";;;;KAGY,iBAAiB;WAClB,MAAM;WACN,WAAW;WACX;;KAIC,gBAAgB;WACjB;WACA,SAAS,cAAc,iBAAiB;WAExC,iBAAiB,YAAY,GAAG;;KAG/B,yBAAyB,MAAM,OAAO,gBAAgB;KAEtD,kBAAkB;WACnB,iBAAiB;WACjB,YAAY,MAAM;WAClB,MAAM,QAAQ,WAAW;WACzB,WAAW,yBAAyB;;KAInC,WAAW;WACZ,WAAW,gBAAgB,KAAK,SAAS,gBAAgB;WACzD,WAAW,eAAe,SAAS,gBAAgB,QAAQ,gBAAgB;WAC3E,kBAAkB;WAClB,OAAO,gBAAgB;WACvB,WAAW,IAAI,yBAAyB;WACxC;;KAGC,mBAAmB;WACpB,YAAY,MAAM;WAClB,MAAM,QAAQ,WAAW;;KAGxB,YAAY;WACb,OAAO,kBAAkB,cAAc,iBAAiB;WACxD,gBAAgB;;KAIf;WACD,SAAS;WACT;WACA,WAAW;;KAGV;WACD;;KAGC;WACD,WAAW;WACX;WACA,YAAY,IAAI;WAChB,UAAU,IAAI;WACd;WACA;WACA,MAAM,QAAQ;IAAa;IAAa;;WACxC,WAAW;IAA2B;IAAa;;;;;;;;;;;;;;;;iBCnD9C,2BAA2B;EAAY;GACrD,gBAAgB,KAChB,UAAS,KAAK,mBAAmB,mBAC/B,eAAe,QAAQ,gBAAgB,QAAQ,MAAM;EAAM,WAAW;;;;KCR9D;EACV,WAAW;IAAQ,MAAM;IAAU;;;;;;;EAMnC;EACA;EACA,QAAQ;EACR,MAAM,QAAQ;IAAa,MAAM;IAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8BhC;;EAOC,YAAA,IAAI,gBAAgB,MAAM;EAStC;EAiBA;EAcM,SAAS,gBAAgB;EAIzB,cAAc;;;;KC5FjB;WAAyB;WAAsB;;KAWxC;WACD,WAAW,eAAe,SAAS,gBAAgB;WACnD,kBAAkB;WAClB;WACA,WAAW,IAAI,yBAAyB;WACxC;;iBAGK,wBAAwB,MAAM,2BAA2B;;;iBCXzD,kBAAkB,GAChC,gBAAgB,KAChB,UAAS,mBAAmB,KAC3B,YAAY;;;iBCfC,gBACd,kBAAkB,mBAClB,UAAS;iBA+BK,gBAAgB,UAAS;iBAMzB,sBAAsB,GACpC,MAAM,aAAa,SACnB,sBACA,iBAAiB,YAAY,GAAG,sBAChC,UAAU,IAAI,YAAY,eAC1B,UAAU,IAAI,qBACb;;;iBC7Ba,iBAAiB,GAAG,UAAS,kBAAkB,KAAU,WAAW"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import "./index-CoqtMSd9.js";
|
|
2
|
+
import { CSSResultGroup, LitElement, PropertyValues } from "lit";
|
|
3
|
+
import { Colour } from "@ixfx/visual";
|
|
4
|
+
//#region src/colour-picker/types.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* OKLCH colour value representation
|
|
7
|
+
*/
|
|
8
|
+
type OklchValue = {
|
|
9
|
+
readonly l: number;
|
|
10
|
+
readonly c: number;
|
|
11
|
+
readonly h: number;
|
|
12
|
+
readonly a?: number;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Event detail for colour picker input/change events
|
|
16
|
+
*/
|
|
17
|
+
type ColourPickerEventDetail = OklchValue;
|
|
18
|
+
/**
|
|
19
|
+
* Colour picker custom events
|
|
20
|
+
*/
|
|
21
|
+
type ColourPickerInputEvent = CustomEvent<ColourPickerEventDetail>;
|
|
22
|
+
type ColourPickerChangeEvent = CustomEvent<ColourPickerEventDetail>;
|
|
23
|
+
type Range = readonly [number, number];
|
|
24
|
+
type RangeInput = readonly [number, number] | readonly number[];
|
|
25
|
+
/**
|
|
26
|
+
* Augment HTMLElementTagNameMap for the custom element
|
|
27
|
+
*/
|
|
28
|
+
declare global {
|
|
29
|
+
interface HTMLElementTagNameMap {
|
|
30
|
+
'ixfx-colour-picker': ColourPicker;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/colour-picker/colour-picker.d.ts
|
|
35
|
+
declare class ColourPicker extends LitElement {
|
|
36
|
+
l: number;
|
|
37
|
+
c: number;
|
|
38
|
+
h: number;
|
|
39
|
+
a: number;
|
|
40
|
+
hidePreview: boolean;
|
|
41
|
+
hideH: boolean;
|
|
42
|
+
hideL: boolean;
|
|
43
|
+
hideC: boolean;
|
|
44
|
+
showA: boolean;
|
|
45
|
+
horizontal: boolean;
|
|
46
|
+
slidersVertical: boolean;
|
|
47
|
+
hideTooltips: boolean;
|
|
48
|
+
private _valueAttr;
|
|
49
|
+
rangeLAttr: string | null;
|
|
50
|
+
rangeCAttr: string | null;
|
|
51
|
+
rangeHAttr: string | null;
|
|
52
|
+
rangeAAttr: string | null;
|
|
53
|
+
private _ranges;
|
|
54
|
+
_sliderL: HTMLElement;
|
|
55
|
+
_sliderC: HTMLElement;
|
|
56
|
+
_sliderH: HTMLElement;
|
|
57
|
+
_sliderA: HTMLElement;
|
|
58
|
+
_previewEl: HTMLElement;
|
|
59
|
+
private _defaultL;
|
|
60
|
+
private _defaultC;
|
|
61
|
+
private _defaultH;
|
|
62
|
+
private _defaultA;
|
|
63
|
+
private readonly _userInitiated;
|
|
64
|
+
get value(): string;
|
|
65
|
+
set value(colourString: string);
|
|
66
|
+
/**
|
|
67
|
+
* Set the colour from any ixfx-compatible format (CSS string, OkLch object,
|
|
68
|
+
* HSL object, etc.). Also updates the double-click reset defaults for all
|
|
69
|
+
* sliders.
|
|
70
|
+
*/
|
|
71
|
+
setColour(colour: Colour.Colourish): void;
|
|
72
|
+
get rangeL(): Range;
|
|
73
|
+
set rangeL(range: RangeInput);
|
|
74
|
+
get rangeC(): Range;
|
|
75
|
+
set rangeC(range: RangeInput);
|
|
76
|
+
get rangeH(): Range;
|
|
77
|
+
set rangeH(range: RangeInput);
|
|
78
|
+
get rangeA(): Range;
|
|
79
|
+
set rangeA(range: RangeInput);
|
|
80
|
+
setRangeL(range: RangeInput): void;
|
|
81
|
+
setRangeC(range: RangeInput): void;
|
|
82
|
+
setRangeH(range: RangeInput): void;
|
|
83
|
+
setRangeA(range: RangeInput): void;
|
|
84
|
+
willUpdate(changedProperties: PropertyValues): void;
|
|
85
|
+
private _applyRangeInput;
|
|
86
|
+
private _coerceRangeInput;
|
|
87
|
+
private _setRangeFromAttribute;
|
|
88
|
+
private _setRange;
|
|
89
|
+
private _getRange;
|
|
90
|
+
private _parseRangeString;
|
|
91
|
+
private _normalizeRange;
|
|
92
|
+
private _clampToRange;
|
|
93
|
+
render(): import("lit").TemplateResult<1>;
|
|
94
|
+
firstUpdated(changedProperties: PropertyValues): void;
|
|
95
|
+
updated(changedProperties: PropertyValues): void;
|
|
96
|
+
_updateGradients(): void;
|
|
97
|
+
_onInput: (e: Event, channel: `l` | `c` | `h` | `a`) => void;
|
|
98
|
+
_onChange: (e: Event, channel: `l` | `c` | `h` | `a`) => void;
|
|
99
|
+
_dispatchInput(): void;
|
|
100
|
+
_dispatchChange(): void;
|
|
101
|
+
static styles: CSSResultGroup;
|
|
102
|
+
}
|
|
103
|
+
declare global {
|
|
104
|
+
interface HTMLElementTagNameMap {
|
|
105
|
+
'ixfx-colour-picker': ColourPicker;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//#endregion
|
|
109
|
+
//#region src/colour-picker/colour-picker-popup.d.ts
|
|
110
|
+
declare const PICKER_SIZES: {
|
|
111
|
+
readonly small: {
|
|
112
|
+
readonly width: 130;
|
|
113
|
+
readonly height: 100;
|
|
114
|
+
};
|
|
115
|
+
readonly medium: {
|
|
116
|
+
readonly width: 100;
|
|
117
|
+
readonly height: 155;
|
|
118
|
+
};
|
|
119
|
+
readonly large: {
|
|
120
|
+
readonly width: 200;
|
|
121
|
+
readonly height: 180;
|
|
122
|
+
};
|
|
123
|
+
readonly huge: {
|
|
124
|
+
readonly width: 290;
|
|
125
|
+
readonly height: 240;
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
type PickerSize = keyof typeof PICKER_SIZES;
|
|
129
|
+
declare class ColourPickerPopup extends LitElement {
|
|
130
|
+
mode: `fluid` | `confirm`;
|
|
131
|
+
l: number;
|
|
132
|
+
c: number;
|
|
133
|
+
h: number;
|
|
134
|
+
a: number;
|
|
135
|
+
showPreview: boolean;
|
|
136
|
+
hideH: boolean;
|
|
137
|
+
hideL: boolean;
|
|
138
|
+
hideC: boolean;
|
|
139
|
+
showA: boolean;
|
|
140
|
+
horizontal: boolean;
|
|
141
|
+
size: PickerSize;
|
|
142
|
+
private _isOpen;
|
|
143
|
+
private _everOpened;
|
|
144
|
+
_popupEl: HTMLElement;
|
|
145
|
+
_pickerEl: ColourPicker;
|
|
146
|
+
private readonly _uid;
|
|
147
|
+
private readonly _anchorName;
|
|
148
|
+
private readonly _popupId;
|
|
149
|
+
private _pendingL;
|
|
150
|
+
private _pendingC;
|
|
151
|
+
private _pendingH;
|
|
152
|
+
private _pendingA;
|
|
153
|
+
private _savedL;
|
|
154
|
+
private _savedC;
|
|
155
|
+
private _savedH;
|
|
156
|
+
private _savedA;
|
|
157
|
+
private _pendingConfirmed;
|
|
158
|
+
constructor();
|
|
159
|
+
get value(): string;
|
|
160
|
+
private get _innerHidePreview();
|
|
161
|
+
private get _pickerDimensions();
|
|
162
|
+
setColour(colour: Colour.Colourish): void;
|
|
163
|
+
firstUpdated(changedProperties: PropertyValues): void;
|
|
164
|
+
updated(changedProperties: PropertyValues): void;
|
|
165
|
+
private _applyAnchorPositioning;
|
|
166
|
+
private _updateSwatchBackground;
|
|
167
|
+
private _onPopoverToggle;
|
|
168
|
+
private _onPickerInput;
|
|
169
|
+
private _onPickerChange;
|
|
170
|
+
private _onConfirm;
|
|
171
|
+
private _onSwatchClick;
|
|
172
|
+
private _dispatchInput;
|
|
173
|
+
private _dispatchChange;
|
|
174
|
+
render(): import("lit").TemplateResult<1>;
|
|
175
|
+
static styles: CSSResultGroup;
|
|
176
|
+
}
|
|
177
|
+
declare global {
|
|
178
|
+
interface HTMLElementTagNameMap {
|
|
179
|
+
'ixfx-colour-picker-popup': ColourPickerPopup;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
//#endregion
|
|
183
|
+
export { ColourPickerInputEvent as a, ColourPickerEventDetail as i, ColourPicker as n, OklchValue as o, ColourPickerChangeEvent as r, ColourPickerPopup as t };
|
|
184
|
+
//# sourceMappingURL=index-D_ftz_IT.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-D_ftz_IT.d.ts","names":[],"sources":["../src/colour-picker/types.ts","../src/colour-picker/colour-picker.ts","../src/colour-picker/colour-picker-popup.ts"],"mappings":";;;;;;;KAGY;WACD;WACA;WACA;WACA;;;;;KAMC,0BAA0B;;;;KAK1B,yBAAyB,YAAY;KACrC,0BAA0B,YAAY;KAiBtC;KACA;;;;QAKJ;YACI;IACR,sBAAmD;;;;;cCV1C,qBAAqB;EACJ;EACA;EACA;EACA;EAE2C;EACN;EACA;EACA;EACf;EACmB;EACM;EACH;UAGhE;EAE0C;EACA;EACA;EACA;UAE1C;EAOY,UAAW;EACX,UAAW;EACX,UAAW;EACX,UAAW;EACZ,YAAa;UAIxB;UACA;UACA;UACA;mBAKS;MAEb;MAIA,MAAM;;;;;;EAcV,UAAU,QAAQ,OAAO;MASrB,UAAU;MAIV,OAAO,OAAO;MAId,UAAU;MAIV,OAAO,OAAO;MAId,UAAU;MAIV,OAAO,OAAO;MAId,UAAU;MAIV,OAAO,OAAO;EAIlB,UAAU,OAAO;EAIjB,UAAU,OAAO;EAIjB,UAAU,OAAO;EAIjB,UAAU,OAAO;EAIR,WAAW,mBAAmB;UAY/B;UAOA;UASA;UAUA;UA0BA;UAIA;UAYA;UAWA;EAKC,wBAAM;EAoCN,aAAa,mBAAmB;EAKhC,QAAQ,mBAAmB;EAqBpC;EA4FA,WAAY,GAAG,OAAO;EAQtB,YAAa,GAAG,OAAO;EAevB;EAKA;SAKO,QAAQ;;QAoIT;YACI;IACR,sBAAsB;;;;;cCvhBpB;;;;;;;;;;;;;;;;;;KAOD,0BAA0B;cAgBlB,0BAA0B;EACT;EAEA;EACA;EACA;EACA;EAE4B;EACS;EACA;EACA;EACf;EACI;EAC1B,MAAM;UAEjB;UACA;EAEA,UAAW;EACC,WAAY;mBAExB;mBACA;mBACA;UAGT;UACA;UACA;UACA;UAGA;UACA;UACA;UACA;UAGA;;MAUJ;cAIQ;cAQA;EAIZ,UAAU,QAAQ,OAAO;EAQhB,aAAa,mBAAmB;EAMhC,QAAQ,mBAAmB;UAS5B;UAUA;UAOA;UAoBA;UAmBA;UAmBA;UAcA;UAYA;UAKA;EAKC,wBAAM;SAiDR,QAAQ;;QAmGT;YACI;IACR,4BAA4B"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import "./icon-DpA9x2Ve.js";
|
|
2
|
+
import { o as TreeNode } from "./types-DO3gt5vg.js";
|
|
3
|
+
import { i as MenuContainer, n as MenuTrigger, r as MenuTriggerCommandDetail, t as MenuItem } from "./menu-item-DSyf9f_L.js";
|
|
3
4
|
import { LitElement, TemplateResult } from "lit";
|
|
4
5
|
import { CommandRegistry, KeyboardManager } from "@clinth/ui-commands";
|
|
5
|
-
|
|
6
6
|
//#region src/menu/menu-bar.d.ts
|
|
7
7
|
declare class MenuBar extends LitElement {
|
|
8
8
|
private _openTrigger;
|
|
@@ -23,7 +23,7 @@ declare global {
|
|
|
23
23
|
interface HTMLElementTagNameMap {
|
|
24
24
|
'ixfx-menu-bar': MenuBar;
|
|
25
25
|
}
|
|
26
|
-
}
|
|
26
|
+
}
|
|
27
27
|
//#endregion
|
|
28
28
|
//#region src/menu/menu-check-item.d.ts
|
|
29
29
|
declare class MenuCheckItem extends LitElement {
|
|
@@ -48,7 +48,7 @@ declare global {
|
|
|
48
48
|
interface HTMLElementTagNameMap {
|
|
49
49
|
'ixfx-menu-check-item': MenuCheckItem;
|
|
50
50
|
}
|
|
51
|
-
}
|
|
51
|
+
}
|
|
52
52
|
//#endregion
|
|
53
53
|
//#region src/menu/menu-command-controller.d.ts
|
|
54
54
|
declare class MenuCommandController {
|
|
@@ -106,7 +106,7 @@ declare global {
|
|
|
106
106
|
interface HTMLElementTagNameMap {
|
|
107
107
|
'ixfx-menu-sub-trigger': MenuSubTrigger;
|
|
108
108
|
}
|
|
109
|
-
}
|
|
109
|
+
}
|
|
110
110
|
//#endregion
|
|
111
111
|
//#region src/menu/menu-separator.d.ts
|
|
112
112
|
declare class MenuSeparator extends LitElement {
|
|
@@ -117,7 +117,7 @@ declare global {
|
|
|
117
117
|
interface HTMLElementTagNameMap {
|
|
118
118
|
'ixfx-menu-separator': MenuSeparator;
|
|
119
119
|
}
|
|
120
|
-
}
|
|
120
|
+
}
|
|
121
121
|
//#endregion
|
|
122
122
|
//#region src/menu/menu-header.d.ts
|
|
123
123
|
declare class MenuHeader extends LitElement {
|
|
@@ -129,7 +129,7 @@ declare global {
|
|
|
129
129
|
interface HTMLElementTagNameMap {
|
|
130
130
|
'ixfx-menu-header': MenuHeader;
|
|
131
131
|
}
|
|
132
|
-
}
|
|
132
|
+
}
|
|
133
133
|
//#endregion
|
|
134
134
|
//#region src/menu/menu-from-tree.d.ts
|
|
135
135
|
type MenuFromTreeOptions = {
|
|
@@ -155,7 +155,7 @@ declare global {
|
|
|
155
155
|
interface HTMLElementTagNameMap {
|
|
156
156
|
'ixfx-menu-radio-item': MenuRadioItem;
|
|
157
157
|
}
|
|
158
|
-
}
|
|
158
|
+
}
|
|
159
159
|
//#endregion
|
|
160
160
|
//#region src/menu/menu-radio-group.d.ts
|
|
161
161
|
declare class MenuRadioGroup extends LitElement {
|
|
@@ -173,10 +173,10 @@ declare global {
|
|
|
173
173
|
interface HTMLElementTagNameMap {
|
|
174
174
|
'ixfx-menu-radio-group': MenuRadioGroup;
|
|
175
175
|
}
|
|
176
|
-
}
|
|
176
|
+
}
|
|
177
177
|
declare namespace index_d_exports {
|
|
178
178
|
export { MenuBar, MenuCheckItem, MenuCommandController, MenuContainer, MenuFromTreeOptions, MenuHeader, MenuItem, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubTrigger, MenuTrigger, menuFromTree, menuFromTreeToElements };
|
|
179
179
|
}
|
|
180
180
|
//#endregion
|
|
181
181
|
export { menuFromTree as a, MenuSeparator as c, MenuCheckItem as d, MenuBar as f, MenuFromTreeOptions as i, MenuSubTrigger as l, MenuRadioGroup as n, menuFromTreeToElements as o, MenuRadioItem as r, MenuHeader as s, index_d_exports as t, MenuCommandController as u };
|
|
182
|
-
//# sourceMappingURL=index-
|
|
182
|
+
//# sourceMappingURL=index-DfEkTGvT.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DfEkTGvT.d.ts","names":[],"sources":["../src/menu/menu-bar.ts","../src/menu/menu-check-item.ts","../src/menu/menu-command-controller.ts","../src/menu/menu-sub-trigger.ts","../src/menu/menu-separator.ts","../src/menu/menu-header.ts","../src/menu/menu-from-tree.ts","../src/menu/menu-radio-item.ts","../src/menu/menu-radio-group.ts","../src/menu/index.ts"],"mappings":";;;;;;cAMa,gBAAgB;UACnB;UACA;EAER;EASA;UASQ;UAOA;UAIA;UAMA;UAIA;UAQA;UASA;SAkCD,sBAAM;EAab,wBAAM;;QAKA;YACI;IACR,iBAAiB;;;;;cCvGR,sBAAsB;EACL;EAC2B;EAC3B;EACC;EACA;EACuB;EACpB,WAAW;EACX,kBAAkB;UAE1C;UAYA;UASA;EASR,WAAW,mBAAmB;EAU9B,QAAQ,mBAAmB;UAInB;SAaQ,sBAAM;EA0DtB,wBAAM;;QAoBA;YACI;IACR,wBAAwB;;;;;cClKf;UACH;UACA;UACA;EAEI,YAAA;IAAW,UAAU;IAA0B,SAAS;;EAMpE;EAIA;UAIQ;;;;cCZG,uBAAuB;EACN;EAC2B;EAC3B;EACC;EACuB;EACpB,WAAW;EACX,kBAAkB;UAEjC;UACsB;UACJ;UACX;iBAET;UACP;UACA;UACA;EAER;EAKA;EAIA;UAWQ;EAUC,QAAQ,mBAAmB;EAMpC,WAAW,mBAAmB;UAUtB;UASA;UAKA;UAQA;UAQA;UAOA;UAQA;UAYA;UAQA;UAIA;UAIA;UAWA;SAiCQ,sBAAM;EAmEtB,wBAAM;;QA2BA;YACI;IACR,yBAAyB;;;;;cC1RhB,sBAAsB;SAC1B,sBAAM;EAYb,wBAAM;;QAKA;YACI;IACR,uBAAuB;;;;;cCnBd,mBAAmB;EACF;SAErB,sBAAM;EAYb,wBAAM;;QAKA;YACI;IACR,oBAAoB;;;;;KCjBZ;EACV,aAAa,QAAQ;EACrB,WAAW;EACX,kBAAkB;;iBAOJ,aACd,OAAO,YACP,UAAS,sBACR;iBAmGa,uBACd,OAAO,YACP,UAAS,sBACR;;;cChHU,sBAAsB;EACL;EACA;EACC;EACD;EACwB;UAE5C;SAWQ,sBAAM;EAoDtB,wBAAM;;QAmBA;YACI;IACR,wBAAwB;;;;;cC5Ff,uBAAuB;EACN;EACA;UAEX;UAET;UAMA;UAMA;EAYR,QAAQ,mBAAmB;SAMpB,sBAAM;EAUb,wBAAM;;QAOA;YACI;IACR,yBAAyB"}
|