@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
@@ -16,59 +16,40 @@ var useInputPartsContext = () => {
16
16
  return useRequiredContext(InputPartsContext, "Input parts must be rendered within their input's <Root>.");
17
17
  };
18
18
  /**
19
- * The label above a raw input, trailing the requiredness its `Root` was given.
19
+ * The label above a raw input. Add `Field.Requiredness` to trail the
20
+ * requiredness its `Root` was given.
20
21
  *
21
22
  * @example
22
- * <TextInput.Label>Email</TextInput.Label>
23
+ * <TextInput.Label>Email <Field.Requiredness optionalLabel="optional" /></TextInput.Label>
23
24
  */
24
- var InputLabel = (t0) => {
25
- const $ = c(8);
26
- let children;
27
- let props;
28
- if ($[0] !== t0) {
29
- ({children, ...props} = t0);
30
- $[0] = t0;
31
- $[1] = children;
32
- $[2] = props;
33
- } else {
34
- children = $[1];
35
- props = $[2];
36
- }
37
- const { state, optionalLabel } = useInputPartsContext();
38
- let t1;
39
- if ($[3] !== children || $[4] !== optionalLabel || $[5] !== props || $[6] !== state.requiredness) {
40
- t1 = /* @__PURE__ */ jsx(Field.Label, {
41
- requiredness: state.requiredness,
42
- optionalLabel,
43
- ...props,
44
- children
45
- });
46
- $[3] = children;
47
- $[4] = optionalLabel;
48
- $[5] = props;
49
- $[6] = state.requiredness;
50
- $[7] = t1;
51
- } else t1 = $[7];
52
- return t1;
25
+ var InputLabel = (props) => {
26
+ const $ = c(2);
27
+ let t0;
28
+ if ($[0] !== props) {
29
+ t0 = /* @__PURE__ */ jsx(Field.Label, { ...props });
30
+ $[0] = props;
31
+ $[1] = t0;
32
+ } else t0 = $[1];
33
+ return t0;
53
34
  };
54
35
  /**
55
- * The spinner a raw input shows once its `Root`'s wait is worth showing.
36
+ * The box a raw input's wait shows in, holding what it is given, such as a
37
+ * spinner. It renders once its `Root`'s wait is worth showing.
56
38
  *
57
39
  * @example
58
- * <TextInput.Pending />
40
+ * <TextInput.Pending><Spinner size={1} /></TextInput.Pending>
59
41
  */
60
- var InputPending = (t0) => {
42
+ var InputPending = (props) => {
61
43
  const $ = c(2);
62
- const { className } = t0;
63
44
  const { phase } = useInputPartsContext();
64
45
  if (phase === "fresh") return null;
65
- let t1;
66
- if ($[0] !== className) {
67
- t1 = /* @__PURE__ */ jsx(Field.Pending, { className });
68
- $[0] = className;
69
- $[1] = t1;
70
- } else t1 = $[1];
71
- return t1;
46
+ let t0;
47
+ if ($[0] !== props) {
48
+ t0 = /* @__PURE__ */ jsx(Field.Pending, { ...props });
49
+ $[0] = props;
50
+ $[1] = t0;
51
+ } else t0 = $[1];
52
+ return t0;
72
53
  };
73
54
  /**
74
55
  * The errors a raw input's `Root` was given.
@@ -1,22 +1,22 @@
1
1
  @layer kit.reset, kit.base, kit.components;
2
2
  @layer kit.components {
3
- ._placeholder_ayddm_3 {
3
+ ._placeholder_1jlot_3 {
4
4
  display: flex;
5
5
  flex-direction: column;
6
6
  gap: var(--field-gap, var(--sys-unit-4));
7
7
  inline-size: 100%;
8
8
  }
9
- ._label_ayddm_9 {
9
+ ._label_1jlot_9 {
10
10
  inline-size: var(--field-placeholder-label-size, var(--sys-unit-56));
11
11
  block-size: 1lh;
12
12
  }
13
- ._controls_ayddm_13 {
13
+ ._controls_1jlot_13 {
14
14
  display: flex;
15
- gap: var(--sys-unit-4);
15
+ gap: var(--field-placeholder-controls-gap, var(--sys-unit-4));
16
16
  inline-size: 100%;
17
17
  }
18
- ._control_ayddm_13 {
18
+ ._control_1jlot_13 {
19
19
  flex: 1;
20
- block-size: calc(1lh + 2 * var(--sys-unit-6) + 2 * 1px);
20
+ block-size: var(--field-min-block-size, calc(1lh + 2 * var(--field-pad-y, var(--sys-unit-6)) + 2 * var(--field-border-width, 1px)));
21
21
  }
22
22
  }
@@ -1,8 +1,8 @@
1
1
  import './field-placeholder.css';// src/components/field-placeholder/field-placeholder.module.scss
2
- var placeholder = "_placeholder_ayddm_3";
3
- var label = "_label_ayddm_9";
4
- var controls = "_controls_ayddm_13";
5
- var control = "_control_ayddm_13";
2
+ var placeholder = "_placeholder_1jlot_3";
3
+ var label = "_label_1jlot_9";
4
+ var controls = "_controls_1jlot_13";
5
+ var control = "_control_1jlot_13";
6
6
  var field_placeholder_module_default = {
7
7
  placeholder,
8
8
  label,
@@ -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 { FieldsetErrorFormat, FieldsetMember } from "./fieldset-root.tsx";
4
4
  export type FieldGroupProps = Pick<FieldProps, "requiredness" | "optionalLabel"> & Readonly<{
5
5
  /** The visible name of the group, such as "Address". */
@@ -1,4 +1,5 @@
1
1
  import { normalizeFieldErrors } from "../../lib/forms/errors.js";
2
+ import { Field } from "../field/field.js";
2
3
  import { Fieldset } from "./fieldset.js";
3
4
  import { c } from "react/compiler-runtime";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -17,7 +18,7 @@ import { useId } from "react";
17
18
  * </FieldGroup>
18
19
  */
19
20
  var FieldGroup = (t0) => {
20
- const $ = c(27);
21
+ const $ = c(28);
21
22
  const { legend, description, errors, requiredness, optionalLabel, members, formatError, className, children } = t0;
22
23
  const id = useId();
23
24
  const descriptionId = `${id}description`;
@@ -33,42 +34,47 @@ var FieldGroup = (t0) => {
33
34
  } else t1 = $[4];
34
35
  const describedBy = t1;
35
36
  let t2;
36
- if ($[5] !== legend || $[6] !== optionalLabel || $[7] !== requiredness) {
37
- t2 = /* @__PURE__ */ jsx(Fieldset.Legend, {
38
- requiredness,
39
- optionalLabel,
40
- children: legend
41
- });
42
- $[5] = legend;
43
- $[6] = optionalLabel;
44
- $[7] = requiredness;
45
- $[8] = t2;
46
- } else t2 = $[8];
37
+ if ($[5] !== optionalLabel) {
38
+ t2 = /* @__PURE__ */ jsx(Field.Requiredness, { optionalLabel });
39
+ $[5] = optionalLabel;
40
+ $[6] = t2;
41
+ } else t2 = $[6];
47
42
  let t3;
48
- if ($[9] !== description || $[10] !== descriptionId) {
49
- t3 = /* @__PURE__ */ jsx(Fieldset.Description, {
43
+ if ($[7] !== legend || $[8] !== t2) {
44
+ t3 = /* @__PURE__ */ jsxs(Fieldset.Legend, { children: [
45
+ legend,
46
+ " ",
47
+ t2
48
+ ] });
49
+ $[7] = legend;
50
+ $[8] = t2;
51
+ $[9] = t3;
52
+ } else t3 = $[9];
53
+ let t4;
54
+ if ($[10] !== description || $[11] !== descriptionId) {
55
+ t4 = /* @__PURE__ */ jsx(Fieldset.Description, {
50
56
  id: descriptionId,
51
57
  children: description
52
58
  });
53
- $[9] = description;
54
- $[10] = descriptionId;
55
- $[11] = t3;
56
- } else t3 = $[11];
57
- let t4;
58
- if ($[12] !== children) {
59
- t4 = /* @__PURE__ */ jsx(Fieldset.Fields, { children });
60
- $[12] = children;
61
- $[13] = t4;
62
- } else t4 = $[13];
59
+ $[10] = description;
60
+ $[11] = descriptionId;
61
+ $[12] = t4;
62
+ } else t4 = $[12];
63
63
  let t5;
64
- if ($[14] !== errorId) {
65
- t5 = /* @__PURE__ */ jsx(Fieldset.Error, { id: errorId });
66
- $[14] = errorId;
67
- $[15] = t5;
68
- } else t5 = $[15];
64
+ if ($[13] !== children) {
65
+ t5 = /* @__PURE__ */ jsx(Fieldset.Fields, { children });
66
+ $[13] = children;
67
+ $[14] = t5;
68
+ } else t5 = $[14];
69
69
  let t6;
70
- if ($[16] !== className || $[17] !== describedBy || $[18] !== errors || $[19] !== formatError || $[20] !== members || $[21] !== requiredness || $[22] !== t2 || $[23] !== t3 || $[24] !== t4 || $[25] !== t5) {
71
- t6 = /* @__PURE__ */ jsxs(Fieldset.Root, {
70
+ if ($[15] !== errorId) {
71
+ t6 = /* @__PURE__ */ jsx(Fieldset.Error, { id: errorId });
72
+ $[15] = errorId;
73
+ $[16] = t6;
74
+ } else t6 = $[16];
75
+ let t7;
76
+ if ($[17] !== className || $[18] !== describedBy || $[19] !== errors || $[20] !== formatError || $[21] !== members || $[22] !== requiredness || $[23] !== t3 || $[24] !== t4 || $[25] !== t5 || $[26] !== t6) {
77
+ t7 = /* @__PURE__ */ jsxs(Fieldset.Root, {
72
78
  errors,
73
79
  requiredness,
74
80
  members,
@@ -76,25 +82,25 @@ var FieldGroup = (t0) => {
76
82
  "aria-describedby": describedBy,
77
83
  className,
78
84
  children: [
79
- t2,
80
85
  t3,
81
86
  t4,
82
- t5
87
+ t5,
88
+ t6
83
89
  ]
84
90
  });
85
- $[16] = className;
86
- $[17] = describedBy;
87
- $[18] = errors;
88
- $[19] = formatError;
89
- $[20] = members;
90
- $[21] = requiredness;
91
- $[22] = t2;
91
+ $[17] = className;
92
+ $[18] = describedBy;
93
+ $[19] = errors;
94
+ $[20] = formatError;
95
+ $[21] = members;
96
+ $[22] = requiredness;
92
97
  $[23] = t3;
93
98
  $[24] = t4;
94
99
  $[25] = t5;
95
100
  $[26] = t6;
96
- } else t6 = $[26];
97
- return t6;
101
+ $[27] = t7;
102
+ } else t7 = $[27];
103
+ return t7;
98
104
  };
99
105
  function _temp(part) {
100
106
  return part !== "";
@@ -55,6 +55,6 @@ export declare const FieldsetRoot: ({ errors, requiredness, dirty, touched, pend
55
55
  * The legend that names a {@link FieldsetRoot}.
56
56
  *
57
57
  * @example
58
- * <FieldsetLegend optionalLabel="optional">Kind</FieldsetLegend>
58
+ * <FieldsetLegend>Kind <Field.Requiredness optionalLabel="optional" /></FieldsetLegend>
59
59
  */
60
60
  export declare const FieldsetLegend: (props: FieldLabelProps) => ReactNode;
@@ -34,7 +34,7 @@ var withoutKey = (record, key) => Object.fromEntries(Object.entries(record).filt
34
34
  * <FieldsetRoot filled={kind !== null}>…</FieldsetRoot>
35
35
  */
36
36
  var FieldsetRoot = (t0) => {
37
- const $ = c(64);
37
+ const $ = c(65);
38
38
  let children;
39
39
  let dirty;
40
40
  let disabled;
@@ -209,11 +209,12 @@ var FieldsetRoot = (t0) => {
209
209
  $[49] = t11;
210
210
  } else t11 = $[49];
211
211
  let t12;
212
- if ($[50] !== children || $[51] !== dirty || $[52] !== field.disabled || $[53] !== field.invalid || $[54] !== props || $[55] !== t11 || $[56] !== touched) {
212
+ if ($[50] !== children || $[51] !== dirty || $[52] !== field.disabled || $[53] !== field.invalid || $[54] !== props || $[55] !== requiredness || $[56] !== t11 || $[57] !== touched) {
213
213
  t12 = /* @__PURE__ */ jsx(Field.Root, {
214
214
  render: t8,
215
215
  disabled: t9,
216
216
  invalid: t10,
217
+ requiredness,
217
218
  dirty,
218
219
  touched,
219
220
  ...t11,
@@ -225,37 +226,38 @@ var FieldsetRoot = (t0) => {
225
226
  $[52] = field.disabled;
226
227
  $[53] = field.invalid;
227
228
  $[54] = props;
228
- $[55] = t11;
229
- $[56] = touched;
230
- $[57] = t12;
231
- } else t12 = $[57];
229
+ $[55] = requiredness;
230
+ $[56] = t11;
231
+ $[57] = touched;
232
+ $[58] = t12;
233
+ } else t12 = $[58];
232
234
  let t13;
233
- if ($[58] !== group || $[59] !== t12) {
235
+ if ($[59] !== group || $[60] !== t12) {
234
236
  t13 = /* @__PURE__ */ jsx(FieldGroupContext, {
235
237
  value: group,
236
238
  children: t12
237
239
  });
238
- $[58] = group;
239
- $[59] = t12;
240
- $[60] = t13;
241
- } else t13 = $[60];
240
+ $[59] = group;
241
+ $[60] = t12;
242
+ $[61] = t13;
243
+ } else t13 = $[61];
242
244
  let t14;
243
- if ($[61] !== t13 || $[62] !== t7) {
245
+ if ($[62] !== t13 || $[63] !== t7) {
244
246
  t14 = /* @__PURE__ */ jsx(FieldsetContext, {
245
247
  value: t7,
246
248
  children: t13
247
249
  });
248
- $[61] = t13;
249
- $[62] = t7;
250
- $[63] = t14;
251
- } else t14 = $[63];
250
+ $[62] = t13;
251
+ $[63] = t7;
252
+ $[64] = t14;
253
+ } else t14 = $[64];
252
254
  return t14;
253
255
  };
254
256
  /**
255
257
  * The legend that names a {@link FieldsetRoot}.
256
258
  *
257
259
  * @example
258
- * <FieldsetLegend optionalLabel="optional">Kind</FieldsetLegend>
260
+ * <FieldsetLegend>Kind <Field.Requiredness optionalLabel="optional" /></FieldsetLegend>
259
261
  */
260
262
  var FieldsetLegend = (props) => {
261
263
  const $ = c(3);
@@ -26,8 +26,8 @@ export type FieldsetParts = Readonly<{
26
26
  * `errors`. For the ordinary case, use `FieldGroup`.
27
27
  *
28
28
  * @example
29
- * <Fieldset.Root members={members} aria-describedby={descriptionId}>
30
- * <Fieldset.Legend optionalLabel="optional">Address</Fieldset.Legend>
29
+ * <Fieldset.Root members={members} requiredness="optional" aria-describedby={descriptionId}>
30
+ * <Fieldset.Legend>Address <Field.Requiredness optionalLabel="optional" /></Fieldset.Legend>
31
31
  * <Fieldset.Description id={descriptionId}>We send the invoice here.</Fieldset.Description>
32
32
  * <Fieldset.Fields>…</Fieldset.Fields>
33
33
  * <Fieldset.Error />
@@ -104,8 +104,8 @@ var FieldsetError = (t0) => {
104
104
  * `errors`. For the ordinary case, use `FieldGroup`.
105
105
  *
106
106
  * @example
107
- * <Fieldset.Root members={members} aria-describedby={descriptionId}>
108
- * <Fieldset.Legend optionalLabel="optional">Address</Fieldset.Legend>
107
+ * <Fieldset.Root members={members} requiredness="optional" aria-describedby={descriptionId}>
108
+ * <Fieldset.Legend>Address <Field.Requiredness optionalLabel="optional" /></Fieldset.Legend>
109
109
  * <Fieldset.Description id={descriptionId}>We send the invoice here.</Fieldset.Description>
110
110
  * <Fieldset.Fields>…</Fieldset.Fields>
111
111
  * <Fieldset.Error />
@@ -1,99 +1,165 @@
1
1
  @layer kit.reset, kit.base, kit.components;
2
2
  @layer kit.components {
3
- ._dropTarget_1ap1m_3 {
4
- --field-fg: var(--sys-color-text);
5
- --field-muted-fg: var(--sys-color-text-muted);
6
- --field-placeholder-fg: var(--sys-color-text-placeholder);
3
+ ._dropTarget_1rv6d_3 {
4
+ --_field-fg: var(--field-fg, var(--sys-color-text));
5
+ --_field-muted-fg: var(
6
+ --field-muted-fg,
7
+ var(--sys-color-text-muted)
8
+ );
9
+ --_field-placeholder-fg: var(
10
+ --field-placeholder-fg,
11
+ var(--sys-color-text-placeholder)
12
+ );
13
+ --_field-caret: var(--field-caret, auto);
14
+ }
15
+ ._dropTarget_1rv6d_3 {
16
+ --_field-fill: var(
17
+ --field-bg,
18
+ var(--sys-color-surface)
19
+ );
7
20
  align-items: center;
8
21
  box-sizing: border-box;
9
- min-block-size: calc(1lh + 2 * var(--sys-unit-6) + 2 * 1px);
10
- border: 1px solid var(--sys-color-border);
11
- border-radius: var(--sys-radius-sm);
12
- background: var(--sys-color-surface);
13
- padding: var(--sys-unit-6);
14
- color: var(--field-fg);
15
- font: var(--sys-font-body-medium);
16
- }
17
- ._dropTarget_1ap1m_3 {
18
- outline: 0 solid var(--sys-color-focus-ring);
19
- outline-offset: var(--sys-focus-ring-offset);
20
- }
21
- ._dropTarget_1ap1m_3[data-focus-visible] {
22
- outline-width: var(--sys-focus-ring-width);
22
+ 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)));
23
+ border: var(--field-border-width, 1px) solid var(--field-border, var(--sys-color-border));
24
+ border-radius: var(--field-radius, var(--sys-radius-sm));
25
+ background: var(--_field-fill);
26
+ padding-block: var(--field-pad-y, var(--sys-unit-6));
27
+ 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)));
28
+ box-shadow: var(--field-shadow, none);
29
+ color: var(--_field-fg);
30
+ font: var(--field-font, var(--sys-font-body-medium));
31
+ caret-color: var(--_field-caret);
32
+ backdrop-filter: var(--field-backdrop-filter, none);
33
+ }
34
+ ._dropTarget_1rv6d_3 {
35
+ outline: 0 solid var(--field-ring-color, var(--sys-color-focus-ring));
36
+ outline-offset: var(--field-ring-offset, var(--sys-focus-ring-offset));
37
+ }
38
+ ._dropTarget_1rv6d_3[data-focus-visible] {
39
+ outline-width: var(--field-ring-width, var(--sys-focus-ring-width));
23
40
  }
24
41
  @media not (prefers-reduced-motion) {
25
- ._dropTarget_1ap1m_3 {
26
- transition: border-color var(--sys-motion-instant) var(--sys-motion-standard), background var(--sys-motion-instant) var(--sys-motion-standard);
42
+ ._dropTarget_1rv6d_3 {
43
+ 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);
27
44
  }
28
45
  }
29
- ._dropTarget_1ap1m_3:hover:not([data-disabled], [data-readonly]), ._dropTarget_1ap1m_3[data-focused], ._dropTarget_1ap1m_3[data-popup-open] {
30
- border-color: var(--sys-color-primary);
31
- }
32
- ._dropTarget_1ap1m_3[data-readonly] {
33
- --field-fg: var(--sys-color-text);
34
- border-style: dashed;
35
- border-color: var(--sys-color-outline);
36
- background: var(--sys-color-surface-high);
37
- color: var(--field-fg);
38
- }
39
- ._dropTarget_1ap1m_3[data-pending] {
46
+ ._dropTarget_1rv6d_3:hover:not([data-disabled],
47
+ [data-readonly],
48
+ [data-focused],
49
+ [data-popup-open]) {
50
+ border-color: var(--field-hover-border, var(--sys-color-primary));
51
+ }
52
+ ._dropTarget_1rv6d_3[data-focused], ._dropTarget_1rv6d_3[data-popup-open] {
53
+ border-width: var(--field-focus-border-width, var(--field-border-width, 1px));
54
+ border-color: var(--field-focus-border, var(--sys-color-primary));
55
+ box-shadow: var(--field-focus-shadow, var(--field-shadow, none));
56
+ }
57
+ ._dropTarget_1rv6d_3:has(:autofill) {
58
+ --_field-fill: var(
59
+ --field-autofill-bg,
60
+ var(--sys-color-autofill-bg)
61
+ );
62
+ }
63
+ ._dropTarget_1rv6d_3[data-readonly] {
64
+ --_field-fg: var(
65
+ --field-readonly-fg,
66
+ var(--sys-color-text)
67
+ );
68
+ --_field-fill: var(
69
+ --field-readonly-bg,
70
+ var(--sys-color-surface-high)
71
+ );
72
+ border-style: var(--field-readonly-border-style, dashed);
73
+ border-color: var(--field-readonly-border, var(--sys-color-outline));
74
+ background: var(--_field-fill);
75
+ color: var(--_field-fg);
76
+ }
77
+ ._dropTarget_1rv6d_3[data-pending] {
40
78
  cursor: progress;
41
- caret-color: var(--sys-color-text-muted);
42
- }
43
- ._dropTarget_1ap1m_3[data-invalid] {
44
- --field-fg: var(--sys-color-error-fg);
45
- --field-muted-fg: var(--sys-color-error-fg);
46
- --field-placeholder-fg: var(--sys-color-error-fg);
47
- border-color: var(--sys-color-error-fg);
48
- background-color: var(--sys-color-error-bg);
49
- color: var(--field-fg);
50
- }
51
- ._dropTarget_1ap1m_3[data-disabled] {
52
- --field-fg: var(--sys-color-disabled-fg);
53
- --field-muted-fg: var(--sys-color-disabled-fg);
54
- --field-placeholder-fg: var(--sys-color-disabled-fg);
55
- color: var(--sys-color-disabled-fg);
79
+ caret-color: var(--field-pending-caret, var(--sys-color-text-muted));
80
+ }
81
+ ._dropTarget_1rv6d_3[data-invalid] {
82
+ --_field-fg: var(
83
+ --field-invalid-fg,
84
+ var(--sys-color-error-fg)
85
+ );
86
+ --_field-muted-fg: var(
87
+ --field-invalid-muted-fg,
88
+ var(--field-invalid-fg, var(--sys-color-error-fg))
89
+ );
90
+ --_field-placeholder-fg: var(
91
+ --field-invalid-placeholder-fg,
92
+ var(--field-invalid-fg, var(--sys-color-error-fg))
93
+ );
94
+ --_field-fill: var(
95
+ --field-invalid-bg,
96
+ var(--sys-color-error-bg)
97
+ );
98
+ border-color: var(--field-invalid-border, var(--sys-color-error-fg));
99
+ background-color: var(--_field-fill);
100
+ color: var(--_field-fg);
101
+ border-width: var(--field-invalid-border-width, var(--field-border-width, 1px));
102
+ box-shadow: var(--field-invalid-shadow, var(--field-shadow, none));
103
+ }
104
+ ._dropTarget_1rv6d_3[data-disabled] {
105
+ --_field-fg: var(
106
+ --field-disabled-fg,
107
+ var(--sys-color-disabled-fg)
108
+ );
109
+ --_field-muted-fg: var(
110
+ --field-disabled-muted-fg,
111
+ var(--field-disabled-fg, var(--sys-color-disabled-fg))
112
+ );
113
+ --_field-placeholder-fg: var(
114
+ --field-disabled-placeholder-fg,
115
+ var(--field-disabled-fg, var(--sys-color-disabled-fg))
116
+ );
117
+ color: var(--field-disabled-fg, var(--sys-color-disabled-fg));
56
118
  cursor: not-allowed;
57
- background: var(--sys-color-disabled-bg);
119
+ --_field-fill: var(
120
+ --field-disabled-bg,
121
+ var(--sys-color-disabled-bg)
122
+ );
58
123
  }
59
- ._dropTarget_1ap1m_3 {
124
+ ._dropTarget_1rv6d_3 {
60
125
  position: relative;
61
126
  display: flex;
62
- gap: var(--sys-unit-4);
127
+ gap: var(--field-inlay-gap, var(--sys-unit-4));
63
128
  }
64
- ._dropTarget_1ap1m_3 {
129
+ ._dropTarget_1rv6d_3 {
65
130
  flex-direction: column;
66
131
  justify-content: center;
67
132
  gap: var(--file-field-gap, var(--sys-unit-8));
68
133
  min-block-size: var(--file-field-min-block-size, var(--sys-unit-40));
69
- padding: var(--file-field-padding, var(--sys-unit-12));
134
+ border-radius: var(--file-field-radius, var(--field-radius, var(--sys-radius-sm)));
135
+ padding: var(--file-field-pad-y, var(--sys-unit-12)) var(--file-field-pad-x, var(--sys-unit-12));
70
136
  text-align: center;
71
137
  cursor: pointer;
72
138
  }
73
- ._dropTarget_1ap1m_3[data-readonly] {
139
+ ._dropTarget_1rv6d_3[data-readonly] {
74
140
  cursor: default;
75
141
  }
76
- ._dropTarget_1ap1m_3[data-drop-target] {
77
- border-style: dashed;
142
+ ._dropTarget_1rv6d_3[data-drop-target] {
143
+ border-style: var(--file-field-drop-border-style, dashed);
78
144
  border-color: var(--file-field-drop-border, var(--sys-color-primary));
79
145
  background: var(--file-field-drop-bg, var(--sys-color-primary-container));
80
146
  color: var(--file-field-drop-fg, var(--sys-color-on-primary-container));
81
147
  }
82
- ._hint_1ap1m_82 {
148
+ ._hint_1rv6d_148 {
83
149
  display: inline-flex;
84
150
  flex-direction: column;
85
151
  align-items: center;
86
- gap: var(--sys-unit-2);
87
- color: var(--field-muted-fg);
88
- font: var(--sys-font-body-medium);
152
+ gap: var(--file-field-hint-gap, var(--sys-unit-2));
153
+ color: var(--_field-muted-fg);
154
+ font: var(--file-field-hint-font, var(--sys-font-body-medium));
89
155
  overflow-wrap: normal;
90
156
  hyphens: auto;
91
157
  }
92
- ._hintIcon_1ap1m_92 {
158
+ ._hintIcon_1rv6d_158 {
93
159
  display: inline-flex;
94
160
  font-size: var(--file-field-hint-icon-size, 1.5em);
95
161
  }
96
- ._list_1ap1m_96 {
162
+ ._list_1rv6d_162 {
97
163
  display: flex;
98
164
  flex-direction: row;
99
165
  flex-wrap: wrap;