@pega/cosmos-react-core 8.0.0-build.7.2 → 8.0.0-build.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/lib/components/AppShell/AppShell.js +1 -1
  2. package/lib/components/AppShell/AppShell.js.map +1 -1
  3. package/lib/components/AppShell/AppShellSearch.styles.js +4 -4
  4. package/lib/components/AppShell/AppShellSearch.styles.js.map +1 -1
  5. package/lib/components/AppShell/Operator.js +1 -1
  6. package/lib/components/AppShell/Operator.js.map +1 -1
  7. package/lib/components/Banner/Banner.js +1 -1
  8. package/lib/components/Banner/Banner.js.map +1 -1
  9. package/lib/components/CompositeInput/CompositeInput.types.d.ts +1 -6
  10. package/lib/components/CompositeInput/CompositeInput.types.d.ts.map +1 -1
  11. package/lib/components/CompositeInput/CompositeInput.types.js.map +1 -1
  12. package/lib/components/CreditCard/CreditCardDisplay.js +1 -1
  13. package/lib/components/CreditCard/CreditCardDisplay.js.map +1 -1
  14. package/lib/components/Currency/CurrencyDisplay.js +1 -1
  15. package/lib/components/Currency/CurrencyDisplay.js.map +1 -1
  16. package/lib/components/Currency/CurrencyInput.d.ts.map +1 -1
  17. package/lib/components/Currency/CurrencyInput.js +1 -1
  18. package/lib/components/Currency/CurrencyInput.js.map +1 -1
  19. package/lib/components/DateTime/Picker/Calendar.js +3 -3
  20. package/lib/components/DateTime/Picker/Calendar.js.map +1 -1
  21. package/lib/components/Dialog/Dialog.js +1 -1
  22. package/lib/components/Dialog/Dialog.js.map +1 -1
  23. package/lib/components/FieldGroup/FieldGroup.js +1 -1
  24. package/lib/components/FieldGroup/FieldGroup.js.map +1 -1
  25. package/lib/components/Icon/icons/twitter.icon.d.ts +1 -1
  26. package/lib/components/Icon/icons/twitter.icon.d.ts.map +1 -1
  27. package/lib/components/Icon/icons/twitter.icon.js +2 -2
  28. package/lib/components/Icon/icons/twitter.icon.js.map +1 -1
  29. package/lib/components/Icon/streamline-icons/arrow-micro-up-down.icon.d.ts +5 -0
  30. package/lib/components/Icon/streamline-icons/arrow-micro-up-down.icon.d.ts.map +1 -0
  31. package/lib/components/Icon/streamline-icons/arrow-micro-up-down.icon.js +7 -0
  32. package/lib/components/Icon/streamline-icons/arrow-micro-up-down.icon.js.map +1 -0
  33. package/lib/components/Icon/streamline-icons/case-solid.icon.d.ts.map +1 -1
  34. package/lib/components/Icon/streamline-icons/case-solid.icon.js +5 -1
  35. package/lib/components/Icon/streamline-icons/case-solid.icon.js.map +1 -1
  36. package/lib/components/Icon/streamline-icons/clipboard-pencil-solid.icon.d.ts.map +1 -1
  37. package/lib/components/Icon/streamline-icons/clipboard-pencil-solid.icon.js +5 -1
  38. package/lib/components/Icon/streamline-icons/clipboard-pencil-solid.icon.js.map +1 -1
  39. package/lib/components/Icon/streamline-icons/clock-solid.icon.d.ts.map +1 -1
  40. package/lib/components/Icon/streamline-icons/clock-solid.icon.js +5 -1
  41. package/lib/components/Icon/streamline-icons/clock-solid.icon.js.map +1 -1
  42. package/lib/components/Icon/streamline-icons/disc-stack-solid.icon.d.ts.map +1 -1
  43. package/lib/components/Icon/streamline-icons/disc-stack-solid.icon.js +5 -1
  44. package/lib/components/Icon/streamline-icons/disc-stack-solid.icon.js.map +1 -1
  45. package/lib/components/Icon/streamline-icons/information-solid.icon.d.ts.map +1 -1
  46. package/lib/components/Icon/streamline-icons/information-solid.icon.js +5 -1
  47. package/lib/components/Icon/streamline-icons/information-solid.icon.js.map +1 -1
  48. package/lib/components/Icon/streamline-icons/rule-library-solid.icon.d.ts.map +1 -1
  49. package/lib/components/Icon/streamline-icons/rule-library-solid.icon.js +5 -1
  50. package/lib/components/Icon/streamline-icons/rule-library-solid.icon.js.map +1 -1
  51. package/lib/components/Icon/streamline-icons/search-analytics-solid.icon.d.ts.map +1 -1
  52. package/lib/components/Icon/streamline-icons/search-analytics-solid.icon.js +5 -1
  53. package/lib/components/Icon/streamline-icons/search-analytics-solid.icon.js.map +1 -1
  54. package/lib/components/Icon/streamline-icons/twitter.icon.d.ts +1 -1
  55. package/lib/components/Icon/streamline-icons/twitter.icon.js +2 -2
  56. package/lib/components/Icon/streamline-icons/twitter.icon.js.map +1 -1
  57. package/lib/components/Icon/streamline-icons/warn-solid.icon.d.ts.map +1 -1
  58. package/lib/components/Icon/streamline-icons/warn-solid.icon.js +5 -1
  59. package/lib/components/Icon/streamline-icons/warn-solid.icon.js.map +1 -1
  60. package/lib/components/Icon/streamlineIconNames.d.ts +1 -1
  61. package/lib/components/Icon/streamlineIconNames.d.ts.map +1 -1
  62. package/lib/components/Icon/streamlineIconNames.js +1 -0
  63. package/lib/components/Icon/streamlineIconNames.js.map +1 -1
  64. package/lib/components/Input/Input.styles.d.ts.map +1 -1
  65. package/lib/components/Input/Input.styles.js +2 -1
  66. package/lib/components/Input/Input.styles.js.map +1 -1
  67. package/lib/components/Lightbox/Lightbox.js +2 -2
  68. package/lib/components/Lightbox/Lightbox.js.map +1 -1
  69. package/lib/components/Location/LocationDisplay.js +1 -1
  70. package/lib/components/Location/LocationDisplay.js.map +1 -1
  71. package/lib/components/Location/LocationView.d.ts.map +1 -1
  72. package/lib/components/Location/LocationView.js +1 -1
  73. package/lib/components/Location/LocationView.js.map +1 -1
  74. package/lib/components/Menu/MenuListHeader.js +1 -1
  75. package/lib/components/Menu/MenuListHeader.js.map +1 -1
  76. package/lib/components/Modal/Modal.js +1 -1
  77. package/lib/components/Modal/Modal.js.map +1 -1
  78. package/lib/components/Number/NumberInput.d.ts.map +1 -1
  79. package/lib/components/Number/NumberInput.js +1 -1
  80. package/lib/components/Number/NumberInput.js.map +1 -1
  81. package/lib/components/Pagination/Pagination.js +1 -1
  82. package/lib/components/Pagination/Pagination.js.map +1 -1
  83. package/lib/components/Progress/Progress.js +1 -1
  84. package/lib/components/Progress/Progress.js.map +1 -1
  85. package/lib/components/SearchInput/SearchInput.d.ts +0 -4
  86. package/lib/components/SearchInput/SearchInput.d.ts.map +1 -1
  87. package/lib/components/SearchInput/SearchInput.js +34 -28
  88. package/lib/components/SearchInput/SearchInput.js.map +1 -1
  89. package/lib/components/SearchInput/SearchInput.styles.d.ts +6 -6
  90. package/lib/components/SearchInput/SearchInput.styles.d.ts.map +1 -1
  91. package/lib/components/SearchInput/SearchInput.styles.js +160 -77
  92. package/lib/components/SearchInput/SearchInput.styles.js.map +1 -1
  93. package/lib/components/Sentiment/Sentiment.js +1 -1
  94. package/lib/components/Sentiment/Sentiment.js.map +1 -1
  95. package/lib/components/Skeleton/LineSkeleton.js +1 -1
  96. package/lib/components/Skeleton/LineSkeleton.js.map +1 -1
  97. package/lib/components/Skeleton/ParagraphSkeleton.js +1 -1
  98. package/lib/components/Skeleton/ParagraphSkeleton.js.map +1 -1
  99. package/lib/components/Skeleton/RectangleSkeleton.js +1 -1
  100. package/lib/components/Skeleton/RectangleSkeleton.js.map +1 -1
  101. package/lib/components/Tooltip/Tooltip.js +4 -3
  102. package/lib/components/Tooltip/Tooltip.js.map +1 -1
  103. package/lib/components/Tree/StandardTree.js +2 -2
  104. package/lib/components/Tree/StandardTree.js.map +1 -1
  105. package/lib/hooks/useI18n.d.ts +2 -2
  106. package/lib/i18n/default.d.ts +2 -2
  107. package/lib/i18n/default.js +3 -3
  108. package/lib/i18n/default.js.map +1 -1
  109. package/lib/i18n/i18n.d.ts +2 -2
  110. package/lib/utils/index.d.ts +1 -0
  111. package/lib/utils/index.d.ts.map +1 -1
  112. package/lib/utils/index.js +1 -0
  113. package/lib/utils/index.js.map +1 -1
  114. package/lib/utils/mouseState.d.ts +9 -0
  115. package/lib/utils/mouseState.d.ts.map +1 -0
  116. package/lib/utils/mouseState.js +26 -0
  117. package/lib/utils/mouseState.js.map +1 -0
  118. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useState, useCallback, useEffect, useRef } from 'react';\nimport type {\n FunctionComponent,\n PropsWithoutRef,\n Ref,\n ChangeEvent,\n KeyboardEvent as ReactKeyboardEvent,\n MouseEvent,\n MutableRefObject\n} from 'react';\n\nimport type { ForwardProps, NoChildrenProp, OmitStrict } from '../../types';\nimport Icon, { registerIcon } from '../Icon';\nimport * as searchIcon from '../Icon/icons/search.icon';\nimport type { FormControlProps } from '../FormControl';\nimport {\n useConsolidatedRef,\n useEscape,\n useI18n,\n useOuterEvent,\n useLiveLog,\n useUID,\n useFocusWithin\n} from '../../hooks';\nimport Flex from '../Flex';\nimport Popover from '../Popover';\nimport { sameWidth } from '../Popover/modifiers';\nimport Menu from '../Menu';\nimport type { MenuItemProps } from '../Menu';\nimport Link from '../Link';\nimport type { LinkProps } from '../Link';\nimport Text from '../Text';\nimport { createStringMatcher, getFocusables } from '../../utils';\nimport VisuallyHiddenText from '../VisuallyHiddenText';\n\nimport {\n StyledCancelButton,\n StyledResultsPopover,\n StyledSearchButton,\n StyledSearchInput,\n StyledSearchMenu,\n StyledSearchResultsContainer,\n StyledSearchTextInput,\n StyledMenuButton\n} from './SearchInput.styles';\n\nregisterIcon(searchIcon);\n\nexport type SearchResult = Pick<MenuItemProps, 'id' | 'primary' | 'secondary' | 'href' | 'onClick'>;\n\nexport type RecentSearch = Pick<MenuItemProps, 'id' | 'primary' | 'href' | 'onClick'>;\n\nexport type SearchFilter =\n | {\n /** A list of user selectable scopes to filter search with. */\n filters: string[];\n /** The default filter for uncontrolled use. */\n defaultFilter?: string;\n currentFilter?: never;\n }\n | {\n /** A list of user selectable scopes to filter search with. */\n filters: string[];\n defaultFilter?: never;\n /** The current filter for controlled use. */\n currentFilter?: string;\n }\n | {\n filters?: never;\n defaultFilter?: never;\n currentFilter?: never;\n };\n\nexport type SearchInputProps = NoChildrenProp & {\n /**\n * Placeholder text. The default value is a locale translation of 'Search…'\n * @default 'Search…'\n */\n placeholder?: FormControlProps['placeholder'];\n /**\n * Creates a controlled input and sets the value. Requires an onChange handler to update value.\n * value + onChange is the recommended method per React team.\n */\n value?: FormControlProps['value'];\n /** Called when the SearchInput value changes. */\n onSearchChange?: (value: string) => void;\n /**\n * Called when the SearchButton is clicked or when the Enter key is pressed while SearchInput is in focus.\n * NOTE: this does not trigger an actual form submit event. It simply represents an explicit action by the user to search as opposed to onSearchChange.\n */\n onSearchSubmit?: (value: string) => void;\n /** Called when user changes scope filter. */\n onFilterChange?: (value: string) => void;\n /** A list of matching results presented in the input's dropdown menu. */\n searchResults?: SearchResult[];\n /** A list of recent searches presented in the input's dropdown menu. */\n recentSearches?: RecentSearch[];\n /** Places the menu into an indeterminate loading state. */\n loading?: boolean;\n /** Prop passed to the advanced search page link. */\n advancedSearchLink?: OmitStrict<LinkProps, 'children'>;\n /** Aria label for search input, used by screen readers. */\n searchInputAriaLabel?: string;\n /**\n * Boolean for determining for whether the search results will render in a popover.\n * @default true\n */\n resultsPopover?: boolean;\n} & SearchFilter;\n\nconst SearchInput: FunctionComponent<SearchInputProps & ForwardProps> = forwardRef(\n function SearchInput(props: PropsWithoutRef<SearchInputProps>, ref: Ref<HTMLInputElement>) {\n const t = useI18n();\n\n const {\n value = '',\n defaultFilter,\n currentFilter,\n filters,\n onFilterChange,\n searchResults,\n recentSearches,\n loading: loadingProp,\n advancedSearchLink,\n placeholder = t('search_placeholder_default'),\n onSearchChange,\n onSearchSubmit,\n searchInputAriaLabel = t('search'),\n resultsPopover = true,\n ...restProps\n } = props;\n const instructionTextId = useUID();\n const { announcePolite } = useLiveLog();\n const bodyRef = useRef<Element>(document.body);\n const inputRef = useConsolidatedRef(ref);\n const filtersRef = useRef<HTMLDivElement>(null);\n const searchResultsRef = useRef<HTMLDivElement>(null);\n\n const [searchMenuOpen, setSearchMenuOpen] = useState(false);\n const [searchResultItems, setSearchResultItems] = useState<MenuItemProps[] | undefined>(\n undefined\n );\n const [selectedFilter, setSelectedFilter] = useState(defaultFilter ?? t('all'));\n const [downPressed, setDownPressed] = useState(false);\n\n const completeFilters = [t('all'), ...(filters ?? [])];\n const hasFilters = completeFilters.length > 1;\n const hasSearchResults = !!(searchResults && searchResults.length);\n const hasRecentSearches = !!(recentSearches && recentSearches.length);\n const showSearchMenu = (value || recentSearches?.length) && (searchResultItems || loadingProp);\n const useRecents = hasRecentSearches && !value;\n const loading = useRecents ? false : !!loadingProp;\n const searchMenuVisible =\n (resultsPopover && showSearchMenu && searchMenuOpen) || (!resultsPopover && showSearchMenu);\n\n const handleEscape = useCallback(\n (e: KeyboardEvent) => {\n if (searchMenuOpen) {\n e.preventDefault();\n e.stopPropagation();\n setSearchMenuOpen(false);\n setDownPressed(false);\n }\n },\n [searchMenuOpen]\n );\n\n useEscape(handleEscape, inputRef, [handleEscape]);\n\n const onKeyDown = useCallback(\n (e: ReactKeyboardEvent<HTMLInputElement>) => {\n switch (e.key) {\n case 'Enter':\n if (!downPressed) {\n onSearchSubmit?.(value);\n }\n break;\n case 'ArrowDown':\n setDownPressed(true);\n setSearchMenuOpen(true);\n break;\n case 'Tab': {\n const forward = !e.shiftKey;\n\n if (forward) {\n const popoverFocusables = getFocusables(searchResultsRef);\n\n if (popoverFocusables.length) {\n e.preventDefault();\n popoverFocusables[0].focus();\n }\n }\n break;\n }\n default:\n break;\n }\n },\n [onSearchSubmit, downPressed, value]\n );\n\n useOuterEvent('click', [searchResultsRef, inputRef, filtersRef], () => {\n setSearchMenuOpen(false);\n });\n\n useEffect(() => {\n setDownPressed(false);\n }, [value]);\n\n useEffect(() => {\n let items: MenuItemProps[] | undefined = [];\n if (hasSearchResults && value) {\n items = searchResults;\n } else if (useRecents) {\n items = recentSearches;\n } else if (!searchResults && (!recentSearches || recentSearches.length === 0)) {\n items = undefined;\n }\n setSearchResultItems(items);\n }, [searchResults, recentSearches, searchMenuOpen, hasSearchResults, hasRecentSearches, value]);\n\n // Announce results\n useEffect(() => {\n if (!searchMenuVisible || loading) return;\n\n const timeout = setTimeout(() => {\n announcePolite({\n message: t(\n useRecents ? 'recent_results_count' : 'results_count',\n [searchResultItems?.length ?? 0],\n {\n count: searchResultItems?.length ?? 0\n }\n ),\n type: 'status'\n });\n }, 1000);\n\n return () => {\n clearTimeout(timeout);\n };\n }, [loading, searchMenuVisible, searchResultItems]);\n\n const searchMenu = (\n <Menu\n as={StyledSearchMenu}\n header={\n recentSearches && !value ? (\n <Text variant='secondary'>{t('recent_searches')}</Text>\n ) : undefined\n }\n mode='action'\n items={searchResultItems ?? []}\n loading={loading}\n footer={\n advancedSearchLink ? (\n <Link {...advancedSearchLink}>{t('advanced_search')}</Link>\n ) : undefined\n }\n accent={hasSearchResults ? createStringMatcher(value, undefined, 'gi') : undefined}\n focusControlEl={inputRef.current || undefined}\n pauseDescendantEvaluation={!downPressed}\n aria-label={searchInputAriaLabel || t('search')}\n />\n );\n\n const focus = useFocusWithin([inputRef, searchResultsRef], focused => {\n if (!focused) {\n setDownPressed(false);\n setSearchMenuOpen(false);\n }\n });\n\n useEffect(() => {\n if (focus) {\n setSearchMenuOpen(true);\n }\n }, [focus]);\n\n useEffect(() => {\n if (currentFilter) setSelectedFilter(currentFilter);\n }, [currentFilter]);\n\n return (\n <>\n <Flex container as={StyledSearchInput} hasFilters={hasFilters}>\n {hasFilters ? (\n <StyledMenuButton\n text={selectedFilter}\n variant='text'\n icon='search'\n aria-label={\n selectedFilter === 'All'\n ? t('select_search_filter')\n : t('selected_search_filter', [selectedFilter])\n }\n menu={{\n mode: 'single-select',\n items: completeFilters.map(filter => ({\n primary: filter,\n id: filter,\n selected: selectedFilter === filter,\n onClick: () => {\n setSelectedFilter(filter);\n onFilterChange?.(filter);\n inputRef.current?.focus();\n }\n }))\n }}\n />\n ) : (\n <Flex\n as={StyledSearchButton}\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n e.preventDefault();\n inputRef.current?.focus();\n }}\n forwardedAs='div'\n container={{\n alignItems: 'center'\n }}\n >\n <Icon name='search' />\n </Flex>\n )}\n\n <StyledSearchTextInput\n ref={inputRef}\n type='search'\n aria-label={searchInputAriaLabel}\n placeholder={placeholder}\n {...restProps}\n aria-describedby={searchMenuVisible ? instructionTextId : undefined}\n value={value}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n onSearchChange?.(e.target.value);\n if (e.target.value) setSearchMenuOpen(true);\n }}\n onKeyDown={onKeyDown}\n decoupled={hasFilters}\n autoComplete='off'\n />\n\n {value && (\n <StyledCancelButton\n icon\n onClick={() => {\n onSearchChange?.('');\n inputRef.current?.focus();\n }}\n variant='simple'\n compact\n label={t('clear')}\n >\n <Icon name='times' />\n </StyledCancelButton>\n )}\n </Flex>\n\n {showSearchMenu && resultsPopover && (\n <Popover\n as={StyledResultsPopover}\n target={inputRef.current}\n show={searchMenuOpen}\n placement='bottom-start'\n modifiers={[sameWidth]}\n onKeyDown={(e: KeyboardEvent) => {\n if (!inputRef.current) return;\n\n if (e.key === 'Tab') {\n const popoverFocusables = getFocusables(searchResultsRef);\n const currentIndex = popoverFocusables.indexOf(e.target as HTMLElement);\n const forward = !e.shiftKey;\n const isLast = currentIndex === popoverFocusables.length - 1;\n\n if (forward && isLast) {\n e.preventDefault();\n const allFocusable = getFocusables(bodyRef as MutableRefObject<HTMLElement>);\n const nextIndex = allFocusable.indexOf(inputRef.current) + 1;\n\n allFocusable[nextIndex]?.focus();\n setDownPressed(false);\n setSearchMenuOpen(false);\n } else if (!forward && currentIndex === 0) {\n e.preventDefault();\n inputRef.current.focus();\n }\n }\n if (e.key === 'Escape') {\n handleEscape(e);\n inputRef.current.focus();\n }\n }}\n ref={searchResultsRef}\n >\n {searchMenu}\n </Popover>\n )}\n\n {!resultsPopover && showSearchMenu && (\n <StyledSearchResultsContainer>{searchMenu}</StyledSearchResultsContainer>\n )}\n\n {searchMenuVisible && (\n <VisuallyHiddenText id={instructionTextId}>\n {`${t('search_instructions')} `}\n </VisuallyHiddenText>\n )}\n </>\n );\n }\n);\n\nexport default SearchInput;\n"]}
1
+ {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useState, useCallback, useEffect, useRef } from 'react';\nimport type {\n FunctionComponent,\n PropsWithoutRef,\n Ref,\n ChangeEvent,\n KeyboardEvent as ReactKeyboardEvent,\n MutableRefObject\n} from 'react';\n\nimport type { ForwardProps, NoChildrenProp, OmitStrict } from '../../types';\nimport Icon, { registerIcon } from '../Icon';\nimport * as searchIcon from '../Icon/icons/search.icon';\nimport * as timesIcon from '../Icon/icons/times.icon';\nimport type { FormControlProps } from '../FormControl';\nimport {\n useConsolidatedRef,\n useEscape,\n useI18n,\n useOuterEvent,\n useLiveLog,\n useUID,\n useFocusWithin,\n useTheme\n} from '../../hooks';\nimport Flex from '../Flex';\nimport Popover from '../Popover';\nimport { sameWidth } from '../Popover/modifiers';\nimport Menu from '../Menu';\nimport type { MenuItemProps } from '../Menu';\nimport Link from '../Link';\nimport type { LinkProps } from '../Link';\nimport Text from '../Text';\nimport { createStringMatcher, getFocusables } from '../../utils';\nimport VisuallyHiddenText from '../VisuallyHiddenText';\nimport Tooltip from '../Tooltip';\nimport { ThemeOverride } from '../Configuration';\n\nimport {\n StyledClearButton,\n StyledResultsPopover,\n StyledSearchButton,\n StyledSearchInput,\n StyledSearchMenu,\n StyledSearchResultsContainer,\n StyledSearchTextInput,\n StyledSearchFiltersButton,\n StyledSearchIcon\n} from './SearchInput.styles';\n\nregisterIcon(searchIcon, timesIcon);\n\nexport type SearchResult = Pick<MenuItemProps, 'id' | 'primary' | 'secondary' | 'href' | 'onClick'>;\n\nexport type RecentSearch = Pick<MenuItemProps, 'id' | 'primary' | 'href' | 'onClick'>;\n\nexport type SearchFilter =\n | {\n /** A list of user selectable scopes to filter search with. */\n filters: string[];\n /** The default filter for uncontrolled use. */\n defaultFilter?: string;\n currentFilter?: never;\n }\n | {\n /** A list of user selectable scopes to filter search with. */\n filters: string[];\n defaultFilter?: never;\n /** The current filter for controlled use. */\n currentFilter?: string;\n }\n | {\n filters?: never;\n defaultFilter?: never;\n currentFilter?: never;\n };\n\nexport type SearchInputProps = NoChildrenProp & {\n placeholder?: FormControlProps['placeholder'];\n /**\n * Creates a controlled input and sets the value. Requires an onChange handler to update value.\n * value + onChange is the recommended method per React team.\n */\n value?: FormControlProps['value'];\n /** Called when the SearchInput value changes. */\n onSearchChange?: (value: string) => void;\n /**\n * Called when the SearchButton is clicked or when the Enter key is pressed while SearchInput is in focus.\n * NOTE: this does not trigger an actual form submit event. It simply represents an explicit action by the user to search as opposed to onSearchChange.\n */\n onSearchSubmit?: (value: string) => void;\n /** Called when user changes scope filter. */\n onFilterChange?: (value: string) => void;\n /** A list of matching results presented in the input's dropdown menu. */\n searchResults?: SearchResult[];\n /** A list of recent searches presented in the input's dropdown menu. */\n recentSearches?: RecentSearch[];\n /** Places the menu into an indeterminate loading state. */\n loading?: boolean;\n /** Prop passed to the advanced search page link. */\n advancedSearchLink?: OmitStrict<LinkProps, 'children'>;\n /** Aria label for search input, used by screen readers. */\n searchInputAriaLabel?: string;\n /**\n * Boolean for determining for whether the search results will render in a popover.\n * @default true\n */\n resultsPopover?: boolean;\n} & SearchFilter;\n\nconst SearchInput: FunctionComponent<SearchInputProps & ForwardProps> = forwardRef(\n function SearchInput(props: PropsWithoutRef<SearchInputProps>, ref: Ref<HTMLInputElement>) {\n const t = useI18n();\n\n const {\n value = '',\n defaultFilter,\n currentFilter,\n filters,\n onFilterChange,\n searchResults,\n recentSearches,\n loading: loadingProp,\n advancedSearchLink,\n onSearchChange,\n onSearchSubmit,\n searchInputAriaLabel = t('search'),\n resultsPopover = true,\n ...restProps\n } = props;\n const instructionTextId = useUID();\n const { announcePolite } = useLiveLog();\n const bodyRef = useRef<Element>(document.body);\n const inputRef = useConsolidatedRef(ref);\n const filtersRef = useRef<HTMLDivElement>(null);\n const searchResultsRef = useRef<HTMLDivElement>(null);\n const theme = useTheme();\n\n const [searchMenuOpen, setSearchMenuOpen] = useState(false);\n const [searchResultItems, setSearchResultItems] = useState<MenuItemProps[] | undefined>(\n undefined\n );\n const [selectedFilter, setSelectedFilter] = useState(defaultFilter ?? t('all'));\n const [downPressed, setDownPressed] = useState(false);\n\n const completeFilters = [t('all'), ...(filters ?? [])];\n const hasFilters = completeFilters.length > 1;\n const hasSearchResults = !!(searchResults && searchResults.length);\n const hasRecentSearches = !!(recentSearches && recentSearches.length);\n const showSearchMenu = (value || recentSearches?.length) && (searchResultItems || loadingProp);\n const useRecents = hasRecentSearches && !value;\n const loading = useRecents ? false : !!loadingProp;\n const searchMenuVisible =\n (resultsPopover && showSearchMenu && searchMenuOpen) || (!resultsPopover && showSearchMenu);\n\n const handleEscape = useCallback(\n (e: KeyboardEvent) => {\n if (searchMenuOpen) {\n e.preventDefault();\n e.stopPropagation();\n setSearchMenuOpen(false);\n setDownPressed(false);\n }\n },\n [searchMenuOpen]\n );\n\n useEscape(handleEscape, inputRef, [handleEscape]);\n\n const onKeyDown = useCallback(\n (e: ReactKeyboardEvent<HTMLInputElement>) => {\n switch (e.key) {\n case 'Enter':\n if (!downPressed) {\n onSearchSubmit?.(value);\n }\n break;\n case 'ArrowDown':\n setDownPressed(true);\n setSearchMenuOpen(true);\n break;\n case 'Tab': {\n const forward = !e.shiftKey;\n\n if (forward) {\n const popoverFocusables = getFocusables(searchResultsRef);\n\n if (popoverFocusables.length) {\n e.preventDefault();\n popoverFocusables[0].focus();\n }\n }\n break;\n }\n default:\n break;\n }\n },\n [onSearchSubmit, downPressed, value]\n );\n\n useOuterEvent('click', [searchResultsRef, inputRef, filtersRef], () => {\n setSearchMenuOpen(false);\n });\n\n useEffect(() => {\n setDownPressed(false);\n }, [value]);\n\n useEffect(() => {\n let items: MenuItemProps[] | undefined = [];\n if (hasSearchResults && value) {\n items = searchResults;\n } else if (useRecents) {\n items = recentSearches;\n } else if (!searchResults && (!recentSearches || recentSearches.length === 0)) {\n items = undefined;\n }\n setSearchResultItems(items);\n }, [searchResults, recentSearches, searchMenuOpen, hasSearchResults, hasRecentSearches, value]);\n\n // Announce results\n useEffect(() => {\n if (!searchMenuVisible || loading) return;\n\n const timeout = setTimeout(() => {\n announcePolite({\n message: t(\n useRecents ? 'recent_results_count' : 'results_count',\n [searchResultItems?.length ?? 0],\n {\n count: searchResultItems?.length ?? 0\n }\n ),\n type: 'status'\n });\n }, 1000);\n\n return () => {\n clearTimeout(timeout);\n };\n }, [loading, searchMenuVisible, searchResultItems]);\n\n const searchMenu = (\n <Menu\n as={StyledSearchMenu}\n header={\n recentSearches && !value ? (\n <Text variant='secondary'>{t('recent_searches')}</Text>\n ) : undefined\n }\n mode='action'\n items={searchResultItems ?? []}\n loading={loading}\n footer={\n advancedSearchLink ? (\n <Link {...advancedSearchLink}>{t('advanced_search')}</Link>\n ) : undefined\n }\n accent={hasSearchResults ? createStringMatcher(value, undefined, 'gi') : undefined}\n focusControlEl={inputRef.current || undefined}\n pauseDescendantEvaluation={!downPressed}\n aria-label={searchInputAriaLabel || t('search')}\n />\n );\n\n const focus = useFocusWithin([inputRef, searchResultsRef], focused => {\n if (!focused) {\n setDownPressed(false);\n setSearchMenuOpen(false);\n }\n });\n\n useEffect(() => {\n if (focus) {\n setSearchMenuOpen(true);\n }\n }, [focus]);\n\n useEffect(() => {\n if (currentFilter) setSelectedFilter(currentFilter);\n }, [currentFilter]);\n\n return (\n <>\n <Flex\n container\n as={StyledSearchInput}\n hasFilters={hasFilters}\n showSubmit={!!onSearchSubmit}\n >\n {hasFilters && (\n <>\n <ThemeOverride\n theme={{\n components: {\n button: {\n 'secondary-color': theme.base.palette['foreground-color'],\n 'secondary-fill-style': 'outline'\n }\n }\n }}\n >\n <StyledSearchFiltersButton\n ref={filtersRef}\n text={selectedFilter}\n variant='secondary'\n aria-label={t('search_in_noun', [selectedFilter])}\n menu={{\n mode: 'single-select',\n items: completeFilters.map(filter => ({\n primary: filter,\n id: filter,\n selected: selectedFilter === filter,\n onClick: () => {\n setSelectedFilter(filter);\n onFilterChange?.(filter);\n inputRef.current?.focus();\n }\n }))\n }}\n showSubmit={!!onSearchSubmit}\n />\n </ThemeOverride>\n <Tooltip target={filtersRef.current} hideDelay='none' showDelay='none'>\n {t('search_in')}\n </Tooltip>\n </>\n )}\n\n {!onSearchSubmit && !hasFilters && <StyledSearchIcon name='search' />}\n\n <StyledSearchTextInput\n ref={inputRef}\n aria-label={searchInputAriaLabel}\n {...restProps}\n type='search'\n aria-describedby={searchMenuVisible ? instructionTextId : undefined}\n value={value}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n onSearchChange?.(e.target.value);\n if (e.target.value) setSearchMenuOpen(true);\n }}\n onKeyDown={onKeyDown}\n autoComplete='off'\n />\n\n {value && (\n <StyledClearButton\n icon\n onClick={() => {\n onSearchChange?.('');\n inputRef.current?.focus();\n }}\n variant='simple'\n compact\n label={t('clear')}\n showSubmit={!!onSearchSubmit}\n >\n <Icon name='times' />\n </StyledClearButton>\n )}\n\n {!onSearchSubmit && hasFilters && <StyledSearchIcon name='search' />}\n\n {onSearchSubmit && (\n <StyledSearchButton\n onClick={() => {\n onSearchSubmit?.(value);\n }}\n icon\n label={t('search')}\n variant='simple'\n >\n <Icon name='search' />\n </StyledSearchButton>\n )}\n </Flex>\n\n {showSearchMenu && resultsPopover && (\n <Popover\n as={StyledResultsPopover}\n target={inputRef.current}\n show={searchMenuOpen}\n placement='bottom-start'\n modifiers={[sameWidth]}\n onKeyDown={(e: KeyboardEvent) => {\n if (!inputRef.current) return;\n\n if (e.key === 'Tab') {\n const popoverFocusables = getFocusables(searchResultsRef);\n const currentIndex = popoverFocusables.indexOf(e.target as HTMLElement);\n const forward = !e.shiftKey;\n const isLast = currentIndex === popoverFocusables.length - 1;\n\n if (forward && isLast) {\n e.preventDefault();\n const allFocusable = getFocusables(bodyRef as MutableRefObject<HTMLElement>);\n const nextIndex = allFocusable.indexOf(inputRef.current) + 1;\n\n allFocusable[nextIndex]?.focus();\n setDownPressed(false);\n setSearchMenuOpen(false);\n } else if (!forward && currentIndex === 0) {\n e.preventDefault();\n inputRef.current.focus();\n }\n }\n if (e.key === 'Escape') {\n handleEscape(e);\n inputRef.current.focus();\n }\n }}\n ref={searchResultsRef}\n >\n {searchMenu}\n </Popover>\n )}\n\n {!resultsPopover && showSearchMenu && (\n <StyledSearchResultsContainer>{searchMenu}</StyledSearchResultsContainer>\n )}\n\n <VisuallyHiddenText id={instructionTextId}>\n {`${t('search_instructions')} `}\n </VisuallyHiddenText>\n </>\n );\n }\n);\n\nexport default SearchInput;\n"]}
@@ -1,15 +1,15 @@
1
- export declare const StyledSearchButton: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../Button/BareButton").BareButtonProps & import("../..").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
2
- export declare const StyledMenuButton: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../..").ForwardProps & import("../MenuButton").MenuButtonProps> & {
1
+ export declare const StyledSearchButton: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../Button").ButtonProps & import("../..").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
2
+ export declare const StyledSearchFiltersButton: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../..").ForwardProps & import("../MenuButton").MenuButtonProps> & {
3
3
  getTestIds: (testIdProp?: import("../..").TestIdProp["testId"]) => import("../..").TestIdsRecord<readonly []>;
4
4
  }, import("styled-components").DefaultTheme, {}, never>;
5
- export declare const StyledCancelButton: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../Button").ButtonProps & import("../..").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
5
+ export declare const StyledClearButton: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../Button").ButtonProps & import("../..").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
6
+ export declare const StyledSearchIcon: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Icon").IconProps>, import("styled-components").DefaultTheme, {}, never>;
6
7
  export declare const StyledSearchTextInput: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("../Input").InputProps, "ref"> & import("react").RefAttributes<HTMLInputElement>> & {
7
8
  getTestIds: (testIdProp?: import("../..").TestIdProp["testId"]) => import("../..").TestIdsRecord<readonly ["control", "label", "info", "additional-info", "suggestion-accept", "suggestion-reject"]>;
8
- }, import("styled-components").DefaultTheme, {
9
- decoupled: boolean;
10
- }, never>;
9
+ }, import("styled-components").DefaultTheme, {}, never>;
11
10
  export declare const StyledSearchInput: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
12
11
  hasFilters: boolean;
12
+ showSubmit: boolean;
13
13
  }, never>;
14
14
  export declare const StyledSearchMenu: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
15
15
  export declare const StyledSearchResultsContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.styles.d.ts","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.styles.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,kBAAkB,oNAU7B,CAAC;AAIH,eAAO,MAAM,gBAAgB;;uDAwB3B,CAAC;AAIH,eAAO,MAAM,kBAAkB,qMAiB7B,CAAC;AAIH,eAAO,MAAM,qBAAqB;;;eAA8B,OAAO;SA+CrE,CAAC;AAIH,eAAO,MAAM,iBAAiB;gBAA4B,OAAO;SAoChE,CAAC;AAIF,eAAO,MAAM,gBAAgB,yGAI5B,CAAC;AAEF,eAAO,MAAM,4BAA4B,yGAExC,CAAC;AAIF,eAAO,MAAM,oBAAoB,yGAAe,CAAC;AAEjD,eAAO,MAAM,oBAAoB,yGAAe,CAAC"}
1
+ {"version":3,"file":"SearchInput.styles.d.ts","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.styles.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,kBAAkB,qMAmB7B,CAAC;AAIH,eAAO,MAAM,yBAAyB;;uDAmBpC,CAAC;AAIH,eAAO,MAAM,iBAAiB,qMAmB5B,CAAC;AAIH,eAAO,MAAM,gBAAgB,0KAqB3B,CAAC;AAIH,eAAO,MAAM,qBAAqB;;uDA6BhC,CAAC;AAIH,eAAO,MAAM,iBAAiB;gBAA4B,OAAO;gBAAc,OAAO;SA2HrF,CAAC;AAIF,eAAO,MAAM,gBAAgB,yGAI5B,CAAC;AAEF,eAAO,MAAM,4BAA4B,yGAExC,CAAC;AAIF,eAAO,MAAM,oBAAoB,yGAAe,CAAC;AAEjD,eAAO,MAAM,oBAAoB,yGAAe,CAAC"}
@@ -3,86 +3,82 @@ import styled, { css } from 'styled-components';
3
3
  import MenuButton from '../MenuButton';
4
4
  import { defaultThemeProp } from '../../theme';
5
5
  import { tryCatch } from '../../utils';
6
- import Button from '../Button';
7
- import BareButton from '../Button/BareButton';
6
+ import Button, { StyledButton } from '../Button';
8
7
  import Input from '../Input';
9
- export const StyledSearchButton = styled(BareButton)(({ theme: { base } }) => {
10
- const iconColor = tryCatch(() => transparentize(0.3, base.palette['foreground-color']));
8
+ import Icon from '../Icon';
9
+ export const StyledSearchButton = styled(Button)(({ theme: { base: { spacing, 'border-radius': borderRadius }, components: { 'search-input': searchInput, 'form-control': formControl, input } } }) => {
11
10
  return css `
12
- padding-inline-start: ${base.spacing};
13
- color: ${iconColor};
11
+ border: ${input['border-width']} solid ${input['border-color']};
12
+ border-inline-start: unset;
13
+ border-start-start-radius: 0;
14
+ border-end-start-radius: 0;
15
+ border-start-end-radius: calc(${borderRadius} * ${searchInput['border-radius']});
16
+ border-end-end-radius: calc(${borderRadius} * ${searchInput['border-radius']});
17
+ padding-inline: ${spacing} calc(1.25 * ${spacing});
14
18
 
15
- @media (pointer: coarse) {
16
- padding-inline-start: calc(3 * ${base.spacing});
19
+ &:focus:enabled {
20
+ border-color: ${formControl[':focus']['border-color']};
17
21
  }
18
22
  `;
19
23
  });
20
24
  StyledSearchButton.defaultProps = defaultThemeProp;
21
- export const StyledMenuButton = styled(MenuButton)(({ theme: { base, components: { 'search-input': searchInput, 'form-control': formControl, input } } }) => {
22
- const iconColor = tryCatch(() => transparentize(0.3, base.palette['foreground-color']));
25
+ export const StyledSearchFiltersButton = styled(MenuButton)(({ theme: { base: { spacing, 'border-radius': borderRadius }, components: { 'search-input': searchInput, 'form-control': formControl, input } } }) => {
23
26
  return css `
24
- border-start-start-radius: calc(${base['border-radius']} * ${searchInput['border-radius']});
25
- border-end-start-radius: calc(${base['border-radius']} * ${searchInput['border-radius']});
26
- padding-inline-start: ${base.spacing};
27
27
  border: ${input['border-width']} solid ${input['border-color']};
28
- color: ${iconColor};
29
- position: relative;
30
- z-index: 2;
31
- &:hover {
32
- text-decoration: none;
33
- }
28
+ border-inline-end: unset;
29
+ border-start-start-radius: calc(${borderRadius} * ${searchInput['border-radius']});
30
+ border-end-start-radius: calc(${borderRadius} * ${searchInput['border-radius']});
31
+ border-start-end-radius: 0;
32
+ border-end-end-radius: 0;
33
+ padding-inline: ${spacing} 0;
34
34
 
35
35
  &:focus:enabled {
36
36
  border-color: ${formControl[':focus']['border-color']};
37
- box-shadow: ${formControl[':focus']['box-shadow']};
38
37
  }
39
38
  `;
40
39
  });
41
- StyledMenuButton.defaultProps = defaultThemeProp;
42
- export const StyledCancelButton = styled(Button)(({ theme }) => {
40
+ StyledSearchFiltersButton.defaultProps = defaultThemeProp;
41
+ export const StyledClearButton = styled(Button)(({ theme: { base: { 'hit-area': hitArea }, components: { input } } }) => {
43
42
  return css `
43
+ z-index: 2;
44
44
  position: absolute;
45
- inset-inline-end: calc(
46
- (${theme.base['hit-area'].finger} - ${theme.base['hit-area'].compact}) / 2
47
- );
48
- inset-block-start: calc(
49
- (${theme.components.input.height} - ${theme.base['hit-area'].compact}) / 2
50
- );
51
- z-index: 3;
45
+ inset-block-start: calc((${input.height} - ${hitArea.compact}) / 2);
46
+
47
+ & + ${StyledButton} {
48
+ margin-inline-start: 0;
49
+ }
52
50
 
53
51
  @media (pointer: coarse) {
54
- inset-block-start: calc(
55
- (${theme.base['hit-area']['finger-min']} - ${theme.base['hit-area'].compact}) / 2
56
- );
52
+ inset-block-start: calc((${hitArea['finger-min']} - ${hitArea.compact}) / 2);
57
53
  }
58
54
  `;
59
55
  });
60
- StyledCancelButton.defaultProps = defaultThemeProp;
61
- export const StyledSearchTextInput = styled(Input)(props => {
62
- const { theme, decoupled } = props;
63
- const comp = theme.components['search-input'];
56
+ StyledClearButton.defaultProps = defaultThemeProp;
57
+ export const StyledSearchIcon = styled(Icon)(({ theme: { base: { 'hit-area': hitArea, palette }, components: { input } } }) => {
58
+ const iconColor = tryCatch(() => transparentize(0.3, palette['foreground-color']));
59
+ return css `
60
+ position: absolute;
61
+ pointer-events: none;
62
+ color: ${iconColor};
63
+ z-index: 2;
64
+ /* stylelint-disable-next-line unit-allowed-list */
65
+ inset-block-start: calc((${input.height} - max(1.125rem, 14px)) / 2);
66
+
67
+ @media (pointer: coarse) {
68
+ /* stylelint-disable-next-line unit-allowed-list */
69
+ inset-block-start: calc((${hitArea['finger-min']} - max(1.125rem, 14px)) / 2);
70
+ }
71
+ `;
72
+ });
73
+ StyledSearchIcon.defaultProps = defaultThemeProp;
74
+ export const StyledSearchTextInput = styled(Input)(({ theme: { components: { input } } }) => {
64
75
  return css `
65
76
  flex: 1;
66
- background: transparent;
67
- padding-inline-end: calc(${theme.base['hit-area'].finger});
68
- border-radius: calc(${comp['border-radius']} * ${theme.base['border-radius']});
69
- border-start-start-radius: 0;
70
- border-end-start-radius: 0;
71
- ${decoupled
72
- ? css `
73
- border-inline-start: none;
74
- `
75
- : css `
76
- border: none;
77
- `}
77
+ background-color: transparent;
78
+ border: ${input['border-width']} solid ${input['border-color']};
79
+ border-radius: inherit;
78
80
  height: 100%;
79
81
  min-height: 100%;
80
- position: relative;
81
- z-index: 1;
82
-
83
- &[value=''] {
84
- padding-inline-end: 0;
85
- }
86
82
 
87
83
  &::-ms-clear {
88
84
  display: none;
@@ -97,42 +93,129 @@ export const StyledSearchTextInput = styled(Input)(props => {
97
93
  }
98
94
 
99
95
  &:focus:not([disabled]) {
100
- z-index: 2;
101
- ${!decoupled &&
102
- css `
103
- border: none;
104
- box-shadow: none;
105
- `}
96
+ z-index: 1;
106
97
  }
107
98
  `;
108
99
  });
109
100
  StyledSearchTextInput.defaultProps = defaultThemeProp;
110
- export const StyledSearchInput = styled.div(({ theme: { base, components: { input, 'form-control': formControl, 'search-input': searchInput } }, hasFilters }) => {
101
+ export const StyledSearchInput = styled.div(({ hasFilters, showSubmit, theme }) => {
102
+ const borderRadius = `calc(${theme.components['search-input']['border-radius']} * ${theme.base['border-radius']})`;
111
103
  return css `
112
- background: ${formControl['background-color']};
113
- min-height: ${input.height};
114
104
  position: relative;
115
- height: ${input.height};
116
- border-radius: calc(${searchInput['border-radius']} * ${base['border-radius']});
117
- ${hasFilters
105
+ background: ${theme.components['form-control']['background-color']};
106
+ min-height: ${theme.components.input.height};
107
+ height: ${theme.components.input.height};
108
+ border-radius: ${borderRadius};
109
+
110
+ @media (pointer: coarse) {
111
+ min-height: ${theme.base['hit-area']['finger-min']};
112
+ min-width: ${theme.base['hit-area']['finger-min']};
113
+ }
114
+ --button-padding-inner: ${theme.base.spacing};
115
+ --button-padding-outer: calc(${theme.base.spacing} * 1.25);
116
+ /* stylelint-disable-next-line unit-allowed-list */
117
+ --icon-size: max(1.125rem, 14px);
118
+ --min-button-size: ${theme.base['hit-area']['mouse-min']};
119
+ --search-button-size: max(
120
+ var(--button-padding-inner) + var(--icon-size) + var(--button-padding-outer) +
121
+ ${theme.components.button['border-width']},
122
+ var(--min-button-size)
123
+ );
124
+
125
+ @media (pointer: coarse) {
126
+ --min-button-size: ${theme.base['hit-area']['finger-min']};
127
+ }
128
+
129
+ ${showSubmit
118
130
  ? css `
119
- border: none;
131
+ /* stylelint-disable length-zero-no-unit */
132
+ --search-icon-start-size: 0rem;
133
+ --search-icon-end-size: 0rem;
134
+ --search-button-end-size: var(--search-button-size);
135
+ /* stylelint-enable length-zero-no-unit */
120
136
  `
121
137
  : css `
122
- border: ${input['border-width']} solid ${input['border-color']};
138
+ ${hasFilters
139
+ ? css `
140
+ /* stylelint-disable length-zero-no-unit */
141
+ --search-icon-start-size: 0rem;
142
+ --search-icon-end-size: calc(
143
+ var(--search-button-size) - var(--button-padding-inner)
144
+ );
145
+ --search-button-end-size: 0rem;
146
+ /* stylelint-enable length-zero-no-unit */
147
+ `
148
+ : css `
149
+ /* stylelint-disable length-zero-no-unit */
150
+ --search-icon-start-size: calc(
151
+ var(--search-button-size) - var(--button-padding-inner)
152
+ );
153
+ --search-icon-end-size: 0rem;
154
+ --search-button-end-size: 0rem;
155
+ /* stylelint-enable length-zero-no-unit */
156
+ `}
123
157
  `}
124
158
 
125
- ${!hasFilters &&
126
- css `
127
- :focus-within {
128
- border-color: ${base.palette.light};
129
- box-shadow: ${formControl[':focus']['box-shadow']};
159
+ ${StyledSearchTextInput} {
160
+ ${showSubmit && !hasFilters
161
+ ? css `
162
+ padding-inline-start: max(
163
+ ${theme.components.input.padding},
164
+ calc(${theme.base.spacing} * 1.5)
165
+ );
166
+ `
167
+ : css `
168
+ padding-inline-start: calc(
169
+ ${theme.components.input.padding} + var(--search-icon-start-size)
170
+ );
171
+ `}
172
+ padding-inline-end: calc(
173
+ ${theme.components.input.padding} + var(--clear-button-size-plus-gap) +
174
+ var(--search-icon-end-size)
175
+ );
176
+ --clear-button-size-plus-gap: calc(
177
+ max(${theme.base['hit-area'].compact}, ${theme.base['hit-area']['compact-min']}) +
178
+ ${theme.components.input.padding}
179
+ );
180
+
181
+ &[value=''] {
182
+ /* stylelint-disable-next-line length-zero-no-unit */
183
+ --clear-button-size-plus-gap: 0rem;
130
184
  }
131
- `}
132
185
 
133
- @media (pointer: coarse) {
134
- min-height: ${base['hit-area']['finger-min']};
135
- min-width: ${base['hit-area']['finger-min']};
186
+ ${showSubmit &&
187
+ css `
188
+ border-start-end-radius: 0;
189
+ border-end-end-radius: 0;
190
+ `}
191
+
192
+ ${hasFilters &&
193
+ css `
194
+ border-start-start-radius: 0;
195
+ border-end-start-radius: 0;
196
+ `}
197
+ }
198
+
199
+ ${StyledClearButton} {
200
+ inset-inline-end: calc(
201
+ ${theme.components.input.padding} +
202
+ max(var(--search-icon-end-size), var(--search-button-end-size))
203
+ );
204
+ }
205
+
206
+ ${StyledSearchIcon} {
207
+ --inset: calc(
208
+ max(var(--button-padding-outer), calc((var(--min-button-size) - var(--icon-size)) / 2)) +
209
+ ${theme.components.button['border-width']}
210
+ );
211
+
212
+ ${hasFilters
213
+ ? css `
214
+ inset-inline-end: var(--inset);
215
+ `
216
+ : css `
217
+ inset-inline-start: var(--inset);
218
+ `}
136
219
  }
137
220
  `;
138
221
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.styles.js","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import { transparentize } from 'polished';\nimport styled, { css } from 'styled-components';\n\nimport MenuButton from '../MenuButton';\nimport { defaultThemeProp } from '../../theme';\nimport { tryCatch } from '../../utils';\nimport Button from '../Button';\nimport BareButton from '../Button/BareButton';\nimport Input from '../Input';\n\nexport const StyledSearchButton = styled(BareButton)(({ theme: { base } }) => {\n const iconColor = tryCatch(() => transparentize(0.3, base.palette['foreground-color']));\n return css`\n padding-inline-start: ${base.spacing};\n color: ${iconColor};\n\n @media (pointer: coarse) {\n padding-inline-start: calc(3 * ${base.spacing});\n }\n `;\n});\n\nStyledSearchButton.defaultProps = defaultThemeProp;\n\nexport const StyledMenuButton = styled(MenuButton)(({\n theme: {\n base,\n components: { 'search-input': searchInput, 'form-control': formControl, input }\n }\n}) => {\n const iconColor = tryCatch(() => transparentize(0.3, base.palette['foreground-color']));\n return css`\n border-start-start-radius: calc(${base['border-radius']} * ${searchInput['border-radius']});\n border-end-start-radius: calc(${base['border-radius']} * ${searchInput['border-radius']});\n padding-inline-start: ${base.spacing};\n border: ${input['border-width']} solid ${input['border-color']};\n color: ${iconColor};\n position: relative;\n z-index: 2;\n &:hover {\n text-decoration: none;\n }\n\n &:focus:enabled {\n border-color: ${formControl[':focus']['border-color']};\n box-shadow: ${formControl[':focus']['box-shadow']};\n }\n `;\n});\n\nStyledMenuButton.defaultProps = defaultThemeProp;\n\nexport const StyledCancelButton = styled(Button)(({ theme }) => {\n return css`\n position: absolute;\n inset-inline-end: calc(\n (${theme.base['hit-area'].finger} - ${theme.base['hit-area'].compact}) / 2\n );\n inset-block-start: calc(\n (${theme.components.input.height} - ${theme.base['hit-area'].compact}) / 2\n );\n z-index: 3;\n\n @media (pointer: coarse) {\n inset-block-start: calc(\n (${theme.base['hit-area']['finger-min']} - ${theme.base['hit-area'].compact}) / 2\n );\n }\n `;\n});\n\nStyledCancelButton.defaultProps = defaultThemeProp;\n\nexport const StyledSearchTextInput = styled(Input)<{ decoupled: boolean }>(props => {\n const { theme, decoupled } = props;\n const comp = theme.components['search-input'];\n return css`\n flex: 1;\n background: transparent;\n padding-inline-end: calc(${theme.base['hit-area'].finger});\n border-radius: calc(${comp['border-radius']} * ${theme.base['border-radius']});\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n ${decoupled\n ? css`\n border-inline-start: none;\n `\n : css`\n border: none;\n `}\n height: 100%;\n min-height: 100%;\n position: relative;\n z-index: 1;\n\n &[value=''] {\n padding-inline-end: 0;\n }\n\n &::-ms-clear {\n display: none;\n }\n\n &::-webkit-search-cancel-button {\n display: none;\n }\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n &:focus:not([disabled]) {\n z-index: 2;\n ${!decoupled &&\n css`\n border: none;\n box-shadow: none;\n `}\n }\n `;\n});\n\nStyledSearchTextInput.defaultProps = defaultThemeProp;\n\nexport const StyledSearchInput = styled.div<{ hasFilters: boolean }>(\n ({\n theme: {\n base,\n components: { input, 'form-control': formControl, 'search-input': searchInput }\n },\n hasFilters\n }) => {\n return css`\n background: ${formControl['background-color']};\n min-height: ${input.height};\n position: relative;\n height: ${input.height};\n border-radius: calc(${searchInput['border-radius']} * ${base['border-radius']});\n ${hasFilters\n ? css`\n border: none;\n `\n : css`\n border: ${input['border-width']} solid ${input['border-color']};\n `}\n\n ${!hasFilters &&\n css`\n :focus-within {\n border-color: ${base.palette.light};\n box-shadow: ${formControl[':focus']['box-shadow']};\n }\n `}\n\n @media (pointer: coarse) {\n min-height: ${base['hit-area']['finger-min']};\n min-width: ${base['hit-area']['finger-min']};\n }\n `;\n }\n);\n\nStyledSearchInput.defaultProps = defaultThemeProp;\n\nexport const StyledSearchMenu = styled.div`\n header {\n border-bottom: none;\n }\n`;\n\nexport const StyledSearchResultsContainer = styled.div`\n padding-top: ${props => props.theme.base.spacing};\n`;\n\nStyledSearchResultsContainer.defaultProps = defaultThemeProp;\n\nexport const StyledFiltersPopover = styled.div``;\n\nexport const StyledResultsPopover = styled.div``;\n"]}
1
+ {"version":3,"file":"SearchInput.styles.js","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import { transparentize } from 'polished';\nimport styled, { css } from 'styled-components';\n\nimport MenuButton from '../MenuButton';\nimport { defaultThemeProp } from '../../theme';\nimport { tryCatch } from '../../utils';\nimport Button, { StyledButton } from '../Button';\nimport Input from '../Input';\nimport Icon from '../Icon';\n\nexport const StyledSearchButton = styled(Button)(({\n theme: {\n base: { spacing, 'border-radius': borderRadius },\n components: { 'search-input': searchInput, 'form-control': formControl, input }\n }\n}) => {\n return css`\n border: ${input['border-width']} solid ${input['border-color']};\n border-inline-start: unset;\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n border-start-end-radius: calc(${borderRadius} * ${searchInput['border-radius']});\n border-end-end-radius: calc(${borderRadius} * ${searchInput['border-radius']});\n padding-inline: ${spacing} calc(1.25 * ${spacing});\n\n &:focus:enabled {\n border-color: ${formControl[':focus']['border-color']};\n }\n `;\n});\n\nStyledSearchButton.defaultProps = defaultThemeProp;\n\nexport const StyledSearchFiltersButton = styled(MenuButton)(({\n theme: {\n base: { spacing, 'border-radius': borderRadius },\n components: { 'search-input': searchInput, 'form-control': formControl, input }\n }\n}) => {\n return css`\n border: ${input['border-width']} solid ${input['border-color']};\n border-inline-end: unset;\n border-start-start-radius: calc(${borderRadius} * ${searchInput['border-radius']});\n border-end-start-radius: calc(${borderRadius} * ${searchInput['border-radius']});\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n padding-inline: ${spacing} 0;\n\n &:focus:enabled {\n border-color: ${formControl[':focus']['border-color']};\n }\n `;\n});\n\nStyledSearchFiltersButton.defaultProps = defaultThemeProp;\n\nexport const StyledClearButton = styled(Button)(({\n theme: {\n base: { 'hit-area': hitArea },\n components: { input }\n }\n}) => {\n return css`\n z-index: 2;\n position: absolute;\n inset-block-start: calc((${input.height} - ${hitArea.compact}) / 2);\n\n & + ${StyledButton} {\n margin-inline-start: 0;\n }\n\n @media (pointer: coarse) {\n inset-block-start: calc((${hitArea['finger-min']} - ${hitArea.compact}) / 2);\n }\n `;\n});\n\nStyledClearButton.defaultProps = defaultThemeProp;\n\nexport const StyledSearchIcon = styled(Icon)(({\n theme: {\n base: { 'hit-area': hitArea, palette },\n components: { input }\n }\n}) => {\n const iconColor = tryCatch(() => transparentize(0.3, palette['foreground-color']));\n\n return css`\n position: absolute;\n pointer-events: none;\n color: ${iconColor};\n z-index: 2;\n /* stylelint-disable-next-line unit-allowed-list */\n inset-block-start: calc((${input.height} - max(1.125rem, 14px)) / 2);\n\n @media (pointer: coarse) {\n /* stylelint-disable-next-line unit-allowed-list */\n inset-block-start: calc((${hitArea['finger-min']} - max(1.125rem, 14px)) / 2);\n }\n `;\n});\n\nStyledSearchIcon.defaultProps = defaultThemeProp;\n\nexport const StyledSearchTextInput = styled(Input)(({\n theme: {\n components: { input }\n }\n}) => {\n return css`\n flex: 1;\n background-color: transparent;\n border: ${input['border-width']} solid ${input['border-color']};\n border-radius: inherit;\n height: 100%;\n min-height: 100%;\n\n &::-ms-clear {\n display: none;\n }\n\n &::-webkit-search-cancel-button {\n display: none;\n }\n\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n &:focus:not([disabled]) {\n z-index: 1;\n }\n `;\n});\n\nStyledSearchTextInput.defaultProps = defaultThemeProp;\n\nexport const StyledSearchInput = styled.div<{ hasFilters: boolean; showSubmit: boolean }>(\n ({ hasFilters, showSubmit, theme }) => {\n const borderRadius = `calc(${theme.components['search-input']['border-radius']} * ${theme.base['border-radius']})`;\n\n return css`\n position: relative;\n background: ${theme.components['form-control']['background-color']};\n min-height: ${theme.components.input.height};\n height: ${theme.components.input.height};\n border-radius: ${borderRadius};\n\n @media (pointer: coarse) {\n min-height: ${theme.base['hit-area']['finger-min']};\n min-width: ${theme.base['hit-area']['finger-min']};\n }\n --button-padding-inner: ${theme.base.spacing};\n --button-padding-outer: calc(${theme.base.spacing} * 1.25);\n /* stylelint-disable-next-line unit-allowed-list */\n --icon-size: max(1.125rem, 14px);\n --min-button-size: ${theme.base['hit-area']['mouse-min']};\n --search-button-size: max(\n var(--button-padding-inner) + var(--icon-size) + var(--button-padding-outer) +\n ${theme.components.button['border-width']},\n var(--min-button-size)\n );\n\n @media (pointer: coarse) {\n --min-button-size: ${theme.base['hit-area']['finger-min']};\n }\n\n ${showSubmit\n ? css`\n /* stylelint-disable length-zero-no-unit */\n --search-icon-start-size: 0rem;\n --search-icon-end-size: 0rem;\n --search-button-end-size: var(--search-button-size);\n /* stylelint-enable length-zero-no-unit */\n `\n : css`\n ${hasFilters\n ? css`\n /* stylelint-disable length-zero-no-unit */\n --search-icon-start-size: 0rem;\n --search-icon-end-size: calc(\n var(--search-button-size) - var(--button-padding-inner)\n );\n --search-button-end-size: 0rem;\n /* stylelint-enable length-zero-no-unit */\n `\n : css`\n /* stylelint-disable length-zero-no-unit */\n --search-icon-start-size: calc(\n var(--search-button-size) - var(--button-padding-inner)\n );\n --search-icon-end-size: 0rem;\n --search-button-end-size: 0rem;\n /* stylelint-enable length-zero-no-unit */\n `}\n `}\n\n ${StyledSearchTextInput} {\n ${showSubmit && !hasFilters\n ? css`\n padding-inline-start: max(\n ${theme.components.input.padding},\n calc(${theme.base.spacing} * 1.5)\n );\n `\n : css`\n padding-inline-start: calc(\n ${theme.components.input.padding} + var(--search-icon-start-size)\n );\n `}\n padding-inline-end: calc(\n ${theme.components.input.padding} + var(--clear-button-size-plus-gap) +\n var(--search-icon-end-size)\n );\n --clear-button-size-plus-gap: calc(\n max(${theme.base['hit-area'].compact}, ${theme.base['hit-area']['compact-min']}) +\n ${theme.components.input.padding}\n );\n\n &[value=''] {\n /* stylelint-disable-next-line length-zero-no-unit */\n --clear-button-size-plus-gap: 0rem;\n }\n\n ${showSubmit &&\n css`\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n `}\n\n ${hasFilters &&\n css`\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n `}\n }\n\n ${StyledClearButton} {\n inset-inline-end: calc(\n ${theme.components.input.padding} +\n max(var(--search-icon-end-size), var(--search-button-end-size))\n );\n }\n\n ${StyledSearchIcon} {\n --inset: calc(\n max(var(--button-padding-outer), calc((var(--min-button-size) - var(--icon-size)) / 2)) +\n ${theme.components.button['border-width']}\n );\n\n ${hasFilters\n ? css`\n inset-inline-end: var(--inset);\n `\n : css`\n inset-inline-start: var(--inset);\n `}\n }\n `;\n }\n);\n\nStyledSearchInput.defaultProps = defaultThemeProp;\n\nexport const StyledSearchMenu = styled.div`\n header {\n border-bottom: none;\n }\n`;\n\nexport const StyledSearchResultsContainer = styled.div`\n padding-top: ${props => props.theme.base.spacing};\n`;\n\nStyledSearchResultsContainer.defaultProps = defaultThemeProp;\n\nexport const StyledFiltersPopover = styled.div``;\n\nexport const StyledResultsPopover = styled.div``;\n"]}
@@ -27,7 +27,7 @@ const Sentiment = forwardRef(function Sentiment(props, ref) {
27
27
  neutral: t('sentiment_neutral')
28
28
  };
29
29
  const { 'aria-label': ariaLabel, variant, labelHidden = false, labels = {}, icons = {}, ...restProps } = props;
30
- return (_jsxs(Flex, { "aria-label": ariaLabel, ref: ref, variant: variant, role: 'img', ...restProps, as: StyledSentiment, container: { gap: 1 }, children: [_jsx(Icon, { "aria-hidden": 'true', name: icons[variant] || defaultIcons[variant] }), !labelHidden && _jsx("span", { children: labels[variant] || defaultLabels[variant] })] }));
30
+ return (_jsxs(Flex, { "aria-label": ariaLabel, ref: ref, variant: variant, role: 'img', ...restProps, as: StyledSentiment, container: { gap: 1 }, children: [_jsx(Icon, { "aria-hidden": true, name: icons[variant] || defaultIcons[variant] }), !labelHidden && _jsx("span", { children: labels[variant] || defaultLabels[variant] })] }));
31
31
  });
32
32
  export default Sentiment;
33
33
  //# sourceMappingURL=Sentiment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sentiment.js","sourceRoot":"","sources":["../../../src/components/Sentiment/Sentiment.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAuB3C,MAAM,YAAY,GAA4B;IAC5C,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE,YAAY;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAiB,KAAK,CAAC,EAAE;IAChE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACjC,OAAO,GAAG,CAAA;QACJ,UAAU;eACH,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK;;GAErD,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEhD,MAAM,SAAS,GAAqD,UAAU,CAAC,SAAS,SAAS,CAC/F,KAAsC,EACtC,GAA0B;IAE1B,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IAEpB,MAAM,aAAa,GAA6B;QAC9C,QAAQ,EAAE,CAAC,CAAC,oBAAoB,CAAC;QACjC,QAAQ,EAAE,CAAC,CAAC,oBAAoB,CAAC;QACjC,OAAO,EAAE,CAAC,CAAC,mBAAmB,CAAC;KAChC,CAAC;IAEF,MAAM,EACJ,YAAY,EAAE,SAAS,EACvB,OAAO,EACP,WAAW,GAAG,KAAK,EACnB,MAAM,GAAG,EAAE,EACX,KAAK,GAAG,EAAE,EACV,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,MAAC,IAAI,kBACS,SAAS,EACrB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,KAAK,KACN,SAAS,EACb,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,aAErB,KAAC,IAAI,mBAAa,MAAM,EAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,OAAO,CAAE,GAAI,EAC1E,CAAC,WAAW,IAAI,yBAAO,MAAM,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,GAAQ,IACpE,CACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,SAAS,CAAC","sourcesContent":["import { forwardRef } from 'react';\nimport type { FunctionComponent, PropsWithoutRef, Ref } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Flex from '../Flex';\nimport { useI18n } from '../../hooks';\nimport { defaultThemeProp } from '../../theme';\nimport type { BaseProps, ForwardProps, NoChildrenProp } from '../../types';\nimport Icon, { StyledIcon } from '../Icon';\n\nexport interface SentimentProps extends BaseProps, NoChildrenProp {\n /** Ref to the element */\n ref?: Ref<HTMLDivElement>;\n /** Variant of the sentiment */\n variant: 'positive' | 'neutral' | 'negative';\n /** Flag that indicates if label needs to be hidden\n * @default false\n */\n labelHidden?: boolean;\n /** Labels for different sentiment variants. If not supplied default labels will be shown */\n labels?: {\n [variant in SentimentProps['variant']]?: string;\n };\n /** Icons for different sentiment variants. If not supplied default icons will be shown */\n icons?: {\n [variant in SentimentProps['variant']]?: string;\n };\n /** Aria label for screen readers. */\n 'aria-label'?: string;\n}\n\nconst defaultIcons: SentimentProps['icons'] = {\n negative: 'face-sad',\n positive: 'face-happy',\n neutral: 'face-blank'\n};\n\nexport const StyledSentiment = styled.div<SentimentProps>(props => {\n const { theme, variant } = props;\n return css`\n > ${StyledIcon} {\n color: ${theme.components.sentiment[variant].color};\n }\n `;\n});\n\nStyledSentiment.defaultProps = defaultThemeProp;\n\nconst Sentiment: FunctionComponent<SentimentProps & ForwardProps> = forwardRef(function Sentiment(\n props: PropsWithoutRef<SentimentProps>,\n ref: SentimentProps['ref']\n) {\n const t = useI18n();\n\n const defaultLabels: SentimentProps['labels'] = {\n negative: t('sentiment_negative'),\n positive: t('sentiment_positive'),\n neutral: t('sentiment_neutral')\n };\n\n const {\n 'aria-label': ariaLabel,\n variant,\n labelHidden = false,\n labels = {},\n icons = {},\n ...restProps\n } = props;\n\n return (\n <Flex\n aria-label={ariaLabel}\n ref={ref}\n variant={variant}\n role='img'\n {...restProps}\n as={StyledSentiment}\n container={{ gap: 1 }}\n >\n <Icon aria-hidden='true' name={icons[variant] || defaultIcons[variant]!} />\n {!labelHidden && <span>{labels[variant] || defaultLabels[variant]}</span>}\n </Flex>\n );\n});\n\nexport default Sentiment;\n"]}
1
+ {"version":3,"file":"Sentiment.js","sourceRoot":"","sources":["../../../src/components/Sentiment/Sentiment.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,IAAI,EAAE,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAuB3C,MAAM,YAAY,GAA4B;IAC5C,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,YAAY;IACtB,OAAO,EAAE,YAAY;CACtB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAiB,KAAK,CAAC,EAAE;IAChE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACjC,OAAO,GAAG,CAAA;QACJ,UAAU;eACH,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK;;GAErD,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEhD,MAAM,SAAS,GAAqD,UAAU,CAAC,SAAS,SAAS,CAC/F,KAAsC,EACtC,GAA0B;IAE1B,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IAEpB,MAAM,aAAa,GAA6B;QAC9C,QAAQ,EAAE,CAAC,CAAC,oBAAoB,CAAC;QACjC,QAAQ,EAAE,CAAC,CAAC,oBAAoB,CAAC;QACjC,OAAO,EAAE,CAAC,CAAC,mBAAmB,CAAC;KAChC,CAAC;IAEF,MAAM,EACJ,YAAY,EAAE,SAAS,EACvB,OAAO,EACP,WAAW,GAAG,KAAK,EACnB,MAAM,GAAG,EAAE,EACX,KAAK,GAAG,EAAE,EACV,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,MAAC,IAAI,kBACS,SAAS,EACrB,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,KAAK,KACN,SAAS,EACb,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,aAErB,KAAC,IAAI,yBAAa,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC,OAAO,CAAE,GAAI,EACnE,CAAC,WAAW,IAAI,yBAAO,MAAM,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,OAAO,CAAC,GAAQ,IACpE,CACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,SAAS,CAAC","sourcesContent":["import { forwardRef } from 'react';\nimport type { FunctionComponent, PropsWithoutRef, Ref } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Flex from '../Flex';\nimport { useI18n } from '../../hooks';\nimport { defaultThemeProp } from '../../theme';\nimport type { BaseProps, ForwardProps, NoChildrenProp } from '../../types';\nimport Icon, { StyledIcon } from '../Icon';\n\nexport interface SentimentProps extends BaseProps, NoChildrenProp {\n /** Ref to the element */\n ref?: Ref<HTMLDivElement>;\n /** Variant of the sentiment */\n variant: 'positive' | 'neutral' | 'negative';\n /** Flag that indicates if label needs to be hidden\n * @default false\n */\n labelHidden?: boolean;\n /** Labels for different sentiment variants. If not supplied default labels will be shown */\n labels?: {\n [variant in SentimentProps['variant']]?: string;\n };\n /** Icons for different sentiment variants. If not supplied default icons will be shown */\n icons?: {\n [variant in SentimentProps['variant']]?: string;\n };\n /** Aria label for screen readers. */\n 'aria-label'?: string;\n}\n\nconst defaultIcons: SentimentProps['icons'] = {\n negative: 'face-sad',\n positive: 'face-happy',\n neutral: 'face-blank'\n};\n\nexport const StyledSentiment = styled.div<SentimentProps>(props => {\n const { theme, variant } = props;\n return css`\n > ${StyledIcon} {\n color: ${theme.components.sentiment[variant].color};\n }\n `;\n});\n\nStyledSentiment.defaultProps = defaultThemeProp;\n\nconst Sentiment: FunctionComponent<SentimentProps & ForwardProps> = forwardRef(function Sentiment(\n props: PropsWithoutRef<SentimentProps>,\n ref: SentimentProps['ref']\n) {\n const t = useI18n();\n\n const defaultLabels: SentimentProps['labels'] = {\n negative: t('sentiment_negative'),\n positive: t('sentiment_positive'),\n neutral: t('sentiment_neutral')\n };\n\n const {\n 'aria-label': ariaLabel,\n variant,\n labelHidden = false,\n labels = {},\n icons = {},\n ...restProps\n } = props;\n\n return (\n <Flex\n aria-label={ariaLabel}\n ref={ref}\n variant={variant}\n role='img'\n {...restProps}\n as={StyledSentiment}\n container={{ gap: 1 }}\n >\n <Icon aria-hidden name={icons[variant] || defaultIcons[variant]!} />\n {!labelHidden && <span>{labels[variant] || defaultLabels[variant]}</span>}\n </Flex>\n );\n});\n\nexport default Sentiment;\n"]}
@@ -28,7 +28,7 @@ export const StyledLineSkeleton = styled.div(props => {
28
28
  });
29
29
  StyledLineSkeleton.defaultProps = defaultThemeProp;
30
30
  const LineSkeleton = (props) => {
31
- return _jsx(StyledLineSkeleton, { ...props, "aria-disabled": 'true' });
31
+ return _jsx(StyledLineSkeleton, { ...props, "aria-disabled": true });
32
32
  };
33
33
  LineSkeleton.defaultProps = defaultProps;
34
34
  export default LineSkeleton;
@@ -1 +1 @@
1
- {"version":3,"file":"LineSkeleton.js","sourceRoot":"","sources":["../../../src/components/Skeleton/LineSkeleton.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAe/C,MAAM,YAAY,GAA+B;IAC/C,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,OAAO,EAAE,MAAM;IACf,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAA6B,KAAK,CAAC,EAAE;IAC/E,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;IAClE,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,sBAAsB,CAAC;IAC/C,OAAO,GAAG,CAAA;;;;aAIC,aAAa;MACpB,OAAO,KAAK,SAAS;QACrB,CAAC,CAAC,qBAAqB,kBAAkB,EAAE;QAC3C,CAAC,CAAC,qBAAqB,eAAe,EAAE;GAC3C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kBAAkB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEnD,MAAM,YAAY,GAAwD,CACxE,KAAwB,EACxB,EAAE;IACF,OAAO,KAAC,kBAAkB,OAAK,KAAK,mBAAgB,MAAM,GAAG,CAAC;AAChE,CAAC,CAAC;AAEF,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC;AAEzC,eAAe,YAAY,CAAC","sourcesContent":["import type { FunctionComponent } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport type { BaseProps, ForwardProps } from '../../types';\nimport { defaultThemeProp } from '../../theme';\n\nexport interface LineSkeletonProps extends BaseProps {\n /**\n * Width of the skeleton.\n * @default 'default'\n */\n width?: 'default' | 'l' | 'm' | 's';\n /**\n * Variant of the skeleton.\n * @default 'default'\n */\n variant?: 'default' | 'link';\n}\n\nconst defaultProps: Partial<LineSkeletonProps> = {\n width: 'default',\n variant: 'default'\n};\n\nconst lengthToPercent = {\n default: 'auto',\n l: '80%',\n m: '50%',\n s: '30%'\n};\n\nexport const StyledLineSkeleton = styled.div<Partial<LineSkeletonProps>>(props => {\n const { width, variant } = props;\n const { skeleton: skeletonBackground } = props.theme.base.palette;\n const lengthPercent = lengthToPercent[width || 'default'];\n const LinkHeaderColor = 'rgb(135,206,235,0.5)';\n return css`\n flex-grow: 1;\n margin: 0.25rem;\n height: 0.875rem;\n width: ${lengthPercent};\n ${variant === 'default'\n ? `background-color: ${skeletonBackground}`\n : `background-color: ${LinkHeaderColor}`}\n `;\n});\n\nStyledLineSkeleton.defaultProps = defaultThemeProp;\n\nconst LineSkeleton: FunctionComponent<LineSkeletonProps & ForwardProps> = (\n props: LineSkeletonProps\n) => {\n return <StyledLineSkeleton {...props} aria-disabled='true' />;\n};\n\nLineSkeleton.defaultProps = defaultProps;\n\nexport default LineSkeleton;\n"]}
1
+ {"version":3,"file":"LineSkeleton.js","sourceRoot":"","sources":["../../../src/components/Skeleton/LineSkeleton.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAe/C,MAAM,YAAY,GAA+B;IAC/C,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,OAAO,EAAE,MAAM;IACf,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAA6B,KAAK,CAAC,EAAE;IAC/E,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;IAClE,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,sBAAsB,CAAC;IAC/C,OAAO,GAAG,CAAA;;;;aAIC,aAAa;MACpB,OAAO,KAAK,SAAS;QACrB,CAAC,CAAC,qBAAqB,kBAAkB,EAAE;QAC3C,CAAC,CAAC,qBAAqB,eAAe,EAAE;GAC3C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kBAAkB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEnD,MAAM,YAAY,GAAwD,CACxE,KAAwB,EACxB,EAAE;IACF,OAAO,KAAC,kBAAkB,OAAK,KAAK,0BAAkB,CAAC;AACzD,CAAC,CAAC;AAEF,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC;AAEzC,eAAe,YAAY,CAAC","sourcesContent":["import type { FunctionComponent } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport type { BaseProps, ForwardProps } from '../../types';\nimport { defaultThemeProp } from '../../theme';\n\nexport interface LineSkeletonProps extends BaseProps {\n /**\n * Width of the skeleton.\n * @default 'default'\n */\n width?: 'default' | 'l' | 'm' | 's';\n /**\n * Variant of the skeleton.\n * @default 'default'\n */\n variant?: 'default' | 'link';\n}\n\nconst defaultProps: Partial<LineSkeletonProps> = {\n width: 'default',\n variant: 'default'\n};\n\nconst lengthToPercent = {\n default: 'auto',\n l: '80%',\n m: '50%',\n s: '30%'\n};\n\nexport const StyledLineSkeleton = styled.div<Partial<LineSkeletonProps>>(props => {\n const { width, variant } = props;\n const { skeleton: skeletonBackground } = props.theme.base.palette;\n const lengthPercent = lengthToPercent[width || 'default'];\n const LinkHeaderColor = 'rgb(135,206,235,0.5)';\n return css`\n flex-grow: 1;\n margin: 0.25rem;\n height: 0.875rem;\n width: ${lengthPercent};\n ${variant === 'default'\n ? `background-color: ${skeletonBackground}`\n : `background-color: ${LinkHeaderColor}`}\n `;\n});\n\nStyledLineSkeleton.defaultProps = defaultThemeProp;\n\nconst LineSkeleton: FunctionComponent<LineSkeletonProps & ForwardProps> = (\n props: LineSkeletonProps\n) => {\n return <StyledLineSkeleton {...props} aria-disabled />;\n};\n\nLineSkeleton.defaultProps = defaultProps;\n\nexport default LineSkeleton;\n"]}
@@ -7,7 +7,7 @@ const StyledParagraphSkeleton = styled.div `
7
7
  `;
8
8
  StyledParagraphSkeleton.defaultProps = defaultThemeProp;
9
9
  const ParagraphSkeleton = ({ children, ...restProps }) => {
10
- return (_jsx(StyledParagraphSkeleton, { ...restProps, "aria-disabled": 'true', children: children }));
10
+ return (_jsx(StyledParagraphSkeleton, { ...restProps, "aria-disabled": true, children: children }));
11
11
  };
12
12
  ParagraphSkeleton.defaultProps = defaultProps;
13
13
  export default ParagraphSkeleton;
@@ -1 +1 @@
1
- {"version":3,"file":"ParagraphSkeleton.js","sourceRoot":"","sources":["../../../src/components/Skeleton/ParagraphSkeleton.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAO/C,MAAM,YAAY,GAAoC,EAAE,CAAC;AAEzD,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAwB;;CAEjE,CAAC;AAEF,uBAAuB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAExD,MAAM,iBAAiB,GAA6D,CAAC,EACnF,QAAQ,EACR,GAAG,SAAS,EACW,EAAE,EAAE;IAC3B,OAAO,CACL,KAAC,uBAAuB,OAAK,SAAS,mBAAgB,MAAM,YACzD,QAAQ,GACe,CAC3B,CAAC;AACJ,CAAC,CAAC;AAEF,iBAAiB,CAAC,YAAY,GAAG,YAAY,CAAC;AAE9C,eAAe,iBAAiB,CAAC","sourcesContent":["import type { FunctionComponent, ReactNode } from 'react';\nimport styled from 'styled-components';\n\nimport type { BaseProps, ForwardProps } from '../../types';\nimport { defaultThemeProp } from '../../theme';\n\nexport interface ParagraphSkeletonProps extends BaseProps {\n /** Children for the skeleton. These should be Line and Rectangle Skeletons. */\n children: ReactNode;\n}\n\nconst defaultProps: Partial<ParagraphSkeletonProps> = {};\n\nconst StyledParagraphSkeleton = styled.div<ParagraphSkeletonProps>`\n margin: 0.25rem 0;\n`;\n\nStyledParagraphSkeleton.defaultProps = defaultThemeProp;\n\nconst ParagraphSkeleton: FunctionComponent<ParagraphSkeletonProps & ForwardProps> = ({\n children,\n ...restProps\n}: ParagraphSkeletonProps) => {\n return (\n <StyledParagraphSkeleton {...restProps} aria-disabled='true'>\n {children}\n </StyledParagraphSkeleton>\n );\n};\n\nParagraphSkeleton.defaultProps = defaultProps;\n\nexport default ParagraphSkeleton;\n"]}
1
+ {"version":3,"file":"ParagraphSkeleton.js","sourceRoot":"","sources":["../../../src/components/Skeleton/ParagraphSkeleton.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAO/C,MAAM,YAAY,GAAoC,EAAE,CAAC;AAEzD,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAwB;;CAEjE,CAAC;AAEF,uBAAuB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAExD,MAAM,iBAAiB,GAA6D,CAAC,EACnF,QAAQ,EACR,GAAG,SAAS,EACW,EAAE,EAAE;IAC3B,OAAO,CACL,KAAC,uBAAuB,OAAK,SAAS,mCACnC,QAAQ,GACe,CAC3B,CAAC;AACJ,CAAC,CAAC;AAEF,iBAAiB,CAAC,YAAY,GAAG,YAAY,CAAC;AAE9C,eAAe,iBAAiB,CAAC","sourcesContent":["import type { FunctionComponent, ReactNode } from 'react';\nimport styled from 'styled-components';\n\nimport type { BaseProps, ForwardProps } from '../../types';\nimport { defaultThemeProp } from '../../theme';\n\nexport interface ParagraphSkeletonProps extends BaseProps {\n /** Children for the skeleton. These should be Line and Rectangle Skeletons. */\n children: ReactNode;\n}\n\nconst defaultProps: Partial<ParagraphSkeletonProps> = {};\n\nconst StyledParagraphSkeleton = styled.div<ParagraphSkeletonProps>`\n margin: 0.25rem 0;\n`;\n\nStyledParagraphSkeleton.defaultProps = defaultThemeProp;\n\nconst ParagraphSkeleton: FunctionComponent<ParagraphSkeletonProps & ForwardProps> = ({\n children,\n ...restProps\n}: ParagraphSkeletonProps) => {\n return (\n <StyledParagraphSkeleton {...restProps} aria-disabled>\n {children}\n </StyledParagraphSkeleton>\n );\n};\n\nParagraphSkeleton.defaultProps = defaultProps;\n\nexport default ParagraphSkeleton;\n"]}
@@ -23,7 +23,7 @@ export const StyledRectangleSkeleton = styled.div(props => {
23
23
  });
24
24
  StyledRectangleSkeleton.defaultProps = defaultThemeProp;
25
25
  const RectangleSkeleton = (props) => {
26
- return _jsx(StyledRectangleSkeleton, { ...props, "aria-disabled": 'true' });
26
+ return _jsx(StyledRectangleSkeleton, { ...props, "aria-disabled": true });
27
27
  };
28
28
  RectangleSkeleton.defaultProps = defaultProps;
29
29
  export default RectangleSkeleton;
@@ -1 +1 @@
1
- {"version":3,"file":"RectangleSkeleton.js","sourceRoot":"","sources":["../../../src/components/Skeleton/RectangleSkeleton.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAoB/C,MAAM,YAAY,GAAoC;IACpD,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAkC,KAAK,CAAC,EAAE;IACzF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACzC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;IAClE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3D,OAAO,GAAG,CAAA;;wBAEY,kBAAkB;MACpC,OAAO,KAAK,QAAQ;QACpB,CAAC,CAAC,2BAA2B,YAAY;;mBAE5B;QACb,CAAC,CAAC,UAAU,KAAK;gBACP,MAAM,EAAE;GACrB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,uBAAuB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAExD,MAAM,iBAAiB,GAA6D,CAClF,KAA6B,EAC7B,EAAE;IACF,OAAO,KAAC,uBAAuB,OAAK,KAAK,mBAAgB,MAAM,GAAG,CAAC;AACrE,CAAC,CAAC;AAEF,iBAAiB,CAAC,YAAY,GAAG,YAAY,CAAC;AAE9C,eAAe,iBAAiB,CAAC","sourcesContent":["import type { FunctionComponent } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport type { BaseProps, ForwardProps } from '../../types';\nimport { defaultThemeProp } from '../../theme';\n\nexport interface RectangleSkeletonProps extends BaseProps {\n /**\n * Width of the skeleton.\n * @default 'auto'\n */\n width?: string | number;\n /**\n * Height of the skeleton.\n * @default 'auto'\n */\n height?: string | number;\n /**\n * Variant of the skeleton.\n * @default 'default'\n */\n variant?: 'default' | 'button';\n}\n\nconst defaultProps: Partial<RectangleSkeletonProps> = {\n width: 'auto',\n height: 'auto',\n variant: 'default'\n};\n\nexport const StyledRectangleSkeleton = styled.div<Partial<RectangleSkeletonProps>>(props => {\n const { width, height, variant } = props;\n const { skeleton: skeletonBackground } = props.theme.base.palette;\n const { 'border-radius': borderRadius } = props.theme.base;\n return css`\n margin: 0.25rem;\n background-color: ${skeletonBackground};\n ${variant === 'button'\n ? `border-radius: calc(2 * ${borderRadius});\n width: 6.875rem;\n height: 2rem`\n : `width: ${width};\n height: ${height}`}\n `;\n});\n\nStyledRectangleSkeleton.defaultProps = defaultThemeProp;\n\nconst RectangleSkeleton: FunctionComponent<RectangleSkeletonProps & ForwardProps> = (\n props: RectangleSkeletonProps\n) => {\n return <StyledRectangleSkeleton {...props} aria-disabled='true' />;\n};\n\nRectangleSkeleton.defaultProps = defaultProps;\n\nexport default RectangleSkeleton;\n"]}
1
+ {"version":3,"file":"RectangleSkeleton.js","sourceRoot":"","sources":["../../../src/components/Skeleton/RectangleSkeleton.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAoB/C,MAAM,YAAY,GAAoC;IACpD,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAkC,KAAK,CAAC,EAAE;IACzF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACzC,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;IAClE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3D,OAAO,GAAG,CAAA;;wBAEY,kBAAkB;MACpC,OAAO,KAAK,QAAQ;QACpB,CAAC,CAAC,2BAA2B,YAAY;;mBAE5B;QACb,CAAC,CAAC,UAAU,KAAK;gBACP,MAAM,EAAE;GACrB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,uBAAuB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAExD,MAAM,iBAAiB,GAA6D,CAClF,KAA6B,EAC7B,EAAE;IACF,OAAO,KAAC,uBAAuB,OAAK,KAAK,0BAAkB,CAAC;AAC9D,CAAC,CAAC;AAEF,iBAAiB,CAAC,YAAY,GAAG,YAAY,CAAC;AAE9C,eAAe,iBAAiB,CAAC","sourcesContent":["import type { FunctionComponent } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport type { BaseProps, ForwardProps } from '../../types';\nimport { defaultThemeProp } from '../../theme';\n\nexport interface RectangleSkeletonProps extends BaseProps {\n /**\n * Width of the skeleton.\n * @default 'auto'\n */\n width?: string | number;\n /**\n * Height of the skeleton.\n * @default 'auto'\n */\n height?: string | number;\n /**\n * Variant of the skeleton.\n * @default 'default'\n */\n variant?: 'default' | 'button';\n}\n\nconst defaultProps: Partial<RectangleSkeletonProps> = {\n width: 'auto',\n height: 'auto',\n variant: 'default'\n};\n\nexport const StyledRectangleSkeleton = styled.div<Partial<RectangleSkeletonProps>>(props => {\n const { width, height, variant } = props;\n const { skeleton: skeletonBackground } = props.theme.base.palette;\n const { 'border-radius': borderRadius } = props.theme.base;\n return css`\n margin: 0.25rem;\n background-color: ${skeletonBackground};\n ${variant === 'button'\n ? `border-radius: calc(2 * ${borderRadius});\n width: 6.875rem;\n height: 2rem`\n : `width: ${width};\n height: ${height}`}\n `;\n});\n\nStyledRectangleSkeleton.defaultProps = defaultThemeProp;\n\nconst RectangleSkeleton: FunctionComponent<RectangleSkeletonProps & ForwardProps> = (\n props: RectangleSkeletonProps\n) => {\n return <StyledRectangleSkeleton {...props} aria-disabled />;\n};\n\nRectangleSkeleton.defaultProps = defaultProps;\n\nexport default RectangleSkeleton;\n"]}