@mlw-packages/react-components 1.10.26 → 1.10.27

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.js CHANGED
@@ -22490,7 +22490,7 @@ function useCommandPalette({
22490
22490
  const [selectedItemIds, setSelectedItemIds] = React32__namespace.useState(
22491
22491
  /* @__PURE__ */ new Set()
22492
22492
  );
22493
- const toggleSelection = React32__namespace.useCallback((id) => {
22493
+ const toggleSelection = React32.useCallback((id) => {
22494
22494
  setSelectedItemIds((prev) => {
22495
22495
  const next = new Set(prev);
22496
22496
  if (next.has(id)) next.delete(id);
@@ -22498,11 +22498,8 @@ function useCommandPalette({
22498
22498
  return next;
22499
22499
  });
22500
22500
  }, []);
22501
- const clearSelection = React32__namespace.useCallback(
22502
- () => setSelectedItemIds(/* @__PURE__ */ new Set()),
22503
- []
22504
- );
22505
- const baseGroups = React32__namespace.useMemo(
22501
+ const clearSelection = React32.useCallback(() => setSelectedItemIds(/* @__PURE__ */ new Set()), []);
22502
+ const baseGroups = React32.useMemo(
22506
22503
  () => normaliseGroups(items, groups),
22507
22504
  [items, groups]
22508
22505
  );
@@ -22514,12 +22511,12 @@ function useCommandPalette({
22514
22511
  clearSelection();
22515
22512
  }
22516
22513
  }, [open, clearSelection]);
22517
- const searchTerms = React32__namespace.useMemo(() => {
22514
+ const searchTerms = React32.useMemo(() => {
22518
22515
  const parts = query.split(",");
22519
22516
  if (parts.length <= 1 && !multiSearch) return [];
22520
22517
  return parts.map((t) => t.trim().toLowerCase()).filter(Boolean);
22521
22518
  }, [query, multiSearch]);
22522
- const allMatchedGroups = React32__namespace.useMemo(() => {
22519
+ const allMatchedGroups = React32.useMemo(() => {
22523
22520
  if (!query.trim()) {
22524
22521
  if (recentItems.length > 0) {
22525
22522
  return [
@@ -22584,37 +22581,49 @@ function useCommandPalette({
22584
22581
  React32.useEffect(() => {
22585
22582
  setActiveIndex((i) => Math.min(i, Math.max(pageItemCount - 1, 0)));
22586
22583
  }, [pageItemCount]);
22587
- function executeBulkAction() {
22584
+ const executeBulkAction = React32.useCallback(() => {
22588
22585
  if (!onSelectMultiple || selectedItems.length === 0) return;
22589
22586
  onSelectMultiple(selectedItems);
22590
22587
  onOpenChange?.(false);
22591
- }
22592
- function handleSelect(item, event) {
22593
- if (!item) return;
22594
- if (multiSelect) {
22595
- if (event && ("ctrlKey" in event || "metaKey" in event || "shiftKey" in event) && (event.ctrlKey || event.metaKey || event.shiftKey)) {
22596
- toggleSelection(item.id);
22597
- return;
22598
- }
22599
- if (selectedItems.length > 0) {
22600
- const itemsToSubmit = selectedItemIds.has(item.id) ? selectedItems : [...selectedItems, item];
22601
- if (onSelectMultiple) {
22602
- onSelectMultiple(itemsToSubmit);
22588
+ }, [onSelectMultiple, selectedItems, onOpenChange]);
22589
+ const handleSelect = React32.useCallback(
22590
+ (item, event) => {
22591
+ if (!item) return;
22592
+ if (multiSelect) {
22593
+ const isCmdKey = event && ("ctrlKey" in event || "metaKey" in event || "shiftKey" in event) && (event.ctrlKey || event.metaKey || event.shiftKey);
22594
+ if (isCmdKey) {
22595
+ toggleSelection(item.id);
22596
+ return;
22597
+ }
22598
+ if (selectedItems.length > 0) {
22599
+ const finalItems = selectedItemIds.has(item.id) ? selectedItems : [...selectedItems, item];
22600
+ onSelectMultiple?.(finalItems);
22601
+ onOpenChange?.(false);
22602
+ return;
22603
22603
  }
22604
- onOpenChange?.(false);
22605
- return;
22606
22604
  }
22607
- }
22608
- item.onSelect();
22609
- onOpenChange?.(false);
22610
- if (onRecentItemsChange) {
22611
- const next = [item, ...recentItems.filter((r) => r.id !== item.id)].slice(
22612
- 0,
22613
- maxRecentItems
22614
- );
22615
- onRecentItemsChange(next);
22616
- }
22617
- }
22605
+ item.onSelect();
22606
+ onOpenChange?.(false);
22607
+ if (onRecentItemsChange) {
22608
+ const next = [
22609
+ item,
22610
+ ...recentItems.filter((r) => r.id !== item.id)
22611
+ ].slice(0, maxRecentItems);
22612
+ onRecentItemsChange(next);
22613
+ }
22614
+ },
22615
+ [
22616
+ multiSelect,
22617
+ selectedItems,
22618
+ selectedItemIds,
22619
+ onSelectMultiple,
22620
+ onOpenChange,
22621
+ onRecentItemsChange,
22622
+ recentItems,
22623
+ maxRecentItems,
22624
+ toggleSelection
22625
+ ]
22626
+ );
22618
22627
  React32.useEffect(() => {
22619
22628
  if (!open) return;
22620
22629
  const handler = (e) => {
@@ -22637,6 +22646,9 @@ function useCommandPalette({
22637
22646
  }
22638
22647
  } else if (e.key === "Enter") {
22639
22648
  e.preventDefault();
22649
+ if (multiSearch && query.includes(",")) {
22650
+ return;
22651
+ }
22640
22652
  if (multiSelect && (e.ctrlKey || e.metaKey)) {
22641
22653
  executeBulkAction();
22642
22654
  return;
@@ -22653,9 +22665,11 @@ function useCommandPalette({
22653
22665
  pageItemCount,
22654
22666
  page,
22655
22667
  totalPages,
22668
+ query,
22669
+ multiSearch,
22670
+ multiSelect,
22656
22671
  executeBulkAction,
22657
- handleSelect,
22658
- multiSelect
22672
+ handleSelect
22659
22673
  ]);
22660
22674
  return {
22661
22675
  query,
package/dist/index.mjs CHANGED
@@ -22448,7 +22448,7 @@ function useCommandPalette({
22448
22448
  const [selectedItemIds, setSelectedItemIds] = React32.useState(
22449
22449
  /* @__PURE__ */ new Set()
22450
22450
  );
22451
- const toggleSelection = React32.useCallback((id) => {
22451
+ const toggleSelection = useCallback((id) => {
22452
22452
  setSelectedItemIds((prev) => {
22453
22453
  const next = new Set(prev);
22454
22454
  if (next.has(id)) next.delete(id);
@@ -22456,11 +22456,8 @@ function useCommandPalette({
22456
22456
  return next;
22457
22457
  });
22458
22458
  }, []);
22459
- const clearSelection = React32.useCallback(
22460
- () => setSelectedItemIds(/* @__PURE__ */ new Set()),
22461
- []
22462
- );
22463
- const baseGroups = React32.useMemo(
22459
+ const clearSelection = useCallback(() => setSelectedItemIds(/* @__PURE__ */ new Set()), []);
22460
+ const baseGroups = useMemo(
22464
22461
  () => normaliseGroups(items, groups),
22465
22462
  [items, groups]
22466
22463
  );
@@ -22472,12 +22469,12 @@ function useCommandPalette({
22472
22469
  clearSelection();
22473
22470
  }
22474
22471
  }, [open, clearSelection]);
22475
- const searchTerms = React32.useMemo(() => {
22472
+ const searchTerms = useMemo(() => {
22476
22473
  const parts = query.split(",");
22477
22474
  if (parts.length <= 1 && !multiSearch) return [];
22478
22475
  return parts.map((t) => t.trim().toLowerCase()).filter(Boolean);
22479
22476
  }, [query, multiSearch]);
22480
- const allMatchedGroups = React32.useMemo(() => {
22477
+ const allMatchedGroups = useMemo(() => {
22481
22478
  if (!query.trim()) {
22482
22479
  if (recentItems.length > 0) {
22483
22480
  return [
@@ -22542,37 +22539,49 @@ function useCommandPalette({
22542
22539
  useEffect(() => {
22543
22540
  setActiveIndex((i) => Math.min(i, Math.max(pageItemCount - 1, 0)));
22544
22541
  }, [pageItemCount]);
22545
- function executeBulkAction() {
22542
+ const executeBulkAction = useCallback(() => {
22546
22543
  if (!onSelectMultiple || selectedItems.length === 0) return;
22547
22544
  onSelectMultiple(selectedItems);
22548
22545
  onOpenChange?.(false);
22549
- }
22550
- function handleSelect(item, event) {
22551
- if (!item) return;
22552
- if (multiSelect) {
22553
- if (event && ("ctrlKey" in event || "metaKey" in event || "shiftKey" in event) && (event.ctrlKey || event.metaKey || event.shiftKey)) {
22554
- toggleSelection(item.id);
22555
- return;
22556
- }
22557
- if (selectedItems.length > 0) {
22558
- const itemsToSubmit = selectedItemIds.has(item.id) ? selectedItems : [...selectedItems, item];
22559
- if (onSelectMultiple) {
22560
- onSelectMultiple(itemsToSubmit);
22546
+ }, [onSelectMultiple, selectedItems, onOpenChange]);
22547
+ const handleSelect = useCallback(
22548
+ (item, event) => {
22549
+ if (!item) return;
22550
+ if (multiSelect) {
22551
+ const isCmdKey = event && ("ctrlKey" in event || "metaKey" in event || "shiftKey" in event) && (event.ctrlKey || event.metaKey || event.shiftKey);
22552
+ if (isCmdKey) {
22553
+ toggleSelection(item.id);
22554
+ return;
22555
+ }
22556
+ if (selectedItems.length > 0) {
22557
+ const finalItems = selectedItemIds.has(item.id) ? selectedItems : [...selectedItems, item];
22558
+ onSelectMultiple?.(finalItems);
22559
+ onOpenChange?.(false);
22560
+ return;
22561
22561
  }
22562
- onOpenChange?.(false);
22563
- return;
22564
22562
  }
22565
- }
22566
- item.onSelect();
22567
- onOpenChange?.(false);
22568
- if (onRecentItemsChange) {
22569
- const next = [item, ...recentItems.filter((r) => r.id !== item.id)].slice(
22570
- 0,
22571
- maxRecentItems
22572
- );
22573
- onRecentItemsChange(next);
22574
- }
22575
- }
22563
+ item.onSelect();
22564
+ onOpenChange?.(false);
22565
+ if (onRecentItemsChange) {
22566
+ const next = [
22567
+ item,
22568
+ ...recentItems.filter((r) => r.id !== item.id)
22569
+ ].slice(0, maxRecentItems);
22570
+ onRecentItemsChange(next);
22571
+ }
22572
+ },
22573
+ [
22574
+ multiSelect,
22575
+ selectedItems,
22576
+ selectedItemIds,
22577
+ onSelectMultiple,
22578
+ onOpenChange,
22579
+ onRecentItemsChange,
22580
+ recentItems,
22581
+ maxRecentItems,
22582
+ toggleSelection
22583
+ ]
22584
+ );
22576
22585
  useEffect(() => {
22577
22586
  if (!open) return;
22578
22587
  const handler = (e) => {
@@ -22595,6 +22604,9 @@ function useCommandPalette({
22595
22604
  }
22596
22605
  } else if (e.key === "Enter") {
22597
22606
  e.preventDefault();
22607
+ if (multiSearch && query.includes(",")) {
22608
+ return;
22609
+ }
22598
22610
  if (multiSelect && (e.ctrlKey || e.metaKey)) {
22599
22611
  executeBulkAction();
22600
22612
  return;
@@ -22611,9 +22623,11 @@ function useCommandPalette({
22611
22623
  pageItemCount,
22612
22624
  page,
22613
22625
  totalPages,
22626
+ query,
22627
+ multiSearch,
22628
+ multiSelect,
22614
22629
  executeBulkAction,
22615
- handleSelect,
22616
- multiSelect
22630
+ handleSelect
22617
22631
  ]);
22618
22632
  return {
22619
22633
  query,
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "access": "public",
6
6
  "type": "module"
7
7
  },
8
- "version": "1.10.26",
8
+ "version": "1.10.27",
9
9
  "homepage": "https://main--68e80310a069c2f10b546ef3.chromatic.com/",
10
10
  "repository": {
11
11
  "type": "git",