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.
- package/README.md +2 -2
- package/THIRD_PARTY_NOTICES +13 -0
- package/dist/chunks/{chunk-6L7VWEY6.js → chunk-BAJRN3QN.js} +2 -2
- package/dist/chunks/{chunk-QFHE5GKW.js → chunk-HMLQCKRL.js} +605 -556
- package/dist/chunks/{chunk-S27VR4ON.js → chunk-JO7E6SZQ.js} +105 -40
- package/dist/chunks/{chunk-S4H2ZKWJ.js → chunk-R5LI5BO3.js} +2150 -1615
- package/dist/chunks/{chunk-IVS3J7AS.js → chunk-SUGCIPD7.js} +1 -1
- package/dist/color-picker.js +3 -3
- package/dist/components/chat-list/ChatList.d.ts +4 -3
- package/dist/components/command-menu/CommandMenu.d.ts +1 -4
- package/dist/components/composer/Composer.d.ts +1 -1
- package/dist/components/data-table/DataTable.d.ts +9 -7
- package/dist/components/data-table/Footer.d.ts +7 -3
- package/dist/components/datepicker/DatepickerPanel.d.ts +2 -2
- package/dist/components/dnd/labels.d.ts +2 -0
- package/dist/components/field-list/FieldList.d.ts +2 -4
- package/dist/components/file-upload/FileUpload.d.ts +1 -9
- package/dist/components/index.d.ts +2 -2
- package/dist/components/kanban/Kanban.d.ts +0 -2
- package/dist/components/list/List.d.ts +7 -1
- package/dist/components/message/Message.d.ts +7 -3
- package/dist/components/message/MessageParts.d.ts +7 -2
- package/dist/components/rich-text/RichText.d.ts +12 -4
- package/dist/components/scroll-container/ScrollContainer.d.ts +1 -1
- package/dist/components/select/selectContext.d.ts +0 -2
- package/dist/components/smart-filter/SmartFilter.d.ts +1 -5
- package/dist/components/sparkline/Sparkline.d.ts +50 -8
- package/dist/components/tag-select/TagSelect.d.ts +0 -2
- package/dist/components/textarea/Textarea.d.ts +1 -1
- package/dist/icon-set.d.ts +6 -1
- package/dist/icon-set.js +10 -2
- package/dist/icons/glyph.d.ts +12 -1
- package/dist/icons/glyphs/app-window.d.ts +2 -0
- package/dist/icons/glyphs/telegram.d.ts +2 -0
- package/dist/icons/glyphs/vk.d.ts +2 -0
- package/dist/icons/glyphs/whatsapp.d.ts +2 -0
- package/dist/icons/registry.d.ts +10 -1
- package/dist/index.css +1 -1
- package/dist/index.js +7 -3
- package/dist/internal/ToolRow.d.ts +3 -1
- package/dist/internal/barPlan.d.ts +7 -1
- package/dist/internal/blockStack.d.ts +7 -0
- package/dist/internal/overlay/DialogParts.d.ts +9 -7
- package/dist/internal/richText.d.ts +32 -1
- package/dist/internal/selectionIndicator.d.ts +9 -3
- package/dist/internal/textFormatting.d.ts +2 -2
- package/dist/layout/page/Page.d.ts +2 -1
- package/dist/skill/SKILL.md +3 -2
- package/dist/skill/api-contract.md +3 -2
- package/dist/skill/cheatsheet.md +1 -1
- package/dist/skill/checklist.md +6 -1
- package/dist/skill/choosing.md +76 -5
- package/dist/skill/components.md +2 -2
- package/dist/skill/composition.md +108 -20
- package/dist/skill/foundations.md +1 -1
- package/dist/skill/layouts.md +4 -4
- package/dist/skill/reference/components/card/COMPONENT.md +1 -1
- package/dist/skill/reference/components/card/examples/screen.tsx +9 -11
- package/dist/skill/reference/components/chat-list/COMPONENT.md +6 -5
- package/dist/skill/reference/components/chat-list/examples/structure.tsx +4 -4
- package/dist/skill/reference/components/command-menu/COMPONENT.md +1 -2
- package/dist/skill/reference/components/command-menu/examples/states.tsx +1 -1
- package/dist/skill/reference/components/composer/COMPONENT.md +5 -4
- package/dist/skill/reference/components/composer/examples/formatting.tsx +1 -1
- package/dist/skill/reference/components/data-table/COMPONENT.md +18 -16
- package/dist/skill/reference/components/data-table/examples/server.tsx +2 -1
- package/dist/skill/reference/components/datepicker/COMPONENT.md +2 -2
- package/dist/skill/reference/components/dnd/COMPONENT.md +2 -1
- package/dist/skill/reference/components/drawer/COMPONENT.md +9 -6
- package/dist/skill/reference/components/drawer/examples/tab-switcher.tsx +158 -0
- package/dist/skill/reference/components/field-list/COMPONENT.md +7 -7
- package/dist/skill/reference/components/field-list/examples/limits.tsx +2 -2
- package/dist/skill/reference/components/file-upload/COMPONENT.md +8 -12
- package/dist/skill/reference/components/file-upload/examples/gallery.tsx +2 -2
- package/dist/skill/reference/components/file-upload/examples/in-form.tsx +2 -4
- package/dist/skill/reference/components/file-upload/examples/narrow.tsx +1 -0
- package/dist/skill/reference/components/file-upload/examples/overview.tsx +1 -5
- package/dist/skill/reference/components/file-upload/examples/sizes.tsx +1 -1
- package/dist/skill/reference/components/file-upload/examples/states.tsx +4 -5
- package/dist/skill/reference/components/file-upload/examples/validation.tsx +2 -7
- package/dist/skill/reference/components/kanban/COMPONENT.md +1 -2
- package/dist/skill/reference/components/list/COMPONENT.md +11 -6
- package/dist/skill/reference/components/list/examples/reorder.tsx +30 -3
- package/dist/skill/reference/components/message/COMPONENT.md +17 -11
- package/dist/skill/reference/components/message/examples/bot-actions.tsx +6 -2
- package/dist/skill/reference/components/message/examples/status.tsx +2 -1
- package/dist/skill/reference/components/message/examples/text-formatting.tsx +13 -3
- package/dist/skill/reference/components/modal/COMPONENT.md +5 -4
- package/dist/skill/reference/components/rich-text/COMPONENT.md +45 -7
- package/dist/skill/reference/components/rich-text/examples/entities.tsx +20 -0
- package/dist/skill/reference/components/scroll-container/COMPONENT.md +5 -5
- package/dist/skill/reference/components/scroll-container/examples/overscroll.tsx +2 -2
- package/dist/skill/reference/components/select/COMPONENT.md +1 -2
- package/dist/skill/reference/components/sheet/COMPONENT.md +5 -4
- package/dist/skill/reference/components/smart-filter/COMPONENT.md +3 -5
- package/dist/skill/reference/components/sparkline/COMPONENT.md +40 -12
- package/dist/skill/reference/components/sparkline/examples/lower-is-better.tsx +46 -0
- package/dist/skill/reference/components/sparkline/examples/own-value.tsx +41 -0
- package/dist/skill/reference/components/sparkline/examples/reference.tsx +2 -1
- package/dist/skill/reference/components/tabs/COMPONENT.md +2 -2
- package/dist/skill/reference/components/tag-select/COMPONENT.md +0 -2
- package/dist/skill/reference/components/tag-select/examples/overview.tsx +0 -1
- package/dist/skill/reference/components/tag-select/examples/sizes.tsx +0 -1
- package/dist/skill/reference/components/textarea/COMPONENT.md +4 -3
- package/dist/skill/reference/icon-set.ts +6 -1
- package/dist/skill/reference/layout/app-shell/COMPONENT.md +1 -1
- package/dist/skill/reference/layout/page/COMPONENT.md +13 -12
- package/dist/skill/reference/layout/page/examples/collapse.tsx +45 -31
- package/dist/skill/reference/layout/page/examples/router.tsx +47 -14
- package/dist/skill/ux.md +79 -2
- package/package.json +1 -1
- package/src/components/card/COMPONENT.md +1 -1
- package/src/components/card/examples/screen.tsx +9 -11
- package/src/components/chat-list/COMPONENT.md +6 -5
- package/src/components/chat-list/examples/structure.tsx +4 -4
- package/src/components/command-menu/COMPONENT.md +1 -2
- package/src/components/command-menu/examples/states.tsx +1 -1
- package/src/components/composer/COMPONENT.md +5 -4
- package/src/components/composer/examples/formatting.tsx +1 -1
- package/src/components/data-table/COMPONENT.md +18 -16
- package/src/components/data-table/examples/server.tsx +2 -1
- package/src/components/datepicker/COMPONENT.md +2 -2
- package/src/components/dnd/COMPONENT.md +2 -1
- package/src/components/drawer/COMPONENT.md +9 -6
- package/src/components/drawer/examples/tab-switcher.tsx +158 -0
- package/src/components/field-list/COMPONENT.md +7 -7
- package/src/components/field-list/examples/limits.tsx +2 -2
- package/src/components/file-upload/COMPONENT.md +8 -12
- package/src/components/file-upload/examples/gallery.tsx +2 -2
- package/src/components/file-upload/examples/in-form.tsx +2 -4
- package/src/components/file-upload/examples/narrow.tsx +1 -0
- package/src/components/file-upload/examples/overview.tsx +1 -5
- package/src/components/file-upload/examples/sizes.tsx +1 -1
- package/src/components/file-upload/examples/states.tsx +4 -5
- package/src/components/file-upload/examples/validation.tsx +2 -7
- package/src/components/kanban/COMPONENT.md +1 -2
- package/src/components/list/COMPONENT.md +11 -6
- package/src/components/list/examples/reorder.tsx +30 -3
- package/src/components/message/COMPONENT.md +17 -11
- package/src/components/message/examples/bot-actions.tsx +6 -2
- package/src/components/message/examples/status.tsx +2 -1
- package/src/components/message/examples/text-formatting.tsx +13 -3
- package/src/components/modal/COMPONENT.md +5 -4
- package/src/components/rich-text/COMPONENT.md +45 -7
- package/src/components/rich-text/examples/entities.tsx +20 -0
- package/src/components/scroll-container/COMPONENT.md +5 -5
- package/src/components/scroll-container/examples/overscroll.tsx +2 -2
- package/src/components/select/COMPONENT.md +1 -2
- package/src/components/sheet/COMPONENT.md +5 -4
- package/src/components/smart-filter/COMPONENT.md +3 -5
- package/src/components/sparkline/COMPONENT.md +40 -12
- package/src/components/sparkline/examples/lower-is-better.tsx +46 -0
- package/src/components/sparkline/examples/own-value.tsx +41 -0
- package/src/components/sparkline/examples/reference.tsx +2 -1
- package/src/components/tabs/COMPONENT.md +2 -2
- package/src/components/tag-select/COMPONENT.md +0 -2
- package/src/components/tag-select/examples/overview.tsx +0 -1
- package/src/components/tag-select/examples/sizes.tsx +0 -1
- package/src/components/textarea/COMPONENT.md +4 -3
- package/src/layout/app-shell/COMPONENT.md +1 -1
- package/src/layout/page/COMPONENT.md +13 -12
- package/src/layout/page/examples/collapse.tsx +45 -31
- 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-
|
|
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")
|
|
513
|
-
|
|
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")
|
|
517
|
-
|
|
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 = "
|
|
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 ?
|
|
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) =>
|
|
3873
|
-
|
|
3874
|
-
{
|
|
3875
|
-
|
|
3876
|
-
style
|
|
3877
|
-
|
|
3878
|
-
}
|
|
3879
|
-
|
|
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
|
-
|
|
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 -
|
|
3980
|
+
const still = root.getBoundingClientRect().width - segment.getBoundingClientRect().width;
|
|
3920
3981
|
const from = Math.max(0, morph.width - still);
|
|
3921
|
-
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
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(
|
|
3943
|
-
|
|
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__ */
|
|
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.
|