@estiva-app/ui 0.22.0 → 0.24.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 (173) hide show
  1. package/README.md +21 -0
  2. package/dist/AppShell.d.ts.map +1 -1
  3. package/dist/AttachmentCard.d.ts.map +1 -1
  4. package/dist/Banner.d.ts +20 -2
  5. package/dist/Banner.d.ts.map +1 -1
  6. package/dist/ContainerHeader.d.ts +25 -0
  7. package/dist/ContainerHeader.d.ts.map +1 -0
  8. package/dist/EmptyState.d.ts +10 -1
  9. package/dist/EmptyState.d.ts.map +1 -1
  10. package/dist/Form.d.ts.map +1 -1
  11. package/dist/IconButton.d.ts +9 -1
  12. package/dist/IconButton.d.ts.map +1 -1
  13. package/dist/PreviewCard.d.ts +9 -2
  14. package/dist/PreviewCard.d.ts.map +1 -1
  15. package/dist/SectionHeader.d.ts +7 -1
  16. package/dist/SectionHeader.d.ts.map +1 -1
  17. package/dist/Select.d.ts +11 -3
  18. package/dist/Select.d.ts.map +1 -1
  19. package/dist/Tooltip.d.ts +13 -1
  20. package/dist/Tooltip.d.ts.map +1 -1
  21. package/dist/eslint/index.js +2 -1
  22. package/dist/eslint/index.js.map +2 -2
  23. package/dist/eslint/no-restyled-part.d.ts.map +1 -1
  24. package/dist/gates/app-checks.d.ts.map +1 -1
  25. package/dist/gates/{chunk-ZGJ2J5NU.js → chunk-EA33NP5B.js} +275 -11
  26. package/dist/gates/chunk-EA33NP5B.js.map +7 -0
  27. package/dist/gates/{chunk-AUXD4GCY.js → chunk-GTQZEHPC.js} +15 -1
  28. package/dist/gates/chunk-GTQZEHPC.js.map +7 -0
  29. package/dist/gates/cli.js +1 -1
  30. package/dist/gates/create-app.d.ts +2 -0
  31. package/dist/gates/create-app.d.ts.map +1 -1
  32. package/dist/gates/create-app.js +1 -1
  33. package/dist/gates/index.js +25 -3
  34. package/dist/gates/index.js.map +2 -2
  35. package/dist/gates/status.d.ts +2 -0
  36. package/dist/gates/status.d.ts.map +1 -1
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +196 -156
  40. package/dist/index.js.map +4 -4
  41. package/dist/registry/app-DQI6WLHR.js +10 -0
  42. package/dist/registry/app.d.ts +21 -0
  43. package/dist/registry/app.d.ts.map +1 -0
  44. package/dist/registry/build-LGFCCOLR.js +27 -0
  45. package/dist/registry/build-LGFCCOLR.js.map +7 -0
  46. package/dist/registry/build.d.ts +68 -2
  47. package/dist/registry/build.d.ts.map +1 -1
  48. package/dist/registry/{chunk-MRSBS5OP.js → chunk-E4JNV7PC.js} +68 -12
  49. package/dist/registry/chunk-E4JNV7PC.js.map +7 -0
  50. package/dist/registry/{chunk-QDYGB3QN.js → chunk-NJN4MQAM.js} +60 -15
  51. package/dist/registry/chunk-NJN4MQAM.js.map +7 -0
  52. package/dist/registry/{chunk-IJNCYVH4.js → chunk-W2B2G7OE.js} +34 -9
  53. package/dist/registry/chunk-W2B2G7OE.js.map +7 -0
  54. package/dist/registry/chunk-WMFF3MPP.js +648 -0
  55. package/dist/registry/chunk-WMFF3MPP.js.map +7 -0
  56. package/dist/registry/cli.js +81 -26
  57. package/dist/registry/cli.js.map +3 -3
  58. package/dist/registry/find.d.ts +12 -1
  59. package/dist/registry/find.d.ts.map +1 -1
  60. package/dist/registry/index.d.ts +5 -2
  61. package/dist/registry/index.d.ts.map +1 -1
  62. package/dist/registry/index.js +11 -3
  63. package/dist/registry/schema.d.ts +83 -6
  64. package/dist/registry/schema.d.ts.map +1 -1
  65. package/package.json +2 -2
  66. package/registry.json +283 -95
  67. package/src/AppShell.mdx +10 -0
  68. package/src/AppShell.test.tsx +16 -0
  69. package/src/AppShell.tsx +4 -1
  70. package/src/AttachmentCard.mdx +9 -0
  71. package/src/AttachmentCard.test.tsx +10 -0
  72. package/src/AttachmentCard.tsx +8 -5
  73. package/src/Avatar.mdx +13 -3
  74. package/src/AvatarGroup.mdx +4 -0
  75. package/src/Banner.mdx +30 -7
  76. package/src/Banner.stories.tsx +22 -0
  77. package/src/Banner.test.tsx +35 -0
  78. package/src/Banner.tsx +34 -9
  79. package/src/Breadcrumb.mdx +10 -0
  80. package/src/Button.mdx +14 -3
  81. package/src/Card.mdx +9 -0
  82. package/src/Checkbox.mdx +10 -0
  83. package/src/Chip.mdx +4 -0
  84. package/src/ChipInput.mdx +12 -0
  85. package/src/CollapsibleSection.mdx +9 -0
  86. package/src/CommandPalette.mdx +14 -2
  87. package/src/ConfirmDialog.mdx +11 -0
  88. package/src/ContainerHeader.mdx +60 -0
  89. package/src/ContainerHeader.stories.tsx +62 -0
  90. package/src/ContainerHeader.test.tsx +47 -0
  91. package/src/ContainerHeader.tsx +45 -0
  92. package/src/DialogShell.mdx +14 -0
  93. package/src/Divider.mdx +9 -1
  94. package/src/EditableText.mdx +11 -0
  95. package/src/EmptyState.mdx +27 -4
  96. package/src/EmptyState.stories.tsx +6 -1
  97. package/src/EmptyState.test.tsx +18 -1
  98. package/src/EmptyState.tsx +14 -1
  99. package/src/Field.mdx +10 -1
  100. package/src/FieldLine.mdx +9 -1
  101. package/src/FilePicker.mdx +8 -0
  102. package/src/Form.mdx +10 -0
  103. package/src/Form.test.tsx +26 -0
  104. package/src/Form.tsx +7 -0
  105. package/src/IconButton.mdx +16 -2
  106. package/src/IconButton.stories.tsx +3 -0
  107. package/src/IconButton.test.tsx +25 -0
  108. package/src/IconButton.tsx +61 -46
  109. package/src/IdentityMenu.mdx +9 -0
  110. package/src/InlineChip.mdx +8 -0
  111. package/src/Kbd.mdx +4 -0
  112. package/src/Link.mdx +10 -0
  113. package/src/Menu.mdx +16 -1
  114. package/src/MenuItem.mdx +12 -2
  115. package/src/NavItem.mdx +8 -0
  116. package/src/Person.mdx +4 -0
  117. package/src/PersonTrigger.mdx +9 -0
  118. package/src/Popover.mdx +21 -0
  119. package/src/PreviewCard.mdx +19 -4
  120. package/src/PreviewCard.tsx +11 -4
  121. package/src/ProgressBar.mdx +8 -0
  122. package/src/Property.mdx +4 -0
  123. package/src/Rail.mdx +9 -1
  124. package/src/RailItem.mdx +8 -0
  125. package/src/Reaction.mdx +9 -0
  126. package/src/ReactionPicker.mdx +8 -0
  127. package/src/ScrollArea.mdx +13 -2
  128. package/src/SearchInput.mdx +9 -0
  129. package/src/SectionHeader.mdx +13 -0
  130. package/src/SectionHeader.stories.tsx +9 -0
  131. package/src/SectionHeader.test.tsx +9 -0
  132. package/src/SectionHeader.tsx +8 -2
  133. package/src/SectionLabel.mdx +4 -0
  134. package/src/Select.mdx +21 -2
  135. package/src/Select.stories.tsx +4 -1
  136. package/src/Select.test.tsx +17 -0
  137. package/src/Select.tsx +34 -13
  138. package/src/Sidebar.mdx +8 -0
  139. package/src/Skeleton.mdx +4 -0
  140. package/src/Tabs.mdx +12 -1
  141. package/src/TextInput.mdx +8 -0
  142. package/src/Textarea.mdx +8 -0
  143. package/src/Toast.mdx +12 -1
  144. package/src/Toolbar.mdx +11 -0
  145. package/src/Tooltip.mdx +26 -2
  146. package/src/Tooltip.stories.tsx +26 -0
  147. package/src/Tooltip.test.tsx +29 -0
  148. package/src/Tooltip.tsx +17 -4
  149. package/src/TopBar.mdx +4 -0
  150. package/src/eslint/no-rebuilt-behaviour.ts +1 -1
  151. package/src/eslint/no-restyled-part.ts +1 -0
  152. package/src/gates/app-checks.ts +23 -1
  153. package/src/gates/create-app.test.ts +77 -6
  154. package/src/gates/create-app.ts +288 -15
  155. package/src/gates/status.ts +16 -0
  156. package/src/index.ts +1 -0
  157. package/src/pages.test.ts +142 -0
  158. package/src/registry/app.test.ts +562 -0
  159. package/src/registry/app.ts +854 -0
  160. package/src/registry/build.ts +114 -25
  161. package/src/registry/cli.ts +105 -42
  162. package/src/registry/find.ts +45 -8
  163. package/src/registry/index.ts +8 -1
  164. package/src/registry/registry.test.ts +5 -5
  165. package/src/registry/schema.ts +163 -12
  166. package/tailwind-preset.js +22 -1
  167. package/dist/gates/chunk-AUXD4GCY.js.map +0 -7
  168. package/dist/gates/chunk-ZGJ2J5NU.js.map +0 -7
  169. package/dist/registry/build-GOVLABI6.js +0 -13
  170. package/dist/registry/chunk-IJNCYVH4.js.map +0 -7
  171. package/dist/registry/chunk-MRSBS5OP.js.map +0 -7
  172. package/dist/registry/chunk-QDYGB3QN.js.map +0 -7
  173. /package/dist/registry/{build-GOVLABI6.js.map → app-DQI6WLHR.js.map} +0 -0
package/README.md CHANGED
@@ -137,6 +137,27 @@ but this package. The frame is `AppShell` with a `Sidebar`, one theme
137
137
  (`--theme`, default `light`) set once in `index.html`. Its README says what is
138
138
  left to do by hand: register the app with Estiva ID, and protect `main`.
139
139
 
140
+ ### The catalogue — `estiva-ui`
141
+
142
+ "Do we already have this?" has one answer: `estiva-ui find <what it does>`.
143
+
144
+ ```bash
145
+ npx estiva-ui find a floating panel # the package's parts, and this app's own
146
+ npx estiva-ui check # every part says what it is for (CI's job gate)
147
+ ```
148
+
149
+ - **The package's catalogue** is `registry.json`, generated from the code,
150
+ committed and shipped: one entry per export, with its purpose, every prop it
151
+ declares, what it owns and where its page is.
152
+ - **An app's catalogue** is built from the app's own code each time it is read,
153
+ and never committed. Every part a `.tsx` file exports is listed with its
154
+ purpose (a one-line `/** … */` above it), where the app uses it, and its kind:
155
+ a pass-on of a package part, used in one place, used in several, a candidate to
156
+ move into the package, or used nowhere. `estiva-ui check` fails on a part with
157
+ no description. `--also [name=]<folder>` adds an app that sits beside this one.
158
+ - `@estiva-app/ui/registry` exports the builders and the search for a tool that
159
+ reads them itself.
160
+
140
161
  ## The rules
141
162
 
142
163
  ### Forking is allowed
@@ -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;AAKtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,CAAA;IAC9B,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,+BA6DjH"}
1
+ {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../src/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,CAAA;IAC9B,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,+BAgEjH"}
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentCard.d.ts","sourceRoot":"","sources":["../src/AttachmentCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,qBAAqB,EAAW,MAAM,OAAO,CAAA;AAyB9F;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;AA2FzG,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACzF,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4FAA4F;IAC5F,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,yFAAyF;IACzF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAC3B,sGAAsG;IACtG,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,GAAG,EACH,MAAM,EACN,UAAU,EACV,OAAe,EACf,QAAQ,EACR,KAAe,EACf,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,mBAAmB,+BAoJrB"}
1
+ {"version":3,"file":"AttachmentCard.d.ts","sourceRoot":"","sources":["../src/AttachmentCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,qBAAqB,EAAW,MAAM,OAAO,CAAA;AAyB9F;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,SAAS,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;AA2FzG,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IACzF,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAA;IACZ,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4FAA4F;IAC5F,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,yFAAyF;IACzF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAC3B,sGAAsG;IACtG,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,IAAI,EACJ,GAAG,EACH,MAAM,EACN,UAAU,EACV,OAAe,EACf,QAAQ,EACR,KAAe,EACf,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,mBAAmB,+BAuJrB"}
package/dist/Banner.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { ReactNode } from 'react';
1
2
  /**
2
3
  * The strip under the header where the app says something happened —
3
4
  * one line, gone when there is nothing to say (Ship's Banner,
@@ -9,6 +10,11 @@
9
10
  * An `error` announces itself (`role="alert"`); the other tones are
10
11
  * polite (`role="status"`).
11
12
  *
13
+ * `icon` and `action` put a 16px icon before the line and one small muted
14
+ * Button after it (Katerina, 2026-09-18, UIG-13: Peek's composer strip became
15
+ * a Banner in the `info` tone). With either, the banner is one line and the
16
+ * text truncates.
17
+ *
12
18
  * `onDismiss` adds an `✕` at the right-hand end (Katerina, D21,
13
19
  * 2026-09-07). Without it the strip is exactly what it was — a banner an
14
20
  * app removes by not rendering it. With it the row is 40px rather than
@@ -23,12 +29,24 @@
23
29
  export type BannerTone = 'ok' | 'error' | 'info' | 'warning';
24
30
  export interface BannerProps {
25
31
  tone: BannerTone;
26
- children: string;
32
+ /** The one line. Text, or text with a name in `font-medium`. */
33
+ children: ReactNode;
34
+ /**
35
+ * A 16px icon before the line, in the tone's colour (Katerina, 2026-09-18:
36
+ * Peek's composer strip became a Banner). With an icon or an action the
37
+ * banner is one line, and the text truncates.
38
+ */
39
+ icon?: ReactNode;
40
+ /** The one thing to do: the package's Button, muted and small, at the end of the line. */
41
+ action?: {
42
+ label: string;
43
+ onClick?: () => void;
44
+ };
27
45
  /** Adds an `✕` at the right-hand end. Absent: the app removes the banner. */
28
46
  onDismiss?: () => void;
29
47
  /** The dismiss button's accessible name. Defaults to "Dismiss". */
30
48
  dismissLabel?: string;
31
49
  className?: string;
32
50
  }
33
- export declare function Banner({ tone, children, onDismiss, dismissLabel, className }: BannerProps): import("react").JSX.Element;
51
+ export declare function Banner({ tone, children, icon, action, onDismiss, dismissLabel, className }: BannerProps): import("react").JSX.Element;
34
52
  //# sourceMappingURL=Banner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../src/Banner.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;AAE5D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AASD,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAwB,EAAE,SAAS,EAAE,EAAE,WAAW,+BAqBrG"}
1
+ {"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../src/Banner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;AAE5D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAA;IAChB,gEAAgE;IAChE,QAAQ,EAAE,SAAS,CAAA;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,0FAA0F;IAC1F,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,CAAA;IAChD,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AASD,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,YAAwB,EAAE,SAAS,EAAE,EAAE,WAAW,+BA8BnH"}
@@ -0,0 +1,25 @@
1
+ import type { ReactNode } from 'react';
2
+ /**
3
+ * The bar across the top of a column — a list, a thread, a side panel: its
4
+ * title, and the buttons that act on the whole column at the right edge.
5
+ * Peek's ContainerHeader, moved into the package exactly as it looks
6
+ * (Katerina, 2026-09-18, UIG-13).
7
+ *
8
+ * 48px tall, a hairline under it. A string title is one line in
9
+ * `body-2-strong` and keeps its width; anything else — an EditableText, a
10
+ * title over a caption — takes the room that is left and is drawn as given.
11
+ *
12
+ * Not a SectionHeader: that is the 32px row one section of a column starts
13
+ * with. This is the column's own bar, one per column.
14
+ */
15
+ export interface ContainerHeaderProps {
16
+ /** A string keeps the one-line treatment; a node is drawn as given. */
17
+ title: ReactNode;
18
+ /** A chevron after the title, for a title that opens something. */
19
+ chevron?: boolean;
20
+ /** The column's own buttons, at the right edge: IconButtons with tooltips, 4px apart. */
21
+ actions?: ReactNode;
22
+ className?: string;
23
+ }
24
+ export declare function ContainerHeader({ title, chevron, actions, className }: ContainerHeaderProps): import("react").JSX.Element;
25
+ //# sourceMappingURL=ContainerHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerHeader.d.ts","sourceRoot":"","sources":["../src/ContainerHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,KAAK,EAAE,SAAS,CAAA;IAChB,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yFAAyF;IACzF,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,OAAe,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,oBAAoB,+BAiBnG"}
@@ -25,7 +25,16 @@ export interface EmptyStateProps {
25
25
  message: string;
26
26
  /** `page` when the whole page is empty; `section` when one part of it is. */
27
27
  scope?: 'page' | 'section';
28
+ /**
29
+ * The one thing to do about it — "New topic", "Try again" — drawn 16px under
30
+ * the line as the package's Button, outlined (Katerina, 2026-09-18). A `page`
31
+ * only: a section's empty line is one line among others, not a stage.
32
+ */
33
+ action?: {
34
+ label: string;
35
+ onClick: () => void;
36
+ };
28
37
  className?: string;
29
38
  }
30
- export declare function EmptyState({ icon, message, scope, className }: EmptyStateProps): import("react").JSX.Element;
39
+ export declare function EmptyState({ icon, message, scope, action, className }: EmptyStateProps): import("react").JSX.Element;
31
40
  //# sourceMappingURL=EmptyState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../src/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAc,EAAE,SAAS,EAAE,EAAE,eAAe,+BAUvF"}
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../src/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,eAAe;IAC9B,8EAA8E;IAC9E,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAA;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAc,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,eAAe,+BAgB/F"}
@@ -1 +1 @@
1
- {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../src/Form.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,kBAAkB,EAAsB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAM5G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;IAClH,wFAAwF;IACxF,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,iGAAiG;IACjG,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAqBD,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAe,EAAE,UAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BAoGpH"}
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../src/Form.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,kBAAkB,EAAsB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAM5G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;IAClH,wFAAwF;IACxF,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,iGAAiG;IACjG,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAqBD,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAe,EAAE,UAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,+BA2GpH"}
@@ -31,8 +31,16 @@ export interface IconButtonProps extends ComponentPropsWithRef<'button'> {
31
31
  /** Why the action cannot succeed right now. Disables the button, keeps it
32
32
  * reachable by keyboard, and shows the reason as the tooltip. */
33
33
  disabledReason?: string;
34
+ /**
35
+ * A link that looks like an icon button: an anchor, so the address stays
36
+ * real for a modified click or a new tab, as `Link` keeps it. A router app
37
+ * passes `onClick`, prevents the default and navigates. A link cannot be
38
+ * disabled, so while it would be — `disabled`, `disabledReason`, a busy
39
+ * Form — it is the button (UIG-14, Katerina, 18 September).
40
+ */
41
+ href?: string;
34
42
  /** The icon: 16px, stroke 1.5. */
35
43
  children: ReactNode;
36
44
  }
37
- export declare function IconButton({ variant, pressed, glow, className, children, disabled, disabledReason, tooltip, tooltipShortcut, tooltipPlacement, type, ...props }: IconButtonProps): import("react").JSX.Element;
45
+ export declare function IconButton({ variant, pressed, glow, className, children, disabled, disabledReason, tooltip, tooltipShortcut, tooltipPlacement, type, href, ...props }: IconButtonProps): import("react").JSX.Element;
38
46
  //# sourceMappingURL=IconButton.d.ts.map
@@ -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;AAM7D;;;;;;;;;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,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,GAAG,KAAK,EACT,EAAE,eAAe,+BA2DjB"}
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;AAM7D;;;;;;;;;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"}
@@ -30,10 +30,17 @@ export interface PreviewCardProps {
30
30
  delay?: number;
31
31
  /** After the pointer leaves, in ms — the grace that lets you cross the gap into the card. */
32
32
  closeDelay?: number;
33
- /** On the card's surface: its width, its padding, a max height. */
33
+ /** On the card's surface: its width. */
34
34
  className?: string;
35
+ /**
36
+ * On the scrolling content: its padding (default 12px) and rhythm. The
37
+ * padding sits inside the scrolling box, as in `Popover`, so the scrollbar
38
+ * hugs the card's edge — its thumb 3px from it, like every panel's
39
+ * (Katerina, 19 September; it sat 12px in, behind the card's padding).
40
+ */
41
+ contentClassName?: string;
35
42
  /** Extra classes on the trigger wrapper — e.g. `block w-full` for a row. */
36
43
  wrapperClassName?: string;
37
44
  }
38
- export declare function PreviewCard({ content, children, side, delay, closeDelay, className, wrapperClassName }: PreviewCardProps): import("react").JSX.Element;
45
+ export declare function PreviewCard({ content, children, side, delay, closeDelay, className, contentClassName, wrapperClassName }: PreviewCardProps): import("react").JSX.Element;
39
46
  //# sourceMappingURL=PreviewCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewCard.d.ts","sourceRoot":"","sources":["../src/PreviewCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,OAAO,EAAE,SAAS,CAAA;IAClB,iDAAiD;IACjD,QAAQ,EAAE,SAAS,CAAA;IACnB,+FAA+F;IAC/F,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC1C,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAmBD,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAc,EAAE,KAAkB,EAAE,UAAwB,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,+BAiC7J"}
1
+ {"version":3,"file":"PreviewCard.d.ts","sourceRoot":"","sources":["../src/PreviewCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,OAAO,EAAE,SAAS,CAAA;IAClB,iDAAiD;IACjD,QAAQ,EAAE,SAAS,CAAA;IACnB,+FAA+F;IAC/F,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC1C,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6FAA6F;IAC7F,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAmBD,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAc,EAAE,KAAkB,EAAE,UAAwB,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,+BAiC/K"}
@@ -53,6 +53,12 @@ export interface SectionHeaderProps {
53
53
  actions?: SectionAction[];
54
54
  /** `hover` reveals the actions while the row is hovered or focused; `always` keeps them. */
55
55
  showActions?: 'hover' | 'always';
56
+ /**
57
+ * `fill` lights the row under the pointer when it does something (a toggle,
58
+ * actions); `none` keeps it still — a heading whose actions are always shown,
59
+ * where the buttons light up on their own (UIG-14, Katerina, 19 September).
60
+ */
61
+ hover?: 'fill' | 'none';
56
62
  /**
57
63
  * What the title renders as, in Base UI's manner. A plain button with
58
64
  * `onToggle` by default; `CollapsibleSection` hands in `Collapsible.Trigger`.
@@ -60,5 +66,5 @@ export interface SectionHeaderProps {
60
66
  render?: useRender.RenderProp;
61
67
  className?: string;
62
68
  }
63
- export declare function SectionHeader({ title, chevron, isExpanded, onToggle, trailing, actions, showActions, render, className }: SectionHeaderProps): import("react").JSX.Element;
69
+ export declare function SectionHeader({ title, chevron, isExpanded, onToggle, trailing, actions, showActions, hover, render, className }: SectionHeaderProps): import("react").JSX.Element;
64
70
  //# sourceMappingURL=SectionHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SectionHeader.d.ts","sourceRoot":"","sources":["../src/SectionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAKrD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,yCAAyC;IACzC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,4FAA4F;IAC5F,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAChC;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC,UAAU,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,OAAe,EAAE,UAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAqB,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,kBAAkB,+BA2DrK"}
1
+ {"version":3,"file":"SectionHeader.d.ts","sourceRoot":"","sources":["../src/SectionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAKrD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IACrB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,yCAAyC;IACzC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAA;IACzB,4FAA4F;IAC5F,WAAW,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IAChC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC,UAAU,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,OAAe,EAAE,UAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAqB,EAAE,KAAc,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,kBAAkB,+BA2DrL"}
package/dist/Select.d.ts CHANGED
@@ -23,8 +23,9 @@ import type { ReactNode } from 'react';
23
23
  * highlight is managed rather than counted, and a value that can be part of a
24
24
  * form.
25
25
  *
26
- * Two sizes; `disabled` explains nothing by itself wrap it in a tooltip
27
- * that does.
26
+ * Two sizes. `disabled` explains nothing by itself; `disabledReason` says
27
+ * why, as Button's does: the select looks disabled, will not open, stays
28
+ * reachable by Tab, and shows the reason on hover and on keyboard focus.
28
29
  */
29
30
  export interface SelectOption {
30
31
  value: string;
@@ -42,7 +43,14 @@ export interface SelectProps {
42
43
  'aria-required'?: boolean | 'true' | 'false';
43
44
  placeholder?: string;
44
45
  disabled?: boolean;
46
+ /**
47
+ * Why it cannot be changed right now (UIG-14, Katerina, 19 September). It
48
+ * looks disabled and will not open, but Tab still reaches it, and the reason
49
+ * shows as its tooltip — a native disabled button cannot be focused, so it
50
+ * could never say why. Takes the place of wrapping it in `WithTooltip`.
51
+ */
52
+ disabledReason?: string;
45
53
  className?: string;
46
54
  }
47
- export declare function Select({ value, onChange, options, size, ariaLabel, placeholder, disabled, className, ...aria }: SelectProps): import("react").JSX.Element;
55
+ export declare function Select({ value, onChange, options, size, ariaLabel, placeholder, disabled, disabledReason, className, ...aria }: SelectProps): import("react").JSX.Element;
48
56
  //# sourceMappingURL=Select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../src/Select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAKtC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,yDAAyD;IACzD,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAOD,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAgB,EAAE,SAAS,EAAE,WAAuB,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,WAAW,+BA2HnJ"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../src/Select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAMtC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,yDAAyD;IACzD,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAOD,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAgB,EAAE,SAAS,EAAE,WAAuB,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,WAAW,+BAuInK"}
package/dist/Tooltip.d.ts CHANGED
@@ -25,6 +25,12 @@ export interface TooltipProps extends Omit<ComponentPropsWithRef<'div'>, 'childr
25
25
  * decide whether the modifier is a glyph or a word. */
26
26
  shortcut?: string;
27
27
  }
28
+ /**
29
+ * One line at 30px, as it has always been; a label longer than 320px wraps
30
+ * onto more lines rather than running off the screen (Katerina, 19 September:
31
+ * a reference's full address drew a pill 950px wide). `py-1` only shows once
32
+ * it wraps: a single line is centred in the 30px.
33
+ */
28
34
  export declare function Tooltip({ label, shortcut, className, ...props }: TooltipProps): import("react").JSX.Element;
29
35
  export interface WithTooltipProps {
30
36
  label: string;
@@ -33,13 +39,19 @@ export interface WithTooltipProps {
33
39
  placement?: 'top' | 'bottom';
34
40
  /** Extra classes on the wrapper — e.g. `min-w-0 shrink` so a truncating label keeps truncating inside it. */
35
41
  wrapperClassName?: string;
42
+ /**
43
+ * For a trigger inside a line of text — a reference, a name in a sentence:
44
+ * the wrapper is a `<span>`, because a `<div>` is not allowed inside a
45
+ * paragraph (UIG-14, Katerina, 19 September).
46
+ */
47
+ inline?: boolean;
36
48
  children: ReactNode;
37
49
  }
38
50
  /** A tooltip on something that cannot be its own trigger — a span, a `Chip`,
39
51
  * an icon. It wraps what it is given in an element that carries the handlers.
40
52
  * A control that can be the trigger does it itself: `IconButton` takes a
41
53
  * `tooltip` prop, and `Button` shows a `disabledReason` the same way. */
42
- export declare function WithTooltip({ label, shortcut, placement, wrapperClassName, children }: WithTooltipProps): import("react").JSX.Element;
54
+ export declare function WithTooltip({ label, shortcut, placement, wrapperClassName, inline, children }: WithTooltipProps): import("react").JSX.Element;
43
55
  /**
44
56
  * The tooltip a control wears itself, rather than through a wrapper.
45
57
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../src/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AA+B3E,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAAE,KAAkB,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,oBAAoB,+BAM1G;AAED;iFACiF;AACjF,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAClF,KAAK,EAAE,MAAM,CAAA;IACb;;4DAEwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,+BAO7E;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IAC5B,6GAA6G;IAC7G,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAiED;;;0EAG0E;AAC1E,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,gBAAgB,+BAc/G;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAiB,EAAE,QAAQ,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,+BAU1K"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../src/Tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AA+B3E,MAAM,WAAW,oBAAoB;IACnC,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAAE,KAAkB,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,oBAAoB,+BAM1G;AAED;iFACiF;AACjF,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAClF,KAAK,EAAE,MAAM,CAAA;IACb;;4DAEwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,+BAO7E;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IAC5B,6GAA6G;IAC7G,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAiED;;;0EAG0E;AAC1E,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAiB,EAAE,gBAAgB,EAAE,MAAc,EAAE,QAAQ,EAAE,EAAE,gBAAgB,+BAe/H;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAiB,EAAE,QAAQ,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,+BAU1K"}
@@ -381,7 +381,7 @@ var OWNED_BEHAVIOURS = [
381
381
  },
382
382
  {
383
383
  id: "page-keys",
384
- behaviour: "Closes on Escape, and takes its keys, by itself",
384
+ behaviour: "Takes its keys by itself",
385
385
  baseUi: ["Dialog", "AlertDialog", "Popover", "Menu", "Select", "Combobox", "Tooltip", "PreviewCard", "Toast"],
386
386
  owners: ["DialogShell", "Popover", "Menu", "Select", "Tabs", "Toolbar"],
387
387
  reads: "a keydown, keyup or keypress listener on window or document"
@@ -776,6 +776,7 @@ var PART_LOOK_PROPS = {
776
776
  RailItem: ["active"],
777
777
  Reaction: ["pressed"],
778
778
  ReactionPicker: ["surface"],
779
+ SectionHeader: ["hover"],
779
780
  SectionLabel: ["tone"],
780
781
  Select: ["size"],
781
782
  Tabs: ["size"],