@igne-agency/react-web-ui 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/dist/components/accordion/accordion.css +21 -21
  2. package/dist/components/accordion/accordion.d.ts +17 -4
  3. package/dist/components/accordion/accordion.js +83 -36
  4. package/dist/components/accordion/accordion.module.js +6 -6
  5. package/dist/components/attachment-tile/attachment-preview.d.ts +56 -13
  6. package/dist/components/attachment-tile/attachment-preview.js +388 -119
  7. package/dist/components/attachment-tile/attachment-tile.css +31 -25
  8. package/dist/components/attachment-tile/attachment-tile.d.ts +32 -10
  9. package/dist/components/attachment-tile/attachment-tile.js +160 -43
  10. package/dist/components/attachment-tile/attachment-tile.module.js +8 -8
  11. package/dist/components/attachment-tile/index.d.ts +1 -1
  12. package/dist/components/avatar/avatar.css +9 -9
  13. package/dist/components/avatar/avatar.d.ts +50 -5
  14. package/dist/components/avatar/avatar.js +178 -64
  15. package/dist/components/avatar/avatar.module.js +3 -3
  16. package/dist/components/avatar-group/avatar-group-context.d.ts +2 -4
  17. package/dist/components/avatar-group/avatar-group-context.js +2 -2
  18. package/dist/components/avatar-group/avatar-group.css +26 -20
  19. package/dist/components/avatar-group/avatar-group.d.ts +85 -27
  20. package/dist/components/avatar-group/avatar-group.js +400 -246
  21. package/dist/components/avatar-group/avatar-group.module.js +8 -8
  22. package/dist/components/breadcrumbs/breadcrumbs.css +12 -12
  23. package/dist/components/breadcrumbs/breadcrumbs.d.ts +69 -23
  24. package/dist/components/breadcrumbs/breadcrumbs.js +299 -248
  25. package/dist/components/breadcrumbs/breadcrumbs.module.js +8 -8
  26. package/dist/components/button/button.css +29 -31
  27. package/dist/components/button/button.d.ts +20 -16
  28. package/dist/components/button/button.js +140 -145
  29. package/dist/components/button/button.module.js +1 -1
  30. package/dist/components/button/index.js +1 -1
  31. package/dist/components/checkbox-field/checkbox-field.js +63 -49
  32. package/dist/components/checkbox-field/checkbox.css +105 -56
  33. package/dist/components/checkbox-field/checkbox.d.ts +3 -2
  34. package/dist/components/checkbox-field/checkbox.js +12 -9
  35. package/dist/components/checkbox-field/checkbox.module.js +4 -4
  36. package/dist/components/checkbox-group-field/checkbox-group-field.js +78 -72
  37. package/dist/components/checkbox-group-field/checkbox-group.css +14 -10
  38. package/dist/components/checkbox-group-field/checkbox-group.d.ts +2 -2
  39. package/dist/components/checkbox-group-field/checkbox-group.js +2 -2
  40. package/dist/components/checkbox-group-field/checkbox-group.module.js +2 -2
  41. package/dist/components/collapsible/collapsible.css +20 -20
  42. package/dist/components/collapsible/collapsible.d.ts +17 -4
  43. package/dist/components/collapsible/collapsible.js +83 -36
  44. package/dist/components/collapsible/collapsible.module.js +5 -5
  45. package/dist/components/combobox-field/combobox-field.js +206 -158
  46. package/dist/components/combobox-field/combobox.css +492 -277
  47. package/dist/components/combobox-field/combobox.d.ts +148 -39
  48. package/dist/components/combobox-field/combobox.js +506 -206
  49. package/dist/components/combobox-field/combobox.module.js +21 -21
  50. package/dist/components/combobox-field/value-state-view.css +5 -5
  51. package/dist/components/combobox-field/value-state-view.module.js +4 -4
  52. package/dist/components/composer/composer-attachments.d.ts +30 -11
  53. package/dist/components/composer/composer-attachments.js +45 -40
  54. package/dist/components/composer/composer-editor.css +40 -35
  55. package/dist/components/composer/composer-editor.d.ts +14 -4
  56. package/dist/components/composer/composer-editor.js +134 -44
  57. package/dist/components/composer/composer-editor.module.js +5 -5
  58. package/dist/components/composer/composer.css +22 -22
  59. package/dist/components/composer/composer.d.ts +13 -2
  60. package/dist/components/composer/composer.js +78 -63
  61. package/dist/components/composer/composer.module.js +5 -5
  62. package/dist/components/composer/index.d.ts +2 -2
  63. package/dist/components/composer/mention-text.css +5 -5
  64. package/dist/components/composer/mention-text.module.js +1 -1
  65. package/dist/components/confirm-dialog/confirm-dialog.css +29 -29
  66. package/dist/components/confirm-dialog/confirm-dialog.d.ts +57 -3
  67. package/dist/components/confirm-dialog/confirm-dialog.js +266 -108
  68. package/dist/components/confirm-dialog/confirm-dialog.module.js +5 -5
  69. package/dist/components/conversation/conversation.css +52 -52
  70. package/dist/components/conversation/conversation.d.ts +43 -18
  71. package/dist/components/conversation/conversation.js +120 -78
  72. package/dist/components/conversation/conversation.module.js +15 -15
  73. package/dist/components/date-field/date-field.d.ts +1 -1
  74. package/dist/components/date-field/date-field.js +202 -100
  75. package/dist/components/date-field/date-input.d.ts +73 -37
  76. package/dist/components/date-field/date-input.js +72 -45
  77. package/dist/components/date-field/index.d.ts +1 -1
  78. package/dist/components/date-range-field/date-range-field.d.ts +1 -1
  79. package/dist/components/date-range-field/date-range-field.js +219 -107
  80. package/dist/components/date-range-field/date-range-input.d.ts +84 -40
  81. package/dist/components/date-range-field/date-range-input.js +83 -48
  82. package/dist/components/dialog/dialog.css +32 -32
  83. package/dist/components/dialog/dialog.d.ts +8 -7
  84. package/dist/components/dialog/dialog.js +8 -26
  85. package/dist/components/dialog/dialog.module.js +6 -6
  86. package/dist/components/divider/divider.css +6 -6
  87. package/dist/components/divider/divider.d.ts +36 -2
  88. package/dist/components/divider/divider.js +195 -29
  89. package/dist/components/divider/divider.module.js +3 -3
  90. package/dist/components/drawer/drawer.css +55 -56
  91. package/dist/components/drawer/drawer.d.ts +8 -7
  92. package/dist/components/drawer/drawer.js +8 -26
  93. package/dist/components/drawer/drawer.module.js +6 -6
  94. package/dist/components/field/field.css +34 -24
  95. package/dist/components/field/field.d.ts +60 -37
  96. package/dist/components/field/field.js +242 -157
  97. package/dist/components/field/field.module.js +12 -10
  98. package/dist/components/field/input-parts.d.ts +11 -13
  99. package/dist/components/field/input-parts.js +23 -42
  100. package/dist/components/field-placeholder/field-placeholder.css +6 -6
  101. package/dist/components/field-placeholder/field-placeholder.module.js +4 -4
  102. package/dist/components/fieldset/field-group.d.ts +1 -1
  103. package/dist/components/fieldset/field-group.js +48 -42
  104. package/dist/components/fieldset/fieldset-root.d.ts +1 -1
  105. package/dist/components/fieldset/fieldset-root.js +19 -17
  106. package/dist/components/fieldset/fieldset.d.ts +2 -2
  107. package/dist/components/fieldset/fieldset.js +2 -2
  108. package/dist/components/file-field/file-field.css +126 -60
  109. package/dist/components/file-field/file-field.js +201 -109
  110. package/dist/components/file-field/file-field.module.js +4 -4
  111. package/dist/components/file-field/file-input.d.ts +66 -40
  112. package/dist/components/file-field/file-input.js +188 -132
  113. package/dist/components/filter-bar/filter-bar.css +8 -8
  114. package/dist/components/filter-bar/filter-bar.d.ts +12 -3
  115. package/dist/components/filter-bar/filter-bar.js +23 -25
  116. package/dist/components/filter-bar/filter-bar.module.js +5 -5
  117. package/dist/components/form/form.d.ts +19 -7
  118. package/dist/components/form/form.js +80 -29
  119. package/dist/components/icon/icon.css +2 -2
  120. package/dist/components/icon/icon.module.js +1 -1
  121. package/dist/components/link/link.css +6 -5
  122. package/dist/components/link/link.module.js +1 -1
  123. package/dist/components/menu/menu.css +52 -47
  124. package/dist/components/menu/menu.d.ts +32 -25
  125. package/dist/components/menu/menu.js +75 -124
  126. package/dist/components/menu/menu.module.js +8 -8
  127. package/dist/components/nav/nav-context.d.ts +1 -1
  128. package/dist/components/nav/nav-item-view.d.ts +10 -13
  129. package/dist/components/nav/nav-item-view.js +42 -54
  130. package/dist/components/nav/nav.css +150 -119
  131. package/dist/components/nav/nav.d.ts +61 -17
  132. package/dist/components/nav/nav.js +271 -176
  133. package/dist/components/nav/nav.module.js +17 -15
  134. package/dist/components/number-field/number-field.css +153 -64
  135. package/dist/components/number-field/number-field.d.ts +2 -2
  136. package/dist/components/number-field/number-field.js +112 -91
  137. package/dist/components/number-field/number-field.module.js +6 -6
  138. package/dist/components/number-field/number-input.d.ts +43 -23
  139. package/dist/components/number-field/number-input.js +179 -125
  140. package/dist/components/otp-field/otp-field.css +153 -60
  141. package/dist/components/otp-field/otp-field.d.ts +2 -2
  142. package/dist/components/otp-field/otp-field.js +62 -46
  143. package/dist/components/otp-field/otp-field.module.js +4 -4
  144. package/dist/components/otp-field/otp-input.d.ts +8 -6
  145. package/dist/components/otp-field/otp-input.js +92 -92
  146. package/dist/components/pagination/pagination.d.ts +46 -15
  147. package/dist/components/pagination/pagination.js +217 -224
  148. package/dist/components/password-field/password-field.css +23 -23
  149. package/dist/components/password-field/password-field.js +107 -85
  150. package/dist/components/password-field/password-field.module.js +8 -8
  151. package/dist/components/password-field/password-strength.d.ts +107 -3
  152. package/dist/components/password-field/password-strength.js +569 -92
  153. package/dist/components/photo-field/photo-field.js +137 -112
  154. package/dist/components/photo-field/photo-input.css +67 -44
  155. package/dist/components/photo-field/photo-input.d.ts +59 -15
  156. package/dist/components/photo-field/photo-input.js +173 -86
  157. package/dist/components/photo-field/photo-input.module.js +10 -8
  158. package/dist/components/popover/popover.css +41 -41
  159. package/dist/components/popover/popover.d.ts +66 -25
  160. package/dist/components/popover/popover.js +332 -217
  161. package/dist/components/popover/popover.module.js +15 -19
  162. package/dist/components/radio-group-field/radio-group-field.js +80 -71
  163. package/dist/components/radio-group-field/radio-group.css +112 -60
  164. package/dist/components/radio-group-field/radio-group.d.ts +19 -3
  165. package/dist/components/radio-group-field/radio-group.js +66 -23
  166. package/dist/components/radio-group-field/radio-group.module.js +4 -4
  167. package/dist/components/segmented-control-field/segmented-control-field.d.ts +1 -1
  168. package/dist/components/segmented-control-field/segmented-control-field.js +111 -96
  169. package/dist/components/segmented-control-field/segmented-control.css +132 -79
  170. package/dist/components/segmented-control-field/segmented-control.d.ts +39 -15
  171. package/dist/components/segmented-control-field/segmented-control.js +124 -41
  172. package/dist/components/segmented-control-field/segmented-control.module.js +4 -4
  173. package/dist/components/select-field/select.css +214 -101
  174. package/dist/components/select-field/select.d.ts +43 -11
  175. package/dist/components/select-field/select.js +194 -109
  176. package/dist/components/select-field/select.module.js +14 -14
  177. package/dist/components/skeleton/skeleton.css +4 -4
  178. package/dist/components/skeleton/skeleton.module.js +3 -3
  179. package/dist/components/stale/stale.css +15 -15
  180. package/dist/components/stale/stale.d.ts +27 -3
  181. package/dist/components/stale/stale.js +147 -66
  182. package/dist/components/stale/stale.module.js +6 -6
  183. package/dist/components/status-message/status-message.css +22 -22
  184. package/dist/components/status-message/status-message.module.js +6 -6
  185. package/dist/components/switch-field/switch-field.js +77 -57
  186. package/dist/components/switch-field/switch.css +112 -63
  187. package/dist/components/switch-field/switch.d.ts +20 -3
  188. package/dist/components/switch-field/switch.js +70 -27
  189. package/dist/components/switch-field/switch.module.js +4 -4
  190. package/dist/components/tabs/tabs.css +32 -32
  191. package/dist/components/tabs/tabs.d.ts +21 -7
  192. package/dist/components/tabs/tabs.js +73 -14
  193. package/dist/components/tabs/tabs.module.js +7 -7
  194. package/dist/components/tag/tag.css +84 -84
  195. package/dist/components/tag/tag.module.js +3 -3
  196. package/dist/components/tag-group/tag-group.css +94 -94
  197. package/dist/components/tag-group/tag-group.module.js +4 -4
  198. package/dist/components/text-field/text-field.css +159 -82
  199. package/dist/components/text-field/text-field.d.ts +1 -1
  200. package/dist/components/text-field/text-field.js +139 -110
  201. package/dist/components/text-field/text-field.module.js +9 -9
  202. package/dist/components/text-field/text-input.d.ts +81 -45
  203. package/dist/components/text-field/text-input.js +366 -217
  204. package/dist/components/textarea-field/textarea-field.css +7 -2
  205. package/dist/components/textarea-field/textarea-field.js +72 -56
  206. package/dist/components/textarea-field/textarea-field.module.js +2 -2
  207. package/dist/components/time-field/time-field.js +153 -60
  208. package/dist/components/time-field/time-input.d.ts +21 -10
  209. package/dist/components/time-field/time-input.js +22 -11
  210. package/dist/components/toast/toast-provider.css +34 -31
  211. package/dist/components/toast/toast-provider.d.ts +63 -14
  212. package/dist/components/toast/toast-provider.js +174 -111
  213. package/dist/components/toast/toast-provider.module.js +7 -7
  214. package/dist/components/toggle-group-field/toggle-group-field.d.ts +1 -1
  215. package/dist/components/toggle-group-field/toggle-group-field.js +95 -89
  216. package/dist/components/toggle-group-field/toggle-group.css +117 -67
  217. package/dist/components/toggle-group-field/toggle-group.d.ts +2 -2
  218. package/dist/components/toggle-group-field/toggle-group.js +2 -2
  219. package/dist/components/toggle-group-field/toggle-group.module.js +2 -2
  220. package/dist/components/tooltip/tooltip.css +4 -4
  221. package/dist/components/tooltip/tooltip.module.js +1 -1
  222. package/dist/data-table/data-table-content.js +6 -5
  223. package/dist/data-table/data-table-parts.d.ts +41 -13
  224. package/dist/data-table/data-table-parts.js +213 -172
  225. package/dist/data-table/data-table-selection.d.ts +105 -3
  226. package/dist/data-table/data-table-selection.js +654 -145
  227. package/dist/data-table/data-table.css +125 -128
  228. package/dist/data-table/data-table.d.ts +21 -26
  229. package/dist/data-table/data-table.js +20 -23
  230. package/dist/data-table/data-table.module.js +32 -34
  231. package/dist/data-table/index.d.ts +2 -2
  232. package/dist/index.js +3 -3
  233. package/dist/lib/calendar/calendar-navigation.d.ts +39 -5
  234. package/dist/lib/calendar/calendar-navigation.js +185 -118
  235. package/dist/lib/calendar/calendar-parts.d.ts +143 -0
  236. package/dist/lib/calendar/calendar-parts.js +540 -0
  237. package/dist/lib/calendar/calendar-prefab.d.ts +52 -0
  238. package/dist/lib/calendar/calendar-prefab.js +311 -0
  239. package/dist/lib/calendar/calendar-year.d.ts +3 -1
  240. package/dist/lib/calendar/calendar-year.js +139 -131
  241. package/dist/lib/calendar/temporal.css +325 -232
  242. package/dist/lib/calendar/temporal.d.ts +67 -82
  243. package/dist/lib/calendar/temporal.js +258 -569
  244. package/dist/lib/calendar/temporal.module.js +38 -38
  245. package/dist/lib/forms/use-connected-field.d.ts +1 -1
  246. package/dist/lib/forms/use-connected-field.js +1 -1
  247. package/dist/lib/render-as.d.ts +13 -0
  248. package/dist/lib/render-as.js +46 -0
  249. package/dist/tokens.css +6 -3
  250. package/package.json +1 -1
  251. package/tokens/dark.tokens.json +6 -0
  252. package/tokens/sys.tokens.json +7 -0
  253. package/dist/components/button/close-button.d.ts +0 -16
  254. package/dist/components/button/close-button.js +0 -30
@@ -1,4 +1,3 @@
1
- import { Button } from "../button/button.js";
2
1
  import { Field } from "../field/field.js";
3
2
  import { fieldStateAttributes } from "../field/field-state.js";
4
3
  import { useFieldFocus, withFieldFocus } from "../field/use-field-focus.js";
@@ -6,6 +5,7 @@ import { useFieldState } from "../field/use-field-state.js";
6
5
  import { detachHiddenInput } from "../field/hidden-input.js";
7
6
  import { focusControlOnRim } from "../field/rim-focus.js";
8
7
  import { InputError, InputLabel, InputPartsContext, InputPending, useInputPartsContext } from "../field/input-parts.js";
8
+ import { renderAs } from "../../lib/render-as.js";
9
9
  import { useLocale } from "../locale-provider/locale-provider.js";
10
10
  import number_field_module_default from "./number-field.module.js";
11
11
  import { c } from "react/compiler-runtime";
@@ -18,11 +18,11 @@ import { NumberField } from "@base-ui/react/number-field";
18
18
  * and projecting its state onto every part.
19
19
  *
20
20
  * @example
21
- * <NumberInput.Root value={hours} onValueChange={setHours} optionalLabel="optional">…</NumberInput.Root>
21
+ * <NumberInput.Root value={hours} onValueChange={setHours}>…</NumberInput.Root>
22
22
  */
23
23
  var NumberInputRoot = (t0) => {
24
24
  const $ = c(44);
25
- const { value, onValueChange, format, min, max, step, disabled, readOnly, requiredness, optionalLabel, errors, dirty, touched, pending: t1, state, name, id, className, children } = t0;
25
+ const { value, onValueChange, format, min, max, step, disabled, readOnly, requiredness, errors, dirty, touched, pending: t1, state, name, id, className, children } = t0;
26
26
  const pending = t1 === void 0 ? false : t1;
27
27
  const ids = Field.useIds();
28
28
  const locale = useLocale();
@@ -53,38 +53,37 @@ var NumberInputRoot = (t0) => {
53
53
  } else t3 = $[9];
54
54
  const field = useFieldState(t3);
55
55
  let t4;
56
- if ($[10] !== errors || $[11] !== field.phase || $[12] !== field.state || $[13] !== optionalLabel) {
56
+ if ($[10] !== errors || $[11] !== field.phase || $[12] !== field.state) {
57
57
  t4 = {
58
58
  state: field.state,
59
59
  errors,
60
- optionalLabel,
61
60
  phase: field.phase
62
61
  };
63
62
  $[10] = errors;
64
63
  $[11] = field.phase;
65
64
  $[12] = field.state;
66
- $[13] = optionalLabel;
67
- $[14] = t4;
68
- } else t4 = $[14];
65
+ $[13] = t4;
66
+ } else t4 = $[13];
69
67
  const t5 = field.disabled;
70
68
  const t6 = field.invalid;
71
- let t7;
72
- if ($[15] !== className) {
73
- t7 = clsx(number_field_module_default.root, className);
74
- $[15] = className;
75
- $[16] = t7;
76
- } else t7 = $[16];
69
+ const t7 = field.state.requiredness;
77
70
  let t8;
78
- if ($[17] !== field.state) {
79
- t8 = fieldStateAttributes(field.state);
80
- $[17] = field.state;
81
- $[18] = t8;
82
- } else t8 = $[18];
83
- const t9 = requiredness === "required";
84
- const t10 = name ?? ids.controlId;
85
- let t11;
86
- if ($[19] !== children || $[20] !== field.disabled || $[21] !== format || $[22] !== id || $[23] !== locale || $[24] !== max || $[25] !== min || $[26] !== onValueChange || $[27] !== readOnly || $[28] !== step || $[29] !== t10 || $[30] !== t9 || $[31] !== value) {
87
- t11 = /* @__PURE__ */ jsx(NumberField.Root, {
71
+ if ($[14] !== className) {
72
+ t8 = clsx(number_field_module_default.root, className);
73
+ $[14] = className;
74
+ $[15] = t8;
75
+ } else t8 = $[15];
76
+ let t9;
77
+ if ($[16] !== field.state) {
78
+ t9 = fieldStateAttributes(field.state);
79
+ $[16] = field.state;
80
+ $[17] = t9;
81
+ } else t9 = $[17];
82
+ const t10 = requiredness === "required";
83
+ const t11 = name ?? ids.controlId;
84
+ let t12;
85
+ if ($[18] !== children || $[19] !== field.disabled || $[20] !== format || $[21] !== id || $[22] !== locale || $[23] !== max || $[24] !== min || $[25] !== onValueChange || $[26] !== readOnly || $[27] !== step || $[28] !== t10 || $[29] !== t11 || $[30] !== value) {
86
+ t12 = /* @__PURE__ */ jsx(NumberField.Root, {
88
87
  value,
89
88
  onValueChange,
90
89
  locale,
@@ -94,59 +93,61 @@ var NumberInputRoot = (t0) => {
94
93
  step,
95
94
  disabled: field.disabled,
96
95
  readOnly,
97
- required: t9,
98
- name: t10,
96
+ required: t10,
97
+ name: t11,
99
98
  inputRef: detachHiddenInput,
100
99
  id,
101
100
  className: number_field_module_default.wrapper,
102
101
  children
103
102
  });
104
- $[19] = children;
105
- $[20] = field.disabled;
106
- $[21] = format;
107
- $[22] = id;
108
- $[23] = locale;
109
- $[24] = max;
110
- $[25] = min;
111
- $[26] = onValueChange;
112
- $[27] = readOnly;
113
- $[28] = step;
114
- $[29] = t10;
115
- $[30] = t9;
116
- $[31] = value;
117
- $[32] = t11;
118
- } else t11 = $[32];
119
- let t12;
120
- if ($[33] !== dirty || $[34] !== field.disabled || $[35] !== field.invalid || $[36] !== t11 || $[37] !== t7 || $[38] !== t8 || $[39] !== touched) {
121
- t12 = /* @__PURE__ */ jsx(Field.Root, {
103
+ $[18] = children;
104
+ $[19] = field.disabled;
105
+ $[20] = format;
106
+ $[21] = id;
107
+ $[22] = locale;
108
+ $[23] = max;
109
+ $[24] = min;
110
+ $[25] = onValueChange;
111
+ $[26] = readOnly;
112
+ $[27] = step;
113
+ $[28] = t10;
114
+ $[29] = t11;
115
+ $[30] = value;
116
+ $[31] = t12;
117
+ } else t12 = $[31];
118
+ let t13;
119
+ if ($[32] !== dirty || $[33] !== field.disabled || $[34] !== field.invalid || $[35] !== field.state.requiredness || $[36] !== t12 || $[37] !== t8 || $[38] !== t9 || $[39] !== touched) {
120
+ t13 = /* @__PURE__ */ jsx(Field.Root, {
122
121
  disabled: t5,
123
122
  invalid: t6,
123
+ requiredness: t7,
124
124
  dirty,
125
125
  touched,
126
- className: t7,
127
- ...t8,
128
- children: t11
126
+ className: t8,
127
+ ...t9,
128
+ children: t12
129
129
  });
130
- $[33] = dirty;
131
- $[34] = field.disabled;
132
- $[35] = field.invalid;
133
- $[36] = t11;
134
- $[37] = t7;
135
- $[38] = t8;
130
+ $[32] = dirty;
131
+ $[33] = field.disabled;
132
+ $[34] = field.invalid;
133
+ $[35] = field.state.requiredness;
134
+ $[36] = t12;
135
+ $[37] = t8;
136
+ $[38] = t9;
136
137
  $[39] = touched;
137
- $[40] = t12;
138
- } else t12 = $[40];
139
- let t13;
140
- if ($[41] !== t12 || $[42] !== t4) {
141
- t13 = /* @__PURE__ */ jsx(InputPartsContext, {
138
+ $[40] = t13;
139
+ } else t13 = $[40];
140
+ let t14;
141
+ if ($[41] !== t13 || $[42] !== t4) {
142
+ t14 = /* @__PURE__ */ jsx(InputPartsContext, {
142
143
  value: t4,
143
- children: t12
144
+ children: t13
144
145
  });
145
- $[41] = t12;
146
+ $[41] = t13;
146
147
  $[42] = t4;
147
- $[43] = t13;
148
- } else t13 = $[43];
149
- return t13;
148
+ $[43] = t14;
149
+ } else t14 = $[43];
150
+ return t14;
150
151
  };
151
152
  /**
152
153
  * The bordered box holding the control, its stepper buttons and its inlays.
@@ -317,80 +318,125 @@ var NumberInputInput = (t0) => {
317
318
  return t2;
318
319
  };
319
320
  /**
320
- * The icon-only button that steps the value down.
321
+ * Hands a stepper's props to the button it renders, without the name the
322
+ * stepper gives itself when the caller gave none, so the button names itself.
321
323
  *
322
324
  * @example
323
- * <NumberInput.Decrement label="Decrease"><RemoveIcon /></NumberInput.Decrement>
325
+ * <BaseNumberField.Decrement render={stepRender(render, props["aria-label"])} />
326
+ */
327
+ var stepRender = (render, ownLabel) => ({ "aria-label": stepperLabel, ...props }) => renderAs(render)(ownLabel === void 0 ? props : {
328
+ ...props,
329
+ "aria-label": stepperLabel
330
+ });
331
+ /**
332
+ * The button that steps the value down. It renders whichever button it is
333
+ * given.
334
+ *
335
+ * @example
336
+ * <NumberInput.Decrement
337
+ * render={
338
+ * <IconButton label="Decrease" variant="tertiary" size="sm">
339
+ * <RemoveIcon />
340
+ * </IconButton>
341
+ * }
342
+ * />
324
343
  */
325
344
  var NumberInputDecrement = (t0) => {
326
- const $ = c(7);
327
- const { label, className, children } = t0;
345
+ const $ = c(12);
346
+ let T0;
328
347
  let t1;
329
- if ($[0] !== className) {
330
- t1 = clsx(number_field_module_default.action, className);
331
- $[0] = className;
332
- $[1] = t1;
333
- } else t1 = $[1];
334
348
  let t2;
335
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
336
- t2 = /* @__PURE__ */ jsx(NumberField.Decrement, {});
337
- $[2] = t2;
338
- } else t2 = $[2];
339
349
  let t3;
340
- if ($[3] !== children || $[4] !== label || $[5] !== t1) {
341
- t3 = /* @__PURE__ */ jsx(Button, {
342
- iconOnly: true,
343
- icon: children,
344
- label,
345
- variant: "tertiary",
346
- size: "sm",
350
+ if ($[0] !== t0) {
351
+ const { render, className, ...props } = t0;
352
+ T0 = NumberField.Decrement;
353
+ if ($[5] !== className) {
354
+ t1 = clsx(number_field_module_default.action, className);
355
+ $[5] = className;
356
+ $[6] = t1;
357
+ } else t1 = $[6];
358
+ t2 = props;
359
+ t3 = stepRender(render, props["aria-label"]);
360
+ $[0] = t0;
361
+ $[1] = T0;
362
+ $[2] = t1;
363
+ $[3] = t2;
364
+ $[4] = t3;
365
+ } else {
366
+ T0 = $[1];
367
+ t1 = $[2];
368
+ t2 = $[3];
369
+ t3 = $[4];
370
+ }
371
+ let t4;
372
+ if ($[7] !== T0 || $[8] !== t1 || $[9] !== t2 || $[10] !== t3) {
373
+ t4 = /* @__PURE__ */ jsx(T0, {
347
374
  className: t1,
348
- render: t2
375
+ ...t2,
376
+ render: t3
349
377
  });
350
- $[3] = children;
351
- $[4] = label;
352
- $[5] = t1;
353
- $[6] = t3;
354
- } else t3 = $[6];
355
- return t3;
378
+ $[7] = T0;
379
+ $[8] = t1;
380
+ $[9] = t2;
381
+ $[10] = t3;
382
+ $[11] = t4;
383
+ } else t4 = $[11];
384
+ return t4;
356
385
  };
357
386
  /**
358
- * The icon-only button that steps the value up.
387
+ * The button that steps the value up. It renders whichever button it is
388
+ * given.
359
389
  *
360
390
  * @example
361
- * <NumberInput.Increment label="Increase"><AddIcon /></NumberInput.Increment>
391
+ * <NumberInput.Increment
392
+ * render={
393
+ * <IconButton label="Increase" variant="tertiary" size="sm">
394
+ * <AddIcon />
395
+ * </IconButton>
396
+ * }
397
+ * />
362
398
  */
363
399
  var NumberInputIncrement = (t0) => {
364
- const $ = c(7);
365
- const { label, className, children } = t0;
400
+ const $ = c(12);
401
+ let T0;
366
402
  let t1;
367
- if ($[0] !== className) {
368
- t1 = clsx(number_field_module_default.action, className);
369
- $[0] = className;
370
- $[1] = t1;
371
- } else t1 = $[1];
372
403
  let t2;
373
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
374
- t2 = /* @__PURE__ */ jsx(NumberField.Increment, {});
375
- $[2] = t2;
376
- } else t2 = $[2];
377
404
  let t3;
378
- if ($[3] !== children || $[4] !== label || $[5] !== t1) {
379
- t3 = /* @__PURE__ */ jsx(Button, {
380
- iconOnly: true,
381
- icon: children,
382
- label,
383
- variant: "tertiary",
384
- size: "sm",
405
+ if ($[0] !== t0) {
406
+ const { render, className, ...props } = t0;
407
+ T0 = NumberField.Increment;
408
+ if ($[5] !== className) {
409
+ t1 = clsx(number_field_module_default.action, className);
410
+ $[5] = className;
411
+ $[6] = t1;
412
+ } else t1 = $[6];
413
+ t2 = props;
414
+ t3 = stepRender(render, props["aria-label"]);
415
+ $[0] = t0;
416
+ $[1] = T0;
417
+ $[2] = t1;
418
+ $[3] = t2;
419
+ $[4] = t3;
420
+ } else {
421
+ T0 = $[1];
422
+ t1 = $[2];
423
+ t2 = $[3];
424
+ t3 = $[4];
425
+ }
426
+ let t4;
427
+ if ($[7] !== T0 || $[8] !== t1 || $[9] !== t2 || $[10] !== t3) {
428
+ t4 = /* @__PURE__ */ jsx(T0, {
385
429
  className: t1,
386
- render: t2
430
+ ...t2,
431
+ render: t3
387
432
  });
388
- $[3] = children;
389
- $[4] = label;
390
- $[5] = t1;
391
- $[6] = t3;
392
- } else t3 = $[6];
393
- return t3;
433
+ $[7] = T0;
434
+ $[8] = t1;
435
+ $[9] = t2;
436
+ $[10] = t3;
437
+ $[11] = t4;
438
+ } else t4 = $[11];
439
+ return t4;
394
440
  };
395
441
  /**
396
442
  * The parts of a number input: the field frame, a group carrying the border
@@ -400,16 +446,24 @@ var NumberInputIncrement = (t0) => {
400
446
  * description too. `Error` renders the errors `Root` was given.
401
447
  *
402
448
  * @example
403
- * <NumberInput.Root value={hours} onValueChange={setHours} optionalLabel="optional">
404
- * <NumberInput.Label>Hours</NumberInput.Label>
449
+ * <NumberInput.Root value={hours} onValueChange={setHours} requiredness="optional">
450
+ * <NumberInput.Label>Hours <Field.Requiredness optionalLabel="optional" /></NumberInput.Label>
405
451
  * <NumberInput.Group>
406
- * <NumberInput.Decrement label="Decrease">
407
- * <RemoveIcon />
408
- * </NumberInput.Decrement>
452
+ * <NumberInput.Decrement
453
+ * render={
454
+ * <IconButton label="Decrease" variant="tertiary" size="sm">
455
+ * <RemoveIcon />
456
+ * </IconButton>
457
+ * }
458
+ * />
409
459
  * <NumberInput.Input aria-roledescription="Number field" />
410
- * <NumberInput.Increment label="Increase">
411
- * <AddIcon />
412
- * </NumberInput.Increment>
460
+ * <NumberInput.Increment
461
+ * render={
462
+ * <IconButton label="Increase" variant="tertiary" size="sm">
463
+ * <AddIcon />
464
+ * </IconButton>
465
+ * }
466
+ * />
413
467
  * </NumberInput.Group>
414
468
  * <NumberInput.Error />
415
469
  * </NumberInput.Root>
@@ -1,97 +1,190 @@
1
1
  @layer kit.reset, kit.base, kit.components;
2
2
  @layer kit.components {
3
- ._root_8k2z3_3 {
3
+ ._root_1dlq9_3 {
4
4
  min-inline-size: 0;
5
5
  }
6
- ._group_8k2z3_6 {
6
+ ._group_1dlq9_6 {
7
7
  display: flex;
8
8
  flex-wrap: wrap;
9
9
  gap: var(--otp-field-gap, var(--sys-unit-4));
10
10
  align-items: center;
11
11
  }
12
- ._slot_8k2z3_12 {
13
- --field-fg: var(--sys-color-text);
14
- --field-muted-fg: var(--sys-color-text-muted);
15
- --field-placeholder-fg: var(--sys-color-text-placeholder);
12
+ ._slot_1dlq9_12 {
13
+ --_field-fg: var(--field-fg, var(--sys-color-text));
14
+ --_field-muted-fg: var(
15
+ --field-muted-fg,
16
+ var(--sys-color-text-muted)
17
+ );
18
+ --_field-placeholder-fg: var(
19
+ --field-placeholder-fg,
20
+ var(--sys-color-text-placeholder)
21
+ );
22
+ --_field-caret: var(--field-caret, auto);
23
+ }
24
+ ._slot_1dlq9_12 {
25
+ --_field-fill: var(
26
+ --field-bg,
27
+ var(--sys-color-surface)
28
+ );
16
29
  align-items: center;
17
30
  box-sizing: border-box;
18
- min-block-size: calc(1lh + 2 * var(--sys-unit-6) + 2 * 1px);
19
- border: 1px solid var(--sys-color-border);
20
- border-radius: var(--sys-radius-sm);
21
- background: var(--sys-color-surface);
22
- padding: var(--sys-unit-6);
23
- color: var(--field-fg);
24
- font: var(--sys-font-body-medium);
25
- }
26
- ._slot_8k2z3_12 {
27
- outline: 0 solid var(--sys-color-focus-ring);
28
- outline-offset: var(--sys-focus-ring-offset);
29
- }
30
- ._slot_8k2z3_12[data-focus-visible] {
31
- outline-width: var(--sys-focus-ring-width);
31
+ min-block-size: var(--field-min-block-size, calc(1lh + 2 * var(--field-pad-y, var(--sys-unit-6)) + 2 * var(--field-border-width, 1px)));
32
+ border: var(--field-border-width, 1px) solid var(--field-border, var(--sys-color-border));
33
+ border-radius: var(--field-radius, var(--sys-radius-sm));
34
+ background: var(--_field-fill);
35
+ padding-block: var(--field-pad-y, var(--sys-unit-6));
36
+ padding-inline: var(--field-pad-start, var(--field-pad-x, var(--sys-unit-6))) var(--field-pad-end, var(--field-pad-x, var(--sys-unit-6)));
37
+ box-shadow: var(--field-shadow, none);
38
+ color: var(--_field-fg);
39
+ font: var(--field-font, var(--sys-font-body-medium));
40
+ caret-color: var(--_field-caret);
41
+ backdrop-filter: var(--field-backdrop-filter, none);
42
+ }
43
+ ._slot_1dlq9_12 {
44
+ outline: 0 solid var(--field-ring-color, var(--sys-color-focus-ring));
45
+ outline-offset: var(--field-ring-offset, var(--sys-focus-ring-offset));
46
+ }
47
+ ._slot_1dlq9_12[data-focus-visible] {
48
+ outline-width: var(--field-ring-width, var(--sys-focus-ring-width));
32
49
  }
33
50
  @media not (prefers-reduced-motion) {
34
- ._slot_8k2z3_12 {
35
- transition: border-color var(--sys-motion-instant) var(--sys-motion-standard), background var(--sys-motion-instant) var(--sys-motion-standard);
51
+ ._slot_1dlq9_12 {
52
+ transition: border-color var(--sys-motion-instant) var(--sys-motion-standard), background var(--sys-motion-instant) var(--sys-motion-standard), box-shadow var(--sys-motion-instant) var(--sys-motion-standard);
36
53
  }
37
54
  }
38
- ._slot_8k2z3_12:hover:not([data-disabled], [data-readonly]), ._slot_8k2z3_12[data-focused], ._slot_8k2z3_12[data-popup-open] {
39
- border-color: var(--sys-color-primary);
40
- }
41
- ._slot_8k2z3_12[data-readonly] {
42
- --field-fg: var(--sys-color-text);
43
- border-style: dashed;
44
- border-color: var(--sys-color-outline);
45
- background: var(--sys-color-surface-high);
46
- color: var(--field-fg);
47
- }
48
- ._slot_8k2z3_12[data-pending] {
55
+ ._slot_1dlq9_12:hover:not([data-disabled],
56
+ [data-readonly],
57
+ [data-focused],
58
+ [data-popup-open]) {
59
+ border-color: var(--field-hover-border, var(--sys-color-primary));
60
+ }
61
+ ._slot_1dlq9_12[data-focused], ._slot_1dlq9_12[data-popup-open] {
62
+ border-width: var(--field-focus-border-width, var(--field-border-width, 1px));
63
+ border-color: var(--field-focus-border, var(--sys-color-primary));
64
+ box-shadow: var(--field-focus-shadow, var(--field-shadow, none));
65
+ }
66
+ ._slot_1dlq9_12:has(:autofill) {
67
+ --_field-fill: var(
68
+ --field-autofill-bg,
69
+ var(--sys-color-autofill-bg)
70
+ );
71
+ }
72
+ ._slot_1dlq9_12[data-readonly] {
73
+ --_field-fg: var(
74
+ --field-readonly-fg,
75
+ var(--sys-color-text)
76
+ );
77
+ --_field-fill: var(
78
+ --field-readonly-bg,
79
+ var(--sys-color-surface-high)
80
+ );
81
+ border-style: var(--field-readonly-border-style, dashed);
82
+ border-color: var(--field-readonly-border, var(--sys-color-outline));
83
+ background: var(--_field-fill);
84
+ color: var(--_field-fg);
85
+ }
86
+ ._slot_1dlq9_12[data-pending] {
49
87
  cursor: progress;
50
- caret-color: var(--sys-color-text-muted);
51
- }
52
- ._slot_8k2z3_12[data-invalid] {
53
- --field-fg: var(--sys-color-error-fg);
54
- --field-muted-fg: var(--sys-color-error-fg);
55
- --field-placeholder-fg: var(--sys-color-error-fg);
56
- border-color: var(--sys-color-error-fg);
57
- background-color: var(--sys-color-error-bg);
58
- color: var(--field-fg);
59
- }
60
- ._slot_8k2z3_12[data-disabled] {
61
- --field-fg: var(--sys-color-disabled-fg);
62
- --field-muted-fg: var(--sys-color-disabled-fg);
63
- --field-placeholder-fg: var(--sys-color-disabled-fg);
64
- color: var(--sys-color-disabled-fg);
88
+ caret-color: var(--field-pending-caret, var(--sys-color-text-muted));
89
+ }
90
+ ._slot_1dlq9_12[data-invalid] {
91
+ --_field-fg: var(
92
+ --field-invalid-fg,
93
+ var(--sys-color-error-fg)
94
+ );
95
+ --_field-muted-fg: var(
96
+ --field-invalid-muted-fg,
97
+ var(--field-invalid-fg, var(--sys-color-error-fg))
98
+ );
99
+ --_field-placeholder-fg: var(
100
+ --field-invalid-placeholder-fg,
101
+ var(--field-invalid-fg, var(--sys-color-error-fg))
102
+ );
103
+ --_field-fill: var(
104
+ --field-invalid-bg,
105
+ var(--sys-color-error-bg)
106
+ );
107
+ border-color: var(--field-invalid-border, var(--sys-color-error-fg));
108
+ background-color: var(--_field-fill);
109
+ color: var(--_field-fg);
110
+ border-width: var(--field-invalid-border-width, var(--field-border-width, 1px));
111
+ box-shadow: var(--field-invalid-shadow, var(--field-shadow, none));
112
+ }
113
+ ._slot_1dlq9_12[data-disabled] {
114
+ --_field-fg: var(
115
+ --field-disabled-fg,
116
+ var(--sys-color-disabled-fg)
117
+ );
118
+ --_field-muted-fg: var(
119
+ --field-disabled-muted-fg,
120
+ var(--field-disabled-fg, var(--sys-color-disabled-fg))
121
+ );
122
+ --_field-placeholder-fg: var(
123
+ --field-disabled-placeholder-fg,
124
+ var(--field-disabled-fg, var(--sys-color-disabled-fg))
125
+ );
126
+ color: var(--field-disabled-fg, var(--sys-color-disabled-fg));
65
127
  cursor: not-allowed;
66
- background: var(--sys-color-disabled-bg);
128
+ --_field-fill: var(
129
+ --field-disabled-bg,
130
+ var(--sys-color-disabled-bg)
131
+ );
67
132
  }
68
- ._slot_8k2z3_12::-webkit-search-cancel-button {
133
+ ._slot_1dlq9_12::-webkit-search-cancel-button {
69
134
  display: none;
70
135
  appearance: none;
71
136
  }
72
- ._slot_8k2z3_12::-webkit-search-decoration {
137
+ ._slot_1dlq9_12::-webkit-search-decoration {
73
138
  display: none;
74
139
  appearance: none;
75
140
  }
76
- ._slot_8k2z3_12 {
141
+ ._slot_1dlq9_12 {
77
142
  display: inline-flex;
78
143
  }
79
- ._slot_8k2z3_12::placeholder {
80
- color: var(--field-placeholder-fg);
81
- }
82
- ._slot_8k2z3_12 {
144
+ ._slot_1dlq9_12::placeholder {
145
+ color: var(--_field-placeholder-fg);
146
+ }
147
+ ._slot_1dlq9_12:autofill:not([data-readonly],
148
+ [data-invalid],
149
+ [data-disabled]) {
150
+ --_field-fill: var(
151
+ --field-autofill-bg,
152
+ var(--sys-color-autofill-bg)
153
+ );
154
+ }
155
+ ._slot_1dlq9_12:-webkit-autofill:not([data-readonly],
156
+ [data-invalid],
157
+ [data-disabled]) {
158
+ --_field-fill: var(
159
+ --field-autofill-bg,
160
+ var(--sys-color-autofill-bg)
161
+ );
162
+ }
163
+ ._slot_1dlq9_12:autofill {
164
+ box-shadow: inset 0 0 0 100vmax var(--_field-fill);
165
+ -webkit-text-fill-color: var(--_field-fg);
166
+ caret-color: var(--_field-caret, var(--_field-fg));
167
+ filter: none;
168
+ }
169
+ ._slot_1dlq9_12:-webkit-autofill {
170
+ box-shadow: inset 0 0 0 100vmax var(--_field-fill);
171
+ -webkit-text-fill-color: var(--_field-fg);
172
+ caret-color: var(--_field-caret, var(--_field-fg));
173
+ filter: none;
174
+ }
175
+ ._slot_1dlq9_12 {
83
176
  justify-content: center;
84
177
  inline-size: var(--otp-field-slot-size, var(--sys-unit-24));
85
178
  min-block-size: var(--otp-field-slot-size, var(--sys-unit-24));
86
- padding-inline: 0;
179
+ padding-inline: var(--otp-field-slot-pad-x, 0);
87
180
  font-variant-numeric: tabular-nums;
88
181
  text-align: center;
89
182
  cursor: text;
90
183
  line-height: normal;
91
184
  }
92
- ._separator_8k2z3_92 {
93
- inline-size: var(--sys-unit-8);
94
- block-size: 1px;
185
+ ._separator_1dlq9_185 {
186
+ inline-size: var(--otp-field-separator-inline-size, var(--sys-unit-8));
187
+ block-size: var(--otp-field-separator-block-size, 1px);
95
188
  background: var(--otp-field-separator-bg, var(--sys-color-border));
96
189
  }
97
190
  }
@@ -1,5 +1,5 @@
1
1
  import type { ReactNode } from "react";
2
- import type { FieldProps } from "../field/index.ts";
2
+ import { type FieldProps } from "../field/index.ts";
3
3
  import { type OtpInputRootProps, type OtpSlotLabel } from "./otp-input.tsx";
4
4
  export type OtpFieldProps = FieldProps & Omit<OtpInputRootProps, keyof FieldProps | "children"> & Readonly<{
5
5
  /** Names a slot past the first by its 1-based position, such as "character 2 of 6". */
@@ -19,4 +19,4 @@ export type OtpFieldProps = FieldProps & Omit<OtpInputRootProps, keyof FieldProp
19
19
  * length={6}
20
20
  * />
21
21
  */
22
- export declare const OtpField: ({ label, description, slotLabel, ...rootProps }: OtpFieldProps) => ReactNode;
22
+ export declare const OtpField: ({ label, description, slotLabel, optionalLabel, ...rootProps }: OtpFieldProps) => ReactNode;