@igne-agency/react-web-ui 0.3.1 → 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 (290) 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.js +1 -1
  113. package/dist/components/file-field/file-field.css +19 -15
  114. package/dist/components/file-field/file-field.d.ts +10 -1
  115. package/dist/components/file-field/file-field.js +130 -109
  116. package/dist/components/file-field/file-field.module.js +6 -4
  117. package/dist/components/file-field/file-input.d.ts +32 -9
  118. package/dist/components/file-field/file-input.js +94 -74
  119. package/dist/components/filter-bar/filter-bar.d.ts +79 -51
  120. package/dist/components/filter-bar/filter-bar.js +552 -216
  121. package/dist/components/form/form.d.ts +4 -6
  122. package/dist/components/form/form.js +6 -8
  123. package/dist/components/icon/icon.d.ts +5 -10
  124. package/dist/components/icon/icon.js +4 -6
  125. package/dist/components/link/link.js +1 -1
  126. package/dist/components/link-button/link-button.d.ts +1 -2
  127. package/dist/components/link-button/link-button.js +12 -22
  128. package/dist/components/loading-message/loading-message.d.ts +2 -2
  129. package/dist/components/loading-message/loading-message.js +1 -1
  130. package/dist/components/locale-provider/locale-provider.js +1 -1
  131. package/dist/components/menu/menu.d.ts +40 -22
  132. package/dist/components/menu/menu.js +100 -40
  133. package/dist/components/nav/nav-context.d.ts +0 -1
  134. package/dist/components/nav/nav-context.js +1 -2
  135. package/dist/components/nav/nav-item-view.d.ts +7 -7
  136. package/dist/components/nav/nav-item-view.js +27 -51
  137. package/dist/components/nav/nav.css +72 -60
  138. package/dist/components/nav/nav.d.ts +15 -8
  139. package/dist/components/nav/nav.js +105 -52
  140. package/dist/components/nav/nav.module.js +14 -14
  141. package/dist/components/number-field/number-field.d.ts +7 -1
  142. package/dist/components/number-field/number-field.js +98 -82
  143. package/dist/components/number-field/number-input.d.ts +53 -4
  144. package/dist/components/number-field/number-input.js +68 -21
  145. package/dist/components/number-field/tsf-number-field.d.ts +1 -1
  146. package/dist/components/number-field/tsf-number-field.js +1 -1
  147. package/dist/components/otp-field/otp-input.d.ts +25 -0
  148. package/dist/components/otp-field/otp-input.js +26 -1
  149. package/dist/components/pagination/pagination.d.ts +82 -23
  150. package/dist/components/pagination/pagination.js +656 -229
  151. package/dist/components/password-field/password-field.d.ts +7 -1
  152. package/dist/components/password-field/password-field.js +117 -126
  153. package/dist/components/password-field/password-strength.js +1 -1
  154. package/dist/components/password-field/tsf-password-field.d.ts +1 -1
  155. package/dist/components/password-field/tsf-password-field.js +1 -1
  156. package/dist/components/photo-field/photo-field.d.ts +17 -3
  157. package/dist/components/photo-field/photo-field.js +168 -89
  158. package/dist/components/photo-field/photo-input-context.d.ts +25 -0
  159. package/dist/components/photo-field/photo-input-context.js +14 -0
  160. package/dist/components/photo-field/photo-input.d.ts +58 -23
  161. package/dist/components/photo-field/photo-input.js +459 -261
  162. package/dist/components/popover/popover.d.ts +55 -23
  163. package/dist/components/popover/popover.js +205 -61
  164. package/dist/components/radio-group-field/radio-group.js +1 -1
  165. package/dist/components/search-field/search-field.d.ts +7 -5
  166. package/dist/components/search-field/search-field.js +4 -6
  167. package/dist/components/search-field/tsf-search-field.d.ts +1 -1
  168. package/dist/components/search-field/tsf-search-field.js +1 -1
  169. package/dist/components/segmented-control-field/segmented-control.js +1 -1
  170. package/dist/components/select-field/select-field.d.ts +7 -1
  171. package/dist/components/select-field/select-field.js +151 -139
  172. package/dist/components/select-field/select.d.ts +28 -6
  173. package/dist/components/select-field/select.js +234 -149
  174. package/dist/components/skeleton/skeleton.js +1 -1
  175. package/dist/components/spinner/spinner.css +47 -1
  176. package/dist/components/spinner/spinner.js +28 -11
  177. package/dist/components/spinner/spinner.module.js +18 -3
  178. package/dist/components/stale/stale.d.ts +17 -21
  179. package/dist/components/stale/stale.js +307 -129
  180. package/dist/components/status-message/status-message.css +22 -21
  181. package/dist/components/status-message/status-message.d.ts +10 -5
  182. package/dist/components/status-message/status-message.js +20 -24
  183. package/dist/components/status-message/status-message.module.js +6 -6
  184. package/dist/components/status-message/status-preset.d.ts +4 -5
  185. package/dist/components/status-message/status-preset.js +3 -3
  186. package/dist/components/switch-field/switch.js +1 -1
  187. package/dist/components/tabs/tabs.d.ts +51 -28
  188. package/dist/components/tabs/tabs.js +219 -144
  189. package/dist/components/tag/tag.css +23 -21
  190. package/dist/components/tag/tag.d.ts +17 -15
  191. package/dist/components/tag/tag.js +140 -65
  192. package/dist/components/tag/tag.module.js +3 -3
  193. package/dist/components/tag-group/tag-group.css +30 -27
  194. package/dist/components/tag-group/tag-group.d.ts +10 -4
  195. package/dist/components/tag-group/tag-group.js +47 -35
  196. package/dist/components/tag-group/tag-group.module.js +4 -4
  197. package/dist/components/text-field/text-field.d.ts +14 -3
  198. package/dist/components/text-field/text-field.js +154 -133
  199. package/dist/components/text-field/text-input.d.ts +89 -3
  200. package/dist/components/text-field/text-input.js +184 -70
  201. package/dist/components/textarea-field/textarea.js +1 -1
  202. package/dist/components/time-field/time-input.d.ts +6 -0
  203. package/dist/components/time-field/time-input.js +6 -0
  204. package/dist/components/time-zone-provider/time-zone-provider.js +1 -1
  205. package/dist/components/toast/index.js +2 -2
  206. package/dist/components/toast/toast-provider.css +38 -34
  207. package/dist/components/toast/toast-provider.d.ts +65 -3
  208. package/dist/components/toast/toast-provider.js +313 -148
  209. package/dist/components/toast/toast-provider.module.js +11 -17
  210. package/dist/components/toast/toast.d.ts +5 -1
  211. package/dist/components/toast/toast.js +2 -1
  212. package/dist/components/toggle-group-field/toggle-group.js +1 -1
  213. package/dist/components/tooltip/tooltip.d.ts +6 -6
  214. package/dist/components/tooltip/tooltip.js +7 -7
  215. package/dist/data-table/data-table-content.d.ts +18 -10
  216. package/dist/data-table/data-table-content.js +145 -290
  217. package/dist/data-table/data-table-context.d.ts +4 -2
  218. package/dist/data-table/data-table-context.js +1 -1
  219. package/dist/data-table/data-table-parts.d.ts +99 -0
  220. package/dist/data-table/data-table-parts.js +1182 -0
  221. package/dist/data-table/data-table-selection.d.ts +7 -3
  222. package/dist/data-table/data-table-selection.js +62 -37
  223. package/dist/data-table/data-table.css +100 -95
  224. package/dist/data-table/data-table.d.ts +49 -25
  225. package/dist/data-table/data-table.js +95 -83
  226. package/dist/data-table/data-table.module.js +34 -34
  227. package/dist/data-table/index.d.ts +2 -1
  228. package/dist/data-table/index.js +2 -1
  229. package/dist/data-view/use-data-view.d.ts +2 -2
  230. package/dist/data-view/use-data-view.js +2 -2
  231. package/dist/index.js +7 -8
  232. package/dist/lib/calendar/calendar-navigation.d.ts +9 -2
  233. package/dist/lib/calendar/calendar-navigation.js +72 -73
  234. package/dist/lib/calendar/calendar-year.d.ts +4 -3
  235. package/dist/lib/calendar/calendar-year.js +137 -156
  236. package/dist/lib/calendar/temporal.d.ts +18 -12
  237. package/dist/lib/calendar/temporal.js +191 -147
  238. package/dist/lib/table-storage.d.ts +2 -2
  239. package/dist/lib/table-storage.js +2 -2
  240. package/dist/lib/unsaved-changes/leave-guard.js +1 -1
  241. package/dist/terrazzo/index.d.ts +16 -0
  242. package/dist/terrazzo/index.js +94 -2
  243. package/dist/tokens.css +71 -69
  244. package/package.json +3 -2
  245. package/tokens/ref.tokens.json +0 -30
  246. package/tokens/sys.tokens.json +0 -7
  247. package/dist/assets/spinner.js +0 -28
  248. package/dist/components/checkbox-field/checkbox-glyph.d.ts +0 -12
  249. package/dist/components/checkbox-field/checkbox-glyph.js +0 -38
  250. package/dist/components/combobox-field/combobox-popup-body.d.ts +0 -34
  251. package/dist/components/combobox-field/combobox-popup-body.js +0 -142
  252. package/dist/components/conversation/conversation.context.js +0 -4
  253. package/dist/vendor/@material-design-icons/svg/outlined/add.js +0 -12
  254. package/dist/vendor/@material-design-icons/svg/outlined/arrow_downward.js +0 -12
  255. package/dist/vendor/@material-design-icons/svg/outlined/arrow_forward.js +0 -12
  256. package/dist/vendor/@material-design-icons/svg/outlined/arrow_upward.js +0 -12
  257. package/dist/vendor/@material-design-icons/svg/outlined/attach_file.js +0 -12
  258. package/dist/vendor/@material-design-icons/svg/outlined/block.js +0 -12
  259. package/dist/vendor/@material-design-icons/svg/outlined/calendar_today.js +0 -12
  260. package/dist/vendor/@material-design-icons/svg/outlined/check.js +0 -12
  261. package/dist/vendor/@material-design-icons/svg/outlined/check_circle.js +0 -12
  262. package/dist/vendor/@material-design-icons/svg/outlined/chevron_left.js +0 -12
  263. package/dist/vendor/@material-design-icons/svg/outlined/chevron_right.js +0 -12
  264. package/dist/vendor/@material-design-icons/svg/outlined/close.js +0 -12
  265. package/dist/vendor/@material-design-icons/svg/outlined/content_copy.js +0 -12
  266. package/dist/vendor/@material-design-icons/svg/outlined/date_range.js +0 -12
  267. package/dist/vendor/@material-design-icons/svg/outlined/description.js +0 -12
  268. package/dist/vendor/@material-design-icons/svg/outlined/download.js +0 -12
  269. package/dist/vendor/@material-design-icons/svg/outlined/error.js +0 -12
  270. package/dist/vendor/@material-design-icons/svg/outlined/error_outline.js +0 -12
  271. package/dist/vendor/@material-design-icons/svg/outlined/expand_less.js +0 -12
  272. package/dist/vendor/@material-design-icons/svg/outlined/expand_more.js +0 -12
  273. package/dist/vendor/@material-design-icons/svg/outlined/filter_alt.js +0 -12
  274. package/dist/vendor/@material-design-icons/svg/outlined/filter_alt_off.js +0 -12
  275. package/dist/vendor/@material-design-icons/svg/outlined/first_page.js +0 -12
  276. package/dist/vendor/@material-design-icons/svg/outlined/info.js +0 -12
  277. package/dist/vendor/@material-design-icons/svg/outlined/keyboard_arrow_down.js +0 -12
  278. package/dist/vendor/@material-design-icons/svg/outlined/last_page.js +0 -12
  279. package/dist/vendor/@material-design-icons/svg/outlined/mail.js +0 -12
  280. package/dist/vendor/@material-design-icons/svg/outlined/more_horiz.js +0 -12
  281. package/dist/vendor/@material-design-icons/svg/outlined/photo_camera.js +0 -12
  282. package/dist/vendor/@material-design-icons/svg/outlined/remove.js +0 -12
  283. package/dist/vendor/@material-design-icons/svg/outlined/restart_alt.js +0 -12
  284. package/dist/vendor/@material-design-icons/svg/outlined/restore.js +0 -12
  285. package/dist/vendor/@material-design-icons/svg/outlined/search.js +0 -12
  286. package/dist/vendor/@material-design-icons/svg/outlined/unfold_more.js +0 -12
  287. package/dist/vendor/@material-design-icons/svg/outlined/upload_file.js +0 -12
  288. package/dist/vendor/@material-design-icons/svg/outlined/visibility.js +0 -12
  289. package/dist/vendor/@material-design-icons/svg/outlined/visibility_off.js +0 -12
  290. package/dist/vendor/@material-design-icons/svg/outlined/warning_amber.js +0 -12
@@ -1,119 +1,194 @@
1
- import { Icon } from "../icon/icon.js";
2
1
  import tag_module_default from "./tag.module.js";
3
2
  import { c } from "react/compiler-runtime";
4
- import { jsx } from "react/jsx-runtime";
3
+ import { useRender } from "@base-ui/react/use-render";
5
4
  import { clsx } from "clsx";
6
5
  // src/components/tag/tag.tsx
6
+ /** The pill: a `<span>` in a status `tone` and `variant`. */
7
7
  var Root = (t0) => {
8
- const $ = c(14);
9
- let children;
8
+ const $ = c(18);
10
9
  let className;
11
10
  let props;
11
+ let ref;
12
+ let render;
12
13
  let t1;
13
14
  let t2;
14
15
  if ($[0] !== t0) {
15
- ({tone: t1, variant: t2, className, children, ...props} = t0);
16
+ ({tone: t1, variant: t2, render, className, ref, ...props} = t0);
16
17
  $[0] = t0;
17
- $[1] = children;
18
- $[2] = className;
19
- $[3] = props;
20
- $[4] = t1;
21
- $[5] = t2;
18
+ $[1] = className;
19
+ $[2] = props;
20
+ $[3] = ref;
21
+ $[4] = render;
22
+ $[5] = t1;
23
+ $[6] = t2;
22
24
  } else {
23
- children = $[1];
24
- className = $[2];
25
- props = $[3];
26
- t1 = $[4];
27
- t2 = $[5];
25
+ className = $[1];
26
+ props = $[2];
27
+ ref = $[3];
28
+ render = $[4];
29
+ t1 = $[5];
30
+ t2 = $[6];
28
31
  }
29
32
  const tone = t1 === void 0 ? "neutral" : t1;
30
33
  const variant = t2 === void 0 ? "subtle" : t2;
31
34
  let t3;
32
- if ($[6] !== className) {
35
+ if ($[7] !== className) {
33
36
  t3 = clsx(tag_module_default.root, className);
34
- $[6] = className;
35
- $[7] = t3;
36
- } else t3 = $[7];
37
+ $[7] = className;
38
+ $[8] = t3;
39
+ } else t3 = $[8];
37
40
  let t4;
38
- if ($[8] !== children || $[9] !== props || $[10] !== t3 || $[11] !== tone || $[12] !== variant) {
39
- t4 = /* @__PURE__ */ jsx("span", {
41
+ if ($[9] !== props || $[10] !== t3 || $[11] !== tone || $[12] !== variant) {
42
+ t4 = {
40
43
  "data-tone": tone,
41
44
  "data-variant": variant,
42
- className: t3,
43
45
  ...props,
44
- children
45
- });
46
- $[8] = children;
46
+ className: t3
47
+ };
47
48
  $[9] = props;
48
49
  $[10] = t3;
49
50
  $[11] = tone;
50
51
  $[12] = variant;
51
52
  $[13] = t4;
52
53
  } else t4 = $[13];
53
- return t4;
54
+ let t5;
55
+ if ($[14] !== ref || $[15] !== render || $[16] !== t4) {
56
+ t5 = {
57
+ defaultTagName: "span",
58
+ render,
59
+ ref,
60
+ props: t4
61
+ };
62
+ $[14] = ref;
63
+ $[15] = render;
64
+ $[16] = t4;
65
+ $[17] = t5;
66
+ } else t5 = $[17];
67
+ return useRender(t5);
54
68
  };
69
+ /** A dot in the tag's tone, leading its label. */
55
70
  var Dot = (t0) => {
56
- const $ = c(8);
71
+ const $ = c(14);
57
72
  let className;
58
73
  let props;
74
+ let ref;
75
+ let render;
59
76
  if ($[0] !== t0) {
60
- ({className, ...props} = t0);
77
+ ({render, className, ref, ...props} = t0);
61
78
  $[0] = t0;
62
79
  $[1] = className;
63
80
  $[2] = props;
81
+ $[3] = ref;
82
+ $[4] = render;
64
83
  } else {
65
84
  className = $[1];
66
85
  props = $[2];
86
+ ref = $[3];
87
+ render = $[4];
67
88
  }
68
89
  let t1;
69
- if ($[3] !== className) {
90
+ if ($[5] !== className) {
70
91
  t1 = clsx(tag_module_default.dot, className);
71
- $[3] = className;
72
- $[4] = t1;
73
- } else t1 = $[4];
74
- let t2;
75
- if ($[5] !== props || $[6] !== t1) {
76
- t2 = /* @__PURE__ */ jsx("span", {
77
- "aria-hidden": "true",
78
- className: t1,
79
- ...props
80
- });
81
- $[5] = props;
92
+ $[5] = className;
82
93
  $[6] = t1;
83
- $[7] = t2;
84
- } else t2 = $[7];
85
- return t2;
94
+ } else t1 = $[6];
95
+ let t2;
96
+ if ($[7] !== props || $[8] !== t1) {
97
+ t2 = {
98
+ "aria-hidden": true,
99
+ ...props,
100
+ className: t1
101
+ };
102
+ $[7] = props;
103
+ $[8] = t1;
104
+ $[9] = t2;
105
+ } else t2 = $[9];
106
+ let t3;
107
+ if ($[10] !== ref || $[11] !== render || $[12] !== t2) {
108
+ t3 = {
109
+ defaultTagName: "span",
110
+ render,
111
+ ref,
112
+ props: t2
113
+ };
114
+ $[10] = ref;
115
+ $[11] = render;
116
+ $[12] = t2;
117
+ $[13] = t3;
118
+ } else t3 = $[13];
119
+ return useRender(t3);
86
120
  };
121
+ /**
122
+ * The glyph leading the label: its children, sized to the tag's text and drawn
123
+ * in its ink. Renders nothing without children.
124
+ */
87
125
  var TagIcon = (t0) => {
88
- const $ = c(5);
89
- const { svg, className } = t0;
90
- let t1;
91
- if ($[0] !== className) {
92
- t1 = clsx(tag_module_default.icon, className);
93
- $[0] = className;
94
- $[1] = t1;
95
- } else t1 = $[1];
126
+ const $ = c(17);
127
+ let children;
128
+ let className;
129
+ let props;
130
+ let ref;
131
+ let render;
132
+ if ($[0] !== t0) {
133
+ ({render, className, ref, children, ...props} = t0);
134
+ $[0] = t0;
135
+ $[1] = children;
136
+ $[2] = className;
137
+ $[3] = props;
138
+ $[4] = ref;
139
+ $[5] = render;
140
+ } else {
141
+ children = $[1];
142
+ className = $[2];
143
+ props = $[3];
144
+ ref = $[4];
145
+ render = $[5];
146
+ }
147
+ const t1 = children !== void 0 && children !== null;
96
148
  let t2;
97
- if ($[2] !== svg || $[3] !== t1) {
98
- t2 = /* @__PURE__ */ jsx(Icon, {
99
- svg,
100
- label: "",
101
- className: t1
102
- });
103
- $[2] = svg;
104
- $[3] = t1;
105
- $[4] = t2;
106
- } else t2 = $[4];
107
- return t2;
149
+ if ($[6] !== className) {
150
+ t2 = clsx(tag_module_default.icon, className);
151
+ $[6] = className;
152
+ $[7] = t2;
153
+ } else t2 = $[7];
154
+ let t3;
155
+ if ($[8] !== children || $[9] !== props || $[10] !== t2) {
156
+ t3 = {
157
+ "aria-hidden": true,
158
+ ...props,
159
+ className: t2,
160
+ children
161
+ };
162
+ $[8] = children;
163
+ $[9] = props;
164
+ $[10] = t2;
165
+ $[11] = t3;
166
+ } else t3 = $[11];
167
+ let t4;
168
+ if ($[12] !== ref || $[13] !== render || $[14] !== t1 || $[15] !== t3) {
169
+ t4 = {
170
+ defaultTagName: "span",
171
+ render,
172
+ ref,
173
+ enabled: t1,
174
+ props: t3
175
+ };
176
+ $[12] = ref;
177
+ $[13] = render;
178
+ $[14] = t1;
179
+ $[15] = t3;
180
+ $[16] = t4;
181
+ } else t4 = $[16];
182
+ return useRender(t4);
108
183
  };
109
184
  /**
110
185
  * A static fact as a pill in a status `tone` and `variant`, leading with at
111
186
  * most one indicator: `Dot` or `Icon`. A removable tag is a `TagGroup.Tag`.
112
187
  *
113
188
  * @example
114
- * <Tag.Root tone="info">
115
- * <Tag.Dot />
116
- * Outstanding
189
+ * <Tag.Root tone="error">
190
+ * <Tag.Icon><ErrorIcon /></Tag.Icon>
191
+ * Returned
117
192
  * </Tag.Root>
118
193
  */
119
194
  var Tag = {
@@ -1,7 +1,7 @@
1
1
  import './tag.css';// src/components/tag/tag.module.scss
2
- var root = "_root_1lbu9_3";
3
- var dot = "_dot_1lbu9_109";
4
- var icon = "_icon_1lbu9_116";
2
+ var root = "_root_10znj_3";
3
+ var dot = "_dot_10znj_109";
4
+ var icon = "_icon_10znj_116";
5
5
  var tag_module_default = {
6
6
  root,
7
7
  dot,
@@ -1,101 +1,101 @@
1
1
  @layer kit.reset, kit.base, kit.components;
2
2
  @layer kit.components {
3
- ._root_siv3m_3 {
3
+ ._root_1xxnx_3 {
4
4
  display: flex;
5
5
  flex-wrap: wrap;
6
6
  align-items: center;
7
7
  gap: var(--tag-group-gap, var(--sys-unit-4));
8
8
  }
9
- ._list_siv3m_9 {
9
+ ._list_1xxnx_9 {
10
10
  display: flex;
11
11
  flex-wrap: wrap;
12
12
  align-items: center;
13
13
  gap: var(--tag-group-gap, var(--sys-unit-4));
14
14
  }
15
- ._tag_siv3m_15[data-variant=subtle] {
15
+ ._tag_1xxnx_15[data-variant=subtle] {
16
16
  --tag-bg: var(--sys-color-neutral-bg);
17
17
  --tag-fg: var(--sys-color-neutral-fg);
18
18
  --tag-border: transparent;
19
19
  }
20
- ._tag_siv3m_15[data-variant=solid] {
20
+ ._tag_1xxnx_15[data-variant=solid] {
21
21
  --tag-bg: var(--sys-color-neutral-fg);
22
22
  --tag-fg: var(--sys-color-neutral-bg);
23
23
  --tag-border: transparent;
24
24
  }
25
- ._tag_siv3m_15[data-variant=outline] {
25
+ ._tag_1xxnx_15[data-variant=outline] {
26
26
  --tag-bg: transparent;
27
27
  --tag-fg: var(--sys-color-neutral-fg);
28
28
  --tag-border: var(--sys-color-neutral-border);
29
29
  }
30
- ._tag_siv3m_15[data-tone=info][data-variant=subtle] {
30
+ ._tag_1xxnx_15[data-tone=info][data-variant=subtle] {
31
31
  --tag-bg: var(--sys-color-info-bg);
32
32
  --tag-fg: var(--sys-color-info-fg);
33
33
  --tag-border: transparent;
34
34
  }
35
- ._tag_siv3m_15[data-tone=info][data-variant=solid] {
35
+ ._tag_1xxnx_15[data-tone=info][data-variant=solid] {
36
36
  --tag-bg: var(--sys-color-info-fg);
37
37
  --tag-fg: var(--sys-color-info-bg);
38
38
  --tag-border: transparent;
39
39
  }
40
- ._tag_siv3m_15[data-tone=info][data-variant=outline] {
40
+ ._tag_1xxnx_15[data-tone=info][data-variant=outline] {
41
41
  --tag-bg: transparent;
42
42
  --tag-fg: var(--sys-color-info-fg);
43
43
  --tag-border: var(
44
44
  --sys-color-info-border
45
45
  );
46
46
  }
47
- ._tag_siv3m_15[data-tone=success][data-variant=subtle] {
47
+ ._tag_1xxnx_15[data-tone=success][data-variant=subtle] {
48
48
  --tag-bg: var(--sys-color-success-bg);
49
49
  --tag-fg: var(--sys-color-success-fg);
50
50
  --tag-border: transparent;
51
51
  }
52
- ._tag_siv3m_15[data-tone=success][data-variant=solid] {
52
+ ._tag_1xxnx_15[data-tone=success][data-variant=solid] {
53
53
  --tag-bg: var(--sys-color-success-fg);
54
54
  --tag-fg: var(--sys-color-success-bg);
55
55
  --tag-border: transparent;
56
56
  }
57
- ._tag_siv3m_15[data-tone=success][data-variant=outline] {
57
+ ._tag_1xxnx_15[data-tone=success][data-variant=outline] {
58
58
  --tag-bg: transparent;
59
59
  --tag-fg: var(--sys-color-success-fg);
60
60
  --tag-border: var(
61
61
  --sys-color-success-border
62
62
  );
63
63
  }
64
- ._tag_siv3m_15[data-tone=warning][data-variant=subtle] {
64
+ ._tag_1xxnx_15[data-tone=warning][data-variant=subtle] {
65
65
  --tag-bg: var(--sys-color-warning-bg);
66
66
  --tag-fg: var(--sys-color-warning-fg);
67
67
  --tag-border: transparent;
68
68
  }
69
- ._tag_siv3m_15[data-tone=warning][data-variant=solid] {
69
+ ._tag_1xxnx_15[data-tone=warning][data-variant=solid] {
70
70
  --tag-bg: var(--sys-color-warning-fg);
71
71
  --tag-fg: var(--sys-color-warning-bg);
72
72
  --tag-border: transparent;
73
73
  }
74
- ._tag_siv3m_15[data-tone=warning][data-variant=outline] {
74
+ ._tag_1xxnx_15[data-tone=warning][data-variant=outline] {
75
75
  --tag-bg: transparent;
76
76
  --tag-fg: var(--sys-color-warning-fg);
77
77
  --tag-border: var(
78
78
  --sys-color-warning-border
79
79
  );
80
80
  }
81
- ._tag_siv3m_15[data-tone=error][data-variant=subtle] {
81
+ ._tag_1xxnx_15[data-tone=error][data-variant=subtle] {
82
82
  --tag-bg: var(--sys-color-error-bg);
83
83
  --tag-fg: var(--sys-color-error-fg);
84
84
  --tag-border: transparent;
85
85
  }
86
- ._tag_siv3m_15[data-tone=error][data-variant=solid] {
86
+ ._tag_1xxnx_15[data-tone=error][data-variant=solid] {
87
87
  --tag-bg: var(--sys-color-error-fg);
88
88
  --tag-fg: var(--sys-color-error-bg);
89
89
  --tag-border: transparent;
90
90
  }
91
- ._tag_siv3m_15[data-tone=error][data-variant=outline] {
91
+ ._tag_1xxnx_15[data-tone=error][data-variant=outline] {
92
92
  --tag-bg: transparent;
93
93
  --tag-fg: var(--sys-color-error-fg);
94
94
  --tag-border: var(
95
95
  --sys-color-error-border
96
96
  );
97
97
  }
98
- ._tag_siv3m_15 {
98
+ ._tag_1xxnx_15 {
99
99
  display: inline-flex;
100
100
  align-items: center;
101
101
  gap: var(--sys-unit-3);
@@ -108,17 +108,17 @@
108
108
  color: var(--tag-fg);
109
109
  font: var(--sys-font-label-small);
110
110
  }
111
- ._tag_siv3m_15 {
111
+ ._tag_1xxnx_15 {
112
112
  outline: 0 solid var(--sys-color-focus-ring);
113
113
  outline-offset: var(--sys-focus-ring-offset);
114
114
  }
115
- ._tag_siv3m_15:focus-visible {
115
+ ._tag_1xxnx_15:focus-visible {
116
116
  outline-width: var(--sys-focus-ring-width);
117
117
  }
118
- ._tag_siv3m_15[data-focus-visible] {
118
+ ._tag_1xxnx_15[data-focus-visible] {
119
119
  outline-width: var(--sys-focus-ring-width);
120
120
  }
121
- ._remove_siv3m_121 {
121
+ ._remove_1xxnx_121 {
122
122
  display: inline-flex;
123
123
  flex-shrink: 0;
124
124
  align-items: center;
@@ -134,22 +134,25 @@
134
134
  padding: 0;
135
135
  color: inherit;
136
136
  }
137
- ._remove_siv3m_121 {
137
+ ._remove_1xxnx_121 {
138
138
  outline: 0 solid var(--sys-color-focus-ring);
139
139
  outline-offset: var(--sys-focus-ring-offset);
140
140
  }
141
- ._remove_siv3m_121:focus-visible {
141
+ ._remove_1xxnx_121:focus-visible {
142
142
  outline-width: var(--sys-focus-ring-width);
143
143
  }
144
144
  @media not (prefers-reduced-motion) {
145
- ._remove_siv3m_121 {
145
+ ._remove_1xxnx_121 {
146
146
  transition: background var(--sys-motion-instant) var(--sys-motion-standard);
147
147
  }
148
148
  }
149
- ._remove_siv3m_121:hover {
149
+ ._remove_1xxnx_121:hover {
150
150
  background: color-mix(in oklch, currentcolor calc(var(--sys-state-hover) * 100%), transparent);
151
151
  }
152
- ._remove_siv3m_121:active {
152
+ ._remove_1xxnx_121:active {
153
153
  background: color-mix(in oklch, currentcolor calc(var(--sys-state-pressed) * 100%), transparent);
154
154
  }
155
+ ._remove_1xxnx_121 {
156
+ font-size: var(--tag-group-remove-icon-size, 0.875em);
157
+ }
155
158
  }
@@ -1,15 +1,17 @@
1
1
  import type { ReactNode } from "react";
2
- import { type TagGroupProps as AriaTagGroupProps, type TagListProps as AriaTagListProps, type TagProps as AriaTagProps } from "react-aria-components";
2
+ import { type ButtonProps as AriaButtonProps, type TagGroupProps as AriaTagGroupProps, type TagListProps as AriaTagListProps, type TagProps as AriaTagProps } from "react-aria-components";
3
3
  import type { Tone, ToneVariant } from "../../lib/tone.ts";
4
4
  export type TagGroupRootProps = Omit<AriaTagGroupProps, "aria-label" | "className"> & Readonly<{
5
5
  /** What the tags are, such as "Active filters". */
6
6
  "aria-label": string;
7
7
  className?: string;
8
8
  }>;
9
+ /** The group: named by `aria-label`, and calling `onRemove` with the keys removed. */
9
10
  declare const Root: ({ className, ...props }: TagGroupRootProps) => ReactNode;
10
11
  export type TagGroupListProps<T extends object> = Omit<AriaTagListProps<T>, "className"> & Readonly<{
11
12
  className?: string;
12
13
  }>;
14
+ /** The row of tags, from `items` or from its children. */
13
15
  declare const List: <T extends object>({ className, ...props }: TagGroupListProps<T>) => ReactNode;
14
16
  export type TagGroupTagProps = Omit<AriaTagProps, "className"> & Readonly<{
15
17
  /** Status colour. @default "neutral" */
@@ -18,13 +20,17 @@ export type TagGroupTagProps = Omit<AriaTagProps, "className"> & Readonly<{
18
20
  variant?: ToneVariant;
19
21
  className?: string;
20
22
  }>;
23
+ /** One tag, in a status `tone` and `variant`. */
21
24
  declare const GroupTag: ({ tone, variant, className, ...props }: TagGroupTagProps) => ReactNode;
22
- export type TagGroupRemoveProps = Readonly<{
25
+ export type TagGroupRemoveProps = Omit<AriaButtonProps, "slot" | "children" | "className"> & Readonly<{
23
26
  /** The action's name, such as "Remove", surfaced as the tooltip hint; the button is named by it followed by its tag. */
24
27
  label: string;
28
+ /** The glyph, such as a cross. */
29
+ children: ReactNode;
25
30
  className?: string;
26
31
  }>;
27
- declare const Remove: ({ label, className, }: TagGroupRemoveProps) => ReactNode;
32
+ /** The tag's icon-only remove button, named by `label` and its tag, and left out of the tab order. */
33
+ declare const Remove: ({ label, className, children, ...props }: TagGroupRemoveProps) => ReactNode;
28
34
  type TagGroupParts = Readonly<{
29
35
  Root: typeof Root;
30
36
  List: typeof List;
@@ -43,7 +49,7 @@ type TagGroupParts = Readonly<{
43
49
  * {filter => (
44
50
  * <TagGroup.Tag id={filter.id} textValue={filter.label}>
45
51
  * {filter.label}
46
- * <TagGroup.Remove label="Remove" />
52
+ * <TagGroup.Remove label="Remove"><CloseIcon /></TagGroup.Remove>
47
53
  * </TagGroup.Tag>
48
54
  * )}
49
55
  * </TagGroup.List>
@@ -1,12 +1,11 @@
1
- import SvgClose from "../../vendor/@material-design-icons/svg/outlined/close.js";
2
- import { Icon } from "../icon/icon.js";
3
1
  import { Tooltip } from "../tooltip/tooltip.js";
4
2
  import tag_group_module_default from "./tag-group.module.js";
5
3
  import { c } from "react/compiler-runtime";
6
- import { jsx } from "react/jsx-runtime";
7
4
  import { clsx } from "clsx";
5
+ import { jsx } from "react/jsx-runtime";
8
6
  import { Button, Tag, TagGroup, TagList } from "react-aria-components";
9
7
  // src/components/tag-group/tag-group.tsx
8
+ /** The group: named by `aria-label`, and calling `onRemove` with the keys removed. */
10
9
  var Root = (t0) => {
11
10
  const $ = c(8);
12
11
  let className;
@@ -38,6 +37,7 @@ var Root = (t0) => {
38
37
  } else t2 = $[7];
39
38
  return t2;
40
39
  };
40
+ /** The row of tags, from `items` or from its children. */
41
41
  var List = (t0) => {
42
42
  const $ = c(8);
43
43
  let className;
@@ -69,6 +69,7 @@ var List = (t0) => {
69
69
  } else t2 = $[7];
70
70
  return t2;
71
71
  };
72
+ /** One tag, in a status `tone` and `variant`. */
72
73
  var GroupTag = (t0) => {
73
74
  const $ = c(12);
74
75
  let className;
@@ -112,48 +113,59 @@ var GroupTag = (t0) => {
112
113
  } else t4 = $[11];
113
114
  return t4;
114
115
  };
116
+ /** The tag's icon-only remove button, named by `label` and its tag, and left out of the tab order. */
115
117
  var Remove = (t0) => {
116
- const $ = c(9);
117
- const { label, className } = t0;
118
+ const $ = c(15);
119
+ let children;
120
+ let className;
121
+ let label;
122
+ let props;
123
+ if ($[0] !== t0) {
124
+ ({label, className, children, ...props} = t0);
125
+ $[0] = t0;
126
+ $[1] = children;
127
+ $[2] = className;
128
+ $[3] = label;
129
+ $[4] = props;
130
+ } else {
131
+ children = $[1];
132
+ className = $[2];
133
+ label = $[3];
134
+ props = $[4];
135
+ }
118
136
  let t1;
119
- if ($[0] !== className) {
137
+ if ($[5] !== className) {
120
138
  t1 = clsx(tag_group_module_default.remove, className);
121
- $[0] = className;
122
- $[1] = t1;
123
- } else t1 = $[1];
139
+ $[5] = className;
140
+ $[6] = t1;
141
+ } else t1 = $[6];
124
142
  let t2;
125
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
126
- t2 = /* @__PURE__ */ jsx(Icon, {
127
- svg: SvgClose,
128
- label: "",
129
- size: .875
130
- });
131
- $[2] = t2;
132
- } else t2 = $[2];
133
- let t3;
134
- if ($[3] !== label || $[4] !== t1) {
135
- t3 = /* @__PURE__ */ jsx(Button, {
143
+ if ($[7] !== children || $[8] !== label || $[9] !== props || $[10] !== t1) {
144
+ t2 = /* @__PURE__ */ jsx(Button, {
136
145
  slot: "remove",
137
146
  excludeFromTabOrder: true,
138
147
  "aria-label": label,
139
148
  className: t1,
140
- children: t2
149
+ ...props,
150
+ children
141
151
  });
142
- $[3] = label;
143
- $[4] = t1;
144
- $[5] = t3;
145
- } else t3 = $[5];
146
- let t4;
147
- if ($[6] !== label || $[7] !== t3) {
148
- t4 = /* @__PURE__ */ jsx(Tooltip, {
152
+ $[7] = children;
153
+ $[8] = label;
154
+ $[9] = props;
155
+ $[10] = t1;
156
+ $[11] = t2;
157
+ } else t2 = $[11];
158
+ let t3;
159
+ if ($[12] !== label || $[13] !== t2) {
160
+ t3 = /* @__PURE__ */ jsx(Tooltip, {
149
161
  content: label,
150
- children: t3
162
+ children: t2
151
163
  });
152
- $[6] = label;
153
- $[7] = t3;
154
- $[8] = t4;
155
- } else t4 = $[8];
156
- return t4;
164
+ $[12] = label;
165
+ $[13] = t2;
166
+ $[14] = t3;
167
+ } else t3 = $[14];
168
+ return t3;
157
169
  };
158
170
  /**
159
171
  * A row of tags the reader moves through with the arrow keys and removes,
@@ -167,7 +179,7 @@ var Remove = (t0) => {
167
179
  * {filter => (
168
180
  * <TagGroup.Tag id={filter.id} textValue={filter.label}>
169
181
  * {filter.label}
170
- * <TagGroup.Remove label="Remove" />
182
+ * <TagGroup.Remove label="Remove"><CloseIcon /></TagGroup.Remove>
171
183
  * </TagGroup.Tag>
172
184
  * )}
173
185
  * </TagGroup.List>
@@ -1,8 +1,8 @@
1
1
  import './tag-group.css';// src/components/tag-group/tag-group.module.scss
2
- var root = "_root_siv3m_3";
3
- var list = "_list_siv3m_9";
4
- var tag = "_tag_siv3m_15";
5
- var remove = "_remove_siv3m_121";
2
+ var root = "_root_1xxnx_3";
3
+ var list = "_list_1xxnx_9";
4
+ var tag = "_tag_1xxnx_15";
5
+ var remove = "_remove_1xxnx_121";
6
6
  var tag_group_module_default = {
7
7
  root,
8
8
  list,