@antscorp/ui 0.1.2 → 0.1.4

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 (99) hide show
  1. package/README.md +26 -2
  2. package/dist/atoms/AddButton.d.ts +3 -6
  3. package/dist/atoms/Chip.d.ts +2 -5
  4. package/dist/atoms/Chip.js +1 -1
  5. package/dist/atoms/InfoTip.js +2 -0
  6. package/dist/atoms/LabeledDivider.d.ts +1 -1
  7. package/dist/atoms/PanelSearchInput.d.ts +1 -1
  8. package/dist/atoms/RemoveButton.d.ts +2 -5
  9. package/dist/atoms/TextAction.d.ts +5 -6
  10. package/dist/atoms/TruncatedOption.d.ts +1 -1
  11. package/dist/cli.js +248 -0
  12. package/dist/doc/schema.d.ts +34 -0
  13. package/dist/doc/schema.js +33 -0
  14. package/dist/docs.json +1 -0
  15. package/dist/index.d.ts +2 -0
  16. package/dist/index.js +53 -51
  17. package/dist/lib/iso.d.ts +2 -2
  18. package/dist/lib/iso.js +16 -8
  19. package/dist/lib/tokenEditorExtensions.js +1 -1
  20. package/dist/lib/useLoadingShown.d.ts +1 -1
  21. package/dist/molecules/AccentCard.d.ts +2 -3
  22. package/dist/molecules/AccentCard.js +2 -2
  23. package/dist/molecules/CheckRow.d.ts +3 -8
  24. package/dist/molecules/ChoiceTiles.d.ts +1 -1
  25. package/dist/molecules/ChoiceTiles.js +1 -1
  26. package/dist/molecules/CommitTextField.d.ts +1 -19
  27. package/dist/molecules/CommitTextField.js +21 -18
  28. package/dist/molecules/ConfirmDialog.d.ts +2 -7
  29. package/dist/molecules/DateTimeInput.d.ts +6 -3
  30. package/dist/molecules/DateTimeInput.js +82 -73
  31. package/dist/molecules/FieldGroup.d.ts +1 -1
  32. package/dist/molecules/FieldRow.d.ts +1 -1
  33. package/dist/molecules/MetaTable.d.ts +1 -1
  34. package/dist/molecules/PhoneFrame.d.ts +1 -1
  35. package/dist/molecules/RemovableRow.d.ts +1 -1
  36. package/dist/molecules/RemovableRow.js +32 -32
  37. package/dist/molecules/RevealRadioGroup.d.ts +2 -9
  38. package/dist/molecules/RevealSwitch.d.ts +2 -7
  39. package/dist/molecules/Select.d.ts +8 -24
  40. package/dist/molecules/Select.js +50 -44
  41. package/dist/molecules/SideLabelRow.d.ts +1 -1
  42. package/dist/molecules/SplitButton.d.ts +1 -1
  43. package/dist/molecules/StatusButton.d.ts +2 -7
  44. package/dist/molecules/TagSelect.d.ts +2 -2
  45. package/dist/molecules/TransferLayout.d.ts +1 -1
  46. package/dist/molecules/TreeOptions.d.ts +4 -3
  47. package/dist/molecules/TreeOptions.js +67 -44
  48. package/dist/organisms/HourOfDayRow.js +2 -2
  49. package/dist/organisms/HourOfWeekGrid.js +2 -2
  50. package/dist/organisms/RuleGroups.d.ts +3 -3
  51. package/dist/organisms/SearchableGroupedList.d.ts +1 -1
  52. package/dist/organisms/TransferPicker.d.ts +1 -1
  53. package/dist/organisms/TreeSearchPanel.js +50 -47
  54. package/dist/organisms/TreeSelect.d.ts +3 -3
  55. package/dist/ui.css +1 -1
  56. package/package.json +36 -19
  57. package/src/atoms/AddButton.tsx +3 -7
  58. package/src/atoms/Chip.tsx +7 -9
  59. package/src/atoms/InfoTip.tsx +2 -2
  60. package/src/atoms/LabeledDivider.tsx +1 -1
  61. package/src/atoms/PanelSearchInput.tsx +1 -1
  62. package/src/atoms/RemoveButton.tsx +2 -6
  63. package/src/atoms/TextAction.tsx +6 -8
  64. package/src/atoms/TruncatedOption.tsx +1 -1
  65. package/src/doc/schema.ts +67 -0
  66. package/src/index.ts +2 -0
  67. package/src/lib/iso.ts +15 -3
  68. package/src/lib/tokenEditorExtensions.ts +1 -1
  69. package/src/lib/useLoadMore.ts +1 -2
  70. package/src/lib/useLoadingShown.ts +1 -1
  71. package/src/molecules/AccentCard.tsx +11 -10
  72. package/src/molecules/CheckRow.tsx +3 -9
  73. package/src/molecules/ChoiceTiles.tsx +6 -4
  74. package/src/molecules/CommitTextField.tsx +15 -20
  75. package/src/molecules/ConfirmDialog.tsx +2 -8
  76. package/src/molecules/DateTimeInput.tsx +86 -68
  77. package/src/molecules/DurationInput.tsx +2 -2
  78. package/src/molecules/FieldGroup.tsx +1 -1
  79. package/src/molecules/FieldRow.tsx +1 -1
  80. package/src/molecules/FrequencyLimitRow.tsx +1 -1
  81. package/src/molecules/MetaTable.tsx +1 -1
  82. package/src/molecules/PhoneFrame.tsx +2 -2
  83. package/src/molecules/RemovableRow.tsx +3 -3
  84. package/src/molecules/RevealRadioGroup.tsx +5 -10
  85. package/src/molecules/RevealSwitch.tsx +2 -8
  86. package/src/molecules/Select.tsx +23 -23
  87. package/src/molecules/SideLabelRow.tsx +2 -2
  88. package/src/molecules/SplitButton.tsx +1 -1
  89. package/src/molecules/StatusButton.tsx +2 -8
  90. package/src/molecules/TagSelect.tsx +5 -5
  91. package/src/molecules/TransferLayout.tsx +2 -3
  92. package/src/molecules/TreeOptions.tsx +89 -65
  93. package/src/organisms/HourOfDayRow.tsx +5 -3
  94. package/src/organisms/HourOfWeekGrid.tsx +5 -3
  95. package/src/organisms/RuleGroups.tsx +3 -3
  96. package/src/organisms/SearchableGroupedList.tsx +2 -2
  97. package/src/organisms/TransferPicker.tsx +3 -3
  98. package/src/organisms/TreeSearchPanel.tsx +2 -2
  99. package/src/organisms/TreeSelect.tsx +4 -4
@@ -1,11 +1,10 @@
1
+ import { type ButtonProps } from "@astryxdesign/core/Button";
1
2
  import { StatusDot } from "@astryxdesign/core/StatusDot";
2
3
  import type { ComponentProps, ReactNode } from "react";
3
4
  /** The tone of a `StatusButton`'s dot. */
4
5
  export type StatusTone = ComponentProps<typeof StatusDot>["variant"];
5
6
  /** What `StatusButton` takes. */
6
- export type StatusButtonProps = {
7
- /** The button's text. */
8
- readonly label: string;
7
+ export type StatusButtonProps = Pick<ButtonProps, "label" | "icon" | "isDisabled"> & {
9
8
  /** The dot's tone: neutral, accent, success, warning or error. */
10
9
  readonly status: StatusTone;
11
10
  /** The texts the view shows; the host translates them. */
@@ -13,14 +12,10 @@ export type StatusButtonProps = {
13
12
  /** What the dot means, read out for it, e.g. "Connected". */
14
13
  readonly status: string;
15
14
  };
16
- /** A glyph before the text. */
17
- readonly icon?: ReactNode;
18
15
  /** Called when the button is pressed. */
19
16
  readonly onClick: () => void;
20
17
  /** The button's height, `md` by default. */
21
18
  readonly size?: "sm" | "md" | undefined;
22
- /** Dimmed and not pressable. */
23
- readonly isDisabled?: boolean | undefined;
24
19
  };
25
20
  /** A button whose dot shows a state beside its text, such as a connection. */
26
21
  export declare function StatusButton(props: StatusButtonProps): ReactNode;
@@ -29,7 +29,7 @@ export type TagSelectProps<V extends string> = {
29
29
  };
30
30
  /**
31
31
  * A small coloured tag showing the picked value; pressing it opens a popover with a heading and
32
- * every tag, wrapping, each picked by a press, which closes the popover. As antsomi-ui's
33
- * `SelectAssociatedTag` tag. Its state is whether the popover is open.
32
+ * every tag, wrapping, each picked by a press, which closes the popover.
33
+ * Its state is whether the popover is open.
34
34
  */
35
35
  export declare function TagSelect<V extends string>(props: TagSelectProps<V>): ReactNode;
@@ -33,7 +33,7 @@ export type TransferLayoutProps = {
33
33
  };
34
34
  };
35
35
  /**
36
- * Two columns side by side in one frame, as fe-app's audience picker: a header strip over two
36
+ * Two columns side by side in one frame: a header strip over two
37
37
  * equal columns of a fixed height whose lists scroll on their own, 1px lines between the parts
38
38
  * and no gap, and an optional footer under the start column. The headers and the lists' titles
39
39
  * sit outside the scrolling areas. Pure layout: every part is a slot. It holds no state.
@@ -32,13 +32,14 @@ export type TreeOptionsProps = {
32
32
  readonly size?: "sm" | "md" | undefined;
33
33
  };
34
34
  /**
35
- * The rows of a two-level tree to pick from, as fe-app's tree list: a group row shows its chevron
35
+ * The rows of a two-level tree to pick from: a group row shows its chevron
36
36
  * at the end (right when closed, down when open) and only opens and closes; a leaf is picked; a
37
37
  * disabled row does neither. Rows are the Selector's option rows (its styles, its option-row and
38
38
  * check theme targets, its check on the picked leaf at the end, where a group shows its chevron),
39
39
  * so a theme styles both alike: the picked row's look and whether a check shows are the theme's.
40
- * Tab reaches the picked leaf (else the first enabled row), Up and Down move between rows, Enter
41
- * and Space act. Its state is which groups are open.
40
+ * Tab initially reaches the picked leaf (else the first enabled row); arrows, Home and End move
41
+ * through enabled rows, Right opens or enters a group, Left collapses or returns to its parent,
42
+ * and Enter and Space act. Its state is which groups are open and which row has focus.
42
43
  */
43
44
  export declare function TreeOptions(props: TreeOptionsProps): ReactNode;
44
45
  export declare function leafOf(items: readonly TreeItem[], value: string): TreeItem | undefined;
@@ -5,49 +5,62 @@ import "@stylexjs/stylex";
5
5
  import { Icon as r } from "@astryxdesign/core/Icon";
6
6
  import { Text as i } from "@astryxdesign/core/Text";
7
7
  import { themeProps as a } from "@astryxdesign/core/utils";
8
- import { useState as o } from "react";
9
- import { useIndicator as s } from "@astryxdesign/core/Indicator";
8
+ import { Fragment as o, useId as s, useState as c } from "react";
9
+ import { useTreeFocus as l } from "@astryxdesign/core/hooks";
10
+ import { useIndicator as u } from "@astryxdesign/core/Indicator";
10
11
  // src/molecules/TreeOptions.tsx
11
- function c(c) {
12
- let p = e(13), { items: m, value: h } = c, g = c.size ?? "md", _;
13
- p[0] !== m || p[1] !== c.isExpandedByDefault || p[2] !== h ? (_ = () => new Set(m.flatMap((e) => e.children !== void 0 && (c.isExpandedByDefault === !0 || e.children.some((e) => e.value === h)) ? [e.value] : [])), p[0] = m, p[1] = c.isExpandedByDefault, p[2] = h, p[3] = _) : _ = p[3];
14
- let [v, y] = o(_), b;
15
- p[4] === v ? b = p[5] : (b = (e) => {
12
+ function d(d) {
13
+ let g = e(21), { items: _, value: v } = d, y = d.size ?? "md", b = s(), [x, S] = c(), C;
14
+ g[0] !== _ || g[1] !== d.isExpandedByDefault || g[2] !== v ? (C = () => new Set(_.flatMap((e) => e.children !== void 0 && (d.isExpandedByDefault === !0 || e.children.some((e) => e.value === v)) ? [e.value] : [])), g[0] = _, g[1] = d.isExpandedByDefault, g[2] = v, g[3] = C) : C = g[3];
15
+ let [w, T] = c(C), E;
16
+ g[4] === w ? E = g[5] : (E = (e) => {
16
17
  if (e.children === void 0) return [{
17
18
  item: e,
18
19
  level: 1
19
20
  }];
20
- let t = v.has(e.value), n = t ? e.children.map(u) : [];
21
+ let t = w.has(e.value), n = t ? e.children.map(m) : [];
21
22
  return [{
22
23
  item: e,
23
24
  level: 1,
24
25
  isOpen: t
25
26
  }].concat(n);
26
- }, p[4] = v, p[5] = b);
27
- let x = m.flatMap(b), S = s("check"), C = x.filter(l), w = C.find((e) => e.isOpen === void 0 && e.item.value === h) ?? C[0], T;
28
- p[6] !== v || p[7] !== c ? (T = (e) => {
27
+ }, g[4] = w, g[5] = E);
28
+ let D = _.flatMap(E), O = u("check"), k = D.filter(p), A = k.find((e) => e.item.value === x) ?? k.find((e) => e.isOpen === void 0 && e.item.value === v) ?? k[0], j;
29
+ g[6] !== w || g[7] !== d ? (j = (e) => {
29
30
  if (e.item.isDisabled === !0) return;
30
31
  if (e.isOpen === void 0) {
31
- c.onChange(e.item.value);
32
+ d.onChange(e.item.value);
32
33
  return;
33
34
  }
34
- let t = new Set(v);
35
- t.delete(e.item.value) || t.add(e.item.value), y(t);
36
- }, p[6] = v, p[7] = c, p[8] = T) : T = p[8];
37
- let E = T, D = c.label, O = f, k = x.map((e) => /* @__PURE__ */ n("div", {
35
+ let t = new Set(w);
36
+ t.delete(e.item.value) || t.add(e.item.value), T(t);
37
+ }, g[6] = w, g[7] = d, g[8] = j) : j = g[8];
38
+ let M = j, N = (e) => {
39
+ let t = D.find((t) => t.item.value === e);
40
+ t !== void 0 && M(t);
41
+ }, { treeRef: P, handleKeyDown: F } = l({
42
+ itemSelector: "[role=\"treeitem\"]:not([aria-disabled=\"true\"])",
43
+ onToggleExpand: N,
44
+ onActivate: (e, t) => (N(t), !0)
45
+ }), I;
46
+ g[9] === b ? I = g[10] : (I = (e) => `${b}-${encodeURIComponent(e.item.value)}`, g[9] = b, g[10] = I);
47
+ let L = I, R = (e) => /* @__PURE__ */ n("div", {
38
48
  role: "treeitem",
49
+ "aria-label": e.item.label,
50
+ "data-tree-id": e.item.value,
39
51
  "aria-level": e.level,
40
52
  "aria-expanded": e.isOpen,
41
- "aria-selected": e.isOpen === void 0 ? e.item.value === h : void 0,
53
+ "aria-owns": e.isOpen === !0 ? L(e) : void 0,
54
+ "aria-selected": e.isOpen === void 0 ? e.item.value === v : void 0,
42
55
  "aria-disabled": e.item.isDisabled === !0 || void 0,
43
- tabIndex: e === w ? 0 : -1,
44
- onClick: () => {
45
- E(e);
56
+ tabIndex: e.item === A?.item ? 0 : -1,
57
+ onFocus: () => {
58
+ S(e.item.value);
46
59
  },
47
- onKeyDown: (t) => {
48
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), E(e));
60
+ onClick: () => {
61
+ M(e);
49
62
  },
50
- ...d(e, g, h),
63
+ ...h(e, y, v),
51
64
  children: [/* @__PURE__ */ t("span", {
52
65
  className: "aui78zum5 aui6s0dn4 aui1txdalj aui98rzlu auieuugli",
53
66
  children: /* @__PURE__ */ t(i, {
@@ -61,8 +74,8 @@ function c(c) {
61
74
  0: { className: "aui2lah0s auigomdpo aui14ju556" },
62
75
  1: { className: "aui2lah0s auigomdpo aui14ju556 aui3nfvp2 aui6s0dn4 auil56j7k" }
63
76
  }[e.isOpen !== void 0 | 0],
64
- children: e.isOpen === void 0 ? /* @__PURE__ */ t(S, {
65
- state: e.item.value === h ? "checked" : "unchecked",
77
+ children: e.isOpen === void 0 ? /* @__PURE__ */ t(O, {
78
+ state: e.item.value === v ? "checked" : "unchecked",
66
79
  size: "sm",
67
80
  isDisabled: e.item.isDisabled === !0,
68
81
  ...a("selector-check")
@@ -72,24 +85,41 @@ function c(c) {
72
85
  color: "secondary"
73
86
  })
74
87
  })]
75
- }, e.item.value)), A;
76
- return p[9] !== c.label || p[10] !== O || p[11] !== k ? (A = /* @__PURE__ */ t("div", {
88
+ }, e.item.value), z = d.label, B;
89
+ g[11] === P ? B = g[12] : (B = (e) => {
90
+ P.current = e;
91
+ }, g[11] = P, g[12] = B);
92
+ let V;
93
+ g[13] !== L || g[14] !== R ? (V = (e) => /* @__PURE__ */ n(o, { children: [R(e), e.isOpen === !0 && /* @__PURE__ */ t("div", {
94
+ role: "group",
95
+ id: L(e),
96
+ children: e.item.children?.map((e) => R({
97
+ item: e,
98
+ level: 2
99
+ }))
100
+ })] }, e.item.value), g[13] = L, g[14] = R, g[15] = V) : V = g[15];
101
+ let H = D.filter(f).map(V), U;
102
+ return g[16] !== F || g[17] !== d.label || g[18] !== B || g[19] !== H ? (U = /* @__PURE__ */ t("div", {
77
103
  role: "tree",
78
- "aria-label": D,
79
- onKeyDown: O,
80
- children: k
81
- }), p[9] = c.label, p[10] = O, p[11] = k, p[12] = A) : A = p[12], A;
104
+ "aria-label": z,
105
+ ref: B,
106
+ onKeyDown: F,
107
+ children: H
108
+ }), g[16] = F, g[17] = d.label, g[18] = B, g[19] = H, g[20] = U) : U = g[20], U;
82
109
  }
83
- function l(e) {
110
+ function f(e) {
111
+ return e.level === 1;
112
+ }
113
+ function p(e) {
84
114
  return e.item.isDisabled !== !0;
85
115
  }
86
- function u(e) {
116
+ function m(e) {
87
117
  return {
88
118
  item: e,
89
119
  level: 2
90
120
  };
91
121
  }
92
- function d(e, t, n) {
122
+ function h(e, t, n) {
93
123
  let r = e.isOpen === void 0 && e.item.value === n, i = e.item.isDisabled === !0, o = a("selector-option-row", {
94
124
  size: t,
95
125
  selected: r ? "selected" : null,
@@ -110,14 +140,7 @@ function d(e, t, n) {
110
140
  ...s.style && { style: s.style }
111
141
  };
112
142
  }
113
- function f(e) {
114
- let t = e.key === "ArrowDown" ? 1 : e.key === "ArrowUp" ? -1 : 0;
115
- if (t === 0) return;
116
- e.preventDefault();
117
- let n = [...e.currentTarget.querySelectorAll("[role=\"treeitem\"]")], r = n.findIndex((t) => t === e.target);
118
- n[Math.min(Math.max(r + t, 0), n.length - 1)]?.focus();
119
- }
120
- function p(e, t) {
143
+ function g(e, t) {
121
144
  for (let n of e) if (n.children === void 0) {
122
145
  if (n.value === t) return n;
123
146
  } else {
@@ -125,7 +148,7 @@ function p(e, t) {
125
148
  if (e !== void 0) return e;
126
149
  }
127
150
  }
128
- function m(e, t) {
151
+ function _(e, t) {
129
152
  let n = t.trim().toLowerCase();
130
153
  if (n === "") return [...e];
131
154
  let r = (e) => e.label.toLowerCase().includes(n);
@@ -138,4 +161,4 @@ function m(e, t) {
138
161
  }] : [];
139
162
  });
140
163
  }
141
- export { c as TreeOptions, p as leafOf, m as matchTree };
164
+ export { d as TreeOptions, g as leafOf, _ as matchTree };
@@ -133,11 +133,11 @@ var h = {
133
133
  $$css: !0
134
134
  },
135
135
  liveOn: {
136
- kWkggS: "aui1ewilqj auia3af2z",
136
+ kWkggS: "aui1ewilqj aui1komwgl",
137
137
  $$css: !0
138
138
  },
139
139
  liveOff: {
140
- kWkggS: "aui17x4s8c auia3af2z",
140
+ kWkggS: "aui17x4s8c aui1komwgl",
141
141
  $$css: !0
142
142
  }
143
143
  };
@@ -210,11 +210,11 @@ var x = {
210
210
  $$css: !0
211
211
  },
212
212
  liveOn: {
213
- kWkggS: "aui1ewilqj auia3af2z",
213
+ kWkggS: "aui1ewilqj aui1komwgl",
214
214
  $$css: !0
215
215
  },
216
216
  liveOff: {
217
- kWkggS: "aui17x4s8c auia3af2z",
217
+ kWkggS: "aui17x4s8c aui1komwgl",
218
218
  $$css: !0
219
219
  }
220
220
  };
@@ -47,11 +47,11 @@ export type RuleGroupsProps<R> = {
47
47
  readonly isReadOnly?: boolean | undefined;
48
48
  };
49
49
  /**
50
- * Rules in groups, as fe-app's attribute filter: each rule a card with an accent stripe, a title
50
+ * Rules in groups: each rule a card with an accent stripe, a title
51
51
  * and a close button; the word "and" under each card but a group's last, and a pill button adding
52
52
  * a rule at the end of the group; a dashed divider with "or" between groups, and a pill button
53
- * adding a group after the last; each word in capitals, as fe-app's. Unlike a list's add, an add at its limit (`maxRules`,
54
- * `maxGroups`) is gone, as fe-app's. The only rule left has no close button, so the groups are
53
+ * adding a group after the last; each word in capitals. Unlike a list's add, an add at its limit (`maxRules`,
54
+ * `maxGroups`) is hidden. The only rule left has no close button, so the groups are
55
55
  * never emptied from here; with no group at all only the button adding one shows. It holds no
56
56
  * state.
57
57
  */
@@ -50,7 +50,7 @@ export type SearchableGroupedListProps<I> = {
50
50
  /**
51
51
  * Caps the height, the groups scrolling under the search box, in a pop-over say; with no
52
52
  * `maxHeight` it fills its parent's height, in a side panel say. The list then pads its own edges,
53
- * so the search row (its magnifier at the end, as fe-app's) and the rule under it reach the
53
+ * so the search row (its magnifier at the end) and the rule under it reach the
54
54
  * edges of a flush (unpadded) surface, and so does the scrollbar.
55
55
  */
56
56
  readonly scroll?: {
@@ -117,7 +117,7 @@ export type TransferPickerProps<V extends string> = Pick<LoadMoreOptions, "onLoa
117
117
  readonly error?: string | undefined;
118
118
  };
119
119
  /**
120
- * Picks options in two columns of one frame, as fe-app's target selection: a header strip with
120
+ * Picks options in two columns of one frame: a header strip with
121
121
  * the search (and the host's controls) over the options to tick, and the host's controls with
122
122
  * "Remove all" over the picked ones in framed rows with a remove button. Searching matches every
123
123
  * word, in any case; it stays cheap for thousands of options, and a new search scrolls the
@@ -14,75 +14,78 @@ import { Divider as f } from "@astryxdesign/core/Divider";
14
14
  import { ScrollableArea as p } from "@astryxdesign/core/ScrollableArea";
15
15
  // src/organisms/TreeSearchPanel.tsx
16
16
  function m(m) {
17
- let _ = s(45), { value: v, more: y, labels: b } = m, x = i(!0), S = y.isLoadingMore === !0, C = m.isSearchedByHost ? [...m.items] : r(m.items, v), { rootRef: w, sentinelRef: T } = a({
18
- ...y,
19
- hasLoadMoreError: b.loadMoreError !== void 0,
20
- itemCount: C.length
21
- }), E = C.filter(h).length, D;
22
- _[0] === m.labels.clear ? D = _[1] : (D = { clear: m.labels.clear }, _[0] = m.labels.clear, _[1] = D);
23
- let O;
24
- _[2] !== m.labels.search || _[3] !== m.onChange || _[4] !== v || _[5] !== x || _[6] !== D ? (O = /* @__PURE__ */ c(e, {
17
+ let v = s(45), { value: y, more: b, labels: x } = m, S = i(!0), C = b.isLoadingMore === !0, w = m.isSearchedByHost ? [...m.items] : r(m.items, y), { rootRef: T, sentinelRef: E } = a({
18
+ ...b,
19
+ hasLoadMoreError: x.loadMoreError !== void 0,
20
+ itemCount: w.reduce(g, 0)
21
+ }), D = w.filter(h).length, O;
22
+ v[0] === m.labels.clear ? O = v[1] : (O = { clear: m.labels.clear }, v[0] = m.labels.clear, v[1] = O);
23
+ let k;
24
+ v[2] !== m.labels.search || v[3] !== m.onChange || v[4] !== y || v[5] !== S || v[6] !== O ? (k = /* @__PURE__ */ c(e, {
25
25
  label: m.labels.search,
26
- labels: D,
27
- value: v,
26
+ labels: O,
27
+ value: y,
28
28
  onChange: m.onChange,
29
- ref: x
30
- }), _[2] = m.labels.search, _[3] = m.onChange, _[4] = v, _[5] = x, _[6] = D, _[7] = O) : O = _[7];
31
- let k;
32
- _[8] === Symbol.for("react.memo_cache_sentinel") ? (k = /* @__PURE__ */ c(f, {}), _[8] = k) : k = _[8];
29
+ ref: S
30
+ }), v[2] = m.labels.search, v[3] = m.onChange, v[4] = y, v[5] = S, v[6] = O, v[7] = k) : k = v[7];
33
31
  let A;
34
- _[9] !== E || _[10] !== S || _[11] !== b.loadMoreError || _[12] !== b.loading || _[13] !== b.noMatch || _[14] !== y.isLoading || _[15] !== m.isExpandedByDefault || _[16] !== m.label || _[17] !== m.onPick || _[18] !== m.selectedValue || _[19] !== m.size || _[20] !== v || _[21] !== C ? (A = (y.isLoading === !0 || S) && C.length === 0 ? /* @__PURE__ */ c(t, { labels: { loading: b.loading } }) : C.length === 0 ? b.loadMoreError === void 0 && /* @__PURE__ */ c(u, {
32
+ v[8] === Symbol.for("react.memo_cache_sentinel") ? (A = /* @__PURE__ */ c(f, {}), v[8] = A) : A = v[8];
33
+ let j;
34
+ v[9] !== D || v[10] !== C || v[11] !== x.loadMoreError || v[12] !== x.loading || v[13] !== x.noMatch || v[14] !== b.isLoading || v[15] !== m.isExpandedByDefault || v[16] !== m.label || v[17] !== m.onPick || v[18] !== m.selectedValue || v[19] !== m.size || v[20] !== y || v[21] !== w ? (j = (b.isLoading === !0 || C) && w.length === 0 ? /* @__PURE__ */ c(t, { labels: { loading: x.loading } }) : w.length === 0 ? x.loadMoreError === void 0 && /* @__PURE__ */ c(u, {
35
35
  type: "supporting",
36
36
  as: "p",
37
- xstyle: g.noMatch,
38
- children: b.noMatch
37
+ xstyle: _.noMatch,
38
+ children: x.noMatch
39
39
  }) : /* @__PURE__ */ c(n, {
40
40
  label: m.label,
41
- items: C,
41
+ items: w,
42
42
  value: m.selectedValue,
43
43
  size: m.size,
44
- isExpandedByDefault: m.isExpandedByDefault || v.trim() !== "" || E === 1,
44
+ isExpandedByDefault: m.isExpandedByDefault || y.trim() !== "" || D === 1,
45
45
  onChange: m.onPick
46
- }, v), _[9] = E, _[10] = S, _[11] = b.loadMoreError, _[12] = b.loading, _[13] = b.noMatch, _[14] = y.isLoading, _[15] = m.isExpandedByDefault, _[16] = m.label, _[17] = m.onPick, _[18] = m.selectedValue, _[19] = m.size, _[20] = v, _[21] = C, _[22] = A) : A = _[22];
47
- let j = S && C.length > 0, M;
48
- _[23] !== b.loadMoreError || _[24] !== b.retry || _[25] !== y.onRetryLoadMore ? (M = b.retry !== void 0 && {
49
- error: b.loadMoreError,
50
- onRetry: y.onRetryLoadMore
51
- }, _[23] = b.loadMoreError, _[24] = b.retry, _[25] = y.onRetryLoadMore, _[26] = M) : M = _[26];
52
- let N = b.retry ?? "", P;
53
- _[27] === N ? P = _[28] : (P = { retry: N }, _[27] = N, _[28] = P);
54
- let F;
55
- _[29] !== m.size || _[30] !== T || _[31] !== j || _[32] !== M || _[33] !== P ? (F = /* @__PURE__ */ c(d, {
46
+ }, y), v[9] = D, v[10] = C, v[11] = x.loadMoreError, v[12] = x.loading, v[13] = x.noMatch, v[14] = b.isLoading, v[15] = m.isExpandedByDefault, v[16] = m.label, v[17] = m.onPick, v[18] = m.selectedValue, v[19] = m.size, v[20] = y, v[21] = w, v[22] = j) : j = v[22];
47
+ let M = C && w.length > 0, N;
48
+ v[23] !== x.loadMoreError || v[24] !== x.retry || v[25] !== b.onRetryLoadMore ? (N = x.retry !== void 0 && {
49
+ error: x.loadMoreError,
50
+ onRetry: b.onRetryLoadMore
51
+ }, v[23] = x.loadMoreError, v[24] = x.retry, v[25] = b.onRetryLoadMore, v[26] = N) : N = v[26];
52
+ let P = x.retry ?? "", F;
53
+ v[27] === P ? F = v[28] : (F = { retry: P }, v[27] = P, v[28] = F);
54
+ let I;
55
+ v[29] !== m.size || v[30] !== E || v[31] !== M || v[32] !== N || v[33] !== F ? (I = /* @__PURE__ */ c(d, {
56
56
  paddingInline: 2,
57
57
  children: /* @__PURE__ */ c(o, {
58
- isLoadingMore: j,
59
- ...M,
60
- labels: P,
58
+ isLoadingMore: M,
59
+ ...N,
60
+ labels: F,
61
61
  size: m.size,
62
- sentinelRef: T
62
+ sentinelRef: E
63
63
  })
64
- }), _[29] = m.size, _[30] = T, _[31] = j, _[32] = M, _[33] = P, _[34] = F) : F = _[34];
65
- let I;
66
- _[35] !== A || _[36] !== F ? (I = /* @__PURE__ */ l(d, { children: [A, F] }), _[35] = A, _[36] = F, _[37] = I) : I = _[37];
64
+ }), v[29] = m.size, v[30] = E, v[31] = M, v[32] = N, v[33] = F, v[34] = I) : I = v[34];
67
65
  let L;
68
- _[38] !== m.label || _[39] !== w || _[40] !== I ? (L = /* @__PURE__ */ c(p, {
66
+ v[35] !== j || v[36] !== I ? (L = /* @__PURE__ */ l(d, { children: [j, I] }), v[35] = j, v[36] = I, v[37] = L) : L = v[37];
67
+ let R;
68
+ v[38] !== m.label || v[39] !== T || v[40] !== L ? (R = /* @__PURE__ */ c(p, {
69
69
  label: m.label,
70
70
  paddingBlock: 1,
71
- xstyle: g.list,
72
- ref: w,
73
- children: I
74
- }), _[38] = m.label, _[39] = w, _[40] = I, _[41] = L) : L = _[41];
75
- let R;
76
- return _[42] !== O || _[43] !== L ? (R = /* @__PURE__ */ l(d, { children: [
77
- O,
71
+ xstyle: _.list,
72
+ ref: T,
73
+ children: L
74
+ }), v[38] = m.label, v[39] = T, v[40] = L, v[41] = R) : R = v[41];
75
+ let z;
76
+ return v[42] !== k || v[43] !== R ? (z = /* @__PURE__ */ l(d, { children: [
78
77
  k,
79
- L
80
- ] }), _[42] = O, _[43] = L, _[44] = R) : R = _[44], R;
78
+ A,
79
+ R
80
+ ] }), v[42] = k, v[43] = R, v[44] = z) : z = v[44], z;
81
81
  }
82
82
  function h(e) {
83
83
  return e.children !== void 0;
84
84
  }
85
- var g = {
85
+ function g(e, t) {
86
+ return e + 1 + (t.children?.length ?? 0);
87
+ }
88
+ var _ = {
86
89
  list: {
87
90
  kskxy: "aui1hkcv85",
88
91
  $$css: !0
@@ -62,7 +62,7 @@ export type TreeSelectProps = Pick<LoadMoreOptions, "onLoadMore" | "hasMore" | "
62
62
  readonly isLoading?: boolean | undefined;
63
63
  /** The trigger's width, in pixels or any CSS length such as `"100%"`; as wide as its content without it. */
64
64
  readonly width?: number | string | undefined;
65
- /** The trigger's size, `md` by default (30px, as fe-app's controls). */
65
+ /** The trigger's size, `md` by default (the theme's 30px control height). */
66
66
  readonly size?: "sm" | "md" | undefined;
67
67
  /** Dims the trigger and blocks it. */
68
68
  readonly isDisabled?: boolean | undefined;
@@ -78,8 +78,8 @@ export type TreeSelectProps = Pick<LoadMoreOptions, "onLoadMore" | "hasMore" | "
78
78
  readonly startAddon?: ReactNode;
79
79
  };
80
80
  /**
81
- * A Selector-like trigger opening a popover with a search box over a two-level tree, as fe-app's
82
- * `UISelectCondition use="tree"`: a group row (its chevron at the end) only opens and closes, a
81
+ * A Selector-like trigger opening a popover with a search box over a two-level tree:
82
+ * a group row (its chevron at the end) only opens and closes, a
83
83
  * leaf is picked and closes the popover, a disabled row is not picked. The search keeps a leaf
84
84
  * whose label matches and a group whose label or a child's matches, with only its matching
85
85
  * children, every group open; with `onSearchChange` the host searches instead. With
package/dist/ui.css CHANGED
@@ -1 +1 @@
1
- @property --x-flexBasis{syntax:"*";inherits:false}@property --x-flexShrink{syntax:"*";inherits:false}@property --x-gridColumn{syntax:"*";inherits:false}@property --x-gridTemplateColumns{syntax:"*";inherits:false}@property --x-gridTemplateRows{syntax:"*";inherits:false}@property --x-height{syntax:"*";inherits:false}@property --x-justifySelf{syntax:"*";inherits:false}@property --x-maxHeight{syntax:"*";inherits:false}@property --x-maxWidth{syntax:"*";inherits:false}@property --x-width{syntax:"*";inherits:false}.aui1im1wfi{--color-text-primary:var(--color-text-secondary)}.auifhnz8n{--mh-field-control-max:var(--ants-mh-field-control-max,400px)}.auinpej1e{--radius-element:var(--radius-full)}.auij451x2{--text-body-leading:var(--text-heading-3-leading)}.auimdtmk4{--text-body-size:var(--text-heading-3-size)}.auioco1iw{--text-body-size:var(--text-supporting-size)}.auiln7xf2:not(#\#){font:inherit}.aui15r89dc:not(#\#){grid-area:1/1}.aui10a8y8t:not(#\#){inset:0}.aui1ghz6dp:not(#\#){margin:0}.aui1717udv:not(#\#){padding:0}.aui7z7khe:not(#\#){padding:10px}.auilsj2fj:not(#\#){padding:var(--spacing-2)}.aui1b2ylru:not(#\#){padding:var(--spacing-3)}.auixbl87b:not(#\#):not(#\#){border-color:var(--ants-mh-gray-200)}.aui1wt0qvg:not(#\#):not(#\#){border-color:var(--ants-mh-gray-300)}.aui1touxvs:not(#\#):not(#\#){border-color:var(--color-background-surface)}.aui1ofxpqo:not(#\#):not(#\#){border-color:var(--color-error)}.auiqcx1ss:not(#\#):not(#\#){border-color:var(--color-text-primary)}.aui2u8bby:not(#\#):not(#\#){border-radius:0}.aui9h44rk:not(#\#):not(#\#){border-radius:13px}.aui1nj7uno:not(#\#):not(#\#){border-radius:1px}.auiaqawyj:not(#\#):not(#\#){border-radius:38px}.aui18zih8k:not(#\#):not(#\#){border-radius:3px}.aui1pl3jqz:not(#\#):not(#\#){border-radius:48px}.aui16rqkct:not(#\#):not(#\#){border-radius:50%}.auih6dtrn:not(#\#):not(#\#){border-radius:var(--radius-element)}.auijspbzw:not(#\#):not(#\#){border-radius:var(--radius-full)}.auix3sua9:not(#\#):not(#\#){border-radius:var(--radius-inner)}.auing3xce:not(#\#):not(#\#){border-style:none}.aui1y0btm7:not(#\#):not(#\#){border-style:solid}.auic342km:not(#\#):not(#\#){border-width:0}.auimkeg23:not(#\#):not(#\#){border-width:1px}.auidh2fpr:not(#\#):not(#\#){border-width:2px}.aui1litavf:not(#\#):not(#\#){border-width:var(--border-width)}.aui98rzlu:not(#\#):not(#\#){flex:1}.aui1s4dlld:not(#\#):not(#\#){gap:var(--spacing-1-5)}.auizye2dw:not(#\#):not(#\#){gap:var(--spacing-1)}.aui1txdalj:not(#\#):not(#\#){gap:var(--spacing-2)}.auijcht0a:not(#\#):not(#\#){gap:var(--spacing-3)}.aui18g69wz:not(#\#):not(#\#){gap:var(--spacing-4)}.auigkxs2y:not(#\#):not(#\#){grid-column:1}.aui1npkx4u:not(#\#):not(#\#){grid-column:2}.aui14d52f8:not(#\#):not(#\#){grid-column:var(--x-gridColumn)}.auia1s216:not(#\#):not(#\#){grid-row:1/span 2}.aui1ms6mhf:not(#\#):not(#\#){grid-row:1}.aui7sv70a:not(#\#):not(#\#){grid-row:2}.auiz51j44:not(#\#):not(#\#){grid-row:3}.aui17y0mx6:not(#\#):not(#\#){inset-inline:0}.auinn75i4:not(#\#):not(#\#){margin-inline:-10px}.auivueqy4:not(#\#):not(#\#){margin-inline:auto}.aui1a2a7pz:not(#\#):not(#\#){outline:none}.auib3r6kr:not(#\#):not(#\#){overflow:hidden}.auit970qd:not(#\#):not(#\#){padding-block:0}.auip59q4u:not(#\#):not(#\#){padding-block:10px}.aui1t0vds8:not(#\#):not(#\#){padding-block:6px}.aui1vofgu7:not(#\#):not(#\#){padding-block:var(--spacing-1-5)}.auiu0wf1k:not(#\#):not(#\#){padding-block:var(--spacing-1)}.auice4md1:not(#\#):not(#\#){padding-block:var(--spacing-2)}.aui1awh872:not(#\#):not(#\#){padding-inline:10px}.aui3y1lgt:not(#\#):not(#\#){padding-inline:3px}.aui2hg6jq:not(#\#):not(#\#){padding-inline:calc(var(--spacing-1) + var(--border-width))}.auif314gf:not(#\#):not(#\#){padding-inline:var(--spacing-2)}.auirrkdod:not(#\#):not(#\#){padding-inline:var(--spacing-3)}.aui1hl2dhg:not(#\#):not(#\#){text-decoration:none}.aui1pha0wt:not(#\#):not(#\#):not(#\#){align-items:baseline}.aui6s0dn4:not(#\#):not(#\#):not(#\#){align-items:center}.auiuk3077:not(#\#):not(#\#):not(#\#){align-items:flex-end}.auipte31b:not(#\#):not(#\#):not(#\#){aspect-ratio:290/600}.auijbqb8w:not(#\#):not(#\#):not(#\#){background-color:#0000}.aui1vm1evv:not(#\#):not(#\#):not(#\#){background-color:var(--ants-mh-black)}.aui1gbsizx:not(#\#):not(#\#):not(#\#){background-color:var(--ants-mh-blue-200)}.aui1mu13x8:not(#\#):not(#\#):not(#\#){background-color:var(--ants-mh-blue-50)}.auic4yk2q:not(#\#):not(#\#):not(#\#){background-color:var(--ants-mh-blue-500)}.auial5by5:not(#\#):not(#\#):not(#\#){background-color:var(--ants-mh-blue-750)}.auiuv6gl1:not(#\#):not(#\#):not(#\#){background-color:var(--ants-mh-cyan-500)}.auijru1km:not(#\#):not(#\#):not(#\#){background-color:var(--ants-mh-gray-75)}.aui16cij4:not(#\#):not(#\#):not(#\#){background-color:var(--ants-mh-green-600)}.aui1ewilqj:not(#\#):not(#\#):not(#\#){background-color:var(--color-accent)}.auiwmxj5m:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-muted)}.aui10xzikg:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-surface)}.aui17x4s8c:not(#\#):not(#\#):not(#\#){background-color:var(--color-neutral)}.aui19aspcf:not(#\#):not(#\#):not(#\#){background-color:var(--color-text-primary)}.auiun97om:not(#\#):not(#\#):not(#\#){border-inline-end-color:var(--ants-mh-gray-200)}.aui18b5jzi:not(#\#):not(#\#):not(#\#){border-inline-end-style:solid}.auiw8tdv1:not(#\#):not(#\#):not(#\#){border-inline-end-width:var(--border-width)}.aui1s784a7:not(#\#):not(#\#):not(#\#){border-inline-start-color:var(--color-accent)}.aui56jcm7:not(#\#):not(#\#):not(#\#){border-inline-start-width:4px}.aui1urk8h6:not(#\#):not(#\#):not(#\#){box-shadow:0 -8px 24px #0000004d}.aui70qkqb:not(#\#):not(#\#):not(#\#){box-shadow:0 0 0 3px var(--ants-mh-gray-700)}.auikukrt6:not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 1px var(--color-background-surface)}.aui14hfi27:not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-med)}.aui9f619:not(#\#):not(#\#):not(#\#){box-sizing:border-box}.aui1afcbsf:not(#\#):not(#\#):not(#\#){box-sizing:content-box}.aui1heor9g:not(#\#):not(#\#):not(#\#){color:inherit}.auiqwr325:not(#\#):not(#\#):not(#\#){color:var(--color-accent)}.auijt36v0:not(#\#):not(#\#):not(#\#){color:var(--color-error)}.aui17wrial:not(#\#):not(#\#):not(#\#){color:var(--color-on-accent)}.aui1tgivj0:not(#\#):not(#\#):not(#\#){color:var(--color-text-primary)}.auiv1l7n4:not(#\#):not(#\#):not(#\#){color:var(--color-text-secondary)}.aui9cihph:not(#\#):not(#\#):not(#\#){contain:size}.auit0e3qv:not(#\#):not(#\#):not(#\#){cursor:default}.aui1ypdohk:not(#\#):not(#\#):not(#\#){cursor:pointer}.auijp7ctv:not(#\#):not(#\#):not(#\#){display:contents}.aui78zum5:not(#\#):not(#\#):not(#\#){display:flex}.auirvj5dj:not(#\#):not(#\#):not(#\#){display:grid}.aui3nfvp2:not(#\#):not(#\#):not(#\#){display:inline-flex}.auiwz0xwf:not(#\#):not(#\#):not(#\#){display:inline-grid}.aui1r8uery:not(#\#):not(#\#):not(#\#){flex-basis:0}.aui5z4jtk:not(#\#):not(#\#):not(#\#){flex-basis:240px}.aui1mz2wy7:not(#\#):not(#\#):not(#\#){flex-basis:var(--x-flexBasis)}.auidt5ytf:not(#\#):not(#\#):not(#\#){flex-direction:column}.aui1iyjqo2:not(#\#):not(#\#):not(#\#){flex-grow:1}.aui2lah0s:not(#\#):not(#\#):not(#\#){flex-shrink:0}.auis83m0k:not(#\#):not(#\#):not(#\#){flex-shrink:1}.auin95wi4:not(#\#):not(#\#):not(#\#){flex-shrink:var(--x-flexShrink)}.aui9ynric:not(#\#):not(#\#):not(#\#){font-family:var(--font-family-body)}.aui1j6dyjg:not(#\#):not(#\#):not(#\#){font-size:11px}.auijm74w1:not(#\#):not(#\#):not(#\#){font-size:var(--text-body-size)}.auiii13ha:not(#\#):not(#\#):not(#\#){font-size:var(--text-heading-3-size)}.auicr08ib:not(#\#):not(#\#):not(#\#){font-size:var(--text-label-size)}.aui117nqv4:not(#\#):not(#\#):not(#\#){font-weight:700}.aui1sodnla:not(#\#):not(#\#):not(#\#){font-weight:var(--font-weight-normal)}.aui1l7s2pe:not(#\#):not(#\#):not(#\#){grid-template-columns:76px repeat(24,24px)}.auicjjqqt:not(#\#):not(#\#):not(#\#){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auivd4qgy:not(#\#):not(#\#):not(#\#){grid-template-columns:repeat(24,24px)}.aui185a7wo:not(#\#):not(#\#):not(#\#){grid-template-columns:repeat(3,minmax(0,1fr))}.auiqketvx:not(#\#):not(#\#):not(#\#){grid-template-columns:var(--x-gridTemplateColumns)}.aui1xxtoay:not(#\#):not(#\#):not(#\#){grid-template-rows:var(--x-gridTemplateRows)}.auixx7yvo:not(#\#):not(#\#):not(#\#){inset-inline-end:4px}.auiy3asu9:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--spacing-1)}.auil56j7k:not(#\#):not(#\#):not(#\#){justify-content:center}.aui13a6bvl:not(#\#):not(#\#):not(#\#){justify-content:flex-end}.aui1qughib:not(#\#):not(#\#):not(#\#){justify-content:space-between}.aui4xo5sw:not(#\#):not(#\#):not(#\#){justify-items:end}.auigszztp:not(#\#):not(#\#):not(#\#){justify-self:var(--x-justifySelf)}.aui14ju556:not(#\#):not(#\#):not(#\#){line-height:0}.aui1d3mw78:not(#\#):not(#\#):not(#\#){line-height:16px}.aui13o0xn4:not(#\#):not(#\#):not(#\#){line-height:calc(var(--text-body-size) * var(--text-body-leading))}.auiwjzt0u:not(#\#):not(#\#):not(#\#){line-height:var(--text-heading-3-leading)}.aui1kq96og:not(#\#):not(#\#):not(#\#){line-height:var(--text-label-leading)}.aui1mpyi22:not(#\#):not(#\#):not(#\#){margin-inline-end:1px}.auinur1sd:not(#\#):not(#\#):not(#\#){margin-inline-end:var(--spacing-1)}.auidzw4kq:not(#\#):not(#\#):not(#\#){margin-inline-start:6px}.auivc5jky:not(#\#):not(#\#):not(#\#){margin-inline-start:auto}.aui11g1kdw:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--spacing-1)}.aui19kjcj4:not(#\#):not(#\#):not(#\#){object-fit:contain}.auiti2d7y:not(#\#):not(#\#):not(#\#){opacity:.4}.auibyyjgo:not(#\#):not(#\#):not(#\#){opacity:.5}.aui197sbye:not(#\#):not(#\#):not(#\#){opacity:.6}.auig01cxk:not(#\#):not(#\#):not(#\#){opacity:0}.aui1hc1fzr:not(#\#):not(#\#):not(#\#){opacity:1}.aui2ssjo2:not(#\#):not(#\#):not(#\#){outline-offset:-2px}.auiyri2b:not(#\#):not(#\#):not(#\#){padding-inline-end:0}.auiaso8d8:not(#\#):not(#\#):not(#\#){padding-inline-start:5px}.aui1dsw6jg:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(20px + var(--spacing-2))}.auig86vuh:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(24px + var(--spacing-2))}.aui1eib973:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(var(--spacing-2) + var(--spacing-4))}.aui67bb7w:not(#\#):not(#\#):not(#\#){pointer-events:auto}.aui47corl:not(#\#):not(#\#):not(#\#){pointer-events:none}.aui10l6tqk:not(#\#):not(#\#):not(#\#){position:absolute}.aui1n2onr6:not(#\#):not(#\#):not(#\#){position:relative}.aui2b8uid:not(#\#):not(#\#):not(#\#){text-align:center}.aui1yc453h:not(#\#):not(#\#):not(#\#){text-align:start}.auitvhhri:not(#\#):not(#\#):not(#\#){text-transform:uppercase}.aui5ve5x3:not(#\#):not(#\#):not(#\#){touch-action:none}.aui19jd1h0:not(#\#):not(#\#):not(#\#){transform:rotate(180deg)}.aui1cb1t30:not(#\#):not(#\#):not(#\#){transform:translateY(-50%)}.auiuedmi6:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast)}.aui11xpdln:not(#\#):not(#\#):not(#\#){transition-property:transform}.aui87ps6o:not(#\#):not(#\#):not(#\#){-webkit-user-select:none;user-select:none}.auixymvpz:not(#\#):not(#\#):not(#\#){vertical-align:middle}.auiuxw1ft:not(#\#):not(#\#):not(#\#){white-space:nowrap}.auiop90c9.auiop90c9:where(.aui-default-marker:focus-within *):not(#\#):not(#\#):not(#\#){opacity:0}.aui15nwlk0.aui15nwlk0:where(.aui-default-marker:focus-within *):not(#\#):not(#\#):not(#\#){opacity:1}.aui1nays3n.aui1nays3n:where(.aui-default-marker:focus-within *):not(#\#):not(#\#):not(#\#){pointer-events:auto}.aui1hdpjie.aui1hdpjie:where(.aui-default-marker:focus-within *):not(#\#):not(#\#):not(#\#){pointer-events:none}.aui16odi2a.aui16odi2a:where(.aui-default-marker:hover *):not(#\#):not(#\#):not(#\#){opacity:0}.auienb0lb.auienb0lb:where(.aui-default-marker:hover *):not(#\#):not(#\#):not(#\#){opacity:1}.aui10f8e09.aui10f8e09:where(.aui-default-marker:hover *):not(#\#):not(#\#):not(#\#){pointer-events:auto}.aui2dkywa.aui2dkywa:where(.aui-default-marker:hover *):not(#\#):not(#\#):not(#\#){pointer-events:none}.aui14zrjfo:hover:not([aria-disabled=true]):not([aria-selected=true]):not(#\#):not(#\#):not(#\#),.auisfqig6:focus:not([aria-selected=true]):not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-hover)}.aui16khyan:is(:disabled,[aria-disabled=true]):not(#\#):not(#\#):not(#\#),.auitgyt42:disabled:not(#\#):not(#\#):not(#\#){cursor:default}@supports (-webkit-touch-callout:none){@media (pointer:coarse){.aui1w61h2b.aui1w61h2b.aui1w61h2b:not(#\#):not(#\#):not(#\#){font-size:max(1rem,var(--text-label-size))}}}@media (hover:hover){.auia3af2z.auia3af2z:hover:not(#\#):not(#\#):not(#\#){background-color:var(--ants-mh-blue-50)}.aui1h9ned5.aui1h9ned5:hover:not(#\#):not(#\#):not(#\#){color:var(--color-text-accent)}}.aui16stqrj:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:#0000}.aui9v4h15:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:var(--ants-mh-gray-200)}.auiw8gpjh:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:var(--color-border)}.aui1q0q8m5:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-style:solid}.aui92x3c3:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:var(--border-width)}.aui132ci9n:not(#\#):not(#\#):not(#\#):not(#\#){border-top-color:var(--ants-mh-gray-200)}.aui5yfxoo:not(#\#):not(#\#):not(#\#):not(#\#){border-top-color:var(--ants-mh-gray-300)}.aui1pc3f07:not(#\#):not(#\#):not(#\#):not(#\#){border-top-color:var(--color-border)}.auilya59e:not(#\#):not(#\#):not(#\#):not(#\#){border-top-style:dashed}.aui13fuv20:not(#\#):not(#\#):not(#\#):not(#\#){border-top-style:solid}.aui11xkdxz:not(#\#):not(#\#):not(#\#):not(#\#){border-top-width:var(--border-width)}.aui1ey2m1c:not(#\#):not(#\#):not(#\#):not(#\#){bottom:0}.auinru01z:not(#\#):not(#\#):not(#\#):not(#\#){bottom:var(--spacing-2)}.auiaylbqo:not(#\#):not(#\#):not(#\#):not(#\#){height:1.125rem}.aui5yr21d:not(#\#):not(#\#):not(#\#):not(#\#){height:100%}.aui170jfvy:not(#\#):not(#\#):not(#\#):not(#\#){height:10px}.aui6w4g8m:not(#\#):not(#\#):not(#\#):not(#\#){height:11px}.auilup9mm:not(#\#):not(#\#):not(#\#):not(#\#){height:16px}.aui1qx5ct2:not(#\#):not(#\#):not(#\#):not(#\#){height:20px}.auixk0z11:not(#\#):not(#\#):not(#\#):not(#\#){height:24px}.auid7y6wv:not(#\#):not(#\#):not(#\#):not(#\#){height:26px}.auicx40h0:not(#\#):not(#\#):not(#\#):not(#\#){height:420px}.auin3w4p2:not(#\#):not(#\#):not(#\#):not(#\#){height:44px}.auiqu0tyb:not(#\#):not(#\#):not(#\#):not(#\#){height:4px}.aui10wjd1d:not(#\#):not(#\#):not(#\#):not(#\#){height:50px}.aui1ycjhwn:not(#\#):not(#\#):not(#\#):not(#\#){height:5px}.auiols6we:not(#\#):not(#\#):not(#\#):not(#\#){height:6px}.auidk7pt:not(#\#):not(#\#):not(#\#):not(#\#){height:8px}.aui1ueg155:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--size-element-md)}.aui6k0iem:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--size-element-sm)}.auigjsvxy:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--text-label-leading)}.aui16ye13r:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--x-height)}.aui1p37lm5:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-2)}.aui1hkcv85:not(#\#):not(#\#):not(#\#):not(#\#){max-height:200px}.aui1983irj:not(#\#):not(#\#):not(#\#):not(#\#){max-height:220px}.auiq3t0pi:not(#\#):not(#\#):not(#\#):not(#\#){max-height:280px}.aui1jols5v:not(#\#):not(#\#):not(#\#):not(#\#){max-height:var(--x-maxHeight)}.aui2aouup:not(#\#):not(#\#):not(#\#):not(#\#){max-width:120px}.aui1weugan:not(#\#):not(#\#):not(#\#):not(#\#){max-width:290px}.aui1dt7z5j:not(#\#):not(#\#):not(#\#):not(#\#){max-width:380px}.aui146dmfp:not(#\#):not(#\#):not(#\#):not(#\#){max-width:70px}.auif68679:not(#\#):not(#\#):not(#\#):not(#\#){max-width:var(--x-maxWidth)}.aui2lwn1j:not(#\#):not(#\#):not(#\#):not(#\#){min-height:0}.auiqt01rp:not(#\#):not(#\#):not(#\#):not(#\#){min-height:41px}.auih0zcz:not(#\#):not(#\#):not(#\#):not(#\#){min-height:calc(var(--size-element-sm) + var(--spacing-5))}.aui1uogy3y:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--size-element-md)}.aui1gdqauq:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--size-element-sm)}.aui1wcf34l:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--text-label-leading)}.auieuugli:not(#\#):not(#\#):not(#\#):not(#\#){min-width:0}.aui15kz4h8:not(#\#):not(#\#):not(#\#):not(#\#){min-width:16px}.auigomdpo:not(#\#):not(#\#):not(#\#):not(#\#){min-width:1rem}.auirzjruh:not(#\#):not(#\#):not(#\#):not(#\#){min-width:anchor-size(width)}.aui1enrzb7:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:calc(var(--border-width) + var(--spacing-1))}.auiwa60dl:not(#\#):not(#\#):not(#\#):not(#\#){top:50%}.auisk17dz:not(#\#):not(#\#):not(#\#):not(#\#){width:1.125rem}.auih8yej3:not(#\#):not(#\#):not(#\#):not(#\#){width:100%}.aui1kky2od:not(#\#):not(#\#):not(#\#):not(#\#){width:16px}.aui17z2i9w:not(#\#):not(#\#):not(#\#):not(#\#){width:22px}.auivy4d1p:not(#\#):not(#\#):not(#\#):not(#\#){width:24px}.aui1dz1jew:not(#\#):not(#\#):not(#\#):not(#\#){width:280px}.aui1g8rjiy:not(#\#):not(#\#):not(#\#):not(#\#){width:3px}.aui3hqpx7:not(#\#):not(#\#):not(#\#):not(#\#){width:50%}.aui1pju0fl:not(#\#):not(#\#):not(#\#):not(#\#){width:50px}.auiefyazp:not(#\#):not(#\#):not(#\#):not(#\#){width:90px}.auiezivpi:not(#\#):not(#\#):not(#\#):not(#\#){width:max-content}.aui5lhr3w:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--x-width)}.aui1fbop3j:focus-within:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:var(--color-accent)}.aui2ucsrd:hover:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:var(--color-border-emphasized)}.auieyghm5:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::placeholder{color:var(--color-text-secondary)}
1
+ @property --x-flexBasis{syntax:"*";inherits:false}@property --x-flexShrink{syntax:"*";inherits:false}@property --x-gridColumn{syntax:"*";inherits:false}@property --x-gridTemplateColumns{syntax:"*";inherits:false}@property --x-gridTemplateRows{syntax:"*";inherits:false}@property --x-height{syntax:"*";inherits:false}@property --x-justifySelf{syntax:"*";inherits:false}@property --x-maxHeight{syntax:"*";inherits:false}@property --x-maxWidth{syntax:"*";inherits:false}@property --x-width{syntax:"*";inherits:false}.aui1im1wfi{--color-text-primary:var(--color-text-secondary)}.auifhnz8n{--mh-field-control-max:var(--ants-mh-field-control-max,400px)}.auinpej1e{--radius-element:var(--radius-full)}.auij451x2{--text-body-leading:var(--text-heading-3-leading)}.auimdtmk4{--text-body-size:var(--text-heading-3-size)}.auioco1iw{--text-body-size:var(--text-supporting-size)}.auiln7xf2:not(#\#){font:inherit}.aui15r89dc:not(#\#){grid-area:1/1}.aui10a8y8t:not(#\#){inset:0}.aui1ghz6dp:not(#\#){margin:0}.aui1717udv:not(#\#){padding:0}.aui7z7khe:not(#\#){padding:10px}.auilsj2fj:not(#\#){padding:var(--spacing-2)}.aui1b2ylru:not(#\#){padding:var(--spacing-3)}.auixbl87b:not(#\#):not(#\#){border-color:var(--ants-mh-gray-200)}.aui1wt0qvg:not(#\#):not(#\#){border-color:var(--ants-mh-gray-300)}.aui1touxvs:not(#\#):not(#\#){border-color:var(--color-background-surface)}.aui1ofxpqo:not(#\#):not(#\#){border-color:var(--color-error)}.auiqcx1ss:not(#\#):not(#\#){border-color:var(--color-text-primary)}.aui2u8bby:not(#\#):not(#\#){border-radius:0}.aui9h44rk:not(#\#):not(#\#){border-radius:13px}.aui1nj7uno:not(#\#):not(#\#){border-radius:1px}.auiaqawyj:not(#\#):not(#\#){border-radius:38px}.aui18zih8k:not(#\#):not(#\#){border-radius:3px}.aui1pl3jqz:not(#\#):not(#\#){border-radius:48px}.aui16rqkct:not(#\#):not(#\#){border-radius:50%}.auih6dtrn:not(#\#):not(#\#){border-radius:var(--radius-element)}.auijspbzw:not(#\#):not(#\#){border-radius:var(--radius-full)}.auix3sua9:not(#\#):not(#\#){border-radius:var(--radius-inner)}.auing3xce:not(#\#):not(#\#){border-style:none}.aui1y0btm7:not(#\#):not(#\#){border-style:solid}.auic342km:not(#\#):not(#\#){border-width:0}.auimkeg23:not(#\#):not(#\#){border-width:1px}.auidh2fpr:not(#\#):not(#\#){border-width:2px}.aui1litavf:not(#\#):not(#\#){border-width:var(--border-width)}.aui98rzlu:not(#\#):not(#\#){flex:1}.aui1s4dlld:not(#\#):not(#\#){gap:var(--spacing-1-5)}.auizye2dw:not(#\#):not(#\#){gap:var(--spacing-1)}.aui1txdalj:not(#\#):not(#\#){gap:var(--spacing-2)}.auijcht0a:not(#\#):not(#\#){gap:var(--spacing-3)}.aui18g69wz:not(#\#):not(#\#){gap:var(--spacing-4)}.auigkxs2y:not(#\#):not(#\#){grid-column:1}.aui1npkx4u:not(#\#):not(#\#){grid-column:2}.aui14d52f8:not(#\#):not(#\#){grid-column:var(--x-gridColumn)}.auia1s216:not(#\#):not(#\#){grid-row:1/span 2}.aui1ms6mhf:not(#\#):not(#\#){grid-row:1}.aui7sv70a:not(#\#):not(#\#){grid-row:2}.auiz51j44:not(#\#):not(#\#){grid-row:3}.aui17y0mx6:not(#\#):not(#\#){inset-inline:0}.auinn75i4:not(#\#):not(#\#){margin-inline:-10px}.auivueqy4:not(#\#):not(#\#){margin-inline:auto}.aui1a2a7pz:not(#\#):not(#\#){outline:none}.auib3r6kr:not(#\#):not(#\#){overflow:hidden}.auit970qd:not(#\#):not(#\#){padding-block:0}.auip59q4u:not(#\#):not(#\#){padding-block:10px}.aui1t0vds8:not(#\#):not(#\#){padding-block:6px}.aui1vofgu7:not(#\#):not(#\#){padding-block:var(--spacing-1-5)}.auiu0wf1k:not(#\#):not(#\#){padding-block:var(--spacing-1)}.auice4md1:not(#\#):not(#\#){padding-block:var(--spacing-2)}.aui1awh872:not(#\#):not(#\#){padding-inline:10px}.aui3y1lgt:not(#\#):not(#\#){padding-inline:3px}.aui2hg6jq:not(#\#):not(#\#){padding-inline:calc(var(--spacing-1) + var(--border-width))}.auif314gf:not(#\#):not(#\#){padding-inline:var(--spacing-2)}.auirrkdod:not(#\#):not(#\#){padding-inline:var(--spacing-3)}.aui1hl2dhg:not(#\#):not(#\#){text-decoration:none}.aui1pha0wt:not(#\#):not(#\#):not(#\#){align-items:baseline}.aui6s0dn4:not(#\#):not(#\#):not(#\#){align-items:center}.auiuk3077:not(#\#):not(#\#):not(#\#){align-items:flex-end}.auipte31b:not(#\#):not(#\#):not(#\#){aspect-ratio:290/600}.auijbqb8w:not(#\#):not(#\#):not(#\#){background-color:#0000}.aui1jxocwm:not(#\#):not(#\#):not(#\#){background-color:var(--ants-accent-banner)}.auisqkk90:not(#\#):not(#\#):not(#\#){background-color:var(--ants-accent-fill)}.auir796ur:not(#\#):not(#\#):not(#\#){background-color:var(--ants-accent-hover)}.aui1vm1evv:not(#\#):not(#\#):not(#\#){background-color:var(--ants-mh-black)}.auic4yk2q:not(#\#):not(#\#):not(#\#){background-color:var(--ants-mh-blue-500)}.auiuv6gl1:not(#\#):not(#\#):not(#\#){background-color:var(--ants-mh-cyan-500)}.auijru1km:not(#\#):not(#\#):not(#\#){background-color:var(--ants-mh-gray-75)}.aui16cij4:not(#\#):not(#\#):not(#\#){background-color:var(--ants-mh-green-600)}.aui1ewilqj:not(#\#):not(#\#):not(#\#){background-color:var(--color-accent)}.auiwmxj5m:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-muted)}.aui10xzikg:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-surface)}.aui17x4s8c:not(#\#):not(#\#):not(#\#){background-color:var(--color-neutral)}.aui19aspcf:not(#\#):not(#\#):not(#\#){background-color:var(--color-text-primary)}.auiun97om:not(#\#):not(#\#):not(#\#){border-inline-end-color:var(--ants-mh-gray-200)}.aui18b5jzi:not(#\#):not(#\#):not(#\#){border-inline-end-style:solid}.auiw8tdv1:not(#\#):not(#\#):not(#\#){border-inline-end-width:var(--border-width)}.aui1s784a7:not(#\#):not(#\#):not(#\#){border-inline-start-color:var(--color-accent)}.aui56jcm7:not(#\#):not(#\#):not(#\#){border-inline-start-width:4px}.aui70qkqb:not(#\#):not(#\#):not(#\#){box-shadow:0 0 0 3px var(--ants-mh-gray-700)}.auikukrt6:not(#\#):not(#\#):not(#\#){box-shadow:inset 0 0 0 1px var(--color-background-surface)}.aui14hfi27:not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-med)}.aui9f619:not(#\#):not(#\#):not(#\#){box-sizing:border-box}.aui1afcbsf:not(#\#):not(#\#):not(#\#){box-sizing:content-box}.aui1heor9g:not(#\#):not(#\#):not(#\#){color:inherit}.auiqwr325:not(#\#):not(#\#):not(#\#){color:var(--color-accent)}.auijt36v0:not(#\#):not(#\#):not(#\#){color:var(--color-error)}.aui17wrial:not(#\#):not(#\#):not(#\#){color:var(--color-on-accent)}.aui1tgivj0:not(#\#):not(#\#):not(#\#){color:var(--color-text-primary)}.auiv1l7n4:not(#\#):not(#\#):not(#\#){color:var(--color-text-secondary)}.aui9cihph:not(#\#):not(#\#):not(#\#){contain:size}.auit0e3qv:not(#\#):not(#\#):not(#\#){cursor:default}.aui1ypdohk:not(#\#):not(#\#):not(#\#){cursor:pointer}.auijp7ctv:not(#\#):not(#\#):not(#\#){display:contents}.aui78zum5:not(#\#):not(#\#):not(#\#){display:flex}.auirvj5dj:not(#\#):not(#\#):not(#\#){display:grid}.aui3nfvp2:not(#\#):not(#\#):not(#\#){display:inline-flex}.auiwz0xwf:not(#\#):not(#\#):not(#\#){display:inline-grid}.aui1r8uery:not(#\#):not(#\#):not(#\#){flex-basis:0}.aui5z4jtk:not(#\#):not(#\#):not(#\#){flex-basis:240px}.aui1mz2wy7:not(#\#):not(#\#):not(#\#){flex-basis:var(--x-flexBasis)}.auidt5ytf:not(#\#):not(#\#):not(#\#){flex-direction:column}.aui1iyjqo2:not(#\#):not(#\#):not(#\#){flex-grow:1}.aui2lah0s:not(#\#):not(#\#):not(#\#){flex-shrink:0}.auis83m0k:not(#\#):not(#\#):not(#\#){flex-shrink:1}.auin95wi4:not(#\#):not(#\#):not(#\#){flex-shrink:var(--x-flexShrink)}.aui9ynric:not(#\#):not(#\#):not(#\#){font-family:var(--font-family-body)}.aui1j6dyjg:not(#\#):not(#\#):not(#\#){font-size:11px}.auijm74w1:not(#\#):not(#\#):not(#\#){font-size:var(--text-body-size)}.auiii13ha:not(#\#):not(#\#):not(#\#){font-size:var(--text-heading-3-size)}.auicr08ib:not(#\#):not(#\#):not(#\#){font-size:var(--text-label-size)}.aui117nqv4:not(#\#):not(#\#):not(#\#){font-weight:700}.aui1sodnla:not(#\#):not(#\#):not(#\#){font-weight:var(--font-weight-normal)}.aui1l7s2pe:not(#\#):not(#\#):not(#\#){grid-template-columns:76px repeat(24,24px)}.auicjjqqt:not(#\#):not(#\#):not(#\#){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auivd4qgy:not(#\#):not(#\#):not(#\#){grid-template-columns:repeat(24,24px)}.aui185a7wo:not(#\#):not(#\#):not(#\#){grid-template-columns:repeat(3,minmax(0,1fr))}.auiqketvx:not(#\#):not(#\#):not(#\#){grid-template-columns:var(--x-gridTemplateColumns)}.aui1xxtoay:not(#\#):not(#\#):not(#\#){grid-template-rows:var(--x-gridTemplateRows)}.auixx7yvo:not(#\#):not(#\#):not(#\#){inset-inline-end:4px}.auiy3asu9:not(#\#):not(#\#):not(#\#){inset-inline-end:var(--spacing-1)}.auil56j7k:not(#\#):not(#\#):not(#\#){justify-content:center}.aui1qughib:not(#\#):not(#\#):not(#\#){justify-content:space-between}.aui4xo5sw:not(#\#):not(#\#):not(#\#){justify-items:end}.auigszztp:not(#\#):not(#\#):not(#\#){justify-self:var(--x-justifySelf)}.aui14ju556:not(#\#):not(#\#):not(#\#){line-height:0}.aui1d3mw78:not(#\#):not(#\#):not(#\#){line-height:16px}.aui13o0xn4:not(#\#):not(#\#):not(#\#){line-height:calc(var(--text-body-size) * var(--text-body-leading))}.auiwjzt0u:not(#\#):not(#\#):not(#\#){line-height:var(--text-heading-3-leading)}.aui1kq96og:not(#\#):not(#\#):not(#\#){line-height:var(--text-label-leading)}.aui1mpyi22:not(#\#):not(#\#):not(#\#){margin-inline-end:1px}.auinur1sd:not(#\#):not(#\#):not(#\#){margin-inline-end:var(--spacing-1)}.auidzw4kq:not(#\#):not(#\#):not(#\#){margin-inline-start:6px}.auivc5jky:not(#\#):not(#\#):not(#\#){margin-inline-start:auto}.aui11g1kdw:not(#\#):not(#\#):not(#\#){margin-inline-start:var(--spacing-1)}.aui19kjcj4:not(#\#):not(#\#):not(#\#){object-fit:contain}.auiti2d7y:not(#\#):not(#\#):not(#\#){opacity:.4}.auibyyjgo:not(#\#):not(#\#):not(#\#){opacity:.5}.aui197sbye:not(#\#):not(#\#):not(#\#){opacity:.6}.auig01cxk:not(#\#):not(#\#):not(#\#){opacity:0}.aui1hc1fzr:not(#\#):not(#\#):not(#\#){opacity:1}.aui2ssjo2:not(#\#):not(#\#):not(#\#){outline-offset:-2px}.auiyri2b:not(#\#):not(#\#):not(#\#){padding-inline-end:0}.auiaso8d8:not(#\#):not(#\#):not(#\#){padding-inline-start:5px}.aui1dsw6jg:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(20px + var(--spacing-2))}.auig86vuh:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(24px + var(--spacing-2))}.aui1eib973:not(#\#):not(#\#):not(#\#){padding-inline-start:calc(var(--spacing-2) + var(--spacing-4))}.aui67bb7w:not(#\#):not(#\#):not(#\#){pointer-events:auto}.aui47corl:not(#\#):not(#\#):not(#\#){pointer-events:none}.aui10l6tqk:not(#\#):not(#\#):not(#\#){position:absolute}.aui1n2onr6:not(#\#):not(#\#):not(#\#){position:relative}.aui2b8uid:not(#\#):not(#\#):not(#\#){text-align:center}.aui1yc453h:not(#\#):not(#\#):not(#\#){text-align:start}.auitvhhri:not(#\#):not(#\#):not(#\#){text-transform:uppercase}.aui5ve5x3:not(#\#):not(#\#):not(#\#){touch-action:none}.aui19jd1h0:not(#\#):not(#\#):not(#\#){transform:rotate(180deg)}.aui1cb1t30:not(#\#):not(#\#):not(#\#){transform:translateY(-50%)}.auiuedmi6:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast)}.aui11xpdln:not(#\#):not(#\#):not(#\#){transition-property:transform}.aui87ps6o:not(#\#):not(#\#):not(#\#){-webkit-user-select:none;user-select:none}.auixymvpz:not(#\#):not(#\#):not(#\#){vertical-align:middle}.auiuxw1ft:not(#\#):not(#\#):not(#\#){white-space:nowrap}.auiop90c9.auiop90c9:where(.aui-default-marker:focus-within *):not(#\#):not(#\#):not(#\#){opacity:0}.aui15nwlk0.aui15nwlk0:where(.aui-default-marker:focus-within *):not(#\#):not(#\#):not(#\#){opacity:1}.aui1nays3n.aui1nays3n:where(.aui-default-marker:focus-within *):not(#\#):not(#\#):not(#\#){pointer-events:auto}.aui1hdpjie.aui1hdpjie:where(.aui-default-marker:focus-within *):not(#\#):not(#\#):not(#\#){pointer-events:none}.aui16odi2a.aui16odi2a:where(.aui-default-marker:hover *):not(#\#):not(#\#):not(#\#){opacity:0}.auienb0lb.auienb0lb:where(.aui-default-marker:hover *):not(#\#):not(#\#):not(#\#){opacity:1}.aui10f8e09.aui10f8e09:where(.aui-default-marker:hover *):not(#\#):not(#\#):not(#\#){pointer-events:auto}.aui2dkywa.aui2dkywa:where(.aui-default-marker:hover *):not(#\#):not(#\#):not(#\#){pointer-events:none}.aui14zrjfo:hover:not([aria-disabled=true]):not([aria-selected=true]):not(#\#):not(#\#):not(#\#),.auisfqig6:focus:not([aria-selected=true]):not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-hover)}.aui16khyan:is(:disabled,[aria-disabled=true]):not(#\#):not(#\#):not(#\#),.auitgyt42:disabled:not(#\#):not(#\#):not(#\#){cursor:default}@supports (-webkit-touch-callout:none){@media (pointer:coarse){.aui1w61h2b.aui1w61h2b.aui1w61h2b:not(#\#):not(#\#):not(#\#){font-size:max(1rem,var(--text-label-size))}}}@media (hover:hover){.aui1komwgl.aui1komwgl:hover:not(#\#):not(#\#):not(#\#){background-color:var(--ants-accent-hover)}.aui1h9ned5.aui1h9ned5:hover:not(#\#):not(#\#):not(#\#){color:var(--color-text-accent)}}.aui16stqrj:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:#0000}.aui9v4h15:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:var(--ants-mh-gray-200)}.auiw8gpjh:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:var(--color-border)}.aui1q0q8m5:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-style:solid}.aui92x3c3:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:var(--border-width)}.aui132ci9n:not(#\#):not(#\#):not(#\#):not(#\#){border-top-color:var(--ants-mh-gray-200)}.aui5yfxoo:not(#\#):not(#\#):not(#\#):not(#\#){border-top-color:var(--ants-mh-gray-300)}.aui1pc3f07:not(#\#):not(#\#):not(#\#):not(#\#){border-top-color:var(--color-border)}.auilya59e:not(#\#):not(#\#):not(#\#):not(#\#){border-top-style:dashed}.aui13fuv20:not(#\#):not(#\#):not(#\#):not(#\#){border-top-style:solid}.aui11xkdxz:not(#\#):not(#\#):not(#\#):not(#\#){border-top-width:var(--border-width)}.aui1ey2m1c:not(#\#):not(#\#):not(#\#):not(#\#){bottom:0}.auinru01z:not(#\#):not(#\#):not(#\#):not(#\#){bottom:var(--spacing-2)}.auiaylbqo:not(#\#):not(#\#):not(#\#):not(#\#){height:1.125rem}.aui5yr21d:not(#\#):not(#\#):not(#\#):not(#\#){height:100%}.aui170jfvy:not(#\#):not(#\#):not(#\#):not(#\#){height:10px}.aui6w4g8m:not(#\#):not(#\#):not(#\#):not(#\#){height:11px}.auilup9mm:not(#\#):not(#\#):not(#\#):not(#\#){height:16px}.aui1qx5ct2:not(#\#):not(#\#):not(#\#):not(#\#){height:20px}.auixk0z11:not(#\#):not(#\#):not(#\#):not(#\#){height:24px}.auid7y6wv:not(#\#):not(#\#):not(#\#):not(#\#){height:26px}.auin3w4p2:not(#\#):not(#\#):not(#\#):not(#\#){height:44px}.auiqu0tyb:not(#\#):not(#\#):not(#\#):not(#\#){height:4px}.aui10wjd1d:not(#\#):not(#\#):not(#\#):not(#\#){height:50px}.aui1ycjhwn:not(#\#):not(#\#):not(#\#):not(#\#){height:5px}.auiols6we:not(#\#):not(#\#):not(#\#):not(#\#){height:6px}.auidk7pt:not(#\#):not(#\#):not(#\#):not(#\#){height:8px}.aui1ueg155:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--size-element-md)}.aui6k0iem:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--size-element-sm)}.auigjsvxy:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--text-label-leading)}.aui16ye13r:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--x-height)}.aui1p37lm5:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-2)}.aui1hkcv85:not(#\#):not(#\#):not(#\#):not(#\#){max-height:200px}.aui1983irj:not(#\#):not(#\#):not(#\#):not(#\#){max-height:220px}.auiq3t0pi:not(#\#):not(#\#):not(#\#):not(#\#){max-height:280px}.aui1jols5v:not(#\#):not(#\#):not(#\#):not(#\#){max-height:var(--x-maxHeight)}.aui1weugan:not(#\#):not(#\#):not(#\#):not(#\#){max-width:290px}.aui1dt7z5j:not(#\#):not(#\#):not(#\#):not(#\#){max-width:380px}.aui146dmfp:not(#\#):not(#\#):not(#\#):not(#\#){max-width:70px}.auif68679:not(#\#):not(#\#):not(#\#):not(#\#){max-width:var(--x-maxWidth)}.aui2lwn1j:not(#\#):not(#\#):not(#\#):not(#\#){min-height:0}.auiqt01rp:not(#\#):not(#\#):not(#\#):not(#\#){min-height:41px}.auih0zcz:not(#\#):not(#\#):not(#\#):not(#\#){min-height:calc(var(--size-element-sm) + var(--spacing-5))}.aui1uogy3y:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--size-element-md)}.aui1gdqauq:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--size-element-sm)}.aui1wcf34l:not(#\#):not(#\#):not(#\#):not(#\#){min-height:var(--text-label-leading)}.auieuugli:not(#\#):not(#\#):not(#\#):not(#\#){min-width:0}.aui15kz4h8:not(#\#):not(#\#):not(#\#):not(#\#){min-width:16px}.auigomdpo:not(#\#):not(#\#):not(#\#):not(#\#){min-width:1rem}.auirzjruh:not(#\#):not(#\#):not(#\#):not(#\#){min-width:anchor-size(width)}.aui1enrzb7:not(#\#):not(#\#):not(#\#):not(#\#){padding-top:calc(var(--border-width) + var(--spacing-1))}.auiwa60dl:not(#\#):not(#\#):not(#\#):not(#\#){top:50%}.auisk17dz:not(#\#):not(#\#):not(#\#):not(#\#){width:1.125rem}.auih8yej3:not(#\#):not(#\#):not(#\#):not(#\#){width:100%}.aui1kky2od:not(#\#):not(#\#):not(#\#):not(#\#){width:16px}.aui17z2i9w:not(#\#):not(#\#):not(#\#):not(#\#){width:22px}.auivy4d1p:not(#\#):not(#\#):not(#\#):not(#\#){width:24px}.aui1dz1jew:not(#\#):not(#\#):not(#\#):not(#\#){width:280px}.aui1g8rjiy:not(#\#):not(#\#):not(#\#):not(#\#){width:3px}.aui3hqpx7:not(#\#):not(#\#):not(#\#):not(#\#){width:50%}.aui1pju0fl:not(#\#):not(#\#):not(#\#):not(#\#){width:50px}.auiefyazp:not(#\#):not(#\#):not(#\#):not(#\#){width:90px}.auiezivpi:not(#\#):not(#\#):not(#\#):not(#\#){width:max-content}.aui5lhr3w:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--x-width)}.aui1fbop3j:focus-within:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:var(--color-accent)}.aui2ucsrd:hover:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:var(--color-border-emphasized)}.auieyghm5:not(#\#):not(#\#):not(#\#):not(#\#):not(#\#)::placeholder{color:var(--color-text-secondary)}