Design system TextField : ajoute les messages d'erreur et le composant SearchField
parent
8ca9531234
commit
92f4b2971f
|
@ -25,6 +25,7 @@
|
|||
"@babel/preset-env": "^7.9.5",
|
||||
"@babel/preset-react": "^7.9.4",
|
||||
"@babel/preset-typescript": "^7.9.0",
|
||||
"@react-types/searchfield": "^3.1.2",
|
||||
"@types/cheerio": "^0.22.18",
|
||||
"@types/js-yaml": "^3.12.2",
|
||||
"@types/mocha": "^8.2.2",
|
||||
|
@ -63,8 +64,10 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.3.4",
|
||||
"@react-aria/searchfield": "^3.2.0",
|
||||
"@react-aria/textfield": "^3.4.0",
|
||||
"@react-pdf/renderer": "^1.6.10",
|
||||
"@react-stately/searchfield": "^3.1.3",
|
||||
"@rehooks/local-storage": "^2.1.1",
|
||||
"@sentry/react": "^6.3.5",
|
||||
"@sentry/tracing": "^6.3.5",
|
||||
|
|
|
@ -3,6 +3,7 @@ import React, { useCallback, useMemo, useState } from 'react'
|
|||
import { Trans, useTranslation } from 'react-i18next'
|
||||
import styled, { css } from 'styled-components'
|
||||
import { debounce } from '../../../utils'
|
||||
import { SearchField } from 'DesignSystem/field'
|
||||
import { InputProps } from '../RuleInput'
|
||||
|
||||
export type ApiCommuneJson = {
|
||||
|
@ -140,15 +141,15 @@ export default function Select({ onChange, value, id, missing }: InputProps) {
|
|||
}, [searchResults, focusedElem, noResult, handleSubmit])
|
||||
|
||||
const handleChange = useCallback(
|
||||
(e: React.ChangeEvent<HTMLInputElement>) => {
|
||||
(value: string) => {
|
||||
setFocusedElem(0)
|
||||
setName(e.target.value)
|
||||
if (e.target.value.length < 2) {
|
||||
setName(value)
|
||||
if (value.length < 2) {
|
||||
setSearchResults(null)
|
||||
return
|
||||
}
|
||||
setLoadingState(true)
|
||||
debouncedHandleSearch(e.target.value)
|
||||
debouncedHandleSearch(value)
|
||||
},
|
||||
[debouncedHandleSearch]
|
||||
)
|
||||
|
@ -183,32 +184,21 @@ export default function Select({ onChange, value, id, missing }: InputProps) {
|
|||
|
||||
return (
|
||||
<div>
|
||||
<input
|
||||
<SearchField
|
||||
role="combobox"
|
||||
errorMessage={noResult && <Trans>Cette commune n'existe pas</Trans>}
|
||||
type="search"
|
||||
id={id}
|
||||
aria-autocomplete="list"
|
||||
onBlur={submitFocusedElem}
|
||||
aria-readonly="true"
|
||||
css={noResult ? 'border-color: firebrick !important' : ''}
|
||||
className="ui__"
|
||||
onKeyDown={handleKeyDown}
|
||||
aria-controls="liste-commune"
|
||||
placeholder={t('Commune ou code postal')}
|
||||
label={t('Commune ou code postal')}
|
||||
value={name}
|
||||
onChange={handleChange}
|
||||
/>
|
||||
{noResult && (
|
||||
<p
|
||||
className="ui__ notice"
|
||||
css={`
|
||||
color: firebrick !important;
|
||||
margin-top: -0.4rem;
|
||||
`}
|
||||
>
|
||||
<Trans>Cette commune n'existe pas</Trans>
|
||||
</p>
|
||||
)}
|
||||
|
||||
{!!searchResults && (
|
||||
<FromTop>
|
||||
|
|
|
@ -0,0 +1,50 @@
|
|||
import { InputHTMLAttributes, useRef } from 'react'
|
||||
import { useSearchField } from '@react-aria/searchfield'
|
||||
import { AriaSearchFieldProps } from '@react-types/searchfield'
|
||||
import { useSearchFieldState } from '@react-stately/searchfield'
|
||||
import {
|
||||
StyledContainer,
|
||||
StyledDescription,
|
||||
StyledInput,
|
||||
StyledInputContainer,
|
||||
StyledLabel,
|
||||
} from './TextField'
|
||||
import styled from 'styled-components'
|
||||
|
||||
export default function SearchField(props: AriaSearchFieldProps) {
|
||||
const state = useSearchFieldState(props)
|
||||
const ref = useRef<HTMLInputElement>(null)
|
||||
const { labelProps, inputProps, descriptionProps, clearButtonProps } =
|
||||
useSearchField(props, state, ref)
|
||||
|
||||
return (
|
||||
<StyledContainer>
|
||||
<StyledInputContainer
|
||||
error={!!props.errorMessage || props.validationState === 'invalid'}
|
||||
>
|
||||
<StyledInput
|
||||
{...(inputProps as InputHTMLAttributes<HTMLInputElement>)}
|
||||
ref={ref}
|
||||
/>
|
||||
<StyledLabel {...labelProps}>{props.label}</StyledLabel>
|
||||
{state.value !== '' && (
|
||||
<StyledClearButton {...clearButtonProps}>×</StyledClearButton>
|
||||
)}
|
||||
</StyledInputContainer>
|
||||
{props.description && (
|
||||
<StyledDescription {...descriptionProps} style={{ fontSize: 12 }}>
|
||||
{props.description}
|
||||
</StyledDescription>
|
||||
)}
|
||||
</StyledContainer>
|
||||
)
|
||||
}
|
||||
|
||||
const StyledClearButton = styled.button`
|
||||
position: absolute;
|
||||
right: 0;
|
||||
font-size: 2rem;
|
||||
line-height: 2rem;
|
||||
height: ${({ theme }) => theme.spacings.xxxl};
|
||||
padding: ${({ theme }) => `${theme.spacings.md} ${theme.spacings.sm}`};
|
||||
`
|
|
@ -1,67 +1,46 @@
|
|||
import { InputHTMLAttributes, useRef } from 'react'
|
||||
import styled from 'styled-components'
|
||||
import styled, { css } from 'styled-components'
|
||||
import { useTextField, AriaTextFieldOptions } from '@react-aria/textfield'
|
||||
import { ExtraSmallBody } from 'DesignSystem/typography/paragraphs'
|
||||
|
||||
const LABEL_HEIGHT = '1rem'
|
||||
|
||||
export default function TextField(props: AriaTextFieldOptions) {
|
||||
const ref = useRef<HTMLInputElement>(null)
|
||||
const { labelProps, inputProps, descriptionProps } = useTextField(
|
||||
{ ...props, inputElementType: 'input' },
|
||||
ref
|
||||
)
|
||||
const { labelProps, inputProps, descriptionProps, errorMessageProps } =
|
||||
useTextField({ ...props, inputElementType: 'input' }, ref)
|
||||
|
||||
return (
|
||||
<>
|
||||
<StyledInputContainer>
|
||||
<StyledContainer>
|
||||
<StyledInputContainer
|
||||
error={!!props.errorMessage || props.validationState === 'invalid'}
|
||||
>
|
||||
<StyledInput
|
||||
{...(inputProps as InputHTMLAttributes<HTMLInputElement>)}
|
||||
ref={ref}
|
||||
/>
|
||||
<StyledLabel {...labelProps}>{props.label}</StyledLabel>
|
||||
</StyledInputContainer>
|
||||
{props.errorMessage && (
|
||||
<StyledErrorMessage {...errorMessageProps}>
|
||||
{props.errorMessage}
|
||||
</StyledErrorMessage>
|
||||
)}
|
||||
{props.description && (
|
||||
<StyledDescription {...descriptionProps} style={{ fontSize: 12 }}>
|
||||
<StyledDescription {...descriptionProps}>
|
||||
{props.description}
|
||||
</StyledDescription>
|
||||
)}
|
||||
</>
|
||||
</StyledContainer>
|
||||
)
|
||||
}
|
||||
|
||||
const labelHeight = '1rem'
|
||||
const StyledInputContainer = styled.div`
|
||||
border-radius: ${({ theme }) => theme.box.borderRadius};
|
||||
border: ${({ theme }) => theme.box.borderWidth} solid
|
||||
${({ theme }) => theme.colors.extended.grey[500]};
|
||||
outline: transparent solid 1px;
|
||||
position: relative;
|
||||
flex-direction: column;
|
||||
transition: outline-color, border-color 0.3s;
|
||||
height: ${({ theme }) => theme.spacings.xxxl};
|
||||
|
||||
:focus-within {
|
||||
outline-color: ${({ theme }) => theme.colors.bases.primary[600]};
|
||||
border-color: ${({ theme }) => theme.colors.bases.primary[600]};
|
||||
}
|
||||
|
||||
:focus-within label {
|
||||
color: ${({ theme }) => theme.colors.bases.primary[800]};
|
||||
}
|
||||
|
||||
:focus-within + p {
|
||||
color: ${({ theme }) => theme.colors.bases.primary[800]};
|
||||
}
|
||||
|
||||
input:not(:focus):placeholder-shown + label {
|
||||
font-size: 1rem;
|
||||
line-height: 1.5rem;
|
||||
pointer-events: none;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
export const StyledContainer = styled.div`
|
||||
width: 100%;
|
||||
min-width: fit-content;
|
||||
margin-bottom: ${({ theme }) => theme.spacings.lg};
|
||||
`
|
||||
|
||||
const StyledInput = styled.input`
|
||||
export const StyledInput = styled.input`
|
||||
font-size: 1rem;
|
||||
line-height: 1.5rem;
|
||||
border: none;
|
||||
|
@ -72,15 +51,16 @@ const StyledInput = styled.input`
|
|||
height: 100%;
|
||||
outline: none;
|
||||
position: absolute;
|
||||
padding: calc(${labelHeight} + ${({ theme }) => theme.spacings.xs})
|
||||
padding: calc(${LABEL_HEIGHT} + ${({ theme }) => theme.spacings.xs})
|
||||
${({ theme }) => theme.spacings.sm} ${({ theme }) => theme.spacings.xs};
|
||||
`
|
||||
|
||||
const StyledLabel = styled.label`
|
||||
export const StyledLabel = styled.label`
|
||||
top: 0%;
|
||||
transform: translateY(0%);
|
||||
|
||||
font-size: 0.75rem;
|
||||
line-height: ${labelHeight};
|
||||
line-height: ${LABEL_HEIGHT};
|
||||
font-family: ${({ theme }) => theme.fonts.main};
|
||||
padding: ${({ theme }) => theme.spacings.xs}
|
||||
${({ theme }) => theme.spacings.sm};
|
||||
|
@ -89,56 +69,56 @@ const StyledLabel = styled.label`
|
|||
transition: all 0.1s;
|
||||
`
|
||||
|
||||
const StyledDescription = styled(ExtraSmallBody)`
|
||||
export const StyledDescription = styled(ExtraSmallBody)`
|
||||
padding: ${({ theme }) => theme.spacings.xxs}
|
||||
${({ theme }) => theme.spacings.sm};
|
||||
will-change: feColorMatrix;
|
||||
will-change: color;
|
||||
transition: color 0.2s;
|
||||
`
|
||||
// /* Type=Input text, Legend=False, Status=Default */
|
||||
|
||||
// /* Auto Layout */
|
||||
// display: flex;
|
||||
// flex-direction: column;
|
||||
// align-items: flex-start;
|
||||
// padding: 20px 16px;
|
||||
const StyledErrorMessage = styled(StyledDescription)`
|
||||
color: ${({ theme }) => theme.colors.extended.error[400]} !important;
|
||||
`
|
||||
|
||||
// position: absolute;
|
||||
// width: 360px;
|
||||
// height: 64px;
|
||||
// right: 1634px;
|
||||
// bottom: 1055px;
|
||||
export const StyledInputContainer = styled.div<{ error: boolean }>`
|
||||
border-radius: ${({ theme }) => theme.box.borderRadius};
|
||||
border: ${({ theme }) =>
|
||||
`${theme.box.borderWidth} solid ${theme.colors.extended.grey[500]}`};
|
||||
outline: transparent solid 1px;
|
||||
position: relative;
|
||||
flex-direction: column;
|
||||
transition: all 0.2s;
|
||||
height: ${({ theme }) => theme.spacings.xxxl};
|
||||
:focus-within {
|
||||
outline-color: ${({ theme, error }) =>
|
||||
error
|
||||
? theme.colors.extended.error[400]
|
||||
: theme.colors.bases.primary[600]};
|
||||
}
|
||||
:focus-within ${StyledLabel} {
|
||||
color: ${({ theme }) => theme.colors.bases.primary[800]};
|
||||
}
|
||||
|
||||
// /* Base/UR White */
|
||||
// background: #FFFFFF;
|
||||
// /* Base/UR Grey N°5 */
|
||||
// border: 1px solid #6C757D;
|
||||
// box-sizing: border-box;
|
||||
// border-radius: 6px;
|
||||
:focus-within + ${StyledDescription} {
|
||||
color: ${({ theme }) => theme.colors.bases.primary[800]};
|
||||
}
|
||||
|
||||
// /* Label */
|
||||
input:not(:focus):placeholder-shown + ${StyledLabel} {
|
||||
font-size: 1rem;
|
||||
line-height: 1.5rem;
|
||||
pointer-events: none;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
// position: static;
|
||||
// left: 16px;
|
||||
// right: 16px;
|
||||
// top: 20px;
|
||||
// bottom: 20px;
|
||||
|
||||
// /* Form/Label_inactive */
|
||||
// font-family: Roboto;
|
||||
// font-style: normal;
|
||||
// font-weight: normal;
|
||||
// font-size: 16px;
|
||||
// line-height: 24px;
|
||||
// /* identical to box height, or 150% */
|
||||
// text-align: justify;
|
||||
|
||||
// /* Base/UR Grey N°7 */
|
||||
// color: #212529;
|
||||
|
||||
// /* Inside Auto Layout */
|
||||
// flex: none;
|
||||
// order: 0;
|
||||
// align-self: stretch;
|
||||
// flex-grow: 0;
|
||||
// margin: 10px 0px;
|
||||
${({ theme, error }) =>
|
||||
error &&
|
||||
css`
|
||||
&& {
|
||||
border-color: ${theme.colors.extended.error[400]};
|
||||
}
|
||||
&&& label {
|
||||
color: ${theme.colors.extended.error[400]};
|
||||
}
|
||||
`}
|
||||
`
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
export { default as TextField } from './TextField'
|
||||
export { default as SearchField } from './SearchField'
|
||||
|
|
|
@ -199,6 +199,7 @@ function FormulairePublicodes() {
|
|||
)}
|
||||
<RuleInput
|
||||
id={dottedName}
|
||||
label={question ?? title}
|
||||
dottedName={dottedName as DottedName}
|
||||
onChange={(value) => onChange(dottedName, value)}
|
||||
/>
|
||||
|
|
127
yarn.lock
127
yarn.lock
|
@ -2714,6 +2714,45 @@
|
|||
resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed"
|
||||
integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==
|
||||
|
||||
"@formatjs/ecma402-abstract@1.10.0":
|
||||
version "1.10.0"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.10.0.tgz#f51b9167535c9463113c24644de90262aa5d31a7"
|
||||
integrity sha512-WNkcUHC6xw12rWY87TUw6KXzb1LnOooYBLLqtyn1kW2j197rcwpqmUOJMBED56YcLzaJPfVw1L2ShiDhL5pVnQ==
|
||||
dependencies:
|
||||
"@formatjs/intl-localematcher" "0.2.21"
|
||||
tslib "^2.1.0"
|
||||
|
||||
"@formatjs/fast-memoize@1.2.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/fast-memoize/-/fast-memoize-1.2.0.tgz#1123bfcc5d21d761f15d8b1c32d10e1b6530355d"
|
||||
integrity sha512-fObitP9Tlc31SKrPHgkPgQpGo4+4yXfQQITTCNH8AZdEqB7Mq4nPrjpUL/tNGN3lEeJcFxDbi0haX8HM7QvQ8w==
|
||||
dependencies:
|
||||
tslib "^2.1.0"
|
||||
|
||||
"@formatjs/icu-messageformat-parser@2.0.13":
|
||||
version "2.0.13"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.0.13.tgz#fcd7816b3d0b799daf20ff9e5e0fe81d3618276e"
|
||||
integrity sha512-dIdcNnuJj1V+DnXQUjJTA+uES/UCpxLPbIA8R1wSrWY/yCgv9N1beSY1lTHrhcG0XC++ShP+AEqqVV/zX3BMZg==
|
||||
dependencies:
|
||||
"@formatjs/ecma402-abstract" "1.10.0"
|
||||
"@formatjs/icu-skeleton-parser" "1.3.0"
|
||||
tslib "^2.1.0"
|
||||
|
||||
"@formatjs/icu-skeleton-parser@1.3.0":
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.0.tgz#fedf604bf788a587b23c9a03ec148c1f2c3177f7"
|
||||
integrity sha512-ORUHdglLuE0Vvg3KlxeeguDq2ErUlCWmIU9EmQAhqwhtRwf78nNy2WAJ9qvxzSsp4dAv1CJ9AoS43RdY8JTVaA==
|
||||
dependencies:
|
||||
"@formatjs/ecma402-abstract" "1.10.0"
|
||||
tslib "^2.1.0"
|
||||
|
||||
"@formatjs/intl-localematcher@0.2.21":
|
||||
version "0.2.21"
|
||||
resolved "https://registry.yarnpkg.com/@formatjs/intl-localematcher/-/intl-localematcher-0.2.21.tgz#39ef33d701fe8084f3d693cd3ff7cbe03cdd3a49"
|
||||
integrity sha512-JTJeLiNwexN4Gy0cMxoUPvJbKhXdnSuo5jPrDafEZpnDWlJ5VDYta8zUVVozO/pwzEmFVHEUpgiEDj+39L4oMg==
|
||||
dependencies:
|
||||
tslib "^2.1.0"
|
||||
|
||||
"@hapi/address@^2.1.2":
|
||||
version "2.1.4"
|
||||
resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
|
||||
|
@ -2757,6 +2796,21 @@
|
|||
resolved "https://registry.yarnpkg.com/@icons/material/-/material-0.2.4.tgz#e90c9f71768b3736e76d7dd6783fc6c2afa88bc8"
|
||||
integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==
|
||||
|
||||
"@internationalized/message@^3.0.2":
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@internationalized/message/-/message-3.0.2.tgz#c3db2b6b7f75af815819f77da11f8424381416e3"
|
||||
integrity sha512-ZZ8FQDCsri3vUB2mfDD76Vbf97DH361AiZUXKHV4BqwCtYyaNYiZqIr8KXrcMCxJvrIYVQLSn8+jeIQRO3bvtw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
intl-messageformat "^9.6.12"
|
||||
|
||||
"@internationalized/number@^3.0.2":
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@internationalized/number/-/number-3.0.3.tgz#d29003dffdff54ca6f2287ec0cb77ff3d045478f"
|
||||
integrity sha512-ewFoVvsxSyd9QZnknvOWPjirYqdMQhXTeDhJg3hM6C/FeZt0banpGH1nZ0SGMZXHz8NK9uAa2KVIq+jqAIOg4w==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
|
||||
"@istanbuljs/load-nyc-config@^1.0.0":
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
|
||||
|
@ -2998,6 +3052,18 @@
|
|||
"@react-types/shared" "^3.9.0"
|
||||
clsx "^1.1.1"
|
||||
|
||||
"@react-aria/i18n@^3.3.2":
|
||||
version "3.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@react-aria/i18n/-/i18n-3.3.2.tgz#891902938333c6ab5491b7acb7581f8567045dbc"
|
||||
integrity sha512-a4AptbWLPVMJfjPdyW60TFtT4gvKAputx9YaUrIywoV/5p900AcOOc3uuL43+vuCKBzMkGUeTa1a4eL1HstDUA==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@internationalized/message" "^3.0.2"
|
||||
"@internationalized/number" "^3.0.2"
|
||||
"@react-aria/ssr" "^3.0.3"
|
||||
"@react-aria/utils" "^3.8.2"
|
||||
"@react-types/shared" "^3.8.0"
|
||||
|
||||
"@react-aria/interactions@^3.6.0":
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@react-aria/interactions/-/interactions-3.6.0.tgz#63c16e6179e8ae38221e26256d9a7639d7f9b24e"
|
||||
|
@ -3017,7 +3083,22 @@
|
|||
"@react-types/label" "^3.5.0"
|
||||
"@react-types/shared" "^3.9.0"
|
||||
|
||||
"@react-aria/ssr@^3.1.0":
|
||||
"@react-aria/searchfield@^3.2.0":
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@react-aria/searchfield/-/searchfield-3.2.0.tgz#f0f8609c2e3a7ed300209f6aa01f6d782c131f81"
|
||||
integrity sha512-uD3wSsvsZYW8LJ1hnt/5aWwcqmNT1Qorio2PizfvY7jKC4FytU/wjxxI8p8mRRtffltqldgTPgakAwW3KYPpAw==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@react-aria/i18n" "^3.3.2"
|
||||
"@react-aria/interactions" "^3.6.0"
|
||||
"@react-aria/textfield" "^3.4.0"
|
||||
"@react-aria/utils" "^3.9.0"
|
||||
"@react-stately/searchfield" "^3.1.3"
|
||||
"@react-types/button" "^3.4.1"
|
||||
"@react-types/searchfield" "^3.1.2"
|
||||
"@react-types/shared" "^3.9.0"
|
||||
|
||||
"@react-aria/ssr@^3.0.3", "@react-aria/ssr@^3.1.0":
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@react-aria/ssr/-/ssr-3.1.0.tgz#b7163e6224725c30121932a8d1422ef91d1fab22"
|
||||
integrity sha512-RxqQKmE8sO7TGdrcSlHTcVzMP450hqowtBSd2bBS9oPlcokVkaGq28c3Rwa8ty5ctw4EBCjXqjP7xdcKMGDzug==
|
||||
|
@ -3036,7 +3117,7 @@
|
|||
"@react-types/shared" "^3.9.0"
|
||||
"@react-types/textfield" "^3.3.0"
|
||||
|
||||
"@react-aria/utils@^3.9.0":
|
||||
"@react-aria/utils@^3.8.2", "@react-aria/utils@^3.9.0":
|
||||
version "3.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@react-aria/utils/-/utils-3.9.0.tgz#c5446f807091a744311d4d559fa8a42e7448824d"
|
||||
integrity sha512-P0dEOMHGHHJ5KC8iCpaMxAtgdUdeISAm4FZnmoD5fK3JxlKEC046hUxlad83RkNOBZkT2dDvF4HeDCUqdMWHKQ==
|
||||
|
@ -3114,6 +3195,16 @@
|
|||
dependencies:
|
||||
unicode-trie "^0.3.0"
|
||||
|
||||
"@react-stately/searchfield@^3.1.3":
|
||||
version "3.1.3"
|
||||
resolved "https://registry.yarnpkg.com/@react-stately/searchfield/-/searchfield-3.1.3.tgz#c2fe18be4ca8478c3bb3fdebc7e9e4a14ebfae07"
|
||||
integrity sha512-IIsgZ87RgdSTLcXB3U+EdgbtAXlpw50G9fDYhwpjIaiZQ60RsaEz0mo+s1+oapXGudCFWyQYNR+nqF7jzNKxwg==
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
"@react-stately/utils" "^3.2.2"
|
||||
"@react-types/searchfield" "^3.1.2"
|
||||
"@react-types/shared" "^3.8.0"
|
||||
|
||||
"@react-stately/utils@^3.2.2":
|
||||
version "3.2.2"
|
||||
resolved "https://registry.yarnpkg.com/@react-stately/utils/-/utils-3.2.2.tgz#468eafa60740c6b0b847a368215dfaa55e87f505"
|
||||
|
@ -3121,6 +3212,13 @@
|
|||
dependencies:
|
||||
"@babel/runtime" "^7.6.2"
|
||||
|
||||
"@react-types/button@^3.4.1":
|
||||
version "3.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@react-types/button/-/button-3.4.1.tgz#715ac9d4997c79233be4d9020b58f85936b8252b"
|
||||
integrity sha512-B54M84LxdEppwjXNlkBEJyMfe9fd+bvFV7R6+NJvupGrZm/LuFNYjFcHk7yjMKWTdWm6DbpIuQz54n5qTW7Vlg==
|
||||
dependencies:
|
||||
"@react-types/shared" "^3.8.0"
|
||||
|
||||
"@react-types/label@^3.5.0":
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@react-types/label/-/label-3.5.0.tgz#c7093871f42c62e1b5523f61a0856a2f58d4cf2a"
|
||||
|
@ -3128,12 +3226,19 @@
|
|||
dependencies:
|
||||
"@react-types/shared" "^3.9.0"
|
||||
|
||||
"@react-types/shared@^3.9.0":
|
||||
"@react-types/searchfield@^3.1.2":
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@react-types/searchfield/-/searchfield-3.1.2.tgz#184770b67f1fad57a6024ad00b7e42cf934ed54b"
|
||||
integrity sha512-lIyXEzoS/XXmddAvgZk/a8/8qAkVt5XbUrX7CrpZOiwqIPsVDI2bDYiv7N9GdS0pMeSyu1X9mXCnJfvzu/Dkow==
|
||||
dependencies:
|
||||
"@react-types/textfield" "^3.2.3"
|
||||
|
||||
"@react-types/shared@^3.8.0", "@react-types/shared@^3.9.0":
|
||||
version "3.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@react-types/shared/-/shared-3.9.0.tgz#d834f3e6e2c992089192f3c83fb7963e3a6f5207"
|
||||
integrity sha512-YYksINfR6q92P10AhPEGo47Hd7oz1hrnZ6Vx8Gsrq62IbqDdv1XOTzPBaj17Z1ymNY2pitLUSEXsLmozt4wxxQ==
|
||||
|
||||
"@react-types/textfield@^3.3.0":
|
||||
"@react-types/textfield@^3.2.3", "@react-types/textfield@^3.3.0":
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@react-types/textfield/-/textfield-3.3.0.tgz#07a447fda327df4843e7d36cbd00f87f8a73e725"
|
||||
integrity sha512-lOf0tx3c3dVaomH/uvKpOKFVTXQ232kLnMhOJTtj97JDX7fTr3SNhDUV0G8Zf4M0vr+l+xkTrJkywYE23rzliw==
|
||||
|
@ -9791,6 +9896,15 @@ intl-locales-supported@^1.0.0:
|
|||
resolved "https://registry.yarnpkg.com/intl-locales-supported/-/intl-locales-supported-1.8.12.tgz#bbd83475a1cda61dc026309ca61f64c450af8ccb"
|
||||
integrity sha512-FJPl7p1LYO/C+LpwlDcvVpq7AeFTdFgwnq1JjdNYKjb51xkIxssXRR8LaA0fJFogjwRRztqw1ahgSJMSZsSFdw==
|
||||
|
||||
intl-messageformat@^9.6.12:
|
||||
version "9.9.3"
|
||||
resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-9.9.3.tgz#bf577b3a78c38f6cb81dda3952390df9be5be01d"
|
||||
integrity sha512-YeXTVG1QAfDySO/gbpIrnMw3sKZvmNljahaTWFSGWNs0cNtR6vzwwvg6tzlda4buOw7xzJU3DgLm+skyMC85ow==
|
||||
dependencies:
|
||||
"@formatjs/fast-memoize" "1.2.0"
|
||||
"@formatjs/icu-messageformat-parser" "2.0.13"
|
||||
tslib "^2.1.0"
|
||||
|
||||
intl@^1.2.5:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/intl/-/intl-1.2.5.tgz#82244a2190c4e419f8371f5aa34daa3420e2abde"
|
||||
|
@ -15962,6 +16076,11 @@ tslib@^1.9.0:
|
|||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
|
||||
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
|
||||
|
||||
tslib@^2.1.0:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
|
||||
integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
|
||||
|
||||
tsutils@^3.17.1:
|
||||
version "3.17.1"
|
||||
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
|
||||
|
|
Loading…
Reference in New Issue