@charcoal-ui/react 6.0.0-rc.6 → 6.0.0-rc.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_lib/createDivComponent.cjs +20 -0
- package/dist/_lib/createDivComponent.cjs.map +1 -0
- package/dist/_lib/createDivComponent.js +19 -0
- package/dist/_lib/createDivComponent.js.map +1 -0
- package/dist/_lib/index.cjs +22 -0
- package/dist/_lib/index.cjs.map +1 -0
- package/dist/_lib/index.js +20 -0
- package/dist/_lib/index.js.map +1 -0
- package/dist/_lib/useClassNames.cjs +15 -0
- package/dist/_lib/useClassNames.cjs.map +1 -0
- package/dist/_lib/useClassNames.js +14 -0
- package/dist/_lib/useClassNames.js.map +1 -0
- package/dist/_lib/useForwardedRef.cjs +19 -0
- package/dist/_lib/useForwardedRef.cjs.map +1 -0
- package/dist/_lib/useForwardedRef.js +17 -0
- package/dist/_lib/useForwardedRef.js.map +1 -0
- package/dist/_lib/useIsomorphicLayoutEffect.cjs +13 -0
- package/dist/_lib/useIsomorphicLayoutEffect.cjs.map +1 -0
- package/dist/_lib/useIsomorphicLayoutEffect.js +12 -0
- package/dist/_lib/useIsomorphicLayoutEffect.js.map +1 -0
- package/dist/_virtual/_rolldown/runtime.cjs +30 -0
- package/dist/components/Button/index2.cjs +26 -0
- package/dist/components/Button/index2.cjs.map +1 -0
- package/dist/components/Button/index2.js +24 -0
- package/dist/components/Button/index2.js.map +1 -0
- package/dist/components/Carousel/CarouselItem.cjs +46 -0
- package/dist/components/Carousel/CarouselItem.cjs.map +1 -0
- package/dist/components/Carousel/CarouselItem.js +45 -0
- package/dist/components/Carousel/CarouselItem.js.map +1 -0
- package/dist/components/Carousel/carouselStore.cjs +38 -0
- package/dist/components/Carousel/carouselStore.cjs.map +1 -0
- package/dist/components/Carousel/carouselStore.js +37 -0
- package/dist/components/Carousel/carouselStore.js.map +1 -0
- package/dist/components/Carousel/index.d.ts +2 -0
- package/dist/components/Carousel/index.d.ts.map +1 -1
- package/dist/components/Carousel/index2.cjs +145 -0
- package/dist/components/Carousel/index2.cjs.map +1 -0
- package/dist/components/Carousel/index2.js +144 -0
- package/dist/components/Carousel/index2.js.map +1 -0
- package/dist/components/Carousel/intersectionObserver.cjs +46 -0
- package/dist/components/Carousel/intersectionObserver.cjs.map +1 -0
- package/dist/components/Carousel/intersectionObserver.js +45 -0
- package/dist/components/Carousel/intersectionObserver.js.map +1 -0
- package/dist/components/Carousel/resizeObserver.cjs +34 -0
- package/dist/components/Carousel/resizeObserver.cjs.map +1 -0
- package/dist/components/Carousel/resizeObserver.js +33 -0
- package/dist/components/Carousel/resizeObserver.js.map +1 -0
- package/dist/components/Carousel/store.cjs +24 -0
- package/dist/components/Carousel/store.cjs.map +1 -0
- package/dist/components/Carousel/store.js +23 -0
- package/dist/components/Carousel/store.js.map +1 -0
- package/dist/components/Carousel/useCarouselScroller.cjs +149 -0
- package/dist/components/Carousel/useCarouselScroller.cjs.map +1 -0
- package/dist/components/Carousel/useCarouselScroller.js +148 -0
- package/dist/components/Carousel/useCarouselScroller.js.map +1 -0
- package/dist/components/Checkbox/CheckboxInput/index2.cjs +29 -0
- package/dist/components/Checkbox/CheckboxInput/index2.cjs.map +1 -0
- package/dist/components/Checkbox/CheckboxInput/index2.js +28 -0
- package/dist/components/Checkbox/CheckboxInput/index2.js.map +1 -0
- package/dist/components/Checkbox/CheckboxWithLabel.cjs +23 -0
- package/dist/components/Checkbox/CheckboxWithLabel.cjs.map +1 -0
- package/dist/components/Checkbox/CheckboxWithLabel.js +21 -0
- package/dist/components/Checkbox/CheckboxWithLabel.js.map +1 -0
- package/dist/components/Checkbox/index2.cjs +34 -0
- package/dist/components/Checkbox/index2.cjs.map +1 -0
- package/dist/components/Checkbox/index2.js +33 -0
- package/dist/components/Checkbox/index2.js.map +1 -0
- package/dist/components/Clickable/index2.cjs +21 -0
- package/dist/components/Clickable/index2.cjs.map +1 -0
- package/dist/components/Clickable/index2.js +19 -0
- package/dist/components/Clickable/index2.js.map +1 -0
- package/dist/components/DropdownSelector/DropdownMenuItem/index2.cjs +44 -0
- package/dist/components/DropdownSelector/DropdownMenuItem/index2.cjs.map +1 -0
- package/dist/components/DropdownSelector/DropdownMenuItem/index2.js +43 -0
- package/dist/components/DropdownSelector/DropdownMenuItem/index2.js.map +1 -0
- package/dist/components/DropdownSelector/DropdownPopover.cjs +41 -0
- package/dist/components/DropdownSelector/DropdownPopover.cjs.map +1 -0
- package/dist/components/DropdownSelector/DropdownPopover.js +40 -0
- package/dist/components/DropdownSelector/DropdownPopover.js.map +1 -0
- package/dist/components/DropdownSelector/ListItem/index2.cjs +19 -0
- package/dist/components/DropdownSelector/ListItem/index2.cjs.map +1 -0
- package/dist/components/DropdownSelector/ListItem/index2.js +18 -0
- package/dist/components/DropdownSelector/ListItem/index2.js.map +1 -0
- package/dist/components/DropdownSelector/MenuItem/index.cjs +30 -0
- package/dist/components/DropdownSelector/MenuItem/index.cjs.map +1 -0
- package/dist/components/DropdownSelector/MenuItem/index.js +29 -0
- package/dist/components/DropdownSelector/MenuItem/index.js.map +1 -0
- package/dist/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.cjs +30 -0
- package/dist/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.cjs.map +1 -0
- package/dist/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.js +29 -0
- package/dist/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.js.map +1 -0
- package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.cjs +53 -0
- package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.cjs.map +1 -0
- package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.js +52 -0
- package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.js.map +1 -0
- package/dist/components/DropdownSelector/MenuItemGroup/index2.cjs +20 -0
- package/dist/components/DropdownSelector/MenuItemGroup/index2.cjs.map +1 -0
- package/dist/components/DropdownSelector/MenuItemGroup/index2.js +19 -0
- package/dist/components/DropdownSelector/MenuItemGroup/index2.js.map +1 -0
- package/dist/components/DropdownSelector/MenuList/MenuListContext.cjs +15 -0
- package/dist/components/DropdownSelector/MenuList/MenuListContext.cjs.map +1 -0
- package/dist/components/DropdownSelector/MenuList/MenuListContext.js +14 -0
- package/dist/components/DropdownSelector/MenuList/MenuListContext.js.map +1 -0
- package/dist/components/DropdownSelector/MenuList/index2.cjs +32 -0
- package/dist/components/DropdownSelector/MenuList/index2.cjs.map +1 -0
- package/dist/components/DropdownSelector/MenuList/index2.js +31 -0
- package/dist/components/DropdownSelector/MenuList/index2.js.map +1 -0
- package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.cjs +34 -0
- package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.cjs.map +1 -0
- package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.js +32 -0
- package/dist/components/DropdownSelector/MenuList/internals/getValuesRecursive.js.map +1 -0
- package/dist/components/DropdownSelector/Popover/index2.cjs +71 -0
- package/dist/components/DropdownSelector/Popover/index2.cjs.map +1 -0
- package/dist/components/DropdownSelector/Popover/index2.js +70 -0
- package/dist/components/DropdownSelector/Popover/index2.js.map +1 -0
- package/dist/components/DropdownSelector/Popover/usePreventScroll.cjs +27 -0
- package/dist/components/DropdownSelector/Popover/usePreventScroll.cjs.map +1 -0
- package/dist/components/DropdownSelector/Popover/usePreventScroll.js +26 -0
- package/dist/components/DropdownSelector/Popover/usePreventScroll.js.map +1 -0
- package/dist/components/DropdownSelector/index2.cjs +113 -0
- package/dist/components/DropdownSelector/index2.cjs.map +1 -0
- package/dist/components/DropdownSelector/index2.js +111 -0
- package/dist/components/DropdownSelector/index2.js.map +1 -0
- package/dist/components/DropdownSelector/utils/findPreviewRecursive.cjs +34 -0
- package/dist/components/DropdownSelector/utils/findPreviewRecursive.cjs.map +1 -0
- package/dist/components/DropdownSelector/utils/findPreviewRecursive.js +32 -0
- package/dist/components/DropdownSelector/utils/findPreviewRecursive.js.map +1 -0
- package/dist/components/FieldLabel/index2.cjs +35 -0
- package/dist/components/FieldLabel/index2.cjs.map +1 -0
- package/dist/components/FieldLabel/index2.js +33 -0
- package/dist/components/FieldLabel/index2.js.map +1 -0
- package/dist/components/HintText/index2.cjs +25 -0
- package/dist/components/HintText/index2.cjs.map +1 -0
- package/dist/components/HintText/index2.js +24 -0
- package/dist/components/HintText/index2.js.map +1 -0
- package/dist/components/Icon/index.cjs +39 -0
- package/dist/components/Icon/index.cjs.map +1 -0
- package/dist/components/Icon/index.js +37 -0
- package/dist/components/Icon/index.js.map +1 -0
- package/dist/components/IconButton/index2.cjs +46 -0
- package/dist/components/IconButton/index2.cjs.map +1 -0
- package/dist/components/IconButton/index2.js +44 -0
- package/dist/components/IconButton/index2.js.map +1 -0
- package/dist/components/LoadingSpinner/index2.cjs +43 -0
- package/dist/components/LoadingSpinner/index2.cjs.map +1 -0
- package/dist/components/LoadingSpinner/index2.js +41 -0
- package/dist/components/LoadingSpinner/index2.js.map +1 -0
- package/dist/components/Modal/Dialog/index2.cjs +30 -0
- package/dist/components/Modal/Dialog/index2.cjs.map +1 -0
- package/dist/components/Modal/Dialog/index2.js +28 -0
- package/dist/components/Modal/Dialog/index2.js.map +1 -0
- package/dist/components/Modal/ModalBackgroundContext.cjs +14 -0
- package/dist/components/Modal/ModalBackgroundContext.cjs.map +1 -0
- package/dist/components/Modal/ModalBackgroundContext.js +12 -0
- package/dist/components/Modal/ModalBackgroundContext.js.map +1 -0
- package/dist/components/Modal/ModalPlumbing2.cjs +30 -0
- package/dist/components/Modal/ModalPlumbing2.cjs.map +1 -0
- package/dist/components/Modal/ModalPlumbing2.js +26 -0
- package/dist/components/Modal/ModalPlumbing2.js.map +1 -0
- package/dist/components/Modal/index2.cjs +121 -0
- package/dist/components/Modal/index2.cjs.map +1 -0
- package/dist/components/Modal/index2.js +118 -0
- package/dist/components/Modal/index2.js.map +1 -0
- package/dist/components/Modal/useCustomModalOverlay.cjs +48 -0
- package/dist/components/Modal/useCustomModalOverlay.cjs.map +1 -0
- package/dist/components/Modal/useCustomModalOverlay.js +45 -0
- package/dist/components/Modal/useCustomModalOverlay.js.map +1 -0
- package/dist/components/Modal/useTransitionPresence.cjs +57 -0
- package/dist/components/Modal/useTransitionPresence.cjs.map +1 -0
- package/dist/components/Modal/useTransitionPresence.js +56 -0
- package/dist/components/Modal/useTransitionPresence.js.map +1 -0
- package/dist/components/MultiSelect/context.cjs +19 -0
- package/dist/components/MultiSelect/context.cjs.map +1 -0
- package/dist/components/MultiSelect/context.js +18 -0
- package/dist/components/MultiSelect/context.js.map +1 -0
- package/dist/components/MultiSelect/index2.cjs +97 -0
- package/dist/components/MultiSelect/index2.cjs.map +1 -0
- package/dist/components/MultiSelect/index2.js +93 -0
- package/dist/components/MultiSelect/index2.js.map +1 -0
- package/dist/components/Pagination/PaginationContext.cjs +16 -0
- package/dist/components/Pagination/PaginationContext.cjs.map +1 -0
- package/dist/components/Pagination/PaginationContext.js +14 -0
- package/dist/components/Pagination/PaginationContext.js.map +1 -0
- package/dist/components/Pagination/helper.cjs +63 -0
- package/dist/components/Pagination/helper.cjs.map +1 -0
- package/dist/components/Pagination/helper.js +61 -0
- package/dist/components/Pagination/helper.js.map +1 -0
- package/dist/components/Pagination/index2.cjs +301 -0
- package/dist/components/Pagination/index2.cjs.map +1 -0
- package/dist/components/Pagination/index2.js +288 -0
- package/dist/components/Pagination/index2.js.map +1 -0
- package/dist/components/Radio/RadioGroup/index2.cjs +49 -0
- package/dist/components/Radio/RadioGroup/index2.cjs.map +1 -0
- package/dist/components/Radio/RadioGroup/index2.js +47 -0
- package/dist/components/Radio/RadioGroup/index2.js.map +1 -0
- package/dist/components/Radio/RadioGroupContext.cjs +20 -0
- package/dist/components/Radio/RadioGroupContext.cjs.map +1 -0
- package/dist/components/Radio/RadioGroupContext.js +18 -0
- package/dist/components/Radio/RadioGroupContext.js.map +1 -0
- package/dist/components/Radio/RadioInput/index2.cjs +27 -0
- package/dist/components/Radio/RadioInput/index2.cjs.map +1 -0
- package/dist/components/Radio/RadioInput/index2.js +26 -0
- package/dist/components/Radio/RadioInput/index2.js.map +1 -0
- package/dist/components/Radio/index2.cjs +42 -0
- package/dist/components/Radio/index2.cjs.map +1 -0
- package/dist/components/Radio/index2.js +39 -0
- package/dist/components/Radio/index2.js.map +1 -0
- package/dist/components/SegmentedControl/RadioGroupContext.cjs +24 -0
- package/dist/components/SegmentedControl/RadioGroupContext.cjs.map +1 -0
- package/dist/components/SegmentedControl/RadioGroupContext.js +21 -0
- package/dist/components/SegmentedControl/RadioGroupContext.js.map +1 -0
- package/dist/components/SegmentedControl/index2.cjs +72 -0
- package/dist/components/SegmentedControl/index2.cjs.map +1 -0
- package/dist/components/SegmentedControl/index2.js +70 -0
- package/dist/components/SegmentedControl/index2.js.map +1 -0
- package/dist/components/Switch/SwitchInput/index2.cjs +25 -0
- package/dist/components/Switch/SwitchInput/index2.cjs.map +1 -0
- package/dist/components/Switch/SwitchInput/index2.js +24 -0
- package/dist/components/Switch/SwitchInput/index2.js.map +1 -0
- package/dist/components/Switch/SwitchWithLabel.cjs +23 -0
- package/dist/components/Switch/SwitchWithLabel.cjs.map +1 -0
- package/dist/components/Switch/SwitchWithLabel.js +21 -0
- package/dist/components/Switch/SwitchWithLabel.js.map +1 -0
- package/dist/components/Switch/index2.cjs +37 -0
- package/dist/components/Switch/index2.cjs.map +1 -0
- package/dist/components/Switch/index2.js +36 -0
- package/dist/components/Switch/index2.js.map +1 -0
- package/dist/components/TagItem/index.d.ts.map +1 -1
- package/dist/components/TagItem/index2.cjs +57 -0
- package/dist/components/TagItem/index2.cjs.map +1 -0
- package/dist/components/TagItem/index2.js +55 -0
- package/dist/components/TagItem/index2.js.map +1 -0
- package/dist/components/TextArea/index2.cjs +134 -0
- package/dist/components/TextArea/index2.cjs.map +1 -0
- package/dist/components/TextArea/index2.js +133 -0
- package/dist/components/TextArea/index2.js.map +1 -0
- package/dist/components/TextEllipsis/helper.cjs +31 -0
- package/dist/components/TextEllipsis/helper.cjs.map +1 -0
- package/dist/components/TextEllipsis/helper.js +30 -0
- package/dist/components/TextEllipsis/helper.js.map +1 -0
- package/dist/components/TextEllipsis/index2.cjs +119 -0
- package/dist/components/TextEllipsis/index2.cjs.map +1 -0
- package/dist/components/TextEllipsis/index2.js +114 -0
- package/dist/components/TextEllipsis/index2.js.map +1 -0
- package/dist/components/TextField/AssistiveText/index2.cjs +10 -0
- package/dist/components/TextField/AssistiveText/index2.cjs.map +1 -0
- package/dist/components/TextField/AssistiveText/index2.js +10 -0
- package/dist/components/TextField/AssistiveText/index2.js.map +1 -0
- package/dist/components/TextField/index2.cjs +101 -0
- package/dist/components/TextField/index2.cjs.map +1 -0
- package/dist/components/TextField/index2.js +100 -0
- package/dist/components/TextField/index2.js.map +1 -0
- package/dist/components/TextField/useFocusWithClick.cjs +23 -0
- package/dist/components/TextField/useFocusWithClick.cjs.map +1 -0
- package/dist/components/TextField/useFocusWithClick.js +22 -0
- package/dist/components/TextField/useFocusWithClick.js.map +1 -0
- package/dist/core/CharcoalProvider.cjs +16 -0
- package/dist/core/CharcoalProvider.cjs.map +1 -0
- package/dist/core/CharcoalProvider.js +14 -0
- package/dist/core/CharcoalProvider.js.map +1 -0
- package/dist/core/OverlayProvider.js +4 -0
- package/dist/core/SSRProvider.cjs +15 -0
- package/dist/core/SSRProvider.cjs.map +1 -0
- package/dist/core/SSRProvider.js +14 -0
- package/dist/core/SSRProvider.js.map +1 -0
- package/dist/core/SetThemeScript.cjs +45 -0
- package/dist/core/SetThemeScript.cjs.map +1 -0
- package/dist/core/SetThemeScript.js +43 -0
- package/dist/core/SetThemeScript.js.map +1 -0
- package/dist/core/themeHelper.cjs +154 -0
- package/dist/core/themeHelper.cjs.map +1 -0
- package/dist/core/themeHelper.js +143 -0
- package/dist/core/themeHelper.js.map +1 -0
- package/dist/index.cjs +81 -12
- package/dist/index.css +1380 -1355
- package/dist/index.js +31 -12
- package/dist/layered.css +1376 -1351
- package/dist/layered.css.map +1 -1
- package/package.json +5 -5
- package/src/components/Carousel/MIGRATION.md +8 -8
- package/src/components/Carousel/__snapshots__/index.css.snap +4 -2
- package/src/components/Carousel/index.css +5 -2
- package/src/components/Carousel/index.story.tsx +14 -12
- package/src/components/Carousel/index.test.tsx +24 -0
- package/src/components/Carousel/index.tsx +17 -0
- package/src/components/TagItem/index.test.tsx +38 -0
- package/src/components/TagItem/index.tsx +1 -0
- package/src/components/TextArea/__snapshots__/index.css.snap +29 -8
- package/src/components/TextArea/index.css +30 -8
- package/src/components/TextArea/index.tsx +1 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -7,9 +7,11 @@ import {
|
|
|
7
7
|
memo,
|
|
8
8
|
useCallback,
|
|
9
9
|
useImperativeHandle,
|
|
10
|
+
useMemo,
|
|
10
11
|
useRef,
|
|
11
12
|
useState,
|
|
12
13
|
useSyncExternalStore,
|
|
14
|
+
type CSSProperties,
|
|
13
15
|
type ReactNode,
|
|
14
16
|
} from 'react'
|
|
15
17
|
import { mergeProps, useFocusRing, useKeyboard } from 'react-aria'
|
|
@@ -67,6 +69,8 @@ export type CarouselProps = Readonly<{
|
|
|
67
69
|
onResize?: (width: number) => void
|
|
68
70
|
onScrollStateChange?: (canScroll: boolean) => void
|
|
69
71
|
defaultScroll?: { align?: ScrollAlign; offset?: number }
|
|
72
|
+
// スライド間隔。number は px、string は CSS 値をそのまま使う。未指定は間隔なし。
|
|
73
|
+
gap?: number | string
|
|
70
74
|
// 1 直接子要素 = 1 スライド(react-sandbox 互換)。
|
|
71
75
|
children: ReactNode
|
|
72
76
|
}>
|
|
@@ -147,6 +151,7 @@ const Carousel = forwardRef<CarouselHandlerRef, CarouselProps>(function Render(
|
|
|
147
151
|
onResize,
|
|
148
152
|
onScrollStateChange,
|
|
149
153
|
defaultScroll: { align = 'left', offset = 0 } = {},
|
|
154
|
+
gap,
|
|
150
155
|
children,
|
|
151
156
|
...props
|
|
152
157
|
}: CarouselProps,
|
|
@@ -213,10 +218,22 @@ const Carousel = forwardRef<CarouselHandlerRef, CarouselProps>(function Render(
|
|
|
213
218
|
const { focusProps: rootFocusProps, isFocusVisible: rootFocusVisible } =
|
|
214
219
|
useFocusRing({ within: true })
|
|
215
220
|
|
|
221
|
+
// gap 宣言自体は index.css 側に置き、ここでは CSS 変数の値だけを注入する。
|
|
222
|
+
const gapStyle = useMemo(
|
|
223
|
+
() =>
|
|
224
|
+
({
|
|
225
|
+
...(gap != null && {
|
|
226
|
+
'--charcoal-carousel-gap': typeof gap === 'number' ? `${gap}px` : gap,
|
|
227
|
+
}),
|
|
228
|
+
}) satisfies CSSProperties,
|
|
229
|
+
[gap],
|
|
230
|
+
)
|
|
231
|
+
|
|
216
232
|
return (
|
|
217
233
|
<div
|
|
218
234
|
{...rootFocusProps}
|
|
219
235
|
className={className}
|
|
236
|
+
style={gapStyle}
|
|
220
237
|
data-size={size}
|
|
221
238
|
data-has-gradient={hasGradient}
|
|
222
239
|
data-full-width={fullWidth}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { fireEvent, render, screen } from '@testing-library/react'
|
|
2
|
+
import { forwardRef } from 'react'
|
|
3
|
+
import TagItem from '.'
|
|
4
|
+
|
|
5
|
+
describe('TagItem', () => {
|
|
6
|
+
it('preserves link props on a custom link component', () => {
|
|
7
|
+
const NextLink = forwardRef<
|
|
8
|
+
HTMLAnchorElement,
|
|
9
|
+
React.ComponentPropsWithoutRef<'a'>
|
|
10
|
+
>(function NextLink({ children, ...props }, ref) {
|
|
11
|
+
return (
|
|
12
|
+
<a ref={ref} {...props}>
|
|
13
|
+
{children}
|
|
14
|
+
</a>
|
|
15
|
+
)
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
const onClick = vi.fn()
|
|
19
|
+
|
|
20
|
+
render(
|
|
21
|
+
<TagItem
|
|
22
|
+
component={NextLink}
|
|
23
|
+
href="/tags/girl"
|
|
24
|
+
label="#girl"
|
|
25
|
+
target="_blank"
|
|
26
|
+
onClick={onClick}
|
|
27
|
+
/>,
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
const link = screen.getByRole('link')
|
|
31
|
+
|
|
32
|
+
expect(link).toHaveAttribute('href', '/tags/girl')
|
|
33
|
+
expect(link).toHaveAttribute('target', '_blank')
|
|
34
|
+
|
|
35
|
+
fireEvent.click(link)
|
|
36
|
+
expect(onClick).toHaveBeenCalledTimes(1)
|
|
37
|
+
})
|
|
38
|
+
})
|
|
@@ -30,6 +30,10 @@
|
|
|
30
30
|
box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
.charcoal-text-area-container:has([data-no-bottom-padding='true']) {
|
|
34
|
+
height: calc(22px * (var(--charcoal-text-area-rows) + 1) + 18px);
|
|
35
|
+
}
|
|
36
|
+
|
|
33
37
|
.charcoal-text-area-container:not([aria-disabled='true']):hover {
|
|
34
38
|
background-color: var(--charcoal-color-container-secondary-hover-a);
|
|
35
39
|
}
|
|
@@ -47,13 +51,26 @@
|
|
|
47
51
|
box-sizing: border-box;
|
|
48
52
|
|
|
49
53
|
/* Prevent zooming for iOS Safari */
|
|
54
|
+
--charcoal-textarea-safari-prevent-zoom-scale: 0.875;
|
|
55
|
+
--charcoal-textarea-line-height: calc(
|
|
56
|
+
22px / var(--charcoal-textarea-safari-prevent-zoom-scale)
|
|
57
|
+
);
|
|
58
|
+
--charcoal-textarea-padding-y: calc(
|
|
59
|
+
8px / var(--charcoal-textarea-safari-prevent-zoom-scale)
|
|
60
|
+
);
|
|
61
|
+
--charcoal-textarea-padding-x: calc(
|
|
62
|
+
9px / var(--charcoal-textarea-safari-prevent-zoom-scale)
|
|
63
|
+
);
|
|
50
64
|
transform-origin: top left;
|
|
51
|
-
transform: scale(
|
|
52
|
-
width: calc(100% /
|
|
53
|
-
font-size: calc(14px /
|
|
54
|
-
line-height:
|
|
55
|
-
padding:
|
|
56
|
-
height: calc(
|
|
65
|
+
transform: scale(var(--charcoal-textarea-safari-prevent-zoom-scale));
|
|
66
|
+
width: calc(100% / var(--charcoal-textarea-safari-prevent-zoom-scale));
|
|
67
|
+
font-size: calc(14px / var(--charcoal-textarea-safari-prevent-zoom-scale));
|
|
68
|
+
line-height: var(--charcoal-textarea-line-height);
|
|
69
|
+
padding: var(--charcoal-textarea-padding-y) var(--charcoal-textarea-padding-x);
|
|
70
|
+
height: calc(
|
|
71
|
+
var(--charcoal-textarea-line-height) * var(--charcoal-text-area-rows) +
|
|
72
|
+
var(--charcoal-textarea-padding-y) * 2
|
|
73
|
+
);
|
|
57
74
|
|
|
58
75
|
/* Display box-shadow for iOS Safari */
|
|
59
76
|
appearance: none;
|
|
@@ -61,8 +78,12 @@
|
|
|
61
78
|
}
|
|
62
79
|
|
|
63
80
|
.charcoal-text-area-textarea[data-no-bottom-padding='true'] {
|
|
64
|
-
padding:
|
|
65
|
-
|
|
81
|
+
padding: var(--charcoal-textarea-padding-y)
|
|
82
|
+
var(--charcoal-textarea-padding-x) 0;
|
|
83
|
+
height: calc(
|
|
84
|
+
var(--charcoal-textarea-line-height) * var(--charcoal-text-area-rows) +
|
|
85
|
+
var(--charcoal-textarea-padding-y)
|
|
86
|
+
);
|
|
66
87
|
}
|
|
67
88
|
|
|
68
89
|
.charcoal-text-area-textarea::placeholder {
|
|
@@ -32,6 +32,10 @@
|
|
|
32
32
|
box-shadow: 0 0 0 4px rgba(0, 150, 250, 0.32);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
&:has([data-no-bottom-padding='true']) {
|
|
36
|
+
height: calc(22px * (var(--charcoal-text-area-rows) + 1) + 18px);
|
|
37
|
+
}
|
|
38
|
+
|
|
35
39
|
&:not([aria-disabled='true']):hover {
|
|
36
40
|
background-color: var(--charcoal-color-container-secondary-hover-a);
|
|
37
41
|
}
|
|
@@ -50,13 +54,27 @@
|
|
|
50
54
|
box-sizing: border-box;
|
|
51
55
|
|
|
52
56
|
/* Prevent zooming for iOS Safari */
|
|
57
|
+
--charcoal-textarea-safari-prevent-zoom-scale: 0.875;
|
|
58
|
+
--charcoal-textarea-line-height: calc(
|
|
59
|
+
22px / var(--charcoal-textarea-safari-prevent-zoom-scale)
|
|
60
|
+
);
|
|
61
|
+
--charcoal-textarea-padding-y: calc(
|
|
62
|
+
8px / var(--charcoal-textarea-safari-prevent-zoom-scale)
|
|
63
|
+
);
|
|
64
|
+
--charcoal-textarea-padding-x: calc(
|
|
65
|
+
9px / var(--charcoal-textarea-safari-prevent-zoom-scale)
|
|
66
|
+
);
|
|
67
|
+
|
|
53
68
|
transform-origin: top left;
|
|
54
|
-
transform: scale(
|
|
55
|
-
width: calc(100% /
|
|
56
|
-
font-size: calc(14px /
|
|
57
|
-
line-height:
|
|
58
|
-
padding:
|
|
59
|
-
height: calc(
|
|
69
|
+
transform: scale(var(--charcoal-textarea-safari-prevent-zoom-scale));
|
|
70
|
+
width: calc(100% / var(--charcoal-textarea-safari-prevent-zoom-scale));
|
|
71
|
+
font-size: calc(14px / var(--charcoal-textarea-safari-prevent-zoom-scale));
|
|
72
|
+
line-height: var(--charcoal-textarea-line-height);
|
|
73
|
+
padding: var(--charcoal-textarea-padding-y) var(--charcoal-textarea-padding-x);
|
|
74
|
+
height: calc(
|
|
75
|
+
var(--charcoal-textarea-line-height) * var(--charcoal-text-area-rows) +
|
|
76
|
+
var(--charcoal-textarea-padding-y) * 2
|
|
77
|
+
);
|
|
60
78
|
|
|
61
79
|
/* Display box-shadow for iOS Safari */
|
|
62
80
|
appearance: none;
|
|
@@ -64,8 +82,12 @@
|
|
|
64
82
|
background: none;
|
|
65
83
|
|
|
66
84
|
&[data-no-bottom-padding='true'] {
|
|
67
|
-
padding:
|
|
68
|
-
|
|
85
|
+
padding: var(--charcoal-textarea-padding-y)
|
|
86
|
+
var(--charcoal-textarea-padding-x) 0;
|
|
87
|
+
height: calc(
|
|
88
|
+
var(--charcoal-textarea-line-height) * var(--charcoal-text-area-rows) +
|
|
89
|
+
var(--charcoal-textarea-padding-y)
|
|
90
|
+
);
|
|
69
91
|
}
|
|
70
92
|
|
|
71
93
|
&::placeholder {
|
|
@@ -206,7 +206,7 @@ const TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(
|
|
|
206
206
|
aria-invalid={invalid === true}
|
|
207
207
|
ref={containerRef}
|
|
208
208
|
style={{
|
|
209
|
-
'--charcoal-text-area-rows':
|
|
209
|
+
'--charcoal-text-area-rows': rows,
|
|
210
210
|
}}
|
|
211
211
|
>
|
|
212
212
|
<textarea
|