@spark-web/text-input 5.0.0 → 5.1.1
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.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @spark-web/text-input
|
|
2
2
|
|
|
3
|
+
## 5.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#621](https://github.com/brighte-labs/spark-web/pull/621)
|
|
8
|
+
[`bc2f972`](https://github.com/brighte-labs/spark-web/commit/bc2f97209f7207bb993aee971e9407d6fdd83751)
|
|
9
|
+
Thanks [@mkt-brighte](https://github.com/mkt-brighte)! - Update form field
|
|
10
|
+
border to meet minimum contrast requirement
|
|
11
|
+
|
|
12
|
+
- Updated dependencies
|
|
13
|
+
[[`bc2f972`](https://github.com/brighte-labs/spark-web/commit/bc2f97209f7207bb993aee971e9407d6fdd83751)]:
|
|
14
|
+
- @spark-web/theme@5.10.5
|
|
15
|
+
|
|
16
|
+
## 5.1.0
|
|
17
|
+
|
|
18
|
+
### Minor Changes
|
|
19
|
+
|
|
20
|
+
- [#600](https://github.com/brighte-labs/spark-web/pull/600)
|
|
21
|
+
[`8e0bb68`](https://github.com/brighte-labs/spark-web/commit/8e0bb683181ee4f56f9fdcf378e48d9adae9475e)
|
|
22
|
+
Thanks [@chrischua-brighte](https://github.com/chrischua-brighte)! - add
|
|
23
|
+
readonly and overflowstrategy
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- Updated dependencies
|
|
28
|
+
[[`8e0bb68`](https://github.com/brighte-labs/spark-web/commit/8e0bb683181ee4f56f9fdcf378e48d9adae9475e)]:
|
|
29
|
+
- @spark-web/field@5.1.0
|
|
30
|
+
|
|
3
31
|
## 5.0.0
|
|
4
32
|
|
|
5
33
|
### Major Changes
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { FieldState } from '@spark-web/field';
|
|
2
|
+
import type { TextOverflowStrategy } from '@spark-web/text';
|
|
2
3
|
import type { DataAttributeMap } from '@spark-web/utils/internal';
|
|
3
4
|
import type { InputHTMLAttributes } from 'react';
|
|
4
5
|
import type { AdornmentsAsChildren } from "./children-to-adornments.js";
|
|
@@ -22,6 +23,8 @@ export declare type TextInputProps = {
|
|
|
22
23
|
* otherwise it will not be rendered.
|
|
23
24
|
*/
|
|
24
25
|
children?: AdornmentsAsChildren;
|
|
26
|
+
/** Manage how text behaves with regard to overflow. */
|
|
27
|
+
overflowStrategy?: TextOverflowStrategy;
|
|
25
28
|
} & NativeInputProps;
|
|
26
29
|
/** Organize and emphasize information quickly and effectively in a list of text elements. */
|
|
27
30
|
export declare const TextInput: import("react").ForwardRefExoticComponent<{
|
|
@@ -41,22 +44,26 @@ export declare const TextInput: import("react").ForwardRefExoticComponent<{
|
|
|
41
44
|
* otherwise it will not be rendered.
|
|
42
45
|
*/
|
|
43
46
|
children?: AdornmentsAsChildren;
|
|
47
|
+
/** Manage how text behaves with regard to overflow. */
|
|
48
|
+
overflowStrategy?: "nowrap" | "truncate" | "breakword" | undefined;
|
|
44
49
|
} & NativeInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
45
50
|
export declare type UseInputStylesProps = FieldState & {
|
|
46
51
|
startAdornment?: boolean;
|
|
47
52
|
endAdornment?: boolean;
|
|
53
|
+
readOnly?: boolean;
|
|
54
|
+
overflowStrategy?: TextOverflowStrategy;
|
|
48
55
|
};
|
|
49
56
|
/**
|
|
50
57
|
* Returns a tuple where the first item is an object of props to spread onto the
|
|
51
58
|
* underlying Box component that our inputs are created with, and the second
|
|
52
59
|
* item is a CSS object to be passed to Emotion's `css` function
|
|
53
60
|
**/
|
|
54
|
-
export declare const useInputStyles: ({ disabled, startAdornment, endAdornment, }: UseInputStylesProps) => readonly [{
|
|
61
|
+
export declare const useInputStyles: ({ disabled, startAdornment, endAdornment, readOnly, overflowStrategy, }: UseInputStylesProps) => readonly [{
|
|
55
62
|
readonly flex: 1;
|
|
56
63
|
readonly position: "relative";
|
|
57
64
|
readonly height: "medium";
|
|
58
|
-
readonly paddingLeft: "
|
|
59
|
-
readonly paddingRight: "
|
|
65
|
+
readonly paddingLeft: "medium" | "none";
|
|
66
|
+
readonly paddingRight: "medium" | "none";
|
|
60
67
|
readonly width: "full";
|
|
61
68
|
}, {
|
|
62
69
|
readonly ':enabled': {
|
|
@@ -127,6 +127,7 @@ var InputContainer = function InputContainer(_ref) {
|
|
|
127
127
|
};
|
|
128
128
|
var FocusIndicator = function FocusIndicator(_ref2) {
|
|
129
129
|
var invalid = _ref2.invalid;
|
|
130
|
+
var theme$1 = theme.useTheme();
|
|
130
131
|
return jsxRuntime.jsx(box.Box, {
|
|
131
132
|
"aria-hidden": "true",
|
|
132
133
|
as: "span",
|
|
@@ -135,7 +136,7 @@ var FocusIndicator = function FocusIndicator(_ref2) {
|
|
|
135
136
|
}
|
|
136
137
|
// Styles
|
|
137
138
|
,
|
|
138
|
-
border: invalid ? 'critical' :
|
|
139
|
+
border: invalid ? 'critical' : theme$1.components.textInput.borderColor,
|
|
139
140
|
borderRadius: "small",
|
|
140
141
|
position: "absolute",
|
|
141
142
|
bottom: 0,
|
|
@@ -180,17 +181,19 @@ var childrenToAdornments = function childrenToAdornments(children) {
|
|
|
180
181
|
};
|
|
181
182
|
};
|
|
182
183
|
|
|
183
|
-
var _excluded = ["children", "data"];
|
|
184
|
+
var _excluded = ["children", "data", "overflowStrategy"];
|
|
184
185
|
/** Organize and emphasize information quickly and effectively in a list of text elements. */
|
|
185
186
|
var TextInput = /*#__PURE__*/react.forwardRef(function (_ref, forwardedRef) {
|
|
186
187
|
var children = _ref.children,
|
|
187
188
|
data = _ref.data,
|
|
189
|
+
overflowStrategy = _ref.overflowStrategy,
|
|
188
190
|
consumerProps = _objectWithoutProperties(_ref, _excluded);
|
|
189
191
|
var _useFieldContext = field.useFieldContext(),
|
|
190
192
|
_useFieldContext2 = _slicedToArray(_useFieldContext, 2),
|
|
191
193
|
_useFieldContext2$ = _useFieldContext2[0],
|
|
192
194
|
disabled = _useFieldContext2$.disabled,
|
|
193
195
|
invalid = _useFieldContext2$.invalid,
|
|
196
|
+
readOnly = _useFieldContext2$.readOnly,
|
|
194
197
|
a11yProps = _useFieldContext2[1];
|
|
195
198
|
var _childrenToAdornments = childrenToAdornments(children),
|
|
196
199
|
startAdornment = _childrenToAdornments.startAdornment,
|
|
@@ -199,7 +202,9 @@ var TextInput = /*#__PURE__*/react.forwardRef(function (_ref, forwardedRef) {
|
|
|
199
202
|
disabled: disabled,
|
|
200
203
|
invalid: invalid,
|
|
201
204
|
startAdornment: Boolean(startAdornment),
|
|
202
|
-
endAdornment: Boolean(endAdornment)
|
|
205
|
+
endAdornment: Boolean(endAdornment),
|
|
206
|
+
readOnly: readOnly,
|
|
207
|
+
overflowStrategy: overflowStrategy
|
|
203
208
|
}),
|
|
204
209
|
_useInputStyles2 = _slicedToArray(_useInputStyles, 2),
|
|
205
210
|
boxProps = _useInputStyles2[0],
|
|
@@ -214,6 +219,7 @@ var TextInput = /*#__PURE__*/react.forwardRef(function (_ref, forwardedRef) {
|
|
|
214
219
|
css: react$1.css(inputStyles),
|
|
215
220
|
data: data,
|
|
216
221
|
disabled: disabled,
|
|
222
|
+
readOnly: readOnly,
|
|
217
223
|
ref: forwardedRef
|
|
218
224
|
}))
|
|
219
225
|
});
|
|
@@ -227,15 +233,18 @@ TextInput.displayName = 'TextInput';
|
|
|
227
233
|
var useInputStyles = function useInputStyles(_ref2) {
|
|
228
234
|
var disabled = _ref2.disabled,
|
|
229
235
|
startAdornment = _ref2.startAdornment,
|
|
230
|
-
endAdornment = _ref2.endAdornment
|
|
236
|
+
endAdornment = _ref2.endAdornment,
|
|
237
|
+
readOnly = _ref2.readOnly,
|
|
238
|
+
_ref2$overflowStrateg = _ref2.overflowStrategy,
|
|
239
|
+
overflowStrategy = _ref2$overflowStrateg === void 0 ? 'truncate' : _ref2$overflowStrateg;
|
|
231
240
|
var theme$1 = theme.useTheme();
|
|
232
|
-
var overflowStyles = text.useOverflowStrategy(
|
|
241
|
+
var overflowStyles = text.useOverflowStrategy(overflowStrategy);
|
|
233
242
|
var focusRingStyles = a11y.useFocusRing({
|
|
234
243
|
always: true
|
|
235
244
|
});
|
|
236
245
|
var textStyles = text.useText({
|
|
237
246
|
baseline: false,
|
|
238
|
-
tone: disabled ? 'disabled' : 'neutral',
|
|
247
|
+
tone: disabled || readOnly ? 'disabled' : 'neutral',
|
|
239
248
|
size: 'standard',
|
|
240
249
|
weight: 'regular'
|
|
241
250
|
});
|
|
@@ -127,6 +127,7 @@ var InputContainer = function InputContainer(_ref) {
|
|
|
127
127
|
};
|
|
128
128
|
var FocusIndicator = function FocusIndicator(_ref2) {
|
|
129
129
|
var invalid = _ref2.invalid;
|
|
130
|
+
var theme$1 = theme.useTheme();
|
|
130
131
|
return jsxRuntime.jsx(box.Box, {
|
|
131
132
|
"aria-hidden": "true",
|
|
132
133
|
as: "span",
|
|
@@ -135,7 +136,7 @@ var FocusIndicator = function FocusIndicator(_ref2) {
|
|
|
135
136
|
}
|
|
136
137
|
// Styles
|
|
137
138
|
,
|
|
138
|
-
border: invalid ? 'critical' :
|
|
139
|
+
border: invalid ? 'critical' : theme$1.components.textInput.borderColor,
|
|
139
140
|
borderRadius: "small",
|
|
140
141
|
position: "absolute",
|
|
141
142
|
bottom: 0,
|
|
@@ -180,17 +181,19 @@ var childrenToAdornments = function childrenToAdornments(children) {
|
|
|
180
181
|
};
|
|
181
182
|
};
|
|
182
183
|
|
|
183
|
-
var _excluded = ["children", "data"];
|
|
184
|
+
var _excluded = ["children", "data", "overflowStrategy"];
|
|
184
185
|
/** Organize and emphasize information quickly and effectively in a list of text elements. */
|
|
185
186
|
var TextInput = /*#__PURE__*/react.forwardRef(function (_ref, forwardedRef) {
|
|
186
187
|
var children = _ref.children,
|
|
187
188
|
data = _ref.data,
|
|
189
|
+
overflowStrategy = _ref.overflowStrategy,
|
|
188
190
|
consumerProps = _objectWithoutProperties(_ref, _excluded);
|
|
189
191
|
var _useFieldContext = field.useFieldContext(),
|
|
190
192
|
_useFieldContext2 = _slicedToArray(_useFieldContext, 2),
|
|
191
193
|
_useFieldContext2$ = _useFieldContext2[0],
|
|
192
194
|
disabled = _useFieldContext2$.disabled,
|
|
193
195
|
invalid = _useFieldContext2$.invalid,
|
|
196
|
+
readOnly = _useFieldContext2$.readOnly,
|
|
194
197
|
a11yProps = _useFieldContext2[1];
|
|
195
198
|
var _childrenToAdornments = childrenToAdornments(children),
|
|
196
199
|
startAdornment = _childrenToAdornments.startAdornment,
|
|
@@ -199,7 +202,9 @@ var TextInput = /*#__PURE__*/react.forwardRef(function (_ref, forwardedRef) {
|
|
|
199
202
|
disabled: disabled,
|
|
200
203
|
invalid: invalid,
|
|
201
204
|
startAdornment: Boolean(startAdornment),
|
|
202
|
-
endAdornment: Boolean(endAdornment)
|
|
205
|
+
endAdornment: Boolean(endAdornment),
|
|
206
|
+
readOnly: readOnly,
|
|
207
|
+
overflowStrategy: overflowStrategy
|
|
203
208
|
}),
|
|
204
209
|
_useInputStyles2 = _slicedToArray(_useInputStyles, 2),
|
|
205
210
|
boxProps = _useInputStyles2[0],
|
|
@@ -214,6 +219,7 @@ var TextInput = /*#__PURE__*/react.forwardRef(function (_ref, forwardedRef) {
|
|
|
214
219
|
css: react$1.css(inputStyles),
|
|
215
220
|
data: data,
|
|
216
221
|
disabled: disabled,
|
|
222
|
+
readOnly: readOnly,
|
|
217
223
|
ref: forwardedRef
|
|
218
224
|
}))
|
|
219
225
|
});
|
|
@@ -227,15 +233,18 @@ TextInput.displayName = 'TextInput';
|
|
|
227
233
|
var useInputStyles = function useInputStyles(_ref2) {
|
|
228
234
|
var disabled = _ref2.disabled,
|
|
229
235
|
startAdornment = _ref2.startAdornment,
|
|
230
|
-
endAdornment = _ref2.endAdornment
|
|
236
|
+
endAdornment = _ref2.endAdornment,
|
|
237
|
+
readOnly = _ref2.readOnly,
|
|
238
|
+
_ref2$overflowStrateg = _ref2.overflowStrategy,
|
|
239
|
+
overflowStrategy = _ref2$overflowStrateg === void 0 ? 'truncate' : _ref2$overflowStrateg;
|
|
231
240
|
var theme$1 = theme.useTheme();
|
|
232
|
-
var overflowStyles = text.useOverflowStrategy(
|
|
241
|
+
var overflowStyles = text.useOverflowStrategy(overflowStrategy);
|
|
233
242
|
var focusRingStyles = a11y.useFocusRing({
|
|
234
243
|
always: true
|
|
235
244
|
});
|
|
236
245
|
var textStyles = text.useText({
|
|
237
246
|
baseline: false,
|
|
238
|
-
tone: disabled ? 'disabled' : 'neutral',
|
|
247
|
+
tone: disabled || readOnly ? 'disabled' : 'neutral',
|
|
239
248
|
size: 'standard',
|
|
240
249
|
weight: 'regular'
|
|
241
250
|
});
|
|
@@ -123,6 +123,7 @@ var InputContainer = function InputContainer(_ref) {
|
|
|
123
123
|
};
|
|
124
124
|
var FocusIndicator = function FocusIndicator(_ref2) {
|
|
125
125
|
var invalid = _ref2.invalid;
|
|
126
|
+
var theme = useTheme();
|
|
126
127
|
return jsx(Box, {
|
|
127
128
|
"aria-hidden": "true",
|
|
128
129
|
as: "span",
|
|
@@ -131,7 +132,7 @@ var FocusIndicator = function FocusIndicator(_ref2) {
|
|
|
131
132
|
}
|
|
132
133
|
// Styles
|
|
133
134
|
,
|
|
134
|
-
border: invalid ? 'critical' :
|
|
135
|
+
border: invalid ? 'critical' : theme.components.textInput.borderColor,
|
|
135
136
|
borderRadius: "small",
|
|
136
137
|
position: "absolute",
|
|
137
138
|
bottom: 0,
|
|
@@ -176,17 +177,19 @@ var childrenToAdornments = function childrenToAdornments(children) {
|
|
|
176
177
|
};
|
|
177
178
|
};
|
|
178
179
|
|
|
179
|
-
var _excluded = ["children", "data"];
|
|
180
|
+
var _excluded = ["children", "data", "overflowStrategy"];
|
|
180
181
|
/** Organize and emphasize information quickly and effectively in a list of text elements. */
|
|
181
182
|
var TextInput = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {
|
|
182
183
|
var children = _ref.children,
|
|
183
184
|
data = _ref.data,
|
|
185
|
+
overflowStrategy = _ref.overflowStrategy,
|
|
184
186
|
consumerProps = _objectWithoutProperties(_ref, _excluded);
|
|
185
187
|
var _useFieldContext = useFieldContext(),
|
|
186
188
|
_useFieldContext2 = _slicedToArray(_useFieldContext, 2),
|
|
187
189
|
_useFieldContext2$ = _useFieldContext2[0],
|
|
188
190
|
disabled = _useFieldContext2$.disabled,
|
|
189
191
|
invalid = _useFieldContext2$.invalid,
|
|
192
|
+
readOnly = _useFieldContext2$.readOnly,
|
|
190
193
|
a11yProps = _useFieldContext2[1];
|
|
191
194
|
var _childrenToAdornments = childrenToAdornments(children),
|
|
192
195
|
startAdornment = _childrenToAdornments.startAdornment,
|
|
@@ -195,7 +198,9 @@ var TextInput = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {
|
|
|
195
198
|
disabled: disabled,
|
|
196
199
|
invalid: invalid,
|
|
197
200
|
startAdornment: Boolean(startAdornment),
|
|
198
|
-
endAdornment: Boolean(endAdornment)
|
|
201
|
+
endAdornment: Boolean(endAdornment),
|
|
202
|
+
readOnly: readOnly,
|
|
203
|
+
overflowStrategy: overflowStrategy
|
|
199
204
|
}),
|
|
200
205
|
_useInputStyles2 = _slicedToArray(_useInputStyles, 2),
|
|
201
206
|
boxProps = _useInputStyles2[0],
|
|
@@ -210,6 +215,7 @@ var TextInput = /*#__PURE__*/forwardRef(function (_ref, forwardedRef) {
|
|
|
210
215
|
css: css(inputStyles),
|
|
211
216
|
data: data,
|
|
212
217
|
disabled: disabled,
|
|
218
|
+
readOnly: readOnly,
|
|
213
219
|
ref: forwardedRef
|
|
214
220
|
}))
|
|
215
221
|
});
|
|
@@ -223,15 +229,18 @@ TextInput.displayName = 'TextInput';
|
|
|
223
229
|
var useInputStyles = function useInputStyles(_ref2) {
|
|
224
230
|
var disabled = _ref2.disabled,
|
|
225
231
|
startAdornment = _ref2.startAdornment,
|
|
226
|
-
endAdornment = _ref2.endAdornment
|
|
232
|
+
endAdornment = _ref2.endAdornment,
|
|
233
|
+
readOnly = _ref2.readOnly,
|
|
234
|
+
_ref2$overflowStrateg = _ref2.overflowStrategy,
|
|
235
|
+
overflowStrategy = _ref2$overflowStrateg === void 0 ? 'truncate' : _ref2$overflowStrateg;
|
|
227
236
|
var theme = useTheme();
|
|
228
|
-
var overflowStyles = useOverflowStrategy(
|
|
237
|
+
var overflowStyles = useOverflowStrategy(overflowStrategy);
|
|
229
238
|
var focusRingStyles = useFocusRing({
|
|
230
239
|
always: true
|
|
231
240
|
});
|
|
232
241
|
var textStyles = useText({
|
|
233
242
|
baseline: false,
|
|
234
|
-
tone: disabled ? 'disabled' : 'neutral',
|
|
243
|
+
tone: disabled || readOnly ? 'disabled' : 'neutral',
|
|
235
244
|
size: 'standard',
|
|
236
245
|
weight: 'regular'
|
|
237
246
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spark-web/text-input",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.1.1",
|
|
4
4
|
"homepage": "https://github.com/brighte-labs/spark-web#readme",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,16 +20,16 @@
|
|
|
20
20
|
"@spark-web/a11y": "^5.0.0",
|
|
21
21
|
"@spark-web/box": "^5.0.0",
|
|
22
22
|
"@spark-web/text": "^5.0.0",
|
|
23
|
-
"@spark-web/theme": "^5.
|
|
23
|
+
"@spark-web/theme": "^5.10.5",
|
|
24
24
|
"@spark-web/utils": "^5.0.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@spark-web/field": "^5.
|
|
27
|
+
"@spark-web/field": "^5.1.0",
|
|
28
28
|
"@types/react": "^18.2.0",
|
|
29
29
|
"react": "^18.2.0"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
|
-
"@spark-web/field": "^5.
|
|
32
|
+
"@spark-web/field": "^5.1.0",
|
|
33
33
|
"react": ">=17.0.2"
|
|
34
34
|
},
|
|
35
35
|
"engines": {
|