@igne-agency/react-web-ui 0.3.0 → 0.4.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 (292) hide show
  1. package/README.md +32 -1
  2. package/dist/components/accordion/accordion.css +24 -19
  3. package/dist/components/accordion/accordion.d.ts +19 -3
  4. package/dist/components/accordion/accordion.js +86 -32
  5. package/dist/components/accordion/accordion.module.js +8 -8
  6. package/dist/components/active-filters/active-filter-describers.d.ts +1 -1
  7. package/dist/components/active-filters/active-filter-describers.js +1 -1
  8. package/dist/components/active-filters/active-filters.d.ts +35 -2
  9. package/dist/components/active-filters/active-filters.js +57 -52
  10. package/dist/components/active-filters/index.js +2 -2
  11. package/dist/components/attachment-tile/attachment-preview.d.ts +11 -9
  12. package/dist/components/attachment-tile/attachment-preview.js +102 -68
  13. package/dist/components/attachment-tile/attachment-tile.css +22 -13
  14. package/dist/components/attachment-tile/attachment-tile.d.ts +51 -6
  15. package/dist/components/attachment-tile/attachment-tile.js +209 -85
  16. package/dist/components/attachment-tile/attachment-tile.module.js +10 -10
  17. package/dist/components/attachment-tile/index.d.ts +1 -1
  18. package/dist/components/attachment-tile/index.js +2 -2
  19. package/dist/components/avatar/avatar.d.ts +5 -5
  20. package/dist/components/avatar/avatar.js +64 -37
  21. package/dist/components/avatar-group/avatar-group.js +2 -2
  22. package/dist/components/badge/badge.js +1 -1
  23. package/dist/components/breadcrumbs/breadcrumbs.d.ts +22 -7
  24. package/dist/components/breadcrumbs/breadcrumbs.js +189 -170
  25. package/dist/components/button/button.d.ts +2 -3
  26. package/dist/components/button/button.js +58 -77
  27. package/dist/components/button/close-button.d.ts +4 -2
  28. package/dist/components/button/close-button.js +9 -9
  29. package/dist/components/checkbox-field/checkbox-field.d.ts +17 -3
  30. package/dist/components/checkbox-field/checkbox-field.js +108 -131
  31. package/dist/components/checkbox-field/checkbox.css +26 -34
  32. package/dist/components/checkbox-field/checkbox.d.ts +51 -8
  33. package/dist/components/checkbox-field/checkbox.js +221 -57
  34. package/dist/components/checkbox-field/checkbox.module.js +6 -8
  35. package/dist/components/checkbox-field/index.d.ts +0 -1
  36. package/dist/components/checkbox-field/index.js +1 -2
  37. package/dist/components/checkbox-field/tsf-checkbox-field.d.ts +2 -2
  38. package/dist/components/checkbox-group-field/checkbox-group-field.d.ts +4 -1
  39. package/dist/components/checkbox-group-field/checkbox-group-field.js +54 -50
  40. package/dist/components/checkbox-group-field/checkbox-group.d.ts +7 -2
  41. package/dist/components/checkbox-group-field/checkbox-group.js +8 -3
  42. package/dist/components/collapsible/collapsible.css +23 -18
  43. package/dist/components/collapsible/collapsible.d.ts +18 -3
  44. package/dist/components/collapsible/collapsible.js +85 -32
  45. package/dist/components/collapsible/collapsible.module.js +7 -7
  46. package/dist/components/combobox-field/combobox-field.d.ts +9 -1
  47. package/dist/components/combobox-field/combobox-field.js +195 -175
  48. package/dist/components/combobox-field/combobox-items.d.ts +2 -2
  49. package/dist/components/combobox-field/combobox-items.js +4 -4
  50. package/dist/components/combobox-field/combobox.css +99 -96
  51. package/dist/components/combobox-field/combobox.d.ts +94 -15
  52. package/dist/components/combobox-field/combobox.js +484 -159
  53. package/dist/components/combobox-field/combobox.module.js +21 -21
  54. package/dist/components/combobox-field/index.d.ts +0 -1
  55. package/dist/components/combobox-field/selection.d.ts +4 -1
  56. package/dist/components/combobox-field/value-state-view.css +7 -3
  57. package/dist/components/combobox-field/value-state-view.d.ts +4 -2
  58. package/dist/components/combobox-field/value-state-view.js +15 -15
  59. package/dist/components/combobox-field/value-state-view.module.js +6 -4
  60. package/dist/components/composer/composer-attachments.d.ts +11 -3
  61. package/dist/components/composer/composer-attachments.js +61 -47
  62. package/dist/components/composer/composer-editor.d.ts +2 -1
  63. package/dist/components/composer/composer-editor.js +79 -71
  64. package/dist/components/composer/composer-mentions.js +2 -2
  65. package/dist/components/composer/composer.d.ts +42 -21
  66. package/dist/components/composer/composer.js +201 -58
  67. package/dist/components/composer/mention-text.js +3 -3
  68. package/dist/components/confirm-dialog/confirm-dialog.d.ts +8 -7
  69. package/dist/components/confirm-dialog/confirm-dialog.js +10 -9
  70. package/dist/components/conversation/conversation.context.d.ts +0 -5
  71. package/dist/components/conversation/conversation.d.ts +63 -29
  72. package/dist/components/conversation/conversation.js +193 -82
  73. package/dist/components/conversation/index.d.ts +1 -1
  74. package/dist/components/date-field/date-field.d.ts +10 -4
  75. package/dist/components/date-field/date-field.js +57 -43
  76. package/dist/components/date-field/date-input.d.ts +20 -3
  77. package/dist/components/date-field/date-input.js +28 -13
  78. package/dist/components/date-field/index.d.ts +1 -1
  79. package/dist/components/date-field/tsf-date-field.d.ts +1 -1
  80. package/dist/components/date-field/tsf-date-field.js +1 -1
  81. package/dist/components/date-range-field/date-range-field.d.ts +8 -4
  82. package/dist/components/date-range-field/date-range-field.js +57 -45
  83. package/dist/components/date-range-field/date-range-input.d.ts +20 -3
  84. package/dist/components/date-range-field/date-range-input.js +27 -12
  85. package/dist/components/date-range-field/tsf-date-range-field.d.ts +1 -1
  86. package/dist/components/date-range-field/tsf-date-range-field.js +1 -1
  87. package/dist/components/detail-list/detail-list.d.ts +28 -27
  88. package/dist/components/detail-list/detail-list.js +177 -121
  89. package/dist/components/dialog/dialog.d.ts +47 -27
  90. package/dist/components/dialog/dialog.js +101 -38
  91. package/dist/components/divider/divider.js +1 -1
  92. package/dist/components/drawer/drawer.d.ts +48 -30
  93. package/dist/components/drawer/drawer.js +113 -41
  94. package/dist/components/email-field/email-field.d.ts +5 -3
  95. package/dist/components/email-field/email-field.js +1 -3
  96. package/dist/components/email-field/tsf-email-field.d.ts +3 -2
  97. package/dist/components/empty-message/empty-message.d.ts +3 -3
  98. package/dist/components/empty-message/empty-message.js +3 -3
  99. package/dist/components/error-boundary/error-boundary.d.ts +5 -2
  100. package/dist/components/error-boundary/error-boundary.js +2 -3
  101. package/dist/components/error-message/error-message.d.ts +1 -1
  102. package/dist/components/error-message/error-message.js +1 -1
  103. package/dist/components/error-text/error-text.js +3 -3
  104. package/dist/components/field/field.d.ts +5 -5
  105. package/dist/components/field/field.js +9 -9
  106. package/dist/components/field/index.js +2 -2
  107. package/dist/components/field/input-parts.js +1 -1
  108. package/dist/components/field-placeholder/field-placeholder.d.ts +4 -1
  109. package/dist/components/field-placeholder/field-placeholder.js +41 -26
  110. package/dist/components/fieldset/field-group.js +1 -1
  111. package/dist/components/fieldset/fieldset-root.js +1 -1
  112. package/dist/components/fieldset/fieldset.css +4 -3
  113. package/dist/components/fieldset/fieldset.js +1 -1
  114. package/dist/components/fieldset/fieldset.module.js +2 -2
  115. package/dist/components/file-field/file-field.css +19 -15
  116. package/dist/components/file-field/file-field.d.ts +10 -1
  117. package/dist/components/file-field/file-field.js +130 -109
  118. package/dist/components/file-field/file-field.module.js +6 -4
  119. package/dist/components/file-field/file-input.d.ts +32 -9
  120. package/dist/components/file-field/file-input.js +94 -74
  121. package/dist/components/filter-bar/filter-bar.d.ts +79 -51
  122. package/dist/components/filter-bar/filter-bar.js +552 -216
  123. package/dist/components/form/form.d.ts +4 -6
  124. package/dist/components/form/form.js +6 -8
  125. package/dist/components/icon/icon.d.ts +5 -10
  126. package/dist/components/icon/icon.js +4 -6
  127. package/dist/components/link/link.js +1 -1
  128. package/dist/components/link-button/link-button.d.ts +1 -2
  129. package/dist/components/link-button/link-button.js +12 -22
  130. package/dist/components/loading-message/loading-message.d.ts +2 -2
  131. package/dist/components/loading-message/loading-message.js +1 -1
  132. package/dist/components/locale-provider/locale-provider.js +1 -1
  133. package/dist/components/menu/menu.d.ts +40 -22
  134. package/dist/components/menu/menu.js +100 -40
  135. package/dist/components/nav/nav-context.d.ts +0 -1
  136. package/dist/components/nav/nav-context.js +1 -2
  137. package/dist/components/nav/nav-item-view.d.ts +7 -7
  138. package/dist/components/nav/nav-item-view.js +27 -51
  139. package/dist/components/nav/nav.css +72 -60
  140. package/dist/components/nav/nav.d.ts +15 -8
  141. package/dist/components/nav/nav.js +105 -52
  142. package/dist/components/nav/nav.module.js +14 -14
  143. package/dist/components/number-field/number-field.d.ts +7 -1
  144. package/dist/components/number-field/number-field.js +98 -82
  145. package/dist/components/number-field/number-input.d.ts +53 -4
  146. package/dist/components/number-field/number-input.js +68 -21
  147. package/dist/components/number-field/tsf-number-field.d.ts +1 -1
  148. package/dist/components/number-field/tsf-number-field.js +1 -1
  149. package/dist/components/otp-field/otp-input.d.ts +25 -0
  150. package/dist/components/otp-field/otp-input.js +26 -1
  151. package/dist/components/pagination/pagination.d.ts +82 -23
  152. package/dist/components/pagination/pagination.js +656 -229
  153. package/dist/components/password-field/password-field.d.ts +7 -1
  154. package/dist/components/password-field/password-field.js +117 -126
  155. package/dist/components/password-field/password-strength.js +1 -1
  156. package/dist/components/password-field/tsf-password-field.d.ts +1 -1
  157. package/dist/components/password-field/tsf-password-field.js +1 -1
  158. package/dist/components/photo-field/photo-field.d.ts +17 -3
  159. package/dist/components/photo-field/photo-field.js +168 -89
  160. package/dist/components/photo-field/photo-input-context.d.ts +25 -0
  161. package/dist/components/photo-field/photo-input-context.js +14 -0
  162. package/dist/components/photo-field/photo-input.d.ts +58 -23
  163. package/dist/components/photo-field/photo-input.js +459 -261
  164. package/dist/components/popover/popover.d.ts +55 -23
  165. package/dist/components/popover/popover.js +205 -61
  166. package/dist/components/radio-group-field/radio-group.js +1 -1
  167. package/dist/components/search-field/search-field.d.ts +7 -5
  168. package/dist/components/search-field/search-field.js +4 -6
  169. package/dist/components/search-field/tsf-search-field.d.ts +1 -1
  170. package/dist/components/search-field/tsf-search-field.js +1 -1
  171. package/dist/components/segmented-control-field/segmented-control.js +1 -1
  172. package/dist/components/select-field/select-field.d.ts +7 -1
  173. package/dist/components/select-field/select-field.js +151 -139
  174. package/dist/components/select-field/select.d.ts +28 -6
  175. package/dist/components/select-field/select.js +234 -149
  176. package/dist/components/skeleton/skeleton.js +1 -1
  177. package/dist/components/spinner/spinner.css +47 -1
  178. package/dist/components/spinner/spinner.js +28 -11
  179. package/dist/components/spinner/spinner.module.js +18 -3
  180. package/dist/components/stale/stale.d.ts +17 -21
  181. package/dist/components/stale/stale.js +307 -129
  182. package/dist/components/status-message/status-message.css +22 -21
  183. package/dist/components/status-message/status-message.d.ts +10 -5
  184. package/dist/components/status-message/status-message.js +20 -24
  185. package/dist/components/status-message/status-message.module.js +6 -6
  186. package/dist/components/status-message/status-preset.d.ts +4 -5
  187. package/dist/components/status-message/status-preset.js +3 -3
  188. package/dist/components/switch-field/switch.js +1 -1
  189. package/dist/components/tabs/tabs.d.ts +51 -28
  190. package/dist/components/tabs/tabs.js +219 -144
  191. package/dist/components/tag/tag.css +23 -21
  192. package/dist/components/tag/tag.d.ts +17 -15
  193. package/dist/components/tag/tag.js +140 -65
  194. package/dist/components/tag/tag.module.js +3 -3
  195. package/dist/components/tag-group/tag-group.css +30 -27
  196. package/dist/components/tag-group/tag-group.d.ts +10 -4
  197. package/dist/components/tag-group/tag-group.js +47 -35
  198. package/dist/components/tag-group/tag-group.module.js +4 -4
  199. package/dist/components/text-field/text-field.d.ts +14 -3
  200. package/dist/components/text-field/text-field.js +154 -133
  201. package/dist/components/text-field/text-input.d.ts +89 -3
  202. package/dist/components/text-field/text-input.js +184 -70
  203. package/dist/components/textarea-field/textarea.js +1 -1
  204. package/dist/components/time-field/time-input.d.ts +6 -0
  205. package/dist/components/time-field/time-input.js +6 -0
  206. package/dist/components/time-zone-provider/time-zone-provider.js +1 -1
  207. package/dist/components/toast/index.js +2 -2
  208. package/dist/components/toast/toast-provider.css +38 -34
  209. package/dist/components/toast/toast-provider.d.ts +65 -3
  210. package/dist/components/toast/toast-provider.js +313 -148
  211. package/dist/components/toast/toast-provider.module.js +11 -17
  212. package/dist/components/toast/toast.d.ts +5 -1
  213. package/dist/components/toast/toast.js +2 -1
  214. package/dist/components/toggle-group-field/toggle-group.js +1 -1
  215. package/dist/components/tooltip/tooltip.d.ts +6 -6
  216. package/dist/components/tooltip/tooltip.js +7 -7
  217. package/dist/data-table/data-table-content.d.ts +18 -10
  218. package/dist/data-table/data-table-content.js +145 -290
  219. package/dist/data-table/data-table-context.d.ts +4 -2
  220. package/dist/data-table/data-table-context.js +1 -1
  221. package/dist/data-table/data-table-parts.d.ts +99 -0
  222. package/dist/data-table/data-table-parts.js +1182 -0
  223. package/dist/data-table/data-table-selection.d.ts +7 -3
  224. package/dist/data-table/data-table-selection.js +62 -37
  225. package/dist/data-table/data-table.css +100 -95
  226. package/dist/data-table/data-table.d.ts +49 -25
  227. package/dist/data-table/data-table.js +95 -83
  228. package/dist/data-table/data-table.module.js +34 -34
  229. package/dist/data-table/index.d.ts +2 -1
  230. package/dist/data-table/index.js +2 -1
  231. package/dist/data-view/use-data-view.d.ts +2 -2
  232. package/dist/data-view/use-data-view.js +2 -2
  233. package/dist/index.js +7 -8
  234. package/dist/lib/calendar/calendar-navigation.d.ts +9 -2
  235. package/dist/lib/calendar/calendar-navigation.js +72 -73
  236. package/dist/lib/calendar/calendar-year.d.ts +4 -3
  237. package/dist/lib/calendar/calendar-year.js +137 -156
  238. package/dist/lib/calendar/temporal.d.ts +18 -12
  239. package/dist/lib/calendar/temporal.js +191 -147
  240. package/dist/lib/table-storage.d.ts +2 -2
  241. package/dist/lib/table-storage.js +2 -2
  242. package/dist/lib/unsaved-changes/leave-guard.js +1 -1
  243. package/dist/terrazzo/index.d.ts +16 -0
  244. package/dist/terrazzo/index.js +94 -2
  245. package/dist/tokens.css +71 -69
  246. package/package.json +3 -2
  247. package/tokens/ref.tokens.json +0 -30
  248. package/tokens/sys.tokens.json +0 -7
  249. package/dist/assets/spinner.js +0 -28
  250. package/dist/components/checkbox-field/checkbox-glyph.d.ts +0 -12
  251. package/dist/components/checkbox-field/checkbox-glyph.js +0 -38
  252. package/dist/components/combobox-field/combobox-popup-body.d.ts +0 -34
  253. package/dist/components/combobox-field/combobox-popup-body.js +0 -142
  254. package/dist/components/conversation/conversation.context.js +0 -4
  255. package/dist/vendor/@material-design-icons/svg/outlined/add.js +0 -12
  256. package/dist/vendor/@material-design-icons/svg/outlined/arrow_downward.js +0 -12
  257. package/dist/vendor/@material-design-icons/svg/outlined/arrow_forward.js +0 -12
  258. package/dist/vendor/@material-design-icons/svg/outlined/arrow_upward.js +0 -12
  259. package/dist/vendor/@material-design-icons/svg/outlined/attach_file.js +0 -12
  260. package/dist/vendor/@material-design-icons/svg/outlined/block.js +0 -12
  261. package/dist/vendor/@material-design-icons/svg/outlined/calendar_today.js +0 -12
  262. package/dist/vendor/@material-design-icons/svg/outlined/check.js +0 -12
  263. package/dist/vendor/@material-design-icons/svg/outlined/check_circle.js +0 -12
  264. package/dist/vendor/@material-design-icons/svg/outlined/chevron_left.js +0 -12
  265. package/dist/vendor/@material-design-icons/svg/outlined/chevron_right.js +0 -12
  266. package/dist/vendor/@material-design-icons/svg/outlined/close.js +0 -12
  267. package/dist/vendor/@material-design-icons/svg/outlined/content_copy.js +0 -12
  268. package/dist/vendor/@material-design-icons/svg/outlined/date_range.js +0 -12
  269. package/dist/vendor/@material-design-icons/svg/outlined/description.js +0 -12
  270. package/dist/vendor/@material-design-icons/svg/outlined/download.js +0 -12
  271. package/dist/vendor/@material-design-icons/svg/outlined/error.js +0 -12
  272. package/dist/vendor/@material-design-icons/svg/outlined/error_outline.js +0 -12
  273. package/dist/vendor/@material-design-icons/svg/outlined/expand_less.js +0 -12
  274. package/dist/vendor/@material-design-icons/svg/outlined/expand_more.js +0 -12
  275. package/dist/vendor/@material-design-icons/svg/outlined/filter_alt.js +0 -12
  276. package/dist/vendor/@material-design-icons/svg/outlined/filter_alt_off.js +0 -12
  277. package/dist/vendor/@material-design-icons/svg/outlined/first_page.js +0 -12
  278. package/dist/vendor/@material-design-icons/svg/outlined/info.js +0 -12
  279. package/dist/vendor/@material-design-icons/svg/outlined/keyboard_arrow_down.js +0 -12
  280. package/dist/vendor/@material-design-icons/svg/outlined/last_page.js +0 -12
  281. package/dist/vendor/@material-design-icons/svg/outlined/mail.js +0 -12
  282. package/dist/vendor/@material-design-icons/svg/outlined/more_horiz.js +0 -12
  283. package/dist/vendor/@material-design-icons/svg/outlined/photo_camera.js +0 -12
  284. package/dist/vendor/@material-design-icons/svg/outlined/remove.js +0 -12
  285. package/dist/vendor/@material-design-icons/svg/outlined/restart_alt.js +0 -12
  286. package/dist/vendor/@material-design-icons/svg/outlined/restore.js +0 -12
  287. package/dist/vendor/@material-design-icons/svg/outlined/search.js +0 -12
  288. package/dist/vendor/@material-design-icons/svg/outlined/unfold_more.js +0 -12
  289. package/dist/vendor/@material-design-icons/svg/outlined/upload_file.js +0 -12
  290. package/dist/vendor/@material-design-icons/svg/outlined/visibility.js +0 -12
  291. package/dist/vendor/@material-design-icons/svg/outlined/visibility_off.js +0 -12
  292. package/dist/vendor/@material-design-icons/svg/outlined/warning_amber.js +0 -12
@@ -1,15 +1,12 @@
1
- import SvgChevronRight from "../../vendor/@material-design-icons/svg/outlined/chevron_right.js";
2
- import SvgMoreHoriz from "../../vendor/@material-design-icons/svg/outlined/more_horiz.js";
3
1
  import { Button } from "../button/button.js";
4
- import { Icon } from "../icon/icon.js";
5
2
  import { Menu } from "../menu/menu.js";
6
3
  import { Tooltip } from "../tooltip/tooltip.js";
7
4
  import breadcrumbs_module_default from "./breadcrumbs.module.js";
8
5
  import { useFold } from "./use-fold.js";
9
6
  import { c } from "react/compiler-runtime";
10
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
- import { clsx } from "clsx";
12
7
  import { useRender } from "@base-ui/react/use-render";
8
+ import { clsx } from "clsx";
9
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
10
  // src/components/breadcrumbs/breadcrumbs.tsx
14
11
  var isClipped = (element) => element.scrollWidth > element.clientWidth;
15
12
  /**
@@ -342,105 +339,93 @@ var Page = (t0) => {
342
339
  } else t3 = $[12];
343
340
  return t3;
344
341
  };
345
- /** The decorative mark between two crumbs; a chevron unless given `children`. */
342
+ /**
343
+ * The decorative space between two crumbs, holding the app's mark, such as a
344
+ * chevron, given as `children`. Without one it is spacing alone.
345
+ */
346
346
  var Separator = (t0) => {
347
- const $ = c(18);
348
- let children;
347
+ const $ = c(14);
349
348
  let className;
350
349
  let props;
351
350
  let ref;
352
351
  let render;
353
352
  if ($[0] !== t0) {
354
- ({render, className, children, ref, ...props} = t0);
353
+ ({render, className, ref, ...props} = t0);
355
354
  $[0] = t0;
356
- $[1] = children;
357
- $[2] = className;
358
- $[3] = props;
359
- $[4] = ref;
360
- $[5] = render;
355
+ $[1] = className;
356
+ $[2] = props;
357
+ $[3] = ref;
358
+ $[4] = render;
361
359
  } else {
362
- children = $[1];
363
- className = $[2];
364
- props = $[3];
365
- ref = $[4];
366
- render = $[5];
360
+ className = $[1];
361
+ props = $[2];
362
+ ref = $[3];
363
+ render = $[4];
367
364
  }
368
365
  let t1;
369
- if ($[6] !== className) {
366
+ if ($[5] !== className) {
370
367
  t1 = clsx(breadcrumbs_module_default.separator, className);
371
- $[6] = className;
372
- $[7] = t1;
373
- } else t1 = $[7];
368
+ $[5] = className;
369
+ $[6] = t1;
370
+ } else t1 = $[6];
374
371
  let t2;
375
- if ($[8] !== children) {
376
- t2 = children ?? /* @__PURE__ */ jsx(Icon, {
377
- svg: SvgChevronRight,
378
- label: ""
379
- });
380
- $[8] = children;
372
+ if ($[7] !== props || $[8] !== t1) {
373
+ t2 = {
374
+ ...props,
375
+ "aria-hidden": true,
376
+ className: t1
377
+ };
378
+ $[7] = props;
379
+ $[8] = t1;
381
380
  $[9] = t2;
382
381
  } else t2 = $[9];
383
382
  let t3;
384
- if ($[10] !== props || $[11] !== t1 || $[12] !== t2) {
383
+ if ($[10] !== ref || $[11] !== render || $[12] !== t2) {
385
384
  t3 = {
386
- ...props,
387
- "aria-hidden": true,
388
- className: t1,
389
- children: t2
390
- };
391
- $[10] = props;
392
- $[11] = t1;
393
- $[12] = t2;
394
- $[13] = t3;
395
- } else t3 = $[13];
396
- let t4;
397
- if ($[14] !== ref || $[15] !== render || $[16] !== t3) {
398
- t4 = {
399
385
  defaultTagName: "li",
400
386
  render,
401
387
  ref,
402
- props: t3
388
+ props: t2
403
389
  };
404
- $[14] = ref;
405
- $[15] = render;
406
- $[16] = t3;
407
- $[17] = t4;
408
- } else t4 = $[17];
409
- return useRender(t4);
390
+ $[10] = ref;
391
+ $[11] = render;
392
+ $[12] = t2;
393
+ $[13] = t3;
394
+ } else t3 = $[13];
395
+ return useRender(t3);
410
396
  };
411
397
  /** A button that opens a menu of the crumbs the trail has no room for. */
412
398
  var Overflow = (t0) => {
413
- const $ = c(7);
414
- const { label, children } = t0;
399
+ const $ = c(8);
400
+ const { label, icon, children } = t0;
415
401
  let t1;
416
- if ($[0] !== label) {
402
+ if ($[0] !== icon || $[1] !== label) {
417
403
  t1 = /* @__PURE__ */ jsx(Menu.Trigger, {
418
- icon: SvgMoreHoriz,
404
+ icon,
419
405
  label
420
406
  });
421
- $[0] = label;
422
- $[1] = t1;
423
- } else t1 = $[1];
407
+ $[0] = icon;
408
+ $[1] = label;
409
+ $[2] = t1;
410
+ } else t1 = $[2];
424
411
  let t2;
425
- if ($[2] !== children) {
426
- t2 = /* @__PURE__ */ jsx(Menu.Portal, { children: /* @__PURE__ */ jsx(Menu.Positioner, {
412
+ if ($[3] !== children) {
413
+ t2 = /* @__PURE__ */ jsx(Menu.Content, {
427
414
  align: "start",
428
415
  sideOffset: 4,
429
- children: /* @__PURE__ */ jsx(Menu.Popup, {
430
- className: breadcrumbs_module_default.popup,
431
- children
432
- })
433
- }) });
434
- $[2] = children;
435
- $[3] = t2;
436
- } else t2 = $[3];
416
+ className: breadcrumbs_module_default.popup,
417
+ children
418
+ });
419
+ $[3] = children;
420
+ $[4] = t2;
421
+ } else t2 = $[4];
437
422
  let t3;
438
- if ($[4] !== t1 || $[5] !== t2) {
423
+ if ($[5] !== t1 || $[6] !== t2) {
439
424
  t3 = /* @__PURE__ */ jsxs(Menu.Root, { children: [t1, t2] });
440
- $[4] = t1;
441
- $[5] = t2;
442
- $[6] = t3;
443
- } else t3 = $[6];
425
+ $[5] = t1;
426
+ $[6] = t2;
427
+ $[7] = t3;
428
+ } else t3 = $[7];
444
429
  return t3;
445
430
  };
446
431
  /**
@@ -448,8 +433,8 @@ var Overflow = (t0) => {
448
433
  * the overflow button, for `useFold` to measure.
449
434
  */
450
435
  var Gauge = (t0) => {
451
- const $ = c(9);
452
- const { labels, overflowLabel, ref } = t0;
436
+ const $ = c(13);
437
+ const { labels, overflowLabel, overflowIcon, separator, ref } = t0;
453
438
  let t1;
454
439
  if ($[0] !== labels) {
455
440
  t1 = labels.map(_temp2);
@@ -458,27 +443,37 @@ var Gauge = (t0) => {
458
443
  } else t1 = $[1];
459
444
  let t2;
460
445
  if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
461
- t2 = /* @__PURE__ */ jsx(Separator, { render: /* @__PURE__ */ jsx("li", { "data-gauge": "separator" }) });
446
+ t2 = /* @__PURE__ */ jsx("li", { "data-gauge": "separator" });
462
447
  $[2] = t2;
463
448
  } else t2 = $[2];
464
449
  let t3;
465
- if ($[3] !== overflowLabel) {
466
- t3 = /* @__PURE__ */ jsx("li", {
450
+ if ($[3] !== separator) {
451
+ t3 = /* @__PURE__ */ jsx(Separator, {
452
+ render: t2,
453
+ children: separator
454
+ });
455
+ $[3] = separator;
456
+ $[4] = t3;
457
+ } else t3 = $[4];
458
+ let t4;
459
+ if ($[5] !== overflowIcon || $[6] !== overflowLabel) {
460
+ t4 = /* @__PURE__ */ jsx("li", {
467
461
  "data-gauge": "overflow",
468
462
  className: breadcrumbs_module_default.item,
469
463
  children: /* @__PURE__ */ jsx(Button, {
470
464
  variant: "tertiary",
471
465
  iconOnly: true,
472
- icon: SvgMoreHoriz,
466
+ icon: overflowIcon,
473
467
  label: overflowLabel
474
468
  })
475
469
  });
476
- $[3] = overflowLabel;
477
- $[4] = t3;
478
- } else t3 = $[4];
479
- let t4;
480
- if ($[5] !== ref || $[6] !== t1 || $[7] !== t3) {
481
- t4 = /* @__PURE__ */ jsx("div", {
470
+ $[5] = overflowIcon;
471
+ $[6] = overflowLabel;
472
+ $[7] = t4;
473
+ } else t4 = $[7];
474
+ let t5;
475
+ if ($[8] !== ref || $[9] !== t1 || $[10] !== t3 || $[11] !== t4) {
476
+ t5 = /* @__PURE__ */ jsx("div", {
482
477
  className: breadcrumbs_module_default.gauge,
483
478
  "aria-hidden": true,
484
479
  inert: true,
@@ -487,21 +482,22 @@ var Gauge = (t0) => {
487
482
  className: breadcrumbs_module_default.gaugeList,
488
483
  children: [
489
484
  t1,
490
- t2,
491
- t3
485
+ t3,
486
+ t4
492
487
  ]
493
488
  })
494
489
  });
495
- $[5] = ref;
496
- $[6] = t1;
497
- $[7] = t3;
498
- $[8] = t4;
499
- } else t4 = $[8];
500
- return t4;
490
+ $[8] = ref;
491
+ $[9] = t1;
492
+ $[10] = t3;
493
+ $[11] = t4;
494
+ $[12] = t5;
495
+ } else t5 = $[12];
496
+ return t5;
501
497
  };
502
498
  var Ancestor = (t0) => {
503
- const $ = c(6);
504
- const { crumb } = t0;
499
+ const $ = c(8);
500
+ const { crumb, separator } = t0;
505
501
  let t1;
506
502
  if ($[0] !== crumb.label || $[1] !== crumb.render) {
507
503
  t1 = /* @__PURE__ */ jsx(Item, { children: crumb.render === void 0 ? /* @__PURE__ */ jsx("span", {
@@ -516,16 +512,18 @@ var Ancestor = (t0) => {
516
512
  $[2] = t1;
517
513
  } else t1 = $[2];
518
514
  let t2;
519
- if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
520
- t2 = /* @__PURE__ */ jsx(Separator, {});
521
- $[3] = t2;
522
- } else t2 = $[3];
515
+ if ($[3] !== separator) {
516
+ t2 = /* @__PURE__ */ jsx(Separator, { children: separator });
517
+ $[3] = separator;
518
+ $[4] = t2;
519
+ } else t2 = $[4];
523
520
  let t3;
524
- if ($[4] !== t1) {
521
+ if ($[5] !== t1 || $[6] !== t2) {
525
522
  t3 = /* @__PURE__ */ jsxs(Fragment, { children: [t1, t2] });
526
- $[4] = t1;
527
- $[5] = t3;
528
- } else t3 = $[5];
523
+ $[5] = t1;
524
+ $[6] = t2;
525
+ $[7] = t3;
526
+ } else t3 = $[7];
529
527
  return t3;
530
528
  };
531
529
  /**
@@ -534,8 +532,8 @@ var Ancestor = (t0) => {
534
532
  * and the current page stay. Renders nothing for a trail of one.
535
533
  */
536
534
  var Trail = (t0) => {
537
- const $ = c(37);
538
- const { label, overflowLabel, crumbs, className } = t0;
535
+ const $ = c(45);
536
+ const { label, overflowLabel, overflowIcon, separator, crumbs, className } = t0;
539
537
  const { root, gauge, folded } = useFold();
540
538
  let t1;
541
539
  if ($[0] !== crumbs) {
@@ -553,7 +551,7 @@ var Trail = (t0) => {
553
551
  let t5;
554
552
  let t6;
555
553
  let t7;
556
- if ($[2] !== className || $[3] !== crumbs || $[4] !== folded || $[5] !== label || $[6] !== overflowLabel || $[7] !== root) {
554
+ if ($[2] !== className || $[3] !== crumbs || $[4] !== folded || $[5] !== label || $[6] !== overflowIcon || $[7] !== overflowLabel || $[8] !== root || $[9] !== separator) {
557
555
  const ancestors = crumbs.slice(0, -1);
558
556
  const hidden = ancestors.slice(1, 1 + folded);
559
557
  T1 = Root;
@@ -561,91 +559,116 @@ var Trail = (t0) => {
561
559
  t6 = label;
562
560
  t7 = className;
563
561
  T0 = List;
564
- t2 = ancestors.slice(0, 1).map(_temp3);
562
+ let t8;
563
+ if ($[18] !== separator) {
564
+ t8 = (crumb) => /* @__PURE__ */ jsx(Ancestor, {
565
+ crumb,
566
+ separator
567
+ }, crumb.id);
568
+ $[18] = separator;
569
+ $[19] = t8;
570
+ } else t8 = $[19];
571
+ t2 = ancestors.slice(0, 1).map(t8);
565
572
  t3 = hidden.length > 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Item, { children: /* @__PURE__ */ jsx(Overflow, {
566
573
  label: overflowLabel,
567
- children: hidden.map(_temp4)
568
- }) }), /* @__PURE__ */ jsx(Separator, {})] }) : null;
569
- t4 = ancestors.slice(1 + hidden.length).map(_temp5);
574
+ icon: overflowIcon,
575
+ children: hidden.map(_temp3)
576
+ }) }), /* @__PURE__ */ jsx(Separator, { children: separator })] }) : null;
577
+ let t9;
578
+ if ($[20] !== separator) {
579
+ t9 = (crumb_1) => /* @__PURE__ */ jsx(Ancestor, {
580
+ crumb: crumb_1,
581
+ separator
582
+ }, crumb_1.id);
583
+ $[20] = separator;
584
+ $[21] = t9;
585
+ } else t9 = $[21];
586
+ t4 = ancestors.slice(1 + hidden.length).map(t9);
570
587
  $[2] = className;
571
588
  $[3] = crumbs;
572
589
  $[4] = folded;
573
590
  $[5] = label;
574
- $[6] = overflowLabel;
575
- $[7] = root;
576
- $[8] = T0;
577
- $[9] = T1;
578
- $[10] = t2;
579
- $[11] = t3;
580
- $[12] = t4;
581
- $[13] = t5;
582
- $[14] = t6;
583
- $[15] = t7;
591
+ $[6] = overflowIcon;
592
+ $[7] = overflowLabel;
593
+ $[8] = root;
594
+ $[9] = separator;
595
+ $[10] = T0;
596
+ $[11] = T1;
597
+ $[12] = t2;
598
+ $[13] = t3;
599
+ $[14] = t4;
600
+ $[15] = t5;
601
+ $[16] = t6;
602
+ $[17] = t7;
584
603
  } else {
585
- T0 = $[8];
586
- T1 = $[9];
587
- t2 = $[10];
588
- t3 = $[11];
589
- t4 = $[12];
590
- t5 = $[13];
591
- t6 = $[14];
592
- t7 = $[15];
604
+ T0 = $[10];
605
+ T1 = $[11];
606
+ t2 = $[12];
607
+ t3 = $[13];
608
+ t4 = $[14];
609
+ t5 = $[15];
610
+ t6 = $[16];
611
+ t7 = $[17];
593
612
  }
594
613
  let t8;
595
- if ($[16] !== current.label) {
614
+ if ($[22] !== current.label) {
596
615
  t8 = /* @__PURE__ */ jsx(Item, { children: /* @__PURE__ */ jsx(Page, { children: current.label }) });
597
- $[16] = current.label;
598
- $[17] = t8;
599
- } else t8 = $[17];
616
+ $[22] = current.label;
617
+ $[23] = t8;
618
+ } else t8 = $[23];
600
619
  let t9;
601
- if ($[18] !== T0 || $[19] !== t2 || $[20] !== t3 || $[21] !== t4 || $[22] !== t8) {
620
+ if ($[24] !== T0 || $[25] !== t2 || $[26] !== t3 || $[27] !== t4 || $[28] !== t8) {
602
621
  t9 = /* @__PURE__ */ jsxs(T0, { children: [
603
622
  t2,
604
623
  t3,
605
624
  t4,
606
625
  t8
607
626
  ] });
608
- $[18] = T0;
609
- $[19] = t2;
610
- $[20] = t3;
611
- $[21] = t4;
612
- $[22] = t8;
613
- $[23] = t9;
614
- } else t9 = $[23];
627
+ $[24] = T0;
628
+ $[25] = t2;
629
+ $[26] = t3;
630
+ $[27] = t4;
631
+ $[28] = t8;
632
+ $[29] = t9;
633
+ } else t9 = $[29];
615
634
  let t10;
616
- if ($[24] !== crumbs) {
617
- t10 = crumbs.map(_temp6);
618
- $[24] = crumbs;
619
- $[25] = t10;
620
- } else t10 = $[25];
635
+ if ($[30] !== crumbs) {
636
+ t10 = crumbs.map(_temp4);
637
+ $[30] = crumbs;
638
+ $[31] = t10;
639
+ } else t10 = $[31];
621
640
  let t11;
622
- if ($[26] !== gauge || $[27] !== overflowLabel || $[28] !== t10) {
641
+ if ($[32] !== gauge || $[33] !== overflowIcon || $[34] !== overflowLabel || $[35] !== separator || $[36] !== t10) {
623
642
  t11 = /* @__PURE__ */ jsx(Gauge, {
624
643
  ref: gauge,
625
644
  labels: t10,
626
- overflowLabel
645
+ overflowLabel,
646
+ overflowIcon,
647
+ separator
627
648
  });
628
- $[26] = gauge;
629
- $[27] = overflowLabel;
630
- $[28] = t10;
631
- $[29] = t11;
632
- } else t11 = $[29];
649
+ $[32] = gauge;
650
+ $[33] = overflowIcon;
651
+ $[34] = overflowLabel;
652
+ $[35] = separator;
653
+ $[36] = t10;
654
+ $[37] = t11;
655
+ } else t11 = $[37];
633
656
  let t12;
634
- if ($[30] !== T1 || $[31] !== t11 || $[32] !== t5 || $[33] !== t6 || $[34] !== t7 || $[35] !== t9) {
657
+ if ($[38] !== T1 || $[39] !== t11 || $[40] !== t5 || $[41] !== t6 || $[42] !== t7 || $[43] !== t9) {
635
658
  t12 = /* @__PURE__ */ jsxs(T1, {
636
659
  ref: t5,
637
660
  "aria-label": t6,
638
661
  className: t7,
639
662
  children: [t9, t11]
640
663
  });
641
- $[30] = T1;
642
- $[31] = t11;
643
- $[32] = t5;
644
- $[33] = t6;
645
- $[34] = t7;
646
- $[35] = t9;
647
- $[36] = t12;
648
- } else t12 = $[36];
664
+ $[38] = T1;
665
+ $[39] = t11;
666
+ $[40] = t5;
667
+ $[41] = t6;
668
+ $[42] = t7;
669
+ $[43] = t9;
670
+ $[44] = t12;
671
+ } else t12 = $[44];
649
672
  return t12;
650
673
  };
651
674
  /**
@@ -656,10 +679,12 @@ var Trail = (t0) => {
656
679
  * <Breadcrumbs
657
680
  * label="Breadcrumbs"
658
681
  * overflowLabel="Show more"
682
+ * overflowIcon={<MoreIcon />}
683
+ * separator={<ChevronIcon />}
659
684
  * crumbs={[
660
685
  * { id: "home", label: "Home", render: <Link to="/" /> },
661
- * { id: "declarations", label: "Declarations", render: <Link to="/declarations" /> },
662
- * { id: "declaration", label: "Declaration 2041" },
686
+ * { id: "invoices", label: "Invoices", render: <Link to="/invoices" /> },
687
+ * { id: "invoice", label: "Invoice 2041" },
663
688
  * ]}
664
689
  * />
665
690
  */
@@ -686,10 +711,7 @@ function _temp2(label, index) {
686
711
  })
687
712
  }, index);
688
713
  }
689
- function _temp3(crumb) {
690
- return /* @__PURE__ */ jsx(Ancestor, { crumb }, crumb.id);
691
- }
692
- function _temp4(crumb_0) {
714
+ function _temp3(crumb_0) {
693
715
  return crumb_0.render === void 0 ? /* @__PURE__ */ jsx(Menu.Item, {
694
716
  label: crumb_0.textValue,
695
717
  disabled: true,
@@ -701,10 +723,7 @@ function _temp4(crumb_0) {
701
723
  children: crumb_0.label
702
724
  }, crumb_0.id);
703
725
  }
704
- function _temp5(crumb_1) {
705
- return /* @__PURE__ */ jsx(Ancestor, { crumb: crumb_1 }, crumb_1.id);
706
- }
707
- function _temp6(crumb_2) {
726
+ function _temp4(crumb_2) {
708
727
  return crumb_2.label;
709
728
  }
710
729
  export { Breadcrumbs };
@@ -1,5 +1,4 @@
1
1
  import type { ComponentPropsWithRef, ReactElement, ReactNode } from "react";
2
- import { type SvgComponent } from "../icon/icon.tsx";
3
2
  /** A button's visual tier. */
4
3
  export type ButtonVariant = "primary" | "secondary" | "tertiary";
5
4
  /** A button's size. */
@@ -22,13 +21,13 @@ type BaseProps = ComponentPropsWithRef<"button"> & Readonly<{
22
21
  type TextButtonProps = BaseProps & Readonly<{
23
22
  iconOnly?: false;
24
23
  /** Optional leading icon rendered before the label. */
25
- icon?: SvgComponent;
24
+ icon?: ReactNode;
26
25
  children: ReactNode;
27
26
  }>;
28
27
  type IconOnlyButtonProps = BaseProps & Readonly<{
29
28
  iconOnly: true;
30
29
  /** Icon to render; required in icon-only mode. */
31
- icon: SvgComponent;
30
+ icon: ReactNode;
32
31
  /** Accessible name, surfaced as the tooltip hint and set as `aria-label`, since the icon alone conveys no text. */
33
32
  label: string;
34
33
  children?: never;