{
  "version": 3,
  "sources": ["../src/Selector.types.ts", "../src/useSelector/useAsyncSelector.ts", "../src/useSelector/useSyncSelector.ts", "../src/hooks/useClosePopupOnOutsideEvents.ts", "../src/hooks/useConfig.ts", "../src/skeleton.css.ts", "../src/hooks/usePopup.ts", "../src/hooks/useTriggerRenderer.tsx", "../src/TriggerContent/TriggerContent.tsx", "../src/TriggerContent/TriggerContent.css.ts", "../src/hooks/useVisibility.ts", "../src/UiSelector/UiSelector.tsx", "../src/UiSelector/UiSelector.css.ts", "../src/Popup/Popup.tsx", "../src/Popup/Popup.css.ts", "../src/Search/Search.tsx", "../src/assets/clear.svg", "../src/Search/Search.css.ts", "../src/Search/Search.hooks.ts", "../src/Trigger/Trigger.tsx", "../src/assets/chevronDown.svg", "../src/assets/chevronUp.svg", "../src/assets/running.svg", "../src/Trigger/Trigger.css.ts"],
  "sourcesContent": ["import { PropsWithChildren, ReactNode } from 'react';\n\nimport { OffsetOptions } from '@floating-ui/react';\n\nimport { UiMenuDivider, UiMenuItem, UiMenuTitle } from '@tabula/ui-menu';\n\nexport enum VisibleKind {\n  Outside,\n  Trigger,\n  Select,\n}\n\n// ----- Handler types\n\nexport type ChangeVisibleHandler = (visibility: boolean, kind: VisibleKind) => void;\nexport type TriggerRenderer = () => ReactNode;\n\n// ----- Option types\n\nexport type Item = UiMenuItem & {\n  denyFilter?: boolean;\n  searchKeys?: string[];\n};\nexport type Divider = UiMenuDivider;\nexport type Title = UiMenuTitle;\nexport type DefaultItem = UiMenuItem;\n\nexport type ConfigItem = Item | Divider | Title;\nexport type Config = ConfigItem[];\n\n// ----- Item getter types\n\nexport type OptionItem<T> = T | Divider | Title;\n\ntype ItemConfigGetterOptions<T> = {\n  item: T;\n  options: Array<OptionItem<T>>;\n  isTrigger?: boolean;\n};\nexport type ItemConfigGetter<T> = (options: ItemConfigGetterOptions<T>) => Item | null;\n\n// ----- Component types\n\nexport type Props = PropsWithChildren<{\n  config: Config;\n  defaultItem?: DefaultItem;\n  emptyContent?: ReactNode;\n  isInvalid?: boolean;\n  isVisible?: boolean;\n  isWarning?: boolean;\n  loading?: boolean;\n  offset?: OffsetOptions;\n  onChangeVisible?: ChangeVisibleHandler;\n  onRenderTrigger?: TriggerRenderer;\n  placeholder?: string;\n  popupClassName?: string;\n  readOnly?: boolean;\n  searchClassName?: string;\n  showSearchClear?: boolean;\n  showSearchField?: boolean;\n  triggerClassName?: string;\n  triggerContainerClassName?: string;\n}>;\n\nexport { type OffsetOptions as Offset } from '@floating-ui/react';\n", "import { useCallback, useState } from 'react';\n\nimport { useAsyncState } from '@tabula/use-async-state';\nimport { usePreviousValue } from '@tabula/use-previous-value';\n\nimport { OptionItem } from '../Selector.types';\n\nimport { BaseOptions, BaseResult } from './useSelector.types';\nimport { useSyncSelector } from './useSyncSelector';\n\ntype Options<T> = BaseOptions<T> & {\n  loadOnHidden?: boolean;\n  optionsGetter: () => Promise<Array<OptionItem<T>>>;\n  refresh?: boolean;\n};\n\ntype Result = BaseResult & {\n  isVisible: boolean;\n  loading: boolean;\n  onChangeVisibleTo: (visibility: boolean) => void;\n  onRefresh: () => void;\n  refreshing: boolean;\n  showSearchField?: boolean;\n};\n\nexport function useAsyncSelector<T>({\n  loadOnHidden = false,\n  optionsGetter,\n  refresh,\n  ...params\n}: Options<T>): Result {\n  const [isVisible, setIsVisible] = useState(false);\n  const prevVisible = usePreviousValue(isVisible);\n\n  const skipLoading = useCallback(\n    () => !loadOnHidden && (prevVisible ?? !isVisible),\n    [loadOnHidden, prevVisible, isVisible],\n  );\n  const skipWaiting = useCallback(\n    () => Boolean(prevVisible && !isVisible),\n    [prevVisible, isVisible],\n  );\n\n  const [options, loading, refreshing, onRefresh] = useAsyncState({\n    initialLoading: false,\n    initialState: [],\n    promise: optionsGetter,\n    refresh,\n    skipLoading,\n    skipWaiting,\n  });\n\n  const syncSelector = useSyncSelector({ ...params, options });\n\n  return {\n    ...syncSelector,\n    isVisible,\n    loading,\n    onChangeVisibleTo: setIsVisible,\n    onRefresh,\n    refreshing,\n  };\n}\n", "import { useMemo } from 'react';\n\nimport { Config, OptionItem } from '../Selector.types';\nimport { useTriggerRenderer } from '../hooks';\n\nimport { BaseOptions, BaseResult } from './useSelector.types';\n\ntype Options<T> = BaseOptions<T> & {\n  options: Array<OptionItem<T>>;\n};\n\nexport function useSyncSelector<T>({\n  itemConfigGetter,\n  minItemsForSearch,\n  onChange,\n  options,\n  value,\n}: Options<T>): BaseResult {\n  const triggerRenderer = useTriggerRenderer({ value, options, itemConfigGetter });\n\n  const config = useMemo(\n    () =>\n      options.reduce((acc: Config, item) => {\n        if (\n          typeof item === 'object' &&\n          item != null &&\n          ('divider' in item || 'menuTitle' in item)\n        ) {\n          acc.push(item);\n          return acc;\n        }\n\n        const itemConfig = itemConfigGetter({ item, options });\n\n        if (itemConfig != null) {\n          acc.push({\n            ...itemConfig,\n            onClick() {\n              onChange(item);\n            },\n          });\n        }\n\n        return acc;\n      }, []),\n    [onChange, options, itemConfigGetter],\n  );\n\n  const showSearchField = useMemo(() => {\n    if (minItemsForSearch == null) {\n      return;\n    }\n\n    return options.length > minItemsForSearch;\n  }, [minItemsForSearch, options]);\n\n  return { config, showSearchField, triggerRenderer };\n}\n", "import { useCallback } from 'react';\n\nimport { ExtendedRefs } from '@floating-ui/react';\n\nimport { OutsideListener, useCloseOnOutsideEvents } from '@tabula/use-close-on-outside-events';\n\nimport { ChangeVisibleHandler, VisibleKind } from '../Selector.types';\n\ntype Options = {\n  refs: ExtendedRefs<HTMLElement>;\n  isVisible: boolean;\n  onChangeVisible: ChangeVisibleHandler;\n};\n\nexport function useClosePopupOnOutsideEvents({ refs, isVisible, onChangeVisible }: Options): void {\n  const onOutsideClick = useCallback<OutsideListener>(\n    (event) => {\n      if (!(event.target instanceof Element)) {\n        throw new TypeError('Target must be an Element');\n      }\n\n      const { current: trigger } = refs.reference;\n\n      if (trigger == null) {\n        return;\n      }\n\n      // NOTE: Check is `trigger` is not virtual element.\n      if (!(trigger instanceof Element)) {\n        return;\n      }\n\n      // NOTE: Exclude auto-hide popup after click by trigger node\n      if (!trigger.contains(event.target)) {\n        onChangeVisible(false, VisibleKind.Outside);\n      }\n    },\n    [refs.reference, onChangeVisible],\n  );\n\n  useCloseOnOutsideEvents({\n    ref: refs.floating,\n    isOpen: isVisible,\n    listenEvents: ['mousedown'],\n    listener: onOutsideClick,\n  });\n}\n", "import { useMemo } from 'react';\n\nimport * as styles from '../skeleton.css';\n\nimport { Config, DefaultItem } from '../Selector.types';\n\ntype Options = {\n  outerConfig: Config;\n  defaultItem?: DefaultItem;\n  searchValue: string;\n  showSearchField?: boolean;\n  loading?: boolean;\n};\n\nconst LOADING_CONFIG: Config = [\n  {\n    id: 'loading-1',\n    content: '',\n    className: styles.root,\n    contentClassName: styles.content,\n  },\n  {\n    id: 'loading-2',\n    content: '',\n    className: styles.root,\n    contentClassName: styles.content,\n  },\n];\n\nexport function useConfig({\n  outerConfig,\n  defaultItem,\n  searchValue,\n  showSearchField,\n  loading,\n}: Options): Config {\n  const isMatch = useMemo(() => {\n    const pattern = searchValue.trim().toLowerCase();\n\n    return (target: string) => target.trim().toLowerCase().includes(pattern);\n  }, [searchValue]);\n\n  return useMemo(() => {\n    if (loading) {\n      return LOADING_CONFIG;\n    }\n\n    if (showSearchField && searchValue !== '') {\n      return outerConfig\n        .reduce((acc: Config, item) => {\n          if ('divider' in item || 'menuTitle' in item) {\n            return acc;\n          }\n\n          const { denyFilter, searchKeys, ...restItem } = item;\n          if (denyFilter || searchKeys?.some((key) => isMatch(key)) || isMatch(item.id)) {\n            acc.push(restItem);\n          }\n\n          return acc;\n        }, [])\n        .toSorted((left, right) => left.id.localeCompare(right.id));\n    }\n\n    const menuConfig: Config = outerConfig.map((item) => {\n      if ('divider' in item || 'menuTitle' in item) {\n        return item;\n      }\n\n      const { denyFilter, searchKeys, ...restItem } = item;\n      return restItem;\n    });\n\n    if (defaultItem != null) {\n      menuConfig.unshift(defaultItem, { id: 'default-item-divider', divider: true });\n    }\n\n    return menuConfig;\n  }, [loading, showSearchField, searchValue, defaultItem, outerConfig, isMatch]);\n}\n", "import 'src/skeleton.css.ts.vanilla.css?source=QGxheWVyIHRibC0tY29tcG9uZW50czsKQGxheWVyIHRibC0tY29tcG9uZW50cyB7CiAgLnRhYnVsYV91aV9zZWxlY3Rvcl9fMWxvcWpubzAgewogICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogIH0KICAudGFidWxhX3VpX3NlbGVjdG9yX18xbG9xam5vMSB7CiAgICBmbGV4OiBub25lOwogICAgaGVpZ2h0OiAxNnB4OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGJsLS1jb2xvcnMtLW5ldXRyYWwtLUExMCk7CiAgfQogIC50YWJ1bGFfdWlfc2VsZWN0b3JfXzFsb3Fqbm8wOm50aC1jaGlsZChldmVuKSAudGFidWxhX3VpX3NlbGVjdG9yX18xbG9xam5vMSB7CiAgICB3aWR0aDogNzUlOwogIH0KICAudGFidWxhX3VpX3NlbGVjdG9yX18xbG9xam5vMDpudGgtY2hpbGQob2RkKSAudGFidWxhX3VpX3NlbGVjdG9yX18xbG9xam5vMSB7CiAgICB3aWR0aDogNDUlOwogIH0KfQ';\nexport var content = 'tabula_ui_selector__1loqjno1';\nexport var root = 'tabula_ui_selector__1loqjno0';", "import { CSSProperties, useEffect, useMemo } from 'react';\n\nimport {\n  OffsetOptions,\n  autoUpdate,\n  flip,\n  hide,\n  offset,\n  shift,\n  useFloating,\n} from '@floating-ui/react';\n\nimport { usePreviousValue } from '@tabula/use-previous-value';\n\nimport { ChangeVisibleHandler } from '../Selector.types';\n\nimport { useClosePopupOnOutsideEvents } from './useClosePopupOnOutsideEvents';\n\nconst DEFAULT_OFFSET = 4;\n\ntype Options = {\n  offset?: OffsetOptions;\n  isVisible: boolean;\n  onChangeVisible: ChangeVisibleHandler;\n};\n\ntype Result = {\n  reference: (node: HTMLElement | null) => void;\n  floating: (node: HTMLElement | null) => void;\n  popupStyle: CSSProperties;\n};\n\nexport function usePopup({\n  offset: offsetOptions = DEFAULT_OFFSET,\n  isVisible,\n  onChangeVisible,\n}: Options): Result {\n  const prevVisible = usePreviousValue(isVisible);\n\n  const middleware = useMemo(\n    () => [offset(offsetOptions), shift(), flip({ fallbackStrategy: 'initialPlacement' }), hide()],\n    [offsetOptions],\n  );\n\n  const { x, y, refs, update, strategy, middlewareData } = useFloating<HTMLElement>({\n    placement: 'bottom-start',\n    middleware,\n  });\n\n  // TODO: We can replace it with `whileElementsMounted` option.\n  useEffect(() => {\n    const { current: reference } = refs.reference;\n    const { current: floating } = refs.floating;\n\n    if (reference == null || floating == null) {\n      return;\n    }\n\n    return autoUpdate(reference, floating, update);\n  }, [refs.reference, refs.floating, update]);\n\n  useEffect(() => {\n    if (!prevVisible && isVisible) {\n      update();\n    }\n  }, [isVisible, prevVisible, update]);\n\n  // TODO: We can replace it with `useDismiss` interaction.\n  useClosePopupOnOutsideEvents({\n    refs,\n    isVisible,\n    onChangeVisible,\n  });\n\n  const isReferenceHidden = middlewareData.hide?.referenceHidden;\n\n  const popupStyle = useMemo<CSSProperties>(() => {\n    const innerStyles: CSSProperties = { position: strategy };\n\n    if (!isVisible) {\n      return innerStyles;\n    }\n\n    if (isReferenceHidden) {\n      innerStyles.visibility = 'hidden';\n\n      return innerStyles;\n    }\n\n    innerStyles.transform = `translate(${Math.round(x)}px, ${Math.round(y)}px)`;\n\n    const { current: trigger } = refs.reference;\n\n    if (trigger == null) {\n      return innerStyles;\n    }\n\n    // NOTE: Make popup width equal with trigger width, when placement is stretch\n    // TODO: Are we really need `clientWidth` instead of `DOMRect.width`?\n    // TODO: Both variants are reduce performance. Can we avoid it?\n    innerStyles.width =\n      'clientWidth' in trigger ? trigger.clientWidth : trigger.getBoundingClientRect().width;\n\n    return innerStyles;\n  }, [isVisible, isReferenceHidden, refs.reference, strategy, x, y]);\n\n  return { reference: refs.setReference, floating: refs.setFloating, popupStyle };\n}\n", "import { useCallback } from 'react';\n\nimport { Item, ItemConfigGetter, OptionItem, TriggerRenderer } from '../Selector.types';\nimport { TriggerContent } from '../TriggerContent';\n\ntype OuterOptions = {\n  itemConfig: Item;\n};\ntype InnerOptions<T> = {\n  value: T;\n  options: Array<OptionItem<T>>;\n  itemConfigGetter: ItemConfigGetter<T>;\n};\n\ntype Options<T> = InnerOptions<T> | OuterOptions;\n\nexport function useTriggerRenderer<T>(params: Options<T>): TriggerRenderer {\n  return useCallback(() => {\n    if ('value' in params) {\n      const { value: item, options, itemConfigGetter } = params;\n      const itemConfig = itemConfigGetter({ item, isTrigger: true, options });\n\n      if (itemConfig == null) {\n        return null;\n      }\n\n      return <TriggerContent {...itemConfig} />;\n    }\n\n    return <TriggerContent {...params.itemConfig} />;\n  }, [params]);\n}\n", "import { ReactNode } from 'react';\n\nimport clsx from 'clsx';\n\nimport * as styles from './TriggerContent.css';\n\nimport { Item } from '../Selector.types';\n\nexport function TriggerContent({\n  content,\n  contentClassName,\n  leftIcon: LeftIcon,\n  rightIcon: RightIcon,\n  skipLeftIcon,\n  skipRightIcon,\n  title,\n}: Item): ReactNode {\n  return (\n    <div className={clsx(styles.root, title == null ? styles.lines.single : styles.lines.multiple)}>\n      {LeftIcon && !skipLeftIcon && (\n        <LeftIcon className={clsx(styles.icon, styles.iconVariants.left)} />\n      )}\n      <span className={clsx(styles.contentWrapper, contentClassName)}>\n        {title && <b className={styles.title}>{title}</b>}\n        <span className={styles.text}>{content}</span>\n      </span>\n      {RightIcon && !skipRightIcon && (\n        <RightIcon className={clsx(styles.icon, styles.iconVariants.right)} />\n      )}\n    </div>\n  );\n}\n\nif (import.meta.env.DEV) {\n  TriggerContent.displayName = 'UiSelector(TriggerContent)';\n}\n", "import 'src/TriggerContent/TriggerContent.css.ts.vanilla.css?source=#H4sIAAAAAAAAA61Ty24bMQy85yt0KdCgYOF13TSQL_kTQ7vi7rKRKEGiXy3y74X30ayLtJXRXknNkMMZPTlzxqSkdgBN8DEwsuTt3dObdfX9TqmPYuq9M7s97TI6bCSk3a46bL611KyGF0pZytGZs1atw9N2KBlHHQMJ-qxVgyyYLo2XvzBWvzISO2KEV-Kv-yzUnqEJLMiyJP_tVDUsBrlPxM9arUo2WU-beJM6YkjU9aLVYzyVgD9dgx225djNhG3DRd3BpPcAgzGXQgbIhjNkTNQCZPQEdXAWqvX44H7U61AEE-RoGuLuNppr7EQoeBKQZDi3IfnbCK-xE-FPh2sXmuft8lx1EAleq3WcPG-CC-lq5lDJMKcAICbyJp3vyy784Y_9z5MDBWMzNoFt6eAvE3E01hJ3ICFqtZlVztVZ_qYsL4835MWjpb3_t7AsOP5DUhZsb8bEmxMcyUqvVbVavSs5yEPRuTwx9Dj-6uph9uDYk-AgCLXicEwmjo1wwNS6cNSqJ2uRF1pfW-gcxUx53PLlBzer1IBuBQAA';\nexport var contentWrapper = 'tabula_ui_selector__1v4zfic8';\nexport var icon = 'tabula_ui_selector__1v4zfic1';\nexport var iconVariants = {left:'tabula_ui_selector__1v4zfic2',right:'tabula_ui_selector__1v4zfic3'};\nexport var lines = {single:'tabula_ui_selector__1v4zfic6',multiple:'tabula_ui_selector__1v4zfic7'};\nexport var root = 'tabula_ui_selector__1v4zfic0';\nexport var text = 'tabula_ui_selector__1v4zfic5';\nexport var title = 'tabula_ui_selector__1v4zfic4';", "import { MouseEventHandler, useCallback, useMemo, useState } from 'react';\n\nimport { isButtonTarget } from '@tabula/dom-utils';\n\nimport { ChangeVisibleHandler, VisibleKind } from '../Selector.types';\n\ntype Options = {\n  disabled?: boolean;\n  outerVisible?: boolean;\n  onChangeOuterVisible?: ChangeVisibleHandler;\n  onClearSearch: () => void;\n};\n\ntype Result = {\n  isVisible: boolean;\n  onChangeVisible: ChangeVisibleHandler;\n  onTriggerClick: () => void;\n  onPopupClick: MouseEventHandler;\n};\n\nexport function useVisibility({\n  disabled,\n  outerVisible,\n  onChangeOuterVisible,\n  onClearSearch,\n}: Options): Result {\n  const [innerVisible, setInnerVisible] = useState(false);\n  const onChangeVisible = useCallback<ChangeVisibleHandler>(\n    (visible, kind) => {\n      if (outerVisible == null) {\n        setInnerVisible(visible);\n      }\n\n      onChangeOuterVisible?.(visible, kind);\n\n      if (!visible) {\n        onClearSearch();\n      }\n    },\n    [outerVisible, onChangeOuterVisible, onClearSearch],\n  );\n\n  const isVisible = useMemo(() => outerVisible ?? innerVisible, [innerVisible, outerVisible]);\n\n  const onTriggerClick = useCallback(() => {\n    if (disabled) {\n      return;\n    }\n\n    onChangeVisible(!isVisible, VisibleKind.Trigger);\n  }, [onChangeVisible, isVisible, disabled]);\n\n  const onPopupClick = useCallback<MouseEventHandler>(\n    (event) => {\n      if (isButtonTarget(event)) {\n        onChangeVisible(false, VisibleKind.Select);\n      }\n    },\n    [onChangeVisible],\n  );\n\n  return { isVisible, onChangeVisible, onTriggerClick, onPopupClick };\n}\n", "import { MouseEventHandler, ReactNode, useCallback } from 'react';\n\nimport clsx from 'clsx';\n\nimport * as styles from './UiSelector.css';\n\nimport { Popup } from '../Popup';\nimport { Search, useSearch } from '../Search';\nimport { Props } from '../Selector.types';\nimport { Trigger } from '../Trigger';\nimport { useConfig, usePopup, useVisibility } from '../hooks';\n\nexport function UiSelector({\n  children,\n  config: outerConfig,\n  defaultItem,\n  emptyContent,\n  isInvalid,\n  isVisible: outerVisible,\n  isWarning,\n  loading,\n  offset,\n  onChangeVisible: onChangeOuterVisible,\n  onRenderTrigger,\n  placeholder,\n  popupClassName,\n  readOnly,\n  searchClassName,\n  showSearchClear,\n  showSearchField,\n  triggerClassName,\n  triggerContainerClassName,\n}: Props): ReactNode {\n  const [searchValue, onChangeSearch, onClearSearch, searchRef] = useSearch();\n  const onClickSearch = useCallback<MouseEventHandler<HTMLInputElement>>((event) => {\n    // NOTE stop propagation event for prevent closing of popup on input clicks\n    event.stopPropagation();\n  }, []);\n\n  const { isVisible, onChangeVisible, onTriggerClick, onPopupClick } = useVisibility({\n    disabled: readOnly,\n    onChangeOuterVisible,\n    onClearSearch,\n    outerVisible,\n  });\n\n  const config = useConfig({ outerConfig, defaultItem, searchValue, showSearchField, loading });\n\n  const { reference, floating, popupStyle } = usePopup({\n    isVisible,\n    offset,\n    onChangeVisible,\n  });\n\n  const trigger = children ?? (\n    <Trigger\n      className={triggerClassName}\n      disabled={readOnly}\n      isInvalid={isInvalid}\n      isVisible={isVisible}\n      loading={loading}\n      onRenderTrigger={onRenderTrigger}\n      placeholder={placeholder}\n      showSearchField={showSearchField}\n      isWarning={isWarning}\n    />\n  );\n\n  return (\n    <>\n      {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n      <div\n        className={clsx(styles.triggerContainer, triggerContainerClassName)}\n        onClick={onTriggerClick}\n        ref={reference}\n      >\n        {trigger}\n        {showSearchField && isVisible && (\n          <Search\n            /* eslint-disable-next-line jsx-a11y/no-autofocus */\n            autoFocus\n            className={clsx(styles.search, searchClassName)}\n            forwardedRef={searchRef}\n            inputClassName={styles.searchInput}\n            onChange={onChangeSearch}\n            onClear={onClearSearch}\n            onClick={onClickSearch}\n            placeholder={placeholder}\n            showClearControl={showSearchClear}\n            value={searchValue}\n          />\n        )}\n      </div>\n      <Popup\n        className={popupClassName}\n        config={config}\n        emptyContent={emptyContent}\n        isVisible={isVisible}\n        onClick={onPopupClick}\n        setRef={floating}\n        style={popupStyle}\n      />\n    </>\n  );\n}\n\nif (import.meta.env.DEV) {\n  UiSelector.displayName = 'ui-selector(UiSelector)';\n}\n", "import 'src/UiSelector/UiSelector.css.ts.vanilla.css?source=QGxheWVyIHRibC0tY29tcG9uZW50czsKQGxheWVyIHRibC0tY29tcG9uZW50cyB7CiAgLnRhYnVsYV91aV9zZWxlY3Rvcl9fM210d2d3MCB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgfQogIC50YWJ1bGFfdWlfc2VsZWN0b3JfXzNtdHdndzEgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgcmlnaHQ6IDA7CiAgICBib3R0b206IDA7CiAgICBsZWZ0OiAwOwogICAgei1pbmRleDogMTsKICAgIHBhZGRpbmc6IDA7CiAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS10YmwtLWNvbG9ycy0tbmV1dHJhbC0tQTQwKTsKICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRibC0tY29sb3JzLS1iYWNrZ3JvdW5kLS1wcmltYXJ5LWNvbnRlbnQpOwogIH0KICAudGFidWxhX3VpX3NlbGVjdG9yX18zbXR3Z3cyIHsKICAgIHBhZGRpbmctbGVmdDogM3B4OwogIH0KfQ';\nexport var search = 'tabula_ui_selector__3mtwgw1';\nexport var searchInput = 'tabula_ui_selector__3mtwgw2';\nexport var triggerContainer = 'tabula_ui_selector__3mtwgw0';", "import { CSSProperties, MouseEventHandler, ReactNode } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport clsx from 'clsx';\n\nimport { portalRootFor } from '@tabula/portal-root-for';\nimport { UiMenu, UiMenuProps } from '@tabula/ui-menu';\n\nimport * as styles from './Popup.css';\n\ntype Props = Pick<UiMenuProps, 'config' | 'emptyContent'> & {\n  className?: string;\n  isVisible: boolean;\n  onClick: MouseEventHandler;\n  setRef: (node: HTMLElement | null) => void;\n  style: CSSProperties;\n};\n\nconst portalRoot = portalRootFor({ id: 'ui-selector' });\n\nexport function Popup({\n  className,\n  config,\n  emptyContent,\n  isVisible,\n  onClick,\n  setRef,\n  style,\n}: Props): ReactNode {\n  return createPortal(\n    // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions\n    <div\n      className={clsx(styles.root, isVisible && styles.isVisible, className)}\n      onClick={onClick}\n      ref={setRef}\n      style={style}\n    >\n      <UiMenu className={styles.menu} config={config} emptyContent={emptyContent} size=\"medium\" />\n    </div>,\n    portalRoot,\n  );\n}\n\nif (import.meta.env.DEV) {\n  Popup.displayName = 'UiSelector(Popup)';\n}\n", "import 'src/Popup/Popup.css.ts.vanilla.css?source=QGxheWVyIHRibC0tY29tcG9uZW50czsKQGxheWVyIHRibC0tY29tcG9uZW50cyB7CiAgLnRhYnVsYV91aV9zZWxlY3Rvcl9fMWduNWpmdzEgewogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHotaW5kZXg6IDE0OwogICAgb3BhY2l0eTogMDsKICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBtYXgtaGVpZ2h0OiAzMzZweDsKICB9CiAgLnRhYnVsYV91aV9zZWxlY3Rvcl9fMWduNWpmdzEudGFidWxhX3VpX3NlbGVjdG9yX18xZ241amZ3MCB7CiAgICBvcGFjaXR5OiAxOwogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICB9CiAgLnRhYnVsYV91aV9zZWxlY3Rvcl9fMWduNWpmdzIgewogICAgd2lkdGg6IDEwMCU7CiAgICBtYXgtd2lkdGg6IG5vbmU7CiAgICBvdmVyZmxvdy15OiBhdXRvOwogIH0KfQ';\nexport var isVisible = 'tabula_ui_selector__1gn5jfw0';\nexport var menu = 'tabula_ui_selector__1gn5jfw2';\nexport var root = 'tabula_ui_selector__1gn5jfw1';", "import { ReactNode } from 'react';\n\nimport clsx from 'clsx';\n\nimport { ReactComponent as ClearIcon } from '../assets/clear.svg';\n\nimport * as styles from './Search.css';\n\nimport { Props } from './Search.types';\n\nexport function Search({\n  autoFocus,\n  className,\n  forwardedRef,\n  inputClassName,\n  onChange,\n  onClear,\n  onClick,\n  placeholder,\n  showClearControl = true,\n  value,\n}: Props): ReactNode {\n  return (\n    <div className={className}>\n      <div className={styles.root}>\n        <div className={styles.inputWrapper}>\n          <input\n            /* eslint-disable-next-line jsx-a11y/no-autofocus */\n            autoFocus={autoFocus}\n            className={clsx(styles.input, inputClassName)}\n            onChange={onChange}\n            onClick={onClick}\n            placeholder={placeholder}\n            ref={forwardedRef}\n            type=\"text\"\n            value={value}\n          />\n        </div>\n        {showClearControl && value !== '' && (\n          <button className={styles.clear} type=\"button\" onClick={onClear}>\n            <ClearIcon />\n          </button>\n        )}\n      </div>\n    </div>\n  );\n}\n\nif (import.meta.env.DEV) {\n  Search.displayName = `UiSelector(SearchInput)`;\n}\n", "import svgUrl from \"ni:svgr;p1IiqcIfUOv8lnkvXQF1mspCcZJ0_161jHe3rpt-uMM\";\nexport default svgUrl;\nimport * as React from \"react\";\nimport { memo } from \"react\";\nconst SvgClear = props => <svg width={16} height={16} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M4.146 4.146a.5.5 0 0 1 .708 0L8 7.293l3.146-3.147a.5.5 0 0 1 .708.708L8.707 8l3.147 3.146a.5.5 0 0 1-.708.708L8 8.707l-3.146 3.147a.5.5 0 0 1-.708-.708L7.293 8 4.146 4.854a.5.5 0 0 1 0-.708Z\" fill=\"currentColor\" /></svg>;\nconst Memo = memo(SvgClear);\nexport { Memo as ReactComponent };", "import 'src/Search/Search.css.ts.vanilla.css?source=#H4sIAAAAAAAAA6VVy3KjMBC85yt0SVV8mC0gdtalXPInLgGDrY2QqNHgtZPKv29hBPErscgeaaGZlrqn9WLUHklwbgAKVzfOomX_fPdyFRfvd0L8YpW3Rq1avfJosGBHq1W62KQZN8nhDyEa5zVrZ6UgNIr1Fp8PeKl9Y9Reisrgrof-6pI3UqRJct8DG9TrDR8jf1rPutpD4SyjZSkKtIzULX7cILS4IKRy70zLgRC7RopCmeJhkdwLEMtmN-tXDFYsu-9Tmk8DMNIckcIZR1JsFT0AhJszjjwMxAEYibWi_SyGexp1soiupfYqN1hGdX2M6trfThJT8Gm6Jy4E75bAsyLuf1BGry1oxtofu0GIRpWltms4U2-AqdfsMTuXNXjt1lmyuJOekBia3az9c1WuN87mcY3nk2qHK4wt_jtsr1yn45FLO8ADeGU9eCRdAdRY6raGNOtXx0FkRgLfqELb9YQapxtDNcYdA5OyvnJUT6h2unF25t3cuOL1xGthOq4EXO6oRJLCOhtGIFfF65pca0sI43xo1ChCy9Hh0pCuh2zpuuzA67cDk74j5C5OMlm5ovVBONey0RY_6d7avpwYuWkyZm7w1pioV6Lhy8n_5pH4UpMsOU_zT-RSpan5PtQAUqVuvRTzsXaE3i35bqFxOvatW8qN2yLFvwvHhrld_L9M8X3GDJYJ-odn5eMf6LkShp0IAAA';\nexport var clear = 'tabula_ui_selector__15h12tp8';\nexport var disabled = 'tabula_ui_selector__15h12tp1';\nexport var icon = 'tabula_ui_selector__15h12tp5';\nexport var input = 'tabula_ui_selector__15h12tp7';\nexport var inputWrapper = 'tabula_ui_selector__15h12tp6';\nexport var root = 'tabula_ui_selector__15h12tp0';\nexport var stickClearIcon = 'tabula_ui_selector__15h12tp4';\nexport var stickLeftIcon = 'tabula_ui_selector__15h12tp3';\nexport var withIcon = 'tabula_ui_selector__15h12tp2';", "import { useCallback, useRef, useState } from 'react';\n\nimport { ChangeValueHandler, ClearValueHandler, InputElement, InputRef } from './Search.types';\n\ntype Result = [string, ChangeValueHandler, ClearValueHandler, InputRef];\n\nexport function useSearch(): Result {\n  const [value, setValue] = useState('');\n  const ref = useRef<InputElement>(null);\n\n  const changeSearchHandler = useCallback<ChangeValueHandler>((event) => {\n    setValue(event.target.value);\n  }, []);\n\n  const clearSearchHandler = useCallback<ClearValueHandler>((event, focusToField) => {\n    if (event) {\n      event.stopPropagation();\n    }\n\n    if (focusToField && ref.current !== null) {\n      ref.current.focus();\n    }\n\n    setValue('');\n  }, []);\n\n  return [value, changeSearchHandler, clearSearchHandler, ref];\n}\n", "import { ReactNode, useMemo } from 'react';\n\nimport clsx from 'clsx';\n\nimport { ReactComponent as ChevronDownIcon } from '../assets/chevronDown.svg';\nimport { ReactComponent as ChevronUpIcon } from '../assets/chevronUp.svg';\nimport { ReactComponent as RunningIcon } from '../assets/running.svg';\n\nimport * as styles from './Trigger.css';\n\nimport { Props as SelectorProps } from '../Selector.types';\n\ntype Props = Pick<\n  SelectorProps,\n  'loading' | 'onRenderTrigger' | 'placeholder' | 'showSearchField'\n> & {\n  className?: string;\n  disabled?: boolean;\n  isInvalid?: boolean;\n  isVisible: boolean;\n  isWarning?: boolean;\n};\n\nexport function Trigger({\n  className,\n  disabled,\n  isInvalid,\n  isVisible,\n  isWarning,\n  loading,\n  onRenderTrigger,\n  placeholder,\n  showSearchField,\n}: Props): ReactNode {\n  const triggerContent = useMemo((): ReactNode => {\n    if (typeof onRenderTrigger === 'function') {\n      const renderedTrigger = onRenderTrigger();\n      if (renderedTrigger) {\n        return renderedTrigger;\n      }\n    }\n\n    return <span className={styles.placeholder}>{placeholder}</span>;\n  }, [onRenderTrigger, placeholder]);\n\n  const triggerIcon = useMemo(() => {\n    if (loading) {\n      return <RunningIcon className={styles.arrow} />;\n    }\n\n    if (showSearchField && isVisible) {\n      return null;\n    }\n\n    return isVisible ? (\n      <ChevronUpIcon className={styles.arrow} />\n    ) : (\n      <ChevronDownIcon className={styles.arrow} />\n    );\n  }, [isVisible, loading, showSearchField]);\n\n  return (\n    <div\n      className={clsx(\n        styles.root,\n        className,\n        isVisible && styles.states.isVisible,\n        isWarning && styles.states.isWarning,\n        isInvalid && styles.states.isInvalid,\n        disabled && styles.states.isDisabled,\n      )}\n    >\n      <div className={styles.content}>{triggerContent}</div>\n      {triggerIcon}\n    </div>\n  );\n}\n\nif (import.meta.env.DEV) {\n  Trigger.displayName = 'UiSelector(Trigger)';\n}\n", "import svgUrl from \"ni:svgr;BPKkTfZxCTbC8cARgIWsQd2F82LCjKvIYhwsfey1lPI\";\nexport default svgUrl;\nimport * as React from \"react\";\nimport { memo } from \"react\";\nconst SvgChevronDown = props => <svg width={12} height={12} viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path d=\"M1.646 3.646a.5.5 0 0 1 .708 0L6 7.293l3.646-3.647a.5.5 0 1 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708Z\" fill=\"currentColor\" /></svg>;\nconst Memo = memo(SvgChevronDown);\nexport { Memo as ReactComponent };", "import svgUrl from \"ni:svgr;Ms6mLCvSibEwW6ATIUNgqnSRk3NJfd3N7pcpNF0A63s\";\nexport default svgUrl;\nimport * as React from \"react\";\nimport { memo } from \"react\";\nconst SvgChevronUp = props => <svg width={12} height={12} viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path d=\"M1.646 8.354a.5.5 0 0 0 .708 0L6 4.707l3.646 3.647a.5.5 0 1 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708Z\" fill=\"currentColor\" /></svg>;\nconst Memo = memo(SvgChevronUp);\nexport { Memo as ReactComponent };", "import svgUrl from \"ni:svgr;MTyHTxApS1FJxmWwXFE15DqbwiDJmQ0OajOhP1mC0EQ\";\nexport default svgUrl;\nimport * as React from \"react\";\nimport { memo } from \"react\";\nconst SvgRunning = props => <svg width={16} height={16} viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path fillRule=\"evenodd\" clipRule=\"evenodd\" d=\"M4.667 12.989a6 6 0 0 0 3.326 1.01L8 14a.5.5 0 0 0 0-1v-.005A4.995 4.995 0 1 1 12.995 8H13a.5.5 0 0 0 1 0 6 6 0 1 0-9.333 4.989Z\" fill=\"currentColor\"><animateTransform attributeName=\"transform\" attributeType=\"XML\" type=\"rotate\" from=\"0 8 8\" to=\"360 8 8\" dur=\"700ms\" repeatCount=\"indefinite\" /></path></svg>;\nconst Memo = memo(SvgRunning);\nexport { Memo as ReactComponent };", "import 'src/Trigger/Trigger.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51UQW7bMBC85xW8FEgOW0huHBfMJX2JQYkriTBFEstVLKPI3wtZlFIVCcz0upzdGQ6X82LVBUlwZQFq3wfv0HF8vnv5sC5-3wnxnVU1WHUczDGixZo9HY983qvKFFeAENrEYNVFisbi-HwtKWtaB4axj1LU6BhpPghKa-NaKQ5hFGUZEv5sNHdSlEXxbS5UnjQSkNJmiFI8LcC5LkUZRhG9NVq8KroHSNKtpwjgcGBSFuBXWTykPlWfWvKD0zNKftT3FwgCmV7RBWrvGB1fx7zd8EN2_hUpuZJu8Dnbu8rdorIeKE7o4M1i2Q3O8utsj0XOZXa5g1eAY_IW4KzIGdfmcPz4Xw4k8pTD8Lgw5Dz_atF-3Zp8Vw9ZcjYbsry2xkYNljP696lz-mgQOzLuJEUxa-0VtcaBxYbX_3LTnQwuH1Rt-JJ4bkx8WgR6xxvDpkIEiMpFiEimAehRm6GHcjefJsstMiNBnFinnMiesW1M0xhHBiblYuOp_8K0bePDxmIybcdSqIH9Uh8hJVitbH0_xZgAUf4M4_KxP92glC9r4OSs0eHf4K2sr08zU4ezunKNzAxuRmLzTv72B3r_ts0oBgAA';\nexport var arrow = 'tabula_ui_selector__tw5abi5';\nexport var content = 'tabula_ui_selector__tw5abi6';\nexport var placeholder = 'tabula_ui_selector__tw5abi7';\nexport var root = 'tabula_ui_selector__tw5abi0';\nexport var states = {isVisible:'tabula_ui_selector__tw5abi1',isWarning:'tabula_ui_selector__tw5abi2',isInvalid:'tabula_ui_selector__tw5abi3',isDisabled:'tabula_ui_selector__tw5abi4'};"],
  "mappings": "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",
  "names": ["VisibleKind", "useCallback", "useState", "usePreviousValue", "useMemo", "isVisible", "useMemo", "isVisible", "useMemo", "useCallback", "root", "content", "title", "root", "jsx", "useCallback", "useCallback", "useMemo", "useCallback", "isVisible", "useMemo", "useMemo", "isVisible", "useState", "usePreviousValue", "useCallback", "useCallback", "clsx", "clsx", "root", "jsx", "isVisible", "clsx", "root", "clsx", "jsx", "jsx", "root", "jsx", "jsxs", "placeholder", "root", "clsx", "useCallback", "useState", "useMemo", "clsx", "React", "memo", "jsx", "jsx", "Memo", "memo", "React", "memo", "jsx", "jsx", "Memo", "memo", "React", "memo", "jsx", "jsx", "Memo", "memo", "content", "root", "jsx", "jsxs", "isVisible", "placeholder", "useMemo", "Memo", "clsx", "root", "content", "jsx", "jsxs", "offset", "placeholder", "useCallback", "isVisible", "clsx"]
}
