@igne-agency/react-web-ui 0.5.0 → 0.6.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 (254) hide show
  1. package/dist/components/accordion/accordion.css +21 -21
  2. package/dist/components/accordion/accordion.d.ts +17 -4
  3. package/dist/components/accordion/accordion.js +83 -36
  4. package/dist/components/accordion/accordion.module.js +6 -6
  5. package/dist/components/attachment-tile/attachment-preview.d.ts +56 -13
  6. package/dist/components/attachment-tile/attachment-preview.js +388 -119
  7. package/dist/components/attachment-tile/attachment-tile.css +31 -25
  8. package/dist/components/attachment-tile/attachment-tile.d.ts +32 -10
  9. package/dist/components/attachment-tile/attachment-tile.js +160 -43
  10. package/dist/components/attachment-tile/attachment-tile.module.js +8 -8
  11. package/dist/components/attachment-tile/index.d.ts +1 -1
  12. package/dist/components/avatar/avatar.css +9 -9
  13. package/dist/components/avatar/avatar.d.ts +50 -5
  14. package/dist/components/avatar/avatar.js +178 -64
  15. package/dist/components/avatar/avatar.module.js +3 -3
  16. package/dist/components/avatar-group/avatar-group-context.d.ts +2 -4
  17. package/dist/components/avatar-group/avatar-group-context.js +2 -2
  18. package/dist/components/avatar-group/avatar-group.css +26 -20
  19. package/dist/components/avatar-group/avatar-group.d.ts +85 -27
  20. package/dist/components/avatar-group/avatar-group.js +400 -246
  21. package/dist/components/avatar-group/avatar-group.module.js +8 -8
  22. package/dist/components/breadcrumbs/breadcrumbs.css +12 -12
  23. package/dist/components/breadcrumbs/breadcrumbs.d.ts +69 -23
  24. package/dist/components/breadcrumbs/breadcrumbs.js +299 -248
  25. package/dist/components/breadcrumbs/breadcrumbs.module.js +8 -8
  26. package/dist/components/button/button.css +29 -31
  27. package/dist/components/button/button.d.ts +20 -16
  28. package/dist/components/button/button.js +140 -145
  29. package/dist/components/button/button.module.js +1 -1
  30. package/dist/components/button/index.js +1 -1
  31. package/dist/components/checkbox-field/checkbox-field.js +63 -49
  32. package/dist/components/checkbox-field/checkbox.css +105 -56
  33. package/dist/components/checkbox-field/checkbox.d.ts +3 -2
  34. package/dist/components/checkbox-field/checkbox.js +12 -9
  35. package/dist/components/checkbox-field/checkbox.module.js +4 -4
  36. package/dist/components/checkbox-group-field/checkbox-group-field.js +78 -72
  37. package/dist/components/checkbox-group-field/checkbox-group.css +14 -10
  38. package/dist/components/checkbox-group-field/checkbox-group.d.ts +2 -2
  39. package/dist/components/checkbox-group-field/checkbox-group.js +2 -2
  40. package/dist/components/checkbox-group-field/checkbox-group.module.js +2 -2
  41. package/dist/components/collapsible/collapsible.css +20 -20
  42. package/dist/components/collapsible/collapsible.d.ts +17 -4
  43. package/dist/components/collapsible/collapsible.js +83 -36
  44. package/dist/components/collapsible/collapsible.module.js +5 -5
  45. package/dist/components/combobox-field/combobox-field.js +206 -158
  46. package/dist/components/combobox-field/combobox.css +492 -277
  47. package/dist/components/combobox-field/combobox.d.ts +148 -39
  48. package/dist/components/combobox-field/combobox.js +506 -206
  49. package/dist/components/combobox-field/combobox.module.js +21 -21
  50. package/dist/components/combobox-field/value-state-view.css +5 -5
  51. package/dist/components/combobox-field/value-state-view.module.js +4 -4
  52. package/dist/components/composer/composer-attachments.d.ts +30 -11
  53. package/dist/components/composer/composer-attachments.js +45 -40
  54. package/dist/components/composer/composer-editor.css +40 -35
  55. package/dist/components/composer/composer-editor.d.ts +14 -4
  56. package/dist/components/composer/composer-editor.js +134 -44
  57. package/dist/components/composer/composer-editor.module.js +5 -5
  58. package/dist/components/composer/composer.css +22 -22
  59. package/dist/components/composer/composer.d.ts +13 -2
  60. package/dist/components/composer/composer.js +78 -63
  61. package/dist/components/composer/composer.module.js +5 -5
  62. package/dist/components/composer/index.d.ts +2 -2
  63. package/dist/components/composer/mention-text.css +5 -5
  64. package/dist/components/composer/mention-text.module.js +1 -1
  65. package/dist/components/confirm-dialog/confirm-dialog.css +29 -29
  66. package/dist/components/confirm-dialog/confirm-dialog.d.ts +57 -3
  67. package/dist/components/confirm-dialog/confirm-dialog.js +266 -108
  68. package/dist/components/confirm-dialog/confirm-dialog.module.js +5 -5
  69. package/dist/components/conversation/conversation.css +52 -52
  70. package/dist/components/conversation/conversation.d.ts +43 -18
  71. package/dist/components/conversation/conversation.js +120 -78
  72. package/dist/components/conversation/conversation.module.js +15 -15
  73. package/dist/components/date-field/date-field.d.ts +1 -1
  74. package/dist/components/date-field/date-field.js +202 -100
  75. package/dist/components/date-field/date-input.d.ts +73 -37
  76. package/dist/components/date-field/date-input.js +72 -45
  77. package/dist/components/date-field/index.d.ts +1 -1
  78. package/dist/components/date-range-field/date-range-field.d.ts +1 -1
  79. package/dist/components/date-range-field/date-range-field.js +219 -107
  80. package/dist/components/date-range-field/date-range-input.d.ts +84 -40
  81. package/dist/components/date-range-field/date-range-input.js +83 -48
  82. package/dist/components/dialog/dialog.css +32 -32
  83. package/dist/components/dialog/dialog.d.ts +8 -7
  84. package/dist/components/dialog/dialog.js +8 -26
  85. package/dist/components/dialog/dialog.module.js +6 -6
  86. package/dist/components/divider/divider.css +6 -6
  87. package/dist/components/divider/divider.d.ts +36 -2
  88. package/dist/components/divider/divider.js +195 -29
  89. package/dist/components/divider/divider.module.js +3 -3
  90. package/dist/components/drawer/drawer.css +55 -56
  91. package/dist/components/drawer/drawer.d.ts +8 -7
  92. package/dist/components/drawer/drawer.js +8 -26
  93. package/dist/components/drawer/drawer.module.js +6 -6
  94. package/dist/components/field/field.css +34 -24
  95. package/dist/components/field/field.d.ts +60 -37
  96. package/dist/components/field/field.js +242 -157
  97. package/dist/components/field/field.module.js +12 -10
  98. package/dist/components/field/input-parts.d.ts +11 -13
  99. package/dist/components/field/input-parts.js +23 -42
  100. package/dist/components/field-placeholder/field-placeholder.css +6 -6
  101. package/dist/components/field-placeholder/field-placeholder.module.js +4 -4
  102. package/dist/components/fieldset/field-group.d.ts +1 -1
  103. package/dist/components/fieldset/field-group.js +48 -42
  104. package/dist/components/fieldset/fieldset-root.d.ts +1 -1
  105. package/dist/components/fieldset/fieldset-root.js +19 -17
  106. package/dist/components/fieldset/fieldset.d.ts +2 -2
  107. package/dist/components/fieldset/fieldset.js +2 -2
  108. package/dist/components/file-field/file-field.css +126 -60
  109. package/dist/components/file-field/file-field.js +201 -109
  110. package/dist/components/file-field/file-field.module.js +4 -4
  111. package/dist/components/file-field/file-input.d.ts +66 -40
  112. package/dist/components/file-field/file-input.js +188 -132
  113. package/dist/components/filter-bar/filter-bar.css +8 -8
  114. package/dist/components/filter-bar/filter-bar.d.ts +12 -3
  115. package/dist/components/filter-bar/filter-bar.js +23 -25
  116. package/dist/components/filter-bar/filter-bar.module.js +5 -5
  117. package/dist/components/form/form.d.ts +19 -7
  118. package/dist/components/form/form.js +80 -29
  119. package/dist/components/icon/icon.css +2 -2
  120. package/dist/components/icon/icon.module.js +1 -1
  121. package/dist/components/link/link.css +6 -5
  122. package/dist/components/link/link.module.js +1 -1
  123. package/dist/components/menu/menu.css +52 -47
  124. package/dist/components/menu/menu.d.ts +32 -25
  125. package/dist/components/menu/menu.js +75 -124
  126. package/dist/components/menu/menu.module.js +8 -8
  127. package/dist/components/nav/nav-context.d.ts +1 -1
  128. package/dist/components/nav/nav-item-view.d.ts +10 -13
  129. package/dist/components/nav/nav-item-view.js +42 -54
  130. package/dist/components/nav/nav.css +150 -119
  131. package/dist/components/nav/nav.d.ts +61 -17
  132. package/dist/components/nav/nav.js +271 -176
  133. package/dist/components/nav/nav.module.js +17 -15
  134. package/dist/components/number-field/number-field.css +153 -64
  135. package/dist/components/number-field/number-field.d.ts +2 -2
  136. package/dist/components/number-field/number-field.js +112 -91
  137. package/dist/components/number-field/number-field.module.js +6 -6
  138. package/dist/components/number-field/number-input.d.ts +43 -23
  139. package/dist/components/number-field/number-input.js +179 -125
  140. package/dist/components/otp-field/otp-field.css +153 -60
  141. package/dist/components/otp-field/otp-field.d.ts +2 -2
  142. package/dist/components/otp-field/otp-field.js +62 -46
  143. package/dist/components/otp-field/otp-field.module.js +4 -4
  144. package/dist/components/otp-field/otp-input.d.ts +8 -6
  145. package/dist/components/otp-field/otp-input.js +92 -92
  146. package/dist/components/pagination/pagination.d.ts +46 -15
  147. package/dist/components/pagination/pagination.js +217 -224
  148. package/dist/components/password-field/password-field.css +23 -23
  149. package/dist/components/password-field/password-field.js +107 -85
  150. package/dist/components/password-field/password-field.module.js +8 -8
  151. package/dist/components/password-field/password-strength.d.ts +107 -3
  152. package/dist/components/password-field/password-strength.js +569 -92
  153. package/dist/components/photo-field/photo-field.js +137 -112
  154. package/dist/components/photo-field/photo-input.css +67 -44
  155. package/dist/components/photo-field/photo-input.d.ts +59 -15
  156. package/dist/components/photo-field/photo-input.js +173 -86
  157. package/dist/components/photo-field/photo-input.module.js +10 -8
  158. package/dist/components/popover/popover.css +41 -41
  159. package/dist/components/popover/popover.d.ts +66 -25
  160. package/dist/components/popover/popover.js +332 -217
  161. package/dist/components/popover/popover.module.js +15 -19
  162. package/dist/components/radio-group-field/radio-group-field.js +80 -71
  163. package/dist/components/radio-group-field/radio-group.css +112 -60
  164. package/dist/components/radio-group-field/radio-group.d.ts +19 -3
  165. package/dist/components/radio-group-field/radio-group.js +66 -23
  166. package/dist/components/radio-group-field/radio-group.module.js +4 -4
  167. package/dist/components/segmented-control-field/segmented-control-field.d.ts +1 -1
  168. package/dist/components/segmented-control-field/segmented-control-field.js +111 -96
  169. package/dist/components/segmented-control-field/segmented-control.css +132 -79
  170. package/dist/components/segmented-control-field/segmented-control.d.ts +39 -15
  171. package/dist/components/segmented-control-field/segmented-control.js +124 -41
  172. package/dist/components/segmented-control-field/segmented-control.module.js +4 -4
  173. package/dist/components/select-field/select.css +214 -101
  174. package/dist/components/select-field/select.d.ts +43 -11
  175. package/dist/components/select-field/select.js +194 -109
  176. package/dist/components/select-field/select.module.js +14 -14
  177. package/dist/components/skeleton/skeleton.css +4 -4
  178. package/dist/components/skeleton/skeleton.module.js +3 -3
  179. package/dist/components/stale/stale.css +15 -15
  180. package/dist/components/stale/stale.d.ts +27 -3
  181. package/dist/components/stale/stale.js +147 -66
  182. package/dist/components/stale/stale.module.js +6 -6
  183. package/dist/components/status-message/status-message.css +22 -22
  184. package/dist/components/status-message/status-message.module.js +6 -6
  185. package/dist/components/switch-field/switch-field.js +77 -57
  186. package/dist/components/switch-field/switch.css +112 -63
  187. package/dist/components/switch-field/switch.d.ts +20 -3
  188. package/dist/components/switch-field/switch.js +70 -27
  189. package/dist/components/switch-field/switch.module.js +4 -4
  190. package/dist/components/tabs/tabs.css +32 -32
  191. package/dist/components/tabs/tabs.d.ts +21 -7
  192. package/dist/components/tabs/tabs.js +73 -14
  193. package/dist/components/tabs/tabs.module.js +7 -7
  194. package/dist/components/tag/tag.css +84 -84
  195. package/dist/components/tag/tag.module.js +3 -3
  196. package/dist/components/tag-group/tag-group.css +94 -94
  197. package/dist/components/tag-group/tag-group.module.js +4 -4
  198. package/dist/components/text-field/text-field.css +159 -82
  199. package/dist/components/text-field/text-field.d.ts +1 -1
  200. package/dist/components/text-field/text-field.js +139 -110
  201. package/dist/components/text-field/text-field.module.js +9 -9
  202. package/dist/components/text-field/text-input.d.ts +81 -45
  203. package/dist/components/text-field/text-input.js +366 -217
  204. package/dist/components/textarea-field/textarea-field.css +7 -2
  205. package/dist/components/textarea-field/textarea-field.js +72 -56
  206. package/dist/components/textarea-field/textarea-field.module.js +2 -2
  207. package/dist/components/time-field/time-field.js +153 -60
  208. package/dist/components/time-field/time-input.d.ts +21 -10
  209. package/dist/components/time-field/time-input.js +22 -11
  210. package/dist/components/toast/toast-provider.css +34 -31
  211. package/dist/components/toast/toast-provider.d.ts +63 -14
  212. package/dist/components/toast/toast-provider.js +174 -111
  213. package/dist/components/toast/toast-provider.module.js +7 -7
  214. package/dist/components/toggle-group-field/toggle-group-field.d.ts +1 -1
  215. package/dist/components/toggle-group-field/toggle-group-field.js +95 -89
  216. package/dist/components/toggle-group-field/toggle-group.css +117 -67
  217. package/dist/components/toggle-group-field/toggle-group.d.ts +2 -2
  218. package/dist/components/toggle-group-field/toggle-group.js +2 -2
  219. package/dist/components/toggle-group-field/toggle-group.module.js +2 -2
  220. package/dist/components/tooltip/tooltip.css +4 -4
  221. package/dist/components/tooltip/tooltip.module.js +1 -1
  222. package/dist/data-table/data-table-content.js +6 -5
  223. package/dist/data-table/data-table-parts.d.ts +41 -13
  224. package/dist/data-table/data-table-parts.js +213 -172
  225. package/dist/data-table/data-table-selection.d.ts +105 -3
  226. package/dist/data-table/data-table-selection.js +654 -145
  227. package/dist/data-table/data-table.css +125 -128
  228. package/dist/data-table/data-table.d.ts +21 -26
  229. package/dist/data-table/data-table.js +20 -23
  230. package/dist/data-table/data-table.module.js +32 -34
  231. package/dist/data-table/index.d.ts +2 -2
  232. package/dist/index.js +3 -3
  233. package/dist/lib/calendar/calendar-navigation.d.ts +39 -5
  234. package/dist/lib/calendar/calendar-navigation.js +185 -118
  235. package/dist/lib/calendar/calendar-parts.d.ts +143 -0
  236. package/dist/lib/calendar/calendar-parts.js +540 -0
  237. package/dist/lib/calendar/calendar-prefab.d.ts +52 -0
  238. package/dist/lib/calendar/calendar-prefab.js +311 -0
  239. package/dist/lib/calendar/calendar-year.d.ts +3 -1
  240. package/dist/lib/calendar/calendar-year.js +139 -131
  241. package/dist/lib/calendar/temporal.css +325 -232
  242. package/dist/lib/calendar/temporal.d.ts +67 -82
  243. package/dist/lib/calendar/temporal.js +258 -569
  244. package/dist/lib/calendar/temporal.module.js +38 -38
  245. package/dist/lib/forms/use-connected-field.d.ts +1 -1
  246. package/dist/lib/forms/use-connected-field.js +1 -1
  247. package/dist/lib/render-as.d.ts +13 -0
  248. package/dist/lib/render-as.js +46 -0
  249. package/dist/tokens.css +6 -3
  250. package/package.json +1 -1
  251. package/tokens/dark.tokens.json +6 -0
  252. package/tokens/sys.tokens.json +7 -0
  253. package/dist/components/button/close-button.d.ts +0 -16
  254. package/dist/components/button/close-button.js +0 -30
@@ -1,12 +1,12 @@
1
1
  import './avatar-group.css';// src/components/avatar-group/avatar-group.module.scss
2
- var group = "_group_6uki6_3";
3
- var member = "_member_6uki6_8";
4
- var overflow = "_overflow_6uki6_17";
5
- var count = "_count_6uki6_39";
6
- var popup = "_popup_6uki6_42";
7
- var list = "_list_6uki6_47";
8
- var item = "_item_6uki6_53";
9
- var suffix = "_suffix_6uki6_59";
2
+ var group = "_group_82sgm_3";
3
+ var member = "_member_82sgm_8";
4
+ var overflow = "_overflow_82sgm_17";
5
+ var count = "_count_82sgm_39";
6
+ var popup = "_popup_82sgm_42";
7
+ var list = "_list_82sgm_53";
8
+ var item = "_item_82sgm_59";
9
+ var suffix = "_suffix_82sgm_65";
10
10
  var avatar_group_module_default = {
11
11
  group,
12
12
  member,
@@ -1,55 +1,55 @@
1
1
  @layer kit.reset, kit.base, kit.components;
2
2
  @layer kit.components {
3
- ._root_k1utk_3 {
3
+ ._root_amqs9_3 {
4
4
  position: relative;
5
5
  min-inline-size: 0;
6
6
  }
7
- ._list_k1utk_7 {
7
+ ._list_amqs9_7 {
8
8
  display: grid;
9
9
  grid-auto-columns: minmax(0, max-content) max-content;
10
10
  grid-auto-flow: column;
11
11
  align-items: center;
12
12
  list-style: none;
13
13
  }
14
- ._item_k1utk_14 {
14
+ ._item_amqs9_14 {
15
15
  display: flex;
16
16
  align-items: center;
17
17
  min-inline-size: 0;
18
18
  }
19
- ._crumb_k1utk_19 {
19
+ ._crumb_amqs9_19 {
20
20
  min-inline-size: 0;
21
21
  overflow: hidden;
22
- border-radius: var(--sys-radius-xs);
22
+ border-radius: var(--breadcrumbs-radius, var(--sys-radius-xs));
23
23
  font: var(--breadcrumbs-font, var(--sys-font-label-medium));
24
24
  text-overflow: ellipsis;
25
25
  white-space: nowrap;
26
26
  }
27
- ._crumb_k1utk_19 {
27
+ ._crumb_amqs9_19 {
28
28
  outline: 0 solid var(--sys-color-focus-ring);
29
29
  outline-offset: var(--sys-focus-ring-offset);
30
30
  }
31
- ._crumb_k1utk_19:focus-visible {
31
+ ._crumb_amqs9_19:focus-visible {
32
32
  outline-width: var(--sys-focus-ring-width);
33
33
  }
34
- ._separator_k1utk_34 {
34
+ ._separator_amqs9_34 {
35
35
  display: flex;
36
36
  align-items: center;
37
- padding-inline: var(--sys-unit-4);
37
+ padding-inline: var(--breadcrumbs-separator-pad-x, var(--sys-unit-4));
38
38
  }
39
- ._gauge_k1utk_39 {
39
+ ._gauge_amqs9_39 {
40
40
  position: absolute;
41
41
  visibility: hidden;
42
42
  inset: 0;
43
43
  overflow: hidden;
44
44
  pointer-events: none;
45
45
  }
46
- ._gaugeList_k1utk_46 {
46
+ ._gaugeList_amqs9_46 {
47
47
  display: flex;
48
48
  align-items: center;
49
49
  inline-size: max-content;
50
50
  list-style: none;
51
51
  }
52
- ._popup_k1utk_52 {
52
+ ._popup_amqs9_52 {
53
53
  max-inline-size: var(--available-width);
54
54
  max-block-size: var(--available-height);
55
55
  overflow-y: auto;
@@ -1,5 +1,20 @@
1
1
  import { useRender } from "@base-ui/react/use-render";
2
- import type { ComponentPropsWithRef, ReactElement, ReactNode, Ref } from "react";
2
+ import type { ReactElement, ReactNode, Ref } from "react";
3
+ import { type MenuContentProps, type MenuRootProps, type MenuTriggerProps } from "../menu/menu.tsx";
4
+ export type BreadcrumbsClippedHintProps = Readonly<{
5
+ /** The crumb the hint describes, a `Link` or the `Page`. */
6
+ render: ReactElement;
7
+ /** The crumb's text, drawn in the crumb and shown in full in the hint. */
8
+ children: ReactNode;
9
+ }>;
10
+ /**
11
+ * Renders a crumb with its text, and shows the full text as a tooltip only
12
+ * while the crumb cuts it short.
13
+ *
14
+ * @example
15
+ * <Breadcrumbs.ClippedHint render={<Breadcrumbs.Page />}>Invoice 2041</Breadcrumbs.ClippedHint>
16
+ */
17
+ declare const ClippedHint: ({ render, children, }: BreadcrumbsClippedHintProps) => ReactNode;
3
18
  export type BreadcrumbsRootProps = Omit<useRender.ComponentProps<"nav">, "aria-label"> & Readonly<{
4
19
  /** The landmark's name, such as "Breadcrumbs". */
5
20
  "aria-label": string;
@@ -19,38 +34,62 @@ export type BreadcrumbsLinkProps = useRender.ComponentProps<"a">;
19
34
  /**
20
35
  * A crumb leading to a page above the current one. It spreads every other prop
21
36
  * onto the `<a>` and forwards its ref, so a router's `createLink` can wrap it.
22
- * When it cuts its text short, it shows the full text as a tooltip.
37
+ *
38
+ * @example
39
+ * <Breadcrumbs.Link href="/invoices">Invoices</Breadcrumbs.Link>
23
40
  */
24
- declare const BreadcrumbLink: ({ render, className, children, ref, ...props }: BreadcrumbsLinkProps) => ReactNode;
25
- export type BreadcrumbsPageProps = ComponentPropsWithRef<"span">;
41
+ declare const BreadcrumbLink: ({ render, className, ref, ...props }: BreadcrumbsLinkProps) => ReactElement;
42
+ export type BreadcrumbsPageProps = useRender.ComponentProps<"span">;
26
43
  /**
27
- * The current page's crumb, which is not a link. When it cuts its text short,
28
- * it shows the full text as a tooltip.
44
+ * The current page's crumb, which is not a link.
45
+ *
46
+ * @example
47
+ * <Breadcrumbs.Page>Invoice 2041</Breadcrumbs.Page>
29
48
  */
30
- declare const Page: ({ className, children, ...props }: BreadcrumbsPageProps) => ReactNode;
49
+ declare const Page: ({ render, className, ref, ...props }: BreadcrumbsPageProps) => ReactElement;
31
50
  export type BreadcrumbsSeparatorProps = useRender.ComponentProps<"li">;
32
51
  /**
33
52
  * The decorative space between two crumbs, holding the app's mark, such as a
34
53
  * chevron, given as `children`. Without one it is spacing alone.
35
54
  */
36
55
  declare const Separator: ({ render, className, ref, ...props }: BreadcrumbsSeparatorProps) => ReactElement;
37
- export type BreadcrumbsOverflowProps = Readonly<{
38
- /** Accessible name of the button, such as "Show more", surfaced as its tooltip. */
39
- label: string;
40
- /** The button's glyph, such as the app's ellipsis. */
41
- icon: ReactNode;
42
- /** The folded crumbs, each a `Menu.LinkItem`. */
43
- children: ReactNode;
44
- }>;
45
- /** A button that opens a menu of the crumbs the trail has no room for. */
46
- declare const Overflow: ({ label, icon, children, }: BreadcrumbsOverflowProps) => ReactNode;
56
+ export type BreadcrumbsOverflowProps = MenuRootProps;
57
+ /**
58
+ * Holds the overflow menu's open state for `OverflowTrigger` and
59
+ * `OverflowContent`. It renders no element of its own.
60
+ *
61
+ * @example
62
+ * <Breadcrumbs.Overflow>
63
+ * <Breadcrumbs.OverflowTrigger render={<IconButton label="Show more" variant="tertiary"><MoreIcon /></IconButton>} />
64
+ * <Breadcrumbs.OverflowContent>…</Breadcrumbs.OverflowContent>
65
+ * </Breadcrumbs.Overflow>
66
+ */
67
+ declare const Overflow: (props: BreadcrumbsOverflowProps) => ReactNode;
68
+ export type BreadcrumbsOverflowTriggerProps = MenuTriggerProps;
69
+ /**
70
+ * The button that opens the menu of the crumbs the trail has no room for. It
71
+ * renders whichever button it is given.
72
+ *
73
+ * @example
74
+ * <Breadcrumbs.OverflowTrigger render={<IconButton label="Show more" variant="tertiary"><MoreIcon /></IconButton>} />
75
+ */
76
+ declare const OverflowTrigger: (props: BreadcrumbsOverflowTriggerProps) => ReactNode;
77
+ export type BreadcrumbsOverflowContentProps = MenuContentProps;
78
+ /**
79
+ * The menu of folded crumbs, each a `Menu.LinkItem`, aligned under the
80
+ * trigger's start and scrolling when it outgrows the room.
81
+ *
82
+ * @example
83
+ * <Breadcrumbs.OverflowContent>
84
+ * <Menu.LinkItem href="/region">Region</Menu.LinkItem>
85
+ * </Breadcrumbs.OverflowContent>
86
+ */
87
+ declare const OverflowContent: ({ align, sideOffset, className, ...props }: BreadcrumbsOverflowContentProps) => ReactNode;
47
88
  export type BreadcrumbsGaugeProps = Readonly<{
48
89
  /** Every crumb's label, outermost first. */
49
90
  labels: readonly ReactNode[];
50
- /** The `Overflow` button's label, so the copy measures the same. */
51
- overflowLabel: string;
52
- /** The `Overflow` button's glyph, so the copy measures the same. */
53
- overflowIcon: ReactNode;
91
+ /** The button `OverflowTrigger` renders, so the copy measures the same. */
92
+ overflow: ReactElement;
54
93
  /** The mark between crumbs, so the copy measures the same. */
55
94
  separator?: ReactNode;
56
95
  ref: Ref<HTMLOListElement>;
@@ -58,8 +97,11 @@ export type BreadcrumbsGaugeProps = Readonly<{
58
97
  /**
59
98
  * A hidden copy of the whole trail at its full length, with one separator and
60
99
  * the overflow button, for `useFold` to measure.
100
+ *
101
+ * @example
102
+ * <Breadcrumbs.Gauge ref={gauge} labels={labels} overflow={moreButton} separator={<ChevronIcon />} />
61
103
  */
62
- declare const Gauge: ({ labels, overflowLabel, overflowIcon, separator, ref, }: BreadcrumbsGaugeProps) => ReactNode;
104
+ declare const Gauge: ({ labels, overflow, separator, ref, }: BreadcrumbsGaugeProps) => ReactNode;
63
105
  /** One crumb of a trail: its label and, above the current page, the link it renders as. */
64
106
  export type Crumb = Readonly<{
65
107
  /** Stable key, such as the route id. */
@@ -96,12 +138,16 @@ type BreadcrumbsParts = typeof Trail & Readonly<{
96
138
  Link: typeof BreadcrumbLink;
97
139
  Page: typeof Page;
98
140
  Separator: typeof Separator;
141
+ ClippedHint: typeof ClippedHint;
99
142
  Overflow: typeof Overflow;
143
+ OverflowTrigger: typeof OverflowTrigger;
144
+ OverflowContent: typeof OverflowContent;
100
145
  Gauge: typeof Gauge;
101
146
  }>;
102
147
  /**
103
148
  * The trail to the current page. Given `crumbs`, it folds what does not fit
104
- * into an overflow menu; the parts hanging off it compose a trail by hand.
149
+ * into an overflow menu and hints the full text of a crumb it cuts short; the
150
+ * parts hanging off it compose a trail by hand.
105
151
  *
106
152
  * @example
107
153
  * <Breadcrumbs