@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
@@ -3,22 +3,21 @@ import { fieldStateAttributes } from "../field/field-state.js";
3
3
  import { useFieldState } from "../field/use-field-state.js";
4
4
  import { detachHiddenInput } from "../field/hidden-input.js";
5
5
  import { Combobox } from "./combobox.js";
6
- import { itemsOf, loadOf, pagedProgress } from "./combobox-items.js";
7
- import { ComboboxPopupBody } from "./combobox-popup-body.js";
6
+ import { itemsOf, loadOf } from "./combobox-items.js";
8
7
  import { ItemLookupsContext } from "./item-lookups.js";
9
8
  import { defaultValues, emitValues, selectedValues } from "./selection.js";
10
9
  import { valueStateOf } from "./value-state.js";
11
10
  import { ValueStateView, ValueStatesStatus, valueStateName } from "./value-state-view.js";
12
11
  import { c } from "react/compiler-runtime";
12
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
13
  import { use, useEffect, useRef, useState } from "react";
14
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
15
14
  // src/components/combobox-field/combobox-field.tsx
16
15
  var DEFAULT_SEARCH_DELAY = 300;
17
16
  var alwaysRetryable = () => true;
18
17
  var FieldBody = (t0) => {
19
- const $ = c(112);
20
- const { chrome, source, derivations, mode, labels, values, states, onChange } = t0;
21
- const { label, description, errors, requiredness, optionalLabel, dirty, touched, pending: t1, placeholder, readOnly, name, onBlur, retryable: t2, searchDelay: t3, className } = chrome;
18
+ const $ = c(120);
19
+ const { chrome, source, derivations, mode, labels, unavailableIcon, values, states, onChange } = t0;
20
+ const { label, description, errors, requiredness, optionalLabel, dirty, touched, pending: t1, placeholder, readOnly, name, onBlur, retryable: t2, searchDelay: t3, className, icon, checkIcon } = chrome;
22
21
  const pending = t1 === void 0 ? false : t1;
23
22
  const retryable = t2 === void 0 ? alwaysRetryable : t2;
24
23
  const searchDelay = t3 === void 0 ? DEFAULT_SEARCH_DELAY : t3;
@@ -113,60 +112,62 @@ var FieldBody = (t0) => {
113
112
  } else t13 = $[23];
114
113
  const nameOf = t13;
115
114
  let t14;
116
- if ($[24] !== itemLabel || $[25] !== labels || $[26] !== renderItem) {
115
+ if ($[24] !== itemLabel || $[25] !== labels || $[26] !== renderItem || $[27] !== unavailableIcon) {
117
116
  t14 = (state_0) => /* @__PURE__ */ jsx(ValueStateView, {
118
117
  state: state_0,
119
118
  renderItem,
120
119
  itemLabel,
121
- labels
120
+ labels,
121
+ icon: unavailableIcon
122
122
  });
123
123
  $[24] = itemLabel;
124
124
  $[25] = labels;
125
125
  $[26] = renderItem;
126
- $[27] = t14;
127
- } else t14 = $[27];
126
+ $[27] = unavailableIcon;
127
+ $[28] = t14;
128
+ } else t14 = $[28];
128
129
  const view = t14;
129
130
  const [first] = states;
130
131
  const t15 = source.query === void 0 ? void 0 : null;
131
132
  let t16;
132
- if ($[28] !== itemKey) {
133
+ if ($[29] !== itemKey) {
133
134
  t16 = (item, value) => itemKey(item) === itemKey(value);
134
- $[28] = itemKey;
135
- $[29] = t16;
136
- } else t16 = $[29];
135
+ $[29] = itemKey;
136
+ $[30] = t16;
137
+ } else t16 = $[30];
137
138
  const t17 = name ?? ids.controlId;
138
139
  let t18;
139
- if ($[30] !== readOnly) {
140
+ if ($[31] !== readOnly) {
140
141
  t18 = readOnly === true && { open: false };
141
- $[30] = readOnly;
142
- $[31] = t18;
143
- } else t18 = $[31];
142
+ $[31] = readOnly;
143
+ $[32] = t18;
144
+ } else t18 = $[32];
144
145
  const t19 = requiredness === "required";
145
146
  let t20;
146
- if ($[32] !== searchDelay || $[33] !== searchServer) {
147
+ if ($[33] !== searchDelay || $[34] !== searchServer) {
147
148
  t20 = (next, details) => {
148
149
  if (details.reason === "input-change") {
149
150
  setSearch(next);
150
151
  searchServer(next, searchDelay);
151
152
  }
152
153
  };
153
- $[32] = searchDelay;
154
- $[33] = searchServer;
155
- $[34] = t20;
156
- } else t20 = $[34];
154
+ $[33] = searchDelay;
155
+ $[34] = searchServer;
156
+ $[35] = t20;
157
+ } else t20 = $[35];
157
158
  let t21;
158
- if ($[35] !== searchServer) {
159
+ if ($[36] !== searchServer) {
159
160
  t21 = (open) => {
160
161
  if (!open) {
161
162
  setSearch("");
162
163
  searchServer("", 0);
163
164
  }
164
165
  };
165
- $[35] = searchServer;
166
- $[36] = t21;
167
- } else t21 = $[36];
166
+ $[36] = searchServer;
167
+ $[37] = t21;
168
+ } else t21 = $[37];
168
169
  let t22;
169
- if ($[37] !== disabled || $[38] !== itemKey || $[39] !== itemLabel || $[40] !== items || $[41] !== readOnly || $[42] !== t15 || $[43] !== t16 || $[44] !== t17 || $[45] !== t18 || $[46] !== t19 || $[47] !== t20 || $[48] !== t21) {
170
+ if ($[38] !== disabled || $[39] !== itemKey || $[40] !== itemLabel || $[41] !== items || $[42] !== readOnly || $[43] !== t15 || $[44] !== t16 || $[45] !== t17 || $[46] !== t18 || $[47] !== t19 || $[48] !== t20 || $[49] !== t21) {
170
171
  t22 = {
171
172
  items,
172
173
  filter: t15,
@@ -182,38 +183,39 @@ var FieldBody = (t0) => {
182
183
  onInputValueChange: t20,
183
184
  onOpenChangeComplete: t21
184
185
  };
185
- $[37] = disabled;
186
- $[38] = itemKey;
187
- $[39] = itemLabel;
188
- $[40] = items;
189
- $[41] = readOnly;
190
- $[42] = t15;
191
- $[43] = t16;
192
- $[44] = t17;
193
- $[45] = t18;
194
- $[46] = t19;
195
- $[47] = t20;
196
- $[48] = t21;
197
- $[49] = t22;
198
- } else t22 = $[49];
186
+ $[38] = disabled;
187
+ $[39] = itemKey;
188
+ $[40] = itemLabel;
189
+ $[41] = items;
190
+ $[42] = readOnly;
191
+ $[43] = t15;
192
+ $[44] = t16;
193
+ $[45] = t17;
194
+ $[46] = t18;
195
+ $[47] = t19;
196
+ $[48] = t20;
197
+ $[49] = t21;
198
+ $[50] = t22;
199
+ } else t22 = $[50];
199
200
  const root = t22;
200
201
  let t23;
201
- if ($[50] !== label || $[51] !== optionalLabel || $[52] !== requiredness) {
202
+ if ($[51] !== label || $[52] !== optionalLabel || $[53] !== requiredness) {
202
203
  t23 = /* @__PURE__ */ jsx(Field.Label, {
203
204
  requiredness,
204
205
  optionalLabel,
205
206
  children: label
206
207
  });
207
- $[50] = label;
208
- $[51] = optionalLabel;
209
- $[52] = requiredness;
210
- $[53] = t23;
211
- } else t23 = $[53];
208
+ $[51] = label;
209
+ $[52] = optionalLabel;
210
+ $[53] = requiredness;
211
+ $[54] = t23;
212
+ } else t23 = $[54];
212
213
  let t24;
213
- if ($[54] !== disabled || $[55] !== fieldState || $[56] !== first || $[57] !== itemKey || $[58] !== mode || $[59] !== nameOf || $[60] !== onBlur || $[61] !== onChange || $[62] !== placeholder || $[63] !== readOnly || $[64] !== states || $[65] !== values || $[66] !== view) {
214
+ if ($[55] !== disabled || $[56] !== fieldState || $[57] !== first || $[58] !== icon || $[59] !== itemKey || $[60] !== mode || $[61] !== nameOf || $[62] !== onBlur || $[63] !== onChange || $[64] !== placeholder || $[65] !== readOnly || $[66] !== states || $[67] !== values || $[68] !== view) {
214
215
  t24 = mode.multiple === true ? /* @__PURE__ */ jsx(Combobox.Control, {
215
216
  ref: anchorRef,
216
217
  state: fieldState,
218
+ icon,
217
219
  onBlur,
218
220
  tags: first === void 0 ? /* @__PURE__ */ jsx("span", {
219
221
  "aria-hidden": "true",
@@ -225,6 +227,7 @@ var FieldBody = (t0) => {
225
227
  itemLabel: nameOf,
226
228
  removeLabel: mode.removeLabel,
227
229
  removeHint: (state_2) => mode.removeHint(nameOf(state_2)),
230
+ removeIcon: mode.removeIcon,
228
231
  disabled,
229
232
  readOnly,
230
233
  onRemove: (remaining) => {
@@ -237,118 +240,130 @@ var FieldBody = (t0) => {
237
240
  }) : /* @__PURE__ */ jsx(Combobox.Control, {
238
241
  ref: anchorRef,
239
242
  state: fieldState,
243
+ icon,
240
244
  onBlur,
241
245
  children: first === void 0 ? placeholder : view(first)
242
246
  });
243
- $[54] = disabled;
244
- $[55] = fieldState;
245
- $[56] = first;
246
- $[57] = itemKey;
247
- $[58] = mode;
248
- $[59] = nameOf;
249
- $[60] = onBlur;
250
- $[61] = onChange;
251
- $[62] = placeholder;
252
- $[63] = readOnly;
253
- $[64] = states;
254
- $[65] = values;
255
- $[66] = view;
256
- $[67] = t24;
257
- } else t24 = $[67];
258
- let t25;
259
- if ($[68] !== source) {
260
- t25 = pagedProgress(source);
261
- $[68] = source;
262
- $[69] = t25;
263
- } else t25 = $[69];
264
- const t26 = source.query === void 0 ? items.length === 0 : search === "";
265
- const t27 = mode.multiple === true;
266
- let t28;
267
- if ($[70] !== chrome || $[71] !== itemKey || $[72] !== load || $[73] !== renderItem || $[74] !== source.query || $[75] !== t25 || $[76] !== t26 || $[77] !== t27) {
268
- t28 = /* @__PURE__ */ jsx(ComboboxPopupBody, {
269
- copy: chrome,
247
+ $[55] = disabled;
248
+ $[56] = fieldState;
249
+ $[57] = first;
250
+ $[58] = icon;
251
+ $[59] = itemKey;
252
+ $[60] = mode;
253
+ $[61] = nameOf;
254
+ $[62] = onBlur;
255
+ $[63] = onChange;
256
+ $[64] = placeholder;
257
+ $[65] = readOnly;
258
+ $[66] = states;
259
+ $[67] = values;
260
+ $[68] = view;
261
+ $[69] = t24;
262
+ } else t24 = $[69];
263
+ const t25 = source.query === void 0 ? items.length === 0 : search === "";
264
+ const t26 = mode.multiple === true;
265
+ let t27;
266
+ if ($[70] !== checkIcon || $[71] !== chrome.loadBrokenLabel || $[72] !== chrome.loadFailedLabel || $[73] !== chrome.loadingLabel || $[74] !== chrome.loadingMoreLabel || $[75] !== chrome.noOptionsLabel || $[76] !== chrome.noResultsLabel || $[77] !== chrome.resultsLabel || $[78] !== chrome.retryLabel || $[79] !== chrome.searchLabel || $[80] !== itemKey || $[81] !== load || $[82] !== renderItem || $[83] !== source.query || $[84] !== t25 || $[85] !== t26) {
267
+ t27 = /* @__PURE__ */ jsx(Combobox.Body, {
270
268
  load,
271
- paged: t25,
272
- pagedQuery: source.query,
273
- noOptions: t26,
274
- multiple: t27,
269
+ query: source.query,
270
+ noOptions: t25,
271
+ multiple: t26,
275
272
  itemKey,
276
- renderItem
273
+ checkIcon,
274
+ loadingLabel: chrome.loadingLabel,
275
+ loadFailedLabel: chrome.loadFailedLabel,
276
+ loadBrokenLabel: chrome.loadBrokenLabel,
277
+ retryLabel: chrome.retryLabel,
278
+ noOptionsLabel: chrome.noOptionsLabel,
279
+ noResultsLabel: chrome.noResultsLabel,
280
+ searchLabel: chrome.searchLabel,
281
+ loadingMoreLabel: chrome.loadingMoreLabel,
282
+ resultsLabel: chrome.resultsLabel,
283
+ children: renderItem
277
284
  });
278
- $[70] = chrome;
279
- $[71] = itemKey;
280
- $[72] = load;
281
- $[73] = renderItem;
282
- $[74] = source.query;
283
- $[75] = t25;
284
- $[76] = t26;
285
- $[77] = t27;
286
- $[78] = t28;
287
- } else t28 = $[78];
288
- let t29;
289
- if ($[79] !== label || $[80] !== t28) {
290
- t29 = /* @__PURE__ */ jsx(Combobox.Portal, { children: /* @__PURE__ */ jsx(Combobox.Positioner, {
285
+ $[70] = checkIcon;
286
+ $[71] = chrome.loadBrokenLabel;
287
+ $[72] = chrome.loadFailedLabel;
288
+ $[73] = chrome.loadingLabel;
289
+ $[74] = chrome.loadingMoreLabel;
290
+ $[75] = chrome.noOptionsLabel;
291
+ $[76] = chrome.noResultsLabel;
292
+ $[77] = chrome.resultsLabel;
293
+ $[78] = chrome.retryLabel;
294
+ $[79] = chrome.searchLabel;
295
+ $[80] = itemKey;
296
+ $[81] = load;
297
+ $[82] = renderItem;
298
+ $[83] = source.query;
299
+ $[84] = t25;
300
+ $[85] = t26;
301
+ $[86] = t27;
302
+ } else t27 = $[86];
303
+ let t28;
304
+ if ($[87] !== label || $[88] !== t27) {
305
+ t28 = /* @__PURE__ */ jsx(Combobox.Portal, { children: /* @__PURE__ */ jsx(Combobox.Positioner, {
291
306
  anchor: anchorRef,
292
307
  children: /* @__PURE__ */ jsx(Combobox.Popup, {
293
308
  "aria-label": label,
294
- children: t28
309
+ children: t27
295
310
  })
296
311
  }) });
297
- $[79] = label;
298
- $[80] = t28;
299
- $[81] = t29;
300
- } else t29 = $[81];
301
- let t30;
302
- if ($[82] !== labels || $[83] !== states) {
303
- t30 = labels !== void 0 && /* @__PURE__ */ jsx(ValueStatesStatus, {
312
+ $[87] = label;
313
+ $[88] = t27;
314
+ $[89] = t28;
315
+ } else t28 = $[89];
316
+ let t29;
317
+ if ($[90] !== labels || $[91] !== states) {
318
+ t29 = labels !== void 0 && /* @__PURE__ */ jsx(ValueStatesStatus, {
304
319
  states,
305
320
  labels
306
321
  });
307
- $[82] = labels;
308
- $[83] = states;
309
- $[84] = t30;
310
- } else t30 = $[84];
322
+ $[90] = labels;
323
+ $[91] = states;
324
+ $[92] = t29;
325
+ } else t29 = $[92];
326
+ let t30;
327
+ if ($[93] !== description) {
328
+ t30 = /* @__PURE__ */ jsx(Field.Description, { children: description });
329
+ $[93] = description;
330
+ $[94] = t30;
331
+ } else t30 = $[94];
311
332
  let t31;
312
- if ($[85] !== description) {
313
- t31 = /* @__PURE__ */ jsx(Field.Description, { children: description });
314
- $[85] = description;
315
- $[86] = t31;
316
- } else t31 = $[86];
333
+ if ($[95] !== errors) {
334
+ t31 = /* @__PURE__ */ jsx(Field.Error, { children: errors });
335
+ $[95] = errors;
336
+ $[96] = t31;
337
+ } else t31 = $[96];
317
338
  let t32;
318
- if ($[87] !== errors) {
319
- t32 = /* @__PURE__ */ jsx(Field.Error, { children: errors });
320
- $[87] = errors;
321
- $[88] = t32;
322
- } else t32 = $[88];
323
- let t33;
324
- if ($[89] !== t23 || $[90] !== t24 || $[91] !== t29 || $[92] !== t30 || $[93] !== t31 || $[94] !== t32) {
325
- t33 = /* @__PURE__ */ jsxs(Fragment$1, { children: [
339
+ if ($[97] !== t23 || $[98] !== t24 || $[99] !== t28 || $[100] !== t29 || $[101] !== t30 || $[102] !== t31) {
340
+ t32 = /* @__PURE__ */ jsxs(Fragment, { children: [
326
341
  t23,
327
342
  t24,
343
+ t28,
328
344
  t29,
329
345
  t30,
330
- t31,
331
- t32
346
+ t31
332
347
  ] });
333
- $[89] = t23;
334
- $[90] = t24;
335
- $[91] = t29;
336
- $[92] = t30;
337
- $[93] = t31;
338
- $[94] = t32;
339
- $[95] = t33;
340
- } else t33 = $[95];
341
- const parts = t33;
342
- const t34 = field.invalid;
348
+ $[97] = t23;
349
+ $[98] = t24;
350
+ $[99] = t28;
351
+ $[100] = t29;
352
+ $[101] = t30;
353
+ $[102] = t31;
354
+ $[103] = t32;
355
+ } else t32 = $[103];
356
+ const parts = t32;
357
+ const t33 = field.invalid;
358
+ let t34;
359
+ if ($[104] !== fieldState) {
360
+ t34 = fieldStateAttributes(fieldState);
361
+ $[104] = fieldState;
362
+ $[105] = t34;
363
+ } else t34 = $[105];
343
364
  let t35;
344
- if ($[96] !== fieldState) {
345
- t35 = fieldStateAttributes(fieldState);
346
- $[96] = fieldState;
347
- $[97] = t35;
348
- } else t35 = $[97];
349
- let t36;
350
- if ($[98] !== mode.multiple || $[99] !== onChange || $[100] !== parts || $[101] !== root || $[102] !== values) {
351
- t36 = mode.multiple === true ? /* @__PURE__ */ jsx(Combobox.Root, {
365
+ if ($[106] !== mode.multiple || $[107] !== onChange || $[108] !== parts || $[109] !== root || $[110] !== values) {
366
+ t35 = mode.multiple === true ? /* @__PURE__ */ jsx(Combobox.Root, {
352
367
  ...root,
353
368
  multiple: true,
354
369
  value: [...values],
@@ -360,34 +375,34 @@ var FieldBody = (t0) => {
360
375
  onValueChange: (next_1) => onChange(next_1 === null ? [] : [next_1]),
361
376
  children: parts
362
377
  });
363
- $[98] = mode.multiple;
364
- $[99] = onChange;
365
- $[100] = parts;
366
- $[101] = root;
367
- $[102] = values;
368
- $[103] = t36;
369
- } else t36 = $[103];
370
- let t37;
371
- if ($[104] !== className || $[105] !== dirty || $[106] !== disabled || $[107] !== field.invalid || $[108] !== t35 || $[109] !== t36 || $[110] !== touched) {
372
- t37 = /* @__PURE__ */ jsx(Field.Root, {
378
+ $[106] = mode.multiple;
379
+ $[107] = onChange;
380
+ $[108] = parts;
381
+ $[109] = root;
382
+ $[110] = values;
383
+ $[111] = t35;
384
+ } else t35 = $[111];
385
+ let t36;
386
+ if ($[112] !== className || $[113] !== dirty || $[114] !== disabled || $[115] !== field.invalid || $[116] !== t34 || $[117] !== t35 || $[118] !== touched) {
387
+ t36 = /* @__PURE__ */ jsx(Field.Root, {
373
388
  className,
374
389
  disabled,
375
- invalid: t34,
390
+ invalid: t33,
376
391
  dirty,
377
392
  touched,
378
- ...t35,
379
- children: t36
393
+ ...t34,
394
+ children: t35
380
395
  });
381
- $[104] = className;
382
- $[105] = dirty;
383
- $[106] = disabled;
384
- $[107] = field.invalid;
385
- $[108] = t35;
386
- $[109] = t36;
387
- $[110] = touched;
388
- $[111] = t37;
389
- } else t37 = $[111];
390
- return t37;
396
+ $[112] = className;
397
+ $[113] = dirty;
398
+ $[114] = disabled;
399
+ $[115] = field.invalid;
400
+ $[116] = t34;
401
+ $[117] = t35;
402
+ $[118] = touched;
403
+ $[119] = t36;
404
+ } else t36 = $[119];
405
+ return t36;
391
406
  };
392
407
  /**
393
408
  * The assembled combobox: a labelled field whose control shows the selection —
@@ -407,12 +422,14 @@ var FieldBody = (t0) => {
407
422
  * itemToStringLabel={user => user.name}
408
423
  * value={reviewer}
409
424
  * onValueChange={setReviewer}
425
+ * icon={<ExpandMoreIcon />}
426
+ * checkIcon={<CheckIcon />}
410
427
  * {...comboboxCopy}>
411
428
  * {user => user.name}
412
429
  * </ComboboxField>
413
430
  */
414
431
  var ComboboxField = (props) => {
415
- const $ = c(21);
432
+ const $ = c(22);
416
433
  const { itemKey } = props;
417
434
  const Lookups = use(ItemLookupsContext);
418
435
  let t0;
@@ -460,12 +477,13 @@ var ComboboxField = (props) => {
460
477
  });
461
478
  });
462
479
  };
463
- body = (states, labels) => /* @__PURE__ */ jsx(FieldBody, {
480
+ body = (states, labels, unavailableIcon) => /* @__PURE__ */ jsx(FieldBody, {
464
481
  chrome: props,
465
482
  source: props,
466
483
  derivations: props,
467
484
  mode: props,
468
485
  labels,
486
+ unavailableIcon,
469
487
  values,
470
488
  states,
471
489
  onChange: change
@@ -492,27 +510,29 @@ var ComboboxField = (props) => {
492
510
  if (t1 !== Symbol.for("react.early_return_sentinel")) return t1;
493
511
  if (Lookups === null) throw new Error("A ComboboxField with an itemQuery needs a <ComboboxItemQueries> above it.");
494
512
  const labels_0 = props;
513
+ const { unavailableIcon: unavailableIcon_0 } = props;
495
514
  let t2;
496
- if ($[12] !== body || $[13] !== labels_0 || $[14] !== statesOf) {
497
- t2 = (lookups_0) => body(statesOf(lookups_0), labels_0);
515
+ if ($[12] !== body || $[13] !== labels_0 || $[14] !== statesOf || $[15] !== unavailableIcon_0) {
516
+ t2 = (lookups_0) => body(statesOf(lookups_0), labels_0, unavailableIcon_0);
498
517
  $[12] = body;
499
518
  $[13] = labels_0;
500
519
  $[14] = statesOf;
501
- $[15] = t2;
502
- } else t2 = $[15];
520
+ $[15] = unavailableIcon_0;
521
+ $[16] = t2;
522
+ } else t2 = $[16];
503
523
  let t3;
504
- if ($[16] !== Lookups || $[17] !== asked || $[18] !== props.itemQuery || $[19] !== t2) {
524
+ if ($[17] !== Lookups || $[18] !== asked || $[19] !== props.itemQuery || $[20] !== t2) {
505
525
  t3 = /* @__PURE__ */ jsx(Lookups, {
506
526
  keys: asked,
507
527
  itemQuery: props.itemQuery,
508
528
  children: t2
509
529
  });
510
- $[16] = Lookups;
511
- $[17] = asked;
512
- $[18] = props.itemQuery;
513
- $[19] = t2;
514
- $[20] = t3;
515
- } else t3 = $[20];
530
+ $[17] = Lookups;
531
+ $[18] = asked;
532
+ $[19] = props.itemQuery;
533
+ $[20] = t2;
534
+ $[21] = t3;
535
+ } else t3 = $[21];
516
536
  return t3;
517
537
  };
518
538
  function _temp(state_1) {
@@ -74,7 +74,7 @@ export declare const loadOf: <TItem>(source: ComboboxItems<TItem>, retryable: (e
74
74
  * A paged query's progress once it holds data, else nothing.
75
75
  *
76
76
  * @example
77
- * pagedProgress({ items: statuses }); // undefined
77
+ * pagedProgress(undefined); // undefined
78
78
  */
79
- export declare const pagedProgress: <TItem>(source: ComboboxItems<TItem>) => PagedProgress | undefined;
79
+ export declare const pagedProgress: (query: Pick<PagedQuery<unknown>, "data" | "isFetchingNextPage"> | undefined) => PagedProgress | undefined;
80
80
  export {};
@@ -18,10 +18,10 @@ var loadOf = (source, retryable) => source.query === void 0 ? source.load ?? OPT
18
18
  * A paged query's progress once it holds data, else nothing.
19
19
  *
20
20
  * @example
21
- * pagedProgress({ items: statuses }); // undefined
21
+ * pagedProgress(undefined); // undefined
22
22
  */
23
- var pagedProgress = (source) => source.query?.data === void 0 ? void 0 : {
24
- totalCount: source.query.data.pages.at(0)?.totalCount,
25
- isFetchingNextPage: source.query.isFetchingNextPage
23
+ var pagedProgress = (query) => query?.data === void 0 ? void 0 : {
24
+ totalCount: query.data.pages.at(0)?.totalCount,
25
+ isFetchingNextPage: query.isFetchingNextPage
26
26
  };
27
27
  export { itemsOf, loadOf, pagedProgress };