@12-apps/ui 6.93.2 → 6.94.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 (47) hide show
  1. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +5 -5
  2. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +3 -3
  3. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +4 -4
  4. package/dist/_internal/components/form/CepField/CepField.js +3 -3
  5. package/dist/_internal/components/form/Input/Input.factory.js +1 -1
  6. package/dist/_internal/components/form/Input/Input.js +2 -2
  7. package/dist/_internal/components/form/NumberField/NumberField.js +3 -3
  8. package/dist/_internal/components/form/index.js +5 -5
  9. package/dist/_internal/components/form/total-form/Fields/CepField.js +4 -4
  10. package/dist/_internal/components/form/total-form/Fields/TextField.js +3 -3
  11. package/dist/_internal/components/form/total-form/Fields/index.js +7 -7
  12. package/dist/_internal/components/index.js +5 -5
  13. package/dist/{chunk-BR3WBTTQ.js → chunk-3ODEBPGT.js} +3 -3
  14. package/dist/{chunk-I4DG3PP4.js → chunk-43EFQ3DU.js} +2 -2
  15. package/dist/{chunk-FXECKKPW.js → chunk-ASBFGGJB.js} +6 -1
  16. package/dist/chunk-ASBFGGJB.js.map +1 -0
  17. package/dist/{chunk-3IX2TP4I.js → chunk-GB7NTXL2.js} +2 -2
  18. package/dist/{chunk-YGWLMTPB.js → chunk-KXVWH3JM.js} +2 -2
  19. package/dist/{chunk-GXGHEOWC.js → chunk-USHVG4UQ.js} +2 -2
  20. package/dist/{chunk-2GDPZ53K.js → chunk-UTWEHMAP.js} +2 -2
  21. package/dist/{chunk-4JNC5AEF.js → chunk-WGKBZ7DN.js} +2 -2
  22. package/dist/{chunk-ASEHJIIV.js → chunk-Y3FYOKWF.js} +2 -2
  23. package/dist/{chunk-RHVJ3L4U.js → chunk-ZJY7OK6H.js} +2 -2
  24. package/dist/{chunk-LABIUXDM.js → chunk-ZYXXAWDF.js} +2 -2
  25. package/dist/data-display/DataViews.js +5 -5
  26. package/dist/form/CepField.js +3 -3
  27. package/dist/form/Input/outlined.js +2 -2
  28. package/dist/form/Input.js +2 -2
  29. package/dist/form/NumberField.js +3 -3
  30. package/dist/form/total-form.js +7 -7
  31. package/dist/types/components/form/Input/Input.factory.d.ts.map +1 -1
  32. package/dist/types/components/form/Input/Input.types.d.ts +3 -2
  33. package/dist/types/components/form/Input/Input.types.d.ts.map +1 -1
  34. package/package.json +1 -1
  35. package/src/components/form/Input/Input.factory.tsx +12 -0
  36. package/src/components/form/Input/Input.types.ts +3 -2
  37. package/dist/chunk-FXECKKPW.js.map +0 -1
  38. /package/dist/{chunk-BR3WBTTQ.js.map → chunk-3ODEBPGT.js.map} +0 -0
  39. /package/dist/{chunk-I4DG3PP4.js.map → chunk-43EFQ3DU.js.map} +0 -0
  40. /package/dist/{chunk-3IX2TP4I.js.map → chunk-GB7NTXL2.js.map} +0 -0
  41. /package/dist/{chunk-YGWLMTPB.js.map → chunk-KXVWH3JM.js.map} +0 -0
  42. /package/dist/{chunk-GXGHEOWC.js.map → chunk-USHVG4UQ.js.map} +0 -0
  43. /package/dist/{chunk-2GDPZ53K.js.map → chunk-UTWEHMAP.js.map} +0 -0
  44. /package/dist/{chunk-4JNC5AEF.js.map → chunk-WGKBZ7DN.js.map} +0 -0
  45. /package/dist/{chunk-ASEHJIIV.js.map → chunk-Y3FYOKWF.js.map} +0 -0
  46. /package/dist/{chunk-RHVJ3L4U.js.map → chunk-ZJY7OK6H.js.map} +0 -0
  47. /package/dist/{chunk-LABIUXDM.js.map → chunk-ZYXXAWDF.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  DataViewsTableBase
4
- } from "../../../../chunk-ASEHJIIV.js";
4
+ } from "../../../../chunk-Y3FYOKWF.js";
5
5
  import "../../../../chunk-YNVTUQ5B.js";
6
6
  import "../../../../chunk-HWZETMO4.js";
7
7
  import "../../../../chunk-ZOLAYP2D.js";
@@ -45,8 +45,8 @@ import "../../../../chunk-WSAUWJFO.js";
45
45
  import "../../../../chunk-YLGY3D52.js";
46
46
  import "../../../../chunk-4NG3LTRX.js";
47
47
  import "../../../../chunk-2MT6VSS2.js";
48
- import "../../../../chunk-GXGHEOWC.js";
49
- import "../../../../chunk-I4DG3PP4.js";
48
+ import "../../../../chunk-USHVG4UQ.js";
49
+ import "../../../../chunk-43EFQ3DU.js";
50
50
  import "../../../../chunk-VNMD6BA4.js";
51
51
  import "../../../../chunk-5M4TYFR3.js";
52
52
  import "../../../../chunk-7CUZTWKW.js";
@@ -105,7 +105,7 @@ import "../../../../chunk-SZS7VZJN.js";
105
105
  import "../../../../chunk-L6YTVXGN.js";
106
106
  import "../../../../chunk-SUTOAW7I.js";
107
107
  import "../../../../chunk-QYKDY4EI.js";
108
- import "../../../../chunk-RHVJ3L4U.js";
108
+ import "../../../../chunk-ZJY7OK6H.js";
109
109
  import "../../../../chunk-ZLMKGVB2.js";
110
110
  import "../../../../chunk-BO6S47KI.js";
111
111
  import "../../../../chunk-FYAW5GBF.js";
@@ -140,7 +140,7 @@ import "../../../../chunk-RZVUY2MO.js";
140
140
  import "../../../../chunk-VPGDYI63.js";
141
141
  import "../../../../chunk-DMNZD3Q7.js";
142
142
  import "../../../../chunk-PN4HVM43.js";
143
- import "../../../../chunk-FXECKKPW.js";
143
+ import "../../../../chunk-ASBFGGJB.js";
144
144
  import "../../../../chunk-PD7MKJCM.js";
145
145
  import "../../../../chunk-KLJYIS5L.js";
146
146
  import "../../../../chunk-C3UKR3NT.js";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  SaveViewModal
4
- } from "../../../../chunk-I4DG3PP4.js";
4
+ } from "../../../../chunk-43EFQ3DU.js";
5
5
  import "../../../../chunk-5M4TYFR3.js";
6
6
  import "../../../../chunk-DUVH273U.js";
7
7
  import "../../../../chunk-KHG57NAE.js";
@@ -13,9 +13,9 @@ import "../../../../chunk-RIEV4VXF.js";
13
13
  import "../../../../chunk-DCK5ZEIU.js";
14
14
  import "../../../../chunk-SZS7VZJN.js";
15
15
  import "../../../../chunk-QYKDY4EI.js";
16
- import "../../../../chunk-RHVJ3L4U.js";
16
+ import "../../../../chunk-ZJY7OK6H.js";
17
17
  import "../../../../chunk-ZLMKGVB2.js";
18
- import "../../../../chunk-FXECKKPW.js";
18
+ import "../../../../chunk-ASBFGGJB.js";
19
19
  import "../../../../chunk-PD7MKJCM.js";
20
20
  import "../../../../chunk-KLJYIS5L.js";
21
21
  import "../../../../chunk-EEB66IVH.js";
@@ -3,8 +3,8 @@ import {
3
3
  ViewDialogs,
4
4
  ViewMutationErrorAlert,
5
5
  ViewsMenuSlot
6
- } from "../../../../chunk-GXGHEOWC.js";
7
- import "../../../../chunk-I4DG3PP4.js";
6
+ } from "../../../../chunk-USHVG4UQ.js";
7
+ import "../../../../chunk-43EFQ3DU.js";
8
8
  import "../../../../chunk-VNMD6BA4.js";
9
9
  import "../../../../chunk-5M4TYFR3.js";
10
10
  import "../../../../chunk-DUVH273U.js";
@@ -27,9 +27,9 @@ import "../../../../chunk-RIEV4VXF.js";
27
27
  import "../../../../chunk-DCK5ZEIU.js";
28
28
  import "../../../../chunk-SZS7VZJN.js";
29
29
  import "../../../../chunk-QYKDY4EI.js";
30
- import "../../../../chunk-RHVJ3L4U.js";
30
+ import "../../../../chunk-ZJY7OK6H.js";
31
31
  import "../../../../chunk-ZLMKGVB2.js";
32
- import "../../../../chunk-FXECKKPW.js";
32
+ import "../../../../chunk-ASBFGGJB.js";
33
33
  import "../../../../chunk-PD7MKJCM.js";
34
34
  import "../../../../chunk-KLJYIS5L.js";
35
35
  import "../../../../chunk-XCBQXSTR.js";
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  CepField,
4
4
  CepField_default
5
- } from "../../../../chunk-2GDPZ53K.js";
6
- import "../../../../chunk-4JNC5AEF.js";
7
- import "../../../../chunk-FXECKKPW.js";
5
+ } from "../../../../chunk-UTWEHMAP.js";
6
+ import "../../../../chunk-WGKBZ7DN.js";
7
+ import "../../../../chunk-ASBFGGJB.js";
8
8
  import "../../../../chunk-PD7MKJCM.js";
9
9
  import "../../../../chunk-KLJYIS5L.js";
10
10
  import "../../../../chunk-C3UKR3NT.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createInput
3
- } from "../../../../chunk-FXECKKPW.js";
3
+ } from "../../../../chunk-ASBFGGJB.js";
4
4
  import "../../../../chunk-PD7MKJCM.js";
5
5
  import "../../../../chunk-KLJYIS5L.js";
6
6
  import "../../../../chunk-TYJR4GOF.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  Input
3
- } from "../../../../chunk-RHVJ3L4U.js";
3
+ } from "../../../../chunk-ZJY7OK6H.js";
4
4
  import "../../../../chunk-ZLMKGVB2.js";
5
- import "../../../../chunk-FXECKKPW.js";
5
+ import "../../../../chunk-ASBFGGJB.js";
6
6
  import "../../../../chunk-PD7MKJCM.js";
7
7
  import "../../../../chunk-KLJYIS5L.js";
8
8
  import "../../../../chunk-EEB66IVH.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  NumberField
3
- } from "../../../../chunk-LABIUXDM.js";
3
+ } from "../../../../chunk-ZYXXAWDF.js";
4
4
  import "../../../../chunk-Q4JWWTL4.js";
5
5
  import "../../../../chunk-QYKDY4EI.js";
6
- import "../../../../chunk-RHVJ3L4U.js";
6
+ import "../../../../chunk-ZJY7OK6H.js";
7
7
  import "../../../../chunk-ZLMKGVB2.js";
8
- import "../../../../chunk-FXECKKPW.js";
8
+ import "../../../../chunk-ASBFGGJB.js";
9
9
  import "../../../../chunk-PD7MKJCM.js";
10
10
  import "../../../../chunk-KLJYIS5L.js";
11
11
  import "../../../../chunk-EEB66IVH.js";
@@ -48,7 +48,7 @@ import "../../../chunk-UCRGKQUW.js";
48
48
  import "../../../chunk-HALFOXSZ.js";
49
49
  import {
50
50
  NumberField
51
- } from "../../../chunk-LABIUXDM.js";
51
+ } from "../../../chunk-ZYXXAWDF.js";
52
52
  import "../../../chunk-Q4JWWTL4.js";
53
53
  import "../../../chunk-YA2ZL3VG.js";
54
54
  import {
@@ -108,8 +108,8 @@ import "../../../chunk-R6L376KR.js";
108
108
  import "../../../chunk-6XLMTOJ3.js";
109
109
  import {
110
110
  CepField
111
- } from "../../../chunk-2GDPZ53K.js";
112
- import "../../../chunk-4JNC5AEF.js";
111
+ } from "../../../chunk-UTWEHMAP.js";
112
+ import "../../../chunk-WGKBZ7DN.js";
113
113
  import "../../../chunk-IDMG332I.js";
114
114
  import {
115
115
  CodeEditor
@@ -181,7 +181,7 @@ import "../../../chunk-SUTOAW7I.js";
181
181
  import "../../../chunk-QYKDY4EI.js";
182
182
  import {
183
183
  Input
184
- } from "../../../chunk-RHVJ3L4U.js";
184
+ } from "../../../chunk-ZJY7OK6H.js";
185
185
  import "../../../chunk-ZLMKGVB2.js";
186
186
  import "../../../chunk-BO6S47KI.js";
187
187
  import {
@@ -201,7 +201,7 @@ import "../../../chunk-4L54KUZV.js";
201
201
  import "../../../chunk-H2UUMZQR.js";
202
202
  import "../../../chunk-WQEGPSGD.js";
203
203
  import "../../../chunk-QWOI5BZV.js";
204
- import "../../../chunk-FXECKKPW.js";
204
+ import "../../../chunk-ASBFGGJB.js";
205
205
  import "../../../chunk-PD7MKJCM.js";
206
206
  import "../../../chunk-KLJYIS5L.js";
207
207
  import "../../../chunk-SJRTT3PA.js";
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import {
3
3
  CepField
4
- } from "../../../../../chunk-YGWLMTPB.js";
4
+ } from "../../../../../chunk-KXVWH3JM.js";
5
5
  import "../../../../../chunk-4XK6JQ4D.js";
6
6
  import "../../../../../chunk-6XLMTOJ3.js";
7
- import "../../../../../chunk-2GDPZ53K.js";
8
- import "../../../../../chunk-4JNC5AEF.js";
9
- import "../../../../../chunk-FXECKKPW.js";
7
+ import "../../../../../chunk-UTWEHMAP.js";
8
+ import "../../../../../chunk-WGKBZ7DN.js";
9
+ import "../../../../../chunk-ASBFGGJB.js";
10
10
  import "../../../../../chunk-PD7MKJCM.js";
11
11
  import "../../../../../chunk-KLJYIS5L.js";
12
12
  import "../../../../../chunk-C3UKR3NT.js";
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import {
3
3
  TextField
4
- } from "../../../../../chunk-3IX2TP4I.js";
4
+ } from "../../../../../chunk-GB7NTXL2.js";
5
5
  import "../../../../../chunk-4XK6JQ4D.js";
6
6
  import "../../../../../chunk-QYKDY4EI.js";
7
- import "../../../../../chunk-RHVJ3L4U.js";
7
+ import "../../../../../chunk-ZJY7OK6H.js";
8
8
  import "../../../../../chunk-ZLMKGVB2.js";
9
- import "../../../../../chunk-FXECKKPW.js";
9
+ import "../../../../../chunk-ASBFGGJB.js";
10
10
  import "../../../../../chunk-PD7MKJCM.js";
11
11
  import "../../../../../chunk-KLJYIS5L.js";
12
12
  import "../../../../../chunk-C3UKR3NT.js";
@@ -1,13 +1,13 @@
1
- import "../../../../../chunk-BR3WBTTQ.js";
1
+ import "../../../../../chunk-3ODEBPGT.js";
2
2
  import {
3
3
  TextField
4
- } from "../../../../../chunk-3IX2TP4I.js";
4
+ } from "../../../../../chunk-GB7NTXL2.js";
5
5
  import {
6
6
  SelectField
7
7
  } from "../../../../../chunk-6YSGP2WS.js";
8
8
  import {
9
9
  CepField
10
- } from "../../../../../chunk-YGWLMTPB.js";
10
+ } from "../../../../../chunk-KXVWH3JM.js";
11
11
  import {
12
12
  CategoryField
13
13
  } from "../../../../../chunk-NQ6P7O7C.js";
@@ -24,10 +24,10 @@ import "../../../../../chunk-OQW4OERS.js";
24
24
  import "../../../../../chunk-6VTOGR36.js";
25
25
  import "../../../../../chunk-IYC7NPX7.js";
26
26
  import "../../../../../chunk-6XLMTOJ3.js";
27
- import "../../../../../chunk-2GDPZ53K.js";
28
- import "../../../../../chunk-4JNC5AEF.js";
27
+ import "../../../../../chunk-UTWEHMAP.js";
28
+ import "../../../../../chunk-WGKBZ7DN.js";
29
29
  import "../../../../../chunk-QYKDY4EI.js";
30
- import "../../../../../chunk-RHVJ3L4U.js";
30
+ import "../../../../../chunk-ZJY7OK6H.js";
31
31
  import "../../../../../chunk-ZLMKGVB2.js";
32
32
  import "../../../../../chunk-N5ZWC6CB.js";
33
33
  import "../../../../../chunk-TSID4257.js";
@@ -46,7 +46,7 @@ import "../../../../../chunk-RZVUY2MO.js";
46
46
  import "../../../../../chunk-VPGDYI63.js";
47
47
  import "../../../../../chunk-DMNZD3Q7.js";
48
48
  import "../../../../../chunk-PN4HVM43.js";
49
- import "../../../../../chunk-FXECKKPW.js";
49
+ import "../../../../../chunk-ASBFGGJB.js";
50
50
  import "../../../../../chunk-PD7MKJCM.js";
51
51
  import "../../../../../chunk-KLJYIS5L.js";
52
52
  import "../../../../../chunk-C3UKR3NT.js";
@@ -274,7 +274,7 @@ import "../../chunk-UCRGKQUW.js";
274
274
  import "../../chunk-HALFOXSZ.js";
275
275
  import {
276
276
  NumberField
277
- } from "../../chunk-LABIUXDM.js";
277
+ } from "../../chunk-ZYXXAWDF.js";
278
278
  import "../../chunk-Q4JWWTL4.js";
279
279
  import "../../chunk-YA2ZL3VG.js";
280
280
  import {
@@ -338,8 +338,8 @@ import "../../chunk-R6L376KR.js";
338
338
  import "../../chunk-6XLMTOJ3.js";
339
339
  import {
340
340
  CepField
341
- } from "../../chunk-2GDPZ53K.js";
342
- import "../../chunk-4JNC5AEF.js";
341
+ } from "../../chunk-UTWEHMAP.js";
342
+ import "../../chunk-WGKBZ7DN.js";
343
343
  import "../../chunk-IDMG332I.js";
344
344
  import {
345
345
  CodeEditor
@@ -713,7 +713,7 @@ import "../../chunk-SUTOAW7I.js";
713
713
  import "../../chunk-QYKDY4EI.js";
714
714
  import {
715
715
  Input
716
- } from "../../chunk-RHVJ3L4U.js";
716
+ } from "../../chunk-ZJY7OK6H.js";
717
717
  import "../../chunk-ZLMKGVB2.js";
718
718
  import "../../chunk-BO6S47KI.js";
719
719
  import {
@@ -733,7 +733,7 @@ import "../../chunk-4L54KUZV.js";
733
733
  import "../../chunk-H2UUMZQR.js";
734
734
  import "../../chunk-WQEGPSGD.js";
735
735
  import "../../chunk-QWOI5BZV.js";
736
- import "../../chunk-FXECKKPW.js";
736
+ import "../../chunk-ASBFGGJB.js";
737
737
  import "../../chunk-PD7MKJCM.js";
738
738
  import "../../chunk-KLJYIS5L.js";
739
739
  import "../../chunk-SJRTT3PA.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  TextField
3
- } from "./chunk-3IX2TP4I.js";
3
+ } from "./chunk-GB7NTXL2.js";
4
4
  import {
5
5
  SelectField
6
6
  } from "./chunk-6YSGP2WS.js";
7
7
  import {
8
8
  CepField
9
- } from "./chunk-YGWLMTPB.js";
9
+ } from "./chunk-KXVWH3JM.js";
10
10
  import {
11
11
  CategoryField
12
12
  } from "./chunk-NQ6P7O7C.js";
@@ -30,4 +30,4 @@ __export(Fields_exports, {
30
30
  export {
31
31
  Fields_exports
32
32
  };
33
- //# sourceMappingURL=chunk-BR3WBTTQ.js.map
33
+ //# sourceMappingURL=chunk-3ODEBPGT.js.map
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-EIMFA7KP.js";
13
13
  import {
14
14
  Input
15
- } from "./chunk-RHVJ3L4U.js";
15
+ } from "./chunk-ZJY7OK6H.js";
16
16
  import {
17
17
  Dialog,
18
18
  DialogContent
@@ -268,4 +268,4 @@ function SaveViewModal({
268
268
  export {
269
269
  SaveViewModal
270
270
  };
271
- //# sourceMappingURL=chunk-I4DG3PP4.js.map
271
+ //# sourceMappingURL=chunk-43EFQ3DU.js.map
@@ -71,6 +71,9 @@ function inputAriaOf(a) {
71
71
  ...a.busy === void 0 ? {} : { "aria-busy": a.busy }
72
72
  };
73
73
  }
74
+ function keyboardOf(inputMode) {
75
+ return inputMode === void 0 ? {} : { inputMode };
76
+ }
74
77
  function inputRenderer(StyledTextField) {
75
78
  return ({
76
79
  variant = "outlined",
@@ -91,6 +94,7 @@ function inputRenderer(StyledTextField) {
91
94
  "aria-label": ariaLabel,
92
95
  "aria-describedby": ariaDescribedBy,
93
96
  "aria-busy": ariaBusy,
97
+ inputMode,
94
98
  inputProps,
95
99
  ...rest
96
100
  }, ref) => {
@@ -117,6 +121,7 @@ function inputRenderer(StyledTextField) {
117
121
  onBlur,
118
122
  inputProps: {
119
123
  "data-testid": dataTestId,
124
+ ...keyboardOf(inputMode),
120
125
  ...inputProps,
121
126
  ...inputAriaOf({ id, helperText, label: ariaLabel, describedBy: ariaDescribedBy, busy: ariaBusy })
122
127
  },
@@ -140,4 +145,4 @@ function createInput(TextField) {
140
145
  export {
141
146
  createInput
142
147
  };
143
- //# sourceMappingURL=chunk-FXECKKPW.js.map
148
+ //# sourceMappingURL=chunk-ASBFGGJB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/form/Input/Input.factory.tsx"],"sourcesContent":["import CircularProgress from '@mui/material/CircularProgress/index.js';\nimport InputAdornment from '@mui/material/InputAdornment/index.js';\nimport { styled, useTheme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { INPUT_LOADING } from './Input.metrics';\nimport type { TextFieldSlimComponent } from './text-field-slim.factory';\n\nimport {\n filledStyles,\n floatingLabelStyles,\n glowStyles,\n inputBaseStyles,\n inputRadiusStyles,\n muiVariantFor,\n outlinedStyles,\n pulseStyles,\n SIZE_MAP,\n} from './Input.styles';\nimport type { InputProps } from './Input.types';\nimport { splitTestId } from '../../../platform/test-id';\nimport { fieldControlStyles } from '../../../tokens/field-height';\nimport { rem } from '../../../tokens/relative';\nimport type { SizeValue } from '../../../tokens/vocabulary';\n\n/**\n * The field `Input` renders, styled, over whichever text field it is given.\n *\n * Always a `TextFieldSlim`, never MUI's `TextField` — see `text-field-slim.tsx`.\n * MUI's own `TextField` imports `Select` unconditionally, and through it `Menu`,\n * `Popover`, `Modal` and seven more component modules, so every screen with one\n * text box shipped a dropdown it can never render. Same composition, same DOM,\n * same prop routing; the select branch is the only thing missing.\n */\nfunction styledField(TextField: TextFieldSlimComponent) {\n return styled(TextField, {\n shouldForwardProp: (prop) =>\n !['customVariant', 'fieldSize', 'floating', 'glow', 'pulse', 'loading'].includes(prop as string),\n })<{\n customVariant?: InputProps['variant'];\n fieldSize: SizeValue;\n floating?: boolean;\n glow?: boolean;\n pulse?: boolean;\n loading?: boolean;\n }>(({ theme, customVariant, fieldSize, floating, glow, pulse, loading }) => ({\n position: 'relative',\n // The theme's field height for this size (outlined family, one line).\n ...fieldControlStyles(theme, fieldSize),\n opacity: loading ? INPUT_LOADING.opacity : 1,\n\n ...(glow ? glowStyles(theme) : {}),\n ...(pulse ? pulseStyles(theme, fieldSize) : {}),\n ...(floating ? floatingLabelStyles(theme) : {}),\n\n '& .MuiInputBase-root': {\n transition: 'all 0.3s ease',\n ...inputRadiusStyles(theme, customVariant),\n ...inputBaseStyles(theme, customVariant),\n },\n\n '& .MuiOutlinedInput-root': outlinedStyles(theme),\n '& .MuiFilledInput-root': filledStyles(theme),\n }));\n}\n\n/** Only one adornment shows at a time: the spinner replaces the caller's while loading. */\nconst EndAdornment: React.FC<{ loading: boolean; endAdornment?: React.ReactNode }> = ({\n loading,\n endAdornment,\n}) => {\n const theme = useTheme();\n if (loading) {\n return (\n <InputAdornment position=\"end\">\n <CircularProgress size={rem(theme, INPUT_LOADING.spinnerSize)} />\n </InputAdornment>\n );\n }\n\n if (!endAdornment) return null;\n\n return <InputAdornment position=\"end\">{endAdornment}</InputAdornment>;\n};\n\n/** While loading the field is inert: no clicks, and disabled to assistive tech. */\nconst interactionProps = (\n loading: boolean,\n onClick: InputProps['onClick'],\n disabled?: boolean,\n) => ({\n disabled: loading || disabled,\n onClick: loading ? undefined : onClick,\n});\n\n/**\n * The ARIA that describes the field has to sit on the `<input>`: the text\n * field puts every attribute it does not recognise on its root `FormControl`,\n * a `<div>` with no role, where a screen reader never reads it.\n *\n * `aria-label` has ridden `inputProps` since FUT-755. `aria-describedby` and\n * `aria-busy` fell through to the div until FUT-2619, so CepField's input\n * pointed at nothing while its lookup status lived in a live region beside it.\n *\n * `inputProps` are spread onto the `<input>` AFTER the `aria-describedby` MUI\n * writes for helper text, so a caller's ids REPLACE the helper text's: MUI's\n * `TextField` on its own keeps only one of the two. This joins both, helper\n * text first. The helper id is MUI's `<id>-helper-text` (the parity test pins\n * that spelling), which is why the field's id is fixed here rather than left\n * to the text field.\n */\nfunction inputAriaOf(a: {\n id: string;\n helperText: React.ReactNode;\n label?: string;\n describedBy?: string;\n busy?: InputProps['aria-busy'];\n}): Record<string, unknown> {\n const describedBy = [a.helperText ? `${a.id}-helper-text` : undefined, a.describedBy]\n .filter(Boolean)\n .join(' ');\n return {\n ...(a.label === undefined ? {} : { 'aria-label': a.label }),\n ...(a.describedBy === undefined ? {} : { 'aria-describedby': describedBy }),\n ...(a.busy === undefined ? {} : { 'aria-busy': a.busy }),\n };\n}\n\n/**\n * A top-level `inputMode`, for the `<input>` (FUT-1440). Left with the rest it\n * landed on the text field's root `<div>`, where it raised no keypad at all.\n */\nfunction keyboardOf(inputMode: InputProps['inputMode']): Pick<InputProps, 'inputMode'> {\n return inputMode === undefined ? {} : { inputMode };\n}\n\n/** The render function `createInput` hands `forwardRef`, over a given styled field. */\nfunction inputRenderer(\n StyledTextField: ReturnType<typeof styledField>,\n): React.ForwardRefRenderFunction<HTMLInputElement, InputProps> {\n return (\n {\n variant = 'outlined',\n size = 'md',\n label,\n error,\n helperText,\n startAdornment,\n endAdornment,\n fullWidth = true,\n floating = false,\n glow = false,\n pulse = false,\n loading = false,\n onClick,\n onFocus,\n onBlur,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n 'aria-busy': ariaBusy,\n inputMode,\n inputProps,\n ...rest\n },\n ref,\n ) => {\n const { testId: dataTestId, rest: props } = splitTestId(rest);\n const generatedId = React.useId();\n const id = props.id ?? generatedId;\n return (\n <StyledTextField\n ref={ref}\n variant={muiVariantFor(variant)}\n customVariant={variant}\n fieldSize={size}\n floating={floating}\n glow={glow}\n pulse={pulse}\n loading={loading}\n label={label}\n error={error}\n helperText={helperText}\n fullWidth={fullWidth}\n {...interactionProps(loading, onClick, props.disabled)}\n onFocus={onFocus}\n onBlur={onBlur}\n /*\n * `aria-label` has to ride `inputProps` to reach the `<input>` (FUT-755).\n * Spread with the rest it lands on the FormControl DIV that the text\n * field renders as its root, which carries no role — so the field kept\n * no accessible name, and a source grep saying \"this input is labelled\"\n * disagreed with the DOM. The reports search box and the block-title\n * inputs were both named in source and anonymous to a screen reader.\n * `aria-describedby` and `aria-busy` are the same case: `inputAriaOf`.\n * So is a top-level `inputMode` (FUT-1440, `keyboardOf`); a caller's\n * `inputProps.inputMode` still wins.\n */\n inputProps={{\n 'data-testid': dataTestId,\n ...keyboardOf(inputMode),\n ...inputProps,\n ...inputAriaOf({ id, helperText, label: ariaLabel, describedBy: ariaDescribedBy, busy: ariaBusy }),\n }}\n InputProps={{\n startAdornment: startAdornment && (\n <InputAdornment position=\"start\">{startAdornment}</InputAdornment>\n ),\n endAdornment: <EndAdornment loading={loading} endAdornment={endAdornment} />,\n }}\n {...SIZE_MAP[size]}\n {...props}\n id={id}\n />\n );\n };\n}\n\n/** The `Input` component every entry exports. */\nexport type InputComponent<P extends InputProps = InputProps> = React.ForwardRefExoticComponent<\n P & React.RefAttributes<HTMLInputElement>\n>;\n\n/**\n * `Input` over a given text field (FUT-1054). The generic entry passes the\n * field that renders any MUI variant; `./outlined` passes one that only ever\n * imports `OutlinedInput`. Everything else — styles, adornments, the ARIA\n * routing — is this one body, so the two cannot drift.\n */\nexport function createInput(TextField: TextFieldSlimComponent): InputComponent {\n const Input = React.forwardRef<HTMLInputElement, InputProps>(inputRenderer(styledField(TextField)));\n Input.displayName = 'Input';\n return Input;\n}\n"],"mappings":"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","names":[]}
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-4XK6JQ4D.js";
4
4
  import {
5
5
  Input
6
- } from "./chunk-RHVJ3L4U.js";
6
+ } from "./chunk-ZJY7OK6H.js";
7
7
  import {
8
8
  FormControl,
9
9
  FormLabel,
@@ -65,4 +65,4 @@ function TextField({
65
65
  export {
66
66
  TextField
67
67
  };
68
- //# sourceMappingURL=chunk-3IX2TP4I.js.map
68
+ //# sourceMappingURL=chunk-GB7NTXL2.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-4XK6JQ4D.js";
4
4
  import {
5
5
  CepField
6
- } from "./chunk-2GDPZ53K.js";
6
+ } from "./chunk-UTWEHMAP.js";
7
7
 
8
8
  // src/components/form/total-form/Fields/CepField.tsx
9
9
  import { useCallback, useMemo, useRef } from "react";
@@ -86,4 +86,4 @@ function CepField2({
86
86
  export {
87
87
  CepField2 as CepField
88
88
  };
89
- //# sourceMappingURL=chunk-YGWLMTPB.js.map
89
+ //# sourceMappingURL=chunk-KXVWH3JM.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SaveViewModal
3
- } from "./chunk-I4DG3PP4.js";
3
+ } from "./chunk-43EFQ3DU.js";
4
4
  import {
5
5
  ManageViewsDialog
6
6
  } from "./chunk-VNMD6BA4.js";
@@ -121,4 +121,4 @@ export {
121
121
  ViewsMenuSlot,
122
122
  ViewDialogs
123
123
  };
124
- //# sourceMappingURL=chunk-GXGHEOWC.js.map
124
+ //# sourceMappingURL=chunk-USHVG4UQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Input
3
- } from "./chunk-4JNC5AEF.js";
3
+ } from "./chunk-WGKBZ7DN.js";
4
4
  import {
5
5
  FormControl,
6
6
  FormLabel,
@@ -141,4 +141,4 @@ export {
141
141
  CepField,
142
142
  CepField_default
143
143
  };
144
- //# sourceMappingURL=chunk-2GDPZ53K.js.map
144
+ //# sourceMappingURL=chunk-UTWEHMAP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createInput
3
- } from "./chunk-FXECKKPW.js";
3
+ } from "./chunk-ASBFGGJB.js";
4
4
  import {
5
5
  OutlinedTextFieldSlim
6
6
  } from "./chunk-LZRVUOMU.js";
@@ -11,4 +11,4 @@ var Input = createInput(OutlinedTextFieldSlim);
11
11
  export {
12
12
  Input
13
13
  };
14
- //# sourceMappingURL=chunk-4JNC5AEF.js.map
14
+ //# sourceMappingURL=chunk-WGKBZ7DN.js.map
@@ -14,7 +14,7 @@ import {
14
14
  import {
15
15
  ViewDialogs,
16
16
  ViewMutationErrorAlert
17
- } from "./chunk-GXGHEOWC.js";
17
+ } from "./chunk-USHVG4UQ.js";
18
18
  import {
19
19
  useSavedViewsController
20
20
  } from "./chunk-B2JSUFDX.js";
@@ -166,4 +166,4 @@ function renderViewDialogs(ctl, fields, columns, views, testIdPrefix, onSaved) {
166
166
  export {
167
167
  DataViewsTableBase
168
168
  };
169
- //# sourceMappingURL=chunk-ASEHJIIV.js.map
169
+ //# sourceMappingURL=chunk-Y3FYOKWF.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-ZLMKGVB2.js";
4
4
  import {
5
5
  createInput
6
- } from "./chunk-FXECKKPW.js";
6
+ } from "./chunk-ASBFGGJB.js";
7
7
 
8
8
  // src/components/form/Input/Input.tsx
9
9
  var Input = createInput(TextFieldSlim);
@@ -11,4 +11,4 @@ var Input = createInput(TextFieldSlim);
11
11
  export {
12
12
  Input
13
13
  };
14
- //# sourceMappingURL=chunk-RHVJ3L4U.js.map
14
+ //# sourceMappingURL=chunk-ZJY7OK6H.js.map
@@ -7,7 +7,7 @@ import {
7
7
  } from "./chunk-Q4JWWTL4.js";
8
8
  import {
9
9
  Input
10
- } from "./chunk-RHVJ3L4U.js";
10
+ } from "./chunk-ZJY7OK6H.js";
11
11
 
12
12
  // src/components/form/NumberField/NumberField.tsx
13
13
  import React, { useCallback, useId } from "react";
@@ -82,4 +82,4 @@ NumberField.displayName = "NumberField";
82
82
  export {
83
83
  NumberField
84
84
  };
85
- //# sourceMappingURL=chunk-LABIUXDM.js.map
85
+ //# sourceMappingURL=chunk-ZYXXAWDF.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "../chunk-MBMZNSBP.js";
4
4
  import {
5
5
  DataViewsTableBase
6
- } from "../chunk-ASEHJIIV.js";
6
+ } from "../chunk-Y3FYOKWF.js";
7
7
  import "../chunk-YNVTUQ5B.js";
8
8
  import {
9
9
  DataViewsGrid
@@ -65,8 +65,8 @@ import "../chunk-WSAUWJFO.js";
65
65
  import "../chunk-YLGY3D52.js";
66
66
  import "../chunk-4NG3LTRX.js";
67
67
  import "../chunk-2MT6VSS2.js";
68
- import "../chunk-GXGHEOWC.js";
69
- import "../chunk-I4DG3PP4.js";
68
+ import "../chunk-USHVG4UQ.js";
69
+ import "../chunk-43EFQ3DU.js";
70
70
  import "../chunk-VNMD6BA4.js";
71
71
  import "../chunk-5M4TYFR3.js";
72
72
  import "../chunk-7CUZTWKW.js";
@@ -145,7 +145,7 @@ import "../chunk-SZS7VZJN.js";
145
145
  import "../chunk-L6YTVXGN.js";
146
146
  import "../chunk-SUTOAW7I.js";
147
147
  import "../chunk-QYKDY4EI.js";
148
- import "../chunk-RHVJ3L4U.js";
148
+ import "../chunk-ZJY7OK6H.js";
149
149
  import "../chunk-ZLMKGVB2.js";
150
150
  import "../chunk-BO6S47KI.js";
151
151
  import "../chunk-FYAW5GBF.js";
@@ -180,7 +180,7 @@ import "../chunk-RZVUY2MO.js";
180
180
  import "../chunk-VPGDYI63.js";
181
181
  import "../chunk-DMNZD3Q7.js";
182
182
  import "../chunk-PN4HVM43.js";
183
- import "../chunk-FXECKKPW.js";
183
+ import "../chunk-ASBFGGJB.js";
184
184
  import "../chunk-PD7MKJCM.js";
185
185
  import "../chunk-KLJYIS5L.js";
186
186
  import "../chunk-SJRTT3PA.js";
@@ -1,9 +1,9 @@
1
1
  import "../chunk-6XLMTOJ3.js";
2
2
  import {
3
3
  CepField
4
- } from "../chunk-2GDPZ53K.js";
5
- import "../chunk-4JNC5AEF.js";
6
- import "../chunk-FXECKKPW.js";
4
+ } from "../chunk-UTWEHMAP.js";
5
+ import "../chunk-WGKBZ7DN.js";
6
+ import "../chunk-ASBFGGJB.js";
7
7
  import "../chunk-PD7MKJCM.js";
8
8
  import "../chunk-KLJYIS5L.js";
9
9
  import "../chunk-C3UKR3NT.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Input
3
- } from "../../chunk-4JNC5AEF.js";
4
- import "../../chunk-FXECKKPW.js";
3
+ } from "../../chunk-WGKBZ7DN.js";
4
+ import "../../chunk-ASBFGGJB.js";
5
5
  import "../../chunk-PD7MKJCM.js";
6
6
  import "../../chunk-KLJYIS5L.js";
7
7
  import "../../chunk-LZRVUOMU.js";
@@ -1,9 +1,9 @@
1
1
  import "../chunk-QYKDY4EI.js";
2
2
  import {
3
3
  Input
4
- } from "../chunk-RHVJ3L4U.js";
4
+ } from "../chunk-ZJY7OK6H.js";
5
5
  import "../chunk-ZLMKGVB2.js";
6
- import "../chunk-FXECKKPW.js";
6
+ import "../chunk-ASBFGGJB.js";
7
7
  import "../chunk-PD7MKJCM.js";
8
8
  import "../chunk-KLJYIS5L.js";
9
9
  import "../chunk-EEB66IVH.js";
@@ -1,12 +1,12 @@
1
1
  import "../chunk-HALFOXSZ.js";
2
2
  import {
3
3
  NumberField
4
- } from "../chunk-LABIUXDM.js";
4
+ } from "../chunk-ZYXXAWDF.js";
5
5
  import "../chunk-Q4JWWTL4.js";
6
6
  import "../chunk-QYKDY4EI.js";
7
- import "../chunk-RHVJ3L4U.js";
7
+ import "../chunk-ZJY7OK6H.js";
8
8
  import "../chunk-ZLMKGVB2.js";
9
- import "../chunk-FXECKKPW.js";
9
+ import "../chunk-ASBFGGJB.js";
10
10
  import "../chunk-PD7MKJCM.js";
11
11
  import "../chunk-KLJYIS5L.js";
12
12
  import "../chunk-EEB66IVH.js";
@@ -9,14 +9,14 @@ import {
9
9
  } from "../chunk-CPAJYJUD.js";
10
10
  import {
11
11
  Fields_exports
12
- } from "../chunk-BR3WBTTQ.js";
12
+ } from "../chunk-3ODEBPGT.js";
13
13
  import {
14
14
  TextField
15
- } from "../chunk-3IX2TP4I.js";
15
+ } from "../chunk-GB7NTXL2.js";
16
16
  import {
17
17
  SelectField
18
18
  } from "../chunk-6YSGP2WS.js";
19
- import "../chunk-YGWLMTPB.js";
19
+ import "../chunk-KXVWH3JM.js";
20
20
  import {
21
21
  CategoryField
22
22
  } from "../chunk-NQ6P7O7C.js";
@@ -34,12 +34,12 @@ import "../chunk-OQW4OERS.js";
34
34
  import "../chunk-6VTOGR36.js";
35
35
  import "../chunk-IYC7NPX7.js";
36
36
  import "../chunk-6XLMTOJ3.js";
37
- import "../chunk-2GDPZ53K.js";
38
- import "../chunk-4JNC5AEF.js";
37
+ import "../chunk-UTWEHMAP.js";
38
+ import "../chunk-WGKBZ7DN.js";
39
39
  import "../chunk-JD5BVIM7.js";
40
40
  import "../chunk-T77OVQEO.js";
41
41
  import "../chunk-QYKDY4EI.js";
42
- import "../chunk-RHVJ3L4U.js";
42
+ import "../chunk-ZJY7OK6H.js";
43
43
  import "../chunk-ZLMKGVB2.js";
44
44
  import "../chunk-N5ZWC6CB.js";
45
45
  import "../chunk-TSID4257.js";
@@ -58,7 +58,7 @@ import "../chunk-RZVUY2MO.js";
58
58
  import "../chunk-VPGDYI63.js";
59
59
  import "../chunk-DMNZD3Q7.js";
60
60
  import "../chunk-PN4HVM43.js";
61
- import "../chunk-FXECKKPW.js";
61
+ import "../chunk-ASBFGGJB.js";
62
62
  import "../chunk-PD7MKJCM.js";
63
63
  import "../chunk-KLJYIS5L.js";
64
64
  import "../chunk-C3UKR3NT.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Input.factory.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Input/Input.factory.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAaxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AA0LhD,iDAAiD;AACjD,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,KAAK,CAAC,yBAAyB,CAC7F,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAC1C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,sBAAsB,GAAG,cAAc,CAI7E"}
1
+ {"version":3,"file":"Input.factory.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Input/Input.factory.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAaxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAsMhD,iDAAiD;AACjD,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,IAAI,KAAK,CAAC,yBAAyB,CAC7F,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAC1C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,sBAAsB,GAAG,cAAc,CAI7E"}
@@ -29,8 +29,9 @@ export interface InputProps extends InputBaseProps, Omit<InputHTMLAttributes<HTM
29
29
  InputLabelProps?: Partial<MuiInputLabelProps>;
30
30
  /**
31
31
  * Attributes for the `<input>` element itself. Anything else this component
32
- * does not recognise lands on the text field's ROOT `<div>`, where
33
- * `inputMode`, `pattern`, `role` and `aria-value*` do nothing. Merged, not
32
+ * does not recognise lands on the text field's ROOT `<div>`, where `pattern`,
33
+ * `role` and `aria-value*` do nothing. A top-level `inputMode` is routed to
34
+ * the `<input>` (FUT-1440); one given here wins over it. Merged, not
34
35
  * spread over: the field's own `data-testid` stays the default a caller can
35
36
  * override, and the ARIA it builds from `aria-label` / `aria-describedby` /
36
37
  * `aria-busy` still lands last.
@@ -1 +1 @@
1
- {"version":3,"file":"Input.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Input/Input.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,IAAI,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC/F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,WAAW,UACf,SAAQ,cAAc,EACpB,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,cAAc,CAAC;IACtF,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9C;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,uBAAuB,CAAC;CACtC"}
1
+ {"version":3,"file":"Input.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/form/Input/Input.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,eAAe,IAAI,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC/F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,WAAW,UACf,SAAQ,cAAc,EACpB,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,cAAc,CAAC;IACtF,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpD,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9C;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,uBAAuB,CAAC;CACtC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@12-apps/ui",
3
- "version": "6.93.2",
3
+ "version": "6.94.0",
4
4
  "license": "MIT",
5
5
  "packageManager": "pnpm@10.34.5",
6
6
  "type": "module",
@@ -126,6 +126,14 @@ function inputAriaOf(a: {
126
126
  };
127
127
  }
128
128
 
129
+ /**
130
+ * A top-level `inputMode`, for the `<input>` (FUT-1440). Left with the rest it
131
+ * landed on the text field's root `<div>`, where it raised no keypad at all.
132
+ */
133
+ function keyboardOf(inputMode: InputProps['inputMode']): Pick<InputProps, 'inputMode'> {
134
+ return inputMode === undefined ? {} : { inputMode };
135
+ }
136
+
129
137
  /** The render function `createInput` hands `forwardRef`, over a given styled field. */
130
138
  function inputRenderer(
131
139
  StyledTextField: ReturnType<typeof styledField>,
@@ -150,6 +158,7 @@ function inputRenderer(
150
158
  'aria-label': ariaLabel,
151
159
  'aria-describedby': ariaDescribedBy,
152
160
  'aria-busy': ariaBusy,
161
+ inputMode,
153
162
  inputProps,
154
163
  ...rest
155
164
  },
@@ -183,9 +192,12 @@ function inputRenderer(
183
192
  * disagreed with the DOM. The reports search box and the block-title
184
193
  * inputs were both named in source and anonymous to a screen reader.
185
194
  * `aria-describedby` and `aria-busy` are the same case: `inputAriaOf`.
195
+ * So is a top-level `inputMode` (FUT-1440, `keyboardOf`); a caller's
196
+ * `inputProps.inputMode` still wins.
186
197
  */
187
198
  inputProps={{
188
199
  'data-testid': dataTestId,
200
+ ...keyboardOf(inputMode),
189
201
  ...inputProps,
190
202
  ...inputAriaOf({ id, helperText, label: ariaLabel, describedBy: ariaDescribedBy, busy: ariaBusy }),
191
203
  }}
@@ -34,8 +34,9 @@ export interface InputProps
34
34
  InputLabelProps?: Partial<MuiInputLabelProps>;
35
35
  /**
36
36
  * Attributes for the `<input>` element itself. Anything else this component
37
- * does not recognise lands on the text field's ROOT `<div>`, where
38
- * `inputMode`, `pattern`, `role` and `aria-value*` do nothing. Merged, not
37
+ * does not recognise lands on the text field's ROOT `<div>`, where `pattern`,
38
+ * `role` and `aria-value*` do nothing. A top-level `inputMode` is routed to
39
+ * the `<input>` (FUT-1440); one given here wins over it. Merged, not
39
40
  * spread over: the field's own `data-testid` stays the default a caller can
40
41
  * override, and the ARIA it builds from `aria-label` / `aria-describedby` /
41
42
  * `aria-busy` still lands last.
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Input/Input.factory.tsx"],"sourcesContent":["import CircularProgress from '@mui/material/CircularProgress/index.js';\nimport InputAdornment from '@mui/material/InputAdornment/index.js';\nimport { styled, useTheme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { INPUT_LOADING } from './Input.metrics';\nimport type { TextFieldSlimComponent } from './text-field-slim.factory';\n\nimport {\n filledStyles,\n floatingLabelStyles,\n glowStyles,\n inputBaseStyles,\n inputRadiusStyles,\n muiVariantFor,\n outlinedStyles,\n pulseStyles,\n SIZE_MAP,\n} from './Input.styles';\nimport type { InputProps } from './Input.types';\nimport { splitTestId } from '../../../platform/test-id';\nimport { fieldControlStyles } from '../../../tokens/field-height';\nimport { rem } from '../../../tokens/relative';\nimport type { SizeValue } from '../../../tokens/vocabulary';\n\n/**\n * The field `Input` renders, styled, over whichever text field it is given.\n *\n * Always a `TextFieldSlim`, never MUI's `TextField` — see `text-field-slim.tsx`.\n * MUI's own `TextField` imports `Select` unconditionally, and through it `Menu`,\n * `Popover`, `Modal` and seven more component modules, so every screen with one\n * text box shipped a dropdown it can never render. Same composition, same DOM,\n * same prop routing; the select branch is the only thing missing.\n */\nfunction styledField(TextField: TextFieldSlimComponent) {\n return styled(TextField, {\n shouldForwardProp: (prop) =>\n !['customVariant', 'fieldSize', 'floating', 'glow', 'pulse', 'loading'].includes(prop as string),\n })<{\n customVariant?: InputProps['variant'];\n fieldSize: SizeValue;\n floating?: boolean;\n glow?: boolean;\n pulse?: boolean;\n loading?: boolean;\n }>(({ theme, customVariant, fieldSize, floating, glow, pulse, loading }) => ({\n position: 'relative',\n // The theme's field height for this size (outlined family, one line).\n ...fieldControlStyles(theme, fieldSize),\n opacity: loading ? INPUT_LOADING.opacity : 1,\n\n ...(glow ? glowStyles(theme) : {}),\n ...(pulse ? pulseStyles(theme, fieldSize) : {}),\n ...(floating ? floatingLabelStyles(theme) : {}),\n\n '& .MuiInputBase-root': {\n transition: 'all 0.3s ease',\n ...inputRadiusStyles(theme, customVariant),\n ...inputBaseStyles(theme, customVariant),\n },\n\n '& .MuiOutlinedInput-root': outlinedStyles(theme),\n '& .MuiFilledInput-root': filledStyles(theme),\n }));\n}\n\n/** Only one adornment shows at a time: the spinner replaces the caller's while loading. */\nconst EndAdornment: React.FC<{ loading: boolean; endAdornment?: React.ReactNode }> = ({\n loading,\n endAdornment,\n}) => {\n const theme = useTheme();\n if (loading) {\n return (\n <InputAdornment position=\"end\">\n <CircularProgress size={rem(theme, INPUT_LOADING.spinnerSize)} />\n </InputAdornment>\n );\n }\n\n if (!endAdornment) return null;\n\n return <InputAdornment position=\"end\">{endAdornment}</InputAdornment>;\n};\n\n/** While loading the field is inert: no clicks, and disabled to assistive tech. */\nconst interactionProps = (\n loading: boolean,\n onClick: InputProps['onClick'],\n disabled?: boolean,\n) => ({\n disabled: loading || disabled,\n onClick: loading ? undefined : onClick,\n});\n\n/**\n * The ARIA that describes the field has to sit on the `<input>`: the text\n * field puts every attribute it does not recognise on its root `FormControl`,\n * a `<div>` with no role, where a screen reader never reads it.\n *\n * `aria-label` has ridden `inputProps` since FUT-755. `aria-describedby` and\n * `aria-busy` fell through to the div until FUT-2619, so CepField's input\n * pointed at nothing while its lookup status lived in a live region beside it.\n *\n * `inputProps` are spread onto the `<input>` AFTER the `aria-describedby` MUI\n * writes for helper text, so a caller's ids REPLACE the helper text's: MUI's\n * `TextField` on its own keeps only one of the two. This joins both, helper\n * text first. The helper id is MUI's `<id>-helper-text` (the parity test pins\n * that spelling), which is why the field's id is fixed here rather than left\n * to the text field.\n */\nfunction inputAriaOf(a: {\n id: string;\n helperText: React.ReactNode;\n label?: string;\n describedBy?: string;\n busy?: InputProps['aria-busy'];\n}): Record<string, unknown> {\n const describedBy = [a.helperText ? `${a.id}-helper-text` : undefined, a.describedBy]\n .filter(Boolean)\n .join(' ');\n return {\n ...(a.label === undefined ? {} : { 'aria-label': a.label }),\n ...(a.describedBy === undefined ? {} : { 'aria-describedby': describedBy }),\n ...(a.busy === undefined ? {} : { 'aria-busy': a.busy }),\n };\n}\n\n/** The render function `createInput` hands `forwardRef`, over a given styled field. */\nfunction inputRenderer(\n StyledTextField: ReturnType<typeof styledField>,\n): React.ForwardRefRenderFunction<HTMLInputElement, InputProps> {\n return (\n {\n variant = 'outlined',\n size = 'md',\n label,\n error,\n helperText,\n startAdornment,\n endAdornment,\n fullWidth = true,\n floating = false,\n glow = false,\n pulse = false,\n loading = false,\n onClick,\n onFocus,\n onBlur,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n 'aria-busy': ariaBusy,\n inputProps,\n ...rest\n },\n ref,\n ) => {\n const { testId: dataTestId, rest: props } = splitTestId(rest);\n const generatedId = React.useId();\n const id = props.id ?? generatedId;\n return (\n <StyledTextField\n ref={ref}\n variant={muiVariantFor(variant)}\n customVariant={variant}\n fieldSize={size}\n floating={floating}\n glow={glow}\n pulse={pulse}\n loading={loading}\n label={label}\n error={error}\n helperText={helperText}\n fullWidth={fullWidth}\n {...interactionProps(loading, onClick, props.disabled)}\n onFocus={onFocus}\n onBlur={onBlur}\n /*\n * `aria-label` has to ride `inputProps` to reach the `<input>` (FUT-755).\n * Spread with the rest it lands on the FormControl DIV that the text\n * field renders as its root, which carries no role — so the field kept\n * no accessible name, and a source grep saying \"this input is labelled\"\n * disagreed with the DOM. The reports search box and the block-title\n * inputs were both named in source and anonymous to a screen reader.\n * `aria-describedby` and `aria-busy` are the same case: `inputAriaOf`.\n */\n inputProps={{\n 'data-testid': dataTestId,\n ...inputProps,\n ...inputAriaOf({ id, helperText, label: ariaLabel, describedBy: ariaDescribedBy, busy: ariaBusy }),\n }}\n InputProps={{\n startAdornment: startAdornment && (\n <InputAdornment position=\"start\">{startAdornment}</InputAdornment>\n ),\n endAdornment: <EndAdornment loading={loading} endAdornment={endAdornment} />,\n }}\n {...SIZE_MAP[size]}\n {...props}\n id={id}\n />\n );\n };\n}\n\n/** The `Input` component every entry exports. */\nexport type InputComponent<P extends InputProps = InputProps> = React.ForwardRefExoticComponent<\n P & React.RefAttributes<HTMLInputElement>\n>;\n\n/**\n * `Input` over a given text field (FUT-1054). The generic entry passes the\n * field that renders any MUI variant; `./outlined` passes one that only ever\n * imports `OutlinedInput`. Everything else — styles, adornments, the ARIA\n * routing — is this one body, so the two cannot drift.\n */\nexport function createInput(TextField: TextFieldSlimComponent): InputComponent {\n const Input = React.forwardRef<HTMLInputElement, InputProps>(inputRenderer(styledField(TextField)));\n Input.displayName = 'Input';\n return Input;\n}\n"],"mappings":"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","names":[]}