@antscorp/ui 0.1.3 → 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 (179) hide show
  1. package/README.md +25 -1
  2. package/dist/atoms/AddButton.d.ts +2 -5
  3. package/dist/atoms/Chip.d.ts +2 -5
  4. package/dist/atoms/Chip.js +1 -1
  5. package/dist/atoms/RemoveButton.d.ts +2 -5
  6. package/dist/atoms/TextAction.d.ts +2 -3
  7. package/dist/docs.json +1 -1
  8. package/dist/lib/iso.d.ts +2 -2
  9. package/dist/lib/iso.js +16 -8
  10. package/dist/lib/tokenEditorExtensions.js +1 -1
  11. package/dist/molecules/AccentCard.js +2 -2
  12. package/dist/molecules/CheckRow.d.ts +2 -7
  13. package/dist/molecules/ChoiceTiles.js +1 -1
  14. package/dist/molecules/CommitTextField.d.ts +1 -19
  15. package/dist/molecules/CommitTextField.js +21 -18
  16. package/dist/molecules/ConfirmDialog.d.ts +2 -7
  17. package/dist/molecules/DateTimeInput.d.ts +6 -3
  18. package/dist/molecules/DateTimeInput.js +82 -73
  19. package/dist/molecules/RemovableRow.js +32 -32
  20. package/dist/molecules/RevealRadioGroup.d.ts +2 -9
  21. package/dist/molecules/RevealSwitch.d.ts +2 -7
  22. package/dist/molecules/Select.d.ts +7 -23
  23. package/dist/molecules/Select.js +26 -20
  24. package/dist/molecules/StatusButton.d.ts +2 -7
  25. package/dist/molecules/TreeOptions.d.ts +3 -2
  26. package/dist/molecules/TreeOptions.js +67 -44
  27. package/dist/organisms/HourOfDayRow.js +2 -2
  28. package/dist/organisms/HourOfWeekGrid.js +2 -2
  29. package/dist/organisms/TreeSearchPanel.js +50 -47
  30. package/dist/ui.css +1 -1
  31. package/package.json +23 -17
  32. package/src/atoms/AddButton.tsx +2 -6
  33. package/src/atoms/Chip.tsx +5 -7
  34. package/src/atoms/RemoveButton.tsx +2 -6
  35. package/src/atoms/TextAction.tsx +2 -4
  36. package/src/lib/iso.ts +15 -3
  37. package/src/lib/tokenEditorExtensions.ts +1 -1
  38. package/src/molecules/AccentCard.tsx +4 -2
  39. package/src/molecules/CheckRow.tsx +2 -8
  40. package/src/molecules/ChoiceTiles.tsx +3 -1
  41. package/src/molecules/CommitTextField.tsx +15 -20
  42. package/src/molecules/ConfirmDialog.tsx +2 -8
  43. package/src/molecules/DateTimeInput.tsx +86 -68
  44. package/src/molecules/RemovableRow.tsx +1 -1
  45. package/src/molecules/RevealRadioGroup.tsx +5 -10
  46. package/src/molecules/RevealSwitch.tsx +2 -8
  47. package/src/molecules/Select.tsx +22 -22
  48. package/src/molecules/StatusButton.tsx +2 -8
  49. package/src/molecules/TreeOptions.tsx +86 -62
  50. package/src/organisms/HourOfDayRow.tsx +4 -2
  51. package/src/organisms/HourOfWeekGrid.tsx +4 -2
  52. package/src/organisms/TreeSearchPanel.tsx +1 -1
  53. package/dist/atoms/AddButton.doc.d.ts +0 -21
  54. package/dist/atoms/AddGlyph.doc.d.ts +0 -16
  55. package/dist/atoms/Chip.doc.d.ts +0 -29
  56. package/dist/atoms/ChipSkeletons.doc.d.ts +0 -21
  57. package/dist/atoms/FieldHeading.doc.d.ts +0 -15
  58. package/dist/atoms/HoverSwap.doc.d.ts +0 -25
  59. package/dist/atoms/InfoTip.doc.d.ts +0 -25
  60. package/dist/atoms/JointLabel.doc.d.ts +0 -15
  61. package/dist/atoms/LabeledDivider.doc.d.ts +0 -21
  62. package/dist/atoms/LogoImage.doc.d.ts +0 -21
  63. package/dist/atoms/PanelSearchInput.doc.d.ts +0 -25
  64. package/dist/atoms/PathMark.doc.d.ts +0 -16
  65. package/dist/atoms/RemoveButton.doc.d.ts +0 -16
  66. package/dist/atoms/RowSkeletons.doc.d.ts +0 -25
  67. package/dist/atoms/TextAction.doc.d.ts +0 -25
  68. package/dist/atoms/TruncatedOption.doc.d.ts +0 -24
  69. package/dist/atoms/TruncatedText.doc.d.ts +0 -15
  70. package/dist/molecules/AccentCard.doc.d.ts +0 -25
  71. package/dist/molecules/CheckGroup.doc.d.ts +0 -25
  72. package/dist/molecules/CheckRow.doc.d.ts +0 -25
  73. package/dist/molecules/ChoiceDialog.doc.d.ts +0 -21
  74. package/dist/molecules/ChoiceTiles.doc.d.ts +0 -21
  75. package/dist/molecules/CommitTextField.doc.d.ts +0 -29
  76. package/dist/molecules/ConfirmDialog.doc.d.ts +0 -21
  77. package/dist/molecules/DateTimeInput.doc.d.ts +0 -25
  78. package/dist/molecules/DurationInput.doc.d.ts +0 -25
  79. package/dist/molecules/FieldGroup.doc.d.ts +0 -25
  80. package/dist/molecules/FieldRow.doc.d.ts +0 -24
  81. package/dist/molecules/FieldSkeleton.doc.d.ts +0 -25
  82. package/dist/molecules/FrequencyLimitRow.doc.d.ts +0 -25
  83. package/dist/molecules/InlineEditableText.doc.d.ts +0 -25
  84. package/dist/molecules/LoadMoreRow.doc.d.ts +0 -21
  85. package/dist/molecules/LoadState.doc.d.ts +0 -21
  86. package/dist/molecules/MetaTable.doc.d.ts +0 -25
  87. package/dist/molecules/PercentRow.doc.d.ts +0 -25
  88. package/dist/molecules/PhoneFrame.doc.d.ts +0 -21
  89. package/dist/molecules/ProblemsButton.doc.d.ts +0 -25
  90. package/dist/molecules/RemovableRow.doc.d.ts +0 -25
  91. package/dist/molecules/RevealRadioGroup.doc.d.ts +0 -25
  92. package/dist/molecules/RevealSwitch.doc.d.ts +0 -25
  93. package/dist/molecules/RuleRow.doc.d.ts +0 -25
  94. package/dist/molecules/Select.doc.d.ts +0 -30
  95. package/dist/molecules/SideLabelRow.doc.d.ts +0 -20
  96. package/dist/molecules/SplitButton.doc.d.ts +0 -25
  97. package/dist/molecules/StatusButton.doc.d.ts +0 -25
  98. package/dist/molecules/TagSelect.doc.d.ts +0 -25
  99. package/dist/molecules/ToggleGrid.doc.d.ts +0 -25
  100. package/dist/molecules/TokenTextField.doc.d.ts +0 -29
  101. package/dist/molecules/TransferLayout.doc.d.ts +0 -25
  102. package/dist/molecules/TreeOptions.doc.d.ts +0 -25
  103. package/dist/organisms/ChipListAddPopover.doc.d.ts +0 -25
  104. package/dist/organisms/HourOfDayRow.doc.d.ts +0 -25
  105. package/dist/organisms/HourOfWeekGrid.doc.d.ts +0 -25
  106. package/dist/organisms/RepeatableList.doc.d.ts +0 -21
  107. package/dist/organisms/ResizableDrawer.doc.d.ts +0 -25
  108. package/dist/organisms/RuleGroups.doc.d.ts +0 -21
  109. package/dist/organisms/RuleList.doc.d.ts +0 -25
  110. package/dist/organisms/SearchableGroupedList.doc.d.ts +0 -25
  111. package/dist/organisms/TokenPickerDialog.doc.d.ts +0 -21
  112. package/dist/organisms/TransferPicker.doc.d.ts +0 -29
  113. package/dist/organisms/TreeSearchPanel.doc.d.ts +0 -25
  114. package/dist/organisms/TreeSelect.doc.d.ts +0 -29
  115. package/dist/theme/AntsomiTheme.doc.d.ts +0 -15
  116. package/dist/theme/AntsomiTheme.doc.js +0 -22
  117. package/src/atoms/AddButton.doc.ts +0 -36
  118. package/src/atoms/AddGlyph.doc.ts +0 -26
  119. package/src/atoms/Chip.doc.ts +0 -45
  120. package/src/atoms/ChipSkeletons.doc.ts +0 -31
  121. package/src/atoms/FieldHeading.doc.ts +0 -22
  122. package/src/atoms/HoverSwap.doc.ts +0 -39
  123. package/src/atoms/InfoTip.doc.ts +0 -37
  124. package/src/atoms/JointLabel.doc.ts +0 -23
  125. package/src/atoms/LabeledDivider.doc.ts +0 -35
  126. package/src/atoms/LogoImage.doc.ts +0 -42
  127. package/src/atoms/PanelSearchInput.doc.ts +0 -41
  128. package/src/atoms/PathMark.doc.ts +0 -25
  129. package/src/atoms/RemoveButton.doc.ts +0 -26
  130. package/src/atoms/RowSkeletons.doc.ts +0 -43
  131. package/src/atoms/TextAction.doc.ts +0 -40
  132. package/src/atoms/TruncatedOption.doc.ts +0 -39
  133. package/src/atoms/TruncatedText.doc.ts +0 -22
  134. package/src/molecules/AccentCard.doc.ts +0 -43
  135. package/src/molecules/CheckGroup.doc.ts +0 -40
  136. package/src/molecules/CheckRow.doc.ts +0 -43
  137. package/src/molecules/ChoiceDialog.doc.ts +0 -48
  138. package/src/molecules/ChoiceTiles.doc.ts +0 -42
  139. package/src/molecules/CommitTextField.doc.ts +0 -41
  140. package/src/molecules/ConfirmDialog.doc.ts +0 -43
  141. package/src/molecules/DateTimeInput.doc.ts +0 -48
  142. package/src/molecules/DurationInput.doc.ts +0 -36
  143. package/src/molecules/FieldGroup.doc.ts +0 -41
  144. package/src/molecules/FieldRow.doc.ts +0 -36
  145. package/src/molecules/FieldSkeleton.doc.ts +0 -38
  146. package/src/molecules/FrequencyLimitRow.doc.ts +0 -48
  147. package/src/molecules/InlineEditableText.doc.ts +0 -41
  148. package/src/molecules/LoadMoreRow.doc.ts +0 -36
  149. package/src/molecules/LoadState.doc.ts +0 -42
  150. package/src/molecules/MetaTable.doc.ts +0 -46
  151. package/src/molecules/PercentRow.doc.ts +0 -48
  152. package/src/molecules/PhoneFrame.doc.ts +0 -46
  153. package/src/molecules/ProblemsButton.doc.ts +0 -41
  154. package/src/molecules/RemovableRow.doc.ts +0 -48
  155. package/src/molecules/RevealRadioGroup.doc.ts +0 -41
  156. package/src/molecules/RevealSwitch.doc.ts +0 -38
  157. package/src/molecules/RuleRow.doc.ts +0 -43
  158. package/src/molecules/Select.doc.ts +0 -62
  159. package/src/molecules/SideLabelRow.doc.ts +0 -35
  160. package/src/molecules/SplitButton.doc.ts +0 -41
  161. package/src/molecules/StatusButton.doc.ts +0 -39
  162. package/src/molecules/TagSelect.doc.ts +0 -41
  163. package/src/molecules/ToggleGrid.doc.ts +0 -43
  164. package/src/molecules/TokenTextField.doc.ts +0 -41
  165. package/src/molecules/TransferLayout.doc.ts +0 -42
  166. package/src/molecules/TreeOptions.doc.ts +0 -38
  167. package/src/organisms/ChipListAddPopover.doc.ts +0 -54
  168. package/src/organisms/HourOfDayRow.doc.ts +0 -43
  169. package/src/organisms/HourOfWeekGrid.doc.ts +0 -48
  170. package/src/organisms/RepeatableList.doc.ts +0 -49
  171. package/src/organisms/ResizableDrawer.doc.ts +0 -48
  172. package/src/organisms/RuleGroups.doc.ts +0 -49
  173. package/src/organisms/RuleList.doc.ts +0 -43
  174. package/src/organisms/SearchableGroupedList.doc.ts +0 -49
  175. package/src/organisms/TokenPickerDialog.doc.ts +0 -54
  176. package/src/organisms/TransferPicker.doc.ts +0 -69
  177. package/src/organisms/TreeSearchPanel.doc.ts +0 -43
  178. package/src/organisms/TreeSelect.doc.ts +0 -56
  179. package/src/theme/AntsomiTheme.doc.ts +0 -23
@@ -1,15 +1,9 @@
1
- import { type SelectorOptionType } from "@astryxdesign/core/Selector";
1
+ import { type SelectorOptionType, type SelectorProps } from "@astryxdesign/core/Selector";
2
2
  import type { ReactNode } from "react";
3
3
  /** One entry of `Select`'s list: an option, a titled section of options, or a divider (Astryx's). */
4
4
  export type SelectOption = SelectorOptionType;
5
5
  /** What `Select` takes. */
6
- export type SelectProps = {
7
- /** Names the control for assistive tech; shown above it unless `isLabelHidden`. */
8
- readonly label: string;
9
- /** Hides the label, as in a rule row. */
10
- readonly isLabelHidden?: boolean | undefined;
11
- /** A line under the label that explains the choice. */
12
- readonly description?: string | undefined;
6
+ export type SelectProps = Pick<SelectorProps, "label" | "isLabelHidden" | "description" | "placeholder" | "hasSearch" | "width" | "isDisabled" | "isReadOnly" | "isRequired" | "controlXstyle" | "containerXstyle"> & {
13
7
  /** The list, in order. */
14
8
  readonly options: readonly SelectOption[];
15
9
  /** The picked option's value; `null` or none shows the placeholder. */
@@ -18,22 +12,10 @@ export type SelectProps = {
18
12
  readonly onChange: (value: string) => void;
19
13
  /** Called by the clear button, which shows only when this is given and an option is picked. */
20
14
  readonly onClear?: (() => void) | undefined;
21
- /** Shown in the trigger while nothing is picked. */
22
- readonly placeholder?: string | undefined;
23
- /** A search box over the list, filtering it as it is typed. */
24
- readonly hasSearch?: boolean | undefined;
25
15
  /** The trigger's look: an underlined field (`input`, the default) or a bare text button (`ghost`). */
26
16
  readonly variant?: "input" | "ghost" | undefined;
27
- /** The trigger's size, `md` by default (the theme's 30px control height). */
28
- readonly size?: "sm" | "md" | undefined;
29
- /** The trigger's width, in pixels or any CSS length such as `"100%"`. */
30
- readonly width?: number | string | undefined;
31
- /** Dims the trigger and blocks it. */
32
- readonly isDisabled?: boolean | undefined;
33
- /** Shows the picked label without the chevron; the list does not open. */
34
- readonly isReadOnly?: boolean | undefined;
35
- /** Marks the field as required. */
36
- readonly isRequired?: boolean | undefined;
17
+ /** The trigger's size, md by default; the kit narrows the upstream sizes to sm and md. */
18
+ readonly size?: Extract<SelectorProps["size"], "sm" | "md"> | undefined;
37
19
  /**
38
20
  * The options are loading: a spinner in place of the chevron and the trigger busy from 300 ms
39
21
  * on, for at least 300 ms (`useLoadingShown`), and the list does not open meanwhile. The picked
@@ -43,7 +25,7 @@ export type SelectProps = {
43
25
  readonly isLoading?: boolean | undefined;
44
26
  /** A problem with the pick, already in the user's language, shown under the trigger. */
45
27
  readonly error?: string | undefined;
46
- /** The texts the view shows; the host translates them. Astryx's English stands in for a missing one. */
28
+ /** Host texts; missing strings use the facade's InternationalizationProvider locale (English by default). */
47
29
  readonly labels?: {
48
30
  /** The search box's placeholder, such as "Search". */
49
31
  readonly search?: string | undefined;
@@ -59,5 +41,7 @@ export type SelectProps = {
59
41
  * The kit's select on Astryx's `Selector`: the list is as wide as the
60
42
  * trigger (the theme) and a long option label ends in an ellipsis with the whole label in a
61
43
  * tooltip. Every select is one rather than Astryx's `Selector` (lint-enforced). It holds no state.
44
+ * Localize upstream search, clear and empty text with `InternationalizationProvider` from
45
+ * `@antscorp/ui/astryx/i18n`; `labels` overrides individual kit captions.
62
46
  */
63
47
  export declare function Select(props: SelectProps): ReactNode;
@@ -6,7 +6,7 @@ import { jsx as i } from "react/jsx-runtime";
6
6
  import { Selector as a } from "@astryxdesign/core/Selector";
7
7
  // src/molecules/Select.tsx
8
8
  function o(e) {
9
- let o = r(69), { labels: l, onClear: u, onChange: d } = e, f;
9
+ let o = r(75), { labels: l, onClear: u, onChange: d } = e, f;
10
10
  o[0] === l ? f = o[1] : (f = l === void 0 ? {} : l, o[0] = l, o[1] = f);
11
11
  let p = f, m = e.value ?? void 0, { isBusy: h, isShown: g } = n(e.isLoading === !0), _;
12
12
  o[2] !== h || o[3] !== p.value || o[4] !== e.options || o[5] !== m ? (_ = h && m !== void 0 && p.value !== void 0 && !c(e.options, m) ? [{
@@ -48,11 +48,15 @@ function o(e) {
48
48
  let A;
49
49
  o[34] === e.isRequired ? A = o[35] : (A = e.isRequired !== void 0 && { isRequired: e.isRequired }, o[34] = e.isRequired, o[35] = A);
50
50
  let j;
51
- o[36] === p.search ? j = o[37] : (j = p.search !== void 0 && { searchPlaceholder: p.search }, o[36] = p.search, o[37] = j);
51
+ o[36] === e.controlXstyle ? j = o[37] : (j = e.controlXstyle !== void 0 && { controlXstyle: e.controlXstyle }, o[36] = e.controlXstyle, o[37] = j);
52
52
  let M;
53
- o[38] === p.noMatch ? M = o[39] : (M = p.noMatch !== void 0 && { emptySearchText: p.noMatch }, o[38] = p.noMatch, o[39] = M);
53
+ o[38] === e.containerXstyle ? M = o[39] : (M = e.containerXstyle !== void 0 && { containerXstyle: e.containerXstyle }, o[38] = e.containerXstyle, o[39] = M);
54
54
  let N;
55
- o[40] !== e.label || o[41] !== E || o[42] !== D || o[43] !== O || o[44] !== k || o[45] !== A || o[46] !== j || o[47] !== M || o[48] !== y || o[49] !== b || o[50] !== x || o[51] !== S || o[52] !== C || o[53] !== w || o[54] !== T ? (N = {
55
+ o[40] === p.search ? N = o[41] : (N = p.search !== void 0 && { searchPlaceholder: p.search }, o[40] = p.search, o[41] = N);
56
+ let P;
57
+ o[42] === p.noMatch ? P = o[43] : (P = p.noMatch !== void 0 && { emptySearchText: p.noMatch }, o[42] = p.noMatch, o[43] = P);
58
+ let F;
59
+ o[44] !== e.label || o[45] !== E || o[46] !== D || o[47] !== O || o[48] !== k || o[49] !== A || o[50] !== j || o[51] !== M || o[52] !== N || o[53] !== P || o[54] !== y || o[55] !== b || o[56] !== x || o[57] !== S || o[58] !== C || o[59] !== w || o[60] !== T ? (F = {
56
60
  label: e.label,
57
61
  options: y,
58
62
  renderOption: s,
@@ -68,30 +72,32 @@ function o(e) {
68
72
  ...k,
69
73
  ...A,
70
74
  ...j,
71
- ...M
72
- }, o[40] = e.label, o[41] = E, o[42] = D, o[43] = O, o[44] = k, o[45] = A, o[46] = j, o[47] = M, o[48] = y, o[49] = b, o[50] = x, o[51] = S, o[52] = C, o[53] = w, o[54] = T, o[55] = N) : N = o[55];
73
- let P = N;
75
+ ...M,
76
+ ...N,
77
+ ...P
78
+ }, o[44] = e.label, o[45] = E, o[46] = D, o[47] = O, o[48] = k, o[49] = A, o[50] = j, o[51] = M, o[52] = N, o[53] = P, o[54] = y, o[55] = b, o[56] = x, o[57] = S, o[58] = C, o[59] = w, o[60] = T, o[61] = F) : F = o[61];
79
+ let I = F;
74
80
  if (u === void 0) {
75
81
  let e;
76
- o[56] === m ? e = o[57] : (e = m !== void 0 && { value: m }, o[56] = m, o[57] = e);
82
+ o[62] === m ? e = o[63] : (e = m !== void 0 && { value: m }, o[62] = m, o[63] = e);
77
83
  let t;
78
- return o[58] !== P || o[59] !== d || o[60] !== e ? (t = /* @__PURE__ */ i(a, {
79
- ...P,
84
+ return o[64] !== I || o[65] !== d || o[66] !== e ? (t = /* @__PURE__ */ i(a, {
85
+ ...I,
80
86
  ...e,
81
87
  onChange: d
82
- }), o[58] = P, o[59] = d, o[60] = e, o[61] = t) : t = o[61], t;
88
+ }), o[64] = I, o[65] = d, o[66] = e, o[67] = t) : t = o[67], t;
83
89
  }
84
- let F = m ?? null, I;
85
- o[62] !== d || o[63] !== u ? (I = (e) => {
90
+ let L = m ?? null, R;
91
+ o[68] !== d || o[69] !== u ? (R = (e) => {
86
92
  e === null ? u() : d(e);
87
- }, o[62] = d, o[63] = u, o[64] = I) : I = o[64];
88
- let L;
89
- return o[65] !== P || o[66] !== F || o[67] !== I ? (L = /* @__PURE__ */ i(a, {
90
- ...P,
93
+ }, o[68] = d, o[69] = u, o[70] = R) : R = o[70];
94
+ let z;
95
+ return o[71] !== I || o[72] !== L || o[73] !== R ? (z = /* @__PURE__ */ i(a, {
96
+ ...I,
91
97
  hasClear: !0,
92
- value: F,
93
- onChange: I
94
- }), o[65] = P, o[66] = F, o[67] = I, o[68] = L) : L = o[68], L;
98
+ value: L,
99
+ onChange: R
100
+ }), o[71] = I, o[72] = L, o[73] = R, o[74] = z) : z = o[74], z;
95
101
  }
96
102
  function s(t) {
97
103
  return /* @__PURE__ */ i(e, { option: t });
@@ -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;
@@ -37,8 +37,9 @@ export type TreeOptionsProps = {
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
  };
@@ -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
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)}