prime-ui-kit 0.21.2 → 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 (152) hide show
  1. package/README.md +2 -2
  2. package/THIRD_PARTY_NOTICES +13 -0
  3. package/dist/chunks/{chunk-VQ3UCVDV.js → chunk-BAJRN3QN.js} +2 -2
  4. package/dist/chunks/{chunk-T7IEJSTH.js → chunk-HMLQCKRL.js} +36 -0
  5. package/dist/chunks/{chunk-7JYPFRZ3.js → chunk-JO7E6SZQ.js} +29 -18
  6. package/dist/chunks/{chunk-ME4VEAQ5.js → chunk-R5LI5BO3.js} +2122 -1614
  7. package/dist/chunks/{chunk-SQGPQOUO.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 +5 -1
  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/select/selectContext.d.ts +0 -2
  25. package/dist/components/smart-filter/SmartFilter.d.ts +1 -5
  26. package/dist/components/sparkline/Sparkline.d.ts +50 -8
  27. package/dist/components/tag-select/TagSelect.d.ts +0 -2
  28. package/dist/components/textarea/Textarea.d.ts +1 -1
  29. package/dist/icon-set.d.ts +5 -1
  30. package/dist/icon-set.js +8 -2
  31. package/dist/icons/glyph.d.ts +12 -1
  32. package/dist/icons/glyphs/telegram.d.ts +2 -0
  33. package/dist/icons/glyphs/vk.d.ts +2 -0
  34. package/dist/icons/glyphs/whatsapp.d.ts +2 -0
  35. package/dist/icons/registry.d.ts +8 -1
  36. package/dist/index.css +1 -1
  37. package/dist/index.js +7 -3
  38. package/dist/internal/ToolRow.d.ts +3 -1
  39. package/dist/internal/barPlan.d.ts +7 -1
  40. package/dist/internal/blockStack.d.ts +7 -0
  41. package/dist/internal/overlay/DialogParts.d.ts +8 -6
  42. package/dist/internal/richText.d.ts +32 -1
  43. package/dist/internal/textFormatting.d.ts +2 -2
  44. package/dist/layout/page/Page.d.ts +2 -1
  45. package/dist/skill/SKILL.md +3 -2
  46. package/dist/skill/api-contract.md +2 -1
  47. package/dist/skill/cheatsheet.md +1 -1
  48. package/dist/skill/checklist.md +6 -1
  49. package/dist/skill/choosing.md +76 -5
  50. package/dist/skill/components.md +2 -2
  51. package/dist/skill/composition.md +108 -20
  52. package/dist/skill/foundations.md +1 -1
  53. package/dist/skill/layouts.md +4 -4
  54. package/dist/skill/reference/components/card/COMPONENT.md +1 -1
  55. package/dist/skill/reference/components/card/examples/screen.tsx +9 -11
  56. package/dist/skill/reference/components/chat-list/COMPONENT.md +6 -5
  57. package/dist/skill/reference/components/chat-list/examples/structure.tsx +4 -4
  58. package/dist/skill/reference/components/command-menu/COMPONENT.md +1 -2
  59. package/dist/skill/reference/components/command-menu/examples/states.tsx +1 -1
  60. package/dist/skill/reference/components/composer/COMPONENT.md +5 -4
  61. package/dist/skill/reference/components/composer/examples/formatting.tsx +1 -1
  62. package/dist/skill/reference/components/data-table/COMPONENT.md +17 -16
  63. package/dist/skill/reference/components/data-table/examples/server.tsx +2 -1
  64. package/dist/skill/reference/components/datepicker/COMPONENT.md +2 -2
  65. package/dist/skill/reference/components/dnd/COMPONENT.md +2 -1
  66. package/dist/skill/reference/components/drawer/COMPONENT.md +9 -6
  67. package/dist/skill/reference/components/drawer/examples/tab-switcher.tsx +158 -0
  68. package/dist/skill/reference/components/field-list/COMPONENT.md +7 -7
  69. package/dist/skill/reference/components/field-list/examples/limits.tsx +2 -2
  70. package/dist/skill/reference/components/file-upload/COMPONENT.md +8 -12
  71. package/dist/skill/reference/components/file-upload/examples/gallery.tsx +2 -2
  72. package/dist/skill/reference/components/file-upload/examples/in-form.tsx +2 -4
  73. package/dist/skill/reference/components/file-upload/examples/narrow.tsx +1 -0
  74. package/dist/skill/reference/components/file-upload/examples/overview.tsx +1 -5
  75. package/dist/skill/reference/components/file-upload/examples/sizes.tsx +1 -1
  76. package/dist/skill/reference/components/file-upload/examples/states.tsx +4 -5
  77. package/dist/skill/reference/components/file-upload/examples/validation.tsx +2 -7
  78. package/dist/skill/reference/components/kanban/COMPONENT.md +1 -2
  79. package/dist/skill/reference/components/list/COMPONENT.md +11 -6
  80. package/dist/skill/reference/components/list/examples/reorder.tsx +30 -3
  81. package/dist/skill/reference/components/message/COMPONENT.md +12 -7
  82. package/dist/skill/reference/components/message/examples/status.tsx +2 -1
  83. package/dist/skill/reference/components/message/examples/text-formatting.tsx +13 -3
  84. package/dist/skill/reference/components/modal/COMPONENT.md +5 -4
  85. package/dist/skill/reference/components/rich-text/COMPONENT.md +45 -7
  86. package/dist/skill/reference/components/rich-text/examples/entities.tsx +20 -0
  87. package/dist/skill/reference/components/select/COMPONENT.md +1 -2
  88. package/dist/skill/reference/components/sheet/COMPONENT.md +5 -4
  89. package/dist/skill/reference/components/smart-filter/COMPONENT.md +3 -5
  90. package/dist/skill/reference/components/sparkline/COMPONENT.md +40 -12
  91. package/dist/skill/reference/components/sparkline/examples/lower-is-better.tsx +46 -0
  92. package/dist/skill/reference/components/sparkline/examples/own-value.tsx +41 -0
  93. package/dist/skill/reference/components/sparkline/examples/reference.tsx +2 -1
  94. package/dist/skill/reference/components/tabs/COMPONENT.md +1 -1
  95. package/dist/skill/reference/components/tag-select/COMPONENT.md +0 -2
  96. package/dist/skill/reference/components/tag-select/examples/overview.tsx +0 -1
  97. package/dist/skill/reference/components/tag-select/examples/sizes.tsx +0 -1
  98. package/dist/skill/reference/components/textarea/COMPONENT.md +4 -3
  99. package/dist/skill/reference/icon-set.ts +5 -1
  100. package/dist/skill/reference/layout/page/COMPONENT.md +13 -12
  101. package/dist/skill/reference/layout/page/examples/collapse.tsx +45 -31
  102. package/dist/skill/reference/layout/page/examples/router.tsx +47 -14
  103. package/dist/skill/ux.md +79 -2
  104. package/package.json +1 -1
  105. package/src/components/card/COMPONENT.md +1 -1
  106. package/src/components/card/examples/screen.tsx +9 -11
  107. package/src/components/chat-list/COMPONENT.md +6 -5
  108. package/src/components/chat-list/examples/structure.tsx +4 -4
  109. package/src/components/command-menu/COMPONENT.md +1 -2
  110. package/src/components/command-menu/examples/states.tsx +1 -1
  111. package/src/components/composer/COMPONENT.md +5 -4
  112. package/src/components/composer/examples/formatting.tsx +1 -1
  113. package/src/components/data-table/COMPONENT.md +17 -16
  114. package/src/components/data-table/examples/server.tsx +2 -1
  115. package/src/components/datepicker/COMPONENT.md +2 -2
  116. package/src/components/dnd/COMPONENT.md +2 -1
  117. package/src/components/drawer/COMPONENT.md +9 -6
  118. package/src/components/drawer/examples/tab-switcher.tsx +158 -0
  119. package/src/components/field-list/COMPONENT.md +7 -7
  120. package/src/components/field-list/examples/limits.tsx +2 -2
  121. package/src/components/file-upload/COMPONENT.md +8 -12
  122. package/src/components/file-upload/examples/gallery.tsx +2 -2
  123. package/src/components/file-upload/examples/in-form.tsx +2 -4
  124. package/src/components/file-upload/examples/narrow.tsx +1 -0
  125. package/src/components/file-upload/examples/overview.tsx +1 -5
  126. package/src/components/file-upload/examples/sizes.tsx +1 -1
  127. package/src/components/file-upload/examples/states.tsx +4 -5
  128. package/src/components/file-upload/examples/validation.tsx +2 -7
  129. package/src/components/kanban/COMPONENT.md +1 -2
  130. package/src/components/list/COMPONENT.md +11 -6
  131. package/src/components/list/examples/reorder.tsx +30 -3
  132. package/src/components/message/COMPONENT.md +12 -7
  133. package/src/components/message/examples/status.tsx +2 -1
  134. package/src/components/message/examples/text-formatting.tsx +13 -3
  135. package/src/components/modal/COMPONENT.md +5 -4
  136. package/src/components/rich-text/COMPONENT.md +45 -7
  137. package/src/components/rich-text/examples/entities.tsx +20 -0
  138. package/src/components/select/COMPONENT.md +1 -2
  139. package/src/components/sheet/COMPONENT.md +5 -4
  140. package/src/components/smart-filter/COMPONENT.md +3 -5
  141. package/src/components/sparkline/COMPONENT.md +40 -12
  142. package/src/components/sparkline/examples/lower-is-better.tsx +46 -0
  143. package/src/components/sparkline/examples/own-value.tsx +41 -0
  144. package/src/components/sparkline/examples/reference.tsx +2 -1
  145. package/src/components/tabs/COMPONENT.md +1 -1
  146. package/src/components/tag-select/COMPONENT.md +0 -2
  147. package/src/components/tag-select/examples/overview.tsx +0 -1
  148. package/src/components/tag-select/examples/sizes.tsx +0 -1
  149. package/src/components/textarea/COMPONENT.md +4 -3
  150. package/src/layout/page/COMPONENT.md +13 -12
  151. package/src/layout/page/examples/collapse.tsx +45 -31
  152. package/src/layout/page/examples/router.tsx +47 -14
package/README.md CHANGED
@@ -249,9 +249,9 @@ accessibility, examples and common mistakes.
249
249
  | [**Gantt**](https://github.com/esurkov1/prime-ui/blob/main/src/components/gantt/COMPONENT.md) | A resource or project schedule: rows of people, rooms, vehicles or tasks with bars on a day / week / month axis, edited by pointer and keyboard. |
250
250
  | [**Timeline**](https://github.com/esurkov1/prime-ui/blob/main/src/components/timeline/COMPONENT.md) | An event feed: dots on a thin line, event title and date, an optional amount on the right, grouped under labels. |
251
251
  | [**CodeBlock**](https://github.com/esurkov1/prime-ui/blob/main/src/components/code-block/COMPONENT.md) | A static TypeScript / TSX snippet with syntax highlighting, on a filled panel or bare inside a host. |
252
- | [**RichText**](https://github.com/esurkov1/prime-ui/blob/main/src/components/rich-text/COMPONENT.md) | Text in the chat's Markdown subset outside a message — a bot's welcome text, a template, a comment — rendered as elements, never as HTML. |
252
+ | [**RichText**](https://github.com/esurkov1/prime-ui/blob/main/src/components/rich-text/COMPONENT.md) | Text in the chat's Markdown subset — or a messenger's plain text with its entities — outside a message (a bot's welcome text, a template, a comment), rendered as elements, never as HTML. |
253
253
  | [**Accordion**](https://github.com/esurkov1/prime-ui/blob/main/src/components/accordion/COMPONENT.md) | Collapsible sections: FAQ, settings groups, checkout steps. |
254
- | [**Sparkline**](https://github.com/esurkov1/prime-ui/blob/main/src/components/sparkline/COMPONENT.md) | A small chart — a smooth line over a fading area, a bare line or bars — with its headline: the value at rest, its change and its date; any point can be scrubbed. |
254
+ | [**Sparkline**](https://github.com/esurkov1/prime-ui/blob/main/src/components/sparkline/COMPONENT.md) | A small chart — a smooth line over a fading area, a bare line or bars — with its headline: the value at rest, its date and an optional change; any point can be scrubbed. |
255
255
  | [**ChartFrame**](https://github.com/esurkov1/prime-ui/blob/main/src/components/chart-frame/COMPONENT.md) | A dashboard panel around any chart — Recharts, ECharts, visx, Chart.js or a hand-drawn SVG — with the title, a headline value, a measured plot area, a series legend, a tooltip body and a data table for screen readers. |
256
256
  | [**DescriptionList**](https://github.com/esurkov1/prime-ui/blob/main/src/components/description-list/COMPONENT.md) | Read-only properties of a record: «label — value» pairs on a `<dl>` that stack by themselves where the room is narrow, with a muted dash for an empty value. |
257
257
 
@@ -4,6 +4,8 @@ Third-party notices for prime-ui-kit
4
4
  The kit's icon glyphs (src/icons/glyphs) draw their SVG paths from Lucide, and their gestures
5
5
  are adapted from lucide-animated, rewritten from Motion to CSS keyframes on the kit's motion
6
6
  tokens. Both licenses permit copying, modifying and redistributing with these notices kept.
7
+ The brand marks (src/icons/glyphs/telegram.tsx, vk.tsx, whatsapp.tsx — `brand.*` in the
8
+ registry) draw their SVG paths from Simple Icons, dedicated to the public domain (CC0).
7
9
 
8
10
  -------------------------------------------------------------------------------
9
11
  Lucide — https://lucide.dev — https://github.com/lucide-icons/lucide
@@ -74,3 +76,14 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
74
76
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
75
77
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
76
78
  SOFTWARE.
79
+
80
+ -------------------------------------------------------------------------------
81
+ Simple Icons — https://simpleicons.org — https://github.com/simple-icons/simple-icons
82
+ -------------------------------------------------------------------------------
83
+
84
+ CC0 1.0 Universal (public domain dedication) — https://creativecommons.org/publicdomain/zero/1.0/
85
+
86
+ The SVG paths of the Telegram, VK and WhatsApp marks are copied from simple-icons 16.35.0.
87
+ The marks themselves are trademarks of their respective owners. CC0 covers the drawings, not
88
+ the trademarks: the kit uses them only to refer to the service (a channel, an account, a
89
+ connection) and draws them monochrome in the text colour; it implies no endorsement.
@@ -23,11 +23,11 @@ import {
23
23
  useInheritedDisabled,
24
24
  useLabels,
25
25
  useOpenState
26
- } from "./chunk-7JYPFRZ3.js";
26
+ } from "./chunk-JO7E6SZQ.js";
27
27
  import {
28
28
  cx,
29
29
  useHostTier
30
- } from "./chunk-T7IEJSTH.js";
30
+ } from "./chunk-HMLQCKRL.js";
31
31
 
32
32
  // src/components/color-field/ColorField.tsx
33
33
  import * as React3 from "react";
@@ -358,6 +358,18 @@ function defineGlyph(source, body) {
358
358
  GlyphIcon.displayName = `Glyph(${source})`;
359
359
  return Object.assign(GlyphIcon, { source });
360
360
  }
361
+ function defineBrandGlyph(slug, d, box) {
362
+ return defineGlyph(
363
+ `simple-icons:${slug}`,
364
+ /* @__PURE__ */ jsx2("g", { "data-motion": "tilt", fill: "currentColor", stroke: "none", children: /* @__PURE__ */ jsx2(
365
+ "path",
366
+ {
367
+ transform: `translate(${(24 - box) / 2} ${(24 - box) / 2}) scale(${Number((box / 24).toFixed(4))})`,
368
+ d
369
+ }
370
+ ) })
371
+ );
372
+ }
361
373
 
362
374
  // src/icons/glyphs/activity.tsx
363
375
  import { jsx as jsx3 } from "react/jsx-runtime";
@@ -1546,6 +1558,13 @@ var Tablet = /* @__PURE__ */ defineGlyph(
1546
1558
  ] })
1547
1559
  );
1548
1560
 
1561
+ // src/icons/glyphs/telegram.tsx
1562
+ var Telegram = /* @__PURE__ */ defineBrandGlyph(
1563
+ "telegram",
1564
+ "M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z",
1565
+ 18
1566
+ );
1567
+
1549
1568
  // src/icons/glyphs/text-quote.tsx
1550
1569
  import { Fragment as Fragment54, jsx as jsx103, jsxs as jsxs84 } from "react/jsx-runtime";
1551
1570
  var TextQuote = /* @__PURE__ */ defineGlyph(
@@ -1671,6 +1690,13 @@ var Video = /* @__PURE__ */ defineGlyph(
1671
1690
  ] })
1672
1691
  );
1673
1692
 
1693
+ // src/icons/glyphs/vk.tsx
1694
+ var Vk = /* @__PURE__ */ defineBrandGlyph(
1695
+ "vk",
1696
+ "m9.489.004.729-.003h3.564l.73.003.914.01.433.007.418.011.403.014.388.016.374.021.36.025.345.03.333.033c1.74.196 2.933.616 3.833 1.516.9.9 1.32 2.092 1.516 3.833l.034.333.029.346.025.36.02.373.025.588.012.41.013.644.009.915.004.98-.001 3.313-.003.73-.01.914-.007.433-.011.418-.014.403-.016.388-.021.374-.025.36-.03.345-.033.333c-.196 1.74-.616 2.933-1.516 3.833-.9.9-2.092 1.32-3.833 1.516l-.333.034-.346.029-.36.025-.373.02-.588.025-.41.012-.644.013-.915.009-.98.004-3.313-.001-.73-.003-.914-.01-.433-.007-.418-.011-.403-.014-.388-.016-.374-.021-.36-.025-.345-.03-.333-.033c-1.74-.196-2.933-.616-3.833-1.516-.9-.9-1.32-2.092-1.516-3.833l-.034-.333-.029-.346-.025-.36-.02-.373-.025-.588-.012-.41-.013-.644-.009-.915-.004-.98.001-3.313.003-.73.01-.914.007-.433.011-.418.014-.403.016-.388.021-.374.025-.36.03-.345.033-.333c.196-1.74.616-2.933 1.516-3.833.9-.9 2.092-1.32 3.833-1.516l.333-.034.346-.029.36-.025.373-.02.588-.025.41-.012.644-.013.915-.009ZM6.79 7.3H4.05c.13 6.24 3.25 9.99 8.72 9.99h.31v-3.57c2.01.2 3.53 1.67 4.14 3.57h2.84c-.78-2.84-2.83-4.41-4.11-5.01 1.28-.74 3.08-2.54 3.51-4.98h-2.58c-.56 1.98-2.22 3.78-3.8 3.95V7.3H10.5v6.92c-1.6-.4-3.62-2.34-3.71-6.92Z",
1697
+ 18
1698
+ );
1699
+
1674
1700
  // src/icons/glyphs/volume-2.tsx
1675
1701
  import { Fragment as Fragment62, jsx as jsx113, jsxs as jsxs94 } from "react/jsx-runtime";
1676
1702
  var Volume2 = /* @__PURE__ */ defineGlyph(
@@ -1720,6 +1746,13 @@ var Wallet = /* @__PURE__ */ defineGlyph(
1720
1746
  ] })
1721
1747
  );
1722
1748
 
1749
+ // src/icons/glyphs/whatsapp.tsx
1750
+ var Whatsapp = /* @__PURE__ */ defineBrandGlyph(
1751
+ "whatsapp",
1752
+ "M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z",
1753
+ 20
1754
+ );
1755
+
1723
1756
  // src/icons/glyphs/x.tsx
1724
1757
  import { jsx as jsx116, jsxs as jsxs97 } from "react/jsx-runtime";
1725
1758
  var X = /* @__PURE__ */ defineGlyph(
@@ -1883,6 +1916,7 @@ export {
1883
1916
  Strikethrough,
1884
1917
  Sun,
1885
1918
  Tablet,
1919
+ Telegram,
1886
1920
  TextQuote,
1887
1921
  Trash2,
1888
1922
  TriangleAlert,
@@ -1893,9 +1927,11 @@ export {
1893
1927
  UserRound,
1894
1928
  Users,
1895
1929
  Video,
1930
+ Vk,
1896
1931
  Volume2,
1897
1932
  VolumeX,
1898
1933
  Wallet,
1934
+ Whatsapp,
1899
1935
  X,
1900
1936
  ZoomIn,
1901
1937
  ZoomOut
@@ -104,6 +104,7 @@ import {
104
104
  Sun,
105
105
  TOKEN_DEFAULTS,
106
106
  Tablet,
107
+ Telegram,
107
108
  TextQuote,
108
109
  Trash2,
109
110
  TriangleAlert,
@@ -114,9 +115,11 @@ import {
114
115
  UserRound,
115
116
  Users,
116
117
  Video,
118
+ Vk,
117
119
  Volume2,
118
120
  VolumeX,
119
121
  Wallet,
122
+ Whatsapp,
120
123
  X,
121
124
  ZoomIn,
122
125
  ZoomOut,
@@ -140,7 +143,7 @@ import {
140
143
  useIconRoot,
141
144
  useOptionalControlSize,
142
145
  usePresence
143
- } from "./chunk-T7IEJSTH.js";
146
+ } from "./chunk-HMLQCKRL.js";
144
147
 
145
148
  // src/components/scroll-container/ScrollContainer.tsx
146
149
  import * as React9 from "react";
@@ -510,24 +513,30 @@ function useEdgeOverflow(ref, axis, depth = false) {
510
513
  // src/hooks/useMergedRefs.ts
511
514
  import * as React4 from "react";
512
515
  function assignRef(ref, value) {
513
- if (typeof ref === "function") ref(value);
514
- 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;
515
522
  }
516
- function releaseRef(ref, node) {
517
- if (typeof ref === "function") ref(null);
518
- 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;
519
528
  }
520
529
  function useMergedRefs(a, b, c) {
521
530
  return React4.useCallback(
522
531
  (value) => {
523
- assignRef(a, value);
524
- assignRef(b, value);
525
- assignRef(c, value);
526
532
  if (value === null) return;
533
+ const cleanupA = assignRef(a, value);
534
+ const cleanupB = assignRef(b, value);
535
+ const cleanupC = assignRef(c, value);
527
536
  return () => {
528
- releaseRef(a, value);
529
- releaseRef(b, value);
530
- releaseRef(c, value);
537
+ releaseRef(a, value, cleanupA);
538
+ releaseRef(b, value, cleanupB);
539
+ releaseRef(c, value, cleanupC);
531
540
  };
532
541
  },
533
542
  [a, b, c]
@@ -2929,7 +2938,13 @@ var iconRegistry = {
2929
2938
  "view.preview": Eye,
2930
2939
  "viewport.desktop": Monitor,
2931
2940
  "viewport.mobile": Smartphone,
2932
- "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
2933
2948
  };
2934
2949
 
2935
2950
  // src/icons/Icon.tsx
@@ -7992,7 +8007,6 @@ import { Fragment as Fragment16, jsx as jsx41, jsxs as jsxs26 } from "react/jsx-
7992
8007
  var SELECT_LABELS = {
7993
8008
  search: "\u041F\u043E\u0438\u0441\u043A",
7994
8009
  empty: "\u041D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",
7995
- 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",
7996
8010
  loading: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u2026",
7997
8011
  retry: "\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",
7998
8012
  clear: "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",
@@ -8546,10 +8560,7 @@ function SelectContent({ searchable = false, className, children, ...rest }) {
8546
8560
  ]
8547
8561
  }
8548
8562
  ),
8549
- region === "ready" && isEmpty ? /* @__PURE__ */ jsxs26(EmptyPage.Root, { layout: "compact", size, role: "status", children: [
8550
- /* @__PURE__ */ jsx41(EmptyPage.Title, { as: "p", children: labels.empty }),
8551
- query !== "" && labels.emptyHint ? /* @__PURE__ */ jsx41(EmptyPage.Description, { children: labels.emptyHint }) : null
8552
- ] }) : 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,
8553
8564
  actions.length > 0 ? (
8554
8565
  // Owned by the listbox (`aria-owns`): its options for assistive tech, pinned under
8555
8566
  // the scroller and the empty state for the eye.