@epilot/zenith-react 0.3.0-next.1 → 0.3.0-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -5
- package/README.md +1 -1
- package/dist/components/command/command.js +21 -19
- package/dist/components/command/command.js.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.js +4 -1
- package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/components/field/field-combobox.js +13 -7
- package/dist/components/field/field-combobox.js.map +1 -1
- package/dist/components/list/list.js +176 -176
- package/dist/components/list/list.js.map +1 -1
- package/dist/components/tooltip/tooltip.js +14 -12
- package/dist/components/tooltip/tooltip.js.map +1 -1
- package/dist/tokens.json +1 -1
- package/package.json +8 -19
|
@@ -3,8 +3,8 @@ import * as m from "react";
|
|
|
3
3
|
import { SLOT_ATTR as c, mergeClasses as b, shorthands as d } from "@epilot/zenith-runtime/v1";
|
|
4
4
|
import { makeZenithStyles as B } from "../../styles/make-styles.js";
|
|
5
5
|
import { boxModel as s, nativeControl as R } from "../../styles/host-reset.js";
|
|
6
|
-
import { grayA8 as
|
|
7
|
-
import { CommandCollection as
|
|
6
|
+
import { grayA8 as D, focusRing as S, accentA11 as V, spacingElement2 as u, spacingGroup1 as h, grayA11 as y, spacingElement1 as L, graySoft as G, leadingXs as k, textXs as A, fontWeightSemibold as E, leadingSm as w, textSm as F, grayA12 as C, radiusMd as j, radiusLg as H } from "../../tokens/index.js";
|
|
7
|
+
import { CommandCollection as z, Command as W, CommandEmpty as M, CommandGroup as O, CommandGroupLabel as Z, CommandInput as X, CommandItem as $, CommandList as _, CommandLoading as J, CommandSeparator as K } from "../command/command.js";
|
|
8
8
|
import { Popover as Q, PopoverPortal as U, PopoverContent as Y, PopoverTrigger as oo } from "../popover/popover.js";
|
|
9
9
|
import { useFieldLabelId as eo, useOptionalFieldContext as to, useReportFieldControlId as no } from "./field.js";
|
|
10
10
|
const ro = (a) => /* @__PURE__ */ r(
|
|
@@ -48,7 +48,7 @@ const ro = (a) => /* @__PURE__ */ r(
|
|
|
48
48
|
alignItems: "center",
|
|
49
49
|
justifyContent: "space-between",
|
|
50
50
|
...d.gap(u),
|
|
51
|
-
...d.borderRadius(
|
|
51
|
+
...d.borderRadius(H),
|
|
52
52
|
backgroundColor: "transparent",
|
|
53
53
|
fontSize: F,
|
|
54
54
|
lineHeight: w,
|
|
@@ -103,9 +103,15 @@ const ro = (a) => /* @__PURE__ */ r(
|
|
|
103
103
|
whiteSpace: "normal",
|
|
104
104
|
marginRight: "1.25rem"
|
|
105
105
|
},
|
|
106
|
+
// Capped to the room on the popup's side of the trigger, which the Base UI positioner measures
|
|
107
|
+
// into `--available-height` (seeded before its first pass, so no fallback). As a column, the
|
|
108
|
+
// command root shrinks to fit and its list scrolls, under a search input that stays in place.
|
|
106
109
|
content: {
|
|
107
110
|
...s,
|
|
108
|
-
...d.padding(0)
|
|
111
|
+
...d.padding(0),
|
|
112
|
+
display: "flex",
|
|
113
|
+
flexDirection: "column",
|
|
114
|
+
maxHeight: "var(--available-height)"
|
|
109
115
|
},
|
|
110
116
|
command: {
|
|
111
117
|
...s,
|
|
@@ -219,7 +225,7 @@ const ro = (a) => /* @__PURE__ */ r(
|
|
|
219
225
|
...d.borderRadius("9999px"),
|
|
220
226
|
backgroundColor: "transparent",
|
|
221
227
|
...d.border("0"),
|
|
222
|
-
color:
|
|
228
|
+
color: V,
|
|
223
229
|
":focus-visible": {
|
|
224
230
|
outlineWidth: "2px",
|
|
225
231
|
outlineStyle: "solid",
|
|
@@ -251,7 +257,7 @@ const ro = (a) => /* @__PURE__ */ r(
|
|
|
251
257
|
color: "currentColor"
|
|
252
258
|
},
|
|
253
259
|
placeholder: {
|
|
254
|
-
color:
|
|
260
|
+
color: D
|
|
255
261
|
}
|
|
256
262
|
}), go = m.forwardRef(
|
|
257
263
|
function(t, o) {
|
|
@@ -437,7 +443,7 @@ const ro = (a) => /* @__PURE__ */ r(
|
|
|
437
443
|
...o
|
|
438
444
|
}
|
|
439
445
|
);
|
|
440
|
-
}), So = (a) => /* @__PURE__ */ r(
|
|
446
|
+
}), So = (a) => /* @__PURE__ */ r(z, { ...a }), Lo = m.forwardRef(function({ className: t, ...o }, n) {
|
|
441
447
|
const e = p();
|
|
442
448
|
return /* @__PURE__ */ r(
|
|
443
449
|
K,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-combobox.js","sources":["../../../src/components/field/field-combobox.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel, nativeControl } from \"../../styles/host-reset\"\nimport * as tokens from \"../../tokens\"\nimport {\n Command,\n CommandCollection,\n CommandEmpty,\n CommandGroup,\n CommandGroupLabel,\n CommandInput,\n CommandItem,\n CommandList,\n CommandLoading,\n CommandSeparator,\n type CommandCollectionProps,\n type CommandEmptyProps,\n type CommandGroupLabelProps,\n type CommandGroupProps,\n type CommandInputProps,\n type CommandItemProps,\n type CommandListProps,\n type CommandLoadingProps,\n type CommandRootProps,\n type CommandSeparatorProps,\n} from \"../command/command\"\nimport {\n Popover,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n type PopoverContentProps,\n type PopoverPortalProps,\n type PopoverProps,\n type PopoverTriggerProps,\n} from \"../popover/popover\"\nimport {\n useFieldLabelId,\n useOptionalFieldContext,\n useReportFieldControlId,\n} from \"./field\"\n\nconst CheckIcon = (props: React.ComponentProps<\"svg\">) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"m382-354 339-339q12-12 28-12t28 12q12 12 12 28.5T777-636L410-268q-12 12-28 12t-28-12L182-440q-12-12-11.5-28.5T183-497q12-12 28.5-12t28.5 12l142 143Z\" />\n </svg>\n)\n\nconst ChevronDownIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M459-381 314-526q-3-3-4.5-6.5T308-540q0-8 5.5-14t14.5-6h304q9 0 14.5 6t5.5 14q0 2-6 14L501-381q-5 5-10 7t-11 2q-6 0-11-2t-10-7Z\" />\n </svg>\n)\n\nconst XIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M480-424 284-228q-11 11-28 11t-28-11q-11-11-11-28t11-28l196-196-196-196q-11-11-11-28t11-28q11-11 28-11t28 11l196 196 196-196q11-11 28-11t28 11q11 11 11 28t-11 28L536-480l196 196q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-424Z\" />\n </svg>\n)\n\nconst useStyles = makeZenithStyles({\n trigger: {\n ...nativeControl,\n width: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusLg),\n backgroundColor: \"transparent\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n whiteSpace: \"nowrap\",\n outlineStyle: \"none\",\n ...shorthands.border(\"0\"),\n ...shorthands.padding(0),\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.focusRing,\n },\n \":disabled\": {\n cursor: \"not-allowed\",\n opacity: 0.5,\n },\n\n // The open-state chevron rotation is declared HERE, on the trigger that carries the state\n // attribute, reaching the chevron by SLOT_ATTR.\n [`&[data-popup-open] [${SLOT_ATTR}=\"combobox-icon\"]`]: {\n transform: \"rotate(180deg)\",\n },\n },\n triggerInField: {\n outlineStyle: \"none\",\n \":focus-visible\": {\n outlineStyle: \"none\",\n },\n },\n triggerChevron: {\n ...boxModel,\n width: \"1.5rem\",\n height: \"1.5rem\",\n flexShrink: 0,\n transitionProperty: \"transform\",\n transitionDuration: \"150ms\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"@media (prefers-reduced-motion: reduce)\": {\n transitionDuration: \"0.01ms\",\n },\n color: tokens.grayA11,\n },\n value: {\n ...boxModel,\n color: tokens.grayA12,\n width: \"100%\",\n textAlign: \"left\",\n flexWrap: \"wrap\",\n display: \"flex\",\n ...shorthands.gap(tokens.spacingElement2),\n position: \"relative\",\n whiteSpace: \"normal\",\n marginRight: \"1.25rem\",\n },\n content: {\n ...boxModel,\n ...shorthands.padding(0),\n },\n command: {\n ...boxModel,\n width: \"100%\",\n ...shorthands.borderRadius(0),\n },\n input: {\n ...nativeControl,\n width: \"100%\",\n },\n list: {\n ...boxModel,\n ...shorthands.padding(tokens.spacingElement2),\n },\n item: {\n ...boxModel,\n paddingLeft: tokens.spacingGroup1,\n paddingRight: \"2rem\",\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n color: tokens.grayA12,\n position: \"relative\",\n display: \"flex\",\n width: \"100%\",\n cursor: \"default\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusMd),\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n userSelect: \"none\",\n },\n itemCheckIcon: {\n ...boxModel,\n position: \"absolute\",\n right: tokens.spacingElement2,\n display: \"flex\",\n width: \"1rem\",\n height: \"1rem\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n checkSvg: {\n ...boxModel,\n width: \"1rem\",\n height: \"1rem\",\n color: tokens.grayA12,\n },\n empty: {\n ...boxModel,\n paddingTop: \"1.5rem\",\n paddingBottom: \"1.5rem\",\n textAlign: \"center\",\n color: tokens.grayA12,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n \":empty\": {\n paddingTop: 0,\n paddingBottom: 0,\n },\n },\n group: {\n ...boxModel,\n ...shorthands.padding(0),\n },\n groupLabel: {\n ...boxModel,\n color: tokens.grayA11,\n fontWeight: tokens.fontWeightSemibold,\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: tokens.spacingElement2,\n paddingBottom: tokens.spacingElement2,\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n },\n separator: {\n ...boxModel,\n backgroundColor: tokens.graySoft,\n pointerEvents: \"none\",\n marginLeft: `calc(-1 * ${tokens.spacingElement1})`,\n marginRight: `calc(-1 * ${tokens.spacingElement1})`,\n marginTop: tokens.spacingElement2,\n marginBottom: tokens.spacingElement2,\n height: \"1px\",\n },\n loading: {\n ...boxModel,\n color: tokens.grayA11,\n paddingLeft: tokens.spacingGroup1,\n paddingRight: tokens.spacingGroup1,\n paddingTop: tokens.spacingElement2,\n paddingBottom: tokens.spacingElement2,\n // A status region stays mounted; it takes room only while it has something to say.\n \":empty\": {\n paddingTop: 0,\n paddingBottom: 0,\n },\n },\n clear: {\n ...boxModel,\n position: \"absolute\",\n right: \"2.75rem\",\n cursor: \"pointer\",\n minHeight: \"auto\",\n ...shorthands.padding(\"0.125rem\"),\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n ...shorthands.borderRadius(\"9999px\"),\n backgroundColor: \"transparent\",\n ...shorthands.border(\"0\"),\n color: tokens.accentA11,\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.focusRing,\n },\n },\n clearSvg: {\n ...boxModel,\n width: \"1.25rem\",\n height: \"1.25rem\",\n },\n clearValue: {\n ...boxModel,\n cursor: \"pointer\",\n \":hover\": {\n opacity: 0.7,\n },\n color: \"currentColor\",\n ...shorthands.borderRadius(\"9999px\"),\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n clearValueSvg: {\n ...boxModel,\n width: \"1rem\",\n height: \"1rem\",\n color: \"currentColor\",\n },\n placeholder: {\n color: tokens.grayA8,\n },\n})\n\nexport type FieldComboboxProps = PopoverProps\n\nexport const FieldCombobox = React.forwardRef<HTMLElement, FieldComboboxProps>(\n function FieldCombobox(props, _ref) {\n return (\n <Popover\n data-slot=\"combobox\"\n {...{ [SLOT_ATTR]: \"combobox\" }}\n {...props}\n />\n )\n }\n)\n\nexport type FieldComboboxTriggerProps = PopoverTriggerProps\n\nexport const FieldComboboxTrigger = React.forwardRef<\n HTMLButtonElement,\n FieldComboboxTriggerProps\n>(function FieldComboboxTrigger(\n { className, children, ...props },\n forwardedRef\n) {\n const styles = useStyles()\n // Optional on purpose: this part is valid standalone and only picks up field wiring\n // when nested inside one. See useOptionalFieldContext.\n const fieldContext = useOptionalFieldContext()\n const inField = fieldContext !== null\n const inputRef = fieldContext?.inputRef ?? null\n // The Field names the list with the label whose `htmlFor` is this id, so it follows a change.\n useReportFieldControlId(props.id)\n\n const handleRef = (el: HTMLButtonElement | null) => {\n if (inputRef) {\n inputRef.current = el\n }\n if (typeof forwardedRef === \"function\") {\n forwardedRef(el)\n } else if (forwardedRef) {\n forwardedRef.current = el\n }\n }\n\n return (\n <PopoverTrigger\n ref={handleRef}\n data-slot=\"select-trigger\"\n {...{ [SLOT_ATTR]: \"select-trigger\" }}\n className={mergeClasses(\n styles.trigger,\n inField && styles.triggerInField,\n className\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon\n data-slot=\"combobox-icon\"\n {...{ [SLOT_ATTR]: \"combobox-icon\" }}\n className={styles.triggerChevron}\n />\n </PopoverTrigger>\n )\n})\n\n/**\n * The popover holding the search and the list, and the root of the search: `items` are filtered\n * against the input's text, and the list renders the matches.\n */\nexport type FieldComboboxContentProps = Omit<\n PopoverContentProps,\n \"defaultValue\"\n> &\n CommandRootProps & {\n container?: PopoverPortalProps[\"container\"]\n }\n\nexport const FieldComboboxContent = React.forwardRef<\n HTMLDivElement,\n FieldComboboxContentProps\n>(function FieldComboboxContent(\n {\n className,\n children,\n container,\n items,\n filter,\n itemToStringValue,\n limit,\n value,\n defaultValue,\n onValueChange,\n ...props\n },\n ref\n) {\n const styles = useStyles()\n\n return (\n <PopoverPortal container={container}>\n <PopoverContent\n ref={ref}\n data-slot=\"combobox-content\"\n {...{ [SLOT_ATTR]: \"combobox-content\" }}\n className={mergeClasses(styles.content, className)}\n {...props}\n >\n <Command\n data-slot=\"combobox-command\"\n {...{ [SLOT_ATTR]: \"combobox-command\" }}\n className={styles.command}\n items={items}\n filter={filter}\n itemToStringValue={itemToStringValue}\n limit={limit}\n value={value}\n defaultValue={defaultValue}\n onValueChange={onValueChange}\n >\n {children}\n </Command>\n </PopoverContent>\n </PopoverPortal>\n )\n})\n\nexport type FieldComboboxValueProps = React.ComponentProps<\"div\">\n\nexport const FieldComboboxValue = React.forwardRef<\n HTMLDivElement,\n FieldComboboxValueProps\n>(function FieldComboboxValue({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"combobox-value\"\n {...{ [SLOT_ATTR]: \"combobox-value\" }}\n className={mergeClasses(styles.value, className)}\n {...props}\n >\n {children}\n </div>\n )\n})\n\nexport type FieldComboboxInputProps = CommandInputProps\n\nexport const FieldComboboxInput = React.forwardRef<\n HTMLInputElement,\n FieldComboboxInputProps\n>(function FieldComboboxInput({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandInput\n ref={ref}\n data-slot=\"combobox-command-input\"\n {...{ [SLOT_ATTR]: \"combobox-command-input\" }}\n className={mergeClasses(styles.input, className)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxListProps = CommandListProps\n\n/** Inside a Field, the list is named by the Field's label, like the control; otherwise \"Suggestions\". */\nexport const FieldComboboxList = React.forwardRef<\n HTMLDivElement,\n FieldComboboxListProps\n>(function FieldComboboxList(\n {\n className,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n ...props\n },\n ref\n) {\n const styles = useStyles()\n const fieldLabelId = useFieldLabelId()\n\n return (\n <CommandList\n ref={ref}\n data-slot=\"combobox-command-list\"\n {...{ [SLOT_ATTR]: \"combobox-command-list\" }}\n className={mergeClasses(styles.list, className)}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy ?? (ariaLabel ? undefined : fieldLabelId)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxItemProps = CommandItemProps\n\nexport const FieldComboboxItem = React.forwardRef<\n HTMLDivElement,\n FieldComboboxItemProps\n>(function FieldComboboxItem({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandItem\n ref={ref}\n data-slot=\"combobox-item\"\n {...{ [SLOT_ATTR]: \"combobox-item\" }}\n className={mergeClasses(styles.item, className)}\n {...props}\n >\n {children}\n </CommandItem>\n )\n})\n\nexport type FieldComboboxItemCheckIconProps = React.ComponentProps<\"span\">\n\nexport const FieldComboboxItemCheckIcon = React.forwardRef<\n HTMLSpanElement,\n FieldComboboxItemCheckIconProps\n>(function FieldComboboxItemCheckIcon({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n className={mergeClasses(styles.itemCheckIcon, className)}\n {...props}\n >\n <CheckIcon className={styles.checkSvg} />\n </span>\n )\n})\n\nexport type FieldComboboxEmptyProps = CommandEmptyProps\n\nexport const FieldComboboxEmpty = React.forwardRef<\n HTMLDivElement,\n FieldComboboxEmptyProps\n>(function FieldComboboxEmpty({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandEmpty\n ref={ref}\n data-slot=\"combobox-empty\"\n {...{ [SLOT_ATTR]: \"combobox-empty\" }}\n className={mergeClasses(styles.empty, className)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxGroupProps = CommandGroupProps\n\nexport const FieldComboboxGroup = React.forwardRef<\n HTMLDivElement,\n FieldComboboxGroupProps\n>(function FieldComboboxGroup({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandGroup\n ref={ref}\n data-slot=\"combobox-group\"\n {...{ [SLOT_ATTR]: \"combobox-group\" }}\n className={mergeClasses(styles.group, className)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxGroupLabelProps = CommandGroupLabelProps\n\nexport const FieldComboboxGroupLabel = React.forwardRef<\n HTMLDivElement,\n FieldComboboxGroupLabelProps\n>(function FieldComboboxGroupLabel({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandGroupLabel\n ref={ref}\n data-slot=\"combobox-group-label\"\n {...{ [SLOT_ATTR]: \"combobox-group-label\" }}\n className={mergeClasses(styles.groupLabel, className)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxCollectionProps = CommandCollectionProps\n\n/**\n * Renders the matching items of the enclosing FieldComboboxGroup.\n * @no-host-element Base UI's Collection renders only the items, so there is no element to take a ref.\n */\nexport const FieldComboboxCollection = (\n props: FieldComboboxCollectionProps\n) => <CommandCollection {...props} />\n\nexport type FieldComboboxSeparatorProps = CommandSeparatorProps\n\nexport const FieldComboboxSeparator = React.forwardRef<\n HTMLDivElement,\n FieldComboboxSeparatorProps\n>(function FieldComboboxSeparator({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandSeparator\n ref={ref}\n data-slot=\"select-separator\"\n {...{ [SLOT_ATTR]: \"select-separator\" }}\n className={mergeClasses(styles.separator, className)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxLoadingProps = CommandLoadingProps\n\nexport const FieldComboboxLoading = React.forwardRef<\n HTMLDivElement,\n FieldComboboxLoadingProps\n>(function FieldComboboxLoading({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandLoading\n ref={ref}\n data-slot=\"combobox-command-loading\"\n {...{ [SLOT_ATTR]: \"combobox-command-loading\" }}\n className={mergeClasses(styles.loading, className)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxClearProps = React.ComponentProps<\"span\">\n\nexport const FieldComboboxClear = React.forwardRef<\n HTMLSpanElement,\n FieldComboboxClearProps\n>(function FieldComboboxClear({ className, onClick, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n role=\"button\"\n tabIndex={0}\n className={mergeClasses(styles.clear, className)}\n onPointerDown={(event) => {\n event.preventDefault()\n event.stopPropagation()\n }}\n onClick={(event) => {\n event.preventDefault()\n event.stopPropagation()\n onClick?.(event)\n }}\n {...props}\n >\n <XIcon className={styles.clearSvg} />\n </span>\n )\n})\n\nexport type FieldComboboxPlaceholderProps = React.ComponentProps<\"span\">\n\nexport const FieldComboboxPlaceholder = React.forwardRef<\n HTMLSpanElement,\n FieldComboboxPlaceholderProps\n>(function FieldComboboxPlaceholder({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n className={mergeClasses(styles.placeholder, className)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxClearValueProps = React.ComponentProps<\"span\">\n\nexport const FieldComboboxClearValue = React.forwardRef<\n HTMLSpanElement,\n FieldComboboxClearValueProps\n>(function FieldComboboxClearValue({ className, onClick, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n role=\"button\"\n tabIndex={0}\n className={mergeClasses(styles.clearValue, className)}\n onPointerDown={(event) => {\n event.preventDefault()\n event.stopPropagation()\n }}\n onClick={(event) => {\n event.preventDefault()\n event.stopPropagation()\n onClick?.(event)\n }}\n {...props}\n >\n <XIcon className={styles.clearValueSvg} />\n </span>\n )\n})\n\nexport {\n FieldCombobox as Combobox,\n FieldComboboxGroup as ComboboxGroup,\n FieldComboboxGroupLabel as ComboboxGroupLabel,\n FieldComboboxCollection as ComboboxCollection,\n FieldComboboxValue as ComboboxValue,\n FieldComboboxTrigger as ComboboxTrigger,\n FieldComboboxContent as ComboboxContent,\n FieldComboboxItem as ComboboxItem,\n FieldComboboxItemCheckIcon as ComboboxItemCheckIcon,\n FieldComboboxEmpty as ComboboxEmpty,\n FieldComboboxSeparator as ComboboxSeparator,\n FieldComboboxInput as ComboboxInput,\n FieldComboboxList as ComboboxList,\n FieldComboboxLoading as ComboboxLoading,\n FieldComboboxClear as ComboboxClear,\n FieldComboboxClearValue as ComboboxClearValue,\n FieldComboboxPlaceholder as ComboboxPlaceholder,\n}\n"],"names":["CheckIcon","props","jsx","ChevronDownIcon","XIcon","useStyles","makeZenithStyles","nativeControl","shorthands","tokens.spacingElement2","tokens.radiusLg","tokens.textSm","tokens.leadingSm","tokens.focusRing","SLOT_ATTR","boxModel","tokens.grayA11","tokens.grayA12","tokens.spacingGroup1","tokens.radiusMd","tokens.fontWeightSemibold","tokens.textXs","tokens.leadingXs","tokens.graySoft","tokens.spacingElement1","tokens.accentA11","tokens.grayA8","FieldCombobox","React","_ref","Popover","FieldComboboxTrigger","className","children","forwardedRef","styles","fieldContext","useOptionalFieldContext","inField","inputRef","useReportFieldControlId","jsxs","PopoverTrigger","el","mergeClasses","FieldComboboxContent","container","items","filter","itemToStringValue","limit","value","defaultValue","onValueChange","ref","PopoverPortal","PopoverContent","Command","FieldComboboxValue","FieldComboboxInput","CommandInput","FieldComboboxList","ariaLabel","ariaLabelledBy","fieldLabelId","useFieldLabelId","CommandList","FieldComboboxItem","CommandItem","FieldComboboxItemCheckIcon","FieldComboboxEmpty","CommandEmpty","FieldComboboxGroup","CommandGroup","FieldComboboxGroupLabel","CommandGroupLabel","FieldComboboxCollection","CommandCollection","FieldComboboxSeparator","CommandSeparator","FieldComboboxLoading","CommandLoading","FieldComboboxClear","onClick","event","FieldComboboxPlaceholder","FieldComboboxClearValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"field-combobox.js","sources":["../../../src/components/field/field-combobox.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel, nativeControl } from \"../../styles/host-reset\"\nimport * as tokens from \"../../tokens\"\nimport {\n Command,\n CommandCollection,\n CommandEmpty,\n CommandGroup,\n CommandGroupLabel,\n CommandInput,\n CommandItem,\n CommandList,\n CommandLoading,\n CommandSeparator,\n type CommandCollectionProps,\n type CommandEmptyProps,\n type CommandGroupLabelProps,\n type CommandGroupProps,\n type CommandInputProps,\n type CommandItemProps,\n type CommandListProps,\n type CommandLoadingProps,\n type CommandRootProps,\n type CommandSeparatorProps,\n} from \"../command/command\"\nimport {\n Popover,\n PopoverContent,\n PopoverPortal,\n PopoverTrigger,\n type PopoverContentProps,\n type PopoverPortalProps,\n type PopoverProps,\n type PopoverTriggerProps,\n} from \"../popover/popover\"\nimport {\n useFieldLabelId,\n useOptionalFieldContext,\n useReportFieldControlId,\n} from \"./field\"\n\nconst CheckIcon = (props: React.ComponentProps<\"svg\">) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"m382-354 339-339q12-12 28-12t28 12q12 12 12 28.5T777-636L410-268q-12 12-28 12t-28-12L182-440q-12-12-11.5-28.5T183-497q12-12 28.5-12t28.5 12l142 143Z\" />\n </svg>\n)\n\nconst ChevronDownIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M459-381 314-526q-3-3-4.5-6.5T308-540q0-8 5.5-14t14.5-6h304q9 0 14.5 6t5.5 14q0 2-6 14L501-381q-5 5-10 7t-11 2q-6 0-11-2t-10-7Z\" />\n </svg>\n)\n\nconst XIcon = (props: React.SVGProps<SVGSVGElement>) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 -960 960 960\"\n width=\"24px\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M480-424 284-228q-11 11-28 11t-28-11q-11-11-11-28t11-28l196-196-196-196q-11-11-11-28t11-28q11-11 28-11t28 11l196 196 196-196q11-11 28-11t28 11q11 11 11 28t-11 28L536-480l196 196q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-424Z\" />\n </svg>\n)\n\nconst useStyles = makeZenithStyles({\n trigger: {\n ...nativeControl,\n width: \"100%\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusLg),\n backgroundColor: \"transparent\",\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n whiteSpace: \"nowrap\",\n outlineStyle: \"none\",\n ...shorthands.border(\"0\"),\n ...shorthands.padding(0),\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.focusRing,\n },\n \":disabled\": {\n cursor: \"not-allowed\",\n opacity: 0.5,\n },\n\n // The open-state chevron rotation is declared HERE, on the trigger that carries the state\n // attribute, reaching the chevron by SLOT_ATTR.\n [`&[data-popup-open] [${SLOT_ATTR}=\"combobox-icon\"]`]: {\n transform: \"rotate(180deg)\",\n },\n },\n triggerInField: {\n outlineStyle: \"none\",\n \":focus-visible\": {\n outlineStyle: \"none\",\n },\n },\n triggerChevron: {\n ...boxModel,\n width: \"1.5rem\",\n height: \"1.5rem\",\n flexShrink: 0,\n transitionProperty: \"transform\",\n transitionDuration: \"150ms\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n \"@media (prefers-reduced-motion: reduce)\": {\n transitionDuration: \"0.01ms\",\n },\n color: tokens.grayA11,\n },\n value: {\n ...boxModel,\n color: tokens.grayA12,\n width: \"100%\",\n textAlign: \"left\",\n flexWrap: \"wrap\",\n display: \"flex\",\n ...shorthands.gap(tokens.spacingElement2),\n position: \"relative\",\n whiteSpace: \"normal\",\n marginRight: \"1.25rem\",\n },\n // Capped to the room on the popup's side of the trigger, which the Base UI positioner measures\n // into `--available-height` (seeded before its first pass, so no fallback). As a column, the\n // command root shrinks to fit and its list scrolls, under a search input that stays in place.\n content: {\n ...boxModel,\n ...shorthands.padding(0),\n display: \"flex\",\n flexDirection: \"column\",\n maxHeight: \"var(--available-height)\",\n },\n command: {\n ...boxModel,\n width: \"100%\",\n ...shorthands.borderRadius(0),\n },\n input: {\n ...nativeControl,\n width: \"100%\",\n },\n list: {\n ...boxModel,\n ...shorthands.padding(tokens.spacingElement2),\n },\n item: {\n ...boxModel,\n paddingLeft: tokens.spacingGroup1,\n paddingRight: \"2rem\",\n paddingTop: \"0.375rem\",\n paddingBottom: \"0.375rem\",\n color: tokens.grayA12,\n position: \"relative\",\n display: \"flex\",\n width: \"100%\",\n cursor: \"default\",\n alignItems: \"center\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusMd),\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n outlineStyle: \"none\",\n userSelect: \"none\",\n },\n itemCheckIcon: {\n ...boxModel,\n position: \"absolute\",\n right: tokens.spacingElement2,\n display: \"flex\",\n width: \"1rem\",\n height: \"1rem\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n checkSvg: {\n ...boxModel,\n width: \"1rem\",\n height: \"1rem\",\n color: tokens.grayA12,\n },\n empty: {\n ...boxModel,\n paddingTop: \"1.5rem\",\n paddingBottom: \"1.5rem\",\n textAlign: \"center\",\n color: tokens.grayA12,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n \":empty\": {\n paddingTop: 0,\n paddingBottom: 0,\n },\n },\n group: {\n ...boxModel,\n ...shorthands.padding(0),\n },\n groupLabel: {\n ...boxModel,\n color: tokens.grayA11,\n fontWeight: tokens.fontWeightSemibold,\n paddingLeft: tokens.spacingElement2,\n paddingRight: tokens.spacingElement2,\n paddingTop: tokens.spacingElement2,\n paddingBottom: tokens.spacingElement2,\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n },\n separator: {\n ...boxModel,\n backgroundColor: tokens.graySoft,\n pointerEvents: \"none\",\n marginLeft: `calc(-1 * ${tokens.spacingElement1})`,\n marginRight: `calc(-1 * ${tokens.spacingElement1})`,\n marginTop: tokens.spacingElement2,\n marginBottom: tokens.spacingElement2,\n height: \"1px\",\n },\n loading: {\n ...boxModel,\n color: tokens.grayA11,\n paddingLeft: tokens.spacingGroup1,\n paddingRight: tokens.spacingGroup1,\n paddingTop: tokens.spacingElement2,\n paddingBottom: tokens.spacingElement2,\n // A status region stays mounted; it takes room only while it has something to say.\n \":empty\": {\n paddingTop: 0,\n paddingBottom: 0,\n },\n },\n clear: {\n ...boxModel,\n position: \"absolute\",\n right: \"2.75rem\",\n cursor: \"pointer\",\n minHeight: \"auto\",\n ...shorthands.padding(\"0.125rem\"),\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n ...shorthands.borderRadius(\"9999px\"),\n backgroundColor: \"transparent\",\n ...shorthands.border(\"0\"),\n color: tokens.accentA11,\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.focusRing,\n },\n },\n clearSvg: {\n ...boxModel,\n width: \"1.25rem\",\n height: \"1.25rem\",\n },\n clearValue: {\n ...boxModel,\n cursor: \"pointer\",\n \":hover\": {\n opacity: 0.7,\n },\n color: \"currentColor\",\n ...shorthands.borderRadius(\"9999px\"),\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n clearValueSvg: {\n ...boxModel,\n width: \"1rem\",\n height: \"1rem\",\n color: \"currentColor\",\n },\n placeholder: {\n color: tokens.grayA8,\n },\n})\n\nexport type FieldComboboxProps = PopoverProps\n\nexport const FieldCombobox = React.forwardRef<HTMLElement, FieldComboboxProps>(\n function FieldCombobox(props, _ref) {\n return (\n <Popover\n data-slot=\"combobox\"\n {...{ [SLOT_ATTR]: \"combobox\" }}\n {...props}\n />\n )\n }\n)\n\nexport type FieldComboboxTriggerProps = PopoverTriggerProps\n\nexport const FieldComboboxTrigger = React.forwardRef<\n HTMLButtonElement,\n FieldComboboxTriggerProps\n>(function FieldComboboxTrigger(\n { className, children, ...props },\n forwardedRef\n) {\n const styles = useStyles()\n // Optional on purpose: this part is valid standalone and only picks up field wiring\n // when nested inside one. See useOptionalFieldContext.\n const fieldContext = useOptionalFieldContext()\n const inField = fieldContext !== null\n const inputRef = fieldContext?.inputRef ?? null\n // The Field names the list with the label whose `htmlFor` is this id, so it follows a change.\n useReportFieldControlId(props.id)\n\n const handleRef = (el: HTMLButtonElement | null) => {\n if (inputRef) {\n inputRef.current = el\n }\n if (typeof forwardedRef === \"function\") {\n forwardedRef(el)\n } else if (forwardedRef) {\n forwardedRef.current = el\n }\n }\n\n return (\n <PopoverTrigger\n ref={handleRef}\n data-slot=\"select-trigger\"\n {...{ [SLOT_ATTR]: \"select-trigger\" }}\n className={mergeClasses(\n styles.trigger,\n inField && styles.triggerInField,\n className\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon\n data-slot=\"combobox-icon\"\n {...{ [SLOT_ATTR]: \"combobox-icon\" }}\n className={styles.triggerChevron}\n />\n </PopoverTrigger>\n )\n})\n\n/**\n * The popover holding the search and the list, and the root of the search: `items` are filtered\n * against the input's text, and the list renders the matches.\n */\nexport type FieldComboboxContentProps = Omit<\n PopoverContentProps,\n \"defaultValue\"\n> &\n CommandRootProps & {\n container?: PopoverPortalProps[\"container\"]\n }\n\nexport const FieldComboboxContent = React.forwardRef<\n HTMLDivElement,\n FieldComboboxContentProps\n>(function FieldComboboxContent(\n {\n className,\n children,\n container,\n items,\n filter,\n itemToStringValue,\n limit,\n value,\n defaultValue,\n onValueChange,\n ...props\n },\n ref\n) {\n const styles = useStyles()\n\n return (\n <PopoverPortal container={container}>\n <PopoverContent\n ref={ref}\n data-slot=\"combobox-content\"\n {...{ [SLOT_ATTR]: \"combobox-content\" }}\n className={mergeClasses(styles.content, className)}\n {...props}\n >\n <Command\n data-slot=\"combobox-command\"\n {...{ [SLOT_ATTR]: \"combobox-command\" }}\n className={styles.command}\n items={items}\n filter={filter}\n itemToStringValue={itemToStringValue}\n limit={limit}\n value={value}\n defaultValue={defaultValue}\n onValueChange={onValueChange}\n >\n {children}\n </Command>\n </PopoverContent>\n </PopoverPortal>\n )\n})\n\nexport type FieldComboboxValueProps = React.ComponentProps<\"div\">\n\nexport const FieldComboboxValue = React.forwardRef<\n HTMLDivElement,\n FieldComboboxValueProps\n>(function FieldComboboxValue({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"combobox-value\"\n {...{ [SLOT_ATTR]: \"combobox-value\" }}\n className={mergeClasses(styles.value, className)}\n {...props}\n >\n {children}\n </div>\n )\n})\n\nexport type FieldComboboxInputProps = CommandInputProps\n\nexport const FieldComboboxInput = React.forwardRef<\n HTMLInputElement,\n FieldComboboxInputProps\n>(function FieldComboboxInput({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandInput\n ref={ref}\n data-slot=\"combobox-command-input\"\n {...{ [SLOT_ATTR]: \"combobox-command-input\" }}\n className={mergeClasses(styles.input, className)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxListProps = CommandListProps\n\n/** Inside a Field, the list is named by the Field's label, like the control; otherwise \"Suggestions\". */\nexport const FieldComboboxList = React.forwardRef<\n HTMLDivElement,\n FieldComboboxListProps\n>(function FieldComboboxList(\n {\n className,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n ...props\n },\n ref\n) {\n const styles = useStyles()\n const fieldLabelId = useFieldLabelId()\n\n return (\n <CommandList\n ref={ref}\n data-slot=\"combobox-command-list\"\n {...{ [SLOT_ATTR]: \"combobox-command-list\" }}\n className={mergeClasses(styles.list, className)}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy ?? (ariaLabel ? undefined : fieldLabelId)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxItemProps = CommandItemProps\n\nexport const FieldComboboxItem = React.forwardRef<\n HTMLDivElement,\n FieldComboboxItemProps\n>(function FieldComboboxItem({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandItem\n ref={ref}\n data-slot=\"combobox-item\"\n {...{ [SLOT_ATTR]: \"combobox-item\" }}\n className={mergeClasses(styles.item, className)}\n {...props}\n >\n {children}\n </CommandItem>\n )\n})\n\nexport type FieldComboboxItemCheckIconProps = React.ComponentProps<\"span\">\n\nexport const FieldComboboxItemCheckIcon = React.forwardRef<\n HTMLSpanElement,\n FieldComboboxItemCheckIconProps\n>(function FieldComboboxItemCheckIcon({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n className={mergeClasses(styles.itemCheckIcon, className)}\n {...props}\n >\n <CheckIcon className={styles.checkSvg} />\n </span>\n )\n})\n\nexport type FieldComboboxEmptyProps = CommandEmptyProps\n\nexport const FieldComboboxEmpty = React.forwardRef<\n HTMLDivElement,\n FieldComboboxEmptyProps\n>(function FieldComboboxEmpty({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandEmpty\n ref={ref}\n data-slot=\"combobox-empty\"\n {...{ [SLOT_ATTR]: \"combobox-empty\" }}\n className={mergeClasses(styles.empty, className)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxGroupProps = CommandGroupProps\n\nexport const FieldComboboxGroup = React.forwardRef<\n HTMLDivElement,\n FieldComboboxGroupProps\n>(function FieldComboboxGroup({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandGroup\n ref={ref}\n data-slot=\"combobox-group\"\n {...{ [SLOT_ATTR]: \"combobox-group\" }}\n className={mergeClasses(styles.group, className)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxGroupLabelProps = CommandGroupLabelProps\n\nexport const FieldComboboxGroupLabel = React.forwardRef<\n HTMLDivElement,\n FieldComboboxGroupLabelProps\n>(function FieldComboboxGroupLabel({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandGroupLabel\n ref={ref}\n data-slot=\"combobox-group-label\"\n {...{ [SLOT_ATTR]: \"combobox-group-label\" }}\n className={mergeClasses(styles.groupLabel, className)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxCollectionProps = CommandCollectionProps\n\n/**\n * Renders the matching items of the enclosing FieldComboboxGroup.\n * @no-host-element Base UI's Collection renders only the items, so there is no element to take a ref.\n */\nexport const FieldComboboxCollection = (\n props: FieldComboboxCollectionProps\n) => <CommandCollection {...props} />\n\nexport type FieldComboboxSeparatorProps = CommandSeparatorProps\n\nexport const FieldComboboxSeparator = React.forwardRef<\n HTMLDivElement,\n FieldComboboxSeparatorProps\n>(function FieldComboboxSeparator({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandSeparator\n ref={ref}\n data-slot=\"select-separator\"\n {...{ [SLOT_ATTR]: \"select-separator\" }}\n className={mergeClasses(styles.separator, className)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxLoadingProps = CommandLoadingProps\n\nexport const FieldComboboxLoading = React.forwardRef<\n HTMLDivElement,\n FieldComboboxLoadingProps\n>(function FieldComboboxLoading({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <CommandLoading\n ref={ref}\n data-slot=\"combobox-command-loading\"\n {...{ [SLOT_ATTR]: \"combobox-command-loading\" }}\n className={mergeClasses(styles.loading, className)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxClearProps = React.ComponentProps<\"span\">\n\nexport const FieldComboboxClear = React.forwardRef<\n HTMLSpanElement,\n FieldComboboxClearProps\n>(function FieldComboboxClear({ className, onClick, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n role=\"button\"\n tabIndex={0}\n className={mergeClasses(styles.clear, className)}\n onPointerDown={(event) => {\n event.preventDefault()\n event.stopPropagation()\n }}\n onClick={(event) => {\n event.preventDefault()\n event.stopPropagation()\n onClick?.(event)\n }}\n {...props}\n >\n <XIcon className={styles.clearSvg} />\n </span>\n )\n})\n\nexport type FieldComboboxPlaceholderProps = React.ComponentProps<\"span\">\n\nexport const FieldComboboxPlaceholder = React.forwardRef<\n HTMLSpanElement,\n FieldComboboxPlaceholderProps\n>(function FieldComboboxPlaceholder({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n className={mergeClasses(styles.placeholder, className)}\n {...props}\n />\n )\n})\n\nexport type FieldComboboxClearValueProps = React.ComponentProps<\"span\">\n\nexport const FieldComboboxClearValue = React.forwardRef<\n HTMLSpanElement,\n FieldComboboxClearValueProps\n>(function FieldComboboxClearValue({ className, onClick, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <span\n ref={ref}\n role=\"button\"\n tabIndex={0}\n className={mergeClasses(styles.clearValue, className)}\n onPointerDown={(event) => {\n event.preventDefault()\n event.stopPropagation()\n }}\n onClick={(event) => {\n event.preventDefault()\n event.stopPropagation()\n onClick?.(event)\n }}\n {...props}\n >\n <XIcon className={styles.clearValueSvg} />\n </span>\n )\n})\n\nexport {\n FieldCombobox as Combobox,\n FieldComboboxGroup as ComboboxGroup,\n FieldComboboxGroupLabel as ComboboxGroupLabel,\n FieldComboboxCollection as ComboboxCollection,\n FieldComboboxValue as ComboboxValue,\n FieldComboboxTrigger as ComboboxTrigger,\n FieldComboboxContent as ComboboxContent,\n FieldComboboxItem as ComboboxItem,\n FieldComboboxItemCheckIcon as ComboboxItemCheckIcon,\n FieldComboboxEmpty as ComboboxEmpty,\n FieldComboboxSeparator as ComboboxSeparator,\n FieldComboboxInput as ComboboxInput,\n FieldComboboxList as ComboboxList,\n FieldComboboxLoading as ComboboxLoading,\n FieldComboboxClear as ComboboxClear,\n FieldComboboxClearValue as ComboboxClearValue,\n FieldComboboxPlaceholder as ComboboxPlaceholder,\n}\n"],"names":["CheckIcon","props","jsx","ChevronDownIcon","XIcon","useStyles","makeZenithStyles","nativeControl","shorthands","tokens.spacingElement2","tokens.radiusLg","tokens.textSm","tokens.leadingSm","tokens.focusRing","SLOT_ATTR","boxModel","tokens.grayA11","tokens.grayA12","tokens.spacingGroup1","tokens.radiusMd","tokens.fontWeightSemibold","tokens.textXs","tokens.leadingXs","tokens.graySoft","tokens.spacingElement1","tokens.accentA11","tokens.grayA8","FieldCombobox","React","_ref","Popover","FieldComboboxTrigger","className","children","forwardedRef","styles","fieldContext","useOptionalFieldContext","inField","inputRef","useReportFieldControlId","jsxs","PopoverTrigger","el","mergeClasses","FieldComboboxContent","container","items","filter","itemToStringValue","limit","value","defaultValue","onValueChange","ref","PopoverPortal","PopoverContent","Command","FieldComboboxValue","FieldComboboxInput","CommandInput","FieldComboboxList","ariaLabel","ariaLabelledBy","fieldLabelId","useFieldLabelId","CommandList","FieldComboboxItem","CommandItem","FieldComboboxItemCheckIcon","FieldComboboxEmpty","CommandEmpty","FieldComboboxGroup","CommandGroup","FieldComboboxGroupLabel","CommandGroupLabel","FieldComboboxCollection","CommandCollection","FieldComboboxSeparator","CommandSeparator","FieldComboboxLoading","CommandLoading","FieldComboboxClear","onClick","event","FieldComboboxPlaceholder","FieldComboboxClearValue"],"mappings":"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"}
|