@allxsmith/bestax-bulma 5.26.4 → 5.26.5
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/dist/bestax.css +1 -1
- package/dist/bestax.css.map +1 -1
- package/dist/extras.css +1 -1
- package/dist/extras.css.map +1 -1
- package/dist/index.cjs +224 -39
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +224 -39
- package/dist/index.esm.js.map +1 -1
- package/dist/types/form/Autocomplete.d.ts +6 -1
- package/dist/types/form/DateInput.d.ts +8 -4
- package/dist/types/form/DateTimeInput.d.ts +8 -4
- package/dist/types/form/FormContext.d.ts +47 -0
- package/dist/types/form/Input.d.ts +4 -3
- package/dist/types/form/Numberinput.d.ts +3 -0
- package/dist/types/form/Select.d.ts +4 -3
- package/dist/types/form/TextArea.d.ts +4 -3
- package/dist/types/form/TimeInput.d.ts +8 -4
- package/dist/types-cjs/form/Autocomplete.d.ts +6 -1
- package/dist/types-cjs/form/DateInput.d.ts +8 -4
- package/dist/types-cjs/form/DateTimeInput.d.ts +8 -4
- package/dist/types-cjs/form/FormContext.d.ts +47 -0
- package/dist/types-cjs/form/Input.d.ts +4 -3
- package/dist/types-cjs/form/Numberinput.d.ts +3 -0
- package/dist/types-cjs/form/Select.d.ts +4 -3
- package/dist/types-cjs/form/TextArea.d.ts +4 -3
- package/dist/types-cjs/form/TimeInput.d.ts +8 -4
- package/dist/versions/bestax-no-dark-mode.css +1 -1
- package/dist/versions/bestax-no-dark-mode.css.map +1 -1
- package/dist/versions/bestax-no-helpers-prefixed.css +1 -1
- package/dist/versions/bestax-no-helpers-prefixed.css.map +1 -1
- package/dist/versions/bestax-no-helpers.css +1 -1
- package/dist/versions/bestax-no-helpers.css.map +1 -1
- package/dist/versions/bestax-prefixed.css +1 -1
- package/dist/versions/bestax-prefixed.css.map +1 -1
- package/package.json +1 -1
- package/src/scss/form/_taginput.scss +8 -0
|
@@ -37,7 +37,12 @@ export interface AutocompleteProps extends Omit<React.HTMLAttributes<HTMLDivElem
|
|
|
37
37
|
placeholder?: string;
|
|
38
38
|
/** Object property to use as the display field. */
|
|
39
39
|
field?: string;
|
|
40
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* Whether to show a clear button while the input holds a value.
|
|
42
|
+
* It hides while the input is disabled, and gives way to a loading
|
|
43
|
+
* spinner at the same right edge: the one `loading` draws, or that of a
|
|
44
|
+
* `Control` with `isLoading` around the Autocomplete.
|
|
45
|
+
*/
|
|
41
46
|
clearable?: boolean;
|
|
42
47
|
/** Open dropdown when input is focused. */
|
|
43
48
|
openOnFocus?: boolean;
|
|
@@ -5,9 +5,12 @@ import { DateInputBaseProps } from './DateInputBase.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* Props for the DateInput convenience wrapper. Extends `DateInputBaseProps`
|
|
7
7
|
* with Field-level (label, horizontal) and Control-level (icons, loading) props.
|
|
8
|
-
* Inside an existing `Control` it renders no `Control` of its own, so
|
|
9
|
-
* Control-level props
|
|
10
|
-
* `Control`
|
|
8
|
+
* Inside an existing `Control` it renders no `Control` of its own, so its
|
|
9
|
+
* Control-level props do nothing there and warn in development; set them on
|
|
10
|
+
* that `Control` instead. In `inline` mode it renders no `Control` anywhere,
|
|
11
|
+
* so they do nothing inside a `Control` or out, and warn in development
|
|
12
|
+
* there too. Inside an outer `Field`, or a `Control` with no `Field` around
|
|
13
|
+
* it, it renders no `Field` of its own either.
|
|
11
14
|
* The exception is `label`, `message`, `horizontal` or `fieldClassName` in that
|
|
12
15
|
* bare `Control`: it keeps a `Field` for them, nested in the `.control`, and
|
|
13
16
|
* warns in development. Wrap the `Control` in a `Field` instead, and set the
|
|
@@ -52,7 +55,8 @@ export interface DateInputProps extends DateInputBaseProps {
|
|
|
52
55
|
/**
|
|
53
56
|
* Shows a loading spinner on the `Control` it renders, and hides the
|
|
54
57
|
* launcher (`triggerIcon`) while it does. Inside your own `Control` it
|
|
55
|
-
* renders none, so this draws nothing
|
|
58
|
+
* renders none, so this draws nothing and warns in development; set
|
|
59
|
+
* `isLoading` on that `Control`.
|
|
56
60
|
* Under `prefers-reduced-motion: reduce` the spinner stops and stays
|
|
57
61
|
* drawn (with bestax's CSS loaded).
|
|
58
62
|
*/
|
|
@@ -5,9 +5,12 @@ import { DateTimeInputBaseProps } from './DateTimeInputBase.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* Props for the DateTimeInput convenience wrapper. Extends
|
|
7
7
|
* `DateTimeInputBaseProps` with Field-level and Control-level props.
|
|
8
|
-
* Inside an existing `Control` it renders no `Control` of its own, so
|
|
9
|
-
* Control-level props
|
|
10
|
-
* `Control`
|
|
8
|
+
* Inside an existing `Control` it renders no `Control` of its own, so its
|
|
9
|
+
* Control-level props do nothing there and warn in development; set them on
|
|
10
|
+
* that `Control` instead. In `inline` mode it renders no `Control` anywhere,
|
|
11
|
+
* so they do nothing inside a `Control` or out, and warn in development
|
|
12
|
+
* there too. Inside an outer `Field`, or a `Control` with no `Field` around
|
|
13
|
+
* it, it renders no `Field` of its own either.
|
|
11
14
|
* The exception is `label`, `message`, `horizontal` or `fieldClassName` in that
|
|
12
15
|
* bare `Control`: it keeps a `Field` for them, nested in the `.control`, and
|
|
13
16
|
* warns in development. Wrap the `Control` in a `Field` instead, and set the
|
|
@@ -50,7 +53,8 @@ export interface DateTimeInputProps extends DateTimeInputBaseProps {
|
|
|
50
53
|
/**
|
|
51
54
|
* Shows a loading spinner on the `Control` it renders, and hides the
|
|
52
55
|
* launcher (`triggerIcon`) while it does. Inside your own `Control` it
|
|
53
|
-
* renders none, so this draws nothing
|
|
56
|
+
* renders none, so this draws nothing and warns in development; set
|
|
57
|
+
* `isLoading` on that `Control`.
|
|
54
58
|
* Under `prefers-reduced-motion: reduce` the spinner stops and stays
|
|
55
59
|
* drawn (with bestax's CSS loaded).
|
|
56
60
|
*/
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import type { ControlBaseProps } from './Control.js';
|
|
2
3
|
/**
|
|
3
4
|
* Hook to detect if the component is inside a Field wrapper.
|
|
4
5
|
* Form components use this to skip rendering their own Field.
|
|
@@ -43,6 +44,52 @@ interface OwnFieldOptions extends FieldShapingProps {
|
|
|
43
44
|
* Internal; not part of the public API.
|
|
44
45
|
*/
|
|
45
46
|
export declare const rendersOwnField: (component: string, options: OwnFieldOptions) => boolean;
|
|
47
|
+
/** The props a convenience form wrapper hands its own `Control`. Internal. */
|
|
48
|
+
export interface ControlLevelProps {
|
|
49
|
+
/** Shows the `Control`'s loading spinner. */
|
|
50
|
+
isLoading?: boolean;
|
|
51
|
+
/** The `Control`'s left icon. */
|
|
52
|
+
iconLeft?: ControlBaseProps['iconLeft'];
|
|
53
|
+
/** Shortcut for the left icon's name. */
|
|
54
|
+
iconLeftName?: string;
|
|
55
|
+
/** Shortcut for the left icon's size. */
|
|
56
|
+
iconLeftSize?: ControlBaseProps['iconLeftSize'];
|
|
57
|
+
/** The `Control`'s right icon. */
|
|
58
|
+
iconRight?: ControlBaseProps['iconRight'];
|
|
59
|
+
/** Shortcut for the right icon's name. */
|
|
60
|
+
iconRightName?: string;
|
|
61
|
+
/** Shortcut for the right icon's size. */
|
|
62
|
+
iconRightSize?: ControlBaseProps['iconRightSize'];
|
|
63
|
+
/** Reserves the `Control`'s left icon space. */
|
|
64
|
+
hasIconsLeft?: boolean;
|
|
65
|
+
/** Reserves the `Control`'s right icon space. */
|
|
66
|
+
hasIconsRight?: boolean;
|
|
67
|
+
/** Expands the `Control`. */
|
|
68
|
+
isExpanded?: boolean;
|
|
69
|
+
/** Set on the `Control` as its `size`. */
|
|
70
|
+
controlSize?: ControlBaseProps['size'];
|
|
71
|
+
/** Set on the `Control` as its class. */
|
|
72
|
+
controlClassName?: string;
|
|
73
|
+
}
|
|
74
|
+
interface OwnControlOptions extends ControlLevelProps {
|
|
75
|
+
/** `useInsideControl()` as the wrapper read it. */
|
|
76
|
+
insideControl: boolean;
|
|
77
|
+
/** A picker's `inline`, which renders no `Control` inside one or out. */
|
|
78
|
+
inline?: boolean;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Whether a convenience form wrapper renders a `Control` of its own (#921):
|
|
82
|
+
* only outside one. Inside a `Control` it renders none, so the props it
|
|
83
|
+
* would have handed its own do nothing there, and it warns in development,
|
|
84
|
+
* naming them and saying to set them on that `Control`. An `inline` picker
|
|
85
|
+
* renders none in either place, so it drops them inside a `Control` or not,
|
|
86
|
+
* and its warning says so without pointing at a `Control`. A wrapper passes
|
|
87
|
+
* only the props it hands its own `Control`, as the caller gave them, so a
|
|
88
|
+
* default the wrapper fills in itself never warns. A prop counts when it is
|
|
89
|
+
* truthy, since a falsy one would change nothing on a `Control` either.
|
|
90
|
+
* Internal; not part of the public API.
|
|
91
|
+
*/
|
|
92
|
+
export declare const rendersOwnControl: (component: string, options: OwnControlOptions) => boolean;
|
|
46
93
|
/**
|
|
47
94
|
* The id a labeled Field wants its single composed control to adopt (#495).
|
|
48
95
|
* `undefined` outside a Field, in unlabeled/grouped/addons Fields, or when the
|
|
@@ -8,9 +8,10 @@ import { InputBaseProps } from './InputBase.js';
|
|
|
8
8
|
* Composes Field, Control, and Input into a single convenience component.
|
|
9
9
|
* Supports all Input props, plus Field-level (label, horizontal) and
|
|
10
10
|
* Control-level (icons, loading) props.
|
|
11
|
-
* Inside an existing `Control` it renders no `Control` of its own, so
|
|
12
|
-
* Control-level props
|
|
13
|
-
* `Control`
|
|
11
|
+
* Inside an existing `Control` it renders no `Control` of its own, so its
|
|
12
|
+
* Control-level props do nothing there and warn in development; set them on
|
|
13
|
+
* that `Control` instead. Inside an outer `Field`, or a `Control` with no
|
|
14
|
+
* `Field` around it, it renders no `Field` of its own either.
|
|
14
15
|
* The exception is `label`, `message`, `horizontal` or `fieldClassName` in that
|
|
15
16
|
* bare `Control`: it keeps a `Field` for them, nested in the `.control`, and
|
|
16
17
|
* warns in development. Wrap the `Control` in a `Field` instead, and set the
|
|
@@ -57,6 +57,9 @@ export interface NumberinputProps extends Omit<React.InputHTMLAttributes<HTMLInp
|
|
|
57
57
|
* Shows a loading spinner on the input's control.
|
|
58
58
|
* Under `prefers-reduced-motion: reduce` the spinner stops and stays
|
|
59
59
|
* drawn (with bestax's CSS loaded).
|
|
60
|
+
* Use this rather than `isLoading` on a `Control` around the Numberinput:
|
|
61
|
+
* that spinner sits at the `Control`'s right edge, on top of whichever
|
|
62
|
+
* button is there, while this one stays inside the input.
|
|
60
63
|
*/
|
|
61
64
|
isLoading?: boolean;
|
|
62
65
|
/** Enables exponential step increments when holding buttons. */
|
|
@@ -8,9 +8,10 @@ import { SelectBaseProps } from './SelectBase.js';
|
|
|
8
8
|
* Composes Field, Control, and SelectBase into a single convenience component.
|
|
9
9
|
* Supports all SelectBase props, plus Field-level (label, horizontal) and
|
|
10
10
|
* Control-level (icons) props.
|
|
11
|
-
* Inside an existing `Control` it renders no `Control` of its own, so
|
|
12
|
-
* Control-level props
|
|
13
|
-
* `Control`
|
|
11
|
+
* Inside an existing `Control` it renders no `Control` of its own, so its
|
|
12
|
+
* Control-level props do nothing there and warn in development; set them on
|
|
13
|
+
* that `Control` instead. Inside an outer `Field`, or a `Control` with no
|
|
14
|
+
* `Field` around it, it renders no `Field` of its own either.
|
|
14
15
|
* The exception is `label`, `message`, `horizontal` or `fieldClassName` in that
|
|
15
16
|
* bare `Control`: it keeps a `Field` for them, nested in the `.control`, and
|
|
16
17
|
* warns in development. Wrap the `Control` in a `Field` instead, and set the
|
|
@@ -8,9 +8,10 @@ import { TextAreaBaseProps } from './TextAreaBase.js';
|
|
|
8
8
|
* Composes Field, Control, and TextAreaBase into a single convenience component.
|
|
9
9
|
* Supports all TextAreaBase props, plus Field-level (label, horizontal) and
|
|
10
10
|
* Control-level (loading) props.
|
|
11
|
-
* Inside an existing `Control` it renders no `Control` of its own, so
|
|
12
|
-
* Control-level props
|
|
13
|
-
* `Control`
|
|
11
|
+
* Inside an existing `Control` it renders no `Control` of its own, so its
|
|
12
|
+
* Control-level props do nothing there and warn in development; set them on
|
|
13
|
+
* that `Control` instead. Inside an outer `Field`, or a `Control` with no
|
|
14
|
+
* `Field` around it, it renders no `Field` of its own either.
|
|
14
15
|
* The exception is `label`, `message`, `horizontal` or `fieldClassName` in that
|
|
15
16
|
* bare `Control`: it keeps a `Field` for them, nested in the `.control`, and
|
|
16
17
|
* warns in development. Wrap the `Control` in a `Field` instead, and set the
|
|
@@ -5,9 +5,12 @@ import { TimeInputBaseProps } from './TimeInputBase.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* Props for the TimeInput convenience wrapper. Extends `TimeInputBaseProps`
|
|
7
7
|
* with Field-level (label, horizontal) and Control-level (icons, loading) props.
|
|
8
|
-
* Inside an existing `Control` it renders no `Control` of its own, so
|
|
9
|
-
* Control-level props
|
|
10
|
-
* `Control`
|
|
8
|
+
* Inside an existing `Control` it renders no `Control` of its own, so its
|
|
9
|
+
* Control-level props do nothing there and warn in development; set them on
|
|
10
|
+
* that `Control` instead. In `inline` mode it renders no `Control` anywhere,
|
|
11
|
+
* so they do nothing inside a `Control` or out, and warn in development
|
|
12
|
+
* there too. Inside an outer `Field`, or a `Control` with no `Field` around
|
|
13
|
+
* it, it renders no `Field` of its own either.
|
|
11
14
|
* The exception is `label`, `message`, `horizontal` or `fieldClassName` in that
|
|
12
15
|
* bare `Control`: it keeps a `Field` for them, nested in the `.control`, and
|
|
13
16
|
* warns in development. Wrap the `Control` in a `Field` instead, and set the
|
|
@@ -52,7 +55,8 @@ export interface TimeInputProps extends TimeInputBaseProps {
|
|
|
52
55
|
/**
|
|
53
56
|
* Shows a loading spinner on the `Control` it renders, and hides the
|
|
54
57
|
* launcher (`triggerIcon`) while it does. Inside your own `Control` it
|
|
55
|
-
* renders none, so this draws nothing
|
|
58
|
+
* renders none, so this draws nothing and warns in development; set
|
|
59
|
+
* `isLoading` on that `Control`.
|
|
56
60
|
* Under `prefers-reduced-motion: reduce` the spinner stops and stays
|
|
57
61
|
* drawn (with bestax's CSS loaded).
|
|
58
62
|
*/
|
|
@@ -37,7 +37,12 @@ export interface AutocompleteProps extends Omit<React.HTMLAttributes<HTMLDivElem
|
|
|
37
37
|
placeholder?: string;
|
|
38
38
|
/** Object property to use as the display field. */
|
|
39
39
|
field?: string;
|
|
40
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* Whether to show a clear button while the input holds a value.
|
|
42
|
+
* It hides while the input is disabled, and gives way to a loading
|
|
43
|
+
* spinner at the same right edge: the one `loading` draws, or that of a
|
|
44
|
+
* `Control` with `isLoading` around the Autocomplete.
|
|
45
|
+
*/
|
|
41
46
|
clearable?: boolean;
|
|
42
47
|
/** Open dropdown when input is focused. */
|
|
43
48
|
openOnFocus?: boolean;
|
|
@@ -5,9 +5,12 @@ import { DateInputBaseProps } from './DateInputBase.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* Props for the DateInput convenience wrapper. Extends `DateInputBaseProps`
|
|
7
7
|
* with Field-level (label, horizontal) and Control-level (icons, loading) props.
|
|
8
|
-
* Inside an existing `Control` it renders no `Control` of its own, so
|
|
9
|
-
* Control-level props
|
|
10
|
-
* `Control`
|
|
8
|
+
* Inside an existing `Control` it renders no `Control` of its own, so its
|
|
9
|
+
* Control-level props do nothing there and warn in development; set them on
|
|
10
|
+
* that `Control` instead. In `inline` mode it renders no `Control` anywhere,
|
|
11
|
+
* so they do nothing inside a `Control` or out, and warn in development
|
|
12
|
+
* there too. Inside an outer `Field`, or a `Control` with no `Field` around
|
|
13
|
+
* it, it renders no `Field` of its own either.
|
|
11
14
|
* The exception is `label`, `message`, `horizontal` or `fieldClassName` in that
|
|
12
15
|
* bare `Control`: it keeps a `Field` for them, nested in the `.control`, and
|
|
13
16
|
* warns in development. Wrap the `Control` in a `Field` instead, and set the
|
|
@@ -52,7 +55,8 @@ export interface DateInputProps extends DateInputBaseProps {
|
|
|
52
55
|
/**
|
|
53
56
|
* Shows a loading spinner on the `Control` it renders, and hides the
|
|
54
57
|
* launcher (`triggerIcon`) while it does. Inside your own `Control` it
|
|
55
|
-
* renders none, so this draws nothing
|
|
58
|
+
* renders none, so this draws nothing and warns in development; set
|
|
59
|
+
* `isLoading` on that `Control`.
|
|
56
60
|
* Under `prefers-reduced-motion: reduce` the spinner stops and stays
|
|
57
61
|
* drawn (with bestax's CSS loaded).
|
|
58
62
|
*/
|
|
@@ -5,9 +5,12 @@ import { DateTimeInputBaseProps } from './DateTimeInputBase.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* Props for the DateTimeInput convenience wrapper. Extends
|
|
7
7
|
* `DateTimeInputBaseProps` with Field-level and Control-level props.
|
|
8
|
-
* Inside an existing `Control` it renders no `Control` of its own, so
|
|
9
|
-
* Control-level props
|
|
10
|
-
* `Control`
|
|
8
|
+
* Inside an existing `Control` it renders no `Control` of its own, so its
|
|
9
|
+
* Control-level props do nothing there and warn in development; set them on
|
|
10
|
+
* that `Control` instead. In `inline` mode it renders no `Control` anywhere,
|
|
11
|
+
* so they do nothing inside a `Control` or out, and warn in development
|
|
12
|
+
* there too. Inside an outer `Field`, or a `Control` with no `Field` around
|
|
13
|
+
* it, it renders no `Field` of its own either.
|
|
11
14
|
* The exception is `label`, `message`, `horizontal` or `fieldClassName` in that
|
|
12
15
|
* bare `Control`: it keeps a `Field` for them, nested in the `.control`, and
|
|
13
16
|
* warns in development. Wrap the `Control` in a `Field` instead, and set the
|
|
@@ -50,7 +53,8 @@ export interface DateTimeInputProps extends DateTimeInputBaseProps {
|
|
|
50
53
|
/**
|
|
51
54
|
* Shows a loading spinner on the `Control` it renders, and hides the
|
|
52
55
|
* launcher (`triggerIcon`) while it does. Inside your own `Control` it
|
|
53
|
-
* renders none, so this draws nothing
|
|
56
|
+
* renders none, so this draws nothing and warns in development; set
|
|
57
|
+
* `isLoading` on that `Control`.
|
|
54
58
|
* Under `prefers-reduced-motion: reduce` the spinner stops and stays
|
|
55
59
|
* drawn (with bestax's CSS loaded).
|
|
56
60
|
*/
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import type { ControlBaseProps } from './Control.js';
|
|
2
3
|
/**
|
|
3
4
|
* Hook to detect if the component is inside a Field wrapper.
|
|
4
5
|
* Form components use this to skip rendering their own Field.
|
|
@@ -43,6 +44,52 @@ interface OwnFieldOptions extends FieldShapingProps {
|
|
|
43
44
|
* Internal; not part of the public API.
|
|
44
45
|
*/
|
|
45
46
|
export declare const rendersOwnField: (component: string, options: OwnFieldOptions) => boolean;
|
|
47
|
+
/** The props a convenience form wrapper hands its own `Control`. Internal. */
|
|
48
|
+
export interface ControlLevelProps {
|
|
49
|
+
/** Shows the `Control`'s loading spinner. */
|
|
50
|
+
isLoading?: boolean;
|
|
51
|
+
/** The `Control`'s left icon. */
|
|
52
|
+
iconLeft?: ControlBaseProps['iconLeft'];
|
|
53
|
+
/** Shortcut for the left icon's name. */
|
|
54
|
+
iconLeftName?: string;
|
|
55
|
+
/** Shortcut for the left icon's size. */
|
|
56
|
+
iconLeftSize?: ControlBaseProps['iconLeftSize'];
|
|
57
|
+
/** The `Control`'s right icon. */
|
|
58
|
+
iconRight?: ControlBaseProps['iconRight'];
|
|
59
|
+
/** Shortcut for the right icon's name. */
|
|
60
|
+
iconRightName?: string;
|
|
61
|
+
/** Shortcut for the right icon's size. */
|
|
62
|
+
iconRightSize?: ControlBaseProps['iconRightSize'];
|
|
63
|
+
/** Reserves the `Control`'s left icon space. */
|
|
64
|
+
hasIconsLeft?: boolean;
|
|
65
|
+
/** Reserves the `Control`'s right icon space. */
|
|
66
|
+
hasIconsRight?: boolean;
|
|
67
|
+
/** Expands the `Control`. */
|
|
68
|
+
isExpanded?: boolean;
|
|
69
|
+
/** Set on the `Control` as its `size`. */
|
|
70
|
+
controlSize?: ControlBaseProps['size'];
|
|
71
|
+
/** Set on the `Control` as its class. */
|
|
72
|
+
controlClassName?: string;
|
|
73
|
+
}
|
|
74
|
+
interface OwnControlOptions extends ControlLevelProps {
|
|
75
|
+
/** `useInsideControl()` as the wrapper read it. */
|
|
76
|
+
insideControl: boolean;
|
|
77
|
+
/** A picker's `inline`, which renders no `Control` inside one or out. */
|
|
78
|
+
inline?: boolean;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Whether a convenience form wrapper renders a `Control` of its own (#921):
|
|
82
|
+
* only outside one. Inside a `Control` it renders none, so the props it
|
|
83
|
+
* would have handed its own do nothing there, and it warns in development,
|
|
84
|
+
* naming them and saying to set them on that `Control`. An `inline` picker
|
|
85
|
+
* renders none in either place, so it drops them inside a `Control` or not,
|
|
86
|
+
* and its warning says so without pointing at a `Control`. A wrapper passes
|
|
87
|
+
* only the props it hands its own `Control`, as the caller gave them, so a
|
|
88
|
+
* default the wrapper fills in itself never warns. A prop counts when it is
|
|
89
|
+
* truthy, since a falsy one would change nothing on a `Control` either.
|
|
90
|
+
* Internal; not part of the public API.
|
|
91
|
+
*/
|
|
92
|
+
export declare const rendersOwnControl: (component: string, options: OwnControlOptions) => boolean;
|
|
46
93
|
/**
|
|
47
94
|
* The id a labeled Field wants its single composed control to adopt (#495).
|
|
48
95
|
* `undefined` outside a Field, in unlabeled/grouped/addons Fields, or when the
|
|
@@ -8,9 +8,10 @@ import { InputBaseProps } from './InputBase.js';
|
|
|
8
8
|
* Composes Field, Control, and Input into a single convenience component.
|
|
9
9
|
* Supports all Input props, plus Field-level (label, horizontal) and
|
|
10
10
|
* Control-level (icons, loading) props.
|
|
11
|
-
* Inside an existing `Control` it renders no `Control` of its own, so
|
|
12
|
-
* Control-level props
|
|
13
|
-
* `Control`
|
|
11
|
+
* Inside an existing `Control` it renders no `Control` of its own, so its
|
|
12
|
+
* Control-level props do nothing there and warn in development; set them on
|
|
13
|
+
* that `Control` instead. Inside an outer `Field`, or a `Control` with no
|
|
14
|
+
* `Field` around it, it renders no `Field` of its own either.
|
|
14
15
|
* The exception is `label`, `message`, `horizontal` or `fieldClassName` in that
|
|
15
16
|
* bare `Control`: it keeps a `Field` for them, nested in the `.control`, and
|
|
16
17
|
* warns in development. Wrap the `Control` in a `Field` instead, and set the
|
|
@@ -57,6 +57,9 @@ export interface NumberinputProps extends Omit<React.InputHTMLAttributes<HTMLInp
|
|
|
57
57
|
* Shows a loading spinner on the input's control.
|
|
58
58
|
* Under `prefers-reduced-motion: reduce` the spinner stops and stays
|
|
59
59
|
* drawn (with bestax's CSS loaded).
|
|
60
|
+
* Use this rather than `isLoading` on a `Control` around the Numberinput:
|
|
61
|
+
* that spinner sits at the `Control`'s right edge, on top of whichever
|
|
62
|
+
* button is there, while this one stays inside the input.
|
|
60
63
|
*/
|
|
61
64
|
isLoading?: boolean;
|
|
62
65
|
/** Enables exponential step increments when holding buttons. */
|
|
@@ -8,9 +8,10 @@ import { SelectBaseProps } from './SelectBase.js';
|
|
|
8
8
|
* Composes Field, Control, and SelectBase into a single convenience component.
|
|
9
9
|
* Supports all SelectBase props, plus Field-level (label, horizontal) and
|
|
10
10
|
* Control-level (icons) props.
|
|
11
|
-
* Inside an existing `Control` it renders no `Control` of its own, so
|
|
12
|
-
* Control-level props
|
|
13
|
-
* `Control`
|
|
11
|
+
* Inside an existing `Control` it renders no `Control` of its own, so its
|
|
12
|
+
* Control-level props do nothing there and warn in development; set them on
|
|
13
|
+
* that `Control` instead. Inside an outer `Field`, or a `Control` with no
|
|
14
|
+
* `Field` around it, it renders no `Field` of its own either.
|
|
14
15
|
* The exception is `label`, `message`, `horizontal` or `fieldClassName` in that
|
|
15
16
|
* bare `Control`: it keeps a `Field` for them, nested in the `.control`, and
|
|
16
17
|
* warns in development. Wrap the `Control` in a `Field` instead, and set the
|
|
@@ -8,9 +8,10 @@ import { TextAreaBaseProps } from './TextAreaBase.js';
|
|
|
8
8
|
* Composes Field, Control, and TextAreaBase into a single convenience component.
|
|
9
9
|
* Supports all TextAreaBase props, plus Field-level (label, horizontal) and
|
|
10
10
|
* Control-level (loading) props.
|
|
11
|
-
* Inside an existing `Control` it renders no `Control` of its own, so
|
|
12
|
-
* Control-level props
|
|
13
|
-
* `Control`
|
|
11
|
+
* Inside an existing `Control` it renders no `Control` of its own, so its
|
|
12
|
+
* Control-level props do nothing there and warn in development; set them on
|
|
13
|
+
* that `Control` instead. Inside an outer `Field`, or a `Control` with no
|
|
14
|
+
* `Field` around it, it renders no `Field` of its own either.
|
|
14
15
|
* The exception is `label`, `message`, `horizontal` or `fieldClassName` in that
|
|
15
16
|
* bare `Control`: it keeps a `Field` for them, nested in the `.control`, and
|
|
16
17
|
* warns in development. Wrap the `Control` in a `Field` instead, and set the
|
|
@@ -5,9 +5,12 @@ import { TimeInputBaseProps } from './TimeInputBase.js';
|
|
|
5
5
|
/**
|
|
6
6
|
* Props for the TimeInput convenience wrapper. Extends `TimeInputBaseProps`
|
|
7
7
|
* with Field-level (label, horizontal) and Control-level (icons, loading) props.
|
|
8
|
-
* Inside an existing `Control` it renders no `Control` of its own, so
|
|
9
|
-
* Control-level props
|
|
10
|
-
* `Control`
|
|
8
|
+
* Inside an existing `Control` it renders no `Control` of its own, so its
|
|
9
|
+
* Control-level props do nothing there and warn in development; set them on
|
|
10
|
+
* that `Control` instead. In `inline` mode it renders no `Control` anywhere,
|
|
11
|
+
* so they do nothing inside a `Control` or out, and warn in development
|
|
12
|
+
* there too. Inside an outer `Field`, or a `Control` with no `Field` around
|
|
13
|
+
* it, it renders no `Field` of its own either.
|
|
11
14
|
* The exception is `label`, `message`, `horizontal` or `fieldClassName` in that
|
|
12
15
|
* bare `Control`: it keeps a `Field` for them, nested in the `.control`, and
|
|
13
16
|
* warns in development. Wrap the `Control` in a `Field` instead, and set the
|
|
@@ -52,7 +55,8 @@ export interface TimeInputProps extends TimeInputBaseProps {
|
|
|
52
55
|
/**
|
|
53
56
|
* Shows a loading spinner on the `Control` it renders, and hides the
|
|
54
57
|
* launcher (`triggerIcon`) while it does. Inside your own `Control` it
|
|
55
|
-
* renders none, so this draws nothing
|
|
58
|
+
* renders none, so this draws nothing and warns in development; set
|
|
59
|
+
* `isLoading` on that `Control`.
|
|
56
60
|
* Under `prefers-reduced-motion: reduce` the spinner stops and stays
|
|
57
61
|
* drawn (with bestax's CSS loaded).
|
|
58
62
|
*/
|