prime-ui-kit 0.21.3 → 0.21.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/chunks/{chunk-R5LI5BO3.js → chunk-CM2KZEDV.js} +388 -293
  2. package/dist/chunks/{chunk-HMLQCKRL.js → chunk-FWL3NJYA.js} +578 -552
  3. package/dist/chunks/{chunk-BAJRN3QN.js → chunk-KQLHVPF5.js} +5 -2
  4. package/dist/chunks/{chunk-JO7E6SZQ.js → chunk-XH64AMXF.js} +370 -338
  5. package/dist/chunks/chunk-ZGEHB27U.js +5643 -0
  6. package/dist/color-picker.js +3 -3
  7. package/dist/components/chat/Chat.d.ts +4 -2
  8. package/dist/components/chat/ChatRows.d.ts +57 -2
  9. package/dist/components/chat/messageFlow.d.ts +11 -0
  10. package/dist/components/index.d.ts +1 -1
  11. package/dist/components/input/Input.d.ts +1 -1
  12. package/dist/components/login-form/LoginForm.d.ts +5 -1
  13. package/dist/components/textarea/Textarea.d.ts +1 -1
  14. package/dist/icon-set.js +4 -4
  15. package/dist/icons/registry.d.ts +2 -0
  16. package/dist/index.css +1 -1
  17. package/dist/index.js +3 -3
  18. package/dist/internal/autofill.d.ts +30 -0
  19. package/dist/internal/messageList.d.ts +3 -1
  20. package/dist/skill/api-contract.md +2 -2
  21. package/dist/skill/checklist.md +2 -0
  22. package/dist/skill/composition.md +1 -1
  23. package/dist/skill/reference/components/button/examples/in-form.tsx +0 -1
  24. package/dist/skill/reference/components/chat/COMPONENT.md +41 -5
  25. package/dist/skill/reference/components/chat/examples/events.tsx +129 -0
  26. package/dist/skill/reference/components/chat/examples/screen.tsx +56 -2
  27. package/dist/skill/reference/components/drawer/examples/screen.tsx +1 -5
  28. package/dist/skill/reference/components/input/COMPONENT.md +3 -0
  29. package/dist/skill/reference/components/input/examples/in-form.tsx +0 -1
  30. package/dist/skill/reference/components/input/examples/validation.tsx +1 -1
  31. package/dist/skill/reference/components/login-form/COMPONENT.md +2 -2
  32. package/dist/skill/reference/components/login-form/examples/sizes.tsx +6 -2
  33. package/dist/skill/reference/components/tabs/examples/orientation.tsx +1 -1
  34. package/dist/skill/reference/components/textarea/COMPONENT.md +2 -0
  35. package/dist/skill/ux.md +19 -2
  36. package/package.json +1 -1
  37. package/src/components/button/examples/in-form.tsx +0 -1
  38. package/src/components/chat/COMPONENT.md +41 -5
  39. package/src/components/chat/examples/events.tsx +129 -0
  40. package/src/components/chat/examples/screen.tsx +56 -2
  41. package/src/components/drawer/examples/screen.tsx +1 -5
  42. package/src/components/input/COMPONENT.md +3 -0
  43. package/src/components/input/examples/in-form.tsx +0 -1
  44. package/src/components/input/examples/validation.tsx +1 -1
  45. package/src/components/login-form/COMPONENT.md +2 -2
  46. package/src/components/login-form/examples/sizes.tsx +6 -2
  47. package/src/components/tabs/examples/orientation.tsx +1 -1
  48. package/src/components/textarea/COMPONENT.md +2 -0
  49. package/dist/chunks/chunk-SUGCIPD7.js +0 -5669
@@ -1,7 +1,9 @@
1
1
  "use client";
2
2
 
3
3
  import {
4
+ AUTOFILL_OFF,
4
5
  AnchorRectProvider,
6
+ AutofillScope,
5
7
  Avatar,
6
8
  Badge,
7
9
  Button,
@@ -138,6 +140,7 @@ import {
138
140
  touchTargetClass,
139
141
  touchTargetRowClass,
140
142
  useAnchorName,
143
+ useAutofill,
141
144
  useBalancedColumns,
142
145
  useChipTier,
143
146
  useControllableState,
@@ -183,7 +186,7 @@ import {
183
186
  useTextParts,
184
187
  visuallyHiddenClass,
185
188
  zonedParts
186
- } from "./chunk-JO7E6SZQ.js";
189
+ } from "./chunk-XH64AMXF.js";
187
190
  import {
188
191
  COMPACT_QUERY,
189
192
  ControlSizeProvider,
@@ -206,7 +209,7 @@ import {
206
209
  useHostTier,
207
210
  useOptionalControlSize,
208
211
  usePresence
209
- } from "./chunk-HMLQCKRL.js";
212
+ } from "./chunk-FWL3NJYA.js";
210
213
 
211
214
  // src/layout/app-shell/AppShell.tsx
212
215
  import * as React from "react";
@@ -2969,6 +2972,7 @@ function FooterField({
2969
2972
  className: cx(fieldInputTextClass, Datepicker_default.fieldTime),
2970
2973
  value: time,
2971
2974
  inputMode: "numeric",
2975
+ ...AUTOFILL_OFF,
2972
2976
  maxLength: 5,
2973
2977
  onChange: (e) => onTime(e.target.value)
2974
2978
  }
@@ -3850,7 +3854,6 @@ function SmartFilterToolbar({
3850
3854
  Input.Field,
3851
3855
  {
3852
3856
  type: "search",
3853
- autoComplete: "off",
3854
3857
  "aria-label": labels.searchPlaceholder,
3855
3858
  placeholder: labels.searchPlaceholder,
3856
3859
  value: search,
@@ -4103,7 +4106,6 @@ function NumberRange({
4103
4106
  Input.Field,
4104
4107
  {
4105
4108
  inputMode: "decimal",
4106
- autoComplete: "off",
4107
4109
  "aria-label": formatLabel(side === "from" ? labels.fromLabel : labels.toLabel, {
4108
4110
  field: field.label
4109
4111
  }),
@@ -14456,6 +14458,10 @@ var Chat_default = {
14456
14458
  separator: "Chat_separator",
14457
14459
  service: "Chat_service",
14458
14460
  pill: "Chat_pill",
14461
+ serviceIcon: "Chat_serviceIcon",
14462
+ serviceChange: "Chat_serviceChange",
14463
+ serviceChangeValues: "Chat_serviceChangeValues",
14464
+ serviceTime: "Chat_serviceTime",
14459
14465
  unread: "Chat_unread",
14460
14466
  footer: "Chat_footer"
14461
14467
  };
@@ -14570,18 +14576,71 @@ function ChatPinned({
14570
14576
  ChatPinned.displayName = "Chat.Pinned";
14571
14577
 
14572
14578
  // src/components/chat/ChatRows.tsx
14573
- import { jsx as jsx45 } from "react/jsx-runtime";
14579
+ import { jsx as jsx45, jsxs as jsxs34 } from "react/jsx-runtime";
14580
+ var SERVICE_ESTIMATE = 48;
14574
14581
  function ChatSeparator({ className, children, ...rest }) {
14575
14582
  const depth = nextSurfaceDepth(useNestedSurfaceDepth());
14576
14583
  return /* @__PURE__ */ jsx45("div", { className: cx(Chat_default.separator, className), "data-scroll-skip": "", ...rest, children: /* @__PURE__ */ jsx45("span", { className: Chat_default.pill, "data-depth": depth, children }) });
14577
14584
  }
14578
14585
  ChatSeparator.displayName = "Chat.Separator";
14579
14586
  defineRowKind(ChatSeparator, { sticky: true });
14580
- function ChatService({ className, children, ...rest }) {
14581
- return /* @__PURE__ */ jsx45("div", { className: cx(Chat_default.separator, Chat_default.service, className), ...rest, children: /* @__PURE__ */ jsx45("span", { className: Chat_default.pill, children }) });
14587
+ function ChatService({
14588
+ time: timeProp,
14589
+ timeZone,
14590
+ formatTime: formatTime2 = formatTimeOfDay,
14591
+ className,
14592
+ children,
14593
+ ...rest
14594
+ }) {
14595
+ const list = useMessageList();
14596
+ const tier = compactTier(useControlSize(void 0));
14597
+ const time = timeProp instanceof Date ? formatTime2(timeProp, timeZone ?? list.timeZone) : timeProp;
14598
+ return /* @__PURE__ */ jsx45("div", { className: cx(Chat_default.separator, Chat_default.service, className), ...rest, children: /* @__PURE__ */ jsx45(ControlSizeProvider, { value: tier, children: /* @__PURE__ */ jsxs34("span", { className: Chat_default.pill, children: [
14599
+ children,
14600
+ time === void 0 ? null : /* @__PURE__ */ jsx45(
14601
+ "time",
14602
+ {
14603
+ className: Chat_default.serviceTime,
14604
+ dateTime: timeProp instanceof Date ? timeProp.toISOString() : void 0,
14605
+ children: time
14606
+ }
14607
+ )
14608
+ ] }) }) });
14582
14609
  }
14583
14610
  ChatService.displayName = "Chat.Service";
14584
- defineRowKind(ChatService, {});
14611
+ defineRowKind(ChatService, { estimate: SERVICE_ESTIMATE });
14612
+ function ChatServiceIcon({ className, ...rest }) {
14613
+ return /* @__PURE__ */ jsx45(
14614
+ "span",
14615
+ {
14616
+ className: cx(Chat_default.serviceIcon, iconSlotClass, className),
14617
+ "aria-hidden": "true",
14618
+ ...rest
14619
+ }
14620
+ );
14621
+ }
14622
+ ChatServiceIcon.displayName = "Chat.ServiceIcon";
14623
+ var CHAT_SERVICE_CHANGE_LABELS = {
14624
+ change: "\u0441 \xAB{from}\xBB \u043D\u0430 \xAB{to}\xBB"
14625
+ };
14626
+ function ChatServiceChange({
14627
+ from,
14628
+ to,
14629
+ labels: labelsProp,
14630
+ className,
14631
+ ...rest
14632
+ }) {
14633
+ const labels = useLabels(CHAT_SERVICE_CHANGE_LABELS, labelsProp);
14634
+ return /* @__PURE__ */ jsxs34("span", { className: cx(Chat_default.serviceChange, className), ...rest, children: [
14635
+ /* @__PURE__ */ jsxs34("span", { className: Chat_default.serviceChangeValues, "aria-hidden": "true", children: [
14636
+ from,
14637
+ /* @__PURE__ */ jsx45(Icon, { name: "nav.arrowRight" }),
14638
+ to
14639
+ ] }),
14640
+ /* @__PURE__ */ jsx45(VisuallyHidden, { children: formatLabel(labels.change, { from: nodeText(from), to: nodeText(to) }) })
14641
+ ] });
14642
+ }
14643
+ ChatServiceChange.displayName = "Chat.ServiceChange";
14585
14644
  function ChatUnread({ labels, className, ...rest }) {
14586
14645
  const { unread } = { unread: "\u041D\u0435\u043F\u0440\u043E\u0447\u0438\u0442\u0430\u043D\u043D\u044B\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F", ...labels };
14587
14646
  return /* @__PURE__ */ jsx45("div", { className: cx(Chat_default.unread, className), ...rest, children: unread });
@@ -15204,9 +15263,23 @@ function createMessageFlow({ region, onNew }) {
15204
15263
  }
15205
15264
  };
15206
15265
  }
15266
+ function createRowArrivals() {
15267
+ let committed = null;
15268
+ let planned = /* @__PURE__ */ new Set();
15269
+ return {
15270
+ plan(keys) {
15271
+ planned = newAtEnd(committed, keys);
15272
+ },
15273
+ isFresh: (key) => planned.has(key),
15274
+ commit(keys) {
15275
+ committed = keys;
15276
+ planned = /* @__PURE__ */ new Set();
15277
+ }
15278
+ };
15279
+ }
15207
15280
 
15208
15281
  // src/components/chat/MessageList.tsx
15209
- import { jsx as jsx46, jsxs as jsxs34 } from "react/jsx-runtime";
15282
+ import { jsx as jsx46, jsxs as jsxs35 } from "react/jsx-runtime";
15210
15283
  var MESSAGE_LIST_LABELS = {
15211
15284
  selectedCount: "\u0412\u044B\u0431\u0440\u0430\u043D\u043E: {count}",
15212
15285
  cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
@@ -15258,7 +15331,7 @@ function rowOf(element, key) {
15258
15331
  value: described ? described.value ?? key : own ? key : void 0,
15259
15332
  direction: described?.direction ?? props.direction ?? "incoming",
15260
15333
  // A fragment adds its other rows (the unread band before a message).
15261
- estimate: (described?.estimate ?? ROW_ESTIMATE) + (message && message !== element ? (React47.Children.toArray(element.props.children).length - 1) * ROW_ESTIMATE : 0),
15334
+ estimate: (described?.estimate ?? kind?.estimate ?? ROW_ESTIMATE) + (message && message !== element ? (React47.Children.toArray(element.props.children).length - 1) * ROW_ESTIMATE : 0),
15262
15335
  text: described?.text.toLowerCase() ?? ""
15263
15336
  };
15264
15337
  parsed.set(element, info);
@@ -15383,6 +15456,22 @@ function MessageList({
15383
15456
  React47.useLayoutEffect(() => {
15384
15457
  flow.commit(messages.map((row) => ({ value: row.value, direction: row.direction })));
15385
15458
  }, [flow, messages]);
15459
+ const [arrivals] = React47.useState(createRowArrivals);
15460
+ arrivals.plan(shape.map((row) => row.key));
15461
+ React47.useLayoutEffect(() => {
15462
+ arrivals.commit(shape.map((row) => row.key));
15463
+ const marked = innerRef.current?.querySelectorAll(":scope > [data-row-enter]");
15464
+ for (const row of marked ?? []) {
15465
+ delete row.dataset.rowEnter;
15466
+ row.classList.add(enterMotion_default.enter);
15467
+ const clear = (event) => {
15468
+ if (event.target !== row) return;
15469
+ row.classList.remove(enterMotion_default.enter);
15470
+ row.removeEventListener("animationend", clear);
15471
+ };
15472
+ row.addEventListener("animationend", clear);
15473
+ }
15474
+ }, [arrivals, shape]);
15386
15475
  const receipts = React47.useRef(null);
15387
15476
  const receiptsOf = React47.useCallback(() => {
15388
15477
  receipts.current ??= createReadReceipts((values) => handlers.current.onRead?.(values));
@@ -15714,6 +15803,7 @@ function MessageList({
15714
15803
  ref: windowed ? virtual.measure(index) : void 0,
15715
15804
  className: Chat_default.row,
15716
15805
  "data-message-row": "",
15806
+ "data-row-enter": row.value === void 0 && arrivals.isFresh(row.key) ? "" : void 0,
15717
15807
  children: /* @__PURE__ */ jsx46(MessageRowProvider, { value: positions.get(row.key) ?? null, children: row.element })
15718
15808
  },
15719
15809
  row.key
@@ -15759,7 +15849,7 @@ function MessageList({
15759
15849
  );
15760
15850
  }
15761
15851
  }
15762
- return /* @__PURE__ */ jsx46(MessageListProvider, { value, children: /* @__PURE__ */ jsx46(ChromeContext.Provider, { value: chrome, children: /* @__PURE__ */ jsxs34(
15852
+ return /* @__PURE__ */ jsx46(MessageListProvider, { value, children: /* @__PURE__ */ jsx46(ChromeContext.Provider, { value: chrome, children: /* @__PURE__ */ jsxs35(
15763
15853
  "div",
15764
15854
  {
15765
15855
  ref: mergedRef,
@@ -15798,7 +15888,7 @@ function MessageList({
15798
15888
  ...rest,
15799
15889
  children: [
15800
15890
  /* @__PURE__ */ jsx46(Announcer, { setterRef: announcer }),
15801
- /* @__PURE__ */ jsxs34(MessageHighlightContext.Provider, { value: highlight, children: [
15891
+ /* @__PURE__ */ jsxs35(MessageHighlightContext.Provider, { value: highlight, children: [
15802
15892
  body,
15803
15893
  React47.Children.toArray(tail)
15804
15894
  ] }),
@@ -15860,7 +15950,7 @@ function JumpToEnd({ flow, labels }) {
15860
15950
  className: cx(Chat_default.jump, presence.state === "open" ? enterMotion_default.enter : enterMotion_default.exit),
15861
15951
  "data-state": presence.state,
15862
15952
  onAnimationEnd: presence.onExitEnd,
15863
- children: /* @__PURE__ */ jsxs34("div", { className: Chat_default.jumpBox, children: [
15953
+ children: /* @__PURE__ */ jsxs35("div", { className: Chat_default.jumpBox, children: [
15864
15954
  /* @__PURE__ */ jsx46(
15865
15955
  Button.Root,
15866
15956
  {
@@ -15922,9 +16012,9 @@ function ChatSelectionBar({ className, children, ref, ...rest }) {
15922
16012
  className: cx(Chat_default.selectionBar, appear.entering && enterMotion_default.enter, className),
15923
16013
  "data-depth": "floating",
15924
16014
  ...rest,
15925
- children: /* @__PURE__ */ jsxs34(SurfaceDepthProvider, { value: "floating", children: [
16015
+ children: /* @__PURE__ */ jsxs35(SurfaceDepthProvider, { value: "floating", children: [
15926
16016
  /* @__PURE__ */ jsx46("span", { className: Chat_default.selectionCount, "aria-live": "polite", children: count }),
15927
- /* @__PURE__ */ jsxs34("span", { className: Chat_default.selectionActions, children: [
16017
+ /* @__PURE__ */ jsxs35("span", { className: Chat_default.selectionActions, children: [
15928
16018
  children,
15929
16019
  /* @__PURE__ */ jsx46(
15930
16020
  Button.Root,
@@ -15945,7 +16035,7 @@ ChatSelectionBar.displayName = "Chat.SelectionBar";
15945
16035
  defineRowKind(ChatSelectionBar, { tail: true });
15946
16036
 
15947
16037
  // src/components/chat/Chat.tsx
15948
- import { Fragment as Fragment25, jsx as jsx47, jsxs as jsxs35 } from "react/jsx-runtime";
16038
+ import { Fragment as Fragment25, jsx as jsx47, jsxs as jsxs36 } from "react/jsx-runtime";
15949
16039
  var CHAT_LABELS = {
15950
16040
  ...MESSAGE_LIST_LABELS,
15951
16041
  typing: "\u043F\u0435\u0447\u0430\u0442\u0430\u0435\u0442\u2026",
@@ -16051,7 +16141,7 @@ function ChatHeader({ className, children, ...rest }) {
16051
16141
  const own = React48.isValidElement(child) && (child.type === ChatTitle || child.type === ChatDescription || child.type === ChatActions);
16052
16142
  (own ? text : lead).push(child);
16053
16143
  }
16054
- return /* @__PURE__ */ jsxs35("div", { className: cx(Chat_default.header, className), ...rest, children: [
16144
+ return /* @__PURE__ */ jsxs36("div", { className: cx(Chat_default.header, className), ...rest, children: [
16055
16145
  lead.length > 0 ? /* @__PURE__ */ jsx47("div", { className: Chat_default.lead, children: lead }) : null,
16056
16146
  text
16057
16147
  ] });
@@ -16116,8 +16206,8 @@ function ChatSearch({ className, ...rest }) {
16116
16206
  if (count > 1) step2(-1);
16117
16207
  };
16118
16208
  const place = search.trim() ? count > 0 ? formatLabel(labels.matches, { index: count - Math.min(matchIndex2, count - 1), count }) : labels.noMatches : "";
16119
- return /* @__PURE__ */ jsxs35("div", { className: cx(Chat_default.search, className), ...rest, children: [
16120
- /* @__PURE__ */ jsx47(Input.Root, { className: Chat_default.searchField, children: /* @__PURE__ */ jsxs35(Input.Wrapper, { children: [
16209
+ return /* @__PURE__ */ jsxs36("div", { className: cx(Chat_default.search, className), ...rest, children: [
16210
+ /* @__PURE__ */ jsx47(Input.Root, { className: Chat_default.searchField, children: /* @__PURE__ */ jsxs36(Input.Wrapper, { children: [
16121
16211
  /* @__PURE__ */ jsx47(Input.Icon, { side: "start", children: /* @__PURE__ */ jsx47(Icon, { name: "action.search", tone: "secondary" }) }),
16122
16212
  /* @__PURE__ */ jsx47(
16123
16213
  Input.Field,
@@ -16214,7 +16304,7 @@ function useItemRows(props, unreadLabel) {
16214
16304
  value: props2.value ?? entry.key,
16215
16305
  position: props2.position ?? entry.position
16216
16306
  }) : rendered;
16217
- const element = isUnread ? /* @__PURE__ */ jsxs35(React48.Fragment, { children: [
16307
+ const element = isUnread ? /* @__PURE__ */ jsxs36(React48.Fragment, { children: [
16218
16308
  /* @__PURE__ */ jsx47(ChatUnread, { labels: { unread: isUnread } }),
16219
16309
  message
16220
16310
  ] }, entry.key) : React48.cloneElement(message, { key: entry.key });
@@ -16238,7 +16328,7 @@ var LOADING_ROWS = [
16238
16328
  { direction: "outgoing", lines: 1 }
16239
16329
  ];
16240
16330
  function ChatLoading({ group }) {
16241
- return /* @__PURE__ */ jsx47("div", { className: Chat_default.loading, "aria-hidden": "true", children: LOADING_ROWS.map((row, index) => /* @__PURE__ */ jsxs35(
16331
+ return /* @__PURE__ */ jsx47("div", { className: Chat_default.loading, "aria-hidden": "true", children: LOADING_ROWS.map((row, index) => /* @__PURE__ */ jsxs36(
16242
16332
  "div",
16243
16333
  {
16244
16334
  className: Chat_default.loadingRow,
@@ -16295,7 +16385,7 @@ function ChatMessages({
16295
16385
  );
16296
16386
  const name = ariaLabel ?? (ariaLabelledBy || chat.hasTitle ? void 0 : chat.labels.messages);
16297
16387
  const selection = chat.selected === void 0 ? {} : { selected: chat.selected, onSelectedChange: chat.setSelected };
16298
- return /* @__PURE__ */ jsxs35(Fragment25, { children: [
16388
+ return /* @__PURE__ */ jsxs36(Fragment25, { children: [
16299
16389
  /* @__PURE__ */ jsx47(
16300
16390
  Crossfade,
16301
16391
  {
@@ -16303,7 +16393,7 @@ function ChatMessages({
16303
16393
  fill: true,
16304
16394
  className: Chat_default.messages,
16305
16395
  "aria-busy": loading || void 0,
16306
- children: loading ? /* @__PURE__ */ jsx47(ChatLoading, { group }) : /* @__PURE__ */ jsxs35(
16396
+ children: loading ? /* @__PURE__ */ jsx47(ChatLoading, { group }) : /* @__PURE__ */ jsxs36(
16307
16397
  ScrollContainer,
16308
16398
  {
16309
16399
  anchor: "end",
@@ -16312,7 +16402,7 @@ function ChatMessages({
16312
16402
  className: Chat_default.scroller,
16313
16403
  children: [
16314
16404
  hasOlder ? /* @__PURE__ */ jsx47("div", { className: Chat_default.older, "aria-hidden": "true", children: /* @__PURE__ */ jsx47(Skeleton, { shape: "block", className: Chat_default.skeletonBubble }) }) : null,
16315
- /* @__PURE__ */ jsxs35(
16405
+ /* @__PURE__ */ jsxs36(
16316
16406
  MessageList,
16317
16407
  {
16318
16408
  ...rest,
@@ -16359,6 +16449,8 @@ var Chat = {
16359
16449
  SelectionBar: ChatSelectionBar,
16360
16450
  Separator: ChatSeparator,
16361
16451
  Service: ChatService,
16452
+ ServiceIcon: ChatServiceIcon,
16453
+ ServiceChange: ChatServiceChange,
16362
16454
  Unread: ChatUnread,
16363
16455
  Footer: ChatFooter
16364
16456
  };
@@ -17980,7 +18072,7 @@ function useSortableList(options) {
17980
18072
  }
17981
18073
 
17982
18074
  // src/components/dnd/Dnd.tsx
17983
- import { jsx as jsx49, jsxs as jsxs36 } from "react/jsx-runtime";
18075
+ import { jsx as jsx49, jsxs as jsxs37 } from "react/jsx-runtime";
17984
18076
  var DND_CARRYING_ATTRIBUTE = "data-dnd-carrying";
17985
18077
  function DndRoot(props) {
17986
18078
  const outer = React57.useContext(DragControllerContext);
@@ -17997,7 +18089,7 @@ function DndSession({ labels, children }) {
17997
18089
  const [controller] = React57.useState(() => createDragController(() => labelsRef.current));
17998
18090
  const message = useStoreSelector(controller.store, (state) => state.announcement.message);
17999
18091
  React57.useEffect(() => controller.destroy, [controller]);
18000
- return /* @__PURE__ */ jsxs36(DragControllerContext, { value: controller, children: [
18092
+ return /* @__PURE__ */ jsxs37(DragControllerContext, { value: controller, children: [
18001
18093
  children,
18002
18094
  /* @__PURE__ */ jsx49(DragOverlay, { controller }),
18003
18095
  /* @__PURE__ */ jsx49(VisuallyHidden, { live: "polite", children: message })
@@ -18178,7 +18270,7 @@ function DndSortable({
18178
18270
  }
18179
18271
  const { ref: targetRef, ...targetData } = list.containerProps;
18180
18272
  const ref = useMergedRefs(targetRef, forwardedRef, setRowElement);
18181
- return /* @__PURE__ */ jsx49(SortableContext, { value: context, children: /* @__PURE__ */ jsxs36(
18273
+ return /* @__PURE__ */ jsx49(SortableContext, { value: context, children: /* @__PURE__ */ jsxs37(
18182
18274
  Tag,
18183
18275
  {
18184
18276
  ref,
@@ -18547,7 +18639,7 @@ var List_default = {
18547
18639
  };
18548
18640
 
18549
18641
  // src/components/list/List.tsx
18550
- import { Fragment as Fragment27, jsx as jsx50, jsxs as jsxs37 } from "react/jsx-runtime";
18642
+ import { Fragment as Fragment27, jsx as jsx50, jsxs as jsxs38 } from "react/jsx-runtime";
18551
18643
  var LIST_LABELS = {
18552
18644
  reorderItem: "\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C {label}",
18553
18645
  lockedItem: "{label}: \u0437\u0430\u043A\u0440\u0435\u043F\u043B\u0435\u043D\u043E"
@@ -18706,10 +18798,10 @@ function splitItemChildren3(children) {
18706
18798
  }
18707
18799
  }
18708
18800
  flushLoose();
18709
- return /* @__PURE__ */ jsxs37(Fragment27, { children: [
18801
+ return /* @__PURE__ */ jsxs38(Fragment27, { children: [
18710
18802
  leading,
18711
18803
  /* @__PURE__ */ jsx50("span", { className: List_default.body, children: spaced(body) }),
18712
- trail.length > 0 ? /* @__PURE__ */ jsxs37(Fragment27, { children: [
18804
+ trail.length > 0 ? /* @__PURE__ */ jsxs38(Fragment27, { children: [
18713
18805
  " ",
18714
18806
  /* @__PURE__ */ jsx50("span", { className: cx(List_default.trail, twoLines && List_default.trailStacked), children: spaced(trail) })
18715
18807
  ] }) : null
@@ -18787,7 +18879,7 @@ function ListItem({
18787
18879
  if (actions.length > 0) {
18788
18880
  const leading = actions.filter((part) => part.props.side === "start");
18789
18881
  const trailing = actions.filter((part) => part.props.side !== "start");
18790
- element = /* @__PURE__ */ jsxs37("div", { ref: frameRef, className: List_default.frame, children: [
18882
+ element = /* @__PURE__ */ jsxs38("div", { ref: frameRef, className: List_default.frame, children: [
18791
18883
  leading,
18792
18884
  element,
18793
18885
  trailing
@@ -18798,7 +18890,7 @@ function ListItem({
18798
18890
  return /* @__PURE__ */ jsx50("li", { ref: rowRef, className: rowClass, children: element });
18799
18891
  }
18800
18892
  const text = { label: itemLabel({ asChild, children }) };
18801
- return /* @__PURE__ */ jsxs37(
18893
+ return /* @__PURE__ */ jsxs38(
18802
18894
  Dnd.SortableItem,
18803
18895
  {
18804
18896
  ref: rowRef,
@@ -18876,7 +18968,7 @@ function formatChatTime(date, now, timeZone) {
18876
18968
  }
18877
18969
 
18878
18970
  // src/components/chat-list/ChatList.tsx
18879
- import { Fragment as Fragment29, jsx as jsx51, jsxs as jsxs38 } from "react/jsx-runtime";
18971
+ import { Fragment as Fragment29, jsx as jsx51, jsxs as jsxs39 } from "react/jsx-runtime";
18880
18972
  var CHAT_LIST_LABELS = {
18881
18973
  list: "\u0414\u0438\u0430\u043B\u043E\u0433\u0438",
18882
18974
  search: "\u041F\u043E\u0438\u0441\u043A \u043F\u043E \u0434\u0438\u0430\u043B\u043E\u0433\u0430\u043C",
@@ -19002,13 +19094,13 @@ function ChatListItem({
19002
19094
  const countPart = usePartPresence({ present: count, axis: "inline" });
19003
19095
  const pinPart = usePartPresence({ present: pin, axis: "inline" });
19004
19096
  const textProps = parts.text?.props;
19005
- const title = /* @__PURE__ */ jsxs38(List.ItemText, { ...textProps, className: cx(ChatList_default.title, textProps?.className), children: [
19097
+ const title = /* @__PURE__ */ jsxs39(List.ItemText, { ...textProps, className: cx(ChatList_default.title, textProps?.className), children: [
19006
19098
  /* @__PURE__ */ jsx51("span", { className: ChatList_default.name, children: highlightChildren(textProps?.children, query) }),
19007
19099
  parts.glyphs.map((glyph, index) => {
19008
19100
  const { children: glyphChildren, className: glyphClass, ...glyphRest } = glyph.props;
19009
19101
  return (
19010
19102
  // biome-ignore lint/suspicious/noArrayIndexKey: glyphs keep their written order
19011
- /* @__PURE__ */ jsxs38(React60.Fragment, { children: [
19103
+ /* @__PURE__ */ jsxs39(React60.Fragment, { children: [
19012
19104
  " ",
19013
19105
  /* @__PURE__ */ jsx51(
19014
19106
  "span",
@@ -19026,7 +19118,7 @@ function ChatListItem({
19026
19118
  muted ? /* @__PURE__ */ jsx51("span", { ref: mutedPart.ref, className: cx(ChatList_default.pop, ChatList_default.glyph, mutedPart.className), children: /* @__PURE__ */ jsx51(Icon, { name: "status.muted", size: glyphSize, label: labels.muted, animated: false }) }) : null
19027
19119
  ] }, "title");
19028
19120
  const formatted = time instanceof Date ? list.formatTime(time, list.now, list.timeZone) : time;
19029
- const meta = formatted || status ? /* @__PURE__ */ jsxs38(List.ItemMeta, { className: ChatList_default.meta, children: [
19121
+ const meta = formatted || status ? /* @__PURE__ */ jsxs39(List.ItemMeta, { className: ChatList_default.meta, children: [
19030
19122
  status ? /* @__PURE__ */ jsx51(
19031
19123
  "span",
19032
19124
  {
@@ -19060,7 +19152,7 @@ function ChatListItem({
19060
19152
  ...descRest
19061
19153
  } = descProps;
19062
19154
  const hasText = hasContent(descChildren);
19063
- preview = /* @__PURE__ */ jsxs38(
19155
+ preview = /* @__PURE__ */ jsxs39(
19064
19156
  "span",
19065
19157
  {
19066
19158
  ...descRest,
@@ -19070,7 +19162,7 @@ function ChatListItem({
19070
19162
  children: [
19071
19163
  author ? /* @__PURE__ */ jsx51("span", { className: ChatList_default.author, children: `${author}:` }) : null,
19072
19164
  author ? " " : null,
19073
- kind ? /* @__PURE__ */ jsxs38("span", { className: ChatList_default.kind, children: [
19165
+ kind ? /* @__PURE__ */ jsxs39("span", { className: ChatList_default.kind, children: [
19074
19166
  labels[kind],
19075
19167
  duration !== void 0 ? ` ${formatClock(duration)}` : null,
19076
19168
  hasText ? ", " : null
@@ -19080,7 +19172,7 @@ function ChatListItem({
19080
19172
  }
19081
19173
  );
19082
19174
  }
19083
- const secondLine = hasSecondLine ? /* @__PURE__ */ jsxs38(
19175
+ const secondLine = hasSecondLine ? /* @__PURE__ */ jsxs39(
19084
19176
  List.ItemDescription,
19085
19177
  {
19086
19178
  ref: descProps?.ref,
@@ -19088,7 +19180,7 @@ function ChatListItem({
19088
19180
  "data-shown": shown,
19089
19181
  children: [
19090
19182
  preview,
19091
- draftText ? /* @__PURE__ */ jsxs38(
19183
+ draftText ? /* @__PURE__ */ jsxs39(
19092
19184
  "span",
19093
19185
  {
19094
19186
  className: ChatList_default.layer,
@@ -19114,13 +19206,13 @@ function ChatListItem({
19114
19206
  },
19115
19207
  "description"
19116
19208
  ) : null;
19117
- const badges = count || mention || pin || hasSecondLine ? /* @__PURE__ */ jsxs38(List.ItemMeta, { className: ChatList_default.badges, children: [
19118
- mention ? /* @__PURE__ */ jsxs38("span", { ref: mentionPart.ref, className: cx(ChatList_default.pop, mentionPart.className), children: [
19209
+ const badges = count || mention || pin || hasSecondLine ? /* @__PURE__ */ jsxs39(List.ItemMeta, { className: ChatList_default.badges, children: [
19210
+ mention ? /* @__PURE__ */ jsxs39("span", { ref: mentionPart.ref, className: cx(ChatList_default.pop, mentionPart.className), children: [
19119
19211
  /* @__PURE__ */ jsx51(Badge.Root, { color: "blue", variant: "solid", className: ChatList_default.mention, "aria-hidden": "true", children: "@" }),
19120
19212
  /* @__PURE__ */ jsx51(VisuallyHidden, { children: labels.mention })
19121
19213
  ] }) : null,
19122
19214
  mention && count ? " " : null,
19123
- count ? /* @__PURE__ */ jsxs38("span", { ref: countPart.ref, className: cx(ChatList_default.pop, countPart.className), children: [
19215
+ count ? /* @__PURE__ */ jsxs39("span", { ref: countPart.ref, className: cx(ChatList_default.pop, countPart.className), children: [
19124
19216
  /* @__PURE__ */ jsx51(
19125
19217
  Badge.Root,
19126
19218
  {
@@ -19210,7 +19302,7 @@ function ChatListItem({
19210
19302
  }
19211
19303
  );
19212
19304
  if (!parts.menu) return item;
19213
- return /* @__PURE__ */ jsxs38(
19305
+ return /* @__PURE__ */ jsxs39(
19214
19306
  Dropdown.Root,
19215
19307
  {
19216
19308
  open: menuAt !== null,
@@ -19414,8 +19506,8 @@ function ChatListRoot({
19414
19506
  if (virtualized) {
19415
19507
  const laid = rowGaps(virtual);
19416
19508
  const spacer = (height) => height > 0 ? /* @__PURE__ */ jsx51("li", { className: ChatList_default.spacer, style: { height }, "aria-hidden": "true" }) : null;
19417
- rows2 = /* @__PURE__ */ jsxs38(Fragment29, { children: [
19418
- laid.rows.map(({ index, gap }) => /* @__PURE__ */ jsxs38(React60.Fragment, { children: [
19509
+ rows2 = /* @__PURE__ */ jsxs39(Fragment29, { children: [
19510
+ laid.rows.map(({ index, gap }) => /* @__PURE__ */ jsxs39(React60.Fragment, { children: [
19419
19511
  spacer(gap),
19420
19512
  row(index, virtual.measure(index))
19421
19513
  ] }, keys[index])),
@@ -19428,7 +19520,7 @@ function ChatListRoot({
19428
19520
  const state = loading ? "loading" : items.length === 0 ? "empty" : "ready";
19429
19521
  const placeholders = (count) => /* @__PURE__ */ jsx51(List.Root, { size, className: ChatList_default.list, inert: true, "aria-hidden": "true", children: Array.from({ length: count }, (_, index) => (
19430
19522
  // biome-ignore lint/suspicious/noArrayIndexKey: identical placeholder rows
19431
- /* @__PURE__ */ jsxs38(List.Item, { tabIndex: -1, className: cx(ChatList_default.item, ChatList_default.placeholder), children: [
19523
+ /* @__PURE__ */ jsxs39(List.Item, { tabIndex: -1, className: cx(ChatList_default.item, ChatList_default.placeholder), children: [
19432
19524
  /* @__PURE__ */ jsx51(List.ItemIcon, { children: /* @__PURE__ */ jsx51(Skeleton, { shape: "circle" }) }),
19433
19525
  /* @__PURE__ */ jsx51(List.ItemText, { children: /* @__PURE__ */ jsx51(Skeleton, { className: ChatList_default.placeholderName }) }),
19434
19526
  /* @__PURE__ */ jsx51(List.ItemDescription, { children: /* @__PURE__ */ jsx51(Skeleton, { size: stepDown(size), className: ChatList_default.placeholderPreview }) }),
@@ -19438,22 +19530,22 @@ function ChatListRoot({
19438
19530
  let body;
19439
19531
  if (state === "loading") body = placeholders(SKELETON_ROWS);
19440
19532
  else if (state === "empty") {
19441
- body = searching ? /* @__PURE__ */ jsxs38(EmptyPage.Root, { layout: "compact", size, children: [
19533
+ body = searching ? /* @__PURE__ */ jsxs39(EmptyPage.Root, { layout: "compact", size, children: [
19442
19534
  /* @__PURE__ */ jsx51(EmptyPage.Icon, { children: /* @__PURE__ */ jsx51(Icon, { name: "action.search" }) }),
19443
19535
  /* @__PURE__ */ jsx51(EmptyPage.Title, { children: labels.noResults })
19444
- ] }) : empty ?? /* @__PURE__ */ jsxs38(EmptyPage.Root, { layout: "compact", size, children: [
19536
+ ] }) : empty ?? /* @__PURE__ */ jsxs39(EmptyPage.Root, { layout: "compact", size, children: [
19445
19537
  /* @__PURE__ */ jsx51(EmptyPage.Icon, { children: /* @__PURE__ */ jsx51(Icon, { name: "object.message" }) }),
19446
19538
  /* @__PURE__ */ jsx51(EmptyPage.Title, { children: labels.empty })
19447
19539
  ] });
19448
19540
  } else {
19449
- body = /* @__PURE__ */ jsxs38(Fragment29, { children: [
19541
+ body = /* @__PURE__ */ jsxs39(Fragment29, { children: [
19450
19542
  /* @__PURE__ */ jsx51(List.Root, { ref: setListEl, size, "aria-label": labels.list, className: ChatList_default.list, children: rows2 }),
19451
19543
  hasMore ? placeholders(1) : null
19452
19544
  ] });
19453
19545
  }
19454
19546
  const announcement = loading ? labels.loading : searching ? items.length > 0 ? formatLabel(labels.results, { count: items.length }) : labels.noResults : "";
19455
19547
  return tier.provide(
19456
- /* @__PURE__ */ jsx51(ChatListProvider, { value: context, children: /* @__PURE__ */ jsxs38(
19548
+ /* @__PURE__ */ jsx51(ChatListProvider, { value: context, children: /* @__PURE__ */ jsxs39(
19457
19549
  "div",
19458
19550
  {
19459
19551
  ...rest,
@@ -19461,7 +19553,7 @@ function ChatListRoot({
19461
19553
  className: cx(ChatList_default.root, className),
19462
19554
  ...toDataAttributes({ size }),
19463
19555
  children: [
19464
- searchable ? /* @__PURE__ */ jsx51("div", { className: ChatList_default.search, children: /* @__PURE__ */ jsx51(Input.Root, { children: /* @__PURE__ */ jsxs38(Input.Wrapper, { children: [
19556
+ searchable ? /* @__PURE__ */ jsx51("div", { className: ChatList_default.search, children: /* @__PURE__ */ jsx51(Input.Root, { children: /* @__PURE__ */ jsxs39(Input.Wrapper, { children: [
19465
19557
  /* @__PURE__ */ jsx51(Input.Icon, { side: "start", children: /* @__PURE__ */ jsx51(Icon, { name: "action.search", tone: "secondary" }) }),
19466
19558
  /* @__PURE__ */ jsx51(
19467
19559
  Input.Field,
@@ -19679,7 +19771,7 @@ var ColorPresets_default = {
19679
19771
  };
19680
19772
 
19681
19773
  // src/components/color-picker/ColorPresets.tsx
19682
- import { jsx as jsx53, jsxs as jsxs39 } from "react/jsx-runtime";
19774
+ import { jsx as jsx53, jsxs as jsxs40 } from "react/jsx-runtime";
19683
19775
  var COLOR_PRESETS_LABELS = {
19684
19776
  trigger: "\u0426\u0432\u0435\u0442",
19685
19777
  list: "\u0426\u0432\u0435\u0442\u0430",
@@ -19866,7 +19958,7 @@ function SwatchList({ label }) {
19866
19958
  const next = grid.move(event, active, balanced ?? Math.min(columns, options.length));
19867
19959
  if (next !== null) setActive(next);
19868
19960
  };
19869
- return /* @__PURE__ */ jsxs39("div", { className: ColorPresets_default.body, children: [
19961
+ return /* @__PURE__ */ jsxs40("div", { className: ColorPresets_default.body, children: [
19870
19962
  label != null ? /* @__PURE__ */ jsx53(
19871
19963
  "div",
19872
19964
  {
@@ -19928,14 +20020,13 @@ function CustomColorField() {
19928
20020
  );
19929
20021
  const [error, setError] = React62.useState();
19930
20022
  const typed = parseHexColor(draft);
19931
- return /* @__PURE__ */ jsx53(Input.Root, { label: labels.custom, error, className: ColorPresets_default.custom, children: /* @__PURE__ */ jsxs39(Input.Wrapper, { children: [
20023
+ return /* @__PURE__ */ jsx53(Input.Root, { label: labels.custom, error, className: ColorPresets_default.custom, children: /* @__PURE__ */ jsxs40(Input.Wrapper, { children: [
19932
20024
  /* @__PURE__ */ jsx53(Input.Icon, { side: "start", children: /* @__PURE__ */ jsx53(SwatchChip, { value: typed ?? value }) }),
19933
20025
  /* @__PURE__ */ jsx53(
19934
20026
  Input.Field,
19935
20027
  {
19936
20028
  value: draft,
19937
20029
  placeholder: "#12A594",
19938
- autoComplete: "off",
19939
20030
  spellCheck: false,
19940
20031
  onValueChange: (next) => {
19941
20032
  setDraft(next);
@@ -20022,7 +20113,7 @@ var CommandMenu_default = {
20022
20113
  };
20023
20114
 
20024
20115
  // src/components/command-menu/CommandMenu.tsx
20025
- import { Fragment as Fragment30, jsx as jsx55, jsxs as jsxs40 } from "react/jsx-runtime";
20116
+ import { Fragment as Fragment30, jsx as jsx55, jsxs as jsxs41 } from "react/jsx-runtime";
20026
20117
  var COMMAND_MENU_LABELS = {
20027
20118
  search: "\u041F\u043E\u0438\u0441\u043A",
20028
20119
  empty: "\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",
@@ -20218,7 +20309,7 @@ function CommandMenuInput({
20218
20309
  };
20219
20310
  return (
20220
20311
  // The palette's search is a field of tier `l` (its text and height), whatever the rows' tier.
20221
- /* @__PURE__ */ jsxs40(
20312
+ /* @__PURE__ */ jsxs41(
20222
20313
  "div",
20223
20314
  {
20224
20315
  className: cx(menu_default.searchRow, fieldTierClass, fieldInputTextClass, CommandMenu_default.inputRow),
@@ -20237,7 +20328,7 @@ function CommandMenuInput({
20237
20328
  "aria-controls": listboxId,
20238
20329
  "aria-activedescendant": activeId ? optionId(activeId) : void 0,
20239
20330
  "aria-busy": loading || loadingMore || void 0,
20240
- autoComplete: "off",
20331
+ ...AUTOFILL_OFF,
20241
20332
  autoCorrect: "off",
20242
20333
  spellCheck: false,
20243
20334
  "data-autofocus": "",
@@ -20293,14 +20384,14 @@ function CommandMenuList({ className, children, ref, ...rest }) {
20293
20384
  if (inside && !regionRef.current?.contains(document.activeElement)) return;
20294
20385
  dialog.querySelector("[data-autofocus]")?.focus({ preventScroll: true });
20295
20386
  };
20296
- return /* @__PURE__ */ jsxs40(Fragment30, { children: [
20297
- /* @__PURE__ */ jsx55(RegionSwap, { ref: regionRef, state: region, fill: true, onSwap: returnToSearch, children: region === "error" ? /* @__PURE__ */ jsxs40(EmptyPage.Root, { layout: "compact", size, role: "alert", children: [
20387
+ return /* @__PURE__ */ jsxs41(Fragment30, { children: [
20388
+ /* @__PURE__ */ jsx55(RegionSwap, { ref: regionRef, state: region, fill: true, onSwap: returnToSearch, children: region === "error" ? /* @__PURE__ */ jsxs41(EmptyPage.Root, { layout: "compact", size, role: "alert", children: [
20298
20389
  /* @__PURE__ */ jsx55(EmptyPage.Title, { as: "p", children: loadError }),
20299
- onRetry ? /* @__PURE__ */ jsx55(EmptyPage.Actions, { children: /* @__PURE__ */ jsxs40(Button.Root, { variant: "soft", tone: "neutral", loading: retrying, onClick: onRetry, children: [
20390
+ onRetry ? /* @__PURE__ */ jsx55(EmptyPage.Actions, { children: /* @__PURE__ */ jsxs41(Button.Root, { variant: "soft", tone: "neutral", loading: retrying, onClick: onRetry, children: [
20300
20391
  /* @__PURE__ */ jsx55(Button.Icon, { children: /* @__PURE__ */ jsx55(Icon, { name: "action.refresh" }) }),
20301
20392
  labels.retry
20302
20393
  ] }) }) : null
20303
- ] }) : /* @__PURE__ */ jsxs40(
20394
+ ] }) : /* @__PURE__ */ jsxs41(
20304
20395
  ScrollContainer,
20305
20396
  {
20306
20397
  ...rest,
@@ -20412,7 +20503,7 @@ function CommandMenuItemText({
20412
20503
  ...rest
20413
20504
  }) {
20414
20505
  const { search } = useCommandMenuContext();
20415
- return /* @__PURE__ */ jsxs40("span", { className: cx(CommandMenu_default.itemText, className), ...rest, children: [
20506
+ return /* @__PURE__ */ jsxs41("span", { className: cx(CommandMenu_default.itemText, className), ...rest, children: [
20416
20507
  /* @__PURE__ */ jsx55("span", { className: CommandMenu_default.itemLabel, children: highlightChildren(children, search) }),
20417
20508
  description ? /* @__PURE__ */ jsx55("span", { className: cx(textRole_default.caption, CommandMenu_default.itemDescription), children: highlightChildren(description, search) }) : null
20418
20509
  ] });
@@ -20434,7 +20525,7 @@ function CommandMenuFooter({ className, ...rest }) {
20434
20525
  }
20435
20526
  CommandMenuFooter.displayName = "CommandMenu.Footer";
20436
20527
  function CommandMenuFooterHint({ keys, children, className, ...rest }) {
20437
- return /* @__PURE__ */ jsxs40("span", { className: cx(CommandMenu_default.footerHint, className), ...rest, children: [
20528
+ return /* @__PURE__ */ jsxs41("span", { className: cx(CommandMenu_default.footerHint, className), ...rest, children: [
20438
20529
  keys.map((key, index) => (
20439
20530
  // biome-ignore lint/suspicious/noArrayIndexKey: a static list of keys
20440
20531
  /* @__PURE__ */ jsx55(Kbd, { children: key }, index)
@@ -20489,7 +20580,7 @@ var attachmentTile_default = {
20489
20580
  };
20490
20581
 
20491
20582
  // src/internal/attachmentTile.tsx
20492
- import { jsx as jsx56, jsxs as jsxs41 } from "react/jsx-runtime";
20583
+ import { jsx as jsx56, jsxs as jsxs42 } from "react/jsx-runtime";
20493
20584
  function AttachmentTile({
20494
20585
  id,
20495
20586
  kind,
@@ -20526,7 +20617,7 @@ function AttachmentTile({
20526
20617
  if (node && leaving?.current.delete(id)) leaveInPlace(node, "inline");
20527
20618
  };
20528
20619
  }, [id, leaving]);
20529
- return /* @__PURE__ */ jsxs41(
20620
+ return /* @__PURE__ */ jsxs42(
20530
20621
  Dnd.SortableItem,
20531
20622
  {
20532
20623
  ...rest,
@@ -20564,7 +20655,7 @@ function AttachmentTile({
20564
20655
  ) : null,
20565
20656
  name || bandMeta ? (
20566
20657
  // Decorative: the tile's name carries the file name and its state.
20567
- /* @__PURE__ */ jsxs41(
20658
+ /* @__PURE__ */ jsxs42(
20568
20659
  "span",
20569
20660
  {
20570
20661
  className: cx(textRole_default.caption, onMedia && mediaPill_default.fade, attachmentTile_default.band),
@@ -20628,7 +20719,7 @@ function AttachmentStripScroller({ children }) {
20628
20719
  function TileVideo({ src, onDuration }) {
20629
20720
  const frameRef = React64.useRef(null);
20630
20721
  const near = useNearView(frameRef);
20631
- return /* @__PURE__ */ jsxs41(Thumbnail.Root, { ref: frameRef, size: "m", className: attachmentTile_default.media, children: [
20722
+ return /* @__PURE__ */ jsxs42(Thumbnail.Root, { ref: frameRef, size: "m", className: attachmentTile_default.media, children: [
20632
20723
  near && src ? /* @__PURE__ */ jsx56(
20633
20724
  Thumbnail.Video,
20634
20725
  {
@@ -20696,7 +20787,7 @@ var FileUpload_default = {
20696
20787
  };
20697
20788
 
20698
20789
  // src/components/file-upload/FileUpload.tsx
20699
- import { Fragment as Fragment31, jsx as jsx57, jsxs as jsxs42 } from "react/jsx-runtime";
20790
+ import { Fragment as Fragment31, jsx as jsx57, jsxs as jsxs43 } from "react/jsx-runtime";
20700
20791
  var FILE_UPLOAD_LABELS = {
20701
20792
  title: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043B \u0438\u043B\u0438 \u043F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0435\u0433\u043E \u0441\u044E\u0434\u0430",
20702
20793
  browse: "\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0444\u0430\u0439\u043B",
@@ -20787,7 +20878,7 @@ function FileUploadFormatBadge({
20787
20878
  FileUploadFormatBadge.displayName = "FileUpload.FormatBadge";
20788
20879
  function FileUploadItemPreview({ src, className, ...rest }) {
20789
20880
  const size = useControlSize(void 0);
20790
- return /* @__PURE__ */ jsxs42(
20881
+ return /* @__PURE__ */ jsxs43(
20791
20882
  Thumbnail.Root,
20792
20883
  {
20793
20884
  ...rest,
@@ -21105,8 +21196,8 @@ function FileSetView({
21105
21196
  };
21106
21197
  const region = announcer.own ? /* @__PURE__ */ jsx57(VisuallyHidden, { live: "polite", children: announcer.message }) : null;
21107
21198
  if (layout === "list") {
21108
- return /* @__PURE__ */ jsxs42(Fragment31, { children: [
21109
- files.length > 0 || addTile ? /* @__PURE__ */ jsxs42(
21199
+ return /* @__PURE__ */ jsxs43(Fragment31, { children: [
21200
+ files.length > 0 || addTile ? /* @__PURE__ */ jsxs43(
21110
21201
  "ul",
21111
21202
  {
21112
21203
  role: "list",
@@ -21193,7 +21284,7 @@ function FileSetView({
21193
21284
  children: addTile
21194
21285
  }
21195
21286
  );
21196
- return /* @__PURE__ */ jsxs42(Fragment31, { children: [
21287
+ return /* @__PURE__ */ jsxs43(Fragment31, { children: [
21197
21288
  files.length > 0 || addTile ? /* @__PURE__ */ jsx57("div", { className: FileUpload_default.tiles, ...toDataAttributes({ layout, cover: cover || void 0 }), children: /* @__PURE__ */ jsx57(ControlSizeProvider, { value: "xs", children: strip ? /* @__PURE__ */ jsx57(AttachmentStripScroller, { children: list }) : list }) }) : null,
21198
21289
  region
21199
21290
  ] });
@@ -21239,7 +21330,7 @@ function FileRow({
21239
21330
  className: cx(FileUpload_default.queueRow, appear.entering && enterMotion_default.enter),
21240
21331
  "aria-busy": pending || void 0,
21241
21332
  "data-pending": pending || void 0,
21242
- children: /* @__PURE__ */ jsxs42(FileUploadItem, { invalid: status === "failed", "data-status": status, children: [
21333
+ children: /* @__PURE__ */ jsxs43(FileUploadItem, { invalid: status === "failed", "data-status": status, children: [
21243
21334
  picture ? /* @__PURE__ */ jsx57(FileUploadItemPreview, { src: picture }) : /* @__PURE__ */ jsx57(FileUploadFormatBadge, { format: format5 || "\u2014", color: formatColor(format5) }),
21244
21335
  /* @__PURE__ */ jsx57(FileUploadItemText, { title: file.name, children: file.href ? /* @__PURE__ */ jsx57(
21245
21336
  LinkButton,
@@ -21253,7 +21344,7 @@ function FileRow({
21253
21344
  }
21254
21345
  ) : picture ? file.name : splitFileName(file.name).base }),
21255
21346
  parts.length > 0 ? /* @__PURE__ */ jsx57(FileUploadItemDescription, { children: /* @__PURE__ */ jsx57(MorphText, { children: parts.join(" \xB7 ") }) }) : null,
21256
- onRetry || onRemove ? /* @__PURE__ */ jsxs42(FileUploadItemActions, { children: [
21347
+ onRetry || onRemove ? /* @__PURE__ */ jsxs43(FileUploadItemActions, { children: [
21257
21348
  status === "failed" && onRetry ? /* @__PURE__ */ jsx57(
21258
21349
  Button.Root,
21259
21350
  {
@@ -21437,13 +21528,13 @@ function FileUploadField({
21437
21528
  if (none) {
21438
21529
  control = input;
21439
21530
  } else if (button) {
21440
- const content = children ?? /* @__PURE__ */ jsxs42(Fragment31, { children: [
21531
+ const content = children ?? /* @__PURE__ */ jsxs43(Fragment31, { children: [
21441
21532
  /* @__PURE__ */ jsx57(Button.Icon, { children: /* @__PURE__ */ jsx57(Icon, { name: "action.attach" }) }),
21442
21533
  labels.browse
21443
21534
  ] });
21444
21535
  const iconOnly = React65.Children.count(content) === 1 && React65.isValidElement(content) && content.type === Button.Icon;
21445
21536
  const buttonId = `${ids.controlId}-button`;
21446
- control = /* @__PURE__ */ jsxs42("span", { className: FileUpload_default.buttonRoot, children: [
21537
+ control = /* @__PURE__ */ jsxs43("span", { className: FileUpload_default.buttonRoot, children: [
21447
21538
  input,
21448
21539
  /* @__PURE__ */ jsx57(
21449
21540
  Button.Root,
@@ -21464,7 +21555,7 @@ function FileUploadField({
21464
21555
  ] });
21465
21556
  } else if (!tile) {
21466
21557
  control = // biome-ignore lint/a11y/noLabelWithoutControl: the file input (`input`) is its first child
21467
- /* @__PURE__ */ jsxs42(
21558
+ /* @__PURE__ */ jsxs43(
21468
21559
  "label",
21469
21560
  {
21470
21561
  className: cx(fieldTierClass, FileUpload_default.root),
@@ -21477,7 +21568,7 @@ function FileUploadField({
21477
21568
  }),
21478
21569
  children: [
21479
21570
  input,
21480
- children ?? /* @__PURE__ */ jsxs42(FileUploadBody, { children: [
21571
+ children ?? /* @__PURE__ */ jsxs43(FileUploadBody, { children: [
21481
21572
  /* @__PURE__ */ jsx57(FileUploadIcon, { children: /* @__PURE__ */ jsx57(Icon, { name: "action.upload", size, tone: "secondary" }) }),
21482
21573
  /* @__PURE__ */ jsx57(FileUploadTitle, { children: labels.title }),
21483
21574
  /* @__PURE__ */ jsx57(Button.Root, { asChild: true, variant: "soft", tone: "neutral", size, disabled, children: /* @__PURE__ */ jsx57("span", { children: labels.browse }) })
@@ -21514,7 +21605,7 @@ function FileUploadField({
21514
21605
  ref: addTileRef,
21515
21606
  className: cx(FileUpload_default.add, addPresence.className),
21516
21607
  "data-empty": empty || void 0,
21517
- children: /* @__PURE__ */ jsxs42("label", { className: FileUpload_default.addTarget, children: [
21608
+ children: /* @__PURE__ */ jsxs43("label", { className: FileUpload_default.addTarget, children: [
21518
21609
  input,
21519
21610
  /* @__PURE__ */ jsx57("span", { className: cx(fieldTierClass, FileUpload_default.addIcon), "data-size": "xs", "aria-hidden": "true", children: /* @__PURE__ */ jsx57(Icon, { name: "action.add" }) }),
21520
21611
  /* @__PURE__ */ jsx57("span", { className: cx(textRole_default.caption, FileUpload_default.addText), children: /* @__PURE__ */ jsx57(MorphText, { children: empty ? labels.empty : labels.add }) })
@@ -21562,7 +21653,7 @@ function FileUploadField({
21562
21653
  disabled,
21563
21654
  optionalLabel: labels.optional,
21564
21655
  group: tile,
21565
- children: /* @__PURE__ */ jsxs42(
21656
+ children: /* @__PURE__ */ jsxs43(
21566
21657
  "div",
21567
21658
  {
21568
21659
  className: FileUpload_default.field,
@@ -21811,7 +21902,7 @@ var textFormattingToolbar_default = {
21811
21902
  };
21812
21903
 
21813
21904
  // src/internal/textFormattingToolbar.tsx
21814
- import { jsx as jsx58, jsxs as jsxs43 } from "react/jsx-runtime";
21905
+ import { jsx as jsx58, jsxs as jsxs44 } from "react/jsx-runtime";
21815
21906
  var TOOL_ICONS = {
21816
21907
  bold: "format.bold",
21817
21908
  italic: "format.italic",
@@ -21908,7 +21999,7 @@ function useTextFormatting({
21908
21999
  },
21909
22000
  children: /* @__PURE__ */ jsx58(Tooltip.Provider, { children: TEXT_FORMATS.map((format5, index) => {
21910
22001
  const shortcut = FORMAT_SHORTCUTS[format5];
21911
- return /* @__PURE__ */ jsxs43(Tooltip.Root, { children: [
22002
+ return /* @__PURE__ */ jsxs44(Tooltip.Root, { children: [
21912
22003
  /* @__PURE__ */ jsx58(Tooltip.Trigger, { children: /* @__PURE__ */ jsx58(
21913
22004
  Button.Root,
21914
22005
  {
@@ -21925,7 +22016,7 @@ function useTextFormatting({
21925
22016
  children: /* @__PURE__ */ jsx58(Button.Icon, { children: /* @__PURE__ */ jsx58(Icon, { name: TOOL_ICONS[format5] }) })
21926
22017
  }
21927
22018
  ) }),
21928
- /* @__PURE__ */ jsxs43(Tooltip.Content, { size: toolSize, side: "top", children: [
22019
+ /* @__PURE__ */ jsxs44(Tooltip.Content, { size: toolSize, side: "top", children: [
21929
22020
  labels[format5],
21930
22021
  " ",
21931
22022
  /* @__PURE__ */ jsx58(Kbd, { children: shortcutText(format5, apple) })
@@ -21950,7 +22041,7 @@ var Textarea_default = {
21950
22041
  };
21951
22042
 
21952
22043
  // src/components/textarea/Textarea.tsx
21953
- import { Fragment as Fragment32, jsx as jsx59, jsxs as jsxs44 } from "react/jsx-runtime";
22044
+ import { Fragment as Fragment32, jsx as jsx59, jsxs as jsxs45 } from "react/jsx-runtime";
21954
22045
  var TEXTAREA_LABELS = {
21955
22046
  optional: "\u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E",
21956
22047
  counter: "{current} \u0438\u0437 {max} \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432",
@@ -21982,6 +22073,7 @@ function TextareaRoot({
21982
22073
  disabled: disabledProp,
21983
22074
  readOnly,
21984
22075
  value,
22076
+ autoComplete,
21985
22077
  onInput,
21986
22078
  onChange,
21987
22079
  onValueChange,
@@ -22002,6 +22094,7 @@ function TextareaRoot({
22002
22094
  const disabled = useInheritedDisabled(disabledProp);
22003
22095
  const ids = useFieldFrame(id, { label, hint, error, invalid, required }, ariaDescribedBy);
22004
22096
  const labels = useLabels(TEXTAREA_LABELS, labelsProp);
22097
+ const autofill = useAutofill(autoComplete);
22005
22098
  const innerRef = React67.useRef(null);
22006
22099
  const setRefs = useMergedRefs(innerRef, ref);
22007
22100
  const mirrorRef = React67.useRef(null);
@@ -22061,6 +22154,7 @@ function TextareaRoot({
22061
22154
  "aria-invalid": ids.invalid || void 0,
22062
22155
  "aria-describedby": ids.describedBy,
22063
22156
  "aria-busy": commit.state === "pending" || void 0,
22157
+ ...autofill,
22064
22158
  value,
22065
22159
  onInput: (event) => {
22066
22160
  if (autoResize && mirrorRef.current) {
@@ -22115,9 +22209,9 @@ function TextareaRoot({
22115
22209
  "focus-ring": focusRing,
22116
22210
  capped: autoResize && maxRows !== void 0 || void 0
22117
22211
  }),
22118
- children: hasEdge ? /* @__PURE__ */ jsxs44(Fragment32, { children: [
22212
+ children: hasEdge ? /* @__PURE__ */ jsxs45(Fragment32, { children: [
22119
22213
  /* @__PURE__ */ jsx59("div", { className: Textarea_default.body, children: body }),
22120
- /* @__PURE__ */ jsxs44("div", { className: Textarea_default.edge, children: [
22214
+ /* @__PURE__ */ jsxs45("div", { className: Textarea_default.edge, children: [
22121
22215
  hasCommit ? /* @__PURE__ */ jsx59(FieldCommitStatus, { state: commit.state, labels }) : null,
22122
22216
  children
22123
22217
  ] })
@@ -22144,7 +22238,7 @@ function TextareaRoot({
22144
22238
  className: cx(fieldTierClass, Textarea_default.root, className),
22145
22239
  children: formatting ? (
22146
22240
  // The toolbar floats over the box; the box clips its corner actions, so it cannot hold it.
22147
- /* @__PURE__ */ jsxs44("div", { className: Textarea_default.anchor, ...format5.anchorProps, children: [
22241
+ /* @__PURE__ */ jsxs45("div", { className: Textarea_default.anchor, ...format5.anchorProps, children: [
22148
22242
  control,
22149
22243
  format5.toolbar
22150
22244
  ] })
@@ -22504,7 +22598,7 @@ function useRecorder(onRecorded) {
22504
22598
  }
22505
22599
 
22506
22600
  // src/components/composer/Composer.tsx
22507
- import { Fragment as Fragment33, jsx as jsx60, jsxs as jsxs45 } from "react/jsx-runtime";
22601
+ import { Fragment as Fragment33, jsx as jsx60, jsxs as jsxs46 } from "react/jsx-runtime";
22508
22602
  var COMPOSER_LABELS = {
22509
22603
  region: "\u041D\u043E\u0432\u043E\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
22510
22604
  placeholder: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
@@ -23114,7 +23208,7 @@ function ComposerRoot({
23114
23208
  const errorId = `${fieldId}-error`;
23115
23209
  const contextIds = bars.map((item) => item.id).join(" ") || void 0;
23116
23210
  return /* @__PURE__ */ jsx60(ComposerProvider, { value: contextValue, children: tier.provide(
23117
- /* @__PURE__ */ jsxs45(
23211
+ /* @__PURE__ */ jsxs46(
23118
23212
  "form",
23119
23213
  {
23120
23214
  "aria-label": labels.region,
@@ -23191,8 +23285,8 @@ function ComposerRoot({
23191
23285
  onExitEnd: preview.onExitEnd
23192
23286
  }
23193
23287
  ) : null,
23194
- /* @__PURE__ */ jsxs45("div", { className: Composer_default.top, children: [
23195
- /* @__PURE__ */ jsx60(Crossfade, { state: uploads.length > 0 ? "tray" : "empty", className: Composer_default.tray, children: queue && uploads.length > 0 ? /* @__PURE__ */ jsxs45("div", { className: Composer_default.trayBody, inert: disabled || pending, children: [
23288
+ /* @__PURE__ */ jsxs46("div", { className: Composer_default.top, children: [
23289
+ /* @__PURE__ */ jsx60(Crossfade, { state: uploads.length > 0 ? "tray" : "empty", className: Composer_default.tray, children: queue && uploads.length > 0 ? /* @__PURE__ */ jsxs46("div", { className: Composer_default.trayBody, inert: disabled || pending, children: [
23196
23290
  /* @__PURE__ */ jsx60(
23197
23291
  FileUpload.Queue,
23198
23292
  {
@@ -23227,9 +23321,9 @@ function ComposerRoot({
23227
23321
  }
23228
23322
  ) : null
23229
23323
  ] }),
23230
- /* @__PURE__ */ jsxs45("div", { className: Composer_default.row, "data-composer-row": "", children: [
23324
+ /* @__PURE__ */ jsxs46("div", { className: Composer_default.row, "data-composer-row": "", children: [
23231
23325
  /* @__PURE__ */ jsx60("div", { ref: setAttachSlot, className: Composer_default.start, inert: recording }),
23232
- /* @__PURE__ */ jsxs45("div", { inert: recording, className: Composer_default.field, ...format5.anchorProps, children: [
23326
+ /* @__PURE__ */ jsxs46("div", { inert: recording, className: Composer_default.field, ...format5.anchorProps, children: [
23233
23327
  /* @__PURE__ */ jsx60(
23234
23328
  Textarea.Root,
23235
23329
  {
@@ -23262,7 +23356,7 @@ function ComposerRoot({
23262
23356
  ),
23263
23357
  format5.toolbar
23264
23358
  ] }),
23265
- recording ? /* @__PURE__ */ jsxs45(
23359
+ recording ? /* @__PURE__ */ jsxs46(
23266
23360
  "div",
23267
23361
  {
23268
23362
  ref: setBarRef,
@@ -23307,14 +23401,14 @@ function ComposerRoot({
23307
23401
  // A canvas without fallback content is not exposed: the timer and the live
23308
23402
  // region speak for the recording.
23309
23403
  /* @__PURE__ */ jsx60("canvas", { ref: waveRef, className: cx(Composer_default.wave, enterMotion_default.enter) })
23310
- ) : /* @__PURE__ */ jsxs45("span", { className: Composer_default.slide, "aria-hidden": "true", children: [
23404
+ ) : /* @__PURE__ */ jsxs46("span", { className: Composer_default.slide, "aria-hidden": "true", children: [
23311
23405
  /* @__PURE__ */ jsx60(Icon, { name: "nav.chevronLeft" }),
23312
23406
  labels.slideToCancel
23313
23407
  ] })
23314
23408
  ]
23315
23409
  }
23316
23410
  ) : null,
23317
- /* @__PURE__ */ jsxs45("div", { className: Composer_default.end, children: [
23411
+ /* @__PURE__ */ jsxs46("div", { className: Composer_default.end, children: [
23318
23412
  /* @__PURE__ */ jsx60(
23319
23413
  "div",
23320
23414
  {
@@ -23323,7 +23417,7 @@ function ComposerRoot({
23323
23417
  inert: recording
23324
23418
  }
23325
23419
  ),
23326
- lockPill.mounted ? /* @__PURE__ */ jsxs45(
23420
+ lockPill.mounted ? /* @__PURE__ */ jsxs46(
23327
23421
  "span",
23328
23422
  {
23329
23423
  className: cx(
@@ -23382,7 +23476,7 @@ function VideoPreview({
23382
23476
  },
23383
23477
  [stream]
23384
23478
  );
23385
- return /* @__PURE__ */ jsxs45(
23479
+ return /* @__PURE__ */ jsxs46(
23386
23480
  "div",
23387
23481
  {
23388
23482
  ref,
@@ -23446,7 +23540,7 @@ function ComposerContext({
23446
23540
  focusedMode.current = mode;
23447
23541
  focusFieldIfLive();
23448
23542
  });
23449
- return /* @__PURE__ */ jsxs45(
23543
+ return /* @__PURE__ */ jsxs46(
23450
23544
  "div",
23451
23545
  {
23452
23546
  ...rest,
@@ -23517,7 +23611,7 @@ function ComposerAttach({
23517
23611
  );
23518
23612
  }
23519
23613
  return createPortal2(
23520
- /* @__PURE__ */ jsxs45("div", { ...rest, className: cx(Composer_default.attach, className), children: [
23614
+ /* @__PURE__ */ jsxs46("div", { ...rest, className: cx(Composer_default.attach, className), children: [
23521
23615
  /* @__PURE__ */ jsx60(
23522
23616
  FileUpload.Root,
23523
23617
  {
@@ -23528,7 +23622,7 @@ function ComposerAttach({
23528
23622
  onFilesChange: addFiles
23529
23623
  }
23530
23624
  ),
23531
- /* @__PURE__ */ jsxs45(Dropdown.Root, { children: [
23625
+ /* @__PURE__ */ jsxs46(Dropdown.Root, { children: [
23532
23626
  /* @__PURE__ */ jsx60(Dropdown.Trigger, { children: /* @__PURE__ */ jsx60(Button.Root, { variant: "ghost", tone: "neutral", "aria-label": name, disabled, children: icon }) }),
23533
23627
  /* @__PURE__ */ jsx60(Dropdown.Content, { side: "top", size, children: /* @__PURE__ */ jsx60(AttachPickContext.Provider, { value: pick, children }) })
23534
23628
  ] })
@@ -23605,7 +23699,7 @@ function ComposerKeyboard({
23605
23699
  };
23606
23700
  if (!keyboardSlot || !keyboardToggleSlot) return null;
23607
23701
  const toggleIcon = open ? "nav.chevronDown" : "nav.layoutGrid";
23608
- return /* @__PURE__ */ jsxs45(Fragment33, { children: [
23702
+ return /* @__PURE__ */ jsxs46(Fragment33, { children: [
23609
23703
  createPortal2(
23610
23704
  /* @__PURE__ */ jsx60(
23611
23705
  Button.Root,
@@ -23641,7 +23735,7 @@ function ComposerKeyboard({
23641
23735
  children: row.map((key, keyIndex) => {
23642
23736
  const position = `${rowIndex}:${keyIndex}`;
23643
23737
  const custom = typeof key === "string" ? void 0 : key;
23644
- return /* @__PURE__ */ jsxs45(
23738
+ return /* @__PURE__ */ jsxs46(
23645
23739
  Button.Root,
23646
23740
  {
23647
23741
  variant: "soft",
@@ -23745,7 +23839,7 @@ var DataTable_default = {
23745
23839
  };
23746
23840
 
23747
23841
  // src/components/data-table/ColumnsMenu.tsx
23748
- import { jsx as jsx61, jsxs as jsxs46 } from "react/jsx-runtime";
23842
+ import { jsx as jsx61, jsxs as jsxs47 } from "react/jsx-runtime";
23749
23843
  var columnId = (column) => column.id;
23750
23844
  var columnLabel = (column) => nodeText(column.header) || column.id;
23751
23845
  var MOVE_KEYS = "Alt+ArrowUp Alt+ArrowDown";
@@ -23807,10 +23901,10 @@ function ColumnsMenu({
23807
23901
  }
23808
23902
  reorder.onReorder(id, beforeId);
23809
23903
  };
23810
- const opener = trigger === "icon" ? /* @__PURE__ */ jsxs46(Tooltip.Root, { children: [
23904
+ const opener = trigger === "icon" ? /* @__PURE__ */ jsxs47(Tooltip.Root, { children: [
23811
23905
  /* @__PURE__ */ jsx61(Tooltip.Trigger, { children: /* @__PURE__ */ jsx61(Dropdown.Trigger, { children: /* @__PURE__ */ jsx61(Button.Root, { variant: "ghost", tone: "neutral", size, "aria-label": name, children: /* @__PURE__ */ jsx61(Button.Icon, { children: /* @__PURE__ */ jsx61(Icon, { name: "view.columns" }) }) }) }) }),
23812
23906
  /* @__PURE__ */ jsx61(Tooltip.Content, { children: name })
23813
- ] }) : /* @__PURE__ */ jsx61(Dropdown.Trigger, { children: /* @__PURE__ */ jsxs46(
23907
+ ] }) : /* @__PURE__ */ jsx61(Dropdown.Trigger, { children: /* @__PURE__ */ jsxs47(
23814
23908
  Button.Root,
23815
23909
  {
23816
23910
  "aria-label": `${name} ${shown}`,
@@ -23825,9 +23919,9 @@ function ColumnsMenu({
23825
23919
  ]
23826
23920
  }
23827
23921
  ) });
23828
- const menu = /* @__PURE__ */ jsxs46(Dropdown.Root, { children: [
23922
+ const menu = /* @__PURE__ */ jsxs47(Dropdown.Root, { children: [
23829
23923
  opener,
23830
- /* @__PURE__ */ jsxs46(
23924
+ /* @__PURE__ */ jsxs47(
23831
23925
  Dropdown.Content,
23832
23926
  {
23833
23927
  ref: contentRef,
@@ -23846,7 +23940,7 @@ function ColumnsMenu({
23846
23940
  className: DataTable_default.chooserList,
23847
23941
  renderItem: (column) => {
23848
23942
  const locked = reorder.locked.has(column.id);
23849
- return /* @__PURE__ */ jsxs46(Dnd.SortableItem, { id: column.id, locked, className: DataTable_default.chooserItem, children: [
23943
+ return /* @__PURE__ */ jsxs47(Dnd.SortableItem, { id: column.id, locked, className: DataTable_default.chooserItem, children: [
23850
23944
  checkItem(column, !locked),
23851
23945
  /* @__PURE__ */ jsx61(
23852
23946
  Dnd.Handle,
@@ -23912,7 +24006,7 @@ var Pagination_default = {
23912
24006
  };
23913
24007
 
23914
24008
  // src/components/pagination/Pagination.tsx
23915
- import { jsx as jsx62, jsxs as jsxs47 } from "react/jsx-runtime";
24009
+ import { jsx as jsx62, jsxs as jsxs48 } from "react/jsx-runtime";
23916
24010
  function pageRange(page, total, siblings) {
23917
24011
  if (total <= 2 * siblings + 5) return Array.from({ length: total }, (_, i) => i + 1);
23918
24012
  const left = Math.max(2, page - siblings);
@@ -23961,7 +24055,7 @@ function Pagination({
23961
24055
  "aria-label": labels.nav,
23962
24056
  className: cx(fieldTierClass, Pagination_default.root, className),
23963
24057
  ...toDataAttributes({ size, compact: mode, align }),
23964
- children: /* @__PURE__ */ jsxs47("div", { className: Pagination_default.list, children: [
24058
+ children: /* @__PURE__ */ jsxs48("div", { className: Pagination_default.list, children: [
23965
24059
  /* @__PURE__ */ jsx62(
23966
24060
  Button.Root,
23967
24061
  {
@@ -23997,7 +24091,7 @@ function Pagination({
23997
24091
  item
23998
24092
  )
23999
24093
  ) : null,
24000
- /* @__PURE__ */ jsxs47("span", { className: Pagination_default.summary, children: [
24094
+ /* @__PURE__ */ jsxs48("span", { className: Pagination_default.summary, children: [
24001
24095
  /* @__PURE__ */ jsx62("span", { className: Pagination_default.summaryCurrent, children: current }),
24002
24096
  /* @__PURE__ */ jsx62("span", { "aria-hidden": "true", children: "/" }),
24003
24097
  /* @__PURE__ */ jsx62(VisuallyHidden, { children: labels.of }),
@@ -24021,12 +24115,12 @@ function Pagination({
24021
24115
  }
24022
24116
 
24023
24117
  // src/components/data-table/Footer.tsx
24024
- import { jsx as jsx63, jsxs as jsxs48 } from "react/jsx-runtime";
24118
+ import { jsx as jsx63, jsxs as jsxs49 } from "react/jsx-runtime";
24025
24119
  function Footer({ range, pagination, status }) {
24026
24120
  const present = range !== null || pagination !== null || status !== null;
24027
24121
  const presence = usePartPresence({ present, axis: "block" });
24028
24122
  if (!present) return null;
24029
- return /* @__PURE__ */ jsxs48("div", { ref: presence.ref, className: cx(DataTable_default.footer, presence.className), children: [
24123
+ return /* @__PURE__ */ jsxs49("div", { ref: presence.ref, className: cx(DataTable_default.footer, presence.className), children: [
24030
24124
  range !== null ? /* @__PURE__ */ jsx63("p", { className: DataTable_default.meta, children: range }) : null,
24031
24125
  pagination ? /* @__PURE__ */ jsx63(
24032
24126
  Pagination,
@@ -24038,7 +24132,7 @@ function Footer({ range, pagination, status }) {
24038
24132
  onValueChange: pagination.onPageChange
24039
24133
  }
24040
24134
  ) : null,
24041
- status !== null ? /* @__PURE__ */ jsxs48("p", { className: cx(DataTable_default.meta, DataTable_default.status), "aria-hidden": "true", children: [
24135
+ status !== null ? /* @__PURE__ */ jsxs49("p", { className: cx(DataTable_default.meta, DataTable_default.status), "aria-hidden": "true", children: [
24042
24136
  /* @__PURE__ */ jsx63(Spinner, { "aria-hidden": "true" }),
24043
24137
  status
24044
24138
  ] }) : null
@@ -24103,7 +24197,7 @@ var rowLink_default = {
24103
24197
 
24104
24198
  // src/components/data-table/reorder.tsx
24105
24199
  import * as React71 from "react";
24106
- import { jsx as jsx64, jsxs as jsxs49 } from "react/jsx-runtime";
24200
+ import { jsx as jsx64, jsxs as jsxs50 } from "react/jsx-runtime";
24107
24201
  function useRowReorder(options) {
24108
24202
  const { onReorder, expandEnabled, sorted, rows: rows2, orderedRows, offset, getRowKey, getRowGroup } = options;
24109
24203
  const enabled = onReorder !== void 0 && !expandEnabled;
@@ -24224,7 +24318,7 @@ function ReorderHandleCell({ reorder, rowLabel, className, wrap: wrap2 }) {
24224
24318
  const label = formatLabel(reorder.handleLabel, { label: rowLabel ?? "" }).trim();
24225
24319
  let content;
24226
24320
  if (reorder.locked) {
24227
- content = /* @__PURE__ */ jsxs49(Tooltip.Root, { children: [
24321
+ content = /* @__PURE__ */ jsxs50(Tooltip.Root, { children: [
24228
24322
  /* @__PURE__ */ jsx64(Tooltip.Trigger, { children: /* @__PURE__ */ jsx64(Dnd.Handle, { "aria-label": label, disabled: true }) }),
24229
24323
  /* @__PURE__ */ jsx64(Tooltip.Content, { children: reorder.lockedHint })
24230
24324
  ] });
@@ -24373,7 +24467,7 @@ function flatten(data, options) {
24373
24467
  }
24374
24468
 
24375
24469
  // src/components/data-table/Row.tsx
24376
- import { Fragment as Fragment34, jsx as jsx65, jsxs as jsxs50 } from "react/jsx-runtime";
24470
+ import { Fragment as Fragment34, jsx as jsx65, jsxs as jsxs51 } from "react/jsx-runtime";
24377
24471
  function columnAlign(column) {
24378
24472
  return column.align ?? (column.numeric ? "end" : "start");
24379
24473
  }
@@ -24436,8 +24530,8 @@ function DataTableRowImpl({
24436
24530
  const enter = animate && !foldable && enterMotion_default.enterBase;
24437
24531
  const lead = cx(DataTable_default.cell, enter, shared.stickyFirstColumn && DataTable_default.stickyLead);
24438
24532
  const folded = (node) => foldable ? /* @__PURE__ */ jsx65(Disclosure, { open: !folding, appear: animate, children: /* @__PURE__ */ jsx65("div", { className: DataTable_default.foldPad, children: node }) }) : node;
24439
- return /* @__PURE__ */ jsxs50(Fragment34, { children: [
24440
- /* @__PURE__ */ jsxs50(
24533
+ return /* @__PURE__ */ jsxs51(Fragment34, { children: [
24534
+ /* @__PURE__ */ jsxs51(
24441
24535
  RowElement,
24442
24536
  {
24443
24537
  reorder: shared.reorder,
@@ -24543,7 +24637,7 @@ function DataTableRowImpl({
24543
24637
  folded(
24544
24638
  /* @__PURE__ */ jsx65("a", { href, className: DataTable_default.rowLink, "data-row-link": "", children: renderCell(row, column, true) })
24545
24639
  )
24546
- ) : /* @__PURE__ */ jsxs50(Fragment34, { children: [
24640
+ ) : /* @__PURE__ */ jsxs51(Fragment34, { children: [
24547
24641
  /* @__PURE__ */ jsx65(
24548
24642
  "a",
24549
24643
  {
@@ -24629,7 +24723,7 @@ function GroupRow({ totalColumns, sticky, size, toggle, children }) {
24629
24723
  colSpan: totalColumns,
24630
24724
  className: DataTable_default.groupCell,
24631
24725
  "data-sticky": sticky ? "true" : void 0,
24632
- children: /* @__PURE__ */ jsxs50("div", { className: DataTable_default.groupContent, children: [
24726
+ children: /* @__PURE__ */ jsxs51("div", { className: DataTable_default.groupContent, children: [
24633
24727
  toggle ? /* @__PURE__ */ jsx65(
24634
24728
  Button.Root,
24635
24729
  {
@@ -24656,7 +24750,7 @@ function MeasureBody({
24656
24750
  gripStart,
24657
24751
  endCell
24658
24752
  }) {
24659
- return /* @__PURE__ */ jsx65("tbody", { className: DataTable_default.measureBody, "aria-hidden": "true", inert: true, children: rows2.map(({ row, key, depth }) => /* @__PURE__ */ jsxs50(
24753
+ return /* @__PURE__ */ jsx65("tbody", { className: DataTable_default.measureBody, "aria-hidden": "true", inert: true, children: rows2.map(({ row, key, depth }) => /* @__PURE__ */ jsxs51(
24660
24754
  "tr",
24661
24755
  {
24662
24756
  className: DataTable_default.row,
@@ -24686,7 +24780,7 @@ function MeasureBody({
24686
24780
  }
24687
24781
 
24688
24782
  // src/components/data-table/Head.tsx
24689
- import { Fragment as Fragment35, jsx as jsx66, jsxs as jsxs51 } from "react/jsx-runtime";
24783
+ import { Fragment as Fragment35, jsx as jsx66, jsxs as jsxs52 } from "react/jsx-runtime";
24690
24784
  var ARIA_SORT = { asc: "ascending", desc: "descending" };
24691
24785
  var SORT_ICON = { asc: "sort.ascending", desc: "sort.descending" };
24692
24786
  var columnLabel2 = (column) => nodeText(column.header) || column.id;
@@ -24714,7 +24808,7 @@ function Head({
24714
24808
  stickyHeader && (pinned ? DataTable_default.cornerCellSticky : DataTable_default.headSticky)
24715
24809
  );
24716
24810
  const lead = cx(headCell(stickyFirstColumn), stickyFirstColumn && DataTable_default.stickyLead);
24717
- const leading = /* @__PURE__ */ jsxs51(Fragment35, { children: [
24811
+ const leading = /* @__PURE__ */ jsxs52(Fragment35, { children: [
24718
24812
  gripStart ? /* @__PURE__ */ jsx66("td", { className: cx(lead, DataTable_default.handleCell) }) : null,
24719
24813
  selectAll ? /* @__PURE__ */ jsx66("th", { scope: "col", className: cx(lead, DataTable_default.selectCell), children: /* @__PURE__ */ jsx66(
24720
24814
  Checkbox.Root,
@@ -24756,14 +24850,14 @@ function Head({
24756
24850
  label: column.sortable ? void 0 : infoLabel
24757
24851
  }
24758
24852
  ) : null;
24759
- const label = column.sortable ? /* @__PURE__ */ jsx66(WithDescription, { description: described ? column.description : void 0, children: /* @__PURE__ */ jsxs51(
24853
+ const label = column.sortable ? /* @__PURE__ */ jsx66(WithDescription, { description: described ? column.description : void 0, children: /* @__PURE__ */ jsxs52(
24760
24854
  "button",
24761
24855
  {
24762
24856
  type: "button",
24763
24857
  className: DataTable_default.sortButton,
24764
24858
  "aria-keyshortcuts": moves ? "Alt+ArrowLeft Alt+ArrowRight" : void 0,
24765
24859
  children: [
24766
- /* @__PURE__ */ jsxs51("span", { className: DataTable_default.headTitle, children: [
24860
+ /* @__PURE__ */ jsxs52("span", { className: DataTable_default.headTitle, children: [
24767
24861
  /* @__PURE__ */ jsx66("span", { className: DataTable_default.headLabel, children: column.header }),
24768
24862
  info
24769
24863
  ] }),
@@ -24777,10 +24871,10 @@ function Head({
24777
24871
  )
24778
24872
  ]
24779
24873
  }
24780
- ) }) : column.hideHeader ? /* @__PURE__ */ jsxs51(Fragment35, { children: [
24874
+ ) }) : column.hideHeader ? /* @__PURE__ */ jsxs52(Fragment35, { children: [
24781
24875
  /* @__PURE__ */ jsx66(VisuallyHidden, { id: labelId, children: column.header }),
24782
24876
  menuHere ? /* @__PURE__ */ jsx66("span", { className: DataTable_default.headMenu, children: columnsMenu }) : null
24783
- ] }) : /* @__PURE__ */ jsxs51("span", { className: DataTable_default.headTitle, children: [
24877
+ ] }) : /* @__PURE__ */ jsxs52("span", { className: DataTable_default.headTitle, children: [
24784
24878
  /* @__PURE__ */ jsx66("span", { id: labelId, className: DataTable_default.headLabel, children: column.header }),
24785
24879
  info ? /* @__PURE__ */ jsx66(WithDescription, { description: column.description, children: info }) : null
24786
24880
  ] });
@@ -24803,7 +24897,7 @@ function Head({
24803
24897
  "aria-describedby": described ? descriptionId : void 0,
24804
24898
  onClick: column.sortable ? () => onSort(column.id) : void 0
24805
24899
  },
24806
- content: /* @__PURE__ */ jsxs51(Fragment35, { children: [
24900
+ content: /* @__PURE__ */ jsxs52(Fragment35, { children: [
24807
24901
  label,
24808
24902
  described ? /* @__PURE__ */ jsx66("span", { id: descriptionId, hidden: true, children: column.description }) : null
24809
24903
  ] })
@@ -24838,7 +24932,7 @@ function Head({
24838
24932
  }
24839
24933
  ) });
24840
24934
  }
24841
- return /* @__PURE__ */ jsx66("thead", { className: DataTable_default.head, children: /* @__PURE__ */ jsxs51("tr", { children: [
24935
+ return /* @__PURE__ */ jsx66("thead", { className: DataTable_default.head, children: /* @__PURE__ */ jsxs52("tr", { children: [
24842
24936
  leading,
24843
24937
  columns.map((column, columnIndex) => {
24844
24938
  const { props, content } = cell(column, columnIndex);
@@ -24852,24 +24946,24 @@ function WithDescription({
24852
24946
  children
24853
24947
  }) {
24854
24948
  if (description === void 0) return children;
24855
- return /* @__PURE__ */ jsxs51(Tooltip.Root, { children: [
24949
+ return /* @__PURE__ */ jsxs52(Tooltip.Root, { children: [
24856
24950
  /* @__PURE__ */ jsx66(Tooltip.Trigger, { children }),
24857
24951
  /* @__PURE__ */ jsx66(Tooltip.Content, { children: description })
24858
24952
  ] });
24859
24953
  }
24860
24954
 
24861
24955
  // src/components/data-table/SelectionMenu.tsx
24862
- import { jsx as jsx67, jsxs as jsxs52 } from "react/jsx-runtime";
24956
+ import { jsx as jsx67, jsxs as jsxs53 } from "react/jsx-runtime";
24863
24957
  function SelectionMenu({ selected, actions, onClear, labels, size }) {
24864
24958
  const name = labels.selectionActions;
24865
- return /* @__PURE__ */ jsxs52(Dropdown.Root, { children: [
24866
- /* @__PURE__ */ jsx67(Dropdown.Trigger, { children: /* @__PURE__ */ jsxs52(Button.Root, { "aria-label": `${name} ${selected.length}`, variant: "soft", tone: "neutral", children: [
24959
+ return /* @__PURE__ */ jsxs53(Dropdown.Root, { children: [
24960
+ /* @__PURE__ */ jsx67(Dropdown.Trigger, { children: /* @__PURE__ */ jsxs53(Button.Root, { "aria-label": `${name} ${selected.length}`, variant: "soft", tone: "neutral", children: [
24867
24961
  name,
24868
24962
  /* @__PURE__ */ jsx67(Badge.Root, { children: selected.length }),
24869
24963
  /* @__PURE__ */ jsx67(Button.Icon, { children: /* @__PURE__ */ jsx67(Icon, { name: "nav.chevronDown" }) })
24870
24964
  ] }) }),
24871
- /* @__PURE__ */ jsxs52(Dropdown.Content, { side: "bottom", align: "end", size, children: [
24872
- /* @__PURE__ */ jsxs52(Dropdown.Item, { onSelect: onClear, children: [
24965
+ /* @__PURE__ */ jsxs53(Dropdown.Content, { side: "bottom", align: "end", size, children: [
24966
+ /* @__PURE__ */ jsxs53(Dropdown.Item, { onSelect: onClear, children: [
24873
24967
  /* @__PURE__ */ jsx67(Dropdown.ItemIcon, { children: /* @__PURE__ */ jsx67(Icon, { name: "action.close" }) }),
24874
24968
  labels.clearSelection
24875
24969
  ] }),
@@ -24880,7 +24974,7 @@ function SelectionMenu({ selected, actions, onClear, labels, size }) {
24880
24974
  }
24881
24975
 
24882
24976
  // src/components/data-table/StateRows.tsx
24883
- import { jsx as jsx68, jsxs as jsxs53 } from "react/jsx-runtime";
24977
+ import { jsx as jsx68, jsxs as jsxs54 } from "react/jsx-runtime";
24884
24978
  function StateRows({
24885
24979
  state,
24886
24980
  columns,
@@ -24903,7 +24997,7 @@ function StateRows({
24903
24997
  }
24904
24998
  return Array.from({ length: skeletonRows }, (_, rowIndex) => (
24905
24999
  // biome-ignore lint/suspicious/noArrayIndexKey: static placeholder rows
24906
- /* @__PURE__ */ jsxs53("tr", { className: cx(DataTable_default.row, DataTable_default.skeletonRow), "data-skeleton": "true", children: [
25000
+ /* @__PURE__ */ jsxs54("tr", { className: cx(DataTable_default.row, DataTable_default.skeletonRow), "data-skeleton": "true", children: [
24907
25001
  gripStart ? /* @__PURE__ */ jsx68("td", { className: cx(DataTable_default.cell, DataTable_default.handleCell) }) : null,
24908
25002
  selectable ? /* @__PURE__ */ jsx68("td", { className: cx(DataTable_default.cell, DataTable_default.selectCell), children: /* @__PURE__ */ jsx68(Skeleton, { shape: "block", className: DataTable_default.skeletonChoice }) }) : null,
24909
25003
  expandEnabled ? /* @__PURE__ */ jsx68("td", { className: cx(DataTable_default.cell, DataTable_default.toggleCell) }) : null,
@@ -25239,7 +25333,7 @@ function useRowSelection({
25239
25333
  }
25240
25334
 
25241
25335
  // src/components/data-table/DataTable.tsx
25242
- import { jsx as jsx69, jsxs as jsxs54 } from "react/jsx-runtime";
25336
+ import { jsx as jsx69, jsxs as jsxs55 } from "react/jsx-runtime";
25243
25337
  var DATA_TABLE_LABELS = {
25244
25338
  loading: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0434\u0430\u043D\u043D\u044B\u0445\u2026",
25245
25339
  empty: "\u041D\u0435\u0442 \u0434\u0430\u043D\u043D\u044B\u0445 \u0434\u043B\u044F \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F.",
@@ -25928,7 +26022,7 @@ function DataTable({
25928
26022
  );
25929
26023
  };
25930
26024
  return /* @__PURE__ */ jsx69(ReorderRoot, { enabled: reorder.enabled || reorderColumns && showHeader, children: /* @__PURE__ */ jsx69(SurfaceDepthProvider, { value: depth, children: tier.provide(
25931
- /* @__PURE__ */ jsxs54(
26025
+ /* @__PURE__ */ jsxs55(
25932
26026
  "div",
25933
26027
  {
25934
26028
  ...rest,
@@ -25957,13 +26051,13 @@ function DataTable({
25957
26051
  "scroll-height": fillHeight ? "fill" : void 0
25958
26052
  }),
25959
26053
  children: [
25960
- hasToolbar ? /* @__PURE__ */ jsxs54(
26054
+ hasToolbar ? /* @__PURE__ */ jsxs55(
25961
26055
  "div",
25962
26056
  {
25963
26057
  ref: toolbarPresence.ref,
25964
26058
  className: cx(DataTable_default.toolbar, toolbarPresence.className),
25965
26059
  children: [
25966
- toolbar != null || showSelectionActions ? /* @__PURE__ */ jsxs54(ToolRow, { children: [
26060
+ toolbar != null || showSelectionActions ? /* @__PURE__ */ jsxs55(ToolRow, { children: [
25967
26061
  toolbar,
25968
26062
  showSelectionActions ? /* @__PURE__ */ jsx69(
25969
26063
  ToolCell,
@@ -25988,7 +26082,7 @@ function DataTable({
25988
26082
  ]
25989
26083
  }
25990
26084
  ) : null,
25991
- /* @__PURE__ */ jsx69("div", { className: cx(fieldTierClass, DataTable_default.frame), "data-size": compactTier(size), children: /* @__PURE__ */ jsxs54(
26085
+ /* @__PURE__ */ jsx69("div", { className: cx(fieldTierClass, DataTable_default.frame), "data-size": compactTier(size), children: /* @__PURE__ */ jsxs55(
25992
26086
  ScrollContainer,
25993
26087
  {
25994
26088
  ref: scrollRef,
@@ -25998,7 +26092,7 @@ function DataTable({
25998
26092
  "data-size": "xs",
25999
26093
  style: { maxHeight: typeof maxHeight === "number" ? `${maxHeight}px` : maxHeight },
26000
26094
  children: [
26001
- /* @__PURE__ */ jsxs54(
26095
+ /* @__PURE__ */ jsxs55(
26002
26096
  "table",
26003
26097
  {
26004
26098
  ref: mergedTableRef,
@@ -26008,7 +26102,7 @@ function DataTable({
26008
26102
  "aria-rowcount": virtualized ? flatRows.length + headRows : void 0,
26009
26103
  ...columnHover,
26010
26104
  children: [
26011
- /* @__PURE__ */ jsxs54("colgroup", { children: [
26105
+ /* @__PURE__ */ jsxs55("colgroup", { children: [
26012
26106
  gripStart ? /* @__PURE__ */ jsx69("col", {}) : null,
26013
26107
  selectable ? /* @__PURE__ */ jsx69("col", {}) : null,
26014
26108
  expandEnabled ? /* @__PURE__ */ jsx69("col", {}) : null,
@@ -26054,7 +26148,7 @@ function DataTable({
26054
26148
  className: swapClass
26055
26149
  },
26056
26150
  `group-${String(segment.key)}`
26057
- )) }, bodyKey) : groups && bodyState === "rows" ? /* @__PURE__ */ jsx69(React78.Fragment, { children: segments.map((segment) => /* @__PURE__ */ jsxs54("tbody", { className: swapClass, children: [
26151
+ )) }, bodyKey) : groups && bodyState === "rows" ? /* @__PURE__ */ jsx69(React78.Fragment, { children: segments.map((segment) => /* @__PURE__ */ jsxs55("tbody", { className: swapClass, children: [
26058
26152
  groupHeader(segment),
26059
26153
  segment.rows.map(({ item, index }) => renderRow(item, index))
26060
26154
  ] }, `group-${String(segment.key)}`)) }, bodyKey) : /* @__PURE__ */ jsx69("tbody", { className: swapClass, ...trackFocus, children: bodyState === "rows" ? virtualized ? renderWindow() : flat.rows.map((item, index) => renderRow(item, index)) : /* @__PURE__ */ jsx69(
@@ -26184,7 +26278,7 @@ var DescriptionList_default = {
26184
26278
  };
26185
26279
 
26186
26280
  // src/components/description-list/DescriptionList.tsx
26187
- import { Fragment as Fragment37, jsx as jsx71, jsxs as jsxs55 } from "react/jsx-runtime";
26281
+ import { Fragment as Fragment37, jsx as jsx71, jsxs as jsxs56 } from "react/jsx-runtime";
26188
26282
  var DESCRIPTION_LIST_LABELS = {
26189
26283
  empty: "\u2014",
26190
26284
  emptyText: "\u041D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D\u043E"
@@ -26224,10 +26318,10 @@ function DescriptionListItem({ label, children, className, ...rest }) {
26224
26318
  );
26225
26319
  const value = parts.filter((child) => child !== action);
26226
26320
  const empty = value.length === 0 || value.every(isEmptyValue);
26227
- return /* @__PURE__ */ jsxs55("div", { ...rest, className: cx(DescriptionList_default.item, className), children: [
26321
+ return /* @__PURE__ */ jsxs56("div", { ...rest, className: cx(DescriptionList_default.item, className), children: [
26228
26322
  /* @__PURE__ */ jsx71("dt", { className: DescriptionList_default.label, children: label }),
26229
- /* @__PURE__ */ jsxs55("dd", { className: DescriptionList_default.value, "data-empty": empty || void 0, children: [
26230
- /* @__PURE__ */ jsx71("span", { className: DescriptionList_default.text, children: empty ? /* @__PURE__ */ jsxs55(Fragment37, { children: [
26323
+ /* @__PURE__ */ jsxs56("dd", { className: DescriptionList_default.value, "data-empty": empty || void 0, children: [
26324
+ /* @__PURE__ */ jsx71("span", { className: DescriptionList_default.text, children: empty ? /* @__PURE__ */ jsxs56(Fragment37, { children: [
26231
26325
  /* @__PURE__ */ jsx71("span", { "aria-hidden": "true", children: labels.empty }),
26232
26326
  /* @__PURE__ */ jsx71(VisuallyHidden, { children: labels.emptyText })
26233
26327
  ] }) : value }),
@@ -26259,7 +26353,7 @@ var DigitInput_default = {
26259
26353
  };
26260
26354
 
26261
26355
  // src/components/digit-input/DigitInput.tsx
26262
- import { jsx as jsx72, jsxs as jsxs56 } from "react/jsx-runtime";
26356
+ import { jsx as jsx72, jsxs as jsxs57 } from "react/jsx-runtime";
26263
26357
  var DIGIT_INPUT_LABELS = {
26264
26358
  group: "\u041A\u043E\u0434",
26265
26359
  cell: "\u0426\u0438\u0444\u0440\u0430 {index} \u0438\u0437 {length}",
@@ -26427,7 +26521,7 @@ function DigitInput({
26427
26521
  optionalLabel: labels.optional,
26428
26522
  className: cx(DigitInput_default.frame, className),
26429
26523
  "data-full-width": fullWidth || void 0,
26430
- children: /* @__PURE__ */ jsxs56(
26524
+ children: /* @__PURE__ */ jsxs57(
26431
26525
  "fieldset",
26432
26526
  {
26433
26527
  "aria-label": ids.labelledBy ? void 0 : labels.group,
@@ -26613,7 +26707,7 @@ var ExampleFrame_default = {
26613
26707
  };
26614
26708
 
26615
26709
  // src/components/example-frame/ExampleFrame.tsx
26616
- import { jsx as jsx74, jsxs as jsxs57 } from "react/jsx-runtime";
26710
+ import { jsx as jsx74, jsxs as jsxs58 } from "react/jsx-runtime";
26617
26711
  var VIEWPORTS = ["desktop", "tablet", "mobile"];
26618
26712
  var EXAMPLE_FRAME_LABELS = {
26619
26713
  paneSwitch: "\u0412\u0438\u0434 \u043F\u0440\u0438\u043C\u0435\u0440\u0430",
@@ -26750,7 +26844,7 @@ function ExampleFrame({
26750
26844
  previousScheme.current = colorScheme;
26751
26845
  if (rootRef.current) suspendTransitions(rootRef.current);
26752
26846
  }, [colorScheme]);
26753
- return /* @__PURE__ */ jsxs57("div", { ...rest, ref: mergedRef, className: cx(ExampleFrame_default.root, className), "data-depth": depth, children: [
26847
+ return /* @__PURE__ */ jsxs58("div", { ...rest, ref: mergedRef, className: cx(ExampleFrame_default.root, className), "data-depth": depth, children: [
26754
26848
  /* @__PURE__ */ jsx74(
26755
26849
  ExampleFrameToolbar,
26756
26850
  {
@@ -26829,9 +26923,9 @@ function ExampleFrameToolbar({
26829
26923
  const copyLabel = copyState === "copied" ? labels.copied : copyState === "error" ? labels.copyError : labels.copy;
26830
26924
  const themeGlyph = colorScheme === "light" ? "theme.dark" : "theme.light";
26831
26925
  const copyGlyph = copyState === "copied" ? "action.check" : "action.copy";
26832
- return /* @__PURE__ */ jsxs57("div", { ref: toolbarRef, className: ExampleFrame_default.toolbar, "data-narrow": narrow || void 0, children: [
26833
- /* @__PURE__ */ jsxs57("div", { className: ExampleFrame_default.toolbarLine1, children: [
26834
- /* @__PURE__ */ jsxs57(
26926
+ return /* @__PURE__ */ jsxs58("div", { ref: toolbarRef, className: ExampleFrame_default.toolbar, "data-narrow": narrow || void 0, children: [
26927
+ /* @__PURE__ */ jsxs58("div", { className: ExampleFrame_default.toolbarLine1, children: [
26928
+ /* @__PURE__ */ jsxs58(
26835
26929
  SegmentedControl.Root,
26836
26930
  {
26837
26931
  className: ExampleFrame_default.toolbarPaneSegment,
@@ -26841,18 +26935,18 @@ function ExampleFrameToolbar({
26841
26935
  size: "s",
26842
26936
  "aria-label": labels.paneSwitch,
26843
26937
  children: [
26844
- /* @__PURE__ */ jsxs57(SegmentedControl.Item, { value: "preview", children: [
26938
+ /* @__PURE__ */ jsxs58(SegmentedControl.Item, { value: "preview", children: [
26845
26939
  /* @__PURE__ */ jsx74(SegmentedControl.Icon, { children: /* @__PURE__ */ jsx74(Icon, { name: "view.preview" }) }),
26846
26940
  labels.preview
26847
26941
  ] }),
26848
- /* @__PURE__ */ jsxs57(SegmentedControl.Item, { value: "code", children: [
26942
+ /* @__PURE__ */ jsxs58(SegmentedControl.Item, { value: "code", children: [
26849
26943
  /* @__PURE__ */ jsx74(SegmentedControl.Icon, { children: /* @__PURE__ */ jsx74(Icon, { name: "view.code" }) }),
26850
26944
  labels.code
26851
26945
  ] })
26852
26946
  ]
26853
26947
  }
26854
26948
  ),
26855
- /* @__PURE__ */ jsxs57("div", { className: ExampleFrame_default.toolbarLine1End, children: [
26949
+ /* @__PURE__ */ jsxs58("div", { className: ExampleFrame_default.toolbarLine1End, children: [
26856
26950
  onColorSchemeChange ? /* @__PURE__ */ jsx74(
26857
26951
  Button.Root,
26858
26952
  {
@@ -26888,7 +26982,7 @@ function ExampleFrameToolbar({
26888
26982
  onValueChange: (v) => onViewportChange(v),
26889
26983
  size: "s",
26890
26984
  "aria-label": labels.viewportSwitch,
26891
- children: VIEWPORTS.map((option) => /* @__PURE__ */ jsxs57(SegmentedControl.Item, { value: option, children: [
26985
+ children: VIEWPORTS.map((option) => /* @__PURE__ */ jsxs58(SegmentedControl.Item, { value: option, children: [
26892
26986
  /* @__PURE__ */ jsx74(SegmentedControl.Icon, { children: /* @__PURE__ */ jsx74(Icon, { name: `viewport.${option}` }) }),
26893
26987
  labels[option]
26894
26988
  ] }, option))
@@ -26926,7 +27020,7 @@ var FieldList_default = {
26926
27020
  };
26927
27021
 
26928
27022
  // src/components/field-list/FieldList.tsx
26929
- import { Fragment as Fragment39, jsx as jsx75, jsxs as jsxs58 } from "react/jsx-runtime";
27023
+ import { Fragment as Fragment39, jsx as jsx75, jsxs as jsxs59 } from "react/jsx-runtime";
26930
27024
  var FIELD_LIST_LABELS = {
26931
27025
  remove: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C: {row}",
26932
27026
  reorder: "\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C: {row}",
@@ -27222,7 +27316,7 @@ function FieldList({
27222
27316
  if (menu) {
27223
27317
  const canUp = canMove(index, -1);
27224
27318
  const canDown = canMove(index, 1);
27225
- action = /* @__PURE__ */ jsxs58(Dropdown.Root, { children: [
27319
+ action = /* @__PURE__ */ jsxs59(Dropdown.Root, { children: [
27226
27320
  /* @__PURE__ */ jsx75(Dropdown.Trigger, { children: /* @__PURE__ */ jsx75(
27227
27321
  Button.Root,
27228
27322
  {
@@ -27241,21 +27335,21 @@ function FieldList({
27241
27335
  children: /* @__PURE__ */ jsx75(Button.Icon, { children: /* @__PURE__ */ jsx75(Icon, { name: "action.more" }) })
27242
27336
  }
27243
27337
  ) }),
27244
- /* @__PURE__ */ jsxs58(Dropdown.Content, { align: "end", children: [
27245
- reorderable ? /* @__PURE__ */ jsxs58(Fragment39, { children: [
27246
- /* @__PURE__ */ jsxs58(Dropdown.Item, { disabled: !canUp, onSelect: () => move(id, -1), children: [
27338
+ /* @__PURE__ */ jsxs59(Dropdown.Content, { align: "end", children: [
27339
+ reorderable ? /* @__PURE__ */ jsxs59(Fragment39, { children: [
27340
+ /* @__PURE__ */ jsxs59(Dropdown.Item, { disabled: !canUp, onSelect: () => move(id, -1), children: [
27247
27341
  /* @__PURE__ */ jsx75(Dropdown.ItemIcon, { children: /* @__PURE__ */ jsx75(Icon, { name: "nav.chevronUp" }) }),
27248
27342
  labels.moveUp,
27249
27343
  /* @__PURE__ */ jsx75(Dropdown.ItemShortcut, { children: "Alt \u2191" })
27250
27344
  ] }),
27251
- /* @__PURE__ */ jsxs58(Dropdown.Item, { disabled: !canDown, onSelect: () => move(id, 1), children: [
27345
+ /* @__PURE__ */ jsxs59(Dropdown.Item, { disabled: !canDown, onSelect: () => move(id, 1), children: [
27252
27346
  /* @__PURE__ */ jsx75(Dropdown.ItemIcon, { children: /* @__PURE__ */ jsx75(Icon, { name: "nav.chevronDown" }) }),
27253
27347
  labels.moveDown,
27254
27348
  /* @__PURE__ */ jsx75(Dropdown.ItemShortcut, { children: "Alt \u2193" })
27255
27349
  ] }),
27256
27350
  /* @__PURE__ */ jsx75(Dropdown.Separator, {})
27257
27351
  ] }) : null,
27258
- /* @__PURE__ */ jsxs58(Dropdown.Item, { tone: "danger", disabled: removeOff, onSelect: () => remove(id), children: [
27352
+ /* @__PURE__ */ jsxs59(Dropdown.Item, { tone: "danger", disabled: removeOff, onSelect: () => remove(id), children: [
27259
27353
  /* @__PURE__ */ jsx75(Dropdown.ItemIcon, { children: /* @__PURE__ */ jsx75(Icon, { name: "action.delete" }) }),
27260
27354
  labels.removeItem,
27261
27355
  reason ? /* @__PURE__ */ jsx75(Dropdown.ItemDescription, { children: reason }) : null
@@ -27275,12 +27369,12 @@ function FieldList({
27275
27369
  children: /* @__PURE__ */ jsx75(Button.Icon, { children: /* @__PURE__ */ jsx75(Icon, { name: "action.close" }) })
27276
27370
  }
27277
27371
  );
27278
- action = reason ? /* @__PURE__ */ jsxs58(Tooltip.Root, { children: [
27372
+ action = reason ? /* @__PURE__ */ jsxs59(Tooltip.Root, { children: [
27279
27373
  /* @__PURE__ */ jsx75(Tooltip.Trigger, { children: removeButton }),
27280
27374
  /* @__PURE__ */ jsx75(Tooltip.Content, { children: reason })
27281
27375
  ] }) : removeButton;
27282
27376
  }
27283
- const content = /* @__PURE__ */ jsxs58(Fragment39, { children: [
27377
+ const content = /* @__PURE__ */ jsxs59(Fragment39, { children: [
27284
27378
  /* @__PURE__ */ jsx75("div", { className: FieldList_default.cells, "data-fl-cells": "", children: cells.map((cell, column) => {
27285
27379
  const heading = columns[column];
27286
27380
  return /* @__PURE__ */ jsx75(
@@ -27338,7 +27432,7 @@ function FieldList({
27338
27432
  };
27339
27433
  return grip ? /* @__PURE__ */ jsx75(Dnd.SortableItem, { id, locked, ...rowProps, children: content }, id) : /* @__PURE__ */ jsx75("li", { ...rowProps, children: content }, id);
27340
27434
  };
27341
- const sheet = /* @__PURE__ */ jsxs58(
27435
+ const sheet = /* @__PURE__ */ jsxs59(
27342
27436
  "div",
27343
27437
  {
27344
27438
  className: FieldList_default.sheet,
@@ -27346,7 +27440,7 @@ function FieldList({
27346
27440
  "data-depth": surface ? depth : void 0,
27347
27441
  "data-empty": items.length === 0 || void 0,
27348
27442
  children: [
27349
- hasHead ? /* @__PURE__ */ jsxs58(
27443
+ hasHead ? /* @__PURE__ */ jsxs59(
27350
27444
  "div",
27351
27445
  {
27352
27446
  ref: head.ref,
@@ -27400,7 +27494,7 @@ function FieldList({
27400
27494
  ),
27401
27495
  totalCells ? (
27402
27496
  // biome-ignore lint/a11y/useSemanticElements: a row of figures, not a form fieldset
27403
- /* @__PURE__ */ jsxs58(
27497
+ /* @__PURE__ */ jsxs59(
27404
27498
  "div",
27405
27499
  {
27406
27500
  ref: totals.ref,
@@ -27420,7 +27514,7 @@ function FieldList({
27420
27514
  "data-width": heading?.width ?? "fill",
27421
27515
  "data-empty": !shown && column > 0 || void 0,
27422
27516
  "data-align": endColumns[column] === "1" ? "end" : void 0,
27423
- children: shown ? /* @__PURE__ */ jsxs58(Fragment39, { children: [
27517
+ children: shown ? /* @__PURE__ */ jsxs59(Fragment39, { children: [
27424
27518
  /* @__PURE__ */ jsx75("span", { className: cx(visuallyHiddenClass, FieldList_default.totalName), children: heading?.label }),
27425
27519
  /* @__PURE__ */ jsx75("span", { className: FieldList_default.totalValue, children: total })
27426
27520
  ] }) : column === 0 ? (
@@ -27457,9 +27551,9 @@ function FieldList({
27457
27551
  group: true,
27458
27552
  className: cx(FieldList_default.root, className),
27459
27553
  ...toDataAttributes({ disabled: disabled || void 0 }),
27460
- children: /* @__PURE__ */ jsxs58("div", { ref: bodyRef, className: FieldList_default.body, children: [
27554
+ children: /* @__PURE__ */ jsxs59("div", { ref: bodyRef, className: FieldList_default.body, children: [
27461
27555
  surface ? /* @__PURE__ */ jsx75(SurfaceDepthProvider, { value: depth, children: sheet }) : sheet,
27462
- canAdd ? /* @__PURE__ */ jsx75("div", { ref: addZone.ref, className: cx(FieldList_default.add, addZone.className), children: /* @__PURE__ */ jsxs58(
27556
+ canAdd ? /* @__PURE__ */ jsx75("div", { ref: addZone.ref, className: cx(FieldList_default.add, addZone.className), children: /* @__PURE__ */ jsxs59(
27463
27557
  Button.Root,
27464
27558
  {
27465
27559
  ref: addRef,
@@ -27504,7 +27598,7 @@ var Fieldset_default = {
27504
27598
  };
27505
27599
 
27506
27600
  // src/components/fieldset/Fieldset.tsx
27507
- import { jsx as jsx76, jsxs as jsxs59 } from "react/jsx-runtime";
27601
+ import { jsx as jsx76, jsxs as jsxs60 } from "react/jsx-runtime";
27508
27602
  function Fieldset({
27509
27603
  label,
27510
27604
  description,
@@ -27518,7 +27612,7 @@ function Fieldset({
27518
27612
  const descriptionId = React84.useId();
27519
27613
  const hasDescription = hasContent(description);
27520
27614
  const describedBy = [ariaDescribedBy, hasDescription ? descriptionId : void 0].filter(Boolean).join(" ") || void 0;
27521
- return /* @__PURE__ */ jsxs59(
27615
+ return /* @__PURE__ */ jsxs60(
27522
27616
  "fieldset",
27523
27617
  {
27524
27618
  ...rest,
@@ -27528,7 +27622,7 @@ function Fieldset({
27528
27622
  ...toDataAttributes({ disabled: disabled || void 0 }),
27529
27623
  children: [
27530
27624
  hasContent(label) ? /* @__PURE__ */ jsx76("legend", { className: cx(textRole_default.titleS, Fieldset_default.legend), children: label }) : null,
27531
- /* @__PURE__ */ jsxs59("div", { className: Fieldset_default.body, children: [
27625
+ /* @__PURE__ */ jsxs60("div", { className: Fieldset_default.body, children: [
27532
27626
  hasDescription ? /* @__PURE__ */ jsx76("p", { id: descriptionId, className: cx(textRole_default.bodyS, Fieldset_default.description), children: description }) : null,
27533
27627
  /* @__PURE__ */ jsx76("div", { className: Fieldset_default.fields, children: /* @__PURE__ */ jsx76(DisabledProvider, { disabled, children }) })
27534
27628
  ] })
@@ -27823,7 +27917,7 @@ function visibleSegment(rect, viewport2) {
27823
27917
  }
27824
27918
 
27825
27919
  // src/components/gantt/GanttBar.tsx
27826
- import { Fragment as Fragment40, jsx as jsx77, jsxs as jsxs60 } from "react/jsx-runtime";
27920
+ import { Fragment as Fragment40, jsx as jsx77, jsxs as jsxs61 } from "react/jsx-runtime";
27827
27921
  var EDIT_SHORTCUTS = [
27828
27922
  "Shift+ArrowLeft",
27829
27923
  "Shift+ArrowRight",
@@ -27989,7 +28083,7 @@ function GanttBarView({
27989
28083
  },
27990
28084
  [barRef]
27991
28085
  );
27992
- return /* @__PURE__ */ jsxs60(Fragment40, { children: [
28086
+ return /* @__PURE__ */ jsxs61(Fragment40, { children: [
27993
28087
  guide !== null ? /* @__PURE__ */ jsx77(
27994
28088
  "span",
27995
28089
  {
@@ -27998,13 +28092,13 @@ function GanttBarView({
27998
28092
  "aria-hidden": "true"
27999
28093
  }
28000
28094
  ) : null,
28001
- /* @__PURE__ */ jsxs60(
28095
+ /* @__PURE__ */ jsxs61(
28002
28096
  Tooltip.Root,
28003
28097
  {
28004
28098
  open: tipOpen || drag !== null,
28005
28099
  onOpenChange: (open) => setTipOpen(open && canShowTip(bar.id)),
28006
28100
  children: [
28007
- /* @__PURE__ */ jsx77(Tooltip.Trigger, { children: /* @__PURE__ */ jsxs60(
28101
+ /* @__PURE__ */ jsx77(Tooltip.Trigger, { children: /* @__PURE__ */ jsxs61(
28008
28102
  "button",
28009
28103
  {
28010
28104
  ref: setNode,
@@ -28064,16 +28158,16 @@ function GanttBarView({
28064
28158
  milestone ? /* @__PURE__ */ jsx77("span", { className: Gantt_default.diamond, "aria-hidden": "true" }) : null,
28065
28159
  pending ? /* @__PURE__ */ jsx77(Spinner, { size: "xs", className: Gantt_default.spinner, "aria-hidden": "true" }) : null,
28066
28160
  /* @__PURE__ */ jsx77("span", { className: Gantt_default.label, "data-gantt-label": "", "aria-hidden": "true", children: bar.label }),
28067
- editable && !milestone ? /* @__PURE__ */ jsxs60(Fragment40, { children: [
28161
+ editable && !milestone ? /* @__PURE__ */ jsxs61(Fragment40, { children: [
28068
28162
  /* @__PURE__ */ jsx77("span", { className: Gantt_default.handle, "data-handle": "start", "aria-hidden": "true" }),
28069
28163
  /* @__PURE__ */ jsx77("span", { className: Gantt_default.handle, "data-handle": "end", "aria-hidden": "true" })
28070
28164
  ] }) : null
28071
28165
  ]
28072
28166
  }
28073
28167
  ) }),
28074
- tipMounted ? /* @__PURE__ */ jsxs60(Tooltip.Content, { children: [
28168
+ tipMounted ? /* @__PURE__ */ jsxs61(Tooltip.Content, { children: [
28075
28169
  /* @__PURE__ */ jsx77("span", { className: Gantt_default.tipTitle, children: bar.label }),
28076
- /* @__PURE__ */ jsxs60("span", { className: Gantt_default.tipMeta, children: [
28170
+ /* @__PURE__ */ jsxs61("span", { className: Gantt_default.tipMeta, children: [
28077
28171
  formatSpan(shown, locale),
28078
28172
  milestone ? null : ` \xB7 ${formatDuration(daysBetween2(shown.start, shown.end))}`,
28079
28173
  progress === void 0 ? null : ` \xB7 ${progress}%`
@@ -28087,7 +28181,7 @@ function GanttBarView({
28087
28181
  }
28088
28182
 
28089
28183
  // src/components/gantt/GanttRow.tsx
28090
- import { Fragment as Fragment41, jsx as jsx78, jsxs as jsxs61 } from "react/jsx-runtime";
28184
+ import { Fragment as Fragment41, jsx as jsx78, jsxs as jsxs62 } from "react/jsx-runtime";
28091
28185
  function GanttRowView({
28092
28186
  ctx,
28093
28187
  index,
@@ -28125,7 +28219,7 @@ function GanttRowView({
28125
28219
  const start = new Date(rangeStart);
28126
28220
  const windowed = windowFrom <= windowTo;
28127
28221
  const on = (event) => (native) => ctx.track(event, index, native);
28128
- const content = /* @__PURE__ */ jsxs61(Fragment41, { children: [
28222
+ const content = /* @__PURE__ */ jsxs62(Fragment41, { children: [
28129
28223
  renderRowAvatar ? /* @__PURE__ */ jsx78("span", { className: Gantt_default.rowAvatar, children: renderRowAvatar(row) }) : null,
28130
28224
  /* @__PURE__ */ jsx78("span", { className: Gantt_default.rowLabel, children: renderRow ? renderRow(row) : label })
28131
28225
  ] });
@@ -28136,7 +28230,7 @@ function GanttRowView({
28136
28230
  "aria-keyshortcuts": creatable ? "N" : void 0,
28137
28231
  onFocus: () => ctx.focus(navId)
28138
28232
  };
28139
- return /* @__PURE__ */ jsxs61(
28233
+ return /* @__PURE__ */ jsxs62(
28140
28234
  "div",
28141
28235
  {
28142
28236
  ref: measureRef,
@@ -28186,7 +28280,7 @@ function GanttRowView({
28186
28280
  children: content
28187
28281
  }
28188
28282
  ) }),
28189
- /* @__PURE__ */ jsxs61(
28283
+ /* @__PURE__ */ jsxs62(
28190
28284
  "div",
28191
28285
  {
28192
28286
  role: "gridcell",
@@ -28248,8 +28342,8 @@ function GanttRowView({
28248
28342
  bar.id
28249
28343
  );
28250
28344
  }),
28251
- ghost ? /* @__PURE__ */ jsxs61(Tooltip.Root, { open: ghost.status === "drawing", children: [
28252
- /* @__PURE__ */ jsx78(Tooltip.Trigger, { children: /* @__PURE__ */ jsxs61(
28345
+ ghost ? /* @__PURE__ */ jsxs62(Tooltip.Root, { open: ghost.status === "drawing", children: [
28346
+ /* @__PURE__ */ jsx78(Tooltip.Trigger, { children: /* @__PURE__ */ jsxs62(
28253
28347
  "span",
28254
28348
  {
28255
28349
  tabIndex: -1,
@@ -28267,9 +28361,9 @@ function GanttRowView({
28267
28361
  ]
28268
28362
  }
28269
28363
  ) }),
28270
- /* @__PURE__ */ jsxs61(Tooltip.Content, { children: [
28364
+ /* @__PURE__ */ jsxs62(Tooltip.Content, { children: [
28271
28365
  /* @__PURE__ */ jsx78("span", { className: Gantt_default.tipTitle, children: newBarLabel }),
28272
- /* @__PURE__ */ jsxs61("span", { className: Gantt_default.tipMeta, children: [
28366
+ /* @__PURE__ */ jsxs62("span", { className: Gantt_default.tipMeta, children: [
28273
28367
  formatSpan(ghost.dates, locale),
28274
28368
  " \xB7",
28275
28369
  " ",
@@ -28287,7 +28381,7 @@ function GanttRowView({
28287
28381
  var GanttRow = React86.memo(GanttRowView);
28288
28382
 
28289
28383
  // src/components/gantt/Gantt.tsx
28290
- import { Fragment as Fragment42, jsx as jsx79, jsxs as jsxs62 } from "react/jsx-runtime";
28384
+ import { Fragment as Fragment42, jsx as jsx79, jsxs as jsxs63 } from "react/jsx-runtime";
28291
28385
  var GANTT_LABELS = {
28292
28386
  rowsHeader: "\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",
28293
28387
  timeline: "\u0428\u043A\u0430\u043B\u0430 \u0432\u0440\u0435\u043C\u0435\u043D\u0438",
@@ -29135,9 +29229,9 @@ function Gantt({
29135
29229
  const lineCells = tiers.bottom.filter(
29136
29230
  (cell) => (scale === "month" || cell.boundary) && inWindow(cell.x, 0)
29137
29231
  );
29138
- const backdrop = /* @__PURE__ */ jsxs62(Fragment42, { children: [
29232
+ const backdrop = /* @__PURE__ */ jsxs63(Fragment42, { children: [
29139
29233
  /* @__PURE__ */ jsx79("div", { className: Gantt_default.backdropWash, "aria-hidden": "true" }),
29140
- /* @__PURE__ */ jsxs62("div", { className: Gantt_default.backdropLines, "aria-hidden": "true", children: [
29234
+ /* @__PURE__ */ jsxs63("div", { className: Gantt_default.backdropLines, "aria-hidden": "true", children: [
29141
29235
  lineCells.map((cell) => /* @__PURE__ */ jsx79(
29142
29236
  "span",
29143
29237
  {
@@ -29259,8 +29353,8 @@ function Gantt({
29259
29353
  const origin = todayInRange ? todayX : 0;
29260
29354
  body = SKELETON_ROWS3.map((bars, index) => (
29261
29355
  // biome-ignore lint/suspicious/noArrayIndexKey: static placeholder rows
29262
- /* @__PURE__ */ jsxs62("div", { className: Gantt_default.row, style: { "--lanes": 1 }, children: [
29263
- /* @__PURE__ */ jsxs62("div", { className: Gantt_default.rowHeader, children: [
29356
+ /* @__PURE__ */ jsxs63("div", { className: Gantt_default.row, style: { "--lanes": 1 }, children: [
29357
+ /* @__PURE__ */ jsxs63("div", { className: Gantt_default.rowHeader, children: [
29264
29358
  hasAvatar ? /* @__PURE__ */ jsx79("span", { className: Gantt_default.rowAvatar, children: /* @__PURE__ */ jsx79(Skeleton, { shape: "circle" }) }) : null,
29265
29359
  /* @__PURE__ */ jsx79("span", { className: Gantt_default.rowLabel, children: /* @__PURE__ */ jsx79(Skeleton, { className: Gantt_default.skeletonLabel }) })
29266
29360
  ] }),
@@ -29328,7 +29422,7 @@ function Gantt({
29328
29422
  const topCells = tiers.top.filter((cell) => inWindow(cell.x, cell.span));
29329
29423
  const bottomCells = tiers.bottom.filter((cell) => inWindow(cell.x, cell.span));
29330
29424
  return /* @__PURE__ */ jsx79(SurfaceDepthProvider, { value: depth, children: tier.provide(
29331
- /* @__PURE__ */ jsxs62(
29425
+ /* @__PURE__ */ jsxs63(
29332
29426
  "div",
29333
29427
  {
29334
29428
  ...rest,
@@ -29375,7 +29469,7 @@ function Gantt({
29375
29469
  },
29376
29470
  onWheel: () => closeTips(false),
29377
29471
  onTouchMove: () => closeTips(false),
29378
- children: /* @__PURE__ */ jsx79(AnchorRectProvider, { value: anchorToVisible, children: /* @__PURE__ */ jsx79(FloatingBoundaryProvider, { value: timelineBoundary, children: /* @__PURE__ */ jsx79(Tooltip.Provider, { children: /* @__PURE__ */ jsxs62(
29472
+ children: /* @__PURE__ */ jsx79(AnchorRectProvider, { value: anchorToVisible, children: /* @__PURE__ */ jsx79(FloatingBoundaryProvider, { value: timelineBoundary, children: /* @__PURE__ */ jsx79(Tooltip.Provider, { children: /* @__PURE__ */ jsxs63(
29379
29473
  "div",
29380
29474
  {
29381
29475
  role: "grid",
@@ -29387,7 +29481,7 @@ function Gantt({
29387
29481
  style: gridStyle,
29388
29482
  onKeyDown: onGridKeyDown,
29389
29483
  children: [
29390
- /* @__PURE__ */ jsxs62(
29484
+ /* @__PURE__ */ jsxs63(
29391
29485
  "div",
29392
29486
  {
29393
29487
  ref: headRef,
@@ -29405,7 +29499,7 @@ function Gantt({
29405
29499
  children: /* @__PURE__ */ jsx79("span", { className: Gantt_default.cornerText, children: labels.rowsHeader })
29406
29500
  }
29407
29501
  ),
29408
- /* @__PURE__ */ jsxs62(
29502
+ /* @__PURE__ */ jsxs63(
29409
29503
  "div",
29410
29504
  {
29411
29505
  ref: axisRef,
@@ -29451,7 +29545,7 @@ function Gantt({
29451
29545
  ]
29452
29546
  }
29453
29547
  ),
29454
- /* @__PURE__ */ jsx79(RegionSwap, { state: bodyState, children: /* @__PURE__ */ jsxs62(
29548
+ /* @__PURE__ */ jsx79(RegionSwap, { state: bodyState, children: /* @__PURE__ */ jsxs63(
29455
29549
  "div",
29456
29550
  {
29457
29551
  role: "rowgroup",
@@ -29490,7 +29584,7 @@ var GanttToolbar = React87.memo(function GanttToolbar2({
29490
29584
  onToday,
29491
29585
  onScale
29492
29586
  }) {
29493
- return /* @__PURE__ */ jsxs62(ToolRow, { className: Gantt_default.toolbar, children: [
29587
+ return /* @__PURE__ */ jsxs63(ToolRow, { className: Gantt_default.toolbar, children: [
29494
29588
  toolbar != null && toolbar !== false ? /* @__PURE__ */ jsx79(ToolGroup, { children: toolbar }) : null,
29495
29589
  /* @__PURE__ */ jsx79(Button.Root, { variant: "ghost", tone: "neutral", disabled: !todayInRange, onClick: onToday, children: labels.today }),
29496
29590
  /* @__PURE__ */ jsx79(SegmentedControl.Root, { "aria-label": labels.scale, value: scale, onValueChange: onScale, children: SCALES.map((value) => /* @__PURE__ */ jsx79(SegmentedControl.Item, { value, children: labels[value] }, value)) })
@@ -29532,7 +29626,7 @@ var Kanban_default = {
29532
29626
  };
29533
29627
 
29534
29628
  // src/components/kanban/Kanban.tsx
29535
- import { Fragment as Fragment43, jsx as jsx80, jsxs as jsxs63 } from "react/jsx-runtime";
29629
+ import { Fragment as Fragment43, jsx as jsx80, jsxs as jsxs64 } from "react/jsx-runtime";
29536
29630
  var KANBAN_LABELS = {
29537
29631
  count: "\u041A\u0430\u0440\u0442\u043E\u0447\u0435\u043A: {count}",
29538
29632
  countLimit: "\u041A\u0430\u0440\u0442\u043E\u0447\u0435\u043A: {count} \u0438\u0437 {limit}",
@@ -29747,7 +29841,7 @@ function KanbanBoard({
29747
29841
  // Before the columns arrive: placeholder columns in the column geometry.
29748
29842
  /* @__PURE__ */ jsx80("div", { className: Kanban_default.placeholders, "aria-hidden": "true", children: Array.from({ length: loadingColumns }, (_, columnIndex) => (
29749
29843
  // biome-ignore lint/suspicious/noArrayIndexKey: identical placeholder columns
29750
- /* @__PURE__ */ jsxs63("div", { className: Kanban_default.column, children: [
29844
+ /* @__PURE__ */ jsxs64("div", { className: Kanban_default.column, children: [
29751
29845
  /* @__PURE__ */ jsx80("div", { className: cx(Kanban_default.header, hairline_default.bottom), children: /* @__PURE__ */ jsx80(Skeleton, { shape: "block", className: Kanban_default.skeletonTitle }) }),
29752
29846
  /* @__PURE__ */ jsx80("div", { className: Kanban_default.body, children: /* @__PURE__ */ jsx80(
29753
29847
  SkeletonCards,
@@ -29806,7 +29900,7 @@ function SkeletonCards({
29806
29900
  count,
29807
29901
  cardDepth
29808
29902
  }) {
29809
- return /* @__PURE__ */ jsx80("div", { className: Kanban_default.list, children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ jsxs63(
29903
+ return /* @__PURE__ */ jsx80("div", { className: Kanban_default.list, children: Array.from({ length: count }, (_, index) => /* @__PURE__ */ jsxs64(
29810
29904
  "div",
29811
29905
  {
29812
29906
  className: cx(Kanban_default.item, Kanban_default.skeleton),
@@ -29815,7 +29909,7 @@ function SkeletonCards({
29815
29909
  "aria-hidden": "true",
29816
29910
  children: [
29817
29911
  /* @__PURE__ */ jsx80(Skeleton, { lines: 2 }),
29818
- /* @__PURE__ */ jsxs63("div", { className: Kanban_default.footer, children: [
29912
+ /* @__PURE__ */ jsxs64("div", { className: Kanban_default.footer, children: [
29819
29913
  /* @__PURE__ */ jsx80(Skeleton, { shape: "block", className: Kanban_default.skeletonBadge }),
29820
29914
  /* @__PURE__ */ jsx80(Skeleton, { shape: "circle", size: "s" })
29821
29915
  ] })
@@ -29854,7 +29948,7 @@ function KanbanColumnView({
29854
29948
  );
29855
29949
  const showMeta = metaLines.length > 0;
29856
29950
  const describedBy = [column.description ? descriptionId : null, showMeta ? metaId : null].filter(Boolean).join(" ") || void 0;
29857
- return /* @__PURE__ */ jsxs63(
29951
+ return /* @__PURE__ */ jsxs64(
29858
29952
  Dnd.SortableItem,
29859
29953
  {
29860
29954
  id: column.id,
@@ -29863,14 +29957,14 @@ function KanbanColumnView({
29863
29957
  "data-kanban-column": column.id,
29864
29958
  "data-full": full || void 0,
29865
29959
  children: [
29866
- /* @__PURE__ */ jsx80(ControlSizeProvider, { value: "s", children: /* @__PURE__ */ jsxs63(
29960
+ /* @__PURE__ */ jsx80(ControlSizeProvider, { value: "s", children: /* @__PURE__ */ jsxs64(
29867
29961
  "div",
29868
29962
  {
29869
29963
  className: cx(Kanban_default.header, hairline_default.bottom),
29870
29964
  "data-reorderable": reorderable || void 0,
29871
29965
  children: [
29872
29966
  /* @__PURE__ */ jsx80(Title, { id: headingId, className: cx(textRole_default.titleM, Kanban_default.title), children: column.title }),
29873
- loading ? null : /* @__PURE__ */ jsxs63(Fragment43, { children: [
29967
+ loading ? null : /* @__PURE__ */ jsxs64(Fragment43, { children: [
29874
29968
  /* @__PURE__ */ jsx80(Badge.Root, { color: full ? "orange" : column.color ?? "gray", "aria-hidden": "true", children: column.limit === void 0 ? count : `${count} / ${column.limit}` }),
29875
29969
  /* @__PURE__ */ jsx80(VisuallyHidden, { children: countText })
29876
29970
  ] }),
@@ -29930,7 +30024,7 @@ function KanbanItem({
29930
30024
  const href = board.hrefOf(id);
29931
30025
  const { openItem } = board;
29932
30026
  const focus = href !== void 0 ? { tabIndex: -1 } : openItem ? { tabIndex: 0 } : null;
29933
- return /* @__PURE__ */ jsxs63(
30027
+ return /* @__PURE__ */ jsxs64(
29934
30028
  Dnd.SortableItem,
29935
30029
  {
29936
30030
  id,
@@ -30161,7 +30255,7 @@ function LoginFormBody({ className, children, ...rest }) {
30161
30255
  }
30162
30256
  LoginFormBody.displayName = "LoginForm.Body";
30163
30257
  function LoginFormForm({ className, children, ref, ...rest }) {
30164
- return /* @__PURE__ */ jsx81("form", { ref, className: cx(LoginForm_default.form, className), ...rest, children });
30258
+ return /* @__PURE__ */ jsx81("form", { ref, className: cx(LoginForm_default.form, className), ...rest, children: /* @__PURE__ */ jsx81(AutofillScope, { children }) });
30165
30259
  }
30166
30260
  LoginFormForm.displayName = "LoginForm.Form";
30167
30261
  function LoginFormActions({ className, children, ...rest }) {
@@ -30204,7 +30298,7 @@ var NativeSelect_default = {
30204
30298
  };
30205
30299
 
30206
30300
  // src/components/native-select/NativeSelect.tsx
30207
- import { jsx as jsx82, jsxs as jsxs64 } from "react/jsx-runtime";
30301
+ import { jsx as jsx82, jsxs as jsxs65 } from "react/jsx-runtime";
30208
30302
  var NATIVE_SELECT_LABELS = { optional: "\u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E" };
30209
30303
  function NativeSelect({
30210
30304
  size: sizeProp,
@@ -30250,8 +30344,8 @@ function NativeSelect({
30250
30344
  disabled,
30251
30345
  optionalLabel: labels.optional,
30252
30346
  className,
30253
- children: /* @__PURE__ */ jsxs64("span", { className: cx(fieldTierClass, NativeSelect_default.root), ...toDataAttributes({ size }), children: [
30254
- /* @__PURE__ */ jsxs64(
30347
+ children: /* @__PURE__ */ jsxs65("span", { className: cx(fieldTierClass, NativeSelect_default.root), ...toDataAttributes({ size }), children: [
30348
+ /* @__PURE__ */ jsxs65(
30255
30349
  "select",
30256
30350
  {
30257
30351
  ...rest,
@@ -30314,7 +30408,7 @@ var Notification_default = {
30314
30408
  };
30315
30409
 
30316
30410
  // src/components/notification/Notification.tsx
30317
- import { jsx as jsx83, jsxs as jsxs65 } from "react/jsx-runtime";
30411
+ import { jsx as jsx83, jsxs as jsxs66 } from "react/jsx-runtime";
30318
30412
  var NOTIFICATION_LABELS = {
30319
30413
  close: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u0435",
30320
30414
  regionTopLeft: "\u0423\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u0441\u0432\u0435\u0440\u0445\u0443 \u0441\u043B\u0435\u0432\u0430",
@@ -30360,7 +30454,7 @@ function CardView({
30360
30454
  const size = tier.size;
30361
30455
  const liveRole = tone === "danger" || tone === "warning" ? "alert" : "status";
30362
30456
  return tier.provide(
30363
- /* @__PURE__ */ jsxs65(
30457
+ /* @__PURE__ */ jsxs66(
30364
30458
  "article",
30365
30459
  {
30366
30460
  ...rest,
@@ -30377,8 +30471,8 @@ function CardView({
30377
30471
  }),
30378
30472
  children: [
30379
30473
  /* @__PURE__ */ jsx83("div", { className: cx(Notification_default.iconWrap, iconSlotClass), "aria-hidden": "true", children: icon ?? /* @__PURE__ */ jsx83(Icon, { name: TONE_ICON[tone] }) }),
30380
- /* @__PURE__ */ jsxs65("div", { className: Notification_default.content, children: [
30381
- /* @__PURE__ */ jsxs65("header", { className: Notification_default.header, children: [
30474
+ /* @__PURE__ */ jsxs66("div", { className: Notification_default.content, children: [
30475
+ /* @__PURE__ */ jsxs66("header", { className: Notification_default.header, children: [
30382
30476
  /* @__PURE__ */ jsx83("p", { className: Notification_default.title, children: title }),
30383
30477
  badge !== void 0 ? /* @__PURE__ */ jsx83(Badge.Root, { size: "xs", tone, children: badge }) : null
30384
30478
  ] }),
@@ -30487,7 +30581,7 @@ function ToastCard({ item, paused, onDismiss, stackDepth, stackExpanded }) {
30487
30581
 
30488
30582
  // src/components/notification/NotificationStore.tsx
30489
30583
  import * as React91 from "react";
30490
- import { jsx as jsx84, jsxs as jsxs66 } from "react/jsx-runtime";
30584
+ import { jsx as jsx84, jsxs as jsxs67 } from "react/jsx-runtime";
30491
30585
  var DEFAULT_DURATION = 5e3;
30492
30586
  var PEEK_VISIBLE = 3;
30493
30587
  var SCALE_STEP = 0.05;
@@ -30959,7 +31053,7 @@ function NotificationProvider({
30959
31053
  () => ({ items: publicItems, notify, dismiss, dismissAll }),
30960
31054
  [publicItems, notify, dismiss, dismissAll]
30961
31055
  );
30962
- return /* @__PURE__ */ jsx84(StoreProvider, { value, children: /* @__PURE__ */ jsxs66(NotificationLabelsContext.Provider, { value: labels, children: [
31056
+ return /* @__PURE__ */ jsx84(StoreProvider, { value, children: /* @__PURE__ */ jsxs67(NotificationLabelsContext.Provider, { value: labels, children: [
30963
31057
  children,
30964
31058
  /* @__PURE__ */ jsx84(NotificationToaster, { entries, onDismiss: leave, onExited: exited })
30965
31059
  ] }) });
@@ -30987,7 +31081,7 @@ var ProgressCircle_default = {
30987
31081
  };
30988
31082
 
30989
31083
  // src/components/progress-circle/ProgressCircle.tsx
30990
- import { Fragment as Fragment44, jsx as jsx85, jsxs as jsxs67 } from "react/jsx-runtime";
31084
+ import { Fragment as Fragment44, jsx as jsx85, jsxs as jsxs68 } from "react/jsx-runtime";
30991
31085
  var HAIRLINE_GAP = RING_DATA_STROKE * 0.75;
30992
31086
  var LOADING_ROWS3 = 3;
30993
31087
  function arcStyle(start, length) {
@@ -31025,7 +31119,7 @@ function SegmentArcs({
31025
31119
  const parts = arcs.filter((a) => !a.rest);
31026
31120
  const first = parts[0];
31027
31121
  const last = parts[parts.length - 1];
31028
- return /* @__PURE__ */ jsxs67(Fragment44, { children: [
31122
+ return /* @__PURE__ */ jsxs68(Fragment44, { children: [
31029
31123
  parts.map((a, i) => {
31030
31124
  const own = fillProps(a.fill);
31031
31125
  return /* @__PURE__ */ jsx85(
@@ -31038,7 +31132,7 @@ function SegmentArcs({
31038
31132
  i
31039
31133
  );
31040
31134
  }),
31041
- first && last && !closed ? /* @__PURE__ */ jsxs67(Fragment44, { children: [
31135
+ first && last && !closed ? /* @__PURE__ */ jsxs68(Fragment44, { children: [
31042
31136
  /* @__PURE__ */ jsx85(Cap, { position: first.start, fill: first.fill }),
31043
31137
  /* @__PURE__ */ jsx85(Cap, { position: last.start + last.length, fill: last.fill })
31044
31138
  ] }) : null
@@ -31143,7 +31237,7 @@ function ProgressCircle(props) {
31143
31237
  }
31144
31238
  );
31145
31239
  }
31146
- const body = /* @__PURE__ */ jsxs67(Fragment44, { children: [
31240
+ const body = /* @__PURE__ */ jsxs68(Fragment44, { children: [
31147
31241
  /* @__PURE__ */ jsx85(RegionSwap, { state: loading ? "loading" : "data", fill: true, children: loading ? /* @__PURE__ */ jsx85(Skeleton, { shape: "block", className: ProgressCircle_default.ringSkeleton }) : ring }),
31148
31242
  loading ? null : description,
31149
31243
  showInner ? /* @__PURE__ */ jsx85(
@@ -31162,7 +31256,7 @@ function ProgressCircle(props) {
31162
31256
  };
31163
31257
  if (legend) {
31164
31258
  return provide(
31165
- /* @__PURE__ */ jsxs67("div", { className: cx(ProgressCircle_default.root, className), ...rootProps, children: [
31259
+ /* @__PURE__ */ jsxs68("div", { className: cx(ProgressCircle_default.root, className), ...rootProps, children: [
31166
31260
  /* @__PURE__ */ jsx85("div", { className: ProgressCircle_default.ring, children: body }),
31167
31261
  /* @__PURE__ */ jsx85(RegionSwap, { state: loading ? "loading" : "data", className: ProgressCircle_default.legend, children: legendNode })
31168
31262
  ] })
@@ -31185,7 +31279,7 @@ var Radio_default = {
31185
31279
  };
31186
31280
 
31187
31281
  // src/components/radio/Radio.tsx
31188
- import { Fragment as Fragment45, jsx as jsx86, jsxs as jsxs68 } from "react/jsx-runtime";
31282
+ import { Fragment as Fragment45, jsx as jsx86, jsxs as jsxs69 } from "react/jsx-runtime";
31189
31283
  var RADIO_GROUP_LABELS = { optional: "\u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E" };
31190
31284
  var [RadioGroupProvider, useRadioGroupContext] = createComponentContext("Radio.Group");
31191
31285
  function RadioGroup({
@@ -31298,7 +31392,7 @@ function RadioRoot({
31298
31392
  hint,
31299
31393
  hintTone,
31300
31394
  className: cx(Radio_default.root, className),
31301
- control: /* @__PURE__ */ jsxs68(Fragment45, { children: [
31395
+ control: /* @__PURE__ */ jsxs69(Fragment45, { children: [
31302
31396
  /* @__PURE__ */ jsx86(
31303
31397
  "input",
31304
31398
  {
@@ -31522,7 +31616,7 @@ var Sparkline_default = {
31522
31616
  };
31523
31617
 
31524
31618
  // src/components/sparkline/Sparkline.tsx
31525
- import { Fragment as Fragment46, jsx as jsx89, jsxs as jsxs69 } from "react/jsx-runtime";
31619
+ import { Fragment as Fragment46, jsx as jsx89, jsxs as jsxs70 } from "react/jsx-runtime";
31526
31620
  var SPARKLINE_LABELS = {
31527
31621
  point: "{label}: {value}",
31528
31622
  period: "{first} \u2013 {last}",
@@ -31613,8 +31707,8 @@ function Sparkline({
31613
31707
  const drawing = React94.useMemo(() => {
31614
31708
  const { paths } = geometry;
31615
31709
  if (!paths) return null;
31616
- return /* @__PURE__ */ jsxs69("div", { className: Sparkline_default.drawing, "aria-hidden": "true", children: [
31617
- /* @__PURE__ */ jsxs69(
31710
+ return /* @__PURE__ */ jsxs70("div", { className: Sparkline_default.drawing, "aria-hidden": "true", children: [
31711
+ /* @__PURE__ */ jsxs70(
31618
31712
  "svg",
31619
31713
  {
31620
31714
  className: Sparkline_default.svg,
@@ -31622,8 +31716,8 @@ function Sparkline({
31622
31716
  preserveAspectRatio: "none",
31623
31717
  "aria-hidden": "true",
31624
31718
  children: [
31625
- variant === "area" && paths.area ? /* @__PURE__ */ jsxs69(Fragment46, { children: [
31626
- /* @__PURE__ */ jsx89("defs", { children: /* @__PURE__ */ jsxs69("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1", children: [
31719
+ variant === "area" && paths.area ? /* @__PURE__ */ jsxs70(Fragment46, { children: [
31720
+ /* @__PURE__ */ jsx89("defs", { children: /* @__PURE__ */ jsxs70("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1", children: [
31627
31721
  /* @__PURE__ */ jsx89("stop", { offset: "0", className: Sparkline_default.fadeTop }),
31628
31722
  /* @__PURE__ */ jsx89("stop", { offset: "1", className: Sparkline_default.fadeBottom })
31629
31723
  ] }) }),
@@ -31669,7 +31763,7 @@ function Sparkline({
31669
31763
  const layoutAttr = compact ? layout : void 0;
31670
31764
  const plotNode = plotRef.current;
31671
31765
  const tooltipPoint = active === null || !point ? null : pointer ?? (plotNode ? { x: x(index) * plotNode.offsetWidth, y: plotNode.offsetHeight / 2 } : null);
31672
- return /* @__PURE__ */ jsxs69(
31766
+ return /* @__PURE__ */ jsxs70(
31673
31767
  "div",
31674
31768
  {
31675
31769
  ...rest,
@@ -31681,20 +31775,20 @@ function Sparkline({
31681
31775
  "data-size": compact ? "xs" : void 0,
31682
31776
  "aria-busy": loading || void 0,
31683
31777
  children: [
31684
- compact ? null : /* @__PURE__ */ jsxs69(Fragment46, { children: [
31685
- /* @__PURE__ */ jsxs69("div", { className: Sparkline_default.head, children: [
31778
+ compact ? null : /* @__PURE__ */ jsxs70(Fragment46, { children: [
31779
+ /* @__PURE__ */ jsxs70("div", { className: Sparkline_default.head, children: [
31686
31780
  /* @__PURE__ */ jsx89("span", { className: Sparkline_default.label, children: label }),
31687
31781
  /* @__PURE__ */ jsx89(RegionSwap, { state: stateKey, className: Sparkline_default.date, children: loading ? /* @__PURE__ */ jsx89(Skeleton, { shape: "text", size: "s", className: Sparkline_default.dateSkeleton }) : headDate })
31688
31782
  ] }),
31689
- /* @__PURE__ */ jsx89(RegionSwap, { state: stateKey, children: loading ? /* @__PURE__ */ jsx89(Skeleton, { shape: "block", className: Sparkline_default.valueSkeleton }) : /* @__PURE__ */ jsxs69("div", { className: Sparkline_default.valueRow, children: [
31783
+ /* @__PURE__ */ jsx89(RegionSwap, { state: stateKey, children: loading ? /* @__PURE__ */ jsx89(Skeleton, { shape: "block", className: Sparkline_default.valueSkeleton }) : /* @__PURE__ */ jsxs70("div", { className: Sparkline_default.valueRow, children: [
31690
31784
  /* @__PURE__ */ jsx89("span", { className: Sparkline_default.value, "data-empty": restValue === null || void 0, children: atRest ? /* @__PURE__ */ jsx89(RollingNumber, { children: headValue }) : headValue }),
31691
- shownDelta !== null ? /* @__PURE__ */ jsxs69(Badge.Root, { tone: deltaTone, className: Sparkline_default.change, children: [
31785
+ shownDelta !== null ? /* @__PURE__ */ jsxs70(Badge.Root, { tone: deltaTone, className: Sparkline_default.change, children: [
31692
31786
  shownDelta !== 0 ? /* @__PURE__ */ jsx89(Badge.Icon, { className: Sparkline_default.trend, "data-down": shownDelta < 0 || void 0, children: /* @__PURE__ */ jsx89(Icon, { name: "status.trendUp" }) }) : null,
31693
31787
  deltaText
31694
31788
  ] }) : null
31695
31789
  ] }) })
31696
31790
  ] }),
31697
- /* @__PURE__ */ jsx89(RegionSwap, { state: stateKey, children: loading ? /* @__PURE__ */ jsx89(Skeleton, { shape: "block", className: Sparkline_default.plotSkeleton }) : /* @__PURE__ */ jsxs69(
31791
+ /* @__PURE__ */ jsx89(RegionSwap, { state: stateKey, children: loading ? /* @__PURE__ */ jsx89(Skeleton, { shape: "block", className: Sparkline_default.plotSkeleton }) : /* @__PURE__ */ jsxs70(
31698
31792
  "div",
31699
31793
  {
31700
31794
  ref: plotRef,
@@ -31739,7 +31833,7 @@ function Sparkline({
31739
31833
  "aria-hidden": "true"
31740
31834
  }
31741
31835
  ) : null,
31742
- /* @__PURE__ */ jsx89(RegionSwap, { state: version, fill: true, children: bars ? /* @__PURE__ */ jsxs69("div", { className: Sparkline_default.bars, "aria-hidden": "true", children: [
31836
+ /* @__PURE__ */ jsx89(RegionSwap, { state: version, fill: true, children: bars ? /* @__PURE__ */ jsxs70("div", { className: Sparkline_default.bars, "aria-hidden": "true", children: [
31743
31837
  /* @__PURE__ */ jsx89(
31744
31838
  "span",
31745
31839
  {
@@ -31770,7 +31864,7 @@ function Sparkline({
31770
31864
  i
31771
31865
  ))
31772
31866
  ] }) : drawing }),
31773
- point && !bars ? /* @__PURE__ */ jsxs69(
31867
+ point && !bars ? /* @__PURE__ */ jsxs70(
31774
31868
  "span",
31775
31869
  {
31776
31870
  className: Sparkline_default.cursor,
@@ -31825,7 +31919,7 @@ var Stepper_default = {
31825
31919
  };
31826
31920
 
31827
31921
  // src/components/stepper/Stepper.tsx
31828
- import { jsx as jsx90, jsxs as jsxs70 } from "react/jsx-runtime";
31922
+ import { jsx as jsx90, jsxs as jsxs71 } from "react/jsx-runtime";
31829
31923
  var STEPPER_LABELS = {
31830
31924
  completed: "\u043F\u0440\u043E\u0439\u0434\u0435\u043D",
31831
31925
  danger: "\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0432\u043D\u0438\u043C\u0430\u043D\u0438\u044F"
@@ -31904,9 +31998,9 @@ function StepperItem({
31904
31998
  const status = statusProp ?? deriveStatus(index, value);
31905
31999
  const itemContext = React95.useMemo(() => ({ index, status }), [index, status]);
31906
32000
  const spokenStatus = status === "completed" ? labels.completed : status === "danger" ? labels.danger : null;
31907
- return /* @__PURE__ */ jsx90(StepperItemProvider, { value: itemContext, children: /* @__PURE__ */ jsxs70("li", { className: Stepper_default.item, children: [
32001
+ return /* @__PURE__ */ jsx90(StepperItemProvider, { value: itemContext, children: /* @__PURE__ */ jsxs71("li", { className: Stepper_default.item, children: [
31908
32002
  /* @__PURE__ */ jsx90("span", { className: Stepper_default.separator, "aria-hidden": "true", children: /* @__PURE__ */ jsx90(Icon, { name: "nav.chevronRight", strokeWidth: 2 }) }),
31909
- /* @__PURE__ */ jsxs70(
32003
+ /* @__PURE__ */ jsxs71(
31910
32004
  "button",
31911
32005
  {
31912
32006
  ...rest,
@@ -31982,7 +32076,7 @@ var Switch_default = {
31982
32076
  };
31983
32077
 
31984
32078
  // src/components/switch/Switch.tsx
31985
- import { Fragment as Fragment47, jsx as jsx91, jsxs as jsxs71 } from "react/jsx-runtime";
32079
+ import { Fragment as Fragment47, jsx as jsx91, jsxs as jsxs72 } from "react/jsx-runtime";
31986
32080
  var SWITCH_LABELS = { optional: "\u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E" };
31987
32081
  function SwitchRoot({
31988
32082
  id,
@@ -32040,7 +32134,7 @@ function SwitchRoot({
32040
32134
  hintTone,
32041
32135
  error,
32042
32136
  className: cx(Switch_default.root, className),
32043
- control: /* @__PURE__ */ jsxs71(Fragment47, { children: [
32137
+ control: /* @__PURE__ */ jsxs72(Fragment47, { children: [
32044
32138
  /* @__PURE__ */ jsx91(
32045
32139
  "input",
32046
32140
  {
@@ -32111,7 +32205,7 @@ var Tabs_default = {
32111
32205
  };
32112
32206
 
32113
32207
  // src/components/tabs/Tabs.tsx
32114
- import { Fragment as Fragment48, jsx as jsx92, jsxs as jsxs72 } from "react/jsx-runtime";
32208
+ import { Fragment as Fragment48, jsx as jsx92, jsxs as jsxs73 } from "react/jsx-runtime";
32115
32209
  var TABS_LABELS = {
32116
32210
  remove: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0432\u043A\u043B\u0430\u0434\u043A\u0443 \xAB{label}\xBB"
32117
32211
  };
@@ -32346,7 +32440,7 @@ function TabsList({ children, className, ref, ...rest }) {
32346
32440
  // The strip paints the band; the list inside scrolls and fades over it, the band never fades.
32347
32441
  // A column never scrolls sideways: no edge fade, or it would dim the folder where it joins
32348
32442
  // the panel.
32349
- /* @__PURE__ */ jsx92("div", { className: Tabs_default.strip, children: /* @__PURE__ */ jsxs72(
32443
+ /* @__PURE__ */ jsx92("div", { className: Tabs_default.strip, children: /* @__PURE__ */ jsxs73(
32350
32444
  SwitcherScroller,
32351
32445
  {
32352
32446
  ...rest,
@@ -32448,7 +32542,7 @@ function TabsItem({
32448
32542
  () => setRemoving(false)
32449
32543
  );
32450
32544
  }
32451
- return /* @__PURE__ */ jsxs72(
32545
+ return /* @__PURE__ */ jsxs73(
32452
32546
  "div",
32453
32547
  {
32454
32548
  className: Tabs_default.item,
@@ -32459,7 +32553,7 @@ function TabsItem({
32459
32553
  removable: removable || void 0
32460
32554
  }),
32461
32555
  children: [
32462
- /* @__PURE__ */ jsxs72(Tooltip.Root, { open: iconOnly && tooltipOpen, onOpenChange: setTooltipOpen, children: [
32556
+ /* @__PURE__ */ jsxs73(Tooltip.Root, { open: iconOnly && tooltipOpen, onOpenChange: setTooltipOpen, children: [
32463
32557
  /* @__PURE__ */ jsx92(Tooltip.Trigger, { children: /* @__PURE__ */ jsx92(
32464
32558
  "button",
32465
32559
  {
@@ -32535,7 +32629,7 @@ function TabsLabel({ children, className, ...rest }) {
32535
32629
  const id = useTextPartId("label");
32536
32630
  const iconOnly = React96.useContext(CollapseContext2) === "icon";
32537
32631
  const text = typeof children === "string" || typeof children === "number" ? String(children) : "";
32538
- return /* @__PURE__ */ jsxs72(Fragment48, { children: [
32632
+ return /* @__PURE__ */ jsxs73(Fragment48, { children: [
32539
32633
  /* @__PURE__ */ jsx92(
32540
32634
  "span",
32541
32635
  {
@@ -32665,7 +32759,7 @@ var TagSelect_default = {
32665
32759
  };
32666
32760
 
32667
32761
  // src/components/tag-select/TagOptionMenu.tsx
32668
- import { Fragment as Fragment49, jsx as jsx93, jsxs as jsxs73 } from "react/jsx-runtime";
32762
+ import { Fragment as Fragment49, jsx as jsx93, jsxs as jsxs74 } from "react/jsx-runtime";
32669
32763
  var TAG_COLORS = [
32670
32764
  "gray",
32671
32765
  "red",
@@ -32700,7 +32794,7 @@ function TagOptionMenu({
32700
32794
  if (next && next !== label) onUpdate?.(value, { label: next });
32701
32795
  if (!next) setDraft(label);
32702
32796
  };
32703
- return /* @__PURE__ */ jsxs73(Popover.Root, { open, onOpenChange, children: [
32797
+ return /* @__PURE__ */ jsxs74(Popover.Root, { open, onOpenChange, children: [
32704
32798
  /* @__PURE__ */ jsx93(Popover.Trigger, { children: /* @__PURE__ */ jsx93(
32705
32799
  Button.Root,
32706
32800
  {
@@ -32715,7 +32809,7 @@ function TagOptionMenu({
32715
32809
  children: /* @__PURE__ */ jsx93(Button.Icon, { children: /* @__PURE__ */ jsx93(Icon, { name: "action.more" }) })
32716
32810
  }
32717
32811
  ) }),
32718
- /* @__PURE__ */ jsx93(Popover.Content, { size: "s", flush: true, className: TagSelect_default.menuPanel, children: /* @__PURE__ */ jsxs73("div", { className: TagSelect_default.menuBody, children: [
32812
+ /* @__PURE__ */ jsx93(Popover.Content, { size: "s", flush: true, className: TagSelect_default.menuPanel, children: /* @__PURE__ */ jsxs74("div", { className: TagSelect_default.menuBody, children: [
32719
32813
  onUpdate ? /* @__PURE__ */ jsx93(Input.Root, { size: "s", children: /* @__PURE__ */ jsx93(Input.Wrapper, { children: /* @__PURE__ */ jsx93(
32720
32814
  Input.Field,
32721
32815
  {
@@ -32732,7 +32826,7 @@ function TagOptionMenu({
32732
32826
  }
32733
32827
  }
32734
32828
  ) }) }) : null,
32735
- onDelete ? /* @__PURE__ */ jsxs73(
32829
+ onDelete ? /* @__PURE__ */ jsxs74(
32736
32830
  Button.Root,
32737
32831
  {
32738
32832
  variant: "ghost",
@@ -32749,10 +32843,10 @@ function TagOptionMenu({
32749
32843
  ]
32750
32844
  }
32751
32845
  ) : null,
32752
- onUpdate ? /* @__PURE__ */ jsxs73(Fragment49, { children: [
32846
+ onUpdate ? /* @__PURE__ */ jsxs74(Fragment49, { children: [
32753
32847
  /* @__PURE__ */ jsx93(Divider, { className: menu_default.separator }),
32754
32848
  /* @__PURE__ */ jsx93("div", { className: cx(textRole_default.caption, menu_default.groupLabel), children: labels.colors }),
32755
- /* @__PURE__ */ jsx93("div", { className: cx(fieldTierClass, menu_default.tier), "data-size": "s", children: TAG_COLORS.map((hue) => /* @__PURE__ */ jsxs73(
32849
+ /* @__PURE__ */ jsx93("div", { className: cx(fieldTierClass, menu_default.tier), "data-size": "s", children: TAG_COLORS.map((hue) => /* @__PURE__ */ jsxs74(
32756
32850
  "button",
32757
32851
  {
32758
32852
  type: "button",
@@ -32819,7 +32913,7 @@ function useChipOverflow({
32819
32913
 
32820
32914
  // src/components/tag-select/VirtualOptions.tsx
32821
32915
  import * as React99 from "react";
32822
- import { Fragment as Fragment51, jsx as jsx94, jsxs as jsxs74 } from "react/jsx-runtime";
32916
+ import { Fragment as Fragment51, jsx as jsx94, jsxs as jsxs75 } from "react/jsx-runtime";
32823
32917
  var ONE_GROUP3 = () => 0;
32824
32918
  function VirtualOptions({
32825
32919
  count,
@@ -32870,9 +32964,9 @@ function VirtualOptions({
32870
32964
  );
32871
32965
  const laid = rowGaps(virtual);
32872
32966
  const spacer = (key, height) => height > 0 ? /* @__PURE__ */ jsx94("div", { className: TagSelect_default.spacer, style: { height }, "aria-hidden": "true" }, key) : null;
32873
- return /* @__PURE__ */ jsxs74(Fragment51, { children: [
32967
+ return /* @__PURE__ */ jsxs75(Fragment51, { children: [
32874
32968
  /* @__PURE__ */ jsx94("div", { ref: startRef, "aria-hidden": "true" }),
32875
- laid.rows.map(({ index, gap }) => /* @__PURE__ */ jsxs74(React99.Fragment, { children: [
32969
+ laid.rows.map(({ index, gap }) => /* @__PURE__ */ jsxs75(React99.Fragment, { children: [
32876
32970
  spacer("gap", gap),
32877
32971
  renderOption(index, virtual.measure(index))
32878
32972
  ] }, getKey(index))),
@@ -32881,7 +32975,7 @@ function VirtualOptions({
32881
32975
  }
32882
32976
 
32883
32977
  // src/components/tag-select/TagSelect.tsx
32884
- import { Fragment as Fragment52, jsx as jsx95, jsxs as jsxs75 } from "react/jsx-runtime";
32978
+ import { Fragment as Fragment52, jsx as jsx95, jsxs as jsxs76 } from "react/jsx-runtime";
32885
32979
  var TAG_SELECT_LABELS = {
32886
32980
  create: "\u0421\u043E\u0437\u0434\u0430\u0442\u044C",
32887
32981
  remove: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C {label}",
@@ -33252,7 +33346,7 @@ function TagSelect({
33252
33346
  const pickOption = () => {
33253
33347
  if (!option.disabled) pick(option.value);
33254
33348
  };
33255
- const content = /* @__PURE__ */ jsxs75(Fragment52, { children: [
33349
+ const content = /* @__PURE__ */ jsxs76(Fragment52, { children: [
33256
33350
  /* @__PURE__ */ jsx95(Checkbox.Indicator, { checked: isSelected, disabled: option.disabled, size: stepDown(size) }),
33257
33351
  /* @__PURE__ */ jsx95(
33258
33352
  Badge.Root,
@@ -33280,7 +33374,7 @@ function TagSelect({
33280
33374
  ref: windowed?.measure,
33281
33375
  posInSet: windowed ? windowed.index + 1 + (showCreate ? 1 : 0) : void 0,
33282
33376
  setSize: windowed ? setSize : void 0,
33283
- children: manageable ? /* @__PURE__ */ jsxs75(Fragment52, { children: [
33377
+ children: manageable ? /* @__PURE__ */ jsxs76(Fragment52, { children: [
33284
33378
  /* @__PURE__ */ jsx95(
33285
33379
  "button",
33286
33380
  {
@@ -33317,7 +33411,7 @@ function TagSelect({
33317
33411
  );
33318
33412
  };
33319
33413
  return tier.provide(
33320
- /* @__PURE__ */ jsxs75(
33414
+ /* @__PURE__ */ jsxs76(
33321
33415
  FieldFrame,
33322
33416
  {
33323
33417
  ...rest,
@@ -33333,7 +33427,7 @@ function TagSelect({
33333
33427
  optionalLabel: labels.optional,
33334
33428
  className,
33335
33429
  children: [
33336
- /* @__PURE__ */ jsxs75(
33430
+ /* @__PURE__ */ jsxs76(
33337
33431
  "div",
33338
33432
  {
33339
33433
  ref: triggerRef,
@@ -33362,7 +33456,7 @@ function TagSelect({
33362
33456
  "focus-ring": focusRing
33363
33457
  }),
33364
33458
  children: [
33365
- /* @__PURE__ */ jsxs75(
33459
+ /* @__PURE__ */ jsxs76(
33366
33460
  ScrollContainer,
33367
33461
  {
33368
33462
  ref: chipsRef,
@@ -33400,8 +33494,8 @@ function TagSelect({
33400
33494
  disabled,
33401
33495
  title: hiddenChips.map((chip) => chip.label).join(", "),
33402
33496
  onClick: () => inputRef.current?.focus(),
33403
- children: /* @__PURE__ */ jsxs75(Badge.Root, { color: "gray", disabled, className: TagSelect_default.chipMore, children: [
33404
- /* @__PURE__ */ jsxs75("span", { "aria-hidden": "true", children: [
33497
+ children: /* @__PURE__ */ jsxs76(Badge.Root, { color: "gray", disabled, className: TagSelect_default.chipMore, children: [
33498
+ /* @__PURE__ */ jsxs76("span", { "aria-hidden": "true", children: [
33405
33499
  "+",
33406
33500
  hiddenChips.length
33407
33501
  ] }),
@@ -33420,6 +33514,7 @@ function TagSelect({
33420
33514
  "aria-expanded": shown,
33421
33515
  "aria-controls": shown ? listboxId : void 0,
33422
33516
  "aria-autocomplete": "list",
33517
+ ...AUTOFILL_OFF,
33423
33518
  "aria-label": ariaLabel,
33424
33519
  "aria-labelledby": ariaLabelledBy,
33425
33520
  "aria-invalid": ids.invalid || void 0,
@@ -33463,7 +33558,7 @@ function TagSelect({
33463
33558
  ]
33464
33559
  }
33465
33560
  ),
33466
- /* @__PURE__ */ jsxs75(
33561
+ /* @__PURE__ */ jsxs76(
33467
33562
  FloatingPanel,
33468
33563
  {
33469
33564
  floating,
@@ -33478,7 +33573,7 @@ function TagSelect({
33478
33573
  ref: scrollerRef,
33479
33574
  className: cx(fieldTierClass, menu_default.tier, menu_default.menu, TagSelect_default.panel),
33480
33575
  children: [
33481
- showCreate ? /* @__PURE__ */ jsxs75(
33576
+ showCreate ? /* @__PURE__ */ jsxs76(
33482
33577
  OptionRow,
33483
33578
  {
33484
33579
  id: optionDomId(listboxId, CREATE_VALUE),
@@ -33604,7 +33699,7 @@ var MeasureRow = React100.memo(function MeasureRow2({
33604
33699
  return (
33605
33700
  // The clip keeps the row (wider than the field with many tags) out of the scroll width of
33606
33701
  // every scroller around the field; the row itself keeps its full width to measure.
33607
- /* @__PURE__ */ jsx95("div", { className: TagSelect_default.measureClip, "aria-hidden": true, inert: true, children: /* @__PURE__ */ jsxs75("div", { ref, className: TagSelect_default.measure, children: [
33702
+ /* @__PURE__ */ jsx95("div", { className: TagSelect_default.measureClip, "aria-hidden": true, inert: true, children: /* @__PURE__ */ jsxs76("div", { ref, className: TagSelect_default.measure, children: [
33608
33703
  chips.map((chip) => /* @__PURE__ */ jsx95(
33609
33704
  Badge.Root,
33610
33705
  {
@@ -33617,7 +33712,7 @@ var MeasureRow = React100.memo(function MeasureRow2({
33617
33712
  },
33618
33713
  chip.value
33619
33714
  )),
33620
- /* @__PURE__ */ jsxs75(Badge.Root, { color: "gray", className: TagSelect_default.chipMore, children: [
33715
+ /* @__PURE__ */ jsxs76(Badge.Root, { color: "gray", className: TagSelect_default.chipMore, children: [
33621
33716
  "+",
33622
33717
  Math.max(chips.length, 9)
33623
33718
  ] })
@@ -33652,7 +33747,7 @@ var Timeline_default = {
33652
33747
  };
33653
33748
 
33654
33749
  // src/components/timeline/Timeline.tsx
33655
- import { Fragment as Fragment53, jsx as jsx96, jsxs as jsxs76 } from "react/jsx-runtime";
33750
+ import { Fragment as Fragment53, jsx as jsx96, jsxs as jsxs77 } from "react/jsx-runtime";
33656
33751
  function TimelineRoot({ size: sizeProp, children, className, ...rest }) {
33657
33752
  const tier = useHostTier(sizeProp);
33658
33753
  return tier.provide(
@@ -33695,7 +33790,7 @@ function TimelineGroup({ label, children, className, ...rest }) {
33695
33790
  },
33696
33791
  React101.isValidElement(child) ? child.key : index
33697
33792
  ));
33698
- return /* @__PURE__ */ jsxs76("div", { className: Timeline_default.group, children: [
33793
+ return /* @__PURE__ */ jsxs77("div", { className: Timeline_default.group, children: [
33699
33794
  hasLabel ? /* @__PURE__ */ jsx96("div", { id: labelId, className: cx(GROUP_LABEL_ROLE[size], Timeline_default.groupLabel), children: label }) : null,
33700
33795
  /* @__PURE__ */ jsx96(
33701
33796
  "ol",
@@ -33752,7 +33847,7 @@ function TimelineItem({
33752
33847
  const dot = /* @__PURE__ */ jsx96("span", { className: Timeline_default.dot, "aria-hidden": "true" });
33753
33848
  const content = (parts) => {
33754
33849
  const { parts: value, rest: text } = splitParts(parts, TimelineItemValue);
33755
- return /* @__PURE__ */ jsxs76(Fragment53, { children: [
33850
+ return /* @__PURE__ */ jsxs77(Fragment53, { children: [
33756
33851
  dot,
33757
33852
  /* @__PURE__ */ jsx96("span", { className: Timeline_default.text, children: text }),
33758
33853
  value
@@ -33821,7 +33916,7 @@ function TimelineGap({ tone = "neutral", children, className, ...rest }) {
33821
33916
  const caption = parts.filter((child) => !isDescription(child));
33822
33917
  const description = parts.filter(isDescription);
33823
33918
  const edge = React101.useContext(EdgeContext);
33824
- return /* @__PURE__ */ jsx96("li", { className: cx(Timeline_default.item, Timeline_default.gapItem), ...toDataAttributes(edgeAttributes(edge)), children: /* @__PURE__ */ jsxs76("div", { ...rest, className: cx(Timeline_default.gapRow, className), ...toDataAttributes({ tone }), children: [
33919
+ return /* @__PURE__ */ jsx96("li", { className: cx(Timeline_default.item, Timeline_default.gapItem), ...toDataAttributes(edgeAttributes(edge)), children: /* @__PURE__ */ jsxs77("div", { ...rest, className: cx(Timeline_default.gapRow, className), ...toDataAttributes({ tone }), children: [
33825
33920
  /* @__PURE__ */ jsx96("span", { className: Timeline_default.gapDot, "aria-hidden": "true" }),
33826
33921
  /* @__PURE__ */ jsx96("span", { className: Timeline_default.gapCaption, children: caption }),
33827
33922
  description
@@ -33858,7 +33953,7 @@ var VideoNote_default = {
33858
33953
  };
33859
33954
 
33860
33955
  // src/components/video-note/VideoNote.tsx
33861
- import { jsx as jsx97, jsxs as jsxs77 } from "react/jsx-runtime";
33956
+ import { jsx as jsx97, jsxs as jsxs78 } from "react/jsx-runtime";
33862
33957
  var VIDEO_NOTE_LABELS = {
33863
33958
  player: "\u0412\u0438\u0434\u0435\u043E\u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
33864
33959
  play: "\u0412\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0432\u0438\u0434\u0435\u043E\u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
@@ -33891,7 +33986,7 @@ function VideoNoteInner(props) {
33891
33986
  }),
33892
33987
  unplayed ? labels.unplayed : null
33893
33988
  ].filter(Boolean).join(", ");
33894
- return /* @__PURE__ */ jsxs77(
33989
+ return /* @__PURE__ */ jsxs78(
33895
33990
  MediaPlayerRoot,
33896
33991
  {
33897
33992
  label: labels.player,
@@ -33899,7 +33994,7 @@ function VideoNoteInner(props) {
33899
33994
  ...rest,
33900
33995
  className: cx(VideoNote_default.root, className),
33901
33996
  children: [
33902
- /* @__PURE__ */ jsxs77(
33997
+ /* @__PURE__ */ jsxs78(
33903
33998
  "div",
33904
33999
  {
33905
34000
  className: cx(press_default.press, VideoNote_default.circle),
@@ -33909,7 +34004,7 @@ function VideoNoteInner(props) {
33909
34004
  "data-covered": covered || void 0,
33910
34005
  "data-disabled": inactive || void 0,
33911
34006
  children: [
33912
- /* @__PURE__ */ jsxs77("span", { className: VideoNote_default.media, "aria-hidden": "true", children: [
34007
+ /* @__PURE__ */ jsxs78("span", { className: VideoNote_default.media, "aria-hidden": "true", children: [
33913
34008
  placeholder.mounted ? /* @__PURE__ */ jsx97(Skeleton, { shape: "block", className: VideoNote_default.fill }) : null,
33914
34009
  /* @__PURE__ */ jsx97(
33915
34010
  "video",
@@ -33952,7 +34047,7 @@ function VideoNoteInner(props) {
33952
34047
  }
33953
34048
  ) }),
33954
34049
  description ? /* @__PURE__ */ jsx97(VisuallyHidden, { id: descriptionId, children: description }) : null,
33955
- shown !== null ? /* @__PURE__ */ jsxs77(
34050
+ shown !== null ? /* @__PURE__ */ jsxs78(
33956
34051
  "span",
33957
34052
  {
33958
34053
  className: cx(textRole_default.caption, mediaPill_default.pill, VideoNote_default.duration),
@@ -34053,7 +34148,7 @@ async function getWaveform(source, bars = WAVEFORM_BARS) {
34053
34148
  }
34054
34149
 
34055
34150
  // src/components/voice-player/VoicePlayer.tsx
34056
- import { jsx as jsx98, jsxs as jsxs78 } from "react/jsx-runtime";
34151
+ import { jsx as jsx98, jsxs as jsxs79 } from "react/jsx-runtime";
34057
34152
  var RATES = [1, 1.5, 2];
34058
34153
  var VOICE_PLAYER_LABELS = {
34059
34154
  player: "\u0413\u043E\u043B\u043E\u0441\u043E\u0432\u043E\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
@@ -34159,7 +34254,7 @@ function VoicePlayer(props) {
34159
34254
  const shownTime = showElapsed ? position : total;
34160
34255
  const rateText = formatRate(rate);
34161
34256
  const open = transcript?.expanded ?? false;
34162
- return /* @__PURE__ */ jsxs78(
34257
+ return /* @__PURE__ */ jsxs79(
34163
34258
  MediaPlayerRoot,
34164
34259
  {
34165
34260
  label: labels.player,
@@ -34177,7 +34272,7 @@ function VoicePlayer(props) {
34177
34272
  ...player.mediaEvents
34178
34273
  }
34179
34274
  ),
34180
- /* @__PURE__ */ jsxs78("div", { className: VoicePlayer_default.row, children: [
34275
+ /* @__PURE__ */ jsxs79("div", { className: VoicePlayer_default.row, children: [
34181
34276
  /* @__PURE__ */ jsx98(
34182
34277
  PlayDisk,
34183
34278
  {
@@ -34190,9 +34285,9 @@ function VoicePlayer(props) {
34190
34285
  onToggle: player.toggle
34191
34286
  }
34192
34287
  ),
34193
- /* @__PURE__ */ jsxs78("div", { className: VoicePlayer_default.body, children: [
34194
- /* @__PURE__ */ jsxs78("div", { className: VoicePlayer_default.waveLine, children: [
34195
- /* @__PURE__ */ jsxs78(
34288
+ /* @__PURE__ */ jsxs79("div", { className: VoicePlayer_default.body, children: [
34289
+ /* @__PURE__ */ jsxs79("div", { className: VoicePlayer_default.waveLine, children: [
34290
+ /* @__PURE__ */ jsxs79(
34196
34291
  "div",
34197
34292
  {
34198
34293
  ref: waveRef,
@@ -34229,7 +34324,7 @@ function VoicePlayer(props) {
34229
34324
  }
34230
34325
  ) : null
34231
34326
  ] }),
34232
- /* @__PURE__ */ jsxs78("div", { className: cx(textRole_default.caption, VoicePlayer_default.meta), children: [
34327
+ /* @__PURE__ */ jsxs79("div", { className: cx(textRole_default.caption, VoicePlayer_default.meta), children: [
34233
34328
  /* @__PURE__ */ jsx98("span", { className: VoicePlayer_default.time, "aria-hidden": "true", children: formatClock(shownTime) }),
34234
34329
  /* @__PURE__ */ jsx98(UnplayedDot, { shown: unplayed }),
34235
34330
  unplayed ? /* @__PURE__ */ jsx98(VisuallyHidden, { children: labels.unplayed }) : null,