@kanso-labs/kanso-ui 0.43.7 → 0.44.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.
- package/README.md +1 -0
- package/dist/calendar/index.js +34 -10
- package/dist/calendar/index.js.map +1 -1
- package/dist/calendar/styles.js +30 -0
- package/dist/calendar/styles.js.map +1 -1
- package/dist/chip/index.js +27 -18
- package/dist/chip/index.js.map +1 -1
- package/dist/chip/label.js +32 -0
- package/dist/chip/label.js.map +1 -0
- package/dist/chip/styles.js +32 -2
- package/dist/chip/styles.js.map +1 -1
- package/dist/collection/text.js +24 -3
- package/dist/collection/text.js.map +1 -1
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/calendar/index.d.ts +8 -1
- package/dist/components/calendar/index.js +129 -73
- package/dist/components/calendar/index.js.map +1 -1
- package/dist/components/checkbox/index.js +29 -30
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/checkbox-group/index.js +4 -2
- package/dist/components/checkbox-group/index.js.map +1 -1
- package/dist/components/chip/index.js +1 -1
- package/dist/components/chip/index.js.map +1 -1
- package/dist/components/chip-group/index.d.ts +35 -5
- package/dist/components/chip-group/index.js +137 -97
- package/dist/components/chip-group/index.js.map +1 -1
- package/dist/components/copy-field/index.js +1 -1
- package/dist/components/copy-field/index.js.map +1 -1
- package/dist/components/currency/index.d.ts +64 -6
- package/dist/components/currency/index.js +117 -40
- package/dist/components/currency/index.js.map +1 -1
- package/dist/components/date-picker/index.js +1 -1
- package/dist/components/dialog/index.d.ts +3 -1
- package/dist/components/dialog/index.js +121 -81
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/disclosure-group/index.js +1 -1
- package/dist/components/disclosure-group/index.js.map +1 -1
- package/dist/components/icon-button/index.js +18 -1
- package/dist/components/icon-button/index.js.map +1 -1
- package/dist/components/index.d.ts +2 -2
- package/dist/components/keycap/index.d.ts +3 -0
- package/dist/components/keycap/index.js +30 -44
- package/dist/components/keycap/index.js.map +1 -1
- package/dist/components/list/index.d.ts +16 -2
- package/dist/components/list/index.js +124 -69
- package/dist/components/list/index.js.map +1 -1
- package/dist/components/list-detail/index.d.ts +11 -3
- package/dist/components/list-detail/index.js +13 -6
- package/dist/components/list-detail/index.js.map +1 -1
- package/dist/components/list-item/index.d.ts +16 -1
- package/dist/components/list-item/index.js.map +1 -1
- package/dist/components/menu/index.d.ts +6 -2
- package/dist/components/menu/index.js +22 -15
- package/dist/components/menu/index.js.map +1 -1
- package/dist/components/meter/index.d.ts +4 -1
- package/dist/components/meter/index.js +6 -0
- package/dist/components/meter/index.js.map +1 -1
- package/dist/components/navigation-bar/index.d.ts +14 -4
- package/dist/components/navigation-bar/index.js +77 -50
- package/dist/components/navigation-bar/index.js.map +1 -1
- package/dist/components/navigation-rail/index.d.ts +3 -2
- package/dist/components/navigation-rail/index.js +59 -52
- package/dist/components/navigation-rail/index.js.map +1 -1
- package/dist/components/navigation-tree/index.js +4 -1
- package/dist/components/navigation-tree/index.js.map +1 -1
- package/dist/components/number-field/index.d.ts +3 -2
- package/dist/components/number-field/index.js +91 -115
- package/dist/components/number-field/index.js.map +1 -1
- package/dist/components/popover/index.d.ts +3 -1
- package/dist/components/popover/index.js +102 -100
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/progress-indicator/index.d.ts +4 -2
- package/dist/components/progress-indicator/index.js +4 -3
- package/dist/components/progress-indicator/index.js.map +1 -1
- package/dist/components/radio-group/index.js +34 -24
- package/dist/components/radio-group/index.js.map +1 -1
- package/dist/components/search-field/index.d.ts +11 -1
- package/dist/components/search-field/index.js +32 -28
- package/dist/components/search-field/index.js.map +1 -1
- package/dist/components/segmented-button/index.d.ts +9 -2
- package/dist/components/segmented-button/index.js +1 -1
- package/dist/components/segmented-button/index.js.map +1 -1
- package/dist/components/separator/index.d.ts +19 -7
- package/dist/components/separator/index.js +36 -13
- package/dist/components/separator/index.js.map +1 -1
- package/dist/components/sheet/index.js +72 -61
- package/dist/components/sheet/index.js.map +1 -1
- package/dist/components/snackbar/index.d.ts +4 -1
- package/dist/components/snackbar/index.js +140 -55
- package/dist/components/snackbar/index.js.map +1 -1
- package/dist/components/stack/index.d.ts +6 -3
- package/dist/components/stack/index.js +48 -31
- package/dist/components/stack/index.js.map +1 -1
- package/dist/components/switch/index.d.ts +16 -6
- package/dist/components/switch/index.js +115 -62
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/text-area/index.d.ts +10 -1
- package/dist/components/text-area/index.js +21 -19
- package/dist/components/text-area/index.js.map +1 -1
- package/dist/components/text-field/index.d.ts +16 -2
- package/dist/components/text-field/index.js +49 -43
- package/dist/components/text-field/index.js.map +1 -1
- package/dist/components/time-picker/index.js +42 -38
- package/dist/components/time-picker/index.js.map +1 -1
- package/dist/components/tooltip/index.d.ts +3 -1
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tree/index.d.ts +15 -3
- package/dist/components/tree/index.js +41 -28
- package/dist/components/tree/index.js.map +1 -1
- package/dist/control/index.js +26 -23
- package/dist/control/index.js.map +1 -1
- package/dist/control/styles.js +8 -1
- package/dist/control/styles.js.map +1 -1
- package/dist/field/index.js +149 -131
- package/dist/field/index.js.map +1 -1
- package/dist/field/styles.js +14 -1
- package/dist/field/styles.js.map +1 -1
- package/dist/glyphs/index.js +37 -1
- package/dist/glyphs/index.js.map +1 -1
- package/dist/hooks/useClippedTitle.js +44 -0
- package/dist/hooks/useClippedTitle.js.map +1 -0
- package/dist/hooks/useRipple.js +6 -5
- package/dist/hooks/useRipple.js.map +1 -1
- package/dist/hooks/useScrollStop.js +133 -0
- package/dist/hooks/useScrollStop.js.map +1 -0
- package/dist/i18n/index.js +1 -0
- package/dist/i18n/index.js.map +1 -1
- package/dist/i18n/messages.js +34 -0
- package/dist/i18n/messages.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/indicator/index.js +18 -16
- package/dist/indicator/index.js.map +1 -1
- package/dist/indicator/styles.js +3 -0
- package/dist/indicator/styles.js.map +1 -1
- package/dist/keycap/context.js +7 -0
- package/dist/keycap/context.js.map +1 -0
- package/dist/navigation/index.d.ts +16 -2
- package/dist/navigation/index.js +145 -44
- package/dist/navigation/index.js.map +1 -1
- package/dist/navigation/styles.js +79 -16
- package/dist/navigation/styles.js.map +1 -1
- package/dist/overlay/modal.js +7 -0
- package/dist/overlay/modal.js.map +1 -0
- package/dist/row/index.js +92 -89
- package/dist/row/index.js.map +1 -1
- package/dist/row/styles.js +24 -1
- package/dist/row/styles.js.map +1 -1
- package/dist/styles/overlay.d.ts +6 -2
- package/dist/styles/overlay.js +9 -1
- package/dist/styles/overlay.js.map +1 -1
- package/dist/styles.css +177 -20
- package/dist/theme-scope.d.ts +5 -1
- package/dist/theme-scope.js +100 -51
- package/dist/theme-scope.js.map +1 -1
- package/dist/tokens/design.tokens.stylex.js.map +1 -1
- package/package.json +21 -20
- package/dist/hooks/useScrollable.js +0 -69
- package/dist/hooks/useScrollable.js.map +0 -1
|
@@ -23,8 +23,8 @@ import { TextField } from "react-aria-components";
|
|
|
23
23
|
* `TextField` puts around them.
|
|
24
24
|
*/
|
|
25
25
|
function TextArea$1(t0) {
|
|
26
|
-
const $ = c(
|
|
27
|
-
const { autosize: t1, characterCount: t2, characterLimitLabel, description, error, floatingLabel: t3, inputRef, isDisabled: t4, label, leadingIcon, rows: t5, trailingIcon, variant: t6, ...props$1 } = t0;
|
|
26
|
+
const $ = c(30);
|
|
27
|
+
const { autosize: t1, characterCount: t2, characterLimitLabel, characterLimitReachedLabel, description, error, floatingLabel: t3, inputRef, isDisabled: t4, label, leadingIcon, rows: t5, trailingIcon, variant: t6, ...props$1 } = t0;
|
|
28
28
|
const autosize = t1 === void 0 ? true : t1;
|
|
29
29
|
const characterCount = t2 === void 0 ? false : t2;
|
|
30
30
|
const floatingLabel = t3 === void 0 ? true : t3;
|
|
@@ -74,23 +74,25 @@ function TextArea$1(t0) {
|
|
|
74
74
|
$[13] = t10;
|
|
75
75
|
} else t10 = $[13];
|
|
76
76
|
let t11;
|
|
77
|
-
if ($[14] !== characterCount || $[15] !== characterLimitLabel || $[16] !==
|
|
77
|
+
if ($[14] !== characterCount || $[15] !== characterLimitLabel || $[16] !== characterLimitReachedLabel || $[17] !== description || $[18] !== error || $[19] !== props$1.maxLength) {
|
|
78
78
|
t11 = /* @__PURE__ */ jsx(FieldMessage, {
|
|
79
79
|
characterCount,
|
|
80
80
|
characterLimitLabel,
|
|
81
|
+
characterLimitReachedLabel,
|
|
81
82
|
description,
|
|
82
83
|
error,
|
|
83
84
|
maxLength: props$1.maxLength
|
|
84
85
|
});
|
|
85
86
|
$[14] = characterCount;
|
|
86
87
|
$[15] = characterLimitLabel;
|
|
87
|
-
$[16] =
|
|
88
|
-
$[17] =
|
|
89
|
-
$[18] =
|
|
90
|
-
$[19] =
|
|
91
|
-
|
|
88
|
+
$[16] = characterLimitReachedLabel;
|
|
89
|
+
$[17] = description;
|
|
90
|
+
$[18] = error;
|
|
91
|
+
$[19] = props$1.maxLength;
|
|
92
|
+
$[20] = t11;
|
|
93
|
+
} else t11 = $[20];
|
|
92
94
|
let t12;
|
|
93
|
-
if ($[
|
|
95
|
+
if ($[21] !== T0 || $[22] !== isDisabled || $[23] !== props$1 || $[24] !== t10 || $[25] !== t11 || $[26] !== t7 || $[27] !== t8 || $[28] !== validationBehavior) {
|
|
94
96
|
t12 = /* @__PURE__ */ jsxs(T0, {
|
|
95
97
|
isDisabled,
|
|
96
98
|
isInvalid: t7,
|
|
@@ -99,16 +101,16 @@ function TextArea$1(t0) {
|
|
|
99
101
|
...t8,
|
|
100
102
|
children: [t10, t11]
|
|
101
103
|
});
|
|
102
|
-
$[
|
|
103
|
-
$[
|
|
104
|
-
$[
|
|
105
|
-
$[
|
|
106
|
-
$[
|
|
107
|
-
$[
|
|
108
|
-
$[
|
|
109
|
-
$[
|
|
110
|
-
$[
|
|
111
|
-
} else t12 = $[
|
|
104
|
+
$[21] = T0;
|
|
105
|
+
$[22] = isDisabled;
|
|
106
|
+
$[23] = props$1;
|
|
107
|
+
$[24] = t10;
|
|
108
|
+
$[25] = t11;
|
|
109
|
+
$[26] = t7;
|
|
110
|
+
$[27] = t8;
|
|
111
|
+
$[28] = validationBehavior;
|
|
112
|
+
$[29] = t12;
|
|
113
|
+
} else t12 = $[29];
|
|
112
114
|
return t12;
|
|
113
115
|
}
|
|
114
116
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","ReactNode","Ref","RefAttributes","TextFieldProps","RACTextFieldProps","stylex","TextField","RACTextField","FieldVariant","FieldBox","FieldMessage","FieldTextArea","fieldStyles","invalidFrom","useFieldValidationBehavior","mergeStatefulStyles","TextAreaProps","Omit","autosize","characterCount","characterLimitLabel","description","error","floatingLabel","inputRef","HTMLTextAreaElement","label","leadingIcon","rows","trailingIcon","variant","TextArea","t0","$","t1","t2","t3","isDisabled","t4","t5","t6","props","undefined","validationBehavior","T0","t7","t8","root","t9","t10","isRequired","t11","maxLength","t12","TextArea","_c","props","RACTextField","stylex.props"],"sources":["../../../src/components/text-area/index.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode, Ref, RefAttributes } from 'react';\nimport type { TextFieldProps as RACTextFieldProps } from 'react-aria-components';\nimport * as stylex from '@stylexjs/stylex';\nimport { TextField as RACTextField } from 'react-aria-components';\nimport type { FieldVariant } from '../../field';\nimport { FieldBox, FieldMessage, FieldTextArea } from '../../field';\nimport { fieldStyles, invalidFrom, useFieldValidationBehavior } from '../../field/root';\nimport { mergeStatefulStyles } from '../../styles/merge';\n\n// The text fields page's multi-line configuration of the filled field: the\n// same box, floating label, icons, underline and message as TextField,\n// holding a text area rather than an input. The page gives the box 56dp by\n// default and 8dp of padding above and below, with the label vertically\n// centred while the field is empty; a box holding more than one line keeps\n// the padding and grows, which is the chrome's `multiline` box, and its\n// icons stay centred in its height as it does. The page draws no resize\n// handle, and none is drawn here.\n//\n// Its own component rather than a prop of TextField, so `rows` and\n// `autosize` stay off TextField's type and `numeric` stays off this one.\n\ntype TextAreaProps = Omit<RACTextFieldProps, 'children' | 'isInvalid' | 'validationBehavior'> & {\n /**\n * Whether the field grows with the text it holds, from `rows` up. `false`\n * keeps it at `rows` and scrolls the text inside.\n * @default true\n */\n autosize?: boolean;\n /**\n * Whether to count the characters the field holds at the end of the\n * supporting line, against `maxLength` where there is one, as the text\n * fields page's character counter does. The count is written in the\n * `I18nProvider`'s digits and grouping.\n * @default false\n */\n characterCount?: boolean;\n /**\n * How the limit is said to a screen reader, where there is a `maxLength`.\n * Read with the field on focus rather than as the value changes, so it\n * names the limit and not what is left of it. The visible count is hidden\n * from the tree, which is what this replaces. Left out, it is the\n * sentence for it in the I18nProvider's locale — \"Up to 20 characters\" in\n * English, singular for a limit of one.\n */\n characterLimitLabel?: string;\n /**\n * A hint shown under the field. Replaced by `error` when there is one, so\n * the two never stack.\n */\n description?: string;\n /**\n * The problem with the current value, in words. Its presence is what puts\n * the field in its error state — the message, the red underline, and\n * `aria-invalid` all follow from it.\n *\n * Outside a `Form` the message line arrives with the message, so the\n * field grows when this does and moves what is under it. A `Form` holds\n * that space from the start; so does a permanent `description`.\n */\n error?: string;\n /**\n * Whether the label sits in the empty box and floats to the top once the\n * field is focused or holds a value, as the text fields page draws it.\n * `false` keeps it small at the top in every state.\n * @default true\n */\n floatingLabel?: boolean;\n /**\n * A ref to the field's own `<textarea>`, which is the element a call site\n * moves focus to — after a server's error, say. `ref` is the field as a\n * whole.\n */\n inputRef?: Ref<HTMLTextAreaElement>;\n /**\n * What the field is for. Required rather than optional: a text area with\n * no label is a box a screen reader cannot name.\n */\n label: string;\n /**\n * An icon at the start of the box, before the label and the text: the\n * page's 24dp leading icon, in the muted role. An icon drawn in `em` takes\n * that size from the slot.\n */\n leadingIcon?: ReactNode;\n /**\n * How many lines of text the field shows: the least it shows while it\n * grows, or all it shows when it does not.\n * @default 3\n */\n rows?: number;\n /**\n * An icon at the end of the box, after the text: the page's 24dp trailing\n * icon, in the muted role and the error role while the field has an error.\n * An icon drawn in `em` takes that size from the slot.\n */\n trailingIcon?: ReactNode;\n /**\n * The filled box, or the outlined one: no fill, an outline that thickens\n * and takes the primary role while focused, and the label cutting it once\n * it floats — the text fields page's two fields.\n * @default 'filled'\n */\n variant?: FieldVariant;\n};\n\n/**\n * A labelled multi-line input. Its value is React Aria's: pass `value` with\n * `onChange` to control it, or `defaultValue` to let it keep its own — and\n * `onChange` is handed the string, not the event. The call site's\n * `className` and `style` land on the field as a whole, which is the element\n * a layout positions.\n *\n * The text fields page's configurations are props: `leadingIcon` and\n * `trailingIcon` at the box's ends, and `characterCount` opposite the\n * supporting text, counting against `maxLength`.\n *\n * The box, label, control and message are the field chrome in `src/field`,\n * shared with every other field; this component is what React Aria's\n * `TextField` puts around them.\n */\nfunction TextArea({\n autosize = true,\n characterCount = false,\n characterLimitLabel,\n description,\n error,\n floatingLabel = true,\n inputRef,\n isDisabled = false,\n label,\n leadingIcon,\n rows = 3,\n trailingIcon,\n variant = 'filled',\n ...props\n}: RefAttributes<HTMLDivElement> & TextAreaProps) {\n const validationBehavior = useFieldValidationBehavior();\n return <RACTextField isDisabled={isDisabled} isInvalid={invalidFrom(error)} validationBehavior={validationBehavior} {...props} {...mergeStatefulStyles(stylex.props(fieldStyles.root), props)}>\n <FieldBox floatingLabel={floatingLabel} isRequired={props.isRequired} label={label} leading={leadingIcon} multiline trailing={trailingIcon} variant={variant}>\n <FieldTextArea autosize={autosize} ref={inputRef} rows={rows} />\n </FieldBox>\n <FieldMessage characterCount={characterCount} characterLimitLabel={characterLimitLabel} description={description} error={error} maxLength={props.maxLength} />\n </RACTextField>;\n}\nexport type { TextAreaProps };\nexport default TextArea;"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","ReactNode","Ref","RefAttributes","TextFieldProps","RACTextFieldProps","stylex","TextField","RACTextField","FieldVariant","FieldBox","FieldMessage","FieldTextArea","fieldStyles","invalidFrom","useFieldValidationBehavior","mergeStatefulStyles","TextAreaProps","Omit","autosize","characterCount","characterLimitLabel","characterLimitReachedLabel","description","error","floatingLabel","inputRef","HTMLTextAreaElement","label","leadingIcon","rows","trailingIcon","variant","TextArea","t0","$","t1","t2","t3","isDisabled","t4","t5","t6","props","undefined","validationBehavior","T0","t7","t8","root","t9","t10","isRequired","t11","maxLength","t12","TextArea","_c","props","RACTextField","stylex.props"],"sources":["../../../src/components/text-area/index.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode, Ref, RefAttributes } from 'react';\nimport type { TextFieldProps as RACTextFieldProps } from 'react-aria-components';\nimport * as stylex from '@stylexjs/stylex';\nimport { TextField as RACTextField } from 'react-aria-components';\nimport type { FieldVariant } from '../../field';\nimport { FieldBox, FieldMessage, FieldTextArea } from '../../field';\nimport { fieldStyles, invalidFrom, useFieldValidationBehavior } from '../../field/root';\nimport { mergeStatefulStyles } from '../../styles/merge';\n\n// The text fields page's multi-line configuration of the filled field: the\n// same box, floating label, icons, underline and message as TextField,\n// holding a text area rather than an input. The page gives the box 56dp by\n// default and 8dp of padding above and below, with the label vertically\n// centred while the field is empty; a box holding more than one line keeps\n// the padding and grows, which is the chrome's `multiline` box, and its\n// icons stay centred in its height as it does. The page draws no resize\n// handle, and none is drawn here.\n//\n// Its own component rather than a prop of TextField, so `rows` and\n// `autosize` stay off TextField's type and `numeric` stays off this one.\n\ntype TextAreaProps = Omit<RACTextFieldProps, 'children' | 'isInvalid' | 'validationBehavior'> & {\n /**\n * Whether the field grows with the text it holds, from `rows` up. `false`\n * keeps it at `rows` and scrolls the text inside.\n * @default true\n */\n autosize?: boolean;\n /**\n * Whether to count the characters the field holds at the end of the\n * supporting line, against `maxLength` where there is one, as the text\n * fields page's character counter does. The count is written in the\n * `I18nProvider`'s digits and grouping.\n * @default false\n */\n characterCount?: boolean;\n /**\n * How the limit is said to a screen reader, where there is a `maxLength`.\n * Read with the field on focus rather than as the value changes, so it\n * names the limit and not what is left of it. The visible count is hidden\n * from the tree, which is what this replaces. Left out, it is the\n * sentence for it in the I18nProvider's locale — \"Up to 20 characters\" in\n * English, singular for a limit of one.\n */\n characterLimitLabel?: string;\n /**\n * What a screen reader is told once the length reaches `maxLength`, where\n * `characterCount` draws the count: the count is hidden from the tree, so\n * this is how a reader learns the field has stopped taking characters. It\n * is said once as the limit is reached, and again only after the length\n * has dropped below it. Left out, it is the sentence for it in the\n * I18nProvider's locale — \"Character limit reached\" in English.\n */\n characterLimitReachedLabel?: string;\n /**\n * A hint shown under the field. Replaced by `error` when there is one, so\n * the two never stack.\n */\n description?: string;\n /**\n * The problem with the current value, in words. Its presence is what puts\n * the field in its error state — the message, the red underline, and\n * `aria-invalid` all follow from it.\n *\n * Outside a `Form` the message line arrives with the message, so the\n * field grows when this does and moves what is under it. A `Form` holds\n * that space from the start; so does a permanent `description`.\n */\n error?: string;\n /**\n * Whether the label sits in the empty box and floats to the top once the\n * field is focused or holds a value, as the text fields page draws it.\n * `false` keeps it small at the top in every state.\n * @default true\n */\n floatingLabel?: boolean;\n /**\n * A ref to the field's own `<textarea>`, which is the element a call site\n * moves focus to — after a server's error, say. `ref` is the field as a\n * whole.\n */\n inputRef?: Ref<HTMLTextAreaElement>;\n /**\n * What the field is for. Required rather than optional: a text area with\n * no label is a box a screen reader cannot name.\n */\n label: string;\n /**\n * An icon at the start of the box, before the label and the text: the\n * page's 24dp leading icon, in the muted role. An icon drawn in `em` takes\n * that size from the slot.\n */\n leadingIcon?: ReactNode;\n /**\n * How many lines of text the field shows: the least it shows while it\n * grows, or all it shows when it does not.\n * @default 3\n */\n rows?: number;\n /**\n * An icon at the end of the box, after the text: the page's 24dp trailing\n * icon, in the muted role and the error role while the field has an error.\n * An icon drawn in `em` takes that size from the slot.\n */\n trailingIcon?: ReactNode;\n /**\n * The filled box, or the outlined one: no fill, an outline that thickens\n * and takes the primary role while focused, and the label cutting it once\n * it floats — the text fields page's two fields.\n * @default 'filled'\n */\n variant?: FieldVariant;\n};\n\n/**\n * A labelled multi-line input. Its value is React Aria's: pass `value` with\n * `onChange` to control it, or `defaultValue` to let it keep its own — and\n * `onChange` is handed the string, not the event. The call site's\n * `className` and `style` land on the field as a whole, which is the element\n * a layout positions.\n *\n * The text fields page's configurations are props: `leadingIcon` and\n * `trailingIcon` at the box's ends, and `characterCount` opposite the\n * supporting text, counting against `maxLength`.\n *\n * The box, label, control and message are the field chrome in `src/field`,\n * shared with every other field; this component is what React Aria's\n * `TextField` puts around them.\n */\nfunction TextArea({\n autosize = true,\n characterCount = false,\n characterLimitLabel,\n characterLimitReachedLabel,\n description,\n error,\n floatingLabel = true,\n inputRef,\n isDisabled = false,\n label,\n leadingIcon,\n rows = 3,\n trailingIcon,\n variant = 'filled',\n ...props\n}: RefAttributes<HTMLDivElement> & TextAreaProps) {\n const validationBehavior = useFieldValidationBehavior();\n return <RACTextField isDisabled={isDisabled} isInvalid={invalidFrom(error)} validationBehavior={validationBehavior} {...props} {...mergeStatefulStyles(stylex.props(fieldStyles.root), props)}>\n <FieldBox floatingLabel={floatingLabel} isRequired={props.isRequired} label={label} leading={leadingIcon} multiline trailing={trailingIcon} variant={variant}>\n <FieldTextArea autosize={autosize} ref={inputRef} rows={rows} />\n </FieldBox>\n <FieldMessage characterCount={characterCount} characterLimitLabel={characterLimitLabel} characterLimitReachedLabel={characterLimitReachedLabel} description={description} error={error} maxLength={props.maxLength} />\n </RACTextField>;\n}\nexport type { TextAreaProps };\nexport default TextArea;"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAmIA,SAAAkC,WAAAC,IAAA;CAAA,MAAAC,IAAAnC,EAAA,EAAA;CAAkB,MAAA,EAAAmB,UAAAiB,IAAAhB,gBAAAiB,IAAAhB,qBAAAC,4BAAAC,aAAAC,OAAAC,eAAAa,IAAAZ,UAAAa,YAAAC,IAAAZ,OAAAC,aAAAC,MAAAW,IAAAV,cAAAC,SAAAU,IAAA,GAAAC,YAAAT;CAChB,MAAAf,WAAAiB,OAAAQ,KAAAA,IAAA,OAAAR;CACA,MAAAhB,iBAAAiB,OAAAO,KAAAA,IAAA,QAAAP;CAKA,MAAAZ,gBAAAa,OAAAM,KAAAA,IAAA,OAAAN;CAEA,MAAAC,aAAAC,OAAAI,KAAAA,IAAA,QAAAJ;CAGA,MAAAV,OAAAW,OAAAG,KAAAA,IAAA,IAAAH;CAEA,MAAAT,UAAAU,OAAAE,KAAAA,IAAA,WAAAF;CAGA,MAAAG,qBAA2B9B,2BAA2B;CAC9C,MAAA+B,KAAAtC;CAAY,IAAAuC;CAAA,IAAAZ,EAAA,OAAAX,OAAA;EAAoCuB,KAAAjC,YAAYU,KAAK;EAACW,EAAA,KAAAX;EAAAW,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAyD,MAAAa,KAAAhC,oBAAoBV,MAAaO,YAAWoC,IAAK,GAAGN,OAAK;CAAC,IAAAO;CAAA,IAAAf,EAAA,OAAAhB,YAAAgB,EAAA,OAAAT,YAAAS,EAAA,OAAAL,MAAA;EAEvLoB,KAAA,oBAAC,eAAD;GAAyB/B;GAAeO,KAAAA;GAAgBI;EAAI,CAAA;EAAIK,EAAA,KAAAhB;EAAAgB,EAAA,KAAAT;EAAAS,EAAA,KAAAL;EAAAK,EAAA,KAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,IAAAgB;CAAA,IAAAhB,EAAA,OAAAV,iBAAAU,EAAA,OAAAP,SAAAO,EAAA,OAAAN,eAAAM,EAAA,OAAAQ,QAAAS,cAAAjB,EAAA,QAAAe,MAAAf,EAAA,QAAAJ,gBAAAI,EAAA,QAAAH,SAAA;EADlEmB,MAAA,oBAAC,UAAD;GAAyB1B;GAA2B,YAAAkB,QAAKS;GAAoBxB;GAAgBC,SAAAA;GAAa,WAAA;GAAoBE,UAAAA;GAAuBC;GACnJkB,UAAAA;EADO,CAAA;EAEEf,EAAA,KAAAV;EAAAU,EAAA,KAAAP;EAAAO,EAAA,KAAAN;EAAAM,EAAA,KAAAQ,QAAAS;EAAAjB,EAAA,MAAAe;EAAAf,EAAA,MAAAJ;EAAAI,EAAA,MAAAH;EAAAG,EAAA,MAAAgB;CAAA,OAAAA,MAAAhB,EAAA;CAAA,IAAAkB;CAAA,IAAAlB,EAAA,QAAAf,kBAAAe,EAAA,QAAAd,uBAAAc,EAAA,QAAAb,8BAAAa,EAAA,QAAAZ,eAAAY,EAAA,QAAAX,SAAAW,EAAA,QAAAQ,QAAAW,WAAA;EACXD,MAAA,oBAAC,cAAD;GAA8BjC;GAAqCC;GAAiDC;GAAyCC;GAAoBC;GAAkB,WAAAmB,QAAKW;EAAU,CAAA;EAAInB,EAAA,MAAAf;EAAAe,EAAA,MAAAd;EAAAc,EAAA,MAAAb;EAAAa,EAAA,MAAAZ;EAAAY,EAAA,MAAAX;EAAAW,EAAA,MAAAQ,QAAAW;EAAAnB,EAAA,MAAAkB;CAAA,OAAAA,MAAAlB,EAAA;CAAA,IAAAoB;CAAA,IAAApB,EAAA,QAAAW,MAAAX,EAAA,QAAAI,cAAAJ,EAAA,QAAAQ,WAAAR,EAAA,QAAAgB,OAAAhB,EAAA,QAAAkB,OAAAlB,EAAA,QAAAY,MAAAZ,EAAA,QAAAa,MAAAb,EAAA,QAAAU,oBAAA;EAJnNU,MAAA,qBAAC,IAAD;GAA0BhB;GAAuB,WAAAQ;GAAwCF;GAAkB,GAAMF;GAAK,GAAMK;GAA5H,UAAA,CACHG,KAGAE,GAJgB;;EAKHlB,EAAA,MAAAW;EAAAX,EAAA,MAAAI;EAAAJ,EAAA,MAAAQ;EAAAR,EAAA,MAAAgB;EAAAhB,EAAA,MAAAkB;EAAAlB,EAAA,MAAAY;EAAAZ,EAAA,MAAAa;EAAAb,EAAA,MAAAU;EAAAV,EAAA,MAAAoB;CAAA,OAAAA,MAAApB,EAAA;CAAA,OALVoB;AAKU"}
|
|
@@ -20,6 +20,15 @@ type TextFieldProps$1 = Omit<TextFieldProps, 'children' | 'isInvalid' | 'prefix'
|
|
|
20
20
|
* English, singular for a limit of one.
|
|
21
21
|
*/
|
|
22
22
|
characterLimitLabel?: string;
|
|
23
|
+
/**
|
|
24
|
+
* What a screen reader is told once the length reaches `maxLength`, where
|
|
25
|
+
* `characterCount` draws the count: the count is hidden from the tree, so
|
|
26
|
+
* this is how a reader learns the field has stopped taking characters. It
|
|
27
|
+
* is said once as the limit is reached, and again only after the length
|
|
28
|
+
* has dropped below it. Left out, it is the sentence for it in the
|
|
29
|
+
* I18nProvider's locale — "Character limit reached" in English.
|
|
30
|
+
*/
|
|
31
|
+
characterLimitReachedLabel?: string;
|
|
23
32
|
/**
|
|
24
33
|
* A hint shown under the field. Replaced by `error` when there is one, so
|
|
25
34
|
* the two never stack.
|
|
@@ -60,7 +69,12 @@ type TextFieldProps$1 = Omit<TextFieldProps, 'children' | 'isInvalid' | 'prefix'
|
|
|
60
69
|
leadingIcon?: ReactNode;
|
|
61
70
|
/**
|
|
62
71
|
* Renders the value in the mono face with tabular figures, for amounts and
|
|
63
|
-
* other numbers meant to be compared down a column.
|
|
72
|
+
* other numbers meant to be compared down a column. The value runs left to
|
|
73
|
+
* right whatever the page's direction, so a minus sign stays before the
|
|
74
|
+
* digits under a right-to-left locale, and a phone shows the decimal
|
|
75
|
+
* keypad. That keypad has no minus key on iOS or Android, so a field taking
|
|
76
|
+
* negative amounts gives an `inputMode` of its own, which replaces it, or
|
|
77
|
+
* is a `NumberField`, which picks a keypad for each platform.
|
|
64
78
|
* @default false
|
|
65
79
|
*/
|
|
66
80
|
numeric?: boolean;
|
|
@@ -104,7 +118,7 @@ type TextFieldProps$1 = Omit<TextFieldProps, 'children' | 'isInvalid' | 'prefix'
|
|
|
104
118
|
* shared with every other field; this component is what React Aria's
|
|
105
119
|
* `TextField` puts around them.
|
|
106
120
|
*/
|
|
107
|
-
declare function TextField$1({ characterCount, characterLimitLabel, description, error, floatingLabel, inputRef, isDisabled, label, leadingIcon, numeric, prefix, suffix, trailingIcon, variant, ...props }: RefAttributes<HTMLDivElement> & TextFieldProps$1): import("react").JSX.Element;
|
|
121
|
+
declare function TextField$1({ characterCount, characterLimitLabel, characterLimitReachedLabel, description, error, floatingLabel, inputRef, isDisabled, label, leadingIcon, numeric, prefix, suffix, trailingIcon, variant, ...props }: RefAttributes<HTMLDivElement> & TextFieldProps$1): import("react").JSX.Element;
|
|
108
122
|
//#endregion
|
|
109
123
|
export { type TextFieldProps$1 as TextFieldProps, TextField$1 as default };
|
|
110
124
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -24,8 +24,8 @@ import { TextField } from "react-aria-components";
|
|
|
24
24
|
* `TextField` puts around them.
|
|
25
25
|
*/
|
|
26
26
|
function TextField$1(t0) {
|
|
27
|
-
const $ = c(
|
|
28
|
-
const { characterCount: t1, characterLimitLabel, description, error, floatingLabel: t2, inputRef, isDisabled: t3, label, leadingIcon, numeric: t4, prefix, suffix, trailingIcon, variant: t5, ...props$1 } = t0;
|
|
27
|
+
const $ = c(32);
|
|
28
|
+
const { characterCount: t1, characterLimitLabel, characterLimitReachedLabel, description, error, floatingLabel: t2, inputRef, isDisabled: t3, label, leadingIcon, numeric: t4, prefix, suffix, trailingIcon, variant: t5, ...props$1 } = t0;
|
|
29
29
|
const characterCount = t1 === void 0 ? false : t1;
|
|
30
30
|
const floatingLabel = t2 === void 0 ? true : t2;
|
|
31
31
|
const isDisabled = t3 === void 0 ? false : t3;
|
|
@@ -33,16 +33,18 @@ function TextField$1(t0) {
|
|
|
33
33
|
const variant = t5 === void 0 ? "filled" : t5;
|
|
34
34
|
const validationBehavior = useFieldValidationBehavior();
|
|
35
35
|
const T0 = TextField;
|
|
36
|
-
|
|
36
|
+
const t6 = numeric ? "decimal" : void 0;
|
|
37
|
+
let t7;
|
|
37
38
|
if ($[0] !== error) {
|
|
38
|
-
|
|
39
|
+
t7 = invalidFrom(error);
|
|
39
40
|
$[0] = error;
|
|
40
|
-
$[1] =
|
|
41
|
-
} else
|
|
42
|
-
const
|
|
43
|
-
let
|
|
41
|
+
$[1] = t7;
|
|
42
|
+
} else t7 = $[1];
|
|
43
|
+
const t8 = mergeStatefulStyles(props(fieldStyles.root), props$1);
|
|
44
|
+
let t9;
|
|
44
45
|
if ($[2] !== inputRef || $[3] !== numeric || $[4] !== prefix || $[5] !== suffix) {
|
|
45
|
-
|
|
46
|
+
t9 = /* @__PURE__ */ jsx(FieldInput, {
|
|
47
|
+
leftToRight: numeric,
|
|
46
48
|
numeric,
|
|
47
49
|
prefix,
|
|
48
50
|
ref: inputRef,
|
|
@@ -52,65 +54,69 @@ function TextField$1(t0) {
|
|
|
52
54
|
$[3] = numeric;
|
|
53
55
|
$[4] = prefix;
|
|
54
56
|
$[5] = suffix;
|
|
55
|
-
$[6] =
|
|
56
|
-
} else
|
|
57
|
-
let
|
|
58
|
-
if ($[7] !== floatingLabel || $[8] !== label || $[9] !== leadingIcon || $[10] !== props$1.isRequired || $[11] !==
|
|
59
|
-
|
|
57
|
+
$[6] = t9;
|
|
58
|
+
} else t9 = $[6];
|
|
59
|
+
let t10;
|
|
60
|
+
if ($[7] !== floatingLabel || $[8] !== label || $[9] !== leadingIcon || $[10] !== props$1.isRequired || $[11] !== t9 || $[12] !== trailingIcon || $[13] !== variant) {
|
|
61
|
+
t10 = /* @__PURE__ */ jsx(FieldBox, {
|
|
60
62
|
floatingLabel,
|
|
61
63
|
isRequired: props$1.isRequired,
|
|
62
64
|
label,
|
|
63
65
|
leading: leadingIcon,
|
|
64
66
|
trailing: trailingIcon,
|
|
65
67
|
variant,
|
|
66
|
-
children:
|
|
68
|
+
children: t9
|
|
67
69
|
});
|
|
68
70
|
$[7] = floatingLabel;
|
|
69
71
|
$[8] = label;
|
|
70
72
|
$[9] = leadingIcon;
|
|
71
73
|
$[10] = props$1.isRequired;
|
|
72
|
-
$[11] =
|
|
74
|
+
$[11] = t9;
|
|
73
75
|
$[12] = trailingIcon;
|
|
74
76
|
$[13] = variant;
|
|
75
|
-
$[14] =
|
|
76
|
-
} else
|
|
77
|
-
let
|
|
78
|
-
if ($[15] !== characterCount || $[16] !== characterLimitLabel || $[17] !==
|
|
79
|
-
|
|
77
|
+
$[14] = t10;
|
|
78
|
+
} else t10 = $[14];
|
|
79
|
+
let t11;
|
|
80
|
+
if ($[15] !== characterCount || $[16] !== characterLimitLabel || $[17] !== characterLimitReachedLabel || $[18] !== description || $[19] !== error || $[20] !== props$1.maxLength) {
|
|
81
|
+
t11 = /* @__PURE__ */ jsx(FieldMessage, {
|
|
80
82
|
characterCount,
|
|
81
83
|
characterLimitLabel,
|
|
84
|
+
characterLimitReachedLabel,
|
|
82
85
|
description,
|
|
83
86
|
error,
|
|
84
87
|
maxLength: props$1.maxLength
|
|
85
88
|
});
|
|
86
89
|
$[15] = characterCount;
|
|
87
90
|
$[16] = characterLimitLabel;
|
|
88
|
-
$[17] =
|
|
89
|
-
$[18] =
|
|
90
|
-
$[19] =
|
|
91
|
-
$[20] =
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
91
|
+
$[17] = characterLimitReachedLabel;
|
|
92
|
+
$[18] = description;
|
|
93
|
+
$[19] = error;
|
|
94
|
+
$[20] = props$1.maxLength;
|
|
95
|
+
$[21] = t11;
|
|
96
|
+
} else t11 = $[21];
|
|
97
|
+
let t12;
|
|
98
|
+
if ($[22] !== T0 || $[23] !== isDisabled || $[24] !== props$1 || $[25] !== t10 || $[26] !== t11 || $[27] !== t6 || $[28] !== t7 || $[29] !== t8 || $[30] !== validationBehavior) {
|
|
99
|
+
t12 = /* @__PURE__ */ jsxs(T0, {
|
|
100
|
+
inputMode: t6,
|
|
96
101
|
isDisabled,
|
|
97
|
-
isInvalid:
|
|
102
|
+
isInvalid: t7,
|
|
98
103
|
validationBehavior,
|
|
99
104
|
...props$1,
|
|
100
|
-
...
|
|
101
|
-
children: [
|
|
105
|
+
...t8,
|
|
106
|
+
children: [t10, t11]
|
|
102
107
|
});
|
|
103
|
-
$[
|
|
104
|
-
$[
|
|
105
|
-
$[
|
|
106
|
-
$[
|
|
107
|
-
$[
|
|
108
|
-
$[
|
|
109
|
-
$[
|
|
110
|
-
$[
|
|
111
|
-
$[
|
|
112
|
-
|
|
113
|
-
|
|
108
|
+
$[22] = T0;
|
|
109
|
+
$[23] = isDisabled;
|
|
110
|
+
$[24] = props$1;
|
|
111
|
+
$[25] = t10;
|
|
112
|
+
$[26] = t11;
|
|
113
|
+
$[27] = t6;
|
|
114
|
+
$[28] = t7;
|
|
115
|
+
$[29] = t8;
|
|
116
|
+
$[30] = validationBehavior;
|
|
117
|
+
$[31] = t12;
|
|
118
|
+
} else t12 = $[31];
|
|
119
|
+
return t12;
|
|
114
120
|
}
|
|
115
121
|
//#endregion
|
|
116
122
|
export { TextField$1 as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","ReactNode","Ref","RefAttributes","TextFieldProps","RACTextFieldProps","stylex","TextField","RACTextField","FieldVariant","FieldBox","FieldInput","FieldMessage","fieldStyles","invalidFrom","useFieldValidationBehavior","mergeStatefulStyles","Omit","characterCount","characterLimitLabel","description","error","floatingLabel","inputRef","HTMLInputElement","label","leadingIcon","numeric","prefix","suffix","trailingIcon","variant","t0","$","t1","t2","isDisabled","t3","t4","t5","props","undefined","validationBehavior","T0","t6","t7","root","t8","t9","isRequired","t10","maxLength","t11","TextField","_c","props","RACTextField","stylex.props"],"sources":["../../../src/components/text-field/index.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode, Ref, RefAttributes } from 'react';\nimport type { TextFieldProps as RACTextFieldProps } from 'react-aria-components';\nimport * as stylex from '@stylexjs/stylex';\nimport { TextField as RACTextField } from 'react-aria-components';\nimport type { FieldVariant } from '../../field';\nimport { FieldBox, FieldInput, FieldMessage } from '../../field';\nimport { fieldStyles, invalidFrom, useFieldValidationBehavior } from '../../field/root';\nimport { mergeStatefulStyles } from '../../styles/merge';\ntype TextFieldProps = Omit<RACTextFieldProps, 'children' | 'isInvalid' | 'prefix' | 'validationBehavior'> & {\n /**\n * Whether to count the characters the field holds at the end of the\n * supporting line, against `maxLength` where there is one, as the text\n * fields page's character counter does. The count is written in the\n * `I18nProvider`'s digits and grouping.\n * @default false\n */\n characterCount?: boolean;\n /**\n * How the limit is said to a screen reader, where there is a `maxLength`.\n * Read with the field on focus rather than as the value changes, so it\n * names the limit and not what is left of it. The visible count is hidden\n * from the tree, which is what this replaces. Left out, it is the\n * sentence for it in the I18nProvider's locale — \"Up to 20 characters\" in\n * English, singular for a limit of one.\n */\n characterLimitLabel?: string;\n /**\n * A hint shown under the field. Replaced by `error` when there is one, so\n * the two never stack.\n */\n description?: string;\n /**\n * The problem with the current value, in words. Its presence is what puts\n * the field in its error state — the message, the red underline, and\n * `aria-invalid` all follow from it.\n *\n * Outside a `Form` the message line arrives with the message, so the\n * field grows when this does and moves what is under it. A `Form` holds\n * that space from the start; so does a permanent `description`.\n */\n error?: string;\n /**\n * Whether the label sits in the empty box and floats to the top once the\n * field is focused or holds a value, as the text fields page draws it.\n * `false` keeps it small at the top in every state.\n * @default true\n */\n floatingLabel?: boolean;\n /**\n * A ref to the field's own `<input>`, which is the element a call site moves\n * focus to — after a server's error, say. `ref` is the field as a whole.\n */\n inputRef?: Ref<HTMLInputElement>;\n /**\n * What the field is for. Required rather than optional: a text field with\n * no label is a box a screen reader cannot name.\n */\n label: string;\n /**\n * An icon at the start of the box, before the label and the value: the\n * page's 24dp leading icon, in the muted role. An icon drawn in `em`\n * takes that size from the slot.\n */\n leadingIcon?: ReactNode;\n /**\n * Renders the value in the mono face with tabular figures, for amounts and\n * other numbers meant to be compared down a column.\n * @default false\n */\n numeric?: boolean;\n /**\n * Text before the value on its line, in the muted role, shown while the\n * field is focused or holds a value.\n */\n prefix?: ReactNode;\n /**\n * Text after the value on its line, in the muted role, shown while the\n * field is focused or holds a value.\n */\n suffix?: ReactNode;\n /**\n * An icon at the end of the box, after the value: the page's 24dp trailing\n * icon, in the muted role and the error role while the field has an error.\n * An icon drawn in `em` takes that size from the slot.\n */\n trailingIcon?: ReactNode;\n /**\n * The filled box, or the outlined one: no fill, an outline that thickens\n * and takes the primary role while focused, and the label cutting it once\n * it floats — the text fields page's two fields.\n * @default 'filled'\n */\n variant?: FieldVariant;\n};\n\n/**\n * A labelled single-line input. Its value is React Aria's: pass `value` with\n * `onChange` to control it, or `defaultValue` to let it keep its own — and\n * `onChange` is handed the string, not the event. The call site's\n * `className` and `style` land on the field as a whole, which is the element\n * a layout positions.\n *\n * The text fields page's configurations are props: `leadingIcon` and\n * `trailingIcon` at the box's ends, `prefix` and `suffix` on the value's\n * line, and `characterCount` opposite the supporting text, counting against\n * `maxLength`.\n *\n * The box, label, input and message are the field chrome in `src/field`,\n * shared with every other field; this component is what React Aria's\n * `TextField` puts around them.\n */\nfunction TextField({\n characterCount = false,\n characterLimitLabel,\n description,\n error,\n floatingLabel = true,\n inputRef,\n isDisabled = false,\n label,\n leadingIcon,\n numeric = false,\n prefix,\n suffix,\n trailingIcon,\n variant = 'filled',\n ...props\n}: RefAttributes<HTMLDivElement> & TextFieldProps) {\n const validationBehavior = useFieldValidationBehavior();\n return <RACTextField isDisabled={isDisabled} isInvalid={invalidFrom(error)} validationBehavior={validationBehavior} {...props} {...mergeStatefulStyles(stylex.props(fieldStyles.root), props)}>\n <FieldBox floatingLabel={floatingLabel} isRequired={props.isRequired} label={label} leading={leadingIcon} trailing={trailingIcon} variant={variant}>\n <FieldInput numeric={numeric} prefix={prefix} ref={inputRef} suffix={suffix} />\n </FieldBox>\n <FieldMessage characterCount={characterCount} characterLimitLabel={characterLimitLabel} description={description} error={error} maxLength={props.maxLength} />\n </RACTextField>;\n}\nexport type { TextFieldProps };\nexport default TextField;"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","ReactNode","Ref","RefAttributes","TextFieldProps","RACTextFieldProps","stylex","TextField","RACTextField","FieldVariant","FieldBox","FieldInput","FieldMessage","fieldStyles","invalidFrom","useFieldValidationBehavior","mergeStatefulStyles","Omit","characterCount","characterLimitLabel","characterLimitReachedLabel","description","error","floatingLabel","inputRef","HTMLInputElement","label","leadingIcon","numeric","prefix","suffix","trailingIcon","variant","t0","$","t1","t2","isDisabled","t3","t4","t5","props","undefined","validationBehavior","T0","t6","t7","t8","root","t9","t10","isRequired","t11","maxLength","t12","TextField","_c","props","RACTextField","stylex.props"],"sources":["../../../src/components/text-field/index.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode, Ref, RefAttributes } from 'react';\nimport type { TextFieldProps as RACTextFieldProps } from 'react-aria-components';\nimport * as stylex from '@stylexjs/stylex';\nimport { TextField as RACTextField } from 'react-aria-components';\nimport type { FieldVariant } from '../../field';\nimport { FieldBox, FieldInput, FieldMessage } from '../../field';\nimport { fieldStyles, invalidFrom, useFieldValidationBehavior } from '../../field/root';\nimport { mergeStatefulStyles } from '../../styles/merge';\ntype TextFieldProps = Omit<RACTextFieldProps, 'children' | 'isInvalid' | 'prefix' | 'validationBehavior'> & {\n /**\n * Whether to count the characters the field holds at the end of the\n * supporting line, against `maxLength` where there is one, as the text\n * fields page's character counter does. The count is written in the\n * `I18nProvider`'s digits and grouping.\n * @default false\n */\n characterCount?: boolean;\n /**\n * How the limit is said to a screen reader, where there is a `maxLength`.\n * Read with the field on focus rather than as the value changes, so it\n * names the limit and not what is left of it. The visible count is hidden\n * from the tree, which is what this replaces. Left out, it is the\n * sentence for it in the I18nProvider's locale — \"Up to 20 characters\" in\n * English, singular for a limit of one.\n */\n characterLimitLabel?: string;\n /**\n * What a screen reader is told once the length reaches `maxLength`, where\n * `characterCount` draws the count: the count is hidden from the tree, so\n * this is how a reader learns the field has stopped taking characters. It\n * is said once as the limit is reached, and again only after the length\n * has dropped below it. Left out, it is the sentence for it in the\n * I18nProvider's locale — \"Character limit reached\" in English.\n */\n characterLimitReachedLabel?: string;\n /**\n * A hint shown under the field. Replaced by `error` when there is one, so\n * the two never stack.\n */\n description?: string;\n /**\n * The problem with the current value, in words. Its presence is what puts\n * the field in its error state — the message, the red underline, and\n * `aria-invalid` all follow from it.\n *\n * Outside a `Form` the message line arrives with the message, so the\n * field grows when this does and moves what is under it. A `Form` holds\n * that space from the start; so does a permanent `description`.\n */\n error?: string;\n /**\n * Whether the label sits in the empty box and floats to the top once the\n * field is focused or holds a value, as the text fields page draws it.\n * `false` keeps it small at the top in every state.\n * @default true\n */\n floatingLabel?: boolean;\n /**\n * A ref to the field's own `<input>`, which is the element a call site moves\n * focus to — after a server's error, say. `ref` is the field as a whole.\n */\n inputRef?: Ref<HTMLInputElement>;\n /**\n * What the field is for. Required rather than optional: a text field with\n * no label is a box a screen reader cannot name.\n */\n label: string;\n /**\n * An icon at the start of the box, before the label and the value: the\n * page's 24dp leading icon, in the muted role. An icon drawn in `em`\n * takes that size from the slot.\n */\n leadingIcon?: ReactNode;\n /**\n * Renders the value in the mono face with tabular figures, for amounts and\n * other numbers meant to be compared down a column. The value runs left to\n * right whatever the page's direction, so a minus sign stays before the\n * digits under a right-to-left locale, and a phone shows the decimal\n * keypad. That keypad has no minus key on iOS or Android, so a field taking\n * negative amounts gives an `inputMode` of its own, which replaces it, or\n * is a `NumberField`, which picks a keypad for each platform.\n * @default false\n */\n numeric?: boolean;\n /**\n * Text before the value on its line, in the muted role, shown while the\n * field is focused or holds a value.\n */\n prefix?: ReactNode;\n /**\n * Text after the value on its line, in the muted role, shown while the\n * field is focused or holds a value.\n */\n suffix?: ReactNode;\n /**\n * An icon at the end of the box, after the value: the page's 24dp trailing\n * icon, in the muted role and the error role while the field has an error.\n * An icon drawn in `em` takes that size from the slot.\n */\n trailingIcon?: ReactNode;\n /**\n * The filled box, or the outlined one: no fill, an outline that thickens\n * and takes the primary role while focused, and the label cutting it once\n * it floats — the text fields page's two fields.\n * @default 'filled'\n */\n variant?: FieldVariant;\n};\n\n/**\n * A labelled single-line input. Its value is React Aria's: pass `value` with\n * `onChange` to control it, or `defaultValue` to let it keep its own — and\n * `onChange` is handed the string, not the event. The call site's\n * `className` and `style` land on the field as a whole, which is the element\n * a layout positions.\n *\n * The text fields page's configurations are props: `leadingIcon` and\n * `trailingIcon` at the box's ends, `prefix` and `suffix` on the value's\n * line, and `characterCount` opposite the supporting text, counting against\n * `maxLength`.\n *\n * The box, label, input and message are the field chrome in `src/field`,\n * shared with every other field; this component is what React Aria's\n * `TextField` puts around them.\n */\nfunction TextField({\n characterCount = false,\n characterLimitLabel,\n characterLimitReachedLabel,\n description,\n error,\n floatingLabel = true,\n inputRef,\n isDisabled = false,\n label,\n leadingIcon,\n numeric = false,\n prefix,\n suffix,\n trailingIcon,\n variant = 'filled',\n ...props\n}: RefAttributes<HTMLDivElement> & TextFieldProps) {\n const validationBehavior = useFieldValidationBehavior();\n return <RACTextField\n // The decimal keypad for a numeric field, unless the call site names\n // another below.\n inputMode={numeric ? 'decimal' : undefined} isDisabled={isDisabled} isInvalid={invalidFrom(error)} validationBehavior={validationBehavior} {...props} {...mergeStatefulStyles(stylex.props(fieldStyles.root), props)}>\n <FieldBox floatingLabel={floatingLabel} isRequired={props.isRequired} label={label} leading={leadingIcon} trailing={trailingIcon} variant={variant}>\n <FieldInput leftToRight={numeric} numeric={numeric} prefix={prefix} ref={inputRef} suffix={suffix} />\n </FieldBox>\n <FieldMessage characterCount={characterCount} characterLimitLabel={characterLimitLabel} characterLimitReachedLabel={characterLimitReachedLabel} description={description} error={error} maxLength={props.maxLength} />\n </RACTextField>;\n}\nexport type { TextFieldProps };\nexport default TextField;"],"mappings":"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"}
|
|
@@ -4,13 +4,14 @@ import { mergeStatefulStyles } from "../../styles/merge.js";
|
|
|
4
4
|
import { useMessages } from "../../i18n/index.js";
|
|
5
5
|
import { ClockGlyph, KeyboardGlyph } from "../../glyphs/index.js";
|
|
6
6
|
import Button$1 from "../button/index.js";
|
|
7
|
-
import IconButton from "../icon-button/index.js";
|
|
8
7
|
import { fieldStyles, invalidFrom, useFieldValidationBehavior } from "../../field/root.js";
|
|
8
|
+
import IconButton from "../icon-button/index.js";
|
|
9
9
|
import { FieldBox, FieldMessage, FieldSegments } from "../../field/index.js";
|
|
10
10
|
import { overlay } from "../../styles/overlay.js";
|
|
11
11
|
import { picker, triggerClassName } from "../../styles/picker.js";
|
|
12
12
|
import { segmentStyles } from "../../segments/styles.js";
|
|
13
13
|
import { renderSegment } from "../../segments/index.js";
|
|
14
|
+
import { InsideModalContext } from "../../overlay/modal.js";
|
|
14
15
|
import { c } from "react/compiler-runtime";
|
|
15
16
|
import { useContext, useId, useRef, useState } from "react";
|
|
16
17
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -283,7 +284,7 @@ function polar(turn, radius) {
|
|
|
283
284
|
* which is the element a layout positions.
|
|
284
285
|
*/
|
|
285
286
|
function TimePicker(t0) {
|
|
286
|
-
const $ = c(
|
|
287
|
+
const $ = c(52);
|
|
287
288
|
const { cancelLabel, confirmLabel, container, defaultMode: t1, defaultOpen: t2, description, enterTimeLabel, error, floatingLabel: t3, isDisabled: t4, isOpen, isReadOnly: t5, label, leadingIcon, onOpenChange, selectTimeLabel, variant: t6, ...props$1 } = t0;
|
|
288
289
|
const defaultMode = t1 === void 0 ? "dial" : t1;
|
|
289
290
|
const defaultOpen = t2 === void 0 ? false : t2;
|
|
@@ -293,6 +294,7 @@ function TimePicker(t0) {
|
|
|
293
294
|
const variant = t6 === void 0 ? "filled" : t6;
|
|
294
295
|
const validationBehavior = useFieldValidationBehavior();
|
|
295
296
|
const messages = useMessages();
|
|
297
|
+
const overModal = useContext(InsideModalContext);
|
|
296
298
|
const [ownOpen, setOwnOpen] = useState(defaultOpen);
|
|
297
299
|
const open = isOpen ?? ownOpen;
|
|
298
300
|
let t7;
|
|
@@ -374,17 +376,18 @@ function TimePicker(t0) {
|
|
|
374
376
|
$[22] = t17;
|
|
375
377
|
} else t17 = $[22];
|
|
376
378
|
let t18;
|
|
377
|
-
if ($[23]
|
|
378
|
-
t18 = props(overlay.scrim, styles.centre);
|
|
379
|
-
$[23] =
|
|
380
|
-
|
|
379
|
+
if ($[23] !== overModal) {
|
|
380
|
+
t18 = props(overlay.scrim, overModal && overlay.scrimOverModal, styles.centre);
|
|
381
|
+
$[23] = overModal;
|
|
382
|
+
$[24] = t18;
|
|
383
|
+
} else t18 = $[24];
|
|
381
384
|
const t19 = cancelLabel ?? messages.cancel;
|
|
382
385
|
const t20 = confirmLabel ?? messages.confirm;
|
|
383
386
|
const t21 = enterTimeLabel ?? messages.enterTime;
|
|
384
387
|
const t22 = props$1.granularity === "hour" ? "hour" : "minute";
|
|
385
388
|
const t23 = selectTimeLabel ?? messages.selectTime;
|
|
386
389
|
let t24;
|
|
387
|
-
if ($[
|
|
390
|
+
if ($[25] !== defaultMode || $[26] !== label || $[27] !== props$1.hourCycle || $[28] !== props$1.placeholderValue || $[29] !== t19 || $[30] !== t20 || $[31] !== t21 || $[32] !== t22 || $[33] !== t23) {
|
|
388
391
|
t24 = /* @__PURE__ */ jsx(Modal, {
|
|
389
392
|
className: "x1n1nwrg x1u6grsq xbhiib0 x16dv9tl xvkjz1l x1w1tqly x19pkqky xx61lck x13rsnn2 x1udv5rz x9f619 x139gbkf xi55695 xmz0i5r x193iq5w xysyzu8",
|
|
390
393
|
children: /* @__PURE__ */ jsx(TimePickerDialog, {
|
|
@@ -399,19 +402,19 @@ function TimePicker(t0) {
|
|
|
399
402
|
selectTimeLabel: t23
|
|
400
403
|
})
|
|
401
404
|
});
|
|
402
|
-
$[
|
|
403
|
-
$[
|
|
404
|
-
$[
|
|
405
|
-
$[
|
|
406
|
-
$[
|
|
407
|
-
$[
|
|
408
|
-
$[
|
|
409
|
-
$[
|
|
410
|
-
$[
|
|
411
|
-
$[
|
|
412
|
-
} else t24 = $[
|
|
405
|
+
$[25] = defaultMode;
|
|
406
|
+
$[26] = label;
|
|
407
|
+
$[27] = props$1.hourCycle;
|
|
408
|
+
$[28] = props$1.placeholderValue;
|
|
409
|
+
$[29] = t19;
|
|
410
|
+
$[30] = t20;
|
|
411
|
+
$[31] = t21;
|
|
412
|
+
$[32] = t22;
|
|
413
|
+
$[33] = t23;
|
|
414
|
+
$[34] = t24;
|
|
415
|
+
} else t24 = $[34];
|
|
413
416
|
let t25;
|
|
414
|
-
if ($[
|
|
417
|
+
if ($[35] !== changeOpen || $[36] !== container || $[37] !== open || $[38] !== t18 || $[39] !== t24) {
|
|
415
418
|
t25 = /* @__PURE__ */ jsx(ModalOverlay, {
|
|
416
419
|
isDismissable: true,
|
|
417
420
|
isOpen: open,
|
|
@@ -420,14 +423,15 @@ function TimePicker(t0) {
|
|
|
420
423
|
...t18,
|
|
421
424
|
children: t24
|
|
422
425
|
});
|
|
423
|
-
$[
|
|
424
|
-
$[
|
|
425
|
-
$[
|
|
426
|
-
$[
|
|
427
|
-
$[
|
|
428
|
-
|
|
426
|
+
$[35] = changeOpen;
|
|
427
|
+
$[36] = container;
|
|
428
|
+
$[37] = open;
|
|
429
|
+
$[38] = t18;
|
|
430
|
+
$[39] = t24;
|
|
431
|
+
$[40] = t25;
|
|
432
|
+
} else t25 = $[40];
|
|
429
433
|
let t26;
|
|
430
|
-
if ($[
|
|
434
|
+
if ($[41] !== T0 || $[42] !== isDisabled || $[43] !== isReadOnly || $[44] !== props$1 || $[45] !== t10 || $[46] !== t16 || $[47] !== t17 || $[48] !== t25 || $[49] !== t9 || $[50] !== validationBehavior) {
|
|
431
435
|
t26 = /* @__PURE__ */ jsxs(T0, {
|
|
432
436
|
isDisabled,
|
|
433
437
|
isInvalid: t9,
|
|
@@ -441,18 +445,18 @@ function TimePicker(t0) {
|
|
|
441
445
|
t25
|
|
442
446
|
]
|
|
443
447
|
});
|
|
444
|
-
$[
|
|
445
|
-
$[
|
|
446
|
-
$[
|
|
447
|
-
$[
|
|
448
|
-
$[
|
|
449
|
-
$[
|
|
450
|
-
$[
|
|
451
|
-
$[
|
|
452
|
-
$[
|
|
453
|
-
$[
|
|
454
|
-
$[
|
|
455
|
-
} else t26 = $[
|
|
448
|
+
$[41] = T0;
|
|
449
|
+
$[42] = isDisabled;
|
|
450
|
+
$[43] = isReadOnly;
|
|
451
|
+
$[44] = props$1;
|
|
452
|
+
$[45] = t10;
|
|
453
|
+
$[46] = t16;
|
|
454
|
+
$[47] = t17;
|
|
455
|
+
$[48] = t25;
|
|
456
|
+
$[49] = t9;
|
|
457
|
+
$[50] = validationBehavior;
|
|
458
|
+
$[51] = t26;
|
|
459
|
+
} else t26 = $[51];
|
|
456
460
|
return t26;
|
|
457
461
|
}
|
|
458
462
|
/**
|