@utilitywarehouse/hearth-react 0.27.4 → 0.27.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkLCYTX42Acjs = require('./chunk-LCYTX42A.cjs');var _chunk3BDGBDPOcjs = require('./chunk-3BDGBDPO.cjs');var _chunkCTPWMRL2cjs = require('./chunk-CTPWMRL2.cjs');var _chunkHH35BGGPcjs = require('./chunk-HH35BGGP.cjs');var _chunk342EX54Xcjs = require('./chunk-342EX54X.cjs');var _chunkAWNOG45Xcjs = require('./chunk-AWNOG45X.cjs');var _chunk7F4MQL5Gcjs = require('./chunk-7F4MQL5G.cjs');var _chunkRDNRX35Pcjs = require('./chunk-RDNRX35P.cjs');var _chunkITZEACMWcjs = require('./chunk-ITZEACMW.cjs');var _chunkVCSJTDQRcjs = require('./chunk-VCSJTDQR.cjs');var _chunkGVVJQBRKcjs = require('./chunk-GVVJQBRK.cjs');var _chunk7LZI6HLWcjs = require('./chunk-7LZI6HLW.cjs');var _combobox = require('@base-ui/react/combobox');var _hearthreacticons = require('@utilitywarehouse/hearth-react-icons');var _radixui = require('radix-ui');var _jsxruntime = require('react/jsx-runtime');var T="Combobox",m=_chunk7LZI6HLWcjs.b.call(void 0, T);function J(p){let{className:g,children:d,triggerOnlyOnType:b,validationStatus:A,validationText:O,label:V,labelVariant:B,helperText:E,id:F,disabled:t,required:w,noOptionsFoundText:M,statusText:c,loading:R,hideLabel:L,placeholder:U,...$}=_chunkVCSJTDQRcjs.a.call(void 0, p,_chunkRDNRX35Pcjs.a),{id:u,labelId:k,helperTextId:q,validationTextId:z}=_chunkITZEACMWcjs.a.call(void 0, {providedId:F,prefix:"combobox"}),f=!t,D={id:u,labelId:k,helperTextId:q,validationTextId:z,label:V,labelVariant:B,helperText:E,validationText:f?O:void 0,validationStatus:f?A:void 0,required:w,hideLabel:L};return _jsxruntime.jsx.call(void 0, _chunkCTPWMRL2cjs.a,{className:_chunkGVVJQBRKcjs.a.call(void 0, m,g),"data-disabled":t?"":void 0,...D,children:_jsxruntime.jsxs.call(void 0, _combobox.Combobox.Root,{openOnInputClick:!b,...$,children:[_jsxruntime.jsx.call(void 0, _combobox.Combobox.Input,{render:_jsxruntime.jsxs.call(void 0, _chunkHH35BGGPcjs.a,{id:u,disabled:t,placeholder:U,children:[_jsxruntime.jsx.call(void 0, _combobox.Combobox.Trigger,{disabled:t,render:_jsxruntime.jsx.call(void 0, _chunk3BDGBDPOcjs.a,{placement:"prefix",asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkAWNOG45Xcjs.a,{type:"button",label:"Open popup",disabled:t,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.SearchMediumIcon,{})})})}),R?_jsxruntime.jsx.call(void 0, _chunk3BDGBDPOcjs.a,{placement:"suffix",children:_jsxruntime.jsx.call(void 0, _chunk7F4MQL5Gcjs.a,{size:"xs",color:"primary"})}):null,_jsxruntime.jsx.call(void 0, _combobox.Combobox.Clear,{render:_jsxruntime.jsx.call(void 0, _chunk3BDGBDPOcjs.a,{placement:"suffix",asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkAWNOG45Xcjs.a,{type:"button",label:"Clear selection",disabled:t,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.CloseSmallIcon,{})})})}),b?null:_jsxruntime.jsx.call(void 0, _combobox.Combobox.Trigger,{disabled:t,render:_jsxruntime.jsx.call(void 0, _chunk3BDGBDPOcjs.a,{placement:"suffix",asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkAWNOG45Xcjs.a,{type:"button",label:"Open popup",disabled:t,children:_jsxruntime.jsx.call(void 0, _hearthreacticons.ExpandSmallIcon,{})})})})]})}),_jsxruntime.jsx.call(void 0, _combobox.Combobox.Portal,{children:_jsxruntime.jsx.call(void 0, _combobox.Combobox.Positioner,{side:"bottom",sideOffset:16,align:"start",alignOffset:-47,children:_jsxruntime.jsxs.call(void 0, _combobox.Combobox.Popup,{className:`${m}Popup`,children:[c?_jsxruntime.jsx.call(void 0, _combobox.Combobox.Status,{children:c}):null,p.items?_jsxruntime.jsx.call(void 0, _chunk342EX54Xcjs.a,{className:`${m}Empty`,children:M}):null,_jsxruntime.jsxs.call(void 0, _radixui.ScrollArea.Root,{className:_chunk7LZI6HLWcjs.b.call(void 0, "ScrollAreaRoot"),type:"auto",children:[_jsxruntime.jsx.call(void 0, _radixui.ScrollArea.Viewport,{className:_chunk7LZI6HLWcjs.b.call(void 0, "ScrollAreaViewport"),children:_jsxruntime.jsx.call(void 0, _combobox.Combobox.List,{className:`${m}List`,children:d||(s=>_jsxruntime.jsx.call(void 0, _chunkLCYTX42Acjs.a,{value:s,children:s},s))})}),_jsxruntime.jsx.call(void 0, _radixui.ScrollArea.Scrollbar,{className:_chunk7LZI6HLWcjs.b.call(void 0, "ScrollAreaScrollbar"),orientation:"vertical",children:_jsxruntime.jsx.call(void 0, _radixui.ScrollArea.Thumb,{className:_chunk7LZI6HLWcjs.b.call(void 0, "ScrollAreaThumb")})})]})]})})})]})})}J.displayName=T;exports.a = J;
2
- //# sourceMappingURL=chunk-D3DS55BK.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/runner/work/hearth/hearth/packages/react/dist/chunk-D3DS55BK.cjs","../src/components/Combobox/Combobox.tsx"],"names":["COMPONENT_NAME","componentClassName","withGlobalPrefix","Combobox","props","className","children","triggerOnlyOnType","validationStatus","validationText","label","labelVariant","helperText","providedId","disabled","required","noOptionsFoundText","statusText","loading","hideLabel","placeholder","comboboxProps","extractProps","marginPropDefs","id","labelId","helperTextId","validationTextId","useIds","showValidation","formFieldProps","jsx","FormField","cn","jsxs","ComboboxPrimitive","InputBase","InputSlot","UnstyledIconButton","SearchMediumIcon","Spinner","CloseSmallIcon","ExpandSmallIcon"],"mappings":"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","file":"/home/runner/work/hearth/hearth/packages/react/dist/chunk-D3DS55BK.cjs","sourcesContent":[null,"'use client';\n\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { useIds } from '../../hooks/use-ids';\nimport { FormField } from '../FormField/FormField';\nimport type { ComboboxProps } from './Combobox.props';\nimport { Combobox as ComboboxPrimitive } from '@base-ui/react/combobox';\nimport { InputBase } from '../InputBase/InputBase';\nimport { InputSlot } from '../InputSlot/InputSlot';\nimport {\n CloseSmallIcon,\n ExpandSmallIcon,\n SearchMediumIcon,\n} from '@utilitywarehouse/hearth-react-icons';\nimport { ComboboxItem } from './ComboboxItem';\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\nimport { UnstyledIconButton } from '../UnstyledIconButton/UnstyledIconButton';\nimport { ComboboxEmpty } from './ComboboxEmpty';\nimport { Spinner } from '../Spinner/Spinner';\n\nconst COMPONENT_NAME = 'Combobox';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\nexport function Combobox<Value, Multiple extends boolean | undefined = false>(\n props: ComboboxProps<Value, Multiple>\n) {\n const {\n className,\n children,\n triggerOnlyOnType,\n validationStatus,\n validationText,\n label,\n labelVariant,\n helperText,\n id: providedId,\n disabled,\n required,\n noOptionsFoundText,\n statusText,\n loading,\n hideLabel,\n placeholder,\n ...comboboxProps\n } = extractProps(props, marginPropDefs);\n\n const { id, labelId, helperTextId, validationTextId } = useIds({\n providedId,\n prefix: 'combobox',\n });\n\n const showValidation = !disabled;\n\n const formFieldProps = {\n id,\n labelId,\n helperTextId,\n validationTextId,\n label,\n labelVariant,\n helperText,\n validationText: showValidation ? validationText : undefined,\n validationStatus: showValidation ? validationStatus : undefined,\n required,\n hideLabel,\n };\n\n return (\n <FormField\n className={cn(componentClassName, className)}\n data-disabled={disabled ? '' : undefined}\n {...formFieldProps}\n >\n <ComboboxPrimitive.Root openOnInputClick={!triggerOnlyOnType} {...comboboxProps}>\n <ComboboxPrimitive.Input\n render={\n <InputBase id={id} disabled={disabled} placeholder={placeholder}>\n <ComboboxPrimitive.Trigger\n disabled={disabled}\n render={\n <InputSlot placement=\"prefix\" asChild>\n <UnstyledIconButton type=\"button\" label=\"Open popup\" disabled={disabled}>\n <SearchMediumIcon />\n </UnstyledIconButton>\n </InputSlot>\n }\n />\n {loading ? (\n <InputSlot placement=\"suffix\">\n <Spinner size=\"xs\" color=\"primary\" />\n </InputSlot>\n ) : null}\n <ComboboxPrimitive.Clear\n render={\n <InputSlot placement=\"suffix\" asChild>\n <UnstyledIconButton type=\"button\" label=\"Clear selection\" disabled={disabled}>\n <CloseSmallIcon />\n </UnstyledIconButton>\n </InputSlot>\n }\n />\n {triggerOnlyOnType ? null : (\n <ComboboxPrimitive.Trigger\n disabled={disabled}\n render={\n <InputSlot placement=\"suffix\" asChild>\n <UnstyledIconButton type=\"button\" label=\"Open popup\" disabled={disabled}>\n <ExpandSmallIcon />\n </UnstyledIconButton>\n </InputSlot>\n }\n />\n )}\n </InputBase>\n }\n />\n\n <ComboboxPrimitive.Portal>\n <ComboboxPrimitive.Positioner\n side=\"bottom\"\n sideOffset={16}\n align=\"start\"\n alignOffset={-47}\n >\n <ComboboxPrimitive.Popup className={`${componentClassName}Popup`}>\n {statusText ? (\n <ComboboxPrimitive.Status>{statusText}</ComboboxPrimitive.Status>\n ) : null}\n {props.items ? (\n <ComboboxEmpty className={`${componentClassName}Empty`}>\n {noOptionsFoundText}\n </ComboboxEmpty>\n ) : null}\n <ScrollAreaPrimitive.Root className={withGlobalPrefix('ScrollAreaRoot')} type=\"auto\">\n <ScrollAreaPrimitive.Viewport className={withGlobalPrefix('ScrollAreaViewport')}>\n <ComboboxPrimitive.List className={`${componentClassName}List`}>\n {children\n ? children\n : (item: string) => (\n <ComboboxItem key={item} value={item}>\n {item}\n </ComboboxItem>\n )}\n </ComboboxPrimitive.List>\n </ScrollAreaPrimitive.Viewport>\n <ScrollAreaPrimitive.Scrollbar\n className={withGlobalPrefix('ScrollAreaScrollbar')}\n orientation=\"vertical\"\n >\n <ScrollAreaPrimitive.Thumb className={withGlobalPrefix('ScrollAreaThumb')} />\n </ScrollAreaPrimitive.Scrollbar>\n </ScrollAreaPrimitive.Root>\n </ComboboxPrimitive.Popup>\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n </ComboboxPrimitive.Root>\n </FormField>\n );\n}\n\nCombobox.displayName = COMPONENT_NAME;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/use-media-query.ts"],"sourcesContent":["// gratefully copied from MUI -> https://github.com/mui/material-ui/blob/master/packages/mui-system/src/useMediaQuery/useMediaQuery.ts\n\nimport { useCallback, useDebugValue, useMemo, useSyncExternalStore } from 'react';\n\nexport interface UseMediaQueryOptions {\n /**\n * As `window.matchMedia()` is unavailable on the server,\n * this is the default value to return.\n * @default false\n */\n defaultValue?: boolean;\n /**\n * To perform the server-side hydration, the hook needs to render twice.\n * A first time with `defaultValue`, the value of the server, and a second time with the resolved value.\n * This double pass rendering cycle comes with a drawback: it's slower.\n * In SSR, you should set it to `true`, returning `options.defaultValue` or `false` initially.\n * @default false\n */\n initializeWithDefaultValue?: boolean;\n}\n\n/**\n * Custom hook that tracks the state of a media query using the [`Match Media API`](https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia).\n * @param {string} query - The media query to track.\n * @param {?UseMediaQueryOptions} [options] - The options for customizing the behavior of the hook (optional).\n * @returns {boolean} The current state of the media query (true if the query matches, false otherwise).\n * @see [Documentation](https://uw-web-ui.vercel.app/?path=/docs/web-ui-helpers-media-queries--documentation##usemediaqueries-hook)\n * @example\n * ```tsx\n * import { useMediaQuery, media } from '@utilitywarehouse/hearth-react';\n *\n * const isMobileOrTablet = useMediaQuery(media.below('desktop'));\n * // Use `isMobileOrTablet ` to conditionally apply styles or logic based on the screen size.\n * ```\n */\nexport function useMediaQuery(query: string, options: UseMediaQueryOptions = {}): boolean {\n const { defaultValue = false, initializeWithDefaultValue = false } = options;\n\n query = query.replace(/^@media( ?)/m, '');\n\n const getDefaultSnapshot = useCallback(() => defaultValue, [defaultValue]);\n const getServerSnapshot = useMemo(() => {\n if (initializeWithDefaultValue) {\n return getDefaultSnapshot;\n }\n return () => window.matchMedia(query).matches;\n }, [getDefaultSnapshot, query, initializeWithDefaultValue]);\n\n const [getSnapshot, subscribe] = useMemo(() => {\n if (window.matchMedia === null) {\n return [getDefaultSnapshot, () => () => {}];\n }\n\n const mediaQueryList = window.matchMedia(query);\n\n return [\n () => mediaQueryList.matches,\n (notify: () => void) => {\n mediaQueryList.addEventListener('change', notify);\n return () => {\n mediaQueryList.removeEventListener('change', notify);\n };\n },\n ];\n }, [getDefaultSnapshot, query]);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-call\n const match = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useDebugValue({ query, match });\n }\n\n return match;\n}\n"],"mappings":"AAEA,OAAS,eAAAA,EAAa,iBAAAC,EAAe,WAAAC,EAAS,wBAAAC,MAA4B,QAiCnE,SAASC,EAAcC,EAAeC,EAAgC,CAAC,EAAY,CACxF,GAAM,CAAE,aAAAC,EAAe,GAAO,2BAAAC,EAA6B,EAAM,EAAIF,EAErED,EAAQA,EAAM,QAAQ,eAAgB,EAAE,EAExC,IAAMI,EAAqBT,EAAY,IAAMO,EAAc,CAACA,CAAY,CAAC,EACnEG,EAAoBR,EAAQ,IAC5BM,EACKC,EAEF,IAAM,OAAO,WAAWJ,CAAK,EAAE,QACrC,CAACI,EAAoBJ,EAAOG,CAA0B,CAAC,EAEpD,CAACG,EAAaC,CAAS,EAAIV,EAAQ,IAAM,CAC7C,GAAI,OAAO,aAAe,KACxB,MAAO,CAACO,EAAoB,IAAM,IAAM,CAAC,CAAC,EAG5C,IAAMI,EAAiB,OAAO,WAAWR,CAAK,EAE9C,MAAO,CACL,IAAMQ,EAAe,QACpBC,IACCD,EAAe,iBAAiB,SAAUC,CAAM,EACzC,IAAM,CACXD,EAAe,oBAAoB,SAAUC,CAAM,CACrD,EAEJ,CACF,EAAG,CAACL,EAAoBJ,CAAK,CAAC,EAExBU,EAAQZ,EAAqBS,EAAWD,EAAaD,CAAiB,EAE5E,OAAI,QAAQ,IAAI,WAAa,cAE3BT,EAAc,CAAE,MAAAI,EAAO,MAAAU,CAAM,CAAC,EAGzBA,CACT","names":["useCallback","useDebugValue","useMemo","useSyncExternalStore","useMediaQuery","query","options","defaultValue","initializeWithDefaultValue","getDefaultSnapshot","getServerSnapshot","getSnapshot","subscribe","mediaQueryList","notify","match"]}
@@ -1,2 +0,0 @@
1
- import{a as h}from"./chunk-RXNMDTWY.js";import{a as l}from"./chunk-SCXGXWII.js";import{a as y}from"./chunk-A65AIDIS.js";import{a as v}from"./chunk-BUC2OOMQ.js";import{a as N}from"./chunk-PJUL4CK3.js";import{a as r}from"./chunk-KUYDWFBT.js";import{a as S}from"./chunk-BYGE22IT.js";import{a as P}from"./chunk-W6VYE222.js";import{a as I}from"./chunk-L4OZ3M5X.js";import{a as C}from"./chunk-BMY6GUJM.js";import{a as x}from"./chunk-MSHCGZ4G.js";import{b as i}from"./chunk-TXDSZ3MR.js";import{Combobox as e}from"@base-ui/react/combobox";import{CloseSmallIcon as G,ExpandSmallIcon as _,SearchMediumIcon as H}from"@utilitywarehouse/hearth-react-icons";import{ScrollArea as a}from"radix-ui";import{jsx as o,jsxs as n}from"react/jsx-runtime";var T="Combobox",m=i(T);function J(p){let{className:g,children:d,triggerOnlyOnType:b,validationStatus:A,validationText:O,label:V,labelVariant:B,helperText:E,id:F,disabled:t,required:w,noOptionsFoundText:M,statusText:c,loading:R,hideLabel:L,placeholder:U,...$}=C(p,P),{id:u,labelId:k,helperTextId:q,validationTextId:z}=I({providedId:F,prefix:"combobox"}),f=!t,D={id:u,labelId:k,helperTextId:q,validationTextId:z,label:V,labelVariant:B,helperText:E,validationText:f?O:void 0,validationStatus:f?A:void 0,required:w,hideLabel:L};return o(y,{className:x(m,g),"data-disabled":t?"":void 0,...D,children:n(e.Root,{openOnInputClick:!b,...$,children:[o(e.Input,{render:n(v,{id:u,disabled:t,placeholder:U,children:[o(e.Trigger,{disabled:t,render:o(l,{placement:"prefix",asChild:!0,children:o(r,{type:"button",label:"Open popup",disabled:t,children:o(H,{})})})}),R?o(l,{placement:"suffix",children:o(S,{size:"xs",color:"primary"})}):null,o(e.Clear,{render:o(l,{placement:"suffix",asChild:!0,children:o(r,{type:"button",label:"Clear selection",disabled:t,children:o(G,{})})})}),b?null:o(e.Trigger,{disabled:t,render:o(l,{placement:"suffix",asChild:!0,children:o(r,{type:"button",label:"Open popup",disabled:t,children:o(_,{})})})})]})}),o(e.Portal,{children:o(e.Positioner,{side:"bottom",sideOffset:16,align:"start",alignOffset:-47,children:n(e.Popup,{className:`${m}Popup`,children:[c?o(e.Status,{children:c}):null,p.items?o(N,{className:`${m}Empty`,children:M}):null,n(a.Root,{className:i("ScrollAreaRoot"),type:"auto",children:[o(a.Viewport,{className:i("ScrollAreaViewport"),children:o(e.List,{className:`${m}List`,children:d||(s=>o(h,{value:s,children:s},s))})}),o(a.Scrollbar,{className:i("ScrollAreaScrollbar"),orientation:"vertical",children:o(a.Thumb,{className:i("ScrollAreaThumb")})})]})]})})})]})})}J.displayName=T;export{J as a};
2
- //# sourceMappingURL=chunk-ZALEVSYL.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Combobox/Combobox.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '../../helpers/cn';\nimport { withGlobalPrefix } from '../../helpers/with-global-prefix';\nimport { extractProps } from '../../helpers/extract-props';\nimport { marginPropDefs } from '../../props/margin.props';\nimport { useIds } from '../../hooks/use-ids';\nimport { FormField } from '../FormField/FormField';\nimport type { ComboboxProps } from './Combobox.props';\nimport { Combobox as ComboboxPrimitive } from '@base-ui/react/combobox';\nimport { InputBase } from '../InputBase/InputBase';\nimport { InputSlot } from '../InputSlot/InputSlot';\nimport {\n CloseSmallIcon,\n ExpandSmallIcon,\n SearchMediumIcon,\n} from '@utilitywarehouse/hearth-react-icons';\nimport { ComboboxItem } from './ComboboxItem';\nimport { ScrollArea as ScrollAreaPrimitive } from 'radix-ui';\nimport { UnstyledIconButton } from '../UnstyledIconButton/UnstyledIconButton';\nimport { ComboboxEmpty } from './ComboboxEmpty';\nimport { Spinner } from '../Spinner/Spinner';\n\nconst COMPONENT_NAME = 'Combobox';\nconst componentClassName = withGlobalPrefix(COMPONENT_NAME);\n\nexport function Combobox<Value, Multiple extends boolean | undefined = false>(\n props: ComboboxProps<Value, Multiple>\n) {\n const {\n className,\n children,\n triggerOnlyOnType,\n validationStatus,\n validationText,\n label,\n labelVariant,\n helperText,\n id: providedId,\n disabled,\n required,\n noOptionsFoundText,\n statusText,\n loading,\n hideLabel,\n placeholder,\n ...comboboxProps\n } = extractProps(props, marginPropDefs);\n\n const { id, labelId, helperTextId, validationTextId } = useIds({\n providedId,\n prefix: 'combobox',\n });\n\n const showValidation = !disabled;\n\n const formFieldProps = {\n id,\n labelId,\n helperTextId,\n validationTextId,\n label,\n labelVariant,\n helperText,\n validationText: showValidation ? validationText : undefined,\n validationStatus: showValidation ? validationStatus : undefined,\n required,\n hideLabel,\n };\n\n return (\n <FormField\n className={cn(componentClassName, className)}\n data-disabled={disabled ? '' : undefined}\n {...formFieldProps}\n >\n <ComboboxPrimitive.Root openOnInputClick={!triggerOnlyOnType} {...comboboxProps}>\n <ComboboxPrimitive.Input\n render={\n <InputBase id={id} disabled={disabled} placeholder={placeholder}>\n <ComboboxPrimitive.Trigger\n disabled={disabled}\n render={\n <InputSlot placement=\"prefix\" asChild>\n <UnstyledIconButton type=\"button\" label=\"Open popup\" disabled={disabled}>\n <SearchMediumIcon />\n </UnstyledIconButton>\n </InputSlot>\n }\n />\n {loading ? (\n <InputSlot placement=\"suffix\">\n <Spinner size=\"xs\" color=\"primary\" />\n </InputSlot>\n ) : null}\n <ComboboxPrimitive.Clear\n render={\n <InputSlot placement=\"suffix\" asChild>\n <UnstyledIconButton type=\"button\" label=\"Clear selection\" disabled={disabled}>\n <CloseSmallIcon />\n </UnstyledIconButton>\n </InputSlot>\n }\n />\n {triggerOnlyOnType ? null : (\n <ComboboxPrimitive.Trigger\n disabled={disabled}\n render={\n <InputSlot placement=\"suffix\" asChild>\n <UnstyledIconButton type=\"button\" label=\"Open popup\" disabled={disabled}>\n <ExpandSmallIcon />\n </UnstyledIconButton>\n </InputSlot>\n }\n />\n )}\n </InputBase>\n }\n />\n\n <ComboboxPrimitive.Portal>\n <ComboboxPrimitive.Positioner\n side=\"bottom\"\n sideOffset={16}\n align=\"start\"\n alignOffset={-47}\n >\n <ComboboxPrimitive.Popup className={`${componentClassName}Popup`}>\n {statusText ? (\n <ComboboxPrimitive.Status>{statusText}</ComboboxPrimitive.Status>\n ) : null}\n {props.items ? (\n <ComboboxEmpty className={`${componentClassName}Empty`}>\n {noOptionsFoundText}\n </ComboboxEmpty>\n ) : null}\n <ScrollAreaPrimitive.Root className={withGlobalPrefix('ScrollAreaRoot')} type=\"auto\">\n <ScrollAreaPrimitive.Viewport className={withGlobalPrefix('ScrollAreaViewport')}>\n <ComboboxPrimitive.List className={`${componentClassName}List`}>\n {children\n ? children\n : (item: string) => (\n <ComboboxItem key={item} value={item}>\n {item}\n </ComboboxItem>\n )}\n </ComboboxPrimitive.List>\n </ScrollAreaPrimitive.Viewport>\n <ScrollAreaPrimitive.Scrollbar\n className={withGlobalPrefix('ScrollAreaScrollbar')}\n orientation=\"vertical\"\n >\n <ScrollAreaPrimitive.Thumb className={withGlobalPrefix('ScrollAreaThumb')} />\n </ScrollAreaPrimitive.Scrollbar>\n </ScrollAreaPrimitive.Root>\n </ComboboxPrimitive.Popup>\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n </ComboboxPrimitive.Root>\n </FormField>\n );\n}\n\nCombobox.displayName = COMPONENT_NAME;\n"],"mappings":"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","names":["ComboboxPrimitive","CloseSmallIcon","ExpandSmallIcon","SearchMediumIcon","ScrollAreaPrimitive","jsx","jsxs","COMPONENT_NAME","componentClassName","withGlobalPrefix","Combobox","props","className","children","triggerOnlyOnType","validationStatus","validationText","label","labelVariant","helperText","providedId","disabled","required","noOptionsFoundText","statusText","loading","hideLabel","placeholder","comboboxProps","extractProps","marginPropDefs","id","labelId","helperTextId","validationTextId","useIds","showValidation","formFieldProps","FormField","cn","ComboboxPrimitive","InputBase","InputSlot","UnstyledIconButton","SearchMediumIcon","Spinner","CloseSmallIcon","ExpandSmallIcon","ComboboxEmpty","ScrollAreaPrimitive","item","ComboboxItem"]}