@kanso-labs/kanso-ui 0.30.2 → 0.30.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/calendar/styles.js +6 -0
  2. package/dist/calendar/styles.js.map +1 -1
  3. package/dist/components/button/index.d.ts +1 -1
  4. package/dist/components/button/index.js +38 -35
  5. package/dist/components/button/index.js.map +1 -1
  6. package/dist/components/calendar/index.js +1 -1
  7. package/dist/components/calendar/index.js.map +1 -1
  8. package/dist/components/chip/index.d.ts +1 -1
  9. package/dist/components/chip/index.js +34 -22
  10. package/dist/components/chip/index.js.map +1 -1
  11. package/dist/components/color-picker/index.d.ts +7 -1
  12. package/dist/components/color-picker/index.js +35 -28
  13. package/dist/components/color-picker/index.js.map +1 -1
  14. package/dist/components/color-swatch-picker/index.js +38 -26
  15. package/dist/components/color-swatch-picker/index.js.map +1 -1
  16. package/dist/components/dialog/index.js +1 -1
  17. package/dist/components/dialog/index.js.map +1 -1
  18. package/dist/components/icon-button/index.d.ts +1 -1
  19. package/dist/components/icon-button/index.js +49 -46
  20. package/dist/components/icon-button/index.js.map +1 -1
  21. package/dist/components/menu/index.d.ts +8 -5
  22. package/dist/components/menu/index.js +33 -38
  23. package/dist/components/menu/index.js.map +1 -1
  24. package/dist/components/navigation-tree/index.js +2 -5
  25. package/dist/components/navigation-tree/index.js.map +1 -1
  26. package/dist/components/progress-indicator/index.js +3 -3
  27. package/dist/components/progress-indicator/index.js.map +1 -1
  28. package/dist/components/range-calendar/index.js +1 -1
  29. package/dist/components/range-calendar/index.js.map +1 -1
  30. package/dist/components/sheet/index.js +1 -1
  31. package/dist/components/sheet/index.js.map +1 -1
  32. package/dist/components/table/index.js +8 -8
  33. package/dist/components/table/index.js.map +1 -1
  34. package/dist/field/index.js +78 -57
  35. package/dist/field/index.js.map +1 -1
  36. package/dist/row/index.js +71 -69
  37. package/dist/row/index.js.map +1 -1
  38. package/dist/row/styles.js +4 -0
  39. package/dist/row/styles.js.map +1 -1
  40. package/dist/styles.css +44 -8
  41. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["HTMLAttributes","ReactNode","Ref","ButtonProps","GroupProps","GroupRenderProps","InputProps","InputRenderProps","LabelProps","TextAreaProps","stylex","createContext","useContext","FieldError","FieldErrorContext","Group","Input","InputContext","Label","Button","RACButton","SelectStateContext","Text","TextArea","TextAreaContext","useSlottedContext","VisuallyHidden","mergeStatefulStyles","mergeStyles","useInsideForm","fieldChromeStyles","groupStyles","BoxControl","label","BoxLabel","underLabel","FieldBoxProps","children","floatingLabel","isPopulated","leading","multiline","ref","HTMLDivElement","trailing","trigger","variant","FieldVariant","Omit","FieldInputProps","numeric","prefix","suffix","FieldLabelProps","state","Partial","FieldLabelState","FieldLabelVariant","Pick","FieldMessageProps","characterCount","characterLimitLabel","description","error","inset","maxLength","FieldTextAreaProps","autosize","FieldTriggerProps","FieldValueProps","HTMLElement","isFocused","isPlaceholder","OUTSIDE_BOX","BOX_CONTROLS","filled","fixed","floating","outlined","Record","BoxContext","boxContent","BoxContent","t0","$","_c","read","useFieldPopulated","populated","floated","isFocusWithin","t1","t2","props","outline","undefined","outlineLeading","outlineFocused","outlineNotch","outlineNotchOpen","t3","isDisabled","icon","iconDisabled","t4","column","columnFloating","columnDisabledFloating","columnDisabled","t5","boxLabel","boxLabelFloated","boxLabelOutlined","boxLabelOutlinedFloated","t6","t7","t8","isInvalid","iconError","t9","boxStyles","box","boxFloating","boxFixed","boxMultiline","boxLeading","boxTrailing","boxOutlined","boxOutlinedFloating","boxOutlinedError","boxError","boxOutlinedDisabled","boxDisabled","FieldBox","T0","t10","t11","FieldInput","placeholder","input","inputUnderLabel","inputUnderFloatingLabel","inputDisabled","control","Symbol","for","affixLine","affix","FieldTextArea","context","value","textArea","textAreaAutosize","autosizeCell","replica","FieldTrigger","FieldValue","hidden","valuePlaceholder","valuePlaceholderHidden","select","selectionManager","selectedKeys","size","String","length","NO_STATE","FieldLabel","labelDisabled","labelError","labelFocused","FieldMessage","validation","invalid","insideForm","limit","hint","message","described","messageLine","messageInset","messageError","counter"],"sources":["../../src/field/index.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode, Ref } from 'react';\nimport type { ButtonProps, GroupProps, GroupRenderProps, InputProps, InputRenderProps, LabelProps, TextAreaProps } from 'react-aria-components';\nimport * as stylex from '@stylexjs/stylex';\nimport { createContext, useContext } from 'react';\nimport { FieldError, FieldErrorContext, Group, Input, InputContext, Label, Button as RACButton, SelectStateContext, Text, TextArea, TextAreaContext, useSlottedContext, VisuallyHidden } from 'react-aria-components';\nimport { mergeStatefulStyles, mergeStyles } from '../styles/merge';\nimport { useInsideForm } from './root';\nimport { fieldChromeStyles, groupStyles } from './styles';\n\n// The chrome every field shares: the filled box with its label at the top, the\n// control inside it, and the line of supporting text under it. TextField drew\n// all of it on its own until the coverage plan brought a dozen more fields,\n// each of which would otherwise have written the same box a second time.\n//\n// Not a component of the library's own and not exported. Each field is still\n// React Aria's field component — TextField, NumberField, DateField — and these\n// are the parts it renders inside, which is what keeps the label association,\n// the description and error wiring, and validation on React Aria's side.\n//\n// Neither the notch nor the label can select on the state that drives them.\n// Both are children of the box and the state is the box's, and the filled\n// label reads it in CSS only because it changes type alone, which the box\n// hands down inherited — where the notch changes what it holds and the\n// label changes where it sits, and neither of those inherits. So the box's\n// content computes that state in React instead: focus from the box's own\n// render state, and a value from the control's context, which is where the\n// character counter reads it too. The border's colour is the box's,\n// inherited, which is what carries the hover, focus, error and disabled\n// roles to it.\n\n// What a control needs to know about the box around it: how the label is\n// drawn, and whether the control clears it with a margin — it does under\n// the filled box's label, and not under the outlined box's, whose label\n// sits on the outline rather than over the value.\ninterface BoxControl {\n label: BoxLabel;\n underLabel: boolean;\n}\n\n// How the box draws its label, for the control inside it — see the context\n// below.\ntype BoxLabel = 'fixed' | 'floating' | 'none';\ntype FieldBoxProps = {\n children?: ReactNode;\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 * Whether the control is holding anything, for a field whose control the\n * chrome cannot ask. It reads an input, a text area and a select's own\n * state; a control that is none of those — a token field's editable area,\n * say — says so here, and the floating label floats on it.\n */\n isPopulated?: boolean;\n /** What the field is for. */\n label: string;\n /** An icon at the start of the box, before the label and the control. */\n leading?: ReactNode;\n /**\n * Whether the box takes its height from the control inside it rather\n * than the page's 56dp, for a text area.\n * @default false\n */\n multiline?: boolean;\n /**\n * The box's own element. A field whose box is what something else is\n * anchored to needs it — a select's list is positioned against the box and\n * takes its width from it, which is what makes the two the same width.\n */\n ref?: Ref<HTMLDivElement>;\n /** An icon at the end of the box, after the control. */\n trailing?: ReactNode;\n /**\n * A press target covering the whole box, for a field whose box opens\n * something rather than taking a keystroke — {@link FieldTrigger}. Drawn\n * in the box itself rather than in the column the label and the control\n * share, so the padding and the icons open it too.\n */\n trigger?: 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.\n * @default 'filled'\n */\n variant?: FieldVariant;\n} & Omit<GroupProps, 'children'>;\n\n// `prefix` is also an HTML attribute — the RDFa one, which nothing here\n// wants — and React's element types carry it as a string, so it is left out\n// of the props taken from React Aria to make room for the affix.\ntype FieldInputProps = Omit<InputProps, 'prefix'> & {\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, shown while the field is focused or\n * holds a value.\n */\n prefix?: ReactNode;\n /**\n * Text after the value on its line, shown while the field is focused or\n * holds a value.\n */\n suffix?: ReactNode;\n};\ntype FieldLabelProps = LabelProps & {\n /**\n * The states the colour follows. Disabled wins over error, and error over\n * focus, so a focused invalid field keeps its error colour.\n */\n state?: Partial<FieldLabelState>;\n /**\n * Where the label sits. `field` is inside a box, positioned and typed by\n * whatever renders it. `group` is above a group of controls, which has no\n * box to float a label in, so this one carries its type itself.\n * @default 'field'\n */\n variant?: FieldLabelVariant;\n};\ntype FieldLabelState = Pick<GroupRenderProps, 'isDisabled' | 'isFocusWithin' | 'isInvalid'>;\ntype FieldLabelVariant = 'field' | 'group';\ninterface FieldMessageProps {\n /**\n * Whether to count the characters the control holds at the end of the\n * line, against `maxLength` where there is one. The count is read off the\n * field's own input or text area context.\n * @default false\n */\n characterCount?: boolean;\n /**\n * How the limit is said to a screen reader, where there is a `maxLength`.\n * It is read with the field on focus rather than as the value changes, so\n * it names the limit and not what is left of it.\n * @default `Up to ${maxLength} characters`\n */\n characterLimitLabel?: string | undefined;\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 | undefined;\n /** The problem with the current value, in words. */\n error?: string | undefined;\n /**\n * Whether the line is indented to a box's inline padding, so it starts\n * where a value above it does. Off for a field with no box to line up with.\n * @default true\n */\n inset?: boolean;\n /** The limit the count is shown against. */\n maxLength?: number | undefined;\n}\ntype FieldTextAreaProps = TextAreaProps & {\n /**\n * Whether the control grows with the text it holds, from the rows it asks\n * for. Off, it keeps its rows and scrolls.\n * @default false\n */\n autosize?: boolean;\n};\ntype FieldTriggerProps = ButtonProps;\ntype FieldValueProps = HTMLAttributes<HTMLElement> & {\n /**\n * Whether the field has focus. A hidden placeholder appears while it does,\n * the way an input's does.\n * @default false\n */\n isFocused?: boolean;\n /**\n * Whether nothing has been chosen yet, so what is drawn is the placeholder\n * rather than a value.\n * @default false\n */\n isPlaceholder?: boolean;\n};\ntype FieldVariant = 'filled' | 'outlined';\n\n// A control under a floating label carries a placeholder so the box can\n// tell when it is populated, shown only while focused. The default is what\n// a control rendered outside any box gets — a search bar's, which has no\n// label over it and shows its placeholder in every state. The four a box\n// provides are hoisted so each is one stable object.\nconst OUTSIDE_BOX: BoxControl = {\n label: 'none',\n underLabel: false\n};\nconst BOX_CONTROLS = {\n filled: {\n fixed: {\n label: 'fixed',\n underLabel: true\n },\n floating: {\n label: 'floating',\n underLabel: true\n }\n },\n outlined: {\n fixed: {\n label: 'fixed',\n underLabel: false\n },\n floating: {\n label: 'floating',\n underLabel: false\n }\n }\n} satisfies Record<FieldVariant, Record<'fixed' | 'floating', BoxControl>>;\nconst BoxContext = createContext<BoxControl>(OUTSIDE_BOX);\n\n// Written as calls rather than function literals at the prop, which is what\n// react-perf's no-new-function-as-prop is after; the React Compiler memoises\n// each result on its inputs.\nfunction boxContent(label: string, children: ReactNode, floatingLabel: boolean, isPopulated: boolean | undefined, leading: ReactNode, trailing: ReactNode, trigger: ReactNode, variant: FieldVariant) {\n return (state: GroupRenderProps) => <BoxContent floatingLabel={floatingLabel} isPopulated={isPopulated} label={label} leading={leading} state={state} trailing={trailing} trigger={trigger} variant={variant}>\n {children}\n </BoxContent>;\n}\n\n/**\n * What a box holds: its icons, its label and the control between them, plus\n * the outline when it has one. A component rather than the render function\n * itself, so it can read whether the control holds a value — which is what\n * the outlined box's notch and label follow, and what CSS cannot express\n * for them. See the outlined variant's note above.\n */\nfunction BoxContent({\n children,\n floatingLabel,\n isPopulated,\n label,\n leading,\n state,\n trailing,\n trigger,\n variant\n}: {\n children: ReactNode;\n floatingLabel: boolean;\n isPopulated: boolean | undefined;\n label: string;\n leading: ReactNode;\n state: GroupRenderProps;\n trailing: ReactNode;\n trigger: ReactNode;\n variant: FieldVariant;\n}) {\n const read = useFieldPopulated();\n const populated = isPopulated ?? read;\n const outlined = variant === 'outlined';\n const floated = !floatingLabel || state.isFocusWithin || populated;\n return <BoxContext value={BOX_CONTROLS[variant][floatingLabel ? 'floating' : 'fixed']}>\n {outlined ? <fieldset aria-hidden=\"true\" {...stylex.props(fieldChromeStyles.outline, leading !== undefined && fieldChromeStyles.outlineLeading, state.isFocusWithin && fieldChromeStyles.outlineFocused)}>\n <legend {...stylex.props(fieldChromeStyles.outlineNotch, floated && fieldChromeStyles.outlineNotchOpen)}>\n {floated ? label : null}\n </legend>\n </fieldset> : null}\n {trigger}\n {leading === undefined ? null : <span {...stylex.props(fieldChromeStyles.icon, state.isDisabled && fieldChromeStyles.iconDisabled)}>\n {leading}\n </span>}\n <div {...stylex.props(fieldChromeStyles.column, floatingLabel && fieldChromeStyles.columnFloating, state.isDisabled && (floatingLabel ? fieldChromeStyles.columnDisabledFloating : fieldChromeStyles.columnDisabled))}>\n <FieldLabel state={state} {...stylex.props(fieldChromeStyles.boxLabel, floatingLabel && floated && fieldChromeStyles.boxLabelFloated, outlined && fieldChromeStyles.boxLabelOutlined, outlined && floated && fieldChromeStyles.boxLabelOutlinedFloated)}>\n {label}\n </FieldLabel>\n {children}\n </div>\n {trailing === undefined ? null : <span {...stylex.props(fieldChromeStyles.icon, state.isInvalid && fieldChromeStyles.iconError, state.isDisabled && fieldChromeStyles.iconDisabled)}>\n {trailing}\n </span>}\n </BoxContext>;\n}\nfunction boxStyles(floatingLabel: boolean, multiline: boolean, leading: boolean, trailing: boolean, variant: FieldVariant) {\n const outlined = variant === 'outlined';\n return (state: GroupRenderProps) => stylex.props(fieldChromeStyles.box, floatingLabel ? fieldChromeStyles.boxFloating : fieldChromeStyles.boxFixed, multiline && fieldChromeStyles.boxMultiline, leading && fieldChromeStyles.boxLeading, trailing && fieldChromeStyles.boxTrailing, outlined && fieldChromeStyles.boxOutlined, outlined && floatingLabel && fieldChromeStyles.boxOutlinedFloating, state.isInvalid && (outlined ? fieldChromeStyles.boxOutlinedError : fieldChromeStyles.boxError), state.isDisabled && (outlined ? fieldChromeStyles.boxOutlinedDisabled : fieldChromeStyles.boxDisabled));\n}\n\n/**\n * The box a control sits in, filled or outlined, with its label. React\n * Aria's `Group`, so\n * the field around it hands down `isDisabled` and `isInvalid` through context\n * and the box reports focus within it as render state, which is what the\n * label's colour follows. A field that provides no group context — one built\n * on a button rather than an input — passes the two states itself.\n */\nfunction FieldBox({\n children,\n floatingLabel = true,\n isPopulated,\n label,\n leading,\n multiline = false,\n trailing,\n trigger,\n variant = 'filled',\n ...props\n}: FieldBoxProps) {\n return <Group {...props} {...mergeStatefulStyles(boxStyles(floatingLabel, multiline, leading !== undefined, trailing !== undefined, variant), props)}>\n {boxContent(label, children, floatingLabel, isPopulated, leading, trailing, trigger, variant)}\n </Group>;\n}\n\n/**\n * A field's text control, in a {@link FieldBox} or on its own. React Aria's\n * `Input`, which takes its label association, value and validation from the\n * field around it and reports its disabled state as render state.\n *\n * In a box it clears the label at the top, and under a floating label it\n * always carries a placeholder, since that is what the box reads to tell a\n * populated control from an empty one: its own where it was given one, a\n * blank otherwise. Outside a box it has no label over it and shows the\n * placeholder it was given in every state.\n */\nfunction FieldInput({\n numeric = false,\n placeholder,\n prefix,\n suffix,\n ...props\n}: FieldInputProps) {\n const box = useContext(BoxContext);\n const control = <Input placeholder={placeholder ?? (box.label === 'floating' ? ' ' : undefined)} {...props} {...mergeStatefulStyles((state: InputRenderProps) => stylex.props(fieldChromeStyles.input, box.underLabel && fieldChromeStyles.inputUnderLabel, box.label === 'floating' && fieldChromeStyles.inputUnderFloatingLabel, numeric && fieldChromeStyles.numeric, state.isDisabled && fieldChromeStyles.inputDisabled), props)} />;\n if (prefix === undefined && suffix === undefined) {\n return control;\n }\n return <span {...stylex.props(fieldChromeStyles.affixLine)}>\n {prefix === undefined ? null : <span {...stylex.props(fieldChromeStyles.affix, box.underLabel && fieldChromeStyles.inputUnderLabel)}>\n {prefix}\n </span>}\n {control}\n {suffix === undefined ? null : <span {...stylex.props(fieldChromeStyles.affix, box.underLabel && fieldChromeStyles.inputUnderLabel)}>\n {suffix}\n </span>}\n </span>;\n}\n\n/**\n * A field's multi-line text control, in a {@link FieldBox} drawn `multiline`.\n * React Aria's `TextArea`, with the same label association, value and\n * validation {@link FieldInput} takes from the field around it, and the same\n * placeholder under a floating label.\n *\n * Given `autosize` it grows with its text from the rows it asks for. The\n * value it grows to fit is read off the field's context rather than\n * measured: the box holds a hidden replica of it in the control's own type,\n * in the same grid cell as the control, and the cell is as tall as whichever\n * of the two is taller.\n */\nfunction FieldTextArea({\n autosize = false,\n placeholder,\n ...props\n}: FieldTextAreaProps) {\n const box = useContext(BoxContext);\n const context = useSlottedContext(TextAreaContext);\n const value = typeof context?.value === 'string' ? context.value : '';\n const control = <TextArea placeholder={placeholder ?? (box.label === 'floating' ? ' ' : undefined)} {...props} {...mergeStatefulStyles((state: InputRenderProps) => stylex.props(fieldChromeStyles.input, box.underLabel && fieldChromeStyles.inputUnderLabel, box.label === 'floating' && fieldChromeStyles.inputUnderFloatingLabel, fieldChromeStyles.textArea, autosize && fieldChromeStyles.textAreaAutosize, autosize && fieldChromeStyles.autosizeCell, state.isDisabled && fieldChromeStyles.inputDisabled), props)} />;\n if (!autosize) {\n return control;\n }\n\n // A trailing space keeps a final line break of the value as a line of the\n // replica, which is how the control renders it.\n return <div {...stylex.props(fieldChromeStyles.autosize)}>\n {control}\n <div aria-hidden=\"true\" {...stylex.props(fieldChromeStyles.input, box.underLabel && fieldChromeStyles.inputUnderLabel, fieldChromeStyles.replica, fieldChromeStyles.autosizeCell)}>\n {value}{' '}\n </div>\n </div>;\n}\n\n/**\n * The press target over a {@link FieldBox} whose whole surface opens\n * something — a select's list, a picker's calendar. React Aria's `Button`,\n * which takes the trigger's props from the field around it through context.\n *\n * It covers the box rather than sitting on its value's line, so the box's\n * own padding opens the field too. It draws nothing: the box already carries\n * the fill, the underline and the focus indicator, and it lights up while\n * this has focus because the indicator follows focus within.\n */\nfunction FieldTrigger(props: FieldTriggerProps) {\n return <RACButton {...props} {...mergeStatefulStyles(stylex.props(fieldChromeStyles.trigger), props)} />;\n}\n\n/**\n * A field's value where it was chosen rather than typed, in a\n * {@link FieldBox}. Put React Aria's own element inside it — a select's\n * `SelectValue`, a picker's display — and this is what carries the input's\n * type and its place on the line, clearing the label at the top and\n * truncating rather than wrapping.\n *\n * The wrapper is the styled one rather than React Aria's element, because\n * this is the box's flex item: styling the element inside instead left it\n * sizing itself against a parent that had already shrink-wrapped to it.\n *\n * `isPlaceholder` says nothing has been chosen, which takes the muted role;\n * under a floating label it is hidden until the field is focused, exactly as\n * an input's placeholder is.\n */\nfunction FieldValue({\n isFocused = false,\n isPlaceholder = false,\n ...props\n}: FieldValueProps) {\n const box = useContext(BoxContext);\n const hidden = isPlaceholder && box.label === 'floating' && !isFocused;\n return <span {...props} {...mergeStyles(stylex.props(fieldChromeStyles.input, fieldChromeStyles.value, box.underLabel && fieldChromeStyles.inputUnderLabel, isPlaceholder && fieldChromeStyles.valuePlaceholder, hidden && fieldChromeStyles.valuePlaceholderHidden), props)} />;\n}\nfunction useFieldPopulated() {\n const input = useSlottedContext(InputContext);\n const textArea = useSlottedContext(TextAreaContext);\n // A field whose value is chosen rather than typed holds no input at all,\n // so being populated is a question for its own state — without this a\n // select's floating label never floats, however much is chosen.\n const select = useContext(SelectStateContext);\n if (select !== null) {\n return select.selectionManager.selectedKeys.size > 0;\n }\n const value = input?.value ?? textArea?.value ?? '';\n return String(value).length > 0;\n}\n\n/**\n * Whether the control in this box is holding anything, read off React\n * Aria's context for whichever control the field renders. The filled box\n * reads the same thing in CSS through `:placeholder-shown`; this is for\n * what CSS cannot express — see the outlined variant's note above.\n */\n/**\n * A field's label: the colour alone, positioned and given its type by whatever\n * renders it. React Aria's `Label`, which the field around it associates with\n * its control through context.\n */\n// Hoisted rather than written as the parameter's default, which would be a\n// new object on every render.\nconst NO_STATE: Partial<FieldLabelState> = {};\nfunction FieldLabel({\n state = NO_STATE,\n variant = 'field',\n ...props\n}: FieldLabelProps) {\n const {\n isDisabled = false,\n isFocusWithin = false,\n isInvalid = false\n } = state;\n return <Label {...props} {...mergeStyles(stylex.props(fieldChromeStyles.label, variant === 'group' && groupStyles.label, isDisabled && fieldChromeStyles.labelDisabled, isInvalid && fieldChromeStyles.labelError, !isDisabled && !isInvalid && isFocusWithin && fieldChromeStyles.labelFocused), props)} />;\n}\n\n/**\n * The line under a field: the error while there is one, the description\n * otherwise. The error goes through React Aria's `FieldError`, which renders\n * only while the field is invalid and falls back to whatever validation\n * errors the field carries when no message is given — which is how a `Form`\n * with server-side errors, or the browser's own, reaches it without any\n * field changing. The description steps aside for those too, which is what\n * the field's validation state is read for.\n */\nfunction FieldMessage({\n characterCount = false,\n characterLimitLabel,\n description,\n error,\n inset = true,\n maxLength\n}: FieldMessageProps) {\n const validation = useContext(FieldErrorContext);\n const invalid = error !== undefined || (validation?.isInvalid ?? false);\n const input = useSlottedContext(InputContext);\n const textArea = useSlottedContext(TextAreaContext);\n const insideForm = useInsideForm();\n\n // The limit, in words, for the description React Aria reads out with the\n // field. `maxLength` alone reaches the control as the native attribute,\n // which is not reliably announced, and the count beside the message is\n // hidden — so without this a reader is never told there is a limit.\n const limit = maxLength === undefined ? undefined : characterLimitLabel ?? `Up to ${maxLength} character${maxLength === 1 ? '' : 's'}`;\n const hidden = limit === undefined ? null : <VisuallyHidden elementType=\"span\">\n <Text slot=\"description\">{limit}</Text>\n </VisuallyHidden>;\n\n // Nothing to say, and nowhere a message could arrive from: the field ends\n // at its control. Inside a form the line is drawn anyway, empty, since a\n // form is where a message appears after the fact — a server's answer, or\n // the browser's own on submit — and every field below this one would\n // otherwise move by the line's height when it does.\n //\n // A limit to announce leaves on its own rather than bringing the line with\n // it. The line is one line of type plus the 4dp above it, so drawing it\n // for something nobody can see would make a field with a limit taller than\n // the same field without one.\n if (!invalid && description === undefined && !characterCount && !insideForm) {\n return hidden;\n }\n const value = input?.value ?? textArea?.value ?? '';\n const length = String(value).length;\n const hint = invalid ? undefined : description;\n\n // One slotted description, never two. React Aria hands every element in\n // its description slot the same generated id, so a second one puts a\n // duplicate id in the document and axe fails the story. The limit rides\n // inside the hint where there is one, and carries the whole slot where\n // there is not — hidden either way, since the count already draws it.\n //\n // Hidden by clipping rather than by leaving it out of the row, and the\n // difference is a gap: the row is a flex line with 16dp between its parts,\n // and an element with no width is still a part. Clipping takes it out of\n // flow, so a field with a limit and no hint has the line it had before.\n const described = hint === undefined ? hidden : <Text slot=\"description\" {...stylex.props(fieldChromeStyles.message)}>\n {hint}\n {limit === undefined ? null :\n // The space is load-bearing: a description is read as the text\n // content of one element, and two spans run together without it.\n <VisuallyHidden elementType=\"span\">{` ${limit}`}</VisuallyHidden>}\n </Text>;\n return <div {...stylex.props(fieldChromeStyles.message, fieldChromeStyles.messageLine, inset && fieldChromeStyles.messageInset)}>\n {validation === null && error !== undefined ?\n // Outside a field that validates there is nothing to hand React\n // Aria's `FieldError`, and it draws nothing without it — a group of\n // chips is a group rather than a form control, so the error it was\n // given is written out instead.\n <span {...stylex.props(fieldChromeStyles.message, fieldChromeStyles.messageError)}>\n {error}\n </span> : <FieldError {...stylex.props(fieldChromeStyles.message, fieldChromeStyles.messageError)}>\n {error}\n </FieldError>}\n {described}\n {characterCount ?\n // Hidden from the tree, and the limit above is why. A count is the\n // one piece of supporting text that changes on every keystroke, and\n // a screen reader reading it back at that rate is worse than not\n // hearing it — the limit said once on focus is what a reader needs,\n // and this is the same fact drawn for whoever is looking.\n <span aria-hidden=\"true\" {...stylex.props(fieldChromeStyles.message, fieldChromeStyles.counter, invalid && fieldChromeStyles.messageError)}>\n {maxLength === undefined ? length : `${length}/${maxLength}`}\n </span> : null}\n </div>;\n}\nexport type { FieldBoxProps, FieldInputProps, FieldLabelProps, FieldLabelState, FieldLabelVariant, FieldMessageProps, FieldTextAreaProps, FieldVariant };\nexport { FieldBox, FieldInput, FieldLabel, FieldMessage, FieldTextArea, FieldTrigger, FieldValue };"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["HTMLAttributes","ReactNode","Ref","ButtonProps","GroupProps","GroupRenderProps","InputProps","InputRenderProps","LabelProps","TextAreaProps","stylex","createContext","useContext","FieldError","FieldErrorContext","Group","Input","InputContext","Label","Button","RACButton","SelectStateContext","Text","TextArea","TextAreaContext","TextContext","useSlottedContext","VisuallyHidden","mergeStatefulStyles","mergeStyles","useInsideForm","fieldChromeStyles","groupStyles","BoxControl","label","BoxLabel","underLabel","FieldBoxProps","children","floatingLabel","isPopulated","leading","multiline","ref","HTMLDivElement","trailing","trigger","variant","FieldVariant","Omit","FieldInputProps","numeric","prefix","suffix","FieldLabelProps","state","Partial","FieldLabelState","FieldLabelVariant","Pick","FieldMessageProps","characterCount","characterLimitLabel","description","error","inset","maxLength","FieldTextAreaProps","autosize","FieldTriggerProps","FieldValueProps","HTMLElement","isFocused","isPlaceholder","OUTSIDE_BOX","BOX_CONTROLS","filled","fixed","floating","outlined","Record","BoxContext","boxContent","BoxContent","t0","$","_c","read","useFieldPopulated","populated","floated","isFocusWithin","t1","t2","props","outline","undefined","outlineLeading","outlineFocused","outlineNotch","outlineNotchOpen","t3","isDisabled","icon","iconDisabled","t4","column","columnFloating","columnDisabledFloating","columnDisabled","t5","boxLabel","boxLabelFloated","boxLabelOutlined","boxLabelOutlinedFloated","t6","t7","t8","isInvalid","iconError","t9","boxStyles","box","boxFloating","boxFixed","boxMultiline","boxLeading","boxTrailing","boxOutlined","boxOutlinedFloating","boxOutlinedError","boxError","boxOutlinedDisabled","boxDisabled","FieldBox","T0","t10","t11","FieldInput","placeholder","input","inputUnderLabel","inputUnderFloatingLabel","inputDisabled","control","Symbol","for","affixLine","affix","FieldTextArea","context","value","textArea","textAreaAutosize","autosizeCell","replica","FieldTrigger","FieldValue","hidden","valuePlaceholder","valuePlaceholderHidden","select","selectionManager","selectedKeys","size","String","length","NO_STATE","FieldLabel","labelDisabled","labelError","labelFocused","FieldMessage","validation","invalid","insideForm","text","limit","hint","message","described","errorSlot","slots","errorMessage","messageError","messageStyles","written","messageLine","messageInset","counter"],"sources":["../../src/field/index.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode, Ref } from 'react';\nimport type { ButtonProps, GroupProps, GroupRenderProps, InputProps, InputRenderProps, LabelProps, TextAreaProps } from 'react-aria-components';\nimport * as stylex from '@stylexjs/stylex';\nimport { createContext, useContext } from 'react';\nimport { FieldError, FieldErrorContext, Group, Input, InputContext, Label, Button as RACButton, SelectStateContext, Text, TextArea, TextAreaContext, TextContext, useSlottedContext, VisuallyHidden } from 'react-aria-components';\nimport { mergeStatefulStyles, mergeStyles } from '../styles/merge';\nimport { useInsideForm } from './root';\nimport { fieldChromeStyles, groupStyles } from './styles';\n\n// The chrome every field shares: the filled box with its label at the top, the\n// control inside it, and the line of supporting text under it. TextField drew\n// all of it on its own until the coverage plan brought a dozen more fields,\n// each of which would otherwise have written the same box a second time.\n//\n// Not a component of the library's own and not exported. Each field is still\n// React Aria's field component — TextField, NumberField, DateField — and these\n// are the parts it renders inside, which is what keeps the label association,\n// the description and error wiring, and validation on React Aria's side.\n//\n// Neither the notch nor the label can select on the state that drives them.\n// Both are children of the box and the state is the box's, and the filled\n// label reads it in CSS only because it changes type alone, which the box\n// hands down inherited — where the notch changes what it holds and the\n// label changes where it sits, and neither of those inherits. So the box's\n// content computes that state in React instead: focus from the box's own\n// render state, and a value from the control's context, which is where the\n// character counter reads it too. The border's colour is the box's,\n// inherited, which is what carries the hover, focus, error and disabled\n// roles to it.\n\n// What a control needs to know about the box around it: how the label is\n// drawn, and whether the control clears it with a margin — it does under\n// the filled box's label, and not under the outlined box's, whose label\n// sits on the outline rather than over the value.\ninterface BoxControl {\n label: BoxLabel;\n underLabel: boolean;\n}\n\n// How the box draws its label, for the control inside it — see the context\n// below.\ntype BoxLabel = 'fixed' | 'floating' | 'none';\ntype FieldBoxProps = {\n children?: ReactNode;\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 * Whether the control is holding anything, for a field whose control the\n * chrome cannot ask. It reads an input, a text area and a select's own\n * state; a control that is none of those — a token field's editable area,\n * say — says so here, and the floating label floats on it.\n */\n isPopulated?: boolean;\n /** What the field is for. */\n label: string;\n /** An icon at the start of the box, before the label and the control. */\n leading?: ReactNode;\n /**\n * Whether the box takes its height from the control inside it rather\n * than the page's 56dp, for a text area.\n * @default false\n */\n multiline?: boolean;\n /**\n * The box's own element. A field whose box is what something else is\n * anchored to needs it — a select's list is positioned against the box and\n * takes its width from it, which is what makes the two the same width.\n */\n ref?: Ref<HTMLDivElement>;\n /** An icon at the end of the box, after the control. */\n trailing?: ReactNode;\n /**\n * A press target covering the whole box, for a field whose box opens\n * something rather than taking a keystroke — {@link FieldTrigger}. Drawn\n * in the box itself rather than in the column the label and the control\n * share, so the padding and the icons open it too.\n */\n trigger?: 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.\n * @default 'filled'\n */\n variant?: FieldVariant;\n} & Omit<GroupProps, 'children'>;\n\n// `prefix` is also an HTML attribute — the RDFa one, which nothing here\n// wants — and React's element types carry it as a string, so it is left out\n// of the props taken from React Aria to make room for the affix.\ntype FieldInputProps = Omit<InputProps, 'prefix'> & {\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, shown while the field is focused or\n * holds a value.\n */\n prefix?: ReactNode;\n /**\n * Text after the value on its line, shown while the field is focused or\n * holds a value.\n */\n suffix?: ReactNode;\n};\ntype FieldLabelProps = LabelProps & {\n /**\n * The states the colour follows. Disabled wins over error, and error over\n * focus, so a focused invalid field keeps its error colour.\n */\n state?: Partial<FieldLabelState>;\n /**\n * Where the label sits. `field` is inside a box, positioned and typed by\n * whatever renders it. `group` is above a group of controls, which has no\n * box to float a label in, so this one carries its type itself.\n * @default 'field'\n */\n variant?: FieldLabelVariant;\n};\ntype FieldLabelState = Pick<GroupRenderProps, 'isDisabled' | 'isFocusWithin' | 'isInvalid'>;\ntype FieldLabelVariant = 'field' | 'group';\ninterface FieldMessageProps {\n /**\n * Whether to count the characters the control holds at the end of the\n * line, against `maxLength` where there is one. The count is read off the\n * field's own input or text area context.\n * @default false\n */\n characterCount?: boolean;\n /**\n * How the limit is said to a screen reader, where there is a `maxLength`.\n * It is read with the field on focus rather than as the value changes, so\n * it names the limit and not what is left of it.\n * @default `Up to ${maxLength} characters`\n */\n characterLimitLabel?: string | undefined;\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 | undefined;\n /** The problem with the current value, in words. */\n error?: string | undefined;\n /**\n * Whether the line is indented to a box's inline padding, so it starts\n * where a value above it does. Off for a field with no box to line up with.\n * @default true\n */\n inset?: boolean;\n /** The limit the count is shown against. */\n maxLength?: number | undefined;\n}\ntype FieldTextAreaProps = TextAreaProps & {\n /**\n * Whether the control grows with the text it holds, from the rows it asks\n * for. Off, it keeps its rows and scrolls.\n * @default false\n */\n autosize?: boolean;\n};\ntype FieldTriggerProps = ButtonProps;\ntype FieldValueProps = HTMLAttributes<HTMLElement> & {\n /**\n * Whether the field has focus. A hidden placeholder appears while it does,\n * the way an input's does.\n * @default false\n */\n isFocused?: boolean;\n /**\n * Whether nothing has been chosen yet, so what is drawn is the placeholder\n * rather than a value.\n * @default false\n */\n isPlaceholder?: boolean;\n};\ntype FieldVariant = 'filled' | 'outlined';\n\n// A control under a floating label carries a placeholder so the box can\n// tell when it is populated, shown only while focused. The default is what\n// a control rendered outside any box gets — a search bar's, which has no\n// label over it and shows its placeholder in every state. The four a box\n// provides are hoisted so each is one stable object.\nconst OUTSIDE_BOX: BoxControl = {\n label: 'none',\n underLabel: false\n};\nconst BOX_CONTROLS = {\n filled: {\n fixed: {\n label: 'fixed',\n underLabel: true\n },\n floating: {\n label: 'floating',\n underLabel: true\n }\n },\n outlined: {\n fixed: {\n label: 'fixed',\n underLabel: false\n },\n floating: {\n label: 'floating',\n underLabel: false\n }\n }\n} satisfies Record<FieldVariant, Record<'fixed' | 'floating', BoxControl>>;\nconst BoxContext = createContext<BoxControl>(OUTSIDE_BOX);\n\n// Written as calls rather than function literals at the prop, which is what\n// react-perf's no-new-function-as-prop is after; the React Compiler memoises\n// each result on its inputs.\nfunction boxContent(label: string, children: ReactNode, floatingLabel: boolean, isPopulated: boolean | undefined, leading: ReactNode, trailing: ReactNode, trigger: ReactNode, variant: FieldVariant) {\n return (state: GroupRenderProps) => <BoxContent floatingLabel={floatingLabel} isPopulated={isPopulated} label={label} leading={leading} state={state} trailing={trailing} trigger={trigger} variant={variant}>\n {children}\n </BoxContent>;\n}\n\n/**\n * What a box holds: its icons, its label and the control between them, plus\n * the outline when it has one. A component rather than the render function\n * itself, so it can read whether the control holds a value — which is what\n * the outlined box's notch and label follow, and what CSS cannot express\n * for them. See the outlined variant's note above.\n */\nfunction BoxContent({\n children,\n floatingLabel,\n isPopulated,\n label,\n leading,\n state,\n trailing,\n trigger,\n variant\n}: {\n children: ReactNode;\n floatingLabel: boolean;\n isPopulated: boolean | undefined;\n label: string;\n leading: ReactNode;\n state: GroupRenderProps;\n trailing: ReactNode;\n trigger: ReactNode;\n variant: FieldVariant;\n}) {\n const read = useFieldPopulated();\n const populated = isPopulated ?? read;\n const outlined = variant === 'outlined';\n const floated = !floatingLabel || state.isFocusWithin || populated;\n return <BoxContext value={BOX_CONTROLS[variant][floatingLabel ? 'floating' : 'fixed']}>\n {outlined ? <fieldset aria-hidden=\"true\" {...stylex.props(fieldChromeStyles.outline, leading !== undefined && fieldChromeStyles.outlineLeading, state.isFocusWithin && fieldChromeStyles.outlineFocused)}>\n <legend {...stylex.props(fieldChromeStyles.outlineNotch, floated && fieldChromeStyles.outlineNotchOpen)}>\n {floated ? label : null}\n </legend>\n </fieldset> : null}\n {trigger}\n {leading === undefined ? null : <span {...stylex.props(fieldChromeStyles.icon, state.isDisabled && fieldChromeStyles.iconDisabled)}>\n {leading}\n </span>}\n <div {...stylex.props(fieldChromeStyles.column, floatingLabel && fieldChromeStyles.columnFloating, state.isDisabled && (floatingLabel ? fieldChromeStyles.columnDisabledFloating : fieldChromeStyles.columnDisabled))}>\n <FieldLabel state={state} {...stylex.props(fieldChromeStyles.boxLabel, floatingLabel && floated && fieldChromeStyles.boxLabelFloated, outlined && fieldChromeStyles.boxLabelOutlined, outlined && floated && fieldChromeStyles.boxLabelOutlinedFloated)}>\n {label}\n </FieldLabel>\n {children}\n </div>\n {trailing === undefined ? null : <span {...stylex.props(fieldChromeStyles.icon, state.isInvalid && fieldChromeStyles.iconError, state.isDisabled && fieldChromeStyles.iconDisabled)}>\n {trailing}\n </span>}\n </BoxContext>;\n}\nfunction boxStyles(floatingLabel: boolean, multiline: boolean, leading: boolean, trailing: boolean, variant: FieldVariant) {\n const outlined = variant === 'outlined';\n return (state: GroupRenderProps) => stylex.props(fieldChromeStyles.box, floatingLabel ? fieldChromeStyles.boxFloating : fieldChromeStyles.boxFixed, multiline && fieldChromeStyles.boxMultiline, leading && fieldChromeStyles.boxLeading, trailing && fieldChromeStyles.boxTrailing, outlined && fieldChromeStyles.boxOutlined, outlined && floatingLabel && fieldChromeStyles.boxOutlinedFloating, state.isInvalid && (outlined ? fieldChromeStyles.boxOutlinedError : fieldChromeStyles.boxError), state.isDisabled && (outlined ? fieldChromeStyles.boxOutlinedDisabled : fieldChromeStyles.boxDisabled));\n}\n\n/**\n * The box a control sits in, filled or outlined, with its label. React\n * Aria's `Group`, so\n * the field around it hands down `isDisabled` and `isInvalid` through context\n * and the box reports focus within it as render state, which is what the\n * label's colour follows. A field that provides no group context — one built\n * on a button rather than an input — passes the two states itself.\n */\nfunction FieldBox({\n children,\n floatingLabel = true,\n isPopulated,\n label,\n leading,\n multiline = false,\n trailing,\n trigger,\n variant = 'filled',\n ...props\n}: FieldBoxProps) {\n return <Group {...props} {...mergeStatefulStyles(boxStyles(floatingLabel, multiline, leading !== undefined, trailing !== undefined, variant), props)}>\n {boxContent(label, children, floatingLabel, isPopulated, leading, trailing, trigger, variant)}\n </Group>;\n}\n\n/**\n * A field's text control, in a {@link FieldBox} or on its own. React Aria's\n * `Input`, which takes its label association, value and validation from the\n * field around it and reports its disabled state as render state.\n *\n * In a box it clears the label at the top, and under a floating label it\n * always carries a placeholder, since that is what the box reads to tell a\n * populated control from an empty one: its own where it was given one, a\n * blank otherwise. Outside a box it has no label over it and shows the\n * placeholder it was given in every state.\n */\nfunction FieldInput({\n numeric = false,\n placeholder,\n prefix,\n suffix,\n ...props\n}: FieldInputProps) {\n const box = useContext(BoxContext);\n const control = <Input placeholder={placeholder ?? (box.label === 'floating' ? ' ' : undefined)} {...props} {...mergeStatefulStyles((state: InputRenderProps) => stylex.props(fieldChromeStyles.input, box.underLabel && fieldChromeStyles.inputUnderLabel, box.label === 'floating' && fieldChromeStyles.inputUnderFloatingLabel, numeric && fieldChromeStyles.numeric, state.isDisabled && fieldChromeStyles.inputDisabled), props)} />;\n if (prefix === undefined && suffix === undefined) {\n return control;\n }\n return <span {...stylex.props(fieldChromeStyles.affixLine)}>\n {prefix === undefined ? null : <span {...stylex.props(fieldChromeStyles.affix, box.underLabel && fieldChromeStyles.inputUnderLabel)}>\n {prefix}\n </span>}\n {control}\n {suffix === undefined ? null : <span {...stylex.props(fieldChromeStyles.affix, box.underLabel && fieldChromeStyles.inputUnderLabel)}>\n {suffix}\n </span>}\n </span>;\n}\n\n/**\n * A field's multi-line text control, in a {@link FieldBox} drawn `multiline`.\n * React Aria's `TextArea`, with the same label association, value and\n * validation {@link FieldInput} takes from the field around it, and the same\n * placeholder under a floating label.\n *\n * Given `autosize` it grows with its text from the rows it asks for. The\n * value it grows to fit is read off the field's context rather than\n * measured: the box holds a hidden replica of it in the control's own type,\n * in the same grid cell as the control, and the cell is as tall as whichever\n * of the two is taller.\n */\nfunction FieldTextArea({\n autosize = false,\n placeholder,\n ...props\n}: FieldTextAreaProps) {\n const box = useContext(BoxContext);\n const context = useSlottedContext(TextAreaContext);\n const value = typeof context?.value === 'string' ? context.value : '';\n const control = <TextArea placeholder={placeholder ?? (box.label === 'floating' ? ' ' : undefined)} {...props} {...mergeStatefulStyles((state: InputRenderProps) => stylex.props(fieldChromeStyles.input, box.underLabel && fieldChromeStyles.inputUnderLabel, box.label === 'floating' && fieldChromeStyles.inputUnderFloatingLabel, fieldChromeStyles.textArea, autosize && fieldChromeStyles.textAreaAutosize, autosize && fieldChromeStyles.autosizeCell, state.isDisabled && fieldChromeStyles.inputDisabled), props)} />;\n if (!autosize) {\n return control;\n }\n\n // A trailing space keeps a final line break of the value as a line of the\n // replica, which is how the control renders it.\n return <div {...stylex.props(fieldChromeStyles.autosize)}>\n {control}\n <div aria-hidden=\"true\" {...stylex.props(fieldChromeStyles.input, box.underLabel && fieldChromeStyles.inputUnderLabel, fieldChromeStyles.replica, fieldChromeStyles.autosizeCell)}>\n {value}{' '}\n </div>\n </div>;\n}\n\n/**\n * The press target over a {@link FieldBox} whose whole surface opens\n * something — a select's list, a picker's calendar. React Aria's `Button`,\n * which takes the trigger's props from the field around it through context.\n *\n * It covers the box rather than sitting on its value's line, so the box's\n * own padding opens the field too. It draws nothing: the box already carries\n * the fill, the underline and the focus indicator, and it lights up while\n * this has focus because the indicator follows focus within.\n */\nfunction FieldTrigger(props: FieldTriggerProps) {\n return <RACButton {...props} {...mergeStatefulStyles(stylex.props(fieldChromeStyles.trigger), props)} />;\n}\n\n/**\n * A field's value where it was chosen rather than typed, in a\n * {@link FieldBox}. Put React Aria's own element inside it — a select's\n * `SelectValue`, a picker's display — and this is what carries the input's\n * type and its place on the line, clearing the label at the top and\n * truncating rather than wrapping.\n *\n * The wrapper is the styled one rather than React Aria's element, because\n * this is the box's flex item: styling the element inside instead left it\n * sizing itself against a parent that had already shrink-wrapped to it.\n *\n * `isPlaceholder` says nothing has been chosen, which takes the muted role;\n * under a floating label it is hidden until the field is focused, exactly as\n * an input's placeholder is.\n */\nfunction FieldValue({\n isFocused = false,\n isPlaceholder = false,\n ...props\n}: FieldValueProps) {\n const box = useContext(BoxContext);\n const hidden = isPlaceholder && box.label === 'floating' && !isFocused;\n return <span {...props} {...mergeStyles(stylex.props(fieldChromeStyles.input, fieldChromeStyles.value, box.underLabel && fieldChromeStyles.inputUnderLabel, isPlaceholder && fieldChromeStyles.valuePlaceholder, hidden && fieldChromeStyles.valuePlaceholderHidden), props)} />;\n}\nfunction useFieldPopulated() {\n const input = useSlottedContext(InputContext);\n const textArea = useSlottedContext(TextAreaContext);\n // A field whose value is chosen rather than typed holds no input at all,\n // so being populated is a question for its own state — without this a\n // select's floating label never floats, however much is chosen.\n const select = useContext(SelectStateContext);\n if (select !== null) {\n return select.selectionManager.selectedKeys.size > 0;\n }\n const value = input?.value ?? textArea?.value ?? '';\n return String(value).length > 0;\n}\n\n/**\n * Whether the control in this box is holding anything, read off React\n * Aria's context for whichever control the field renders. The filled box\n * reads the same thing in CSS through `:placeholder-shown`; this is for\n * what CSS cannot express — see the outlined variant's note above.\n */\n/**\n * A field's label: the colour alone, positioned and given its type by whatever\n * renders it. React Aria's `Label`, which the field around it associates with\n * its control through context.\n */\n// Hoisted rather than written as the parameter's default, which would be a\n// new object on every render.\nconst NO_STATE: Partial<FieldLabelState> = {};\nfunction FieldLabel({\n state = NO_STATE,\n variant = 'field',\n ...props\n}: FieldLabelProps) {\n const {\n isDisabled = false,\n isFocusWithin = false,\n isInvalid = false\n } = state;\n return <Label {...props} {...mergeStyles(stylex.props(fieldChromeStyles.label, variant === 'group' && groupStyles.label, isDisabled && fieldChromeStyles.labelDisabled, isInvalid && fieldChromeStyles.labelError, !isDisabled && !isInvalid && isFocusWithin && fieldChromeStyles.labelFocused), props)} />;\n}\n\n/**\n * The line under a field: the error while there is one, the description\n * otherwise. The error goes through React Aria's `FieldError`, which renders\n * only while the field is invalid and falls back to whatever validation\n * errors the field carries when no message is given — which is how a `Form`\n * with server-side errors, or the browser's own, reaches it without any\n * field changing. The description steps aside for those too, which is what\n * the field's validation state is read for.\n */\nfunction FieldMessage({\n characterCount = false,\n characterLimitLabel,\n description,\n error,\n inset = true,\n maxLength\n}: FieldMessageProps) {\n const validation = useContext(FieldErrorContext);\n const invalid = error !== undefined || (validation?.isInvalid ?? false);\n const input = useSlottedContext(InputContext);\n const textArea = useSlottedContext(TextAreaContext);\n const insideForm = useInsideForm();\n // Read directly rather than through `useSlottedContext`, which throws for\n // a missing slot exactly as `Text` does — the throw is the thing being\n // avoided. What it is for is below, at `written`.\n const text = useContext(TextContext);\n\n // The limit, in words, for the description React Aria reads out with the\n // field. `maxLength` alone reaches the control as the native attribute,\n // which is not reliably announced, and the count beside the message is\n // hidden — so without this a reader is never told there is a limit.\n const limit = maxLength === undefined ? undefined : characterLimitLabel ?? `Up to ${maxLength} character${maxLength === 1 ? '' : 's'}`;\n const hidden = limit === undefined ? null : <VisuallyHidden elementType=\"span\">\n <Text slot=\"description\">{limit}</Text>\n </VisuallyHidden>;\n\n // Nothing to say, and nowhere a message could arrive from: the field ends\n // at its control. Inside a form the line is drawn anyway, empty, since a\n // form is where a message appears after the fact — a server's answer, or\n // the browser's own on submit — and every field below this one would\n // otherwise move by the line's height when it does.\n //\n // A limit to announce leaves on its own rather than bringing the line with\n // it. The line is one line of type plus the 4dp above it, so drawing it\n // for something nobody can see would make a field with a limit taller than\n // the same field without one.\n if (!invalid && description === undefined && !characterCount && !insideForm) {\n return hidden;\n }\n const value = input?.value ?? textArea?.value ?? '';\n const length = String(value).length;\n const hint = invalid ? undefined : description;\n\n // One slotted description, never two. React Aria hands every element in\n // its description slot the same generated id, so a second one puts a\n // duplicate id in the document and axe fails the story. The limit rides\n // inside the hint where there is one, and carries the whole slot where\n // there is not — hidden either way, since the count already draws it.\n //\n // Hidden by clipping rather than by leaving it out of the row, and the\n // difference is a gap: the row is a flex line with 16dp between its parts,\n // and an element with no width is still a part. Clipping takes it out of\n // flow, so a field with a limit and no hint has the line it had before.\n const described = hint === undefined ? hidden : <Text slot=\"description\" {...stylex.props(fieldChromeStyles.message)}>\n {hint}\n {limit === undefined ? null :\n // The space is load-bearing: a description is read as the text\n // content of one element, and two spans run together without it.\n <VisuallyHidden elementType=\"span\">{` ${limit}`}</VisuallyHidden>}\n </Text>;\n\n // Outside a field that validates there is nothing to hand React Aria's\n // `FieldError`, and it draws nothing without it — a group of chips is a\n // group rather than a form control, so the error it was given is written\n // out instead.\n //\n // Through the group's error slot where there is one, which is what makes\n // the message reach a screen reader at all: React Aria generates the id\n // its `aria-describedby` points at up front, then keeps it only while\n // something in the document carries it, so an element outside the slot is\n // drawn and never announced. The description beside it has always gone\n // through its own slot, which is why that half worked.\n //\n // Not every group has one. `TagGroup` wires up a description and an error;\n // `TokenField` wires up a description alone and generates no error id at\n // all, so its message has nothing to attach to and stays a bare element.\n const errorSlot = text !== null && typeof text === 'object' && 'slots' in text && text.slots?.errorMessage !== undefined;\n const messageStyles = stylex.props(fieldChromeStyles.message, fieldChromeStyles.messageError);\n const written = errorSlot ? <Text slot=\"errorMessage\" {...messageStyles}>\n {error}\n </Text> : <span {...messageStyles}>{error}</span>;\n return <div {...stylex.props(fieldChromeStyles.message, fieldChromeStyles.messageLine, inset && fieldChromeStyles.messageInset)}>\n {validation === null && error !== undefined ? written : <FieldError {...stylex.props(fieldChromeStyles.message, fieldChromeStyles.messageError)}>\n {error}\n </FieldError>}\n {described}\n {characterCount ?\n // Hidden from the tree, and the limit above is why. A count is the\n // one piece of supporting text that changes on every keystroke, and\n // a screen reader reading it back at that rate is worse than not\n // hearing it — the limit said once on focus is what a reader needs,\n // and this is the same fact drawn for whoever is looking.\n <span aria-hidden=\"true\" {...stylex.props(fieldChromeStyles.message, fieldChromeStyles.counter, invalid && fieldChromeStyles.messageError)}>\n {maxLength === undefined ? length : `${length}/${maxLength}`}\n </span> : null}\n </div>;\n}\nexport type { FieldBoxProps, FieldInputProps, FieldLabelProps, FieldLabelState, FieldLabelVariant, FieldMessageProps, FieldTextAreaProps, FieldVariant };\nexport { FieldBox, FieldInput, FieldLabel, FieldMessage, FieldTextArea, FieldTrigger, FieldValue };"],"mappings":"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"}
package/dist/row/index.js CHANGED
@@ -15,108 +15,110 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
15
15
  * the same arrangement around a field.
16
16
  */
17
17
  function RowContent(t0) {
18
- const $ = c(28);
19
- const { children, isDisabled: t1, isSelected: t2, leading, overline, supporting, trailing, variant: t3 } = t0;
18
+ const $ = c(29);
19
+ const { children, isDisabled: t1, isEmphasized: t2, isSelected: t3, leading, overline, supporting, trailing, variant: t4 } = t0;
20
20
  const isDisabled = t1 === void 0 ? false : t1;
21
- const isSelected = t2 === void 0 ? false : t2;
22
- const variant = t3 === void 0 ? "list" : t3;
21
+ const isEmphasized = t2 === void 0 ? false : t2;
22
+ const isSelected = t3 === void 0 ? false : t3;
23
+ const variant = t4 === void 0 ? "list" : t4;
23
24
  const label = variant === "drawer" || variant === "menu";
24
- let t4;
25
+ let t5;
25
26
  if ($[0] !== isDisabled || $[1] !== isSelected || $[2] !== variant) {
26
- t4 = isDisabled ? rowStyles.supportingInherit : isSelected && selectedSupportingTone(variant);
27
+ t5 = isDisabled ? rowStyles.supportingInherit : isSelected && selectedSupportingTone(variant);
27
28
  $[0] = isDisabled;
28
29
  $[1] = isSelected;
29
30
  $[2] = variant;
30
- $[3] = t4;
31
- } else t4 = $[3];
32
- const supportingTone = t4;
33
- let t5;
31
+ $[3] = t5;
32
+ } else t5 = $[3];
33
+ const supportingTone = t5;
34
+ let t6;
34
35
  if ($[4] !== leading) {
35
- t5 = leading === void 0 ? null : /* @__PURE__ */ jsx("span", {
36
+ t6 = leading === void 0 ? null : /* @__PURE__ */ jsx("span", {
36
37
  ...props(rowStyles.slot),
37
38
  children: leading
38
39
  });
39
40
  $[4] = leading;
40
- $[5] = t5;
41
- } else t5 = $[5];
42
- let t6;
43
- if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
44
- t6 = props(rowStyles.main);
45
- $[6] = t6;
46
- } else t6 = $[6];
41
+ $[5] = t6;
42
+ } else t6 = $[5];
47
43
  let t7;
44
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
45
+ t7 = props(rowStyles.main);
46
+ $[6] = t7;
47
+ } else t7 = $[6];
48
+ let t8;
48
49
  if ($[7] !== overline || $[8] !== supportingTone) {
49
- t7 = overline === void 0 ? null : /* @__PURE__ */ jsx("span", {
50
+ t8 = overline === void 0 ? null : /* @__PURE__ */ jsx("span", {
50
51
  ...props(rowStyles.overline, supportingTone),
51
52
  children: overline
52
53
  });
53
54
  $[7] = overline;
54
55
  $[8] = supportingTone;
55
- $[9] = t7;
56
- } else t7 = $[9];
57
- let t8;
58
- if ($[10] !== label) {
59
- t8 = props(label ? rowStyles.headlineMenu : rowStyles.headlineList);
60
- $[10] = label;
61
- $[11] = t8;
62
- } else t8 = $[11];
56
+ $[9] = t8;
57
+ } else t8 = $[9];
63
58
  let t9;
64
- if ($[12] !== children || $[13] !== t8) {
65
- t9 = /* @__PURE__ */ jsx("span", {
66
- ...t8,
59
+ if ($[10] !== isEmphasized || $[11] !== label) {
60
+ t9 = props(label ? rowStyles.headlineMenu : rowStyles.headlineList, isEmphasized && rowStyles.headlineEmphasis);
61
+ $[10] = isEmphasized;
62
+ $[11] = label;
63
+ $[12] = t9;
64
+ } else t9 = $[12];
65
+ let t10;
66
+ if ($[13] !== children || $[14] !== t9) {
67
+ t10 = /* @__PURE__ */ jsx("span", {
68
+ ...t9,
67
69
  children
68
70
  });
69
- $[12] = children;
70
- $[13] = t8;
71
+ $[13] = children;
71
72
  $[14] = t9;
72
- } else t9 = $[14];
73
- let t10;
74
- if ($[15] !== supporting || $[16] !== supportingTone) {
75
- t10 = supporting === void 0 ? null : /* @__PURE__ */ jsx("span", {
73
+ $[15] = t10;
74
+ } else t10 = $[15];
75
+ let t11;
76
+ if ($[16] !== supporting || $[17] !== supportingTone) {
77
+ t11 = supporting === void 0 ? null : /* @__PURE__ */ jsx("span", {
76
78
  ...props(rowStyles.supporting, supportingTone),
77
79
  children: supporting
78
80
  });
79
- $[15] = supporting;
80
- $[16] = supportingTone;
81
- $[17] = t10;
82
- } else t10 = $[17];
83
- let t11;
84
- if ($[18] !== t10 || $[19] !== t7 || $[20] !== t9) {
85
- t11 = /* @__PURE__ */ jsxs("span", {
86
- ...t6,
81
+ $[16] = supporting;
82
+ $[17] = supportingTone;
83
+ $[18] = t11;
84
+ } else t11 = $[18];
85
+ let t12;
86
+ if ($[19] !== t10 || $[20] !== t11 || $[21] !== t8) {
87
+ t12 = /* @__PURE__ */ jsxs("span", {
88
+ ...t7,
87
89
  children: [
88
- t7,
89
- t9,
90
- t10
90
+ t8,
91
+ t10,
92
+ t11
91
93
  ]
92
94
  });
93
- $[18] = t10;
94
- $[19] = t7;
95
- $[20] = t9;
96
- $[21] = t11;
97
- } else t11 = $[21];
98
- let t12;
99
- if ($[22] !== trailing) {
100
- t12 = trailing === void 0 ? null : /* @__PURE__ */ jsx("span", {
95
+ $[19] = t10;
96
+ $[20] = t11;
97
+ $[21] = t8;
98
+ $[22] = t12;
99
+ } else t12 = $[22];
100
+ let t13;
101
+ if ($[23] !== trailing) {
102
+ t13 = trailing === void 0 ? null : /* @__PURE__ */ jsx("span", {
101
103
  ...props(rowStyles.slot),
102
104
  children: trailing
103
105
  });
104
- $[22] = trailing;
105
- $[23] = t12;
106
- } else t12 = $[23];
107
- let t13;
108
- if ($[24] !== t11 || $[25] !== t12 || $[26] !== t5) {
109
- t13 = /* @__PURE__ */ jsxs(Fragment, { children: [
110
- t5,
111
- t11,
112
- t12
106
+ $[23] = trailing;
107
+ $[24] = t13;
108
+ } else t13 = $[24];
109
+ let t14;
110
+ if ($[25] !== t12 || $[26] !== t13 || $[27] !== t6) {
111
+ t14 = /* @__PURE__ */ jsxs(Fragment, { children: [
112
+ t6,
113
+ t12,
114
+ t13
113
115
  ] });
114
- $[24] = t11;
115
116
  $[25] = t12;
116
- $[26] = t5;
117
- $[27] = t13;
118
- } else t13 = $[27];
119
- return t13;
117
+ $[26] = t13;
118
+ $[27] = t6;
119
+ $[28] = t14;
120
+ } else t14 = $[28];
121
+ return t14;
120
122
  }
121
123
  function selectedSupportingTone(variant) {
122
124
  if (variant === "drawer") return rowStyles.supportingSelectedDrawer;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ReactNode","stylex","rowStyles","RowContentProps","children","isDisabled","isSelected","leading","overline","supporting","trailing","variant","RowVariant","RowContent","t0","$","_c","t1","t2","t3","undefined","label","t4","supportingInherit","selectedSupportingTone","supportingTone","t5","props","slot","t6","Symbol","for","main","t7","t8","headlineMenu","headlineList","t9","t10","t11","t12","t13","supportingSelectedDrawer","supportingSelectedMenu","supportingSelectedList"],"sources":["../../src/row/index.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport * as stylex from '@stylexjs/stylex';\nimport { rowStyles } from './styles';\ninterface RowContentProps {\n /** The row's headline — the one thing it is mostly about. */\n children?: ReactNode;\n /**\n * Whether the row is disabled. The supporting line takes the row's own\n * faded colour when it is, rather than staying at full strength in the\n * muted role.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the row is selected. The supporting line takes the selected\n * container's own content role when it is, rather than staying in the\n * muted role it draws on the surface.\n * @default false\n */\n isSelected?: boolean;\n /** Content before the headline: an avatar, an icon, a checkbox. */\n leading?: ReactNode;\n /**\n * A line above the headline, in the page's label-small and the same muted\n * role the supporting line takes.\n */\n overline?: ReactNode;\n /** A second line under the headline, in the muted role. */\n supporting?: ReactNode;\n /** Content after the headline, such as an amount or a control. */\n trailing?: ReactNode;\n /**\n * Which spec page's row this is. A list item's headline is body-large; a\n * menu item's label and a navigation drawer row's are label-large. The\n * element around the content applies the matching `rowStyles.list`,\n * `rowStyles.menu` or `rowStyles.drawer` beside `rowStyles.base`.\n * @default 'list'\n */\n variant?: RowVariant;\n}\ntype RowVariant = 'drawer' | 'list' | 'menu';\n\n/**\n * The inside of a row: the leading slot, the headline with its supporting\n * line, and the trailing slot, each rendered only when given. The element\n * around it is the caller's — ListItem's div or button, a collection's item —\n * and takes `rowStyles.base`, the variant's own style, and whichever states\n * apply; this is what every one of them puts inside it, so a list, a menu, a\n * tree and a drawer draw the same row.\n *\n * Not a component of the library's own and not exported; see `src/field` for\n * the same arrangement around a field.\n */\nfunction RowContent({\n children,\n isDisabled = false,\n isSelected = false,\n leading,\n overline,\n supporting,\n trailing,\n variant = 'list'\n}: RowContentProps) {\n // The drawer's label is the menu's, so the two share the headline style;\n // what they do not share is the container a selected row brings, which is\n // why the tone below still asks which variant this is.\n const label = variant === 'drawer' || variant === 'menu';\n // Disabled first: a disabled row's own colour is already the faded one, so\n // it wins over the selected container's content role.\n const supportingTone = isDisabled ? rowStyles.supportingInherit : isSelected && selectedSupportingTone(variant);\n return <>\n {leading === undefined ? null : <span {...stylex.props(rowStyles.slot)}>{leading}</span>}\n <span {...stylex.props(rowStyles.main)}>\n {overline === undefined ? null : <span {...stylex.props(rowStyles.overline, supportingTone)}>\n {overline}\n </span>}\n <span {...stylex.props(label ? rowStyles.headlineMenu : rowStyles.headlineList)}>\n {children}\n </span>\n {supporting === undefined ? null : <span {...stylex.props(rowStyles.supporting, supportingTone)}>\n {supporting}\n </span>}\n </span>\n {trailing === undefined ? null : <span {...stylex.props(rowStyles.slot)}>{trailing}</span>}\n </>;\n}\n\n// Which on-colour a supporting line takes over a selected row's own\n// container. Each variant's container is a different colour family, and the\n// muted role is not guaranteed to be readable over any of them.\nfunction selectedSupportingTone(variant: RowVariant) {\n if (variant === 'drawer') {\n return rowStyles.supportingSelectedDrawer;\n }\n if (variant === 'menu') {\n return rowStyles.supportingSelectedMenu;\n }\n return rowStyles.supportingSelectedList;\n}\nexport type { RowContentProps, RowVariant };\nexport { RowContent };"],"mappings":";;;;;;;;;;;;;;;;AAqDA,SAAAa,WAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAoB,MAAA,EAAAZ,UAAAC,YAAAY,IAAAX,YAAAY,IAAAX,SAAAC,UAAAC,YAAAC,UAAAC,SAAAQ,OAAAL;CAElB,MAAAT,aAAAY,OAAAG,KAAAA,IAAA,QAAAH;CACA,MAAAX,aAAAY,OAAAE,KAAAA,IAAA,QAAAF;CAKA,MAAAP,UAAAQ,OAAAC,KAAAA,IAAA,SAAAD;CAKA,MAAAE,QAAcV,YAAY,YAAYA,YAAY;CAAO,IAAAW;CAAA,IAAAP,EAAA,OAAAV,cAAAU,EAAA,OAAAT,cAAAS,EAAA,OAAAJ,SAAA;EAGlCW,KAAAjB,aAAaH,UAASqB,oBAAqBjB,cAAckB,uBAAuBb,OAAO;EAACI,EAAA,KAAAV;EAAAU,EAAA,KAAAT;EAAAS,EAAA,KAAAJ;EAAAI,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAA/G,MAAAU,iBAAuBH;CAAyF,IAAAI;CAAA,IAAAX,EAAA,OAAAR,SAAA;EAE3GmB,KAAAnB,YAAYa,KAAAA,IAAZ,OAA+B,oBAAA,QAAA;GAAwD,GAA9CnB,MAAaC,UAAS0B,IAAK;GAAIrB,UAAAA;EAAe,CAAA;EAAAQ,EAAA,KAAAR;EAAAQ,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,OAAAe,OAAAC,IAAA,2BAAA,GAAA;EAC9EF,KAAA5B,MAAaC,UAAS8B,IAAK;EAACjB,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,IAAAkB;CAAA,IAAAlB,EAAA,OAAAP,YAAAO,EAAA,OAAAU,gBAAA;EACnCQ,KAAAzB,aAAaY,KAAAA,IAAb,OAAgC,oBAAA,QAAA;GAExB,GAFkCnB,MAAaC,UAASM,UAAWiB,cAAc;GACrFjB,UAAAA;EACI,CAAA;EAAAO,EAAA,KAAAP;EAAAO,EAAA,KAAAU;EAAAV,EAAA,KAAAkB;CAAA,OAAAA,KAAAlB,EAAA;CAAA,IAAAmB;CAAA,IAAAnB,EAAA,QAAAM,OAAA;EACCa,KAAAjC,MAAaoB,QAAQnB,UAASiC,eAAgBjC,UAASkC,YAAa;EAACrB,EAAA,MAAAM;EAAAN,EAAA,MAAAmB;CAAA,OAAAA,KAAAnB,EAAA;CAAA,IAAAsB;CAAA,IAAAtB,EAAA,QAAAX,YAAAW,EAAA,QAAAmB,IAAA;EAA/EG,KAAA,oBAAA,QAAA;GAEO,GAFGH;GACP9B;EACI,CAAA;EAAAW,EAAA,MAAAX;EAAAW,EAAA,MAAAmB;EAAAnB,EAAA,MAAAsB;CAAA,OAAAA,KAAAtB,EAAA;CAAA,IAAAuB;CAAA,IAAAvB,EAAA,QAAAN,cAAAM,EAAA,QAAAU,gBAAA;EACNa,MAAA7B,eAAeW,KAAAA,IAAf,OAAkC,oBAAA,QAAA;GAE1B,GAFoCnB,MAAaC,UAASO,YAAagB,cAAc;GACzFhB,UAAAA;EACI,CAAA;EAAAM,EAAA,MAAAN;EAAAM,EAAA,MAAAU;EAAAV,EAAA,MAAAuB;CAAA,OAAAA,MAAAvB,EAAA;CAAA,IAAAwB;CAAA,IAAAxB,EAAA,QAAAuB,OAAAvB,EAAA,QAAAkB,MAAAlB,EAAA,QAAAsB,IAAA;EATXE,MAAA,qBAAA,QAAA;GAUO,GAVGV;GAAV,UAAA;IACGI;IAGDI;IAGCC;GAGI;;EAAAvB,EAAA,MAAAuB;EAAAvB,EAAA,MAAAkB;EAAAlB,EAAA,MAAAsB;EAAAtB,EAAA,MAAAwB;CAAA,OAAAA,MAAAxB,EAAA;CAAA,IAAAyB;CAAA,IAAAzB,EAAA,QAAAL,UAAA;EACN8B,MAAA9B,aAAaU,KAAAA,IAAb,OAAgC,oBAAA,QAAA;GAAyD,GAA/CnB,MAAaC,UAAS0B,IAAK;GAAIlB,UAAAA;EAAgB,CAAA;EAAAK,EAAA,MAAAL;EAAAK,EAAA,MAAAyB;CAAA,OAAAA,MAAAzB,EAAA;CAAA,IAAA0B;CAAA,IAAA1B,EAAA,QAAAwB,OAAAxB,EAAA,QAAAyB,OAAAzB,EAAA,QAAAW,IAAA;EAbvFe,MAAA,qBAAA,UAAA,EAAA,UAAA;GACFf;GACDa;GAWCC;EAAyF,EAAA,CAAA;EACzFzB,EAAA,MAAAwB;EAAAxB,EAAA,MAAAyB;EAAAzB,EAAA,MAAAW;EAAAX,EAAA,MAAA0B;CAAA,OAAAA,MAAA1B,EAAA;CAAA,OAdE0B;AAcF;AAMP,SAASjB,uBAAuBb,SAAqB;CACnD,IAAIA,YAAY,UACd,OAAOT,UAAUwC;CAEnB,IAAI/B,YAAY,QACd,OAAOT,UAAUyC;CAEnB,OAAOzC,UAAU0C;AACnB"}
1
+ {"version":3,"file":"index.js","names":["ReactNode","stylex","rowStyles","RowContentProps","children","isDisabled","isEmphasized","isSelected","leading","overline","supporting","trailing","variant","RowVariant","RowContent","t0","$","_c","t1","t2","t3","t4","undefined","label","t5","supportingInherit","selectedSupportingTone","supportingTone","t6","props","slot","t7","Symbol","for","main","t8","t9","headlineMenu","headlineList","headlineEmphasis","t10","t11","t12","t13","t14","supportingSelectedDrawer","supportingSelectedMenu","supportingSelectedList"],"sources":["../../src/row/index.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport * as stylex from '@stylexjs/stylex';\nimport { rowStyles } from './styles';\ninterface RowContentProps {\n /** The row's headline — the one thing it is mostly about. */\n children?: ReactNode;\n /**\n * Whether the row is disabled. The supporting line takes the row's own\n * faded colour when it is, rather than staying at full strength in the\n * muted role.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the headline is drawn heavier than its variant's own weight, for\n * a row marked without the container a selected one takes. The navigation\n * drawer's trail to the current row is what asks for it.\n * @default false\n */\n isEmphasized?: boolean;\n /**\n * Whether the row is selected. The supporting line takes the selected\n * container's own content role when it is, rather than staying in the\n * muted role it draws on the surface.\n * @default false\n */\n isSelected?: boolean;\n /** Content before the headline: an avatar, an icon, a checkbox. */\n leading?: ReactNode;\n /**\n * A line above the headline, in the page's label-small and the same muted\n * role the supporting line takes.\n */\n overline?: ReactNode;\n /** A second line under the headline, in the muted role. */\n supporting?: ReactNode;\n /** Content after the headline, such as an amount or a control. */\n trailing?: ReactNode;\n /**\n * Which spec page's row this is. A list item's headline is body-large; a\n * menu item's label and a navigation drawer row's are label-large. The\n * element around the content applies the matching `rowStyles.list`,\n * `rowStyles.menu` or `rowStyles.drawer` beside `rowStyles.base`.\n * @default 'list'\n */\n variant?: RowVariant;\n}\ntype RowVariant = 'drawer' | 'list' | 'menu';\n\n/**\n * The inside of a row: the leading slot, the headline with its supporting\n * line, and the trailing slot, each rendered only when given. The element\n * around it is the caller's — ListItem's div or button, a collection's item —\n * and takes `rowStyles.base`, the variant's own style, and whichever states\n * apply; this is what every one of them puts inside it, so a list, a menu, a\n * tree and a drawer draw the same row.\n *\n * Not a component of the library's own and not exported; see `src/field` for\n * the same arrangement around a field.\n */\nfunction RowContent({\n children,\n isDisabled = false,\n isEmphasized = false,\n isSelected = false,\n leading,\n overline,\n supporting,\n trailing,\n variant = 'list'\n}: RowContentProps) {\n // The drawer's label is the menu's, so the two share the headline style;\n // what they do not share is the container a selected row brings, which is\n // why the tone below still asks which variant this is.\n const label = variant === 'drawer' || variant === 'menu';\n // Disabled first: a disabled row's own colour is already the faded one, so\n // it wins over the selected container's content role.\n const supportingTone = isDisabled ? rowStyles.supportingInherit : isSelected && selectedSupportingTone(variant);\n return <>\n {leading === undefined ? null : <span {...stylex.props(rowStyles.slot)}>{leading}</span>}\n <span {...stylex.props(rowStyles.main)}>\n {overline === undefined ? null : <span {...stylex.props(rowStyles.overline, supportingTone)}>\n {overline}\n </span>}\n <span {...stylex.props(label ? rowStyles.headlineMenu : rowStyles.headlineList, isEmphasized && rowStyles.headlineEmphasis)}>\n {children}\n </span>\n {supporting === undefined ? null : <span {...stylex.props(rowStyles.supporting, supportingTone)}>\n {supporting}\n </span>}\n </span>\n {trailing === undefined ? null : <span {...stylex.props(rowStyles.slot)}>{trailing}</span>}\n </>;\n}\n\n// Which on-colour a supporting line takes over a selected row's own\n// container. Each variant's container is a different colour family, and the\n// muted role is not guaranteed to be readable over any of them.\nfunction selectedSupportingTone(variant: RowVariant) {\n if (variant === 'drawer') {\n return rowStyles.supportingSelectedDrawer;\n }\n if (variant === 'menu') {\n return rowStyles.supportingSelectedMenu;\n }\n return rowStyles.supportingSelectedList;\n}\nexport type { RowContentProps, RowVariant };\nexport { RowContent };"],"mappings":";;;;;;;;;;;;;;;;AA4DA,SAAAc,WAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAoB,MAAA,EAAAb,UAAAC,YAAAa,IAAAZ,cAAAa,IAAAZ,YAAAa,IAAAZ,SAAAC,UAAAC,YAAAC,UAAAC,SAAAS,OAAAN;CAElB,MAAAV,aAAAa,OAAAI,KAAAA,IAAA,QAAAJ;CACA,MAAAZ,eAAAa,OAAAG,KAAAA,IAAA,QAAAH;CACA,MAAAZ,aAAAa,OAAAE,KAAAA,IAAA,QAAAF;CAKA,MAAAR,UAAAS,OAAAC,KAAAA,IAAA,SAAAD;CAKA,MAAAE,QAAcX,YAAY,YAAYA,YAAY;CAAO,IAAAY;CAAA,IAAAR,EAAA,OAAAX,cAAAW,EAAA,OAAAT,cAAAS,EAAA,OAAAJ,SAAA;EAGlCY,KAAAnB,aAAaH,UAASuB,oBAAqBlB,cAAcmB,uBAAuBd,OAAO;EAACI,EAAA,KAAAX;EAAAW,EAAA,KAAAT;EAAAS,EAAA,KAAAJ;EAAAI,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAA/G,MAAAW,iBAAuBH;CAAyF,IAAAI;CAAA,IAAAZ,EAAA,OAAAR,SAAA;EAE3GoB,KAAApB,YAAYc,KAAAA,IAAZ,OAA+B,oBAAA,QAAA;GAAwD,GAA9CrB,MAAaC,UAAS4B,IAAK;GAAItB,UAAAA;EAAe,CAAA;EAAAQ,EAAA,KAAAR;EAAAQ,EAAA,KAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,OAAAgB,OAAAC,IAAA,2BAAA,GAAA;EAC9EF,KAAA9B,MAAaC,UAASgC,IAAK;EAAClB,EAAA,KAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,IAAAmB;CAAA,IAAAnB,EAAA,OAAAP,YAAAO,EAAA,OAAAW,gBAAA;EACnCQ,KAAA1B,aAAaa,KAAAA,IAAb,OAAgC,oBAAA,QAAA;GAExB,GAFkCrB,MAAaC,UAASO,UAAWkB,cAAc;GACrFlB,UAAAA;EACI,CAAA;EAAAO,EAAA,KAAAP;EAAAO,EAAA,KAAAW;EAAAX,EAAA,KAAAmB;CAAA,OAAAA,KAAAnB,EAAA;CAAA,IAAAoB;CAAA,IAAApB,EAAA,QAAAV,gBAAAU,EAAA,QAAAO,OAAA;EACCa,KAAAnC,MAAasB,QAAQrB,UAASmC,eAAgBnC,UAASoC,cAAehC,gBAAgBJ,UAASqC,gBAAiB;EAACvB,EAAA,MAAAV;EAAAU,EAAA,MAAAO;EAAAP,EAAA,MAAAoB;CAAA,OAAAA,KAAApB,EAAA;CAAA,IAAAwB;CAAA,IAAAxB,EAAA,QAAAZ,YAAAY,EAAA,QAAAoB,IAAA;EAA3HI,MAAA,oBAAA,QAAA;GAEO,GAFGJ;GACPhC;EACI,CAAA;EAAAY,EAAA,MAAAZ;EAAAY,EAAA,MAAAoB;EAAApB,EAAA,MAAAwB;CAAA,OAAAA,MAAAxB,EAAA;CAAA,IAAAyB;CAAA,IAAAzB,EAAA,QAAAN,cAAAM,EAAA,QAAAW,gBAAA;EACNc,MAAA/B,eAAeY,KAAAA,IAAf,OAAkC,oBAAA,QAAA;GAE1B,GAFoCrB,MAAaC,UAASQ,YAAaiB,cAAc;GACzFjB,UAAAA;EACI,CAAA;EAAAM,EAAA,MAAAN;EAAAM,EAAA,MAAAW;EAAAX,EAAA,MAAAyB;CAAA,OAAAA,MAAAzB,EAAA;CAAA,IAAA0B;CAAA,IAAA1B,EAAA,QAAAwB,OAAAxB,EAAA,QAAAyB,OAAAzB,EAAA,QAAAmB,IAAA;EATXO,MAAA,qBAAA,QAAA;GAUO,GAVGX;GAAV,UAAA;IACGI;IAGDK;IAGCC;GAGI;;EAAAzB,EAAA,MAAAwB;EAAAxB,EAAA,MAAAyB;EAAAzB,EAAA,MAAAmB;EAAAnB,EAAA,MAAA0B;CAAA,OAAAA,MAAA1B,EAAA;CAAA,IAAA2B;CAAA,IAAA3B,EAAA,QAAAL,UAAA;EACNgC,MAAAhC,aAAaW,KAAAA,IAAb,OAAgC,oBAAA,QAAA;GAAyD,GAA/CrB,MAAaC,UAAS4B,IAAK;GAAInB,UAAAA;EAAgB,CAAA;EAAAK,EAAA,MAAAL;EAAAK,EAAA,MAAA2B;CAAA,OAAAA,MAAA3B,EAAA;CAAA,IAAA4B;CAAA,IAAA5B,EAAA,QAAA0B,OAAA1B,EAAA,QAAA2B,OAAA3B,EAAA,QAAAY,IAAA;EAbvFgB,MAAA,qBAAA,UAAA,EAAA,UAAA;GACFhB;GACDc;GAWCC;EAAyF,EAAA,CAAA;EACzF3B,EAAA,MAAA0B;EAAA1B,EAAA,MAAA2B;EAAA3B,EAAA,MAAAY;EAAAZ,EAAA,MAAA4B;CAAA,OAAAA,MAAA5B,EAAA;CAAA,OAdE4B;AAcF;AAMP,SAASlB,uBAAuBd,SAAqB;CACnD,IAAIA,YAAY,UACd,OAAOV,UAAU2C;CAEnB,IAAIjC,YAAY,QACd,OAAOV,UAAU4C;CAEnB,OAAO5C,UAAU6C;AACnB"}
@@ -28,6 +28,10 @@ const rowStyles = {
28
28
  kAzted: "xyax5pk",
29
29
  $$css: true
30
30
  },
31
+ headlineEmphasis: {
32
+ k63SB2: "x1sfltvt",
33
+ $$css: true
34
+ },
31
35
  headlineList: {
32
36
  kMv6JI: "x16svsjw",
33
37
  kGuDYH: "x1848etk",
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["stylex","colors","radii","sizing","spacing","stateLayerOpacity","typography","rowStyles","base","kGNEyG","kWkggS","kMzoRj","kB7OPa","kMwMTN","k1xSpc","kOIVth","kzqmXN","k8WAf4","kg3NbH","kVAEAm","k9WMMc","$$css","disabled","kkrTdU","drawer","kaIpWk","kUOVxO","kAzted","headlineList","kMv6JI","kGuDYH","k63SB2","kb6lSQ","kLWn49","headlineMenu","interactive","kVVagm","kjBf7l","kInvED","k3XXqK","kMeerF","list","main","kXwgrk","kzQI83","k7Eaqz","menu","overline","selectedDrawer","selectedList","selectedMenu","slot","kmuXW","supporting","supportingInherit","supportingSelectedDrawer","supportingSelectedList","supportingSelectedMenu","threeLine","twoLine"],"sources":["../../src/row/styles.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\nimport '../tokens/design.tokens.stylex';\nimport { colors, radii, sizing, spacing, stateLayerOpacity, typography } from '../tokens/design.tokens.stylex';\n\n// The row every list draws: ListItem's, and from here on the item of every\n// collection the coverage plan adds — ListBox, Menu, List, Tree, the options\n// of Select and ComboBox. Apart from the RowContent component in ./index.tsx\n// so that file exports components alone, which is what keeps fast refresh\n// working for it.\n//\n// Three variants, because three spec pages draw three rows. The lists page\n// gives a list item a 56dp floor, a body-large headline and a body-medium\n// supporting line, and primary container when selected. The menus page gives\n// a menu item 48dp, a label-large label, and tertiary container when\n// selected. The navigation drawer page gives its row 56dp too, with a\n// label-large label like a menu's, and marks the current one with a\n// secondary-container pill held 12dp off each edge — 336dp of indicator in a\n// 360dp container, which is what that inset comes to. The layout, the\n// padding, the state layers and the disabled treatment are one row; `list`,\n// `menu` and `drawer` carry only what the three pages disagree on, and a\n// consumer applies one of them beside `base`.\n//\n// Laid out with flex rather than the grid the design draws. The design's\n// three columns are `auto 1fr auto`, which is what flex does natively — and\n// unlike a fixed three-column grid it stays correct when a row has no leading\n// or no trailing content, where the remaining children would otherwise slide\n// into the wrong columns.\n//\n// Rows align with each other through their leading content being the same\n// size, not through a fixed column width: a list of Avatars all at one size\n// lines up, and that is the same thing the design's 40px column achieves.\n//\n// The state layer composites over `transparent` rather than over a container\n// colour, because a row's own background is transparent and it therefore\n// tints whatever it happens to be sitting on — a card, a menu, or the page.\n// The two selected states are the ones that bring a container of their own.\nconst rowStyles = {\n base: {\n kGNEyG: \"x6s0dn4\",\n kWkggS: \"xjbqb8w\",\n kMzoRj: \"xc342km\",\n kB7OPa: \"x9f619\",\n kMwMTN: \"x139gbkf\",\n k1xSpc: \"x78zum5\",\n kOIVth: \"xxj4525\",\n kzqmXN: \"xh8yej3\",\n k8WAf4: \"x1uvvd8r\",\n kg3NbH: \"x790zyz\",\n kVAEAm: \"x1n2onr6\",\n k9WMMc: \"x1yc453h\",\n $$css: true\n },\n disabled: {\n kWkggS: \"xjbqb8w\",\n kMwMTN: \"x1xj74d8\",\n kkrTdU: \"x1h6gzvc\",\n $$css: true\n },\n drawer: {\n kaIpWk: \"x1dkaolv\",\n kzqmXN: \"x14atkfc\",\n kUOVxO: \"xd2r6sq\",\n kAzted: \"xyax5pk\",\n $$css: true\n },\n headlineList: {\n kMv6JI: \"x16svsjw\",\n kGuDYH: \"x1848etk\",\n k63SB2: \"x1c52epr\",\n kb6lSQ: \"x1qn8t5l\",\n kLWn49: \"xh7dzej\",\n $$css: true\n },\n headlineMenu: {\n kMv6JI: \"xkknnkr\",\n kGuDYH: \"x14zspaw\",\n k63SB2: \"x1v9cpvo\",\n kb6lSQ: \"x155f00i\",\n kLWn49: \"x1lz68p4\",\n $$css: true\n },\n interactive: {\n kWkggS: \"x83qkoq x1p2om7n xjbqb8w\",\n kkrTdU: \"x1ypdohk\",\n kVVagm: \"xln7xf2\",\n kjBf7l: \"xrgy624\",\n kInvED: \"x2ssjo2\",\n k3XXqK: \"x9v5kkp x1t137rt\",\n kMeerF: \"x1de99jn\",\n $$css: true\n },\n list: {\n kAzted: \"xyax5pk\",\n $$css: true\n },\n main: {\n k1xSpc: \"x78zum5\",\n kXwgrk: \"xdt5ytf\",\n kzQI83: \"x1iyjqo2\",\n kOIVth: \"x14qo01y\",\n k7Eaqz: \"xeuugli\",\n $$css: true\n },\n menu: {\n kAzted: \"x1ddmzdj\",\n $$css: true\n },\n overline: {\n kMwMTN: \"x1w5n3ug\",\n kMv6JI: \"xs1w0rn\",\n kGuDYH: \"x1n35her\",\n k63SB2: \"x1su64ma\",\n kb6lSQ: \"xdlnduh\",\n kLWn49: \"xaomhve\",\n $$css: true\n },\n selectedDrawer: {\n kWkggS: \"xnqsvhv xlizrex x15dekr4\",\n kMwMTN: \"x1sawysd\",\n $$css: true\n },\n selectedList: {\n kWkggS: \"xxwd9aw x1hei0q8 xp89om9\",\n kMwMTN: \"xscdzaa\",\n $$css: true\n },\n selectedMenu: {\n kWkggS: \"xoc6x28 x2p4cas xs6yvni\",\n kMwMTN: \"x3cbcwg\",\n $$css: true\n },\n slot: {\n kGNEyG: \"x6s0dn4\",\n k1xSpc: \"x78zum5\",\n kmuXW: \"x2lah0s\",\n $$css: true\n },\n supporting: {\n kMwMTN: \"x1w5n3ug\",\n kMv6JI: \"xpo2rfv\",\n kGuDYH: \"x193rfdd\",\n k63SB2: \"x1hews6w\",\n kb6lSQ: \"xn43zvd\",\n kLWn49: \"xv61bfh\",\n $$css: true\n },\n supportingInherit: {\n kMwMTN: \"x1heor9g\",\n $$css: true\n },\n supportingSelectedDrawer: {\n kMwMTN: \"x1sawysd\",\n $$css: true\n },\n supportingSelectedList: {\n kMwMTN: \"xscdzaa\",\n $$css: true\n },\n supportingSelectedMenu: {\n kMwMTN: \"x3cbcwg\",\n $$css: true\n },\n threeLine: {\n kGNEyG: \"x1cy8zhl\",\n kAzted: \"x1bt55z4\",\n $$css: true\n },\n twoLine: {\n kAzted: \"x304zwk\",\n $$css: true\n }\n};\nexport { rowStyles };"],"mappings":";AAoCA,MAAMO,YAAY;CAChBC,MAAM;EACJC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,OAAO;CACT;CACAC,UAAU;EACRZ,QAAQ;EACRG,QAAQ;EACRU,QAAQ;EACRF,OAAO;CACT;CACAG,QAAQ;EACNC,QAAQ;EACRT,QAAQ;EACRU,QAAQ;EACRC,QAAQ;EACRN,OAAO;CACT;CACAO,cAAc;EACZC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRZ,OAAO;CACT;CACAa,cAAc;EACZL,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRZ,OAAO;CACT;CACAc,aAAa;EACXzB,QAAQ;EACRa,QAAQ;EACRa,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRnB,OAAO;CACT;CACAoB,MAAM;EACJd,QAAQ;EACRN,OAAO;CACT;CACAqB,MAAM;EACJ5B,QAAQ;EACR6B,QAAQ;EACRC,QAAQ;EACR7B,QAAQ;EACR8B,QAAQ;EACRxB,OAAO;CACT;CACAyB,MAAM;EACJnB,QAAQ;EACRN,OAAO;CACT;CACA0B,UAAU;EACRlC,QAAQ;EACRgB,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRZ,OAAO;CACT;CACA2B,gBAAgB;EACdtC,QAAQ;EACRG,QAAQ;EACRQ,OAAO;CACT;CACA4B,cAAc;EACZvC,QAAQ;EACRG,QAAQ;EACRQ,OAAO;CACT;CACA6B,cAAc;EACZxC,QAAQ;EACRG,QAAQ;EACRQ,OAAO;CACT;CACA8B,MAAM;EACJ1C,QAAQ;EACRK,QAAQ;EACRsC,OAAO;EACP/B,OAAO;CACT;CACAgC,YAAY;EACVxC,QAAQ;EACRgB,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRZ,OAAO;CACT;CACAiC,mBAAmB;EACjBzC,QAAQ;EACRQ,OAAO;CACT;CACAkC,0BAA0B;EACxB1C,QAAQ;EACRQ,OAAO;CACT;CACAmC,wBAAwB;EACtB3C,QAAQ;EACRQ,OAAO;CACT;CACAoC,wBAAwB;EACtB5C,QAAQ;EACRQ,OAAO;CACT;CACAqC,WAAW;EACTjD,QAAQ;EACRkB,QAAQ;EACRN,OAAO;CACT;CACAsC,SAAS;EACPhC,QAAQ;EACRN,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"styles.js","names":["stylex","colors","radii","sizing","spacing","stateLayerOpacity","typography","rowStyles","base","kGNEyG","kWkggS","kMzoRj","kB7OPa","kMwMTN","k1xSpc","kOIVth","kzqmXN","k8WAf4","kg3NbH","kVAEAm","k9WMMc","$$css","disabled","kkrTdU","drawer","kaIpWk","kUOVxO","kAzted","headlineEmphasis","k63SB2","headlineList","kMv6JI","kGuDYH","kb6lSQ","kLWn49","headlineMenu","interactive","kVVagm","kjBf7l","kInvED","k3XXqK","kMeerF","list","main","kXwgrk","kzQI83","k7Eaqz","menu","overline","selectedDrawer","selectedList","selectedMenu","slot","kmuXW","supporting","supportingInherit","supportingSelectedDrawer","supportingSelectedList","supportingSelectedMenu","threeLine","twoLine"],"sources":["../../src/row/styles.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\nimport '../tokens/design.tokens.stylex';\nimport { colors, radii, sizing, spacing, stateLayerOpacity, typography } from '../tokens/design.tokens.stylex';\n\n// The row every list draws: ListItem's, and from here on the item of every\n// collection the coverage plan adds — ListBox, Menu, List, Tree, the options\n// of Select and ComboBox. Apart from the RowContent component in ./index.tsx\n// so that file exports components alone, which is what keeps fast refresh\n// working for it.\n//\n// Three variants, because three spec pages draw three rows. The lists page\n// gives a list item a 56dp floor, a body-large headline and a body-medium\n// supporting line, and primary container when selected. The menus page gives\n// a menu item 48dp, a label-large label, and tertiary container when\n// selected. The navigation drawer page gives its row 56dp too, with a\n// label-large label like a menu's, and marks the current one with a\n// secondary-container pill held 12dp off each edge — 336dp of indicator in a\n// 360dp container, which is what that inset comes to. The layout, the\n// padding, the state layers and the disabled treatment are one row; `list`,\n// `menu` and `drawer` carry only what the three pages disagree on, and a\n// consumer applies one of them beside `base`.\n//\n// Laid out with flex rather than the grid the design draws. The design's\n// three columns are `auto 1fr auto`, which is what flex does natively — and\n// unlike a fixed three-column grid it stays correct when a row has no leading\n// or no trailing content, where the remaining children would otherwise slide\n// into the wrong columns.\n//\n// Rows align with each other through their leading content being the same\n// size, not through a fixed column width: a list of Avatars all at one size\n// lines up, and that is the same thing the design's 40px column achieves.\n//\n// The state layer composites over `transparent` rather than over a container\n// colour, because a row's own background is transparent and it therefore\n// tints whatever it happens to be sitting on — a card, a menu, or the page.\n// The two selected states are the ones that bring a container of their own.\nconst rowStyles = {\n base: {\n kGNEyG: \"x6s0dn4\",\n kWkggS: \"xjbqb8w\",\n kMzoRj: \"xc342km\",\n kB7OPa: \"x9f619\",\n kMwMTN: \"x139gbkf\",\n k1xSpc: \"x78zum5\",\n kOIVth: \"xxj4525\",\n kzqmXN: \"xh8yej3\",\n k8WAf4: \"x1uvvd8r\",\n kg3NbH: \"x790zyz\",\n kVAEAm: \"x1n2onr6\",\n k9WMMc: \"x1yc453h\",\n $$css: true\n },\n disabled: {\n kWkggS: \"xjbqb8w\",\n kMwMTN: \"x1xj74d8\",\n kkrTdU: \"x1h6gzvc\",\n $$css: true\n },\n drawer: {\n kaIpWk: \"x1dkaolv\",\n kzqmXN: \"x14atkfc\",\n kUOVxO: \"xd2r6sq\",\n kAzted: \"xyax5pk\",\n $$css: true\n },\n headlineEmphasis: {\n k63SB2: \"x1sfltvt\",\n $$css: true\n },\n headlineList: {\n kMv6JI: \"x16svsjw\",\n kGuDYH: \"x1848etk\",\n k63SB2: \"x1c52epr\",\n kb6lSQ: \"x1qn8t5l\",\n kLWn49: \"xh7dzej\",\n $$css: true\n },\n headlineMenu: {\n kMv6JI: \"xkknnkr\",\n kGuDYH: \"x14zspaw\",\n k63SB2: \"x1v9cpvo\",\n kb6lSQ: \"x155f00i\",\n kLWn49: \"x1lz68p4\",\n $$css: true\n },\n interactive: {\n kWkggS: \"x83qkoq x1p2om7n xjbqb8w\",\n kkrTdU: \"x1ypdohk\",\n kVVagm: \"xln7xf2\",\n kjBf7l: \"xrgy624\",\n kInvED: \"x2ssjo2\",\n k3XXqK: \"x9v5kkp x1t137rt\",\n kMeerF: \"x1de99jn\",\n $$css: true\n },\n list: {\n kAzted: \"xyax5pk\",\n $$css: true\n },\n main: {\n k1xSpc: \"x78zum5\",\n kXwgrk: \"xdt5ytf\",\n kzQI83: \"x1iyjqo2\",\n kOIVth: \"x14qo01y\",\n k7Eaqz: \"xeuugli\",\n $$css: true\n },\n menu: {\n kAzted: \"x1ddmzdj\",\n $$css: true\n },\n overline: {\n kMwMTN: \"x1w5n3ug\",\n kMv6JI: \"xs1w0rn\",\n kGuDYH: \"x1n35her\",\n k63SB2: \"x1su64ma\",\n kb6lSQ: \"xdlnduh\",\n kLWn49: \"xaomhve\",\n $$css: true\n },\n selectedDrawer: {\n kWkggS: \"xnqsvhv xlizrex x15dekr4\",\n kMwMTN: \"x1sawysd\",\n $$css: true\n },\n selectedList: {\n kWkggS: \"xxwd9aw x1hei0q8 xp89om9\",\n kMwMTN: \"xscdzaa\",\n $$css: true\n },\n selectedMenu: {\n kWkggS: \"xoc6x28 x2p4cas xs6yvni\",\n kMwMTN: \"x3cbcwg\",\n $$css: true\n },\n slot: {\n kGNEyG: \"x6s0dn4\",\n k1xSpc: \"x78zum5\",\n kmuXW: \"x2lah0s\",\n $$css: true\n },\n supporting: {\n kMwMTN: \"x1w5n3ug\",\n kMv6JI: \"xpo2rfv\",\n kGuDYH: \"x193rfdd\",\n k63SB2: \"x1hews6w\",\n kb6lSQ: \"xn43zvd\",\n kLWn49: \"xv61bfh\",\n $$css: true\n },\n supportingInherit: {\n kMwMTN: \"x1heor9g\",\n $$css: true\n },\n supportingSelectedDrawer: {\n kMwMTN: \"x1sawysd\",\n $$css: true\n },\n supportingSelectedList: {\n kMwMTN: \"xscdzaa\",\n $$css: true\n },\n supportingSelectedMenu: {\n kMwMTN: \"x3cbcwg\",\n $$css: true\n },\n threeLine: {\n kGNEyG: \"x1cy8zhl\",\n kAzted: \"x1bt55z4\",\n $$css: true\n },\n twoLine: {\n kAzted: \"x304zwk\",\n $$css: true\n }\n};\nexport { rowStyles };"],"mappings":";AAoCA,MAAMO,YAAY;CAChBC,MAAM;EACJC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,OAAO;CACT;CACAC,UAAU;EACRZ,QAAQ;EACRG,QAAQ;EACRU,QAAQ;EACRF,OAAO;CACT;CACAG,QAAQ;EACNC,QAAQ;EACRT,QAAQ;EACRU,QAAQ;EACRC,QAAQ;EACRN,OAAO;CACT;CACAO,kBAAkB;EAChBC,QAAQ;EACRR,OAAO;CACT;CACAS,cAAc;EACZC,QAAQ;EACRC,QAAQ;EACRH,QAAQ;EACRI,QAAQ;EACRC,QAAQ;EACRb,OAAO;CACT;CACAc,cAAc;EACZJ,QAAQ;EACRC,QAAQ;EACRH,QAAQ;EACRI,QAAQ;EACRC,QAAQ;EACRb,OAAO;CACT;CACAe,aAAa;EACX1B,QAAQ;EACRa,QAAQ;EACRc,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRpB,OAAO;CACT;CACAqB,MAAM;EACJf,QAAQ;EACRN,OAAO;CACT;CACAsB,MAAM;EACJ7B,QAAQ;EACR8B,QAAQ;EACRC,QAAQ;EACR9B,QAAQ;EACR+B,QAAQ;EACRzB,OAAO;CACT;CACA0B,MAAM;EACJpB,QAAQ;EACRN,OAAO;CACT;CACA2B,UAAU;EACRnC,QAAQ;EACRkB,QAAQ;EACRC,QAAQ;EACRH,QAAQ;EACRI,QAAQ;EACRC,QAAQ;EACRb,OAAO;CACT;CACA4B,gBAAgB;EACdvC,QAAQ;EACRG,QAAQ;EACRQ,OAAO;CACT;CACA6B,cAAc;EACZxC,QAAQ;EACRG,QAAQ;EACRQ,OAAO;CACT;CACA8B,cAAc;EACZzC,QAAQ;EACRG,QAAQ;EACRQ,OAAO;CACT;CACA+B,MAAM;EACJ3C,QAAQ;EACRK,QAAQ;EACRuC,OAAO;EACPhC,OAAO;CACT;CACAiC,YAAY;EACVzC,QAAQ;EACRkB,QAAQ;EACRC,QAAQ;EACRH,QAAQ;EACRI,QAAQ;EACRC,QAAQ;EACRb,OAAO;CACT;CACAkC,mBAAmB;EACjB1C,QAAQ;EACRQ,OAAO;CACT;CACAmC,0BAA0B;EACxB3C,QAAQ;EACRQ,OAAO;CACT;CACAoC,wBAAwB;EACtB5C,QAAQ;EACRQ,OAAO;CACT;CACAqC,wBAAwB;EACtB7C,QAAQ;EACRQ,OAAO;CACT;CACAsC,WAAW;EACTlD,QAAQ;EACRkB,QAAQ;EACRN,OAAO;CACT;CACAuC,SAAS;EACPjC,QAAQ;EACRN,OAAO;CACT;AACF"}
package/dist/styles.css CHANGED
@@ -1287,6 +1287,10 @@
1287
1287
  font-weight: var(--xj437rg);
1288
1288
  }
1289
1289
 
1290
+ .x1sfltvt {
1291
+ font-weight: var(--xlvbdhw);
1292
+ }
1293
+
1290
1294
  .xh9quta {
1291
1295
  font-weight: var(--xoezdz5);
1292
1296
  }
@@ -1351,14 +1355,6 @@
1351
1355
  inset-inline-end: var(--x-insetInlineEnd);
1352
1356
  }
1353
1357
 
1354
- .x1hev8vu {
1355
- inset-inline-start: -145.167%;
1356
- }
1357
-
1358
- .xmvyqo8 {
1359
- inset-inline-start: -54.8889%;
1360
- }
1361
-
1362
1358
  .x1o0tod {
1363
1359
  inset-inline-start: 0;
1364
1360
  }
@@ -1791,6 +1787,10 @@
1791
1787
  text-decoration-color: var(--x1ridy1o);
1792
1788
  }
1793
1789
 
1790
+ .x5lhwog {
1791
+ text-decoration-line: line-through;
1792
+ }
1793
+
1794
1794
  .xkrqix3 {
1795
1795
  text-decoration-line: none;
1796
1796
  }
@@ -2168,6 +2168,10 @@
2168
2168
  line-height: var(--x1lrg4gv);
2169
2169
  }
2170
2170
 
2171
+ .x1ioi8j8:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
2172
+ animation-name: x18x3npg-B;
2173
+ }
2174
+
2171
2175
  .x1y10d4b:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
2172
2176
  transform: rotate(-90deg);
2173
2177
  }
@@ -2623,6 +2627,14 @@
2623
2627
  height: var(--xmcpupp);
2624
2628
  }
2625
2629
 
2630
+ .xoia761 {
2631
+ left: -145.167%;
2632
+ }
2633
+
2634
+ .xnsac6p {
2635
+ left: -54.8889%;
2636
+ }
2637
+
2626
2638
  .xu96u03 {
2627
2639
  left: 0;
2628
2640
  }
@@ -2833,6 +2845,10 @@
2833
2845
  padding-bottom: var(--xod9tvo);
2834
2846
  }
2835
2847
 
2848
+ .xexx8yu {
2849
+ padding-top: 0;
2850
+ }
2851
+
2836
2852
  .x13h71tw {
2837
2853
  padding-top: var(--x196ey9q);
2838
2854
  }
@@ -3001,6 +3017,14 @@
3001
3017
  border-top-width: 0;
3002
3018
  }
3003
3019
 
3020
+ .x886u18:first-child {
3021
+ padding-top: var(--x196ey9q);
3022
+ }
3023
+
3024
+ .x1az23kl:last-child {
3025
+ padding-bottom: var(--x196ey9q);
3026
+ }
3027
+
3004
3028
  @media (forced-colors: active) {
3005
3029
  .x1fxan2a.x1fxan2a {
3006
3030
  border-bottom-color: graytext;
@@ -3349,6 +3373,18 @@
3349
3373
  }
3350
3374
  }
3351
3375
 
3376
+ @keyframes x18x3npg-B {
3377
+ from {
3378
+ opacity: 0;
3379
+ transform: translateX(-100%);
3380
+ }
3381
+
3382
+ to {
3383
+ opacity: 1;
3384
+ transform: translateX(0);
3385
+ }
3386
+ }
3387
+
3352
3388
  @keyframes x15b941j-B {
3353
3389
  from {
3354
3390
  opacity: 0;