@ixfx/components 0.11.4 → 0.11.5

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.
Files changed (104) hide show
  1. package/bundle/index.d.ts +442 -120
  2. package/bundle/index.d.ts.map +1 -1
  3. package/bundle/index.js +2230 -538
  4. package/bundle/index.js.map +1 -1
  5. package/dist/ac-text.d.ts +1 -1
  6. package/dist/{ac-token-TCLAZeVg.d.ts → ac-token--_vCHXWw.d.ts} +2 -2
  7. package/dist/{ac-token-TCLAZeVg.d.ts.map → ac-token--_vCHXWw.d.ts.map} +1 -1
  8. package/dist/ac-token.d.ts +1 -1
  9. package/dist/{button-CTL45aBl.d.ts → button-BYuf72aR.d.ts} +2 -2
  10. package/dist/{button-CTL45aBl.d.ts.map → button-BYuf72aR.d.ts.map} +1 -1
  11. package/dist/button.d.ts +1 -1
  12. package/dist/colour-picker.d.ts +1 -1
  13. package/dist/crumbs.d.ts +3 -3
  14. package/dist/{data-grid-CfiaBqTA.d.ts → data-grid-CPsJBnL4.d.ts} +48 -6
  15. package/dist/data-grid-CPsJBnL4.d.ts.map +1 -0
  16. package/dist/data-grid.d.ts +3 -3
  17. package/dist/data-grid.js +66 -2
  18. package/dist/data-grid.js.map +1 -1
  19. package/dist/{detail-list-DxQZkK-C.d.ts → detail-list-CmdCxddo.d.ts} +22 -5
  20. package/dist/detail-list-CmdCxddo.d.ts.map +1 -0
  21. package/dist/detail-list.d.ts +3 -3
  22. package/dist/detail-list.js +67 -4
  23. package/dist/detail-list.js.map +1 -1
  24. package/dist/{grid-list-k89JpiNy.js → grid-list-3fGhdaFA.js} +92 -7
  25. package/dist/grid-list-3fGhdaFA.js.map +1 -0
  26. package/dist/{grid-list-ChgYpUUq.d.ts → grid-list-D6AfWfwn.d.ts} +27 -4
  27. package/dist/grid-list-D6AfWfwn.d.ts.map +1 -0
  28. package/dist/grid-list.d.ts +2 -2
  29. package/dist/grid-list.js +1 -1
  30. package/dist/{grouped-item-lister-Bhyo-dkH.d.ts → grouped-item-lister-DETte0Dh.d.ts} +2 -2
  31. package/dist/{grouped-item-lister-Bhyo-dkH.d.ts.map → grouped-item-lister-DETte0Dh.d.ts.map} +1 -1
  32. package/dist/grouped-item-lister.d.ts +1 -1
  33. package/dist/{icon-DR_3rSyZ.d.ts → icon-CDGprSdE.d.ts} +2 -2
  34. package/dist/icon-CDGprSdE.d.ts.map +1 -0
  35. package/dist/icons.d.ts +2 -2
  36. package/dist/incr-search.d.ts +1 -1
  37. package/dist/{index-CHbuPyLL.d.ts → index-CMsmZ6Or.d.ts} +4 -4
  38. package/dist/{index-CHbuPyLL.d.ts.map → index-CMsmZ6Or.d.ts.map} +1 -1
  39. package/dist/{index-garxxqgV.d.ts → index-CYndvTWH.d.ts} +2 -2
  40. package/dist/{index-garxxqgV.d.ts.map → index-CYndvTWH.d.ts.map} +1 -1
  41. package/dist/{index-CDllxjVG.d.ts → index-CnyoNA6m.d.ts} +4 -4
  42. package/dist/{index-CDllxjVG.d.ts.map → index-CnyoNA6m.d.ts.map} +1 -1
  43. package/dist/{index-BUB5SICW.d.ts → index-CoqtMSd9.d.ts} +2 -2
  44. package/dist/{index-BUB5SICW.d.ts.map → index-CoqtMSd9.d.ts.map} +1 -1
  45. package/dist/{index-CJ5fshD3.d.ts → index-UvnoZUAo.d.ts} +2 -2
  46. package/dist/{index-CJ5fshD3.d.ts.map → index-UvnoZUAo.d.ts.map} +1 -1
  47. package/dist/{index-BOUaDIW-.d.ts → index-tq6f8007.d.ts} +2 -2
  48. package/dist/{index-BOUaDIW-.d.ts.map → index-tq6f8007.d.ts.map} +1 -1
  49. package/dist/index.d.ts +337 -140
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +2036 -644
  52. package/dist/index.js.map +1 -1
  53. package/dist/item-appearance-BjcMyauw.js +31 -0
  54. package/dist/item-appearance-BjcMyauw.js.map +1 -0
  55. package/dist/{labelled-input-base-Dp_9KP0G.d.ts → labelled-input-base-DiTme1JO.d.ts} +2 -2
  56. package/dist/{labelled-input-base-Dp_9KP0G.d.ts.map → labelled-input-base-DiTme1JO.d.ts.map} +1 -1
  57. package/dist/labelled-radial-input.d.ts +2 -2
  58. package/dist/labelled-radial-input.d.ts.map +1 -1
  59. package/dist/labelled-range-input.d.ts +1 -1
  60. package/dist/labelled-slider-input.d.ts +1 -1
  61. package/dist/{list-native-drag-controller-B9reY4uM.d.ts → list-native-drag-controller-CllsHLxw.d.ts} +2 -2
  62. package/dist/{list-native-drag-controller-B9reY4uM.d.ts.map → list-native-drag-controller-CllsHLxw.d.ts.map} +1 -1
  63. package/dist/{menu-item-DlxAb0Xr.d.ts → menu-item-DT7bKAIw.d.ts} +2 -2
  64. package/dist/{menu-item-DlxAb0Xr.d.ts.map → menu-item-DT7bKAIw.d.ts.map} +1 -1
  65. package/dist/menu.d.ts +2 -2
  66. package/dist/miller.d.ts +3 -3
  67. package/dist/miller.d.ts.map +1 -1
  68. package/dist/miller.js +18 -2
  69. package/dist/miller.js.map +1 -1
  70. package/dist/panel.d.ts +1 -1
  71. package/dist/{split-layout-C5SYbDrq.d.ts → split-layout-JK3xWVX2.d.ts} +2 -2
  72. package/dist/{split-layout-C5SYbDrq.d.ts.map → split-layout-JK3xWVX2.d.ts.map} +1 -1
  73. package/dist/split-layout.d.ts +1 -1
  74. package/dist/{tab-list-v8mKX7Fu.d.ts → tab-list-pqfKaVAE.d.ts} +2 -2
  75. package/dist/{tab-list-v8mKX7Fu.d.ts.map → tab-list-pqfKaVAE.d.ts.map} +1 -1
  76. package/dist/tabs.d.ts +1 -1
  77. package/dist/{titlebar-B5zSTZnF.d.ts → titlebar-Tqu-VvMU.d.ts} +2 -2
  78. package/dist/{titlebar-B5zSTZnF.d.ts.map → titlebar-Tqu-VvMU.d.ts.map} +1 -1
  79. package/dist/titlebar.d.ts +1 -1
  80. package/dist/{tree-component-CMGeqyjZ.d.ts → tree-component-DukLqesg.d.ts} +2 -2
  81. package/dist/{tree-component-CMGeqyjZ.d.ts.map → tree-component-DukLqesg.d.ts.map} +1 -1
  82. package/dist/tree.d.ts +4 -4
  83. package/dist/{types-3Jfcaxvo.d.ts → types-D-kYF16b.d.ts} +21 -1
  84. package/dist/types-D-kYF16b.d.ts.map +1 -0
  85. package/dist/{vertical-list-R25WqAVO.d.ts → vertical-list-DTp-UIUE.d.ts} +26 -3
  86. package/dist/vertical-list-DTp-UIUE.d.ts.map +1 -0
  87. package/dist/vertical-list.d.ts +2 -2
  88. package/dist/vertical-list.js +53 -4
  89. package/dist/vertical-list.js.map +1 -1
  90. package/docs-user/data-grid.md +51 -1
  91. package/docs-user/detail-list.md +46 -0
  92. package/docs-user/grid-list.md +49 -2
  93. package/docs-user/hyperbolic-tree.md +98 -18
  94. package/docs-user/index.json +2 -2
  95. package/docs-user/miller.md +52 -7
  96. package/docs-user/vertical-list.md +63 -0
  97. package/package.json +1 -1
  98. package/dist/data-grid-CfiaBqTA.d.ts.map +0 -1
  99. package/dist/detail-list-DxQZkK-C.d.ts.map +0 -1
  100. package/dist/grid-list-ChgYpUUq.d.ts.map +0 -1
  101. package/dist/grid-list-k89JpiNy.js.map +0 -1
  102. package/dist/icon-DR_3rSyZ.d.ts.map +0 -1
  103. package/dist/types-3Jfcaxvo.d.ts.map +0 -1
  104. package/dist/vertical-list-R25WqAVO.d.ts.map +0 -1
@@ -0,0 +1,31 @@
1
+ //#region src/common/item-appearance.ts
2
+ /**
3
+ * Shared helpers for the list components' per-item appearance hooks — the
4
+ * per-item icon colour / text colour / badge that miller-list, detail-list,
5
+ * grid-list, data-grid and vertical-list all accept.
6
+ *
7
+ * Every component takes these three features in its own idiom (plain fields
8
+ * on a `TreeItem`, a property-name lookup, an adapter function, a nominated
9
+ * column) but they all agree on what "not supplied" means, and on never
10
+ * emitting an empty slot for an absent value.
11
+ */
12
+ /**
13
+ * Whether a per-item appearance value counts as "not supplied". `false` and
14
+ * `''` are included so a consumer can clear a feature without rebuilding the
15
+ * collection — e.g. `badge: flags && tagChip(flags.colour)`.
16
+ */
17
+ function appearanceAbsent(value) {
18
+ return value === void 0 || value === null || value === false || value === ``;
19
+ }
20
+ /**
21
+ * A usable CSS colour from a per-item value, or `undefined`. Non-strings and
22
+ * empty strings are ignored rather than stringified, so a stray number or
23
+ * `0` never lands in a `style` attribute.
24
+ */
25
+ function appearanceColor(value) {
26
+ return typeof value === `string` && value.length > 0 ? value : void 0;
27
+ }
28
+ //#endregion
29
+ export { appearanceColor as n, appearanceAbsent as t };
30
+
31
+ //# sourceMappingURL=item-appearance-BjcMyauw.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item-appearance-BjcMyauw.js","names":[],"sources":["../src/common/item-appearance.ts"],"sourcesContent":["/**\n * Shared helpers for the list components' per-item appearance hooks — the\n * per-item icon colour / text colour / badge that miller-list, detail-list,\n * grid-list, data-grid and vertical-list all accept.\n *\n * Every component takes these three features in its own idiom (plain fields\n * on a `TreeItem`, a property-name lookup, an adapter function, a nominated\n * column) but they all agree on what \"not supplied\" means, and on never\n * emitting an empty slot for an absent value.\n */\n\n/**\n * Whether a per-item appearance value counts as \"not supplied\". `false` and\n * `''` are included so a consumer can clear a feature without rebuilding the\n * collection — e.g. `badge: flags && tagChip(flags.colour)`.\n */\nexport function appearanceAbsent(value: unknown): boolean {\n return value === undefined || value === null || value === false || value === ``;\n}\n\n/**\n * A usable CSS colour from a per-item value, or `undefined`. Non-strings and\n * empty strings are ignored rather than stringified, so a stray number or\n * `0` never lands in a `style` attribute.\n */\nexport function appearanceColor(value: unknown): string | undefined {\n return typeof value === `string` && value.length > 0 ? value : undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAgBA,SAAgB,iBAAiB,OAAyB;CACxD,OAAO,UAAU,KAAA,KAAa,UAAU,QAAQ,UAAU,SAAS,UAAU;AAC/E;;;;;;AAOA,SAAgB,gBAAgB,OAAoC;CAClE,OAAO,OAAO,UAAU,YAAY,MAAM,SAAS,IAAI,QAAQ,KAAA;AACjE"}
@@ -33,9 +33,9 @@ declare abstract class LabelledInputBase extends LitElement {
33
33
  value: number;
34
34
  }>) => void;
35
35
  protected _syncValue(v: number): void;
36
- protected _renderEditableNumber(): import("lit").TemplateResult<1> | typeof nothing;
36
+ protected _renderEditableNumber(): typeof nothing | import("lit").TemplateResult<1>;
37
37
  updated(changedProperties: Map<string, unknown>): void;
38
38
  }
39
39
  //#endregion
40
40
  export { LabelledInputBase as t };
41
- //# sourceMappingURL=labelled-input-base-Dp_9KP0G.d.ts.map
41
+ //# sourceMappingURL=labelled-input-base-DiTme1JO.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"labelled-input-base-Dp_9KP0G.d.ts","names":[],"sources":["../src/mixins/labelled-input-base.ts"],"mappings":";;uBAIsB,0BAA0B;EAClC;EAEgB;EACA;EACA;EACA;EACA;EAC+B;EAEI;EACC;EAEjB;YAE5B;YACA;YACA,cAAc;UAEzB;UACA;oBAEU;MAEd,cAAc;MAId,UAAU,SAAS;gBAIT;EAIL;EAMA;YAMC,cAAc,SAAS;YAcvB,sBAAuB,GAAG;IAAc;;YAYxC,qBAAsB,GAAG;IAAc;;YAcvC,qBAAsB,GAAG;IAAc;;YAavC,WAAW;YAYX,uCAAqB,2BAAA;EAuBtB,QAAQ,mBAAmB"}
1
+ {"version":3,"file":"labelled-input-base-DiTme1JO.d.ts","names":[],"sources":["../src/mixins/labelled-input-base.ts"],"mappings":";;uBAIsB,0BAA0B;EAClC;EAEgB;EACA;EACA;EACA;EACA;EAC+B;EAEI;EACC;EAEjB;YAE5B;YACA;YACA,cAAc;UAEzB;UACA;oBAEU;MAEd,cAAc;MAId,UAAU,SAAS;gBAIT;EAIL;EAMA;YAMC,cAAc,SAAS;YAcvB,sBAAuB,GAAG;IAAc;;YAYxC,qBAAsB,GAAG;IAAc;;YAcvC,qBAAsB,GAAG;IAAc;;YAavC,WAAW;YAYX,gCAAqB,wBAAA;EAuBtB,QAAQ,mBAAmB"}
@@ -1,4 +1,4 @@
1
- import { t as LabelledInputBase } from "./labelled-input-base-Dp_9KP0G.js";
1
+ import { t as LabelledInputBase } from "./labelled-input-base-DiTme1JO.js";
2
2
  import { i as MarkerStyle, l as ValueMode } from "./radial-input-DU6t2hYO.js";
3
3
  import { CSSResultGroup, nothing } from "lit";
4
4
  //#region src/labelled-radial-input/labelled-radial-input.d.ts
@@ -19,7 +19,7 @@ declare class LabelledRadialInput extends LabelledInputBase {
19
19
  private _isWide;
20
20
  private _getEffectivePrecision;
21
21
  protected _handleResize(entries: ResizeObserverEntry[]): void;
22
- protected _renderEditableNumber(): import("lit").TemplateResult<1> | typeof nothing;
22
+ protected _renderEditableNumber(): typeof nothing | import("lit").TemplateResult<1>;
23
23
  render(): import("lit").TemplateResult<1>;
24
24
  private _getTooltipValue;
25
25
  static styles: CSSResultGroup;
@@ -1 +1 @@
1
- {"version":3,"file":"labelled-radial-input.d.ts","names":[],"sources":["../src/labelled-radial-input/labelled-radial-input.ts"],"mappings":";;;;cA0Da,4BAA4B;WAC9B;EAGA;EACA;EAEmB;EACA;EAC2B,aAAa;EACvC;EACwB,WAAW;EACnC;EACA;EAEoC;;EAGpC;UAEZ;UAIT;YAeW,cAAc,SAAS;YAMvB,uCAAqB,2BAAA;EA0B/B,wBAAM;UA6BP;SAYD,QAAQ;;QA0ET;YACI;IACR,8BAA8B"}
1
+ {"version":3,"file":"labelled-radial-input.d.ts","names":[],"sources":["../src/labelled-radial-input/labelled-radial-input.ts"],"mappings":";;;;cA0Da,4BAA4B;WAC9B;EAGA;EACA;EAEmB;EACA;EAC2B,aAAa;EACvC;EACwB,WAAW;EACnC;EACA;EAEoC;;EAGpC;UAEZ;UAIT;YAeW,cAAc,SAAS;YAMvB,gCAAqB,wBAAA;EA0B/B,wBAAM;UA6BP;SAYD,QAAQ;;QA0ET;YACI;IACR,8BAA8B"}
@@ -1,2 +1,2 @@
1
- import { t as LabelledRangeInput } from "./index-BUB5SICW.js";
1
+ import { t as LabelledRangeInput } from "./index-CoqtMSd9.js";
2
2
  export { LabelledRangeInput };
@@ -1,2 +1,2 @@
1
- import { t as LabelledSliderInput } from "./index-CJ5fshD3.js";
1
+ import { t as LabelledSliderInput } from "./index-UvnoZUAo.js";
2
2
  export { LabelledSliderInput };
@@ -1,4 +1,4 @@
1
- import { F as ListDragPreviewSourceResolver, I as ListDragSource, L as ListNativeDragStartDetail, N as ListDragPreviewContext, P as ListDragPreviewRenderer, j as ListDragEntry } from "./tree-component-CMGeqyjZ.js";
1
+ import { F as ListDragPreviewSourceResolver, I as ListDragSource, L as ListNativeDragStartDetail, N as ListDragPreviewContext, P as ListDragPreviewRenderer, j as ListDragEntry } from "./tree-component-DukLqesg.js";
2
2
  import { ReactiveController, ReactiveControllerHost } from "lit";
3
3
  //#region src/interaction/list-native-drag-controller.d.ts
4
4
  type ListNativeDragControllerConfig<T> = {
@@ -66,4 +66,4 @@ declare class ListNativeDragController<T> implements ReactiveController {
66
66
  }
67
67
  //#endregion
68
68
  export { ListNativeDragControllerConfig as n, ListNativeDragController as t };
69
- //# sourceMappingURL=list-native-drag-controller-B9reY4uM.d.ts.map
69
+ //# sourceMappingURL=list-native-drag-controller-CllsHLxw.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-native-drag-controller-B9reY4uM.d.ts","names":[],"sources":["../src/interaction/list-native-drag-controller.ts"],"mappings":";;;KAYY,+BAA+B;WAChC,QAAQ;;EAEjB;;EAEA,oBAAoB,QAAQ;;;;;;EAM5B,mBAAmB;IAAwB,QAAQ,cAAc;IAAI,UAAU,MAAM,cAAc;;EACnG,kBAAkB,uBAAuB;EACzC,mBAAmB,wBAAwB;EAC3C,qCAAqC,8BAA8B;;EAEnE,WAAW,QAAQ,0BAA0B;;;;;;EAM7C,qBAAqB,cAAc,cAAc,QAAQ,0BAA0B;;EAEnF,iBAAiB,iBAAiB;;EAElC;;EAEA;;;;;;;EAOA,eAAe,OAAO;;KAGnB,WAAW,yBAAyB;;;;;;;;;;cAW5B,yBAAyB,cAAc;;EAUtC,YAAA,MAAM,UAAU,QAAQ,+BAA+B;MAM/D;;MAKA;;EASJ;EAQA;;EAYA;EAIA"}
1
+ {"version":3,"file":"list-native-drag-controller-CllsHLxw.d.ts","names":[],"sources":["../src/interaction/list-native-drag-controller.ts"],"mappings":";;;KAYY,+BAA+B;WAChC,QAAQ;;EAEjB;;EAEA,oBAAoB,QAAQ;;;;;;EAM5B,mBAAmB;IAAwB,QAAQ,cAAc;IAAI,UAAU,MAAM,cAAc;;EACnG,kBAAkB,uBAAuB;EACzC,mBAAmB,wBAAwB;EAC3C,qCAAqC,8BAA8B;;EAEnE,WAAW,QAAQ,0BAA0B;;;;;;EAM7C,qBAAqB,cAAc,cAAc,QAAQ,0BAA0B;;EAEnF,iBAAiB,iBAAiB;;EAElC;;EAEA;;;;;;;EAOA,eAAe,OAAO;;KAGnB,WAAW,yBAAyB;;;;;;;;;;cAW5B,yBAAyB,cAAc;;EAUtC,YAAA,MAAM,UAAU,QAAQ,+BAA+B;MAM/D;;MAKA;;EASJ;EAQA;;EAYA;EAIA"}
@@ -1,4 +1,4 @@
1
- import "./icon-DR_3rSyZ.js";
1
+ import "./icon-CDGprSdE.js";
2
2
  import { LitElement } from "lit";
3
3
  import { CommandRegistry, KeyboardManager } from "@clinth/ui-commands";
4
4
  //#region src/menu/menu-container.d.ts
@@ -130,4 +130,4 @@ declare global {
130
130
  }
131
131
  //#endregion
132
132
  export { MenuContainer as i, MenuTrigger as n, MenuTriggerCommandDetail as r, MenuItem as t };
133
- //# sourceMappingURL=menu-item-DlxAb0Xr.d.ts.map
133
+ //# sourceMappingURL=menu-item-DT7bKAIw.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-item-DlxAb0Xr.d.ts","names":[],"sources":["../src/menu/menu-container.ts","../src/menu/menu-trigger.ts","../src/menu/menu-item.ts"],"mappings":";;;;cASa,sBAAsB;EACgB;EACjB,WAAW;EACX,kBAAkB;UACvB;UAGnB;SAwBD,sBAAM;UA4BL;UAkDA;EAYC,QAAQ,mBAAmB;;;;EASpC,WAAW,SAAS,IAAI;EAOxB,wBAAM;UAaE;;;;;UAoCA;UAiCA;EA0BR;UAIQ;UAQA;UAUA;UAqDA;;QAqCF;YACI;IACR,uBAAuB;;;;;KCvWtB;KACA;KAEO;WACD;WACA;WACA;;cAME,oBAAoB;EACY,MAAM;EACrB;;EAEwB;EACpB,WAAW;EACX,kBAAkB;EACtB,WAAW;;EAEa;UAEnC;UACA;UACA;UACA;UAEc;UACN;iBAEV;UAEP;UACA;EAER;EAOA;EAQA;EA0BA,QAAQ,mBAAmB;UAWnB;UAqBA;UAWA;UAOA;UAKA;MAKJ;EAIJ;EAIA;EAIA;UAIQ;UAgBA;UAQA;UAYA;UAeA;UAYA;UAOA;UAeA;UAeA;UAkBA;SAeD,sBAAM;EA4Fb,wBAAM;;QA8BA;YACI;IACR,qBAAqB;;;;;cCnZZ,iBAAiB;EACA;EAC2B;EAC3B;EACC;EACuB;EACpB,WAAW;EACX,kBAAkB;EAClB,iBAAiB;UAEhC;UACM;UAEf;EAER;UAOQ;UAKA;UAWA;UAQA;UAUA;UAUA;UAWA;UASA;EASR,WAAW,mBAAmB;EAU9B,QAAQ,mBAAmB;UAInB;SAaQ,sBAAM;EAkEtB,wBAAM;;QAwBA;YACI;IACR,kBAAkB"}
1
+ {"version":3,"file":"menu-item-DT7bKAIw.d.ts","names":[],"sources":["../src/menu/menu-container.ts","../src/menu/menu-trigger.ts","../src/menu/menu-item.ts"],"mappings":";;;;cASa,sBAAsB;EACgB;EACjB,WAAW;EACX,kBAAkB;UACvB;UAGnB;SAwBD,sBAAM;UA4BL;UAkDA;EAYC,QAAQ,mBAAmB;;;;EASpC,WAAW,SAAS,IAAI;EAOxB,wBAAM;UAaE;;;;;UAoCA;UAiCA;EA0BR;UAIQ;UAQA;UAUA;UAqDA;;QAqCF;YACI;IACR,uBAAuB;;;;;KCvWtB;KACA;KAEO;WACD;WACA;WACA;;cAME,oBAAoB;EACY,MAAM;EACrB;;EAEwB;EACpB,WAAW;EACX,kBAAkB;EACtB,WAAW;;EAEa;UAEnC;UACA;UACA;UACA;UAEc;UACN;iBAEV;UAEP;UACA;EAER;EAOA;EAQA;EA0BA,QAAQ,mBAAmB;UAWnB;UAqBA;UAWA;UAOA;UAKA;MAKJ;EAIJ;EAIA;EAIA;UAIQ;UAgBA;UAQA;UAYA;UAeA;UAYA;UAOA;UAeA;UAeA;UAkBA;SAeD,sBAAM;EA4Fb,wBAAM;;QA8BA;YACI;IACR,qBAAqB;;;;;cCnZZ,iBAAiB;EACA;EAC2B;EAC3B;EACC;EACuB;EACpB,WAAW;EACX,kBAAkB;EAClB,iBAAiB;UAEhC;UACM;UAEf;EAER;UAOQ;UAKA;UAWA;UAQA;UAUA;UAUA;UAWA;UASA;EASR,WAAW,mBAAmB;EAU9B,QAAQ,mBAAmB;UAInB;SAaQ,sBAAM;EAkEtB,wBAAM;;QAwBA;YACI;IACR,kBAAkB"}
package/dist/menu.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { i as MenuContainer, n as MenuTrigger, t as MenuItem } from "./menu-item-DlxAb0Xr.js";
2
- import { a as menuFromTree, c as MenuSeparator, d as MenuCheckItem, f as MenuBar, i as MenuFromTreeOptions, l as MenuSubTrigger, n as MenuRadioGroup, o as menuFromTreeToElements, r as MenuRadioItem, s as MenuHeader, u as MenuCommandController } from "./index-CDllxjVG.js";
1
+ import { i as MenuContainer, n as MenuTrigger, t as MenuItem } from "./menu-item-DT7bKAIw.js";
2
+ import { a as menuFromTree, c as MenuSeparator, d as MenuCheckItem, f as MenuBar, i as MenuFromTreeOptions, l as MenuSubTrigger, n as MenuRadioGroup, o as menuFromTreeToElements, r as MenuRadioItem, s as MenuHeader, u as MenuCommandController } from "./index-CnyoNA6m.js";
3
3
  export { MenuBar, MenuCheckItem, MenuCommandController, MenuContainer, type MenuFromTreeOptions, MenuHeader, MenuItem, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubTrigger, MenuTrigger, menuFromTree, menuFromTreeToElements };
package/dist/miller.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { D as TreeTickleDetail, E as TreeSelectEvent, O as TreeTickleEvent, T as TreeSelectDetail, a as TreeComponent, b as TreeItemClickDetail, i as TreeCollapseEvent, k as TreeDataModel, n as TreeActivateEvent, o as TreeComponentEventMap, r as TreeCollapseDetail, t as TreeActivateDetail, v as TreeExpandDetail, w as TreeSearchHost, x as TreeItemClickEvent, y as TreeExpandEvent } from "./tree-component-CMGeqyjZ.js";
2
- import { a as TreeItem, n as TreeExclusivity, o as TreeNode, r as TreeFilterPredicate, s as TreeSelectionFilter, t as LoadChildrenCallback } from "./types-3Jfcaxvo.js";
3
- import { S as ListSearchController } from "./index-CHbuPyLL.js";
1
+ import { D as TreeTickleDetail, E as TreeSelectEvent, O as TreeTickleEvent, T as TreeSelectDetail, a as TreeComponent, b as TreeItemClickDetail, i as TreeCollapseEvent, k as TreeDataModel, n as TreeActivateEvent, o as TreeComponentEventMap, r as TreeCollapseDetail, t as TreeActivateDetail, v as TreeExpandDetail, w as TreeSearchHost, x as TreeItemClickEvent, y as TreeExpandEvent } from "./tree-component-DukLqesg.js";
2
+ import { a as TreeItem, n as TreeExclusivity, o as TreeNode, r as TreeFilterPredicate, s as TreeSelectionFilter, t as LoadChildrenCallback } from "./types-D-kYF16b.js";
3
+ import { S as ListSearchController } from "./index-CMsmZ6Or.js";
4
4
  import { n as TickledController } from "./tickled-controller-C1ZsHpyg.js";
5
5
  import { LitElement, PropertyValues, TemplateResult, nothing } from "lit";
6
6
  import { CommandRegistry } from "@clinth/ui-commands";
@@ -1 +1 @@
1
- {"version":3,"file":"miller.d.ts","names":[],"sources":["../src/miller/types.ts","../src/miller/miller-base.ts","../src/miller/miller-list.ts","../src/miller/miller-tree-controller.ts"],"mappings":"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"}
1
+ {"version":3,"file":"miller.d.ts","names":[],"sources":["../src/miller/types.ts","../src/miller/miller-base.ts","../src/miller/miller-list.ts","../src/miller/miller-tree-controller.ts"],"mappings":"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"}
package/dist/miller.js CHANGED
@@ -5,6 +5,7 @@ import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js"
5
5
  import { i as ListSearchController, n as listSearchStyles, o as registerListSearchCommands, r as LIST_SEARCH_MODES, t as createTreeListSearchAdapter } from "./incr-search-D91M4Ozq.js";
6
6
  import "./interaction-BskmlA9t.js";
7
7
  import { t as collectDataResult } from "./data-provider-35TyWclX.js";
8
+ import { n as appearanceColor, t as appearanceAbsent } from "./item-appearance-BjcMyauw.js";
8
9
  import { LitElement, css, html, nothing } from "lit";
9
10
  import { property, state } from "lit/decorators.js";
10
11
  import { createCommandRegistry } from "@clinth/ui-commands";
@@ -1347,6 +1348,9 @@ let MillerListElement = class MillerListElement extends MillerBaseElement {
1347
1348
  const open = this._isOpen(node, depth);
1348
1349
  const isBranch = node.item.isLeaf !== true;
1349
1350
  const icon = node.item.icon;
1351
+ const iconColor = appearanceColor(node.item.iconColor);
1352
+ const textColor = appearanceColor(node.item.textColor);
1353
+ const badge = appearanceAbsent(node.item.badge) ? void 0 : node.item.badge;
1350
1354
  const tooltip = node.item.tooltip;
1351
1355
  const isCheckedMode = this.interactionMode === `checked`;
1352
1356
  let checkboxTpl = nothing;
@@ -1374,8 +1378,9 @@ let MillerListElement = class MillerListElement extends MillerBaseElement {
1374
1378
  @pointerenter=${() => this._handleItemPointerEnter(node, depth)}
1375
1379
  >
1376
1380
  ${checkboxTpl}
1377
- ${icon ? html`<ixfx-icon class="item-icon" name="${icon}"></ixfx-icon>` : nothing}
1378
- <span class="label">${node.item.label}</span>
1381
+ ${icon ? html`<ixfx-icon class="item-icon" name="${icon}" style=${iconColor ? `color:${iconColor}` : nothing}></ixfx-icon>` : nothing}
1382
+ <span class="label" style=${textColor ? `color:${textColor}` : nothing}>${node.item.label}</span>
1383
+ ${badge === void 0 ? nothing : html`<span class="item-badge" part="badge">${badge}</span>`}
1379
1384
  ${tooltip ? html`<ixfx-tooltip class="item-tooltip" anchor="--tooltip-miller-${depth}-${node.item.key}" .value=${tooltip}></ixfx-tooltip>` : nothing}
1380
1385
  ${isBranch ? html`<span class="caret" aria-hidden="true">›</span>` : nothing}
1381
1386
  </li>
@@ -1429,6 +1434,17 @@ let MillerListElement = class MillerListElement extends MillerBaseElement {
1429
1434
  text-overflow: ellipsis;
1430
1435
  }
1431
1436
 
1437
+ /* Finder-style badge: sits between the label and the caret, flush to
1438
+ the right edge of the row. The label is flex:1, so the gap opens up
1439
+ ahead of the badge automatically. */
1440
+ .item-badge {
1441
+ flex-shrink: 0;
1442
+ display: inline-flex;
1443
+ align-items: center;
1444
+ margin-inline-start: auto;
1445
+ padding-inline-start: var(--miller-list-badge-gap, 0.5em);
1446
+ }
1447
+
1432
1448
  .item-tooltip {
1433
1449
  position: absolute;
1434
1450
  }