@mlola-ui/registry 1.0.10 → 1.0.12

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 (77) hide show
  1. package/components/accordion.json +2 -2
  2. package/components/alert.json +1 -1
  3. package/components/app-shell.json +1 -1
  4. package/components/badge.json +1 -1
  5. package/components/breadcrumb.json +2 -2
  6. package/components/button.json +1 -1
  7. package/components/calendar.json +1 -1
  8. package/components/carousel.json +3 -3
  9. package/components/checkbox.json +1 -1
  10. package/components/color-picker.json +1 -1
  11. package/components/combobox.json +2 -2
  12. package/components/command-menu.json +2 -2
  13. package/components/context-menu.json +2 -2
  14. package/components/copy-button.json +1 -1
  15. package/components/date-picker.json +1 -1
  16. package/components/dropdown-menu.json +2 -2
  17. package/components/dropzone.json +1 -1
  18. package/components/hover-card.json +1 -1
  19. package/components/modal.json +2 -2
  20. package/components/number-input.json +1 -1
  21. package/components/pagination.json +1 -1
  22. package/components/password-input.json +2 -2
  23. package/components/popover.json +1 -1
  24. package/components/segmented-control.json +1 -1
  25. package/components/select.json +2 -2
  26. package/components/sheet.json +2 -2
  27. package/components/slider.json +1 -1
  28. package/components/stepper.json +1 -1
  29. package/components/tabs.json +1 -1
  30. package/components/tag-input.json +1 -1
  31. package/components/time-picker.json +1 -1
  32. package/components/timeline.json +1 -1
  33. package/components/toast.json +1 -1
  34. package/components/tour.json +2 -2
  35. package/generated/catalog.js +43 -43
  36. package/generated/examples.json +6 -1
  37. package/index.json +1 -1
  38. package/package.json +1 -1
  39. package/snapshot/index.json +48 -48
  40. package/snapshot/items/components/accordion.json +2 -2
  41. package/snapshot/items/components/alert.json +1 -1
  42. package/snapshot/items/components/app-shell.json +1 -1
  43. package/snapshot/items/components/badge.json +1 -1
  44. package/snapshot/items/components/breadcrumb.json +2 -2
  45. package/snapshot/items/components/button.json +1 -1
  46. package/snapshot/items/components/calendar.json +1 -1
  47. package/snapshot/items/components/carousel.json +3 -3
  48. package/snapshot/items/components/checkbox.json +1 -1
  49. package/snapshot/items/components/color-picker.json +1 -1
  50. package/snapshot/items/components/combobox.json +2 -2
  51. package/snapshot/items/components/command-menu.json +2 -2
  52. package/snapshot/items/components/context-menu.json +2 -2
  53. package/snapshot/items/components/copy-button.json +1 -1
  54. package/snapshot/items/components/date-picker.json +1 -1
  55. package/snapshot/items/components/dropdown-menu.json +2 -2
  56. package/snapshot/items/components/dropzone.json +1 -1
  57. package/snapshot/items/components/hover-card.json +1 -1
  58. package/snapshot/items/components/modal.json +2 -2
  59. package/snapshot/items/components/number-input.json +1 -1
  60. package/snapshot/items/components/pagination.json +1 -1
  61. package/snapshot/items/components/password-input.json +2 -2
  62. package/snapshot/items/components/popover.json +1 -1
  63. package/snapshot/items/components/segmented-control.json +1 -1
  64. package/snapshot/items/components/select.json +2 -2
  65. package/snapshot/items/components/sheet.json +2 -2
  66. package/snapshot/items/components/slider.json +1 -1
  67. package/snapshot/items/components/stepper.json +1 -1
  68. package/snapshot/items/components/tabs.json +1 -1
  69. package/snapshot/items/components/tag-input.json +1 -1
  70. package/snapshot/items/components/time-picker.json +1 -1
  71. package/snapshot/items/components/timeline.json +1 -1
  72. package/snapshot/items/components/toast.json +1 -1
  73. package/snapshot/items/components/tour.json +2 -2
  74. package/snapshot/source/packages/components/_internal/match.ts +8 -0
  75. package/snapshot/source/packages/components/breadcrumb/breadcrumb.tsx +18 -4
  76. package/snapshot/source/packages/components/carousel/carousel.tsx +1 -0
  77. package/snapshot/source-manifest.json +3 -3
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "registryDependencies": [],
20
20
  "engineDependencies": {
21
- "@mlola-ui/behavior": "^1.0.10"
21
+ "@mlola-ui/behavior": "^1.0.12"
22
22
  },
23
23
  "options": [
24
24
  {
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "registryDependencies": [],
22
22
  "engineDependencies": {
23
- "@mlola-ui/icons": "^1.0.10"
23
+ "@mlola-ui/icons": "^1.0.12"
24
24
  },
25
25
  "options": [
26
26
  {
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "registryDependencies": [],
20
20
  "engineDependencies": {
21
- "@mlola-ui/behavior": "^1.0.10"
21
+ "@mlola-ui/behavior": "^1.0.12"
22
22
  },
23
23
  "options": [
24
24
  {
@@ -23,7 +23,7 @@
23
23
  "input"
24
24
  ],
25
25
  "engineDependencies": {
26
- "@mlola-ui/icons": "^1.0.10"
26
+ "@mlola-ui/icons": "^1.0.12"
27
27
  },
28
28
  "options": [],
29
29
  "variants": [],
@@ -22,7 +22,7 @@
22
22
  "popover"
23
23
  ],
24
24
  "engineDependencies": {
25
- "@mlola-ui/icons": "^1.0.10"
25
+ "@mlola-ui/icons": "^1.0.12"
26
26
  },
27
27
  "options": [],
28
28
  "variants": [],
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "registryDependencies": [],
20
20
  "engineDependencies": {
21
- "@mlola-ui/icons": "^1.0.10"
21
+ "@mlola-ui/icons": "^1.0.12"
22
22
  },
23
23
  "options": [
24
24
  {
@@ -20,7 +20,7 @@
20
20
  "spinner"
21
21
  ],
22
22
  "engineDependencies": {
23
- "@mlola-ui/icons": "^1.0.10"
23
+ "@mlola-ui/icons": "^1.0.12"
24
24
  },
25
25
  "options": [
26
26
  {
@@ -20,8 +20,8 @@
20
20
  },
21
21
  "registryDependencies": [],
22
22
  "engineDependencies": {
23
- "@mlola-ui/behavior": "^1.0.10",
24
- "@mlola-ui/icons": "^1.0.10"
23
+ "@mlola-ui/behavior": "^1.0.12",
24
+ "@mlola-ui/icons": "^1.0.12"
25
25
  },
26
26
  "options": [],
27
27
  "variants": [],
@@ -22,6 +22,14 @@ export function matchCommand(label: string, query: string, keywords: string[] =
22
22
  if (inside >= 0) return { score: 60 - inside * 0.5, positions: range(inside) };
23
23
  if (keywords.some((keyword) => keyword.toLowerCase().includes(needle))) return { score: 45, positions: [] };
24
24
 
25
+ // Several words, each starting a word somewhere in the label or keywords ("rate limit head" → "Limit headers" under "Rate limits").
26
+ const words = needle.split(/\s+/);
27
+ if (words.length > 1) {
28
+ const haystack = [text, ...keywords.map((keyword) => keyword.toLowerCase())].join(" ");
29
+ const startsWord = (word: string) => new RegExp(`\\b${word.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}`).test(haystack);
30
+ if (words.every(startsWord)) return { score: 40, positions: [] };
31
+ }
32
+
25
33
  // Letters in order, preferring word starts and runs.
26
34
  const positions: number[] = [];
27
35
  let from = 0;
@@ -4,7 +4,15 @@ import * as React from "react";
4
4
  import { cx } from "../_internal/react";
5
5
  import { IconChevronRight } from "@mlola-ui/icons";
6
6
 
7
- export type BreadcrumbItemType = { label: string; href?: string };
7
+ export type BreadcrumbItemType = {
8
+ label: string;
9
+ /** A link to the page. */
10
+ href?: string;
11
+ /** In-app navigation without a URL; the item becomes a button. */
12
+ onSelect?: () => void;
13
+ /** A decorative mark before the label, such as a page's icon. */
14
+ icon?: React.ReactNode;
15
+ };
8
16
  type BreadcrumbProps = { items: BreadcrumbItemType[]; separator?: React.ReactNode; className?: string };
9
17
 
10
18
  const BreadcrumbList = React.forwardRef<HTMLOListElement, React.OlHTMLAttributes<HTMLOListElement>>(
@@ -29,6 +37,8 @@ function BreadcrumbEllipsis({ className }: { className?: string }) {
29
37
  return <span aria-hidden="true" className={cx("ml-breadcrumb-ellipsis", className)}>…</span>;
30
38
  }
31
39
 
40
+ const icon = (item: BreadcrumbItemType) => (item.icon ? <span aria-hidden="true" className="ml-breadcrumb-icon">{item.icon}</span> : null);
41
+
32
42
  export function Breadcrumb({ items, separator, className }: BreadcrumbProps) {
33
43
  const last = items.length - 1;
34
44
  const collapse = items.length > 3;
@@ -46,9 +56,13 @@ export function Breadcrumb({ items, separator, className }: BreadcrumbProps) {
46
56
  </BreadcrumbItem>
47
57
  ) : null}
48
58
  <BreadcrumbItem data-collapsible={middle && collapse ? "" : undefined}>
49
- {current || !item.href
50
- ? <BreadcrumbPage>{item.label}</BreadcrumbPage>
51
- : <BreadcrumbLink href={item.href}>{item.label}</BreadcrumbLink>}
59
+ {current || (!item.href && !item.onSelect) ? (
60
+ <BreadcrumbPage>{icon(item)}{item.label}</BreadcrumbPage>
61
+ ) : item.href ? (
62
+ <BreadcrumbLink href={item.href}>{icon(item)}{item.label}</BreadcrumbLink>
63
+ ) : (
64
+ <button type="button" className="ml-breadcrumb-link" data-hit="expand" onClick={item.onSelect}>{icon(item)}{item.label}</button>
65
+ )}
52
66
  {!current ? <BreadcrumbSeparator>{separator}</BreadcrumbSeparator> : null}
53
67
  </BreadcrumbItem>
54
68
  </React.Fragment>
@@ -180,6 +180,7 @@ export function Carousel({
180
180
  aria-roledescription="carousel"
181
181
  aria-label={label}
182
182
  data-playing={playing || undefined}
183
+ data-arrows={(arrows && positions > 1) || undefined}
183
184
  style={{ ...style, "--ml-carousel-per-view": view, "--ml-carousel-peek": peek ?? "0px", "--ml-carousel-min": minSlideWidth ?? "0px", "--ml-carousel-autoplay": `${autoplay ?? 0}ms` } as React.CSSProperties}
184
185
  onPointerEnter={() => setPaused(true)}
185
186
  onPointerLeave={() => setPaused(false)}
@@ -3,7 +3,7 @@
3
3
  "packages/components/_internal/clipboard.ts": "sha256-0y5p88CTXWuOrUYlC5J4XP1VCrOwkx9jYWVHmD2LouQ=",
4
4
  "packages/components/_internal/dialog.ts": "sha256-796y3oNOVWarLvICTdi+d0/2axqSrzLVJiyBeh9X7bU=",
5
5
  "packages/components/_internal/floating.ts": "sha256-+WxgC4CtAlSr2qA1EkoDTgto535XLIPsvtOfdOK6CHk=",
6
- "packages/components/_internal/match.ts": "sha256-nKBpKWeow5ubAHUhOW8yOjlrKs0lqYdjbaYYfE8VoII=",
6
+ "packages/components/_internal/match.ts": "sha256-3tUYob6xmD2nLerh634E3R5iPbzMeNBzdDynsDFjj28=",
7
7
  "packages/components/_internal/react.ts": "sha256-SH63/haiB4Q93uFjMIMe5xZbaxENu3VI+GcidV8HELM=",
8
8
  "packages/components/_internal/scroll.ts": "sha256-/YxhPPJa6Iax4q5eEs8dmpQp634TbvB+421MphEyscQ=",
9
9
  "packages/components/accordion/accordion.tsx": "sha256-0ALaLJd1fvj8Vbx86HLBKm3qUItrtwbrGJTykVfNSMg=",
@@ -13,12 +13,12 @@
13
13
  "packages/components/app-shell/app-shell.tsx": "sha256-XAq82XOTH3ZR+hxTkYFu8P7Ih2aI6ERy/TpXc2VMUwM=",
14
14
  "packages/components/avatar/avatar.tsx": "sha256-EjqC8ytKqRtsTVdK6vncaDfhO/i7ICe+jwaYCg5bjIw=",
15
15
  "packages/components/badge/badge.tsx": "sha256-flEH8S2jZ/64n3Y/ROhC9+9rvF7wXaN0xLcMMwqNOVQ=",
16
- "packages/components/breadcrumb/breadcrumb.tsx": "sha256-Mt9mvmwwDgdp5/+mj5byIrh8+hicsp7R6UcvUlK0yog=",
16
+ "packages/components/breadcrumb/breadcrumb.tsx": "sha256-mxQpach2kFayT8H1vMt5252LQLxVV+sohdVXDhPuKoU=",
17
17
  "packages/components/button/button.tsx": "sha256-sXVANbGeFSYPHpiWuPvHHqMoPjG0zl0HSsKEdTgl5ME=",
18
18
  "packages/components/calendar/calendar.tsx": "sha256-rWiS4YAueZfVoo6j5Fi3uN7A+yApe5U6HMm1woTVjys=",
19
19
  "packages/components/calendar/dates.ts": "sha256-mygYkoC70av2ZQ0vkxf885trwW97Wd10I4dptYQe+4A=",
20
20
  "packages/components/card/card.tsx": "sha256-aMKbv5DWYYWq7GZAFR9O1fuYE0H61WCjkvEbRMOd894=",
21
- "packages/components/carousel/carousel.tsx": "sha256-pamugpB6Ujt9Ylxd37jNF/ZwSb8iRkW/MoYe12nY3i4=",
21
+ "packages/components/carousel/carousel.tsx": "sha256-Gsw0LhQsOuvdQN/F2KDGVC/gJq53+ifLs19u95RWCoU=",
22
22
  "packages/components/checkbox/checkbox.tsx": "sha256-hz4YbGwOxv/aJpJHrLXR4MKSWJGyjzoJEIGvdhyML9M=",
23
23
  "packages/components/color-picker/color-picker.tsx": "sha256-E+QB6MbSxg+3AZX3A7bOkst4arxgpmFL2ZmochoWCl8=",
24
24
  "packages/components/color-picker/color.ts": "sha256-YqSgYjzn7XfPWAHuyzbwOhbg/ScaSfB7V73e9w+OjJs=",