prime-ui-kit 0.21.1 → 0.21.3

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 (163) hide show
  1. package/README.md +2 -2
  2. package/THIRD_PARTY_NOTICES +13 -0
  3. package/dist/chunks/{chunk-6L7VWEY6.js → chunk-BAJRN3QN.js} +2 -2
  4. package/dist/chunks/{chunk-QFHE5GKW.js → chunk-HMLQCKRL.js} +605 -556
  5. package/dist/chunks/{chunk-S27VR4ON.js → chunk-JO7E6SZQ.js} +105 -40
  6. package/dist/chunks/{chunk-S4H2ZKWJ.js → chunk-R5LI5BO3.js} +2150 -1615
  7. package/dist/chunks/{chunk-IVS3J7AS.js → chunk-SUGCIPD7.js} +1 -1
  8. package/dist/color-picker.js +3 -3
  9. package/dist/components/chat-list/ChatList.d.ts +4 -3
  10. package/dist/components/command-menu/CommandMenu.d.ts +1 -4
  11. package/dist/components/composer/Composer.d.ts +1 -1
  12. package/dist/components/data-table/DataTable.d.ts +9 -7
  13. package/dist/components/data-table/Footer.d.ts +7 -3
  14. package/dist/components/datepicker/DatepickerPanel.d.ts +2 -2
  15. package/dist/components/dnd/labels.d.ts +2 -0
  16. package/dist/components/field-list/FieldList.d.ts +2 -4
  17. package/dist/components/file-upload/FileUpload.d.ts +1 -9
  18. package/dist/components/index.d.ts +2 -2
  19. package/dist/components/kanban/Kanban.d.ts +0 -2
  20. package/dist/components/list/List.d.ts +7 -1
  21. package/dist/components/message/Message.d.ts +7 -3
  22. package/dist/components/message/MessageParts.d.ts +7 -2
  23. package/dist/components/rich-text/RichText.d.ts +12 -4
  24. package/dist/components/scroll-container/ScrollContainer.d.ts +1 -1
  25. package/dist/components/select/selectContext.d.ts +0 -2
  26. package/dist/components/smart-filter/SmartFilter.d.ts +1 -5
  27. package/dist/components/sparkline/Sparkline.d.ts +50 -8
  28. package/dist/components/tag-select/TagSelect.d.ts +0 -2
  29. package/dist/components/textarea/Textarea.d.ts +1 -1
  30. package/dist/icon-set.d.ts +6 -1
  31. package/dist/icon-set.js +10 -2
  32. package/dist/icons/glyph.d.ts +12 -1
  33. package/dist/icons/glyphs/app-window.d.ts +2 -0
  34. package/dist/icons/glyphs/telegram.d.ts +2 -0
  35. package/dist/icons/glyphs/vk.d.ts +2 -0
  36. package/dist/icons/glyphs/whatsapp.d.ts +2 -0
  37. package/dist/icons/registry.d.ts +10 -1
  38. package/dist/index.css +1 -1
  39. package/dist/index.js +7 -3
  40. package/dist/internal/ToolRow.d.ts +3 -1
  41. package/dist/internal/barPlan.d.ts +7 -1
  42. package/dist/internal/blockStack.d.ts +7 -0
  43. package/dist/internal/overlay/DialogParts.d.ts +9 -7
  44. package/dist/internal/richText.d.ts +32 -1
  45. package/dist/internal/selectionIndicator.d.ts +9 -3
  46. package/dist/internal/textFormatting.d.ts +2 -2
  47. package/dist/layout/page/Page.d.ts +2 -1
  48. package/dist/skill/SKILL.md +3 -2
  49. package/dist/skill/api-contract.md +3 -2
  50. package/dist/skill/cheatsheet.md +1 -1
  51. package/dist/skill/checklist.md +6 -1
  52. package/dist/skill/choosing.md +76 -5
  53. package/dist/skill/components.md +2 -2
  54. package/dist/skill/composition.md +108 -20
  55. package/dist/skill/foundations.md +1 -1
  56. package/dist/skill/layouts.md +4 -4
  57. package/dist/skill/reference/components/card/COMPONENT.md +1 -1
  58. package/dist/skill/reference/components/card/examples/screen.tsx +9 -11
  59. package/dist/skill/reference/components/chat-list/COMPONENT.md +6 -5
  60. package/dist/skill/reference/components/chat-list/examples/structure.tsx +4 -4
  61. package/dist/skill/reference/components/command-menu/COMPONENT.md +1 -2
  62. package/dist/skill/reference/components/command-menu/examples/states.tsx +1 -1
  63. package/dist/skill/reference/components/composer/COMPONENT.md +5 -4
  64. package/dist/skill/reference/components/composer/examples/formatting.tsx +1 -1
  65. package/dist/skill/reference/components/data-table/COMPONENT.md +18 -16
  66. package/dist/skill/reference/components/data-table/examples/server.tsx +2 -1
  67. package/dist/skill/reference/components/datepicker/COMPONENT.md +2 -2
  68. package/dist/skill/reference/components/dnd/COMPONENT.md +2 -1
  69. package/dist/skill/reference/components/drawer/COMPONENT.md +9 -6
  70. package/dist/skill/reference/components/drawer/examples/tab-switcher.tsx +158 -0
  71. package/dist/skill/reference/components/field-list/COMPONENT.md +7 -7
  72. package/dist/skill/reference/components/field-list/examples/limits.tsx +2 -2
  73. package/dist/skill/reference/components/file-upload/COMPONENT.md +8 -12
  74. package/dist/skill/reference/components/file-upload/examples/gallery.tsx +2 -2
  75. package/dist/skill/reference/components/file-upload/examples/in-form.tsx +2 -4
  76. package/dist/skill/reference/components/file-upload/examples/narrow.tsx +1 -0
  77. package/dist/skill/reference/components/file-upload/examples/overview.tsx +1 -5
  78. package/dist/skill/reference/components/file-upload/examples/sizes.tsx +1 -1
  79. package/dist/skill/reference/components/file-upload/examples/states.tsx +4 -5
  80. package/dist/skill/reference/components/file-upload/examples/validation.tsx +2 -7
  81. package/dist/skill/reference/components/kanban/COMPONENT.md +1 -2
  82. package/dist/skill/reference/components/list/COMPONENT.md +11 -6
  83. package/dist/skill/reference/components/list/examples/reorder.tsx +30 -3
  84. package/dist/skill/reference/components/message/COMPONENT.md +17 -11
  85. package/dist/skill/reference/components/message/examples/bot-actions.tsx +6 -2
  86. package/dist/skill/reference/components/message/examples/status.tsx +2 -1
  87. package/dist/skill/reference/components/message/examples/text-formatting.tsx +13 -3
  88. package/dist/skill/reference/components/modal/COMPONENT.md +5 -4
  89. package/dist/skill/reference/components/rich-text/COMPONENT.md +45 -7
  90. package/dist/skill/reference/components/rich-text/examples/entities.tsx +20 -0
  91. package/dist/skill/reference/components/scroll-container/COMPONENT.md +5 -5
  92. package/dist/skill/reference/components/scroll-container/examples/overscroll.tsx +2 -2
  93. package/dist/skill/reference/components/select/COMPONENT.md +1 -2
  94. package/dist/skill/reference/components/sheet/COMPONENT.md +5 -4
  95. package/dist/skill/reference/components/smart-filter/COMPONENT.md +3 -5
  96. package/dist/skill/reference/components/sparkline/COMPONENT.md +40 -12
  97. package/dist/skill/reference/components/sparkline/examples/lower-is-better.tsx +46 -0
  98. package/dist/skill/reference/components/sparkline/examples/own-value.tsx +41 -0
  99. package/dist/skill/reference/components/sparkline/examples/reference.tsx +2 -1
  100. package/dist/skill/reference/components/tabs/COMPONENT.md +2 -2
  101. package/dist/skill/reference/components/tag-select/COMPONENT.md +0 -2
  102. package/dist/skill/reference/components/tag-select/examples/overview.tsx +0 -1
  103. package/dist/skill/reference/components/tag-select/examples/sizes.tsx +0 -1
  104. package/dist/skill/reference/components/textarea/COMPONENT.md +4 -3
  105. package/dist/skill/reference/icon-set.ts +6 -1
  106. package/dist/skill/reference/layout/app-shell/COMPONENT.md +1 -1
  107. package/dist/skill/reference/layout/page/COMPONENT.md +13 -12
  108. package/dist/skill/reference/layout/page/examples/collapse.tsx +45 -31
  109. package/dist/skill/reference/layout/page/examples/router.tsx +47 -14
  110. package/dist/skill/ux.md +79 -2
  111. package/package.json +1 -1
  112. package/src/components/card/COMPONENT.md +1 -1
  113. package/src/components/card/examples/screen.tsx +9 -11
  114. package/src/components/chat-list/COMPONENT.md +6 -5
  115. package/src/components/chat-list/examples/structure.tsx +4 -4
  116. package/src/components/command-menu/COMPONENT.md +1 -2
  117. package/src/components/command-menu/examples/states.tsx +1 -1
  118. package/src/components/composer/COMPONENT.md +5 -4
  119. package/src/components/composer/examples/formatting.tsx +1 -1
  120. package/src/components/data-table/COMPONENT.md +18 -16
  121. package/src/components/data-table/examples/server.tsx +2 -1
  122. package/src/components/datepicker/COMPONENT.md +2 -2
  123. package/src/components/dnd/COMPONENT.md +2 -1
  124. package/src/components/drawer/COMPONENT.md +9 -6
  125. package/src/components/drawer/examples/tab-switcher.tsx +158 -0
  126. package/src/components/field-list/COMPONENT.md +7 -7
  127. package/src/components/field-list/examples/limits.tsx +2 -2
  128. package/src/components/file-upload/COMPONENT.md +8 -12
  129. package/src/components/file-upload/examples/gallery.tsx +2 -2
  130. package/src/components/file-upload/examples/in-form.tsx +2 -4
  131. package/src/components/file-upload/examples/narrow.tsx +1 -0
  132. package/src/components/file-upload/examples/overview.tsx +1 -5
  133. package/src/components/file-upload/examples/sizes.tsx +1 -1
  134. package/src/components/file-upload/examples/states.tsx +4 -5
  135. package/src/components/file-upload/examples/validation.tsx +2 -7
  136. package/src/components/kanban/COMPONENT.md +1 -2
  137. package/src/components/list/COMPONENT.md +11 -6
  138. package/src/components/list/examples/reorder.tsx +30 -3
  139. package/src/components/message/COMPONENT.md +17 -11
  140. package/src/components/message/examples/bot-actions.tsx +6 -2
  141. package/src/components/message/examples/status.tsx +2 -1
  142. package/src/components/message/examples/text-formatting.tsx +13 -3
  143. package/src/components/modal/COMPONENT.md +5 -4
  144. package/src/components/rich-text/COMPONENT.md +45 -7
  145. package/src/components/rich-text/examples/entities.tsx +20 -0
  146. package/src/components/scroll-container/COMPONENT.md +5 -5
  147. package/src/components/scroll-container/examples/overscroll.tsx +2 -2
  148. package/src/components/select/COMPONENT.md +1 -2
  149. package/src/components/sheet/COMPONENT.md +5 -4
  150. package/src/components/smart-filter/COMPONENT.md +3 -5
  151. package/src/components/sparkline/COMPONENT.md +40 -12
  152. package/src/components/sparkline/examples/lower-is-better.tsx +46 -0
  153. package/src/components/sparkline/examples/own-value.tsx +41 -0
  154. package/src/components/sparkline/examples/reference.tsx +2 -1
  155. package/src/components/tabs/COMPONENT.md +2 -2
  156. package/src/components/tag-select/COMPONENT.md +0 -2
  157. package/src/components/tag-select/examples/overview.tsx +0 -1
  158. package/src/components/tag-select/examples/sizes.tsx +0 -1
  159. package/src/components/textarea/COMPONENT.md +4 -3
  160. package/src/layout/app-shell/COMPONENT.md +1 -1
  161. package/src/layout/page/COMPONENT.md +13 -12
  162. package/src/layout/page/examples/collapse.tsx +45 -31
  163. package/src/layout/page/examples/router.tsx +47 -14
@@ -2,6 +2,7 @@
2
2
 
3
3
  import {
4
4
  Activity,
5
+ AppWindow,
5
6
  ArrowDown,
6
7
  ArrowUp,
7
8
  ArrowUpDown,
@@ -103,6 +104,7 @@ import {
103
104
  Sun,
104
105
  TOKEN_DEFAULTS,
105
106
  Tablet,
107
+ Telegram,
106
108
  TextQuote,
107
109
  Trash2,
108
110
  TriangleAlert,
@@ -113,9 +115,11 @@ import {
113
115
  UserRound,
114
116
  Users,
115
117
  Video,
118
+ Vk,
116
119
  Volume2,
117
120
  VolumeX,
118
121
  Wallet,
122
+ Whatsapp,
119
123
  X,
120
124
  ZoomIn,
121
125
  ZoomOut,
@@ -139,7 +143,7 @@ import {
139
143
  useIconRoot,
140
144
  useOptionalControlSize,
141
145
  usePresence
142
- } from "./chunk-QFHE5GKW.js";
146
+ } from "./chunk-HMLQCKRL.js";
143
147
 
144
148
  // src/components/scroll-container/ScrollContainer.tsx
145
149
  import * as React9 from "react";
@@ -509,24 +513,30 @@ function useEdgeOverflow(ref, axis, depth = false) {
509
513
  // src/hooks/useMergedRefs.ts
510
514
  import * as React4 from "react";
511
515
  function assignRef(ref, value) {
512
- if (typeof ref === "function") ref(value);
513
- else if (ref) ref.current = value;
516
+ if (typeof ref === "function") {
517
+ const cleanup = ref(value);
518
+ return typeof cleanup === "function" ? cleanup : void 0;
519
+ }
520
+ if (ref) ref.current = value;
521
+ return void 0;
514
522
  }
515
- function releaseRef(ref, node) {
516
- if (typeof ref === "function") ref(null);
517
- else if (ref && ref.current === node) ref.current = null;
523
+ function releaseRef(ref, node, cleanup) {
524
+ if (typeof ref === "function") {
525
+ if (cleanup) cleanup();
526
+ else ref(null);
527
+ } else if (ref && ref.current === node) ref.current = null;
518
528
  }
519
529
  function useMergedRefs(a, b, c) {
520
530
  return React4.useCallback(
521
531
  (value) => {
522
- assignRef(a, value);
523
- assignRef(b, value);
524
- assignRef(c, value);
525
532
  if (value === null) return;
533
+ const cleanupA = assignRef(a, value);
534
+ const cleanupB = assignRef(b, value);
535
+ const cleanupC = assignRef(c, value);
526
536
  return () => {
527
- releaseRef(a, value);
528
- releaseRef(b, value);
529
- releaseRef(c, value);
537
+ releaseRef(a, value, cleanupA);
538
+ releaseRef(b, value, cleanupB);
539
+ releaseRef(c, value, cleanupC);
530
540
  };
531
541
  },
532
542
  [a, b, c]
@@ -1208,7 +1218,7 @@ var axisClass = {
1208
1218
  function ScrollContainer({
1209
1219
  as: Component = "div",
1210
1220
  axis = "vertical",
1211
- overscrollBehavior = "contain",
1221
+ overscrollBehavior = "auto",
1212
1222
  edges = "fade",
1213
1223
  scrollbar = "thin",
1214
1224
  lock = false,
@@ -2276,7 +2286,10 @@ function FloatingPanel({
2276
2286
  }
2277
2287
  };
2278
2288
  const panelRef = sheet ? ref : mergedRef;
2279
- const panel = scroll ? /* @__PURE__ */ jsx7(ScrollContainer, { ...props, edges: "shadow", ref: panelRef, children }) : /* @__PURE__ */ jsx7("div", { ...props, ref: panelRef, children });
2289
+ const panel = scroll ? (
2290
+ // An open layer: a touch scroll at its end never moves the page (the wheel: `useContainScroll`).
2291
+ /* @__PURE__ */ jsx7(ScrollContainer, { ...props, edges: "shadow", overscrollBehavior: "contain", ref: panelRef, children })
2292
+ ) : /* @__PURE__ */ jsx7("div", { ...props, ref: panelRef, children });
2280
2293
  return /* @__PURE__ */ jsx7(Portal, { children: /* @__PURE__ */ jsx7(LayerProvider, { value: floating.layer, children: /* @__PURE__ */ jsx7(SurfaceDepthProvider, { value: "floating", children: /* @__PURE__ */ jsx7(ControlSizeProvider, { value: size, children: sheet ? /* @__PURE__ */ jsxs3(Fragment2, { children: [
2281
2294
  /* @__PURE__ */ jsx7(
2282
2295
  "div",
@@ -2817,6 +2830,8 @@ var iconRegistry = {
2817
2830
  "action.login": LogIn,
2818
2831
  "action.logout": LogOut,
2819
2832
  "action.more": Ellipsis,
2833
+ /** Open a page of this product (a bot key's web app); `action.externalLink` leaves it. */
2834
+ "action.openApp": AppWindow,
2820
2835
  "action.pause": Pause,
2821
2836
  /** Pin a message or an item to the top. */
2822
2837
  "action.pin": Pin,
@@ -2923,7 +2938,13 @@ var iconRegistry = {
2923
2938
  "view.preview": Eye,
2924
2939
  "viewport.desktop": Monitor,
2925
2940
  "viewport.mobile": Smartphone,
2926
- "viewport.tablet": Tablet
2941
+ "viewport.tablet": Tablet,
2942
+ /** A channel or account on Telegram (a filter, a connect choice). */
2943
+ "brand.telegram": Telegram,
2944
+ /** A channel or account on VK. */
2945
+ "brand.vk": Vk,
2946
+ /** A channel or account on WhatsApp. */
2947
+ "brand.whatsapp": Whatsapp
2927
2948
  };
2928
2949
 
2929
2950
  // src/icons/Icon.tsx
@@ -3868,16 +3889,39 @@ function splitChange(from, to) {
3868
3889
  function digitsOnly(a, b) {
3869
3890
  return a.replace(/\d/g, "") === b.replace(/\d/g, "");
3870
3891
  }
3871
- function letters(text, kind) {
3872
- return [...text].map((char, i) => /* @__PURE__ */ jsx14(
3873
- "span",
3874
- {
3875
- className: cx(MorphText_default.letter, kind === "in" ? MorphText_default.letterIn : MorphText_default.letterOut),
3876
- style: { "--morph-i": i },
3877
- children: char
3878
- },
3879
- i
3880
- ));
3892
+ function letters(text, kind, poses) {
3893
+ return [...text].map((char, i) => {
3894
+ const pose = poses?.[i];
3895
+ const style = { "--morph-i": i };
3896
+ if (pose) {
3897
+ style["--morph-opacity"] = pose.opacity;
3898
+ style["--morph-y"] = `${pose.y}px`;
3899
+ }
3900
+ return /* @__PURE__ */ jsx14(
3901
+ "span",
3902
+ {
3903
+ className: cx(MorphText_default.letter, kind === "in" ? MorphText_default.letterIn : MorphText_default.letterOut),
3904
+ style,
3905
+ children: char
3906
+ },
3907
+ i
3908
+ );
3909
+ });
3910
+ }
3911
+ function readPoses(layer) {
3912
+ if (!layer) return [];
3913
+ return Array.from(layer.children, (letter) => {
3914
+ const computed = getComputedStyle(letter);
3915
+ const opacity = Number.parseFloat(computed.opacity);
3916
+ if (Number.isNaN(opacity)) return void 0;
3917
+ const transform = computed.transform;
3918
+ const y = transform && transform !== "none" && typeof DOMMatrixReadOnly === "function" ? new DOMMatrixReadOnly(transform).m42 : 0;
3919
+ return { opacity, y };
3920
+ });
3921
+ }
3922
+ function posesOf(label, running, layerPoses) {
3923
+ const head = [...splitChange(running.from, running.to).prefix].length;
3924
+ return [...label].map((_, i) => layerPoses[i - head]);
3881
3925
  }
3882
3926
  function settleMs(text) {
3883
3927
  const base = readCssDurationMs("--prime-motion-duration-base");
@@ -3888,6 +3932,8 @@ function MorphText({ children: text, className }) {
3888
3932
  const rootRef = React36.useRef(null);
3889
3933
  const segmentRef = React36.useRef(null);
3890
3934
  const sizerRef = React36.useRef(null);
3935
+ const outLayerRef = React36.useRef(null);
3936
+ const inLayerRef = React36.useRef(null);
3891
3937
  const prevText = React36.useRef(null);
3892
3938
  const restWidth = React36.useRef(null);
3893
3939
  const nextId = React36.useRef(0);
@@ -3904,9 +3950,24 @@ function MorphText({ children: text, className }) {
3904
3950
  return;
3905
3951
  }
3906
3952
  const running = morphRef.current;
3907
- const width = running ? root.getBoundingClientRect().width : restWidth.current?.width ?? 0;
3908
3953
  nextId.current += 1;
3909
- setMorph({ id: nextId.current, from: running ? running.to : prev, to: text, width });
3954
+ if (!running) {
3955
+ setMorph({ id: nextId.current, from: prev, to: text, width: restWidth.current?.width ?? 0 });
3956
+ return;
3957
+ }
3958
+ const from = running.to;
3959
+ const change2 = splitChange(from, text);
3960
+ const head = [...change2.prefix].length;
3961
+ const arriving = posesOf(from, running, readPoses(inLayerRef.current));
3962
+ const leaving = posesOf(running.from, running, readPoses(outLayerRef.current));
3963
+ setMorph({
3964
+ id: nextId.current,
3965
+ from,
3966
+ to: text,
3967
+ width: root.getBoundingClientRect().width,
3968
+ outPoses: arriving.slice(head, head + [...change2.out].length),
3969
+ inPoses: text === running.from ? leaving.slice(head, head + [...change2.in].length) : void 0
3970
+ });
3910
3971
  }, [text]);
3911
3972
  const change = morph ? splitChange(morph.from, morph.to) : null;
3912
3973
  React36.useLayoutEffect(() => {
@@ -3916,13 +3977,13 @@ function MorphText({ children: text, className }) {
3916
3977
  const sizer = sizerRef.current;
3917
3978
  if (!root || !segment || !sizer) return;
3918
3979
  const target = sizer.getBoundingClientRect().width;
3919
- const still = root.getBoundingClientRect().width - target;
3980
+ const still = root.getBoundingClientRect().width - segment.getBoundingClientRect().width;
3920
3981
  const from = Math.max(0, morph.width - still);
3921
- if (target !== from) {
3922
- segment.style.width = `${from}px`;
3923
- segment.getBoundingClientRect();
3924
- segment.style.width = `${target}px`;
3925
- }
3982
+ segment.style.transition = "none";
3983
+ segment.style.width = `${from}px`;
3984
+ segment.getBoundingClientRect();
3985
+ segment.style.transition = "";
3986
+ segment.style.width = `${target}px`;
3926
3987
  const changed = splitChange(morph.from, morph.to);
3927
3988
  const longest = changed.in.length > changed.out.length ? changed.in : changed.out;
3928
3989
  const timer = window.setTimeout(() => setMorph(null), settleMs(longest));
@@ -3939,8 +4000,16 @@ function MorphText({ children: text, className }) {
3939
4000
  /* @__PURE__ */ jsx14("span", { "aria-hidden": "true", children: change.prefix }),
3940
4001
  /* @__PURE__ */ jsxs8("span", { ref: segmentRef, className: MorphText_default.segment, "aria-hidden": "true", children: [
3941
4002
  /* @__PURE__ */ jsx14("span", { ref: sizerRef, className: MorphText_default.sizer, children: change.in }),
3942
- /* @__PURE__ */ jsx14("span", { className: cx(MorphText_default.layer, MorphText_default.layerOut), children: letters(change.out, "out") }, `out-${morph.id}`),
3943
- /* @__PURE__ */ jsx14("span", { className: cx(MorphText_default.layer, MorphText_default.layerIn), children: letters(change.in, "in") }, `in-${morph.id}`)
4003
+ /* @__PURE__ */ jsx14(
4004
+ "span",
4005
+ {
4006
+ ref: outLayerRef,
4007
+ className: cx(MorphText_default.layer, MorphText_default.layerOut),
4008
+ children: letters(change.out, "out", morph.outPoses)
4009
+ },
4010
+ `out-${morph.id}`
4011
+ ),
4012
+ /* @__PURE__ */ jsx14("span", { ref: inLayerRef, className: cx(MorphText_default.layer, MorphText_default.layerIn), children: letters(change.in, "in", morph.inPoses) }, `in-${morph.id}`)
3944
4013
  ] }),
3945
4014
  /* @__PURE__ */ jsx14("span", { "aria-hidden": "true", children: change.suffix }),
3946
4015
  /* @__PURE__ */ jsx14(VisuallyHidden, { children: morph.to })
@@ -7938,7 +8007,6 @@ import { Fragment as Fragment16, jsx as jsx41, jsxs as jsxs26 } from "react/jsx-
7938
8007
  var SELECT_LABELS = {
7939
8008
  search: "\u041F\u043E\u0438\u0441\u043A",
7940
8009
  empty: "\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",
7941
- emptyHint: "\u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0437\u0430\u043F\u0440\u043E\u0441",
7942
8010
  loading: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u2026",
7943
8011
  retry: "\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",
7944
8012
  clear: "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",
@@ -8492,10 +8560,7 @@ function SelectContent({ searchable = false, className, children, ...rest }) {
8492
8560
  ]
8493
8561
  }
8494
8562
  ),
8495
- region === "ready" && isEmpty ? /* @__PURE__ */ jsxs26(EmptyPage.Root, { layout: "compact", size, role: "status", children: [
8496
- /* @__PURE__ */ jsx41(EmptyPage.Title, { as: "p", children: labels.empty }),
8497
- query !== "" && labels.emptyHint ? /* @__PURE__ */ jsx41(EmptyPage.Description, { children: labels.emptyHint }) : null
8498
- ] }) : null,
8563
+ region === "ready" && isEmpty ? /* @__PURE__ */ jsx41(EmptyPage.Root, { layout: "compact", size, role: "status", children: /* @__PURE__ */ jsx41(EmptyPage.Title, { as: "p", children: labels.empty }) }) : null,
8499
8564
  actions.length > 0 ? (
8500
8565
  // Owned by the listbox (`aria-owns`): its options for assistive tech, pinned under
8501
8566
  // the scroller and the empty state for the eye.