@sesionario/blocks 1.41.0-rc.5 → 1.41.0-rc.7
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/dist/index.cjs +34 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -4
- package/dist/index.d.ts +13 -4
- package/dist/index.js +34 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -5618,6 +5618,7 @@ function matchesQuery(entry, query, getOptionKeywords) {
|
|
|
5618
5618
|
function SearchablePicker(props) {
|
|
5619
5619
|
const {
|
|
5620
5620
|
options,
|
|
5621
|
+
selectedItems: selectedItemsProp,
|
|
5621
5622
|
fetchOptions,
|
|
5622
5623
|
getOptionValue,
|
|
5623
5624
|
getOptionLabel,
|
|
@@ -5676,11 +5677,16 @@ function SearchablePicker(props) {
|
|
|
5676
5677
|
},
|
|
5677
5678
|
[getOptionValue]
|
|
5678
5679
|
);
|
|
5680
|
+
if (options?.length) rememberItems(options);
|
|
5681
|
+
if (selectedItemsProp?.length) rememberItems(selectedItemsProp);
|
|
5682
|
+
if (pinned?.recommended?.length) rememberItems(pinned.recommended);
|
|
5683
|
+
if (pinned?.recent?.length) rememberItems(pinned.recent);
|
|
5679
5684
|
React2.useEffect(() => {
|
|
5680
5685
|
if (options) rememberItems(options);
|
|
5686
|
+
if (selectedItemsProp) rememberItems(selectedItemsProp);
|
|
5681
5687
|
if (pinned?.recommended) rememberItems(pinned.recommended);
|
|
5682
5688
|
if (pinned?.recent) rememberItems(pinned.recent);
|
|
5683
|
-
}, [options, pinned, rememberItems]);
|
|
5689
|
+
}, [options, selectedItemsProp, pinned, rememberItems]);
|
|
5684
5690
|
React2.useEffect(() => {
|
|
5685
5691
|
if (!open) {
|
|
5686
5692
|
setQuery("");
|
|
@@ -5728,7 +5734,7 @@ function SearchablePicker(props) {
|
|
|
5728
5734
|
const selectedItems = React2.useMemo(() => {
|
|
5729
5735
|
const values = mode === "multiple" ? selectedValueKey ? selectedValueKey.split("\0") : [] : selectedValueKey ? [selectedValueKey] : [];
|
|
5730
5736
|
return values.map((value) => knownItemsRef.current.get(value)).filter((item) => item !== void 0);
|
|
5731
|
-
}, [mode, selectedValueKey, options, pinned, remoteItems]);
|
|
5737
|
+
}, [mode, selectedValueKey, options, selectedItemsProp, pinned, remoteItems]);
|
|
5732
5738
|
const queryForFilter = query.trim();
|
|
5733
5739
|
const recommended = React2.useMemo(() => {
|
|
5734
5740
|
if (queryForFilter) return [];
|
|
@@ -5832,13 +5838,27 @@ function SearchablePicker(props) {
|
|
|
5832
5838
|
);
|
|
5833
5839
|
const handleLoadMore = React2.useCallback(async () => {
|
|
5834
5840
|
if (!onLoadMore || isLoadingMore) return;
|
|
5841
|
+
const requestId = requestIdRef.current;
|
|
5835
5842
|
setIsLoadingMore(true);
|
|
5836
5843
|
try {
|
|
5837
|
-
await onLoadMore();
|
|
5844
|
+
const more = await onLoadMore();
|
|
5845
|
+
if (requestIdRef.current !== requestId || !Array.isArray(more)) return;
|
|
5846
|
+
setRemoteItems((prev) => {
|
|
5847
|
+
const seen = new Set(prev.map((item) => getOptionValue(item)));
|
|
5848
|
+
const next = [...prev];
|
|
5849
|
+
for (const item of more) {
|
|
5850
|
+
const value = getOptionValue(item);
|
|
5851
|
+
if (seen.has(value)) continue;
|
|
5852
|
+
seen.add(value);
|
|
5853
|
+
next.push(item);
|
|
5854
|
+
}
|
|
5855
|
+
return next;
|
|
5856
|
+
});
|
|
5857
|
+
rememberItems(more);
|
|
5838
5858
|
} finally {
|
|
5839
|
-
setIsLoadingMore(false);
|
|
5859
|
+
if (requestIdRef.current === requestId) setIsLoadingMore(false);
|
|
5840
5860
|
}
|
|
5841
|
-
}, [onLoadMore, isLoadingMore]);
|
|
5861
|
+
}, [onLoadMore, isLoadingMore, getOptionValue, rememberItems]);
|
|
5842
5862
|
const triggerLabel = React2.useMemo(() => {
|
|
5843
5863
|
if (renderValue) {
|
|
5844
5864
|
if (mode === "multiple") {
|
|
@@ -5972,7 +5992,7 @@ function SearchablePicker(props) {
|
|
|
5972
5992
|
] });
|
|
5973
5993
|
}
|
|
5974
5994
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex w-full items-center gap-1", className), children: [
|
|
5975
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, modal:
|
|
5995
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, modal: false, children: [
|
|
5976
5996
|
/* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: triggerButton }),
|
|
5977
5997
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5978
5998
|
PopoverContent,
|
|
@@ -7398,6 +7418,9 @@ var MessageComposer = React2__namespace.forwardRef(function MessageComposer2({
|
|
|
7398
7418
|
event.preventDefault();
|
|
7399
7419
|
if (!canSubmit) return;
|
|
7400
7420
|
onSubmit(event);
|
|
7421
|
+
requestAnimationFrame(() => {
|
|
7422
|
+
fieldRef.current?.focus({ preventScroll: true });
|
|
7423
|
+
});
|
|
7401
7424
|
},
|
|
7402
7425
|
[canSubmit, onSubmit]
|
|
7403
7426
|
);
|
|
@@ -7472,6 +7495,10 @@ var MessageComposer = React2__namespace.forwardRef(function MessageComposer2({
|
|
|
7472
7495
|
size: sendButtonSize,
|
|
7473
7496
|
disabled: !canSubmit,
|
|
7474
7497
|
className: sendButtonClassName,
|
|
7498
|
+
onPointerDown: (event) => {
|
|
7499
|
+
if (event.button !== 0) return;
|
|
7500
|
+
event.preventDefault();
|
|
7501
|
+
},
|
|
7475
7502
|
children: sendLabel
|
|
7476
7503
|
}
|
|
7477
7504
|
)
|
|
@@ -7729,7 +7756,7 @@ function ThreadPanel({
|
|
|
7729
7756
|
sendLabel: labels.send,
|
|
7730
7757
|
placeholder: labels.placeholder,
|
|
7731
7758
|
"aria-label": labels.placeholder,
|
|
7732
|
-
disabled: loading
|
|
7759
|
+
disabled: loading,
|
|
7733
7760
|
sendDisabled: loading || sending,
|
|
7734
7761
|
maxLength: 2e3,
|
|
7735
7762
|
rows: 2
|