@estiva-app/ui 0.58.0 → 0.60.0

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 (103) hide show
  1. package/dist/AppProvider.d.ts +47 -0
  2. package/dist/AppProvider.d.ts.map +1 -0
  3. package/dist/AppShell.d.ts +6 -2
  4. package/dist/AppShell.d.ts.map +1 -1
  5. package/dist/Avatar.d.ts +1 -1
  6. package/dist/Avatar.d.ts.map +1 -1
  7. package/dist/Chip.d.ts.map +1 -1
  8. package/dist/CommandPalette.d.ts.map +1 -1
  9. package/dist/ComposerTriggers.d.ts +13 -1
  10. package/dist/ComposerTriggers.d.ts.map +1 -1
  11. package/dist/IconButton.d.ts.map +1 -1
  12. package/dist/InlineChip.d.ts.map +1 -1
  13. package/dist/Kbd.d.ts.map +1 -1
  14. package/dist/Link.d.ts +1 -1
  15. package/dist/Link.d.ts.map +1 -1
  16. package/dist/MembersDialog.d.ts +57 -0
  17. package/dist/MembersDialog.d.ts.map +1 -0
  18. package/dist/MembersPill.d.ts +22 -0
  19. package/dist/MembersPill.d.ts.map +1 -0
  20. package/dist/NavItem.d.ts +1 -1
  21. package/dist/NavItem.d.ts.map +1 -1
  22. package/dist/RailItem.d.ts +1 -1
  23. package/dist/RailItem.d.ts.map +1 -1
  24. package/dist/SearchInput.d.ts +3 -3
  25. package/dist/Tabs.d.ts +2 -0
  26. package/dist/Tabs.d.ts.map +1 -1
  27. package/dist/TopBar.d.ts +14 -3
  28. package/dist/TopBar.d.ts.map +1 -1
  29. package/dist/editor.js +4 -4
  30. package/dist/editor.js.map +2 -2
  31. package/dist/index.d.ts +3 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +1332 -1143
  34. package/dist/index.js.map +4 -4
  35. package/dist/looks.d.ts +2 -0
  36. package/dist/looks.d.ts.map +1 -1
  37. package/dist/registry/{app-LDGOH6UW.js → app-X2GI4WTU.js} +2 -2
  38. package/dist/registry/app.d.ts.map +1 -1
  39. package/dist/registry/{chunk-TQ6UQER3.js → chunk-V67F474L.js} +8 -3
  40. package/dist/registry/chunk-V67F474L.js.map +7 -0
  41. package/dist/registry/cli.js +1 -1
  42. package/dist/registry/index.js +1 -1
  43. package/package.json +1 -1
  44. package/registry.json +234 -14
  45. package/skill/estiva-ui.md +2 -1
  46. package/src/AppProvider.mdx +69 -0
  47. package/src/AppProvider.stories.tsx +60 -0
  48. package/src/AppProvider.test.tsx +152 -0
  49. package/src/AppProvider.tsx +76 -0
  50. package/src/AppShell.mdx +4 -1
  51. package/src/AppShell.stories.tsx +5 -5
  52. package/src/AppShell.tsx +7 -3
  53. package/src/Avatar.tsx +7 -3
  54. package/src/Breadcrumb.mdx +2 -2
  55. package/src/Card.mdx +1 -1
  56. package/src/Chip.mdx +2 -2
  57. package/src/Chip.tsx +3 -1
  58. package/src/CommandPalette.tsx +2 -1
  59. package/src/ComposerTriggers.mdx +7 -0
  60. package/src/ComposerTriggers.stories.tsx +43 -4
  61. package/src/ComposerTriggers.test.tsx +33 -0
  62. package/src/ComposerTriggers.tsx +17 -5
  63. package/src/IconButton.mdx +2 -2
  64. package/src/IconButton.tsx +4 -1
  65. package/src/InlineChip.mdx +3 -3
  66. package/src/InlineChip.tsx +3 -1
  67. package/src/Kbd.tsx +4 -2
  68. package/src/Link.mdx +5 -3
  69. package/src/Link.tsx +4 -1
  70. package/src/MembersDialog.mdx +69 -0
  71. package/src/MembersDialog.stories.tsx +68 -0
  72. package/src/MembersDialog.test.tsx +69 -0
  73. package/src/MembersDialog.tsx +184 -0
  74. package/src/MembersPill.mdx +45 -0
  75. package/src/MembersPill.stories.tsx +38 -0
  76. package/src/MembersPill.tsx +35 -0
  77. package/src/NavItem.mdx +3 -3
  78. package/src/NavItem.tsx +4 -0
  79. package/src/NavTree.mdx +3 -2
  80. package/src/RailItem.mdx +3 -3
  81. package/src/RailItem.tsx +4 -1
  82. package/src/SearchInput.mdx +3 -4
  83. package/src/SearchInput.tsx +3 -3
  84. package/src/Sidebar.mdx +2 -2
  85. package/src/Tabs.mdx +5 -0
  86. package/src/Tabs.stories.tsx +15 -0
  87. package/src/Tabs.test.tsx +8 -0
  88. package/src/Tabs.tsx +12 -0
  89. package/src/TopBar.mdx +18 -9
  90. package/src/TopBar.stories.tsx +22 -4
  91. package/src/TopBar.test.tsx +97 -0
  92. package/src/TopBar.tsx +45 -4
  93. package/src/index.ts +3 -0
  94. package/src/looks.ts +3 -0
  95. package/src/pages.test.ts +3 -1
  96. package/src/registry/app.test.ts +24 -6
  97. package/src/registry/app.ts +21 -2
  98. package/src/registry/contract.test.ts +1 -1
  99. package/src/registry/gated.test.ts +1 -0
  100. package/src/registry/registry.test.ts +4 -4
  101. package/stories/Choosing.mdx +4 -0
  102. package/dist/registry/chunk-TQ6UQER3.js.map +0 -7
  103. /package/dist/registry/{app-LDGOH6UW.js.map → app-X2GI4WTU.js.map} +0 -0
@@ -0,0 +1,47 @@
1
+ import { type MouseEventHandler, type ReactNode } from 'react';
2
+ export interface AppProviderProps {
3
+ /**
4
+ * Where this app keeps a person's picture. `Avatar` asks it, with the
5
+ * person's name, whenever it is handed no picture — and so does every part
6
+ * that draws a face through it: `Person`, `AvatarGroup`, `MembersPill`,
7
+ * `MembersDialog`, `PersonTrigger`, `IdentityMenu`.
8
+ */
9
+ pictureFor?: (name: string) => string | null | undefined;
10
+ /**
11
+ * How this app changes page without reloading. A plain click on a link to
12
+ * this app's own address calls it with the link's `href` instead of loading
13
+ * the page again: `Link` (and so `Card` and `Breadcrumb`'s crumbs),
14
+ * `NavItem` (and so `NavTree`'s rows), `RailItem`, `Chip`, `InlineChip`, and
15
+ * `IconButton` (and so `ToolbarLink`).
16
+ */
17
+ navigate?: (href: string) => void;
18
+ children: ReactNode;
19
+ }
20
+ type AppSetup = Omit<AppProviderProps, 'children'>;
21
+ /**
22
+ * What every part needs to know about the app it is in, said once at the top:
23
+ * where a person's picture comes from, and how to change page.
24
+ *
25
+ * Without it each app wrapped the parts that needed either: Peek's own
26
+ * `Avatar` and `Person` only looked a picture up, and Peek's and Ship's own
27
+ * `NavItem` only stopped a reload (Katerina, 8 October: "we would handle these
28
+ * in estiva-ui so we don't keep copies"). Both are optional, and a part
29
+ * without a provider above it draws exactly as it did.
30
+ */
31
+ export declare function AppProvider({ pictureFor, navigate, children }: AppProviderProps): import("react").JSX.Element;
32
+ /** The app's picture lookup, or nothing outside an `AppProvider`. */
33
+ export declare function usePictureFor(): AppSetup['pictureFor'];
34
+ /**
35
+ * A link's click, kept inside the app: the caller's own `onClick` first, then,
36
+ * on a plain left click to this app's own address, the app's `navigate` in
37
+ * place of a page load.
38
+ *
39
+ * Left to the browser, as an `<a>` always is: a click the caller already
40
+ * handled (`preventDefault`), a click with a modifier or another button (a new
41
+ * tab), a link that opens elsewhere (`target`) or downloads, and an address on
42
+ * another site or in another scheme (`folder:`, `mailto:`). So an app that
43
+ * still passes its own router `onClick`, as Ship's `linkTo` does, is unchanged.
44
+ */
45
+ export declare function useInAppClick<E extends HTMLElement>(href: string | undefined, onClick?: MouseEventHandler<E>): MouseEventHandler<E> | undefined;
46
+ export {};
47
+ //# sourceMappingURL=AppProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppProvider.d.ts","sourceRoot":"","sources":["../src/AppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuD,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEnH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IACxD;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,KAAK,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;AAIlD;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,gBAAgB,+BAG/E;AAED,qEAAqE;AACrE,wBAAgB,aAAa,IAAI,QAAQ,CAAC,YAAY,CAAC,CAEtD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,CAmB/I"}
@@ -28,8 +28,12 @@ export interface AppShellProps {
28
28
  menu?: ReactNode;
29
29
  /** The top bar's left: the app's logo mark, or its name as text. */
30
30
  logo?: ReactNode;
31
- /** The top bar's centre — a search field, when there is one. */
31
+ /** The top bar's centre: something of the caller's own. */
32
32
  search?: ReactNode;
33
+ /** What searching opens: the top bar then draws its search field and answers Ctrl+K (`TopBar`'s `onSearch`). */
34
+ onSearch?: () => void;
35
+ /** The words in the top bar's search field. */
36
+ searchPlaceholder?: string;
33
37
  /** The top bar's right cluster — an `IdentityMenu`. */
34
38
  identity?: ReactNode;
35
39
  /** A `Banner`, or nothing — drawn at the top of the content area. */
@@ -38,5 +42,5 @@ export interface AppShellProps {
38
42
  nav: ReactNode;
39
43
  children: ReactNode;
40
44
  }
41
- export declare function AppShell({ variant, menu, logo, search, identity, banner, nav, children }: AppShellProps): import("react").JSX.Element;
45
+ export declare function AppShell({ variant, menu, logo, search, onSearch, searchPlaceholder, identity, banner, nav, children }: AppShellProps): import("react").JSX.Element;
42
46
  //# sourceMappingURL=AppShell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../src/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAOtC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAA;IACxC,uEAAuE;IACvE,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,oEAAoE;IACpE,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,gEAAgE;IAChE,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,qEAAqE;IACrE,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,qFAAqF;IACrF,GAAG,EAAE,SAAS,CAAA;IACd,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,OAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,aAAa,+BA8EjH"}
1
+ {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../src/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAOtC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAA;IACxC,uEAAuE;IACvE,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,oEAAoE;IACpE,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,gHAAgH;IAChH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,+CAA+C;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,uDAAuD;IACvD,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,qEAAqE;IACrE,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,qFAAqF;IACrF,GAAG,EAAE,SAAS,CAAA;IACd,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,QAAQ,CAAC,EAAE,OAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,aAAa,+BA8E9I"}
package/dist/Avatar.d.ts CHANGED
@@ -10,7 +10,7 @@ export declare const hueFor: (key: string) => string;
10
10
  */
11
11
  export declare const initialsFor: (name: string) => string;
12
12
  export interface AvatarProps {
13
- /** The picture URL, resolved by the caller. Until it arrives, and if it fails, the initials show. */
13
+ /** The picture URL, resolved by the caller — or, when none is given, by the app's `AppProvider`. Until it arrives, and if it fails, the initials show. */
14
14
  src?: string;
15
15
  /** The person's name — where the initials and the colour come from. */
16
16
  name?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../src/Avatar.tsx"],"names":[],"mappings":"AA+BA;;4EAE4E;AAC5E,eAAO,MAAM,MAAM,GAAI,KAAK,MAAM,WAIjC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,WAIvC,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,qGAAqG;IACrG,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uGAAuG;IACvG,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAQ,EAAE,IAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,WAAW,+BAiF/F"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../src/Avatar.tsx"],"names":[],"mappings":"AAgCA;;4EAE4E;AAC5E,eAAO,MAAM,MAAM,GAAI,KAAK,MAAM,WAIjC,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,WAIvC,CAAA;AAED,MAAM,WAAW,WAAW;IAC1B,0JAA0J;IAC1J,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uGAAuG;IACvG,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAQ,EAAE,IAAS,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,WAAW,+BAoF/F"}
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../src/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIzD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;AAErF,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mEAAmE;IACnE,OAAO,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAWD,wBAAgB,IAAI,CAAC,EAAE,IAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,SAAS,+BAsB/G"}
1
+ {"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../src/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKzD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;AAErF,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mEAAmE;IACnE,OAAO,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAA;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAWD,wBAAgB,IAAI,CAAC,EAAE,IAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,SAAS,+BAuB/G"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette.d.ts","sourceRoot":"","sources":["../src/CommandPalette.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandPalette.d.ts","sourceRoot":"","sources":["../src/CommandPalette.tsx"],"names":[],"mappings":"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"}
@@ -74,6 +74,12 @@ export interface CaptionedItem {
74
74
  search?: string;
75
75
  /** The row's second line, e.g. where the thing sits. The chip does not wear it. */
76
76
  description?: string;
77
+ /**
78
+ * This row's own 16px icon, in place of the list's `icon`: what the thing is,
79
+ * when the list holds several kinds — a topic, a project, a message
80
+ * (Katerina, 7 October). Absent, the list's icon.
81
+ */
82
+ icon?: ReactNode;
77
83
  }
78
84
  /** One labelled group of `[`'s rows, in the order the list draws them. */
79
85
  export interface ReferenceSection {
@@ -91,6 +97,12 @@ export declare function filterReferences(items: readonly CaptionedItem[], query:
91
97
  export interface CaptionedReferenceOptions {
92
98
  /** Drawn before the caption: a 14px icon. */
93
99
  icon: ReactNode;
100
+ /**
101
+ * The chip's 14px icon from what it points at — its `uri` — when chips name
102
+ * several kinds of thing; `undefined` from it, or no `iconFor`, draws `icon`.
103
+ * The same answer the list's row gave (Katerina, 7 October).
104
+ */
105
+ iconFor?: (uri: string | null) => ReactNode | undefined;
94
106
  }
95
107
  /**
96
108
  * A reference mid-sentence, drawn as `label: snippet` and written as its `uri`
@@ -104,7 +116,7 @@ export interface ReferenceMenuOptions {
104
116
  ariaLabel: string;
105
117
  /** The section's heading. */
106
118
  sectionLabel: string;
107
- /** At each row's start: a 16px icon. */
119
+ /** At each row's start: a 16px icon — unless the row brings its own (`CaptionedItem.icon`). */
108
120
  icon: ReactNode;
109
121
  }
110
122
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ComposerTriggers.d.ts","sourceRoot":"","sources":["../src/ComposerTriggers.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ComposerTriggers.d.ts","sourceRoot":"","sources":["../src/ComposerTriggers.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../src/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAO7D;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;AAExF,2EAA2E;AAC3E,MAAM,WAAW,eAAgB,SAAQ,qBAAqB,CAAC,QAAQ,CAAC;IACtE;;;;;OAKG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,+FAA+F;IAC/F,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;8DAC0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IACnC;sEACkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kCAAkC;IAClC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAiB,EACjB,OAAO,EACP,IAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,OAAO,EACP,eAAe,EACf,gBAAgB,EAChB,IAAe,EACf,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,eAAe,+BAiEjB"}
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../src/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQ7D;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAA;AAExF,2EAA2E;AAC3E,MAAM,WAAW,eAAgB,SAAQ,qBAAqB,CAAC,QAAQ,CAAC;IACtE;;;;;OAKG;IACH,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,+FAA+F;IAC/F,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;8DAC0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IACnC;sEACkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kCAAkC;IAClC,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAiB,EACjB,OAAO,EACP,IAAY,EACZ,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,OAAO,EACP,eAAe,EACf,gBAAgB,EAChB,IAAe,EACf,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,eAAe,+BAmEjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"InlineChip.d.ts","sourceRoot":"","sources":["../src/InlineChip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAG7D;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,oGAAoG;AACpG,eAAO,MAAM,mBAAmB,kHACiF,CAAA;AAEjH,qDAAqD;AACrD,eAAO,MAAM,wBAAwB;IACnC,0DAA0D;;IAE1D,gBAAgB;;IAEhB,iCAAiC;;IAEjC;;;;;;OAMG;;CAEK,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,wBAAwB,CAAA;AAElE,iHAAiH;AACjH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,UAE3E;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;IACnF,mDAAmD;IACnD,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,mFAAmF;IACnF,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,+BAqB1G"}
1
+ {"version":3,"file":"InlineChip.d.ts","sourceRoot":"","sources":["../src/InlineChip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAI7D;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,oGAAoG;AACpG,eAAO,MAAM,mBAAmB,kHACiF,CAAA;AAEjH,qDAAqD;AACrD,eAAO,MAAM,wBAAwB;IACnC,0DAA0D;;IAE1D,gBAAgB;;IAEhB,iCAAiC;;IAEjC;;;;;;OAMG;;CAEK,CAAA;AAEV,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,wBAAwB,CAAA;AAElE,iHAAiH;AACjH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,MAAM,UAE3E;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;IACnF,mDAAmD;IACnD,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,mFAAmF;IACnF,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,+BAsB1G"}
package/dist/Kbd.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Kbd.d.ts","sourceRoot":"","sources":["../src/Kbd.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAC7B;AAED,wBAAgB,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAgB,EAAE,EAAE,QAAQ,+BAgBtE"}
1
+ {"version":3,"file":"Kbd.d.ts","sourceRoot":"","sources":["../src/Kbd.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAC7B;AAED,wBAAgB,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAgB,EAAE,EAAE,QAAQ,+BAiBtE"}
package/dist/Link.d.ts CHANGED
@@ -52,5 +52,5 @@ export interface LinkProps extends ComponentPropsWithRef<'a'> {
52
52
  cover?: boolean;
53
53
  children: ReactNode;
54
54
  }
55
- export declare function Link({ href, variant, external, truncate, cover, className, children, ...props }: LinkProps): import("react").JSX.Element;
55
+ export declare function Link({ href, variant, external, truncate, cover, className, children, onClick, ...props }: LinkProps): import("react").JSX.Element;
56
56
  //# sourceMappingURL=Link.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../src/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,CAAA;AAgBnE,MAAM,WAAW,SAAU,SAAQ,qBAAqB,CAAC,GAAG,CAAC;IAC3D,IAAI,EAAE,MAAM,CAAA;IACZ,sBAAsB;IACtB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,QAAgB,EAAE,QAAgB,EAAE,KAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAW3I"}
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../src/Link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,OAAO,CAAA;AAgBnE,MAAM,WAAW,SAAU,SAAQ,qBAAqB,CAAC,GAAG,CAAC;IAC3D,IAAI,EAAE,MAAM,CAAA;IACZ,sBAAsB;IACtB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,IAAI,CAAC,EAAE,IAAI,EAAE,OAAgB,EAAE,QAAgB,EAAE,QAAgB,EAAE,KAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAapJ"}
@@ -0,0 +1,57 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type ChipInputOption } from './ChipInput';
3
+ /** One row of the roster: a face, a name, and an optional second line. */
4
+ export interface MembersDialogMember {
5
+ id: string;
6
+ name: string;
7
+ /** A picture URL, resolved by the caller, as `Avatar` takes its `src`. */
8
+ picture?: string;
9
+ /** The line under the name: a role, a relation ("Assignee"), or a state. */
10
+ caption?: string;
11
+ }
12
+ /** Somebody who can be added: a `ChipInput` option with a face. */
13
+ export interface MembersDialogCandidate extends ChipInputOption {
14
+ picture?: string;
15
+ }
16
+ /** What the viewer's own row offers: in when they are out, out when they are in. */
17
+ export type MembersDialogSelfAction = 'join' | 'leave';
18
+ export interface MembersDialogProps {
19
+ /** The roster, in the order to draw it. The viewer's own row is the caller's to name ("You"). */
20
+ members: MembersDialogMember[];
21
+ /** The number in the title's chip. Defaults to how many rows there are. */
22
+ count?: number;
23
+ /**
24
+ * The viewer's own row on top: "Join" when they are not in, "Leave" when
25
+ * they are. Absent while it is not known, or where they cannot change it —
26
+ * no row is better than a wrong one.
27
+ */
28
+ self?: {
29
+ action: MembersDialogSelfAction;
30
+ onToggle: () => void | Promise<unknown>;
31
+ };
32
+ /** Who "Add members" may offer. Members are left out by id. */
33
+ candidates?: MembersDialogCandidate[];
34
+ /**
35
+ * Adds the people chosen. With it, the "Add members" row shows and opens the
36
+ * add layer. Return `false` (or a promise of it) to stay on the add layer —
37
+ * nothing was added; anything else goes back to the roster.
38
+ */
39
+ onAdd?: (chosen: MembersDialogCandidate[]) => void | boolean | Promise<void | boolean>;
40
+ /** One line under the roster — what membership does and does not cover. */
41
+ note?: ReactNode;
42
+ /** `add` opens straight on the add layer. */
43
+ initialView?: 'list' | 'add';
44
+ onClose: () => void;
45
+ }
46
+ /**
47
+ * Who is in this, with joining, leaving and adding people — the list a
48
+ * `MembersPill` opens.
49
+ *
50
+ * Moved from Peek's `MembersDialog` (2026-10-06; Katerina's design of 22 July,
51
+ * with the row and inset rulings of 15 September). Two layers in one dialog:
52
+ * the roster, with the viewer's Join or Leave and "Add members" on top, and the
53
+ * add layer, whose back arrow returns to the roster. Adding returns to the
54
+ * roster so the new people are visible at once.
55
+ */
56
+ export declare function MembersDialog({ members, count, self, candidates, onAdd, note, initialView, onClose }: MembersDialogProps): import("react").JSX.Element;
57
+ //# sourceMappingURL=MembersDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MembersDialog.d.ts","sourceRoot":"","sources":["../src/MembersDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAKvD,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,aAAa,CAAA;AAO7D,0EAA0E;AAC1E,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,mEAAmE;AACnE,MAAM,WAAW,sBAAuB,SAAQ,eAAe;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,oFAAoF;AACpF,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,OAAO,CAAA;AAEtD,MAAM,WAAW,kBAAkB;IACjC,iGAAiG;IACjG,OAAO,EAAE,mBAAmB,EAAE,CAAA;IAC9B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,uBAAuB,CAAA;QAC/B,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;KACxC,CAAA;IACD,+DAA+D;IAC/D,UAAU,CAAC,EAAE,sBAAsB,EAAE,CAAA;IACrC;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,sBAAsB,EAAE,KAAK,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAA;IACtF,2EAA2E;IAC3E,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAID;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAe,EAAE,KAAK,EAAE,IAAI,EAAE,WAAoB,EAAE,OAAO,EAAE,EAAE,kBAAkB,+BAgHtI"}
@@ -0,0 +1,22 @@
1
+ import { type AvatarGroupMember } from './AvatarGroup';
2
+ export interface MembersPillProps {
3
+ /** Who is in it, in order. Up to three faces are drawn. */
4
+ members: AvatarGroupMember[];
5
+ /** The number beside the faces. Defaults to how many members there are. */
6
+ count?: number;
7
+ /** Opens the list — usually a `MembersDialog`. Without it the pill is disabled. */
8
+ onClick?: () => void;
9
+ className?: string;
10
+ }
11
+ /**
12
+ * Who is in this: up to three faces and the total, in a small outlined pill
13
+ * that opens the full list.
14
+ *
15
+ * Moved from Peek's `MembersPill` (2026-10-06), unchanged: the package's
16
+ * Button, outlined, at its default 32px — the faces sit 3px inside the
17
+ * hairline on the top, the bottom and the left, 8px from the count (Katerina's
18
+ * pick of 15 September). `disabled` rather than another element when there is
19
+ * nothing to press, so one element keeps one set of pixels.
20
+ */
21
+ export declare function MembersPill({ members, count, onClick, className }: MembersPillProps): import("react").JSX.Element | null;
22
+ //# sourceMappingURL=MembersPill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MembersPill.d.ts","sourceRoot":"","sources":["../src/MembersPill.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAKnE,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,gBAAgB,sCASnF"}
package/dist/NavItem.d.ts CHANGED
@@ -65,5 +65,5 @@ export interface NavItemProps extends Omit<ComponentPropsWithoutRef<'a'>, 'href'
65
65
  onOpenChange?: (open: boolean) => void;
66
66
  className?: string;
67
67
  }
68
- export declare function NavItem({ label, href, count, countLabel, active, icon, menu, menuLabel, hint, unread, urgent, children, defaultOpen, open: openProp, onOpenChange, className, ...props }: NavItemProps): import("react").JSX.Element;
68
+ export declare function NavItem({ label, href, count, countLabel, active, icon, menu, menuLabel, hint, unread, urgent, children, defaultOpen, open: openProp, onOpenChange, className, onClick, ...props }: NavItemProps): import("react").JSX.Element;
69
69
  //# sourceMappingURL=NavItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavItem.d.ts","sourceRoot":"","sources":["../src/NavItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,wBAAwB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAUtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5F,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,wBAAwB;IACxB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,4GAA4G;IAC5G,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yGAAyG;IACzG,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,uJAAuJ;IACvJ,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,6HAA6H;IAC7H,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,kDAAkD;IAClD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,UAAU,EACV,MAAc,EACd,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,MAAc,EACd,MAAc,EACd,QAAQ,EACR,WAAkB,EAClB,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,SAAS,EACT,GAAG,KAAK,EACT,EAAE,YAAY,+BAyJd"}
1
+ {"version":3,"file":"NavItem.d.ts","sourceRoot":"","sources":["../src/NavItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,wBAAwB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAWtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5F,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,wBAAwB;IACxB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,4GAA4G;IAC5G,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yGAAyG;IACzG,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,uJAAuJ;IACvJ,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,2DAA2D;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,6HAA6H;IAC7H,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,kDAAkD;IAClD,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,UAAU,EACV,MAAc,EACd,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,MAAc,EACd,MAAc,EACd,QAAQ,EACR,WAAkB,EAClB,IAAI,EAAE,QAAQ,EACd,YAAY,EACZ,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACT,EAAE,YAAY,+BA2Jd"}
@@ -19,5 +19,5 @@ export interface RailItemProps extends Omit<ComponentPropsWithoutRef<'a'>, 'href
19
19
  active?: boolean;
20
20
  className?: string;
21
21
  }
22
- export declare function RailItem({ href, icon, label, active, className, ...props }: RailItemProps): import("react").JSX.Element;
22
+ export declare function RailItem({ href, icon, label, active, className, onClick, ...props }: RailItemProps): import("react").JSX.Element;
23
23
  //# sourceMappingURL=RailItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RailItem.d.ts","sourceRoot":"","sources":["../src/RailItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGhE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAChF,IAAI,EAAE,MAAM,CAAA;IACZ,wBAAwB;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BA4BjG"}
1
+ {"version":3,"file":"RailItem.d.ts","sourceRoot":"","sources":["../src/RailItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAIhE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAChF,IAAI,EAAE,MAAM,CAAA;IACZ,wBAAwB;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAc,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,+BA8B1G"}
@@ -8,9 +8,9 @@ import { type InputHTMLAttributes } from 'react';
8
8
  * The one product string — Peek's default placeholder "Search Peek..." —
9
9
  * stays in Peek; the default here says only "Search…".
10
10
  *
11
- * In Peek's top bar this is a launcher affordance rather than a live field:
12
- * the input is `pointer-events-none` and clicking the surround opens the
13
- * command launcher. The component is the same either way.
11
+ * The top bar's way into a launcher is not this: `TopBar`'s `onSearch` draws
12
+ * this look as a button and answers Ctrl+K itself (8 October). Peek used to
13
+ * make this field inert and catch the click around it.
14
14
  *
15
15
  * On Base UI's `Input` since stage 3 of the migration (2026-09-07), so a
16
16
  * search field inside a `Field` is labelled by it without the caller wiring
package/dist/Tabs.d.ts CHANGED
@@ -23,6 +23,8 @@ export interface TabDef<T extends string> {
23
23
  count?: number;
24
24
  /** 16px, stroke 1.5. */
25
25
  icon?: ReactNode;
26
+ /** Something new behind this tab: the `UnreadDot` after the label, and "new" in the tab's accessible name. */
27
+ unread?: boolean;
26
28
  }
27
29
  export interface TabsProps<T extends string> {
28
30
  tabs: TabDef<T>[];
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../src/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,MAAM;IACtC,EAAE,EAAE,CAAC,CAAA;IACL,KAAK,EAAE,MAAM,CAAA;IACb,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB;IACxB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,MAAM;IACzC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IACjB,MAAM,EAAE,CAAC,CAAA;IACT,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAA;IACzB,yDAAyD;IACzD,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC1B;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAgB,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,+BAgDpH"}
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../src/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,MAAM;IACtC,EAAE,EAAE,CAAC,CAAA;IACL,KAAK,EAAE,MAAM,CAAA;IACb,sFAAsF;IACtF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,wBAAwB;IACxB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,8GAA8G;IAC9G,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,MAAM;IACzC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;IACjB,MAAM,EAAE,CAAC,CAAA;IACT,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAA;IACzB,yDAAyD;IACzD,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC1B;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAgB,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,+BAyDpH"}
package/dist/TopBar.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ReactNode } from 'react';
1
+ import { type ReactNode } from 'react';
2
2
  /**
3
3
  * The 52px top bar, in three manners:
4
4
  *
@@ -19,6 +19,13 @@ import type { ReactNode } from 'react';
19
19
  * collapses) and `logo` (the mark or name beside it; Katerina,
20
20
  * 2026-09-02). This component does not know who you are or what is being
21
21
  * searched; it only knows where those go.
22
+ *
23
+ * **Search** (Katerina, 8 October: "topbar has a variant with a search input,
24
+ * I assumed it would use it"). Given `onSearch`, the bar draws the search
25
+ * field itself — `SearchInput`'s look, 290px, as a button that opens what the
26
+ * app searches with — and Ctrl+K (Cmd+K on a Mac) presses it from anywhere.
27
+ * Before, every app drew its own field and listened for the keys itself.
28
+ * A `search` of the caller's own still takes the centre.
22
29
  */
23
30
  export interface TopBarProps {
24
31
  variant?: 'solid' | 'floating' | 'inset';
@@ -26,11 +33,15 @@ export interface TopBarProps {
26
33
  menu?: ReactNode;
27
34
  /** Beside the menu button: the app's logo mark, or its name as text. */
28
35
  logo?: ReactNode;
29
- /** The centre: a search field, or a launcher affordance — or nothing; the slot holds its place. */
36
+ /** The centre: something of the caller's own. Without it, and with `onSearch`, the bar draws its search field. */
30
37
  search?: ReactNode;
38
+ /** What searching opens — the app's command launcher. Called on a click on the search field, and on Ctrl+K (Cmd+K) anywhere. */
39
+ onSearch?: () => void;
40
+ /** The words in the bar's own search field. Default "Search…". */
41
+ searchPlaceholder?: string;
31
42
  /** The right cluster — an `IdentityMenu` and its neighbours. */
32
43
  right?: ReactNode;
33
44
  className?: string;
34
45
  }
35
- export declare function TopBar({ variant, menu, logo, search, right, className }: TopBarProps): import("react").JSX.Element;
46
+ export declare function TopBar({ variant, menu, logo, search, onSearch, searchPlaceholder, right, className }: TopBarProps): import("react").JSX.Element;
36
47
  //# sourceMappingURL=TopBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TopBar.d.ts","sourceRoot":"","sources":["../src/TopBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAA;IACxC,oHAAoH;IACpH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,wEAAwE;IACxE,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,mGAAmG;IACnG,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,gEAAgE;IAChE,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,MAAM,CAAC,EAAE,OAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,WAAW,+BAsB9F"}
1
+ {"version":3,"file":"TopBar.d.ts","sourceRoot":"","sources":["../src/TopBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAOzD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAA;IACxC,oHAAoH;IACpH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,wEAAwE;IACxE,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,kHAAkH;IAClH,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,gIAAgI;IAChI,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB,kEAAkE;IAClE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,gEAAgE;IAChE,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,MAAM,CAAC,EAAE,OAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAA6B,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,WAAW,+BAgDvI"}
package/dist/editor.js CHANGED
@@ -634,7 +634,7 @@ var CaptionedReference = Mention.extend({
634
634
  inline: true,
635
635
  atom: true,
636
636
  addOptions() {
637
- return { ...this.parent(), HTMLAttributes: {}, icon: null, suggestion: { char: "\0", items: () => [] } };
637
+ return { ...this.parent(), HTMLAttributes: {}, icon: null, iconFor: void 0, suggestion: { char: "\0", items: () => [] } };
638
638
  },
639
639
  addAttributes() {
640
640
  return {
@@ -655,10 +655,10 @@ var CaptionedReference = Mention.extend({
655
655
  return [{ tag: `span[data-${this.name.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`)}]` }];
656
656
  },
657
657
  addNodeView() {
658
- const icon = this.options.icon;
658
+ const { icon, iconFor } = this.options;
659
659
  return ReactNodeViewRenderer(
660
660
  ({ node }) => /* @__PURE__ */ jsxs3(NodeViewWrapper, { as: "span", className: inlineChipClassName("neutral", "max-w-[24ch] cursor-default"), children: [
661
- /* @__PURE__ */ jsx4("span", { className: "flex items-center justify-center w-4 h-4 shrink-0 text-text-secondary", children: icon }),
661
+ /* @__PURE__ */ jsx4("span", { className: "flex items-center justify-center w-4 h-4 shrink-0 text-text-secondary", children: iconFor?.(node.attrs.uri ?? null) ?? icon }),
662
662
  /* @__PURE__ */ jsx4("span", { className: "truncate", children: captionOf(node.attrs.label, node.attrs.snippet) })
663
663
  ] }),
664
664
  { as: "span" }
@@ -681,7 +681,7 @@ function referenceMenu({ ariaLabel, sectionLabel, icon }) {
681
681
  return groups;
682
682
  },
683
683
  itemKey: (item) => `reference-${item.id}`,
684
- row: (item) => ({ leading: icon, label: captionOf(item.label, item.snippet), description: item.description, hint: /* @__PURE__ */ jsx4(EnterHint, {}) })
684
+ row: (item) => ({ leading: item.icon ?? icon, label: captionOf(item.label, item.snippet), description: item.description, hint: /* @__PURE__ */ jsx4(EnterHint, {}) })
685
685
  };
686
686
  }
687
687
  var listed = (options, query) => options.sections ? options.sections(query).flatMap((section) => section.items.map((item) => ({ ...item, section: section.label }))) : filterReferences(options.items(), query);