@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,21 +1,19 @@
1
- import SvgCheck from "../../vendor/@material-design-icons/svg/outlined/check.js";
2
- import SvgExpandMore from "../../vendor/@material-design-icons/svg/outlined/expand_more.js";
3
1
  import { usePopupEdgePadding } from "../../lib/popup-edge-padding.js";
4
2
  import { Button } from "../button/button.js";
5
3
  import { Field } from "../field/field.js";
6
4
  import { fieldStateAttributes } from "../field/field-state.js";
7
5
  import { useFieldFocus, withFieldFocus } from "../field/use-field-focus.js";
8
6
  import { OPTIONS_LOADED, optionsLoadMessage } from "../field/options-load.js";
9
- import { Icon } from "../icon/icon.js";
10
7
  import { Spinner } from "../spinner/spinner.js";
11
8
  import { SelectContext, useSelectContext } from "./select-context.js";
12
9
  import select_module_default from "./select.module.js";
13
10
  import { c } from "react/compiler-runtime";
14
- import { useRef } from "react";
15
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
16
11
  import { clsx } from "clsx";
12
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
+ import { useRef } from "react";
17
14
  import { Select } from "@base-ui/react/select";
18
15
  // src/components/select-field/select.tsx
16
+ /** The select's state, holding the options every part below it reads. */
19
17
  var SelectRoot = (t0) => {
20
18
  const $ = c(15);
21
19
  let onValueChange;
@@ -70,6 +68,7 @@ var SelectRoot = (t0) => {
70
68
  } else t4 = $[14];
71
69
  return t4;
72
70
  };
71
+ /** The label that names the trigger. */
73
72
  var SelectLabel = (t0) => {
74
73
  const $ = c(8);
75
74
  let className;
@@ -102,67 +101,97 @@ var SelectLabel = (t0) => {
102
101
  return t2;
103
102
  };
104
103
  var NO_STATE = {};
104
+ /** The chevron after the trigger's value. Its children are the icon; without them it renders nothing. */
105
+ var SelectIcon = (t0) => {
106
+ const $ = c(8);
107
+ let children;
108
+ let className;
109
+ let props;
110
+ if ($[0] !== t0) {
111
+ ({className, children, ...props} = t0);
112
+ $[0] = t0;
113
+ $[1] = children;
114
+ $[2] = className;
115
+ $[3] = props;
116
+ } else {
117
+ children = $[1];
118
+ className = $[2];
119
+ props = $[3];
120
+ }
121
+ let t1;
122
+ if ($[4] !== children || $[5] !== className || $[6] !== props) {
123
+ t1 = children === void 0 || children === null || children === false ? null : /* @__PURE__ */ jsx(Select.Icon, {
124
+ className: clsx(select_module_default.icon, className),
125
+ ...props,
126
+ children
127
+ });
128
+ $[4] = children;
129
+ $[5] = className;
130
+ $[6] = props;
131
+ $[7] = t1;
132
+ } else t1 = $[7];
133
+ return t1;
134
+ };
135
+ /** The button that opens the list. Without children it shows the value, the pending mark and `icon`. */
105
136
  var SelectTrigger = (t0) => {
106
- const $ = c(22);
137
+ const $ = c(24);
107
138
  let children;
108
139
  let className;
140
+ let icon;
109
141
  let placeholder;
110
142
  let props;
111
143
  let t1;
112
144
  if ($[0] !== t0) {
113
- ({placeholder, state: t1, className, children, ...props} = t0);
145
+ ({placeholder, state: t1, icon, className, children, ...props} = t0);
114
146
  $[0] = t0;
115
147
  $[1] = children;
116
148
  $[2] = className;
117
- $[3] = placeholder;
118
- $[4] = props;
119
- $[5] = t1;
149
+ $[3] = icon;
150
+ $[4] = placeholder;
151
+ $[5] = props;
152
+ $[6] = t1;
120
153
  } else {
121
154
  children = $[1];
122
155
  className = $[2];
123
- placeholder = $[3];
124
- props = $[4];
125
- t1 = $[5];
156
+ icon = $[3];
157
+ placeholder = $[4];
158
+ props = $[5];
159
+ t1 = $[6];
126
160
  }
127
161
  const state = t1 === void 0 ? NO_STATE : t1;
128
162
  const focus = useFieldFocus(props);
129
163
  const t2 = state.validity === "invalid" || void 0;
130
164
  let t3;
131
- if ($[6] !== className) {
165
+ if ($[7] !== className) {
132
166
  t3 = clsx(select_module_default.trigger, className);
133
- $[6] = className;
134
- $[7] = t3;
135
- } else t3 = $[7];
167
+ $[7] = className;
168
+ $[8] = t3;
169
+ } else t3 = $[8];
136
170
  let t4;
137
- if ($[8] !== focus || $[9] !== state) {
171
+ if ($[9] !== focus || $[10] !== state) {
138
172
  t4 = fieldStateAttributes(withFieldFocus(state, focus));
139
- $[8] = focus;
140
- $[9] = state;
141
- $[10] = t4;
142
- } else t4 = $[10];
173
+ $[9] = focus;
174
+ $[10] = state;
175
+ $[11] = t4;
176
+ } else t4 = $[11];
143
177
  let t5;
144
- if ($[11] !== children || $[12] !== placeholder || $[13] !== state.pending) {
145
- t5 = children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
178
+ if ($[12] !== children || $[13] !== icon || $[14] !== placeholder || $[15] !== state.pending) {
179
+ t5 = children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
146
180
  /* @__PURE__ */ jsx(Select.Value, {
147
181
  className: select_module_default.value,
148
182
  placeholder
149
183
  }),
150
184
  state.pending === true && /* @__PURE__ */ jsx(Field.Pending, {}),
151
- /* @__PURE__ */ jsx(Select.Icon, {
152
- className: select_module_default.icon,
153
- children: /* @__PURE__ */ jsx(Icon, {
154
- svg: SvgExpandMore,
155
- label: ""
156
- })
157
- })
185
+ /* @__PURE__ */ jsx(SelectIcon, { children: icon })
158
186
  ] });
159
- $[11] = children;
160
- $[12] = placeholder;
161
- $[13] = state.pending;
162
- $[14] = t5;
163
- } else t5 = $[14];
187
+ $[12] = children;
188
+ $[13] = icon;
189
+ $[14] = placeholder;
190
+ $[15] = state.pending;
191
+ $[16] = t5;
192
+ } else t5 = $[16];
164
193
  let t6;
165
- if ($[15] !== focus.props || $[16] !== props || $[17] !== t2 || $[18] !== t3 || $[19] !== t4 || $[20] !== t5) {
194
+ if ($[17] !== focus.props || $[18] !== props || $[19] !== t2 || $[20] !== t3 || $[21] !== t4 || $[22] !== t5) {
166
195
  t6 = /* @__PURE__ */ jsx(Select.Trigger, {
167
196
  "aria-invalid": t2,
168
197
  className: t3,
@@ -171,16 +200,17 @@ var SelectTrigger = (t0) => {
171
200
  ...focus.props,
172
201
  children: t5
173
202
  });
174
- $[15] = focus.props;
175
- $[16] = props;
176
- $[17] = t2;
177
- $[18] = t3;
178
- $[19] = t4;
179
- $[20] = t5;
180
- $[21] = t6;
181
- } else t6 = $[21];
203
+ $[17] = focus.props;
204
+ $[18] = props;
205
+ $[19] = t2;
206
+ $[20] = t3;
207
+ $[21] = t4;
208
+ $[22] = t5;
209
+ $[23] = t6;
210
+ } else t6 = $[23];
182
211
  return t6;
183
212
  };
213
+ /** Places the popup against the trigger. */
184
214
  var SelectPositioner = (t0) => {
185
215
  const $ = c(13);
186
216
  let className;
@@ -227,6 +257,7 @@ var SelectPositioner = (t0) => {
227
257
  } else t5 = $[12];
228
258
  return t5;
229
259
  };
260
+ /** The shared popup surface the list sits on. */
230
261
  var SelectPopup = (t0) => {
231
262
  const $ = c(8);
232
263
  let className;
@@ -258,76 +289,130 @@ var SelectPopup = (t0) => {
258
289
  } else t2 = $[7];
259
290
  return t2;
260
291
  };
292
+ /** One option's row, holding its `ItemText` and `ItemIndicator`. */
261
293
  var SelectItem = (t0) => {
262
- const $ = c(13);
263
- let children;
294
+ const $ = c(8);
264
295
  let className;
265
296
  let props;
266
297
  if ($[0] !== t0) {
267
- ({className, children, ...props} = t0);
298
+ ({className, ...props} = t0);
268
299
  $[0] = t0;
269
- $[1] = children;
270
- $[2] = className;
271
- $[3] = props;
300
+ $[1] = className;
301
+ $[2] = props;
272
302
  } else {
273
- children = $[1];
274
- className = $[2];
275
- props = $[3];
303
+ className = $[1];
304
+ props = $[2];
276
305
  }
277
306
  let t1;
278
- if ($[4] !== className) {
307
+ if ($[3] !== className) {
279
308
  t1 = clsx(select_module_default.item, className);
280
- $[4] = className;
281
- $[5] = t1;
282
- } else t1 = $[5];
309
+ $[3] = className;
310
+ $[4] = t1;
311
+ } else t1 = $[4];
283
312
  let t2;
284
- if ($[6] !== children) {
285
- t2 = /* @__PURE__ */ jsx(Select.ItemText, {
286
- className: select_module_default.itemText,
287
- children
313
+ if ($[5] !== props || $[6] !== t1) {
314
+ t2 = /* @__PURE__ */ jsx(Select.Item, {
315
+ className: t1,
316
+ ...props
288
317
  });
289
- $[6] = children;
318
+ $[5] = props;
319
+ $[6] = t1;
290
320
  $[7] = t2;
291
321
  } else t2 = $[7];
292
- let t3;
293
- if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
294
- t3 = /* @__PURE__ */ jsx(Select.ItemIndicator, {
295
- className: select_module_default.indicator,
296
- children: /* @__PURE__ */ jsx(Icon, {
297
- svg: SvgCheck,
298
- label: ""
299
- })
322
+ return t2;
323
+ };
324
+ /** An option's text, which the trigger shows once it is chosen. */
325
+ var SelectItemText = (t0) => {
326
+ const $ = c(8);
327
+ let className;
328
+ let props;
329
+ if ($[0] !== t0) {
330
+ ({className, ...props} = t0);
331
+ $[0] = t0;
332
+ $[1] = className;
333
+ $[2] = props;
334
+ } else {
335
+ className = $[1];
336
+ props = $[2];
337
+ }
338
+ let t1;
339
+ if ($[3] !== className) {
340
+ t1 = clsx(select_module_default.itemText, className);
341
+ $[3] = className;
342
+ $[4] = t1;
343
+ } else t1 = $[4];
344
+ let t2;
345
+ if ($[5] !== props || $[6] !== t1) {
346
+ t2 = /* @__PURE__ */ jsx(Select.ItemText, {
347
+ className: t1,
348
+ ...props
300
349
  });
301
- $[8] = t3;
302
- } else t3 = $[8];
303
- let t4;
304
- if ($[9] !== props || $[10] !== t1 || $[11] !== t2) {
305
- t4 = /* @__PURE__ */ jsxs(Select.Item, {
350
+ $[5] = props;
351
+ $[6] = t1;
352
+ $[7] = t2;
353
+ } else t2 = $[7];
354
+ return t2;
355
+ };
356
+ /** The mark beside the chosen option. Its children are the mark, such as a tick. */
357
+ var SelectItemIndicator = (t0) => {
358
+ const $ = c(8);
359
+ let className;
360
+ let props;
361
+ if ($[0] !== t0) {
362
+ ({className, ...props} = t0);
363
+ $[0] = t0;
364
+ $[1] = className;
365
+ $[2] = props;
366
+ } else {
367
+ className = $[1];
368
+ props = $[2];
369
+ }
370
+ let t1;
371
+ if ($[3] !== className) {
372
+ t1 = clsx(select_module_default.indicator, className);
373
+ $[3] = className;
374
+ $[4] = t1;
375
+ } else t1 = $[4];
376
+ let t2;
377
+ if ($[5] !== props || $[6] !== t1) {
378
+ t2 = /* @__PURE__ */ jsx(Select.ItemIndicator, {
306
379
  className: t1,
307
- ...props,
308
- children: [t2, t3]
380
+ ...props
309
381
  });
310
- $[9] = props;
311
- $[10] = t1;
312
- $[11] = t2;
313
- $[12] = t4;
314
- } else t4 = $[12];
315
- return t4;
382
+ $[5] = props;
383
+ $[6] = t1;
384
+ $[7] = t2;
385
+ } else t2 = $[7];
386
+ return t2;
316
387
  };
317
388
  /**
318
389
  * Every option of the enclosing `Select.Root`, in the order it was given them.
319
390
  * Compose the parts directly instead where a row is more than its label.
320
391
  */
321
- var SelectItems = () => {
322
- const $ = c(2);
392
+ var SelectItems = (t0) => {
393
+ const $ = c(5);
394
+ const { checkIcon } = t0;
323
395
  const { options } = useSelectContext();
324
- let t0;
325
- if ($[0] !== options) {
326
- t0 = options.map(_temp);
327
- $[0] = options;
328
- $[1] = t0;
329
- } else t0 = $[1];
330
- return t0;
396
+ let t1;
397
+ if ($[0] !== checkIcon || $[1] !== options) {
398
+ let t2;
399
+ if ($[3] !== checkIcon) {
400
+ t2 = (option) => /* @__PURE__ */ jsxs(SelectItem, {
401
+ value: option.value,
402
+ children: [/* @__PURE__ */ jsxs(SelectItemText, { children: [option.label, option.detail !== void 0 && /* @__PURE__ */ jsx("span", {
403
+ className: select_module_default.itemDetail,
404
+ children: option.detail
405
+ })] }), /* @__PURE__ */ jsx(SelectItemIndicator, { children: checkIcon })]
406
+ }, option.value);
407
+ $[3] = checkIcon;
408
+ $[4] = t2;
409
+ } else t2 = $[4];
410
+ t1 = options.map(t2);
411
+ $[0] = checkIcon;
412
+ $[1] = options;
413
+ $[2] = t1;
414
+ } else t1 = $[2];
415
+ return t1;
331
416
  };
332
417
  var SelectStatus = (t0) => {
333
418
  const $ = c(14);
@@ -393,7 +478,8 @@ var SelectStatus = (t0) => {
393
478
  * select takes. Reach for the parts where the list needs anything else.
394
479
  */
395
480
  var SelectControl = (t0) => {
396
- const $ = c(24);
481
+ const $ = c(27);
482
+ let checkIcon;
397
483
  let loadBrokenLabel;
398
484
  let loadFailedLabel;
399
485
  let loadingLabel;
@@ -402,42 +488,44 @@ var SelectControl = (t0) => {
402
488
  let retryLabel;
403
489
  let t1;
404
490
  if ($[0] !== t0) {
405
- ({load: t1, loadingLabel, loadFailedLabel, loadBrokenLabel, retryLabel, noOptionsLabel, ...props} = t0);
491
+ ({load: t1, loadingLabel, loadFailedLabel, loadBrokenLabel, retryLabel, noOptionsLabel, checkIcon, ...props} = t0);
406
492
  $[0] = t0;
407
- $[1] = loadBrokenLabel;
408
- $[2] = loadFailedLabel;
409
- $[3] = loadingLabel;
410
- $[4] = noOptionsLabel;
411
- $[5] = props;
412
- $[6] = retryLabel;
413
- $[7] = t1;
493
+ $[1] = checkIcon;
494
+ $[2] = loadBrokenLabel;
495
+ $[3] = loadFailedLabel;
496
+ $[4] = loadingLabel;
497
+ $[5] = noOptionsLabel;
498
+ $[6] = props;
499
+ $[7] = retryLabel;
500
+ $[8] = t1;
414
501
  } else {
415
- loadBrokenLabel = $[1];
416
- loadFailedLabel = $[2];
417
- loadingLabel = $[3];
418
- noOptionsLabel = $[4];
419
- props = $[5];
420
- retryLabel = $[6];
421
- t1 = $[7];
502
+ checkIcon = $[1];
503
+ loadBrokenLabel = $[2];
504
+ loadFailedLabel = $[3];
505
+ loadingLabel = $[4];
506
+ noOptionsLabel = $[5];
507
+ props = $[6];
508
+ retryLabel = $[7];
509
+ t1 = $[8];
422
510
  }
423
511
  const load = t1 === void 0 ? OPTIONS_LOADED : t1;
424
512
  const popupRef = useRef(null);
425
513
  let t2;
426
- if ($[8] !== props) {
514
+ if ($[9] !== props) {
427
515
  t2 = /* @__PURE__ */ jsx(SelectTrigger, { ...props });
428
- $[8] = props;
429
- $[9] = t2;
430
- } else t2 = $[9];
516
+ $[9] = props;
517
+ $[10] = t2;
518
+ } else t2 = $[10];
431
519
  let t3;
432
- if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
520
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
433
521
  t3 = (retry) => {
434
522
  retry();
435
523
  popupRef.current?.focus();
436
524
  };
437
- $[10] = t3;
438
- } else t3 = $[10];
525
+ $[11] = t3;
526
+ } else t3 = $[11];
439
527
  let t4;
440
- if ($[11] !== load || $[12] !== loadBrokenLabel || $[13] !== loadFailedLabel || $[14] !== loadingLabel || $[15] !== noOptionsLabel || $[16] !== retryLabel) {
528
+ if ($[12] !== load || $[13] !== loadBrokenLabel || $[14] !== loadFailedLabel || $[15] !== loadingLabel || $[16] !== noOptionsLabel || $[17] !== retryLabel) {
441
529
  t4 = /* @__PURE__ */ jsx(SelectStatus, {
442
530
  load,
443
531
  loadingLabel,
@@ -447,35 +535,37 @@ var SelectControl = (t0) => {
447
535
  noOptionsLabel,
448
536
  onRetry: t3
449
537
  });
450
- $[11] = load;
451
- $[12] = loadBrokenLabel;
452
- $[13] = loadFailedLabel;
453
- $[14] = loadingLabel;
454
- $[15] = noOptionsLabel;
455
- $[16] = retryLabel;
456
- $[17] = t4;
457
- } else t4 = $[17];
538
+ $[12] = load;
539
+ $[13] = loadBrokenLabel;
540
+ $[14] = loadFailedLabel;
541
+ $[15] = loadingLabel;
542
+ $[16] = noOptionsLabel;
543
+ $[17] = retryLabel;
544
+ $[18] = t4;
545
+ } else t4 = $[18];
458
546
  let t5;
459
- if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
460
- t5 = /* @__PURE__ */ jsx(Select.List, { children: /* @__PURE__ */ jsx(SelectItems, {}) });
461
- $[18] = t5;
462
- } else t5 = $[18];
547
+ if ($[19] !== checkIcon) {
548
+ t5 = /* @__PURE__ */ jsx(Select.List, { children: /* @__PURE__ */ jsx(SelectItems, { checkIcon }) });
549
+ $[19] = checkIcon;
550
+ $[20] = t5;
551
+ } else t5 = $[20];
463
552
  let t6;
464
- if ($[19] !== t4) {
553
+ if ($[21] !== t4 || $[22] !== t5) {
465
554
  t6 = /* @__PURE__ */ jsx(Select.Portal, { children: /* @__PURE__ */ jsx(SelectPositioner, { children: /* @__PURE__ */ jsxs(SelectPopup, {
466
555
  ref: popupRef,
467
556
  children: [t4, t5]
468
557
  }) }) });
469
- $[19] = t4;
470
- $[20] = t6;
471
- } else t6 = $[20];
558
+ $[21] = t4;
559
+ $[22] = t5;
560
+ $[23] = t6;
561
+ } else t6 = $[23];
472
562
  let t7;
473
- if ($[21] !== t2 || $[22] !== t6) {
474
- t7 = /* @__PURE__ */ jsxs(Fragment$1, { children: [t2, t6] });
475
- $[21] = t2;
476
- $[22] = t6;
477
- $[23] = t7;
478
- } else t7 = $[23];
563
+ if ($[24] !== t2 || $[25] !== t6) {
564
+ t7 = /* @__PURE__ */ jsxs(Fragment, { children: [t2, t6] });
565
+ $[24] = t2;
566
+ $[25] = t6;
567
+ $[26] = t7;
568
+ } else t7 = $[26];
479
569
  return t7;
480
570
  };
481
571
  /**
@@ -488,6 +578,8 @@ var SelectControl = (t0) => {
488
578
  * <Select.Root options={options} value={value} onValueChange={setValue}>
489
579
  * <Select.Label>Status</Select.Label>
490
580
  * <Select.Control
581
+ * icon={<ExpandMoreIcon />}
582
+ * checkIcon={<CheckIcon />}
491
583
  * loadingLabel="Loading options…"
492
584
  * loadFailedLabel="Options could not be loaded."
493
585
  * loadBrokenLabel="Options could not be loaded, and trying again won't help."
@@ -501,12 +593,14 @@ var Select$1 = {
501
593
  Label: SelectLabel,
502
594
  Trigger: SelectTrigger,
503
595
  Value: Select.Value,
504
- Icon: Select.Icon,
596
+ Icon: SelectIcon,
505
597
  Portal: Select.Portal,
506
598
  Positioner: SelectPositioner,
507
599
  Popup: SelectPopup,
508
600
  List: Select.List,
509
601
  Item: SelectItem,
602
+ ItemText: SelectItemText,
603
+ ItemIndicator: SelectItemIndicator,
510
604
  Items: SelectItems,
511
605
  Group: Select.Group,
512
606
  GroupLabel: Select.GroupLabel,
@@ -517,13 +611,4 @@ var Select$1 = {
517
611
  Error: Field.Error,
518
612
  useIds: Field.useIds
519
613
  };
520
- function _temp(option) {
521
- return /* @__PURE__ */ jsxs(SelectItem, {
522
- value: option.value,
523
- children: [option.label, option.detail !== void 0 && /* @__PURE__ */ jsx("span", {
524
- className: select_module_default.itemDetail,
525
- children: option.detail
526
- })]
527
- }, option.value);
528
- }
529
614
  export { Select$1 as Select };
@@ -1,7 +1,7 @@
1
1
  import skeleton_module_default from "./skeleton.module.js";
2
2
  import { c } from "react/compiler-runtime";
3
- import { jsx } from "react/jsx-runtime";
4
3
  import { clsx } from "clsx";
4
+ import { jsx } from "react/jsx-runtime";
5
5
  // src/components/skeleton/skeleton.tsx
6
6
  /**
7
7
  * A placeholder block standing in for content that has not arrived yet. Sized by
@@ -1,7 +1,53 @@
1
1
  @layer kit.reset, kit.base, kit.components;
2
2
  @layer kit.components {
3
- ._spinner_1old1_3 {
3
+ @keyframes _loading-pulse_1ojim_1 {
4
+ 50% {
5
+ opacity: 1;
6
+ }
7
+ }
8
+ @keyframes _spinner-turn_1ojim_1 {
9
+ 100% {
10
+ transform: rotate(360deg);
11
+ }
12
+ }
13
+ @keyframes _spinner-sweep_1ojim_1 {
14
+ 0% {
15
+ stroke-dasharray: 0 150;
16
+ stroke-dashoffset: 0;
17
+ }
18
+ 47.5% {
19
+ stroke-dasharray: 42 150;
20
+ stroke-dashoffset: -16;
21
+ }
22
+ 95%, 100% {
23
+ stroke-dasharray: 42 150;
24
+ stroke-dashoffset: -59;
25
+ }
26
+ }
27
+ ._spinner_1ojim_27 {
4
28
  display: inline-block;
5
29
  color: var(--spinner-color, currentcolor);
6
30
  }
31
+ ._ring_1ojim_31 {
32
+ transform-origin: center;
33
+ }
34
+ ._arc_1ojim_34 {
35
+ stroke-dasharray: 42 150;
36
+ stroke-dashoffset: -16;
37
+ stroke-linecap: round;
38
+ }
39
+ @media (prefers-reduced-motion) {
40
+ ._ring_1ojim_31 {
41
+ opacity: 0.55;
42
+ animation: _loading-pulse_1ojim_1 2.4s var(--sys-motion-standard) infinite;
43
+ }
44
+ }
45
+ @media not (prefers-reduced-motion) {
46
+ ._ring_1ojim_31 {
47
+ animation: _spinner-turn_1ojim_1 2s linear infinite;
48
+ }
49
+ ._arc_1ojim_34 {
50
+ animation: _spinner-sweep_1ojim_1 1.5s ease-in-out infinite;
51
+ }
52
+ }
7
53
  }
@@ -1,8 +1,7 @@
1
- import SvgSpinner from "../../assets/spinner.js";
2
1
  import spinner_module_default from "./spinner.module.js";
3
2
  import { c } from "react/compiler-runtime";
4
- import { jsx } from "react/jsx-runtime";
5
3
  import { clsx } from "clsx";
4
+ import { jsx } from "react/jsx-runtime";
6
5
  // src/components/spinner/spinner.tsx
7
6
  /**
8
7
  * Minor inline loading indicator for small, in-place waits: a button, a field,
@@ -13,7 +12,7 @@ import { clsx } from "clsx";
13
12
  * {isPending ? <Spinner size={1} /> : <List items={data} />}
14
13
  */
15
14
  var Spinner = (t0) => {
16
- const $ = c(8);
15
+ const $ = c(9);
17
16
  const { size: t1, className } = t0;
18
17
  const size = t1 === void 0 ? 1.5 : t1;
19
18
  let t2;
@@ -35,16 +34,34 @@ var Spinner = (t0) => {
35
34
  $[4] = t5;
36
35
  } else t5 = $[4];
37
36
  let t6;
38
- if ($[5] !== t2 || $[6] !== t5) {
39
- t6 = /* @__PURE__ */ jsx(SvgSpinner, {
37
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
38
+ t6 = /* @__PURE__ */ jsx("g", {
39
+ className: spinner_module_default.ring,
40
+ children: /* @__PURE__ */ jsx("circle", {
41
+ className: spinner_module_default.arc,
42
+ cx: "12",
43
+ cy: "12",
44
+ r: "9.5",
45
+ strokeWidth: "3"
46
+ })
47
+ });
48
+ $[5] = t6;
49
+ } else t6 = $[5];
50
+ let t7;
51
+ if ($[6] !== t2 || $[7] !== t5) {
52
+ t7 = /* @__PURE__ */ jsx("svg", {
53
+ viewBox: "0 0 24 24",
54
+ fill: "none",
55
+ stroke: "currentColor",
40
56
  className: t2,
41
57
  style: t5,
42
- "aria-hidden": "true"
58
+ "aria-hidden": "true",
59
+ children: t6
43
60
  });
44
- $[5] = t2;
45
- $[6] = t5;
46
- $[7] = t6;
47
- } else t6 = $[7];
48
- return t6;
61
+ $[6] = t2;
62
+ $[7] = t5;
63
+ $[8] = t7;
64
+ } else t7 = $[8];
65
+ return t7;
49
66
  };
50
67
  export { Spinner };