@vkontakte/vkui 7.8.2 → 7.9.0
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/components/Box/Box.d.ts +11 -0
- package/dist/components/Box/Box.d.ts.map +1 -0
- package/dist/components/Box/Box.js +25 -0
- package/dist/components/Box/Box.js.map +1 -0
- package/dist/components/CarouselBase/CarouselBase.d.ts +1 -1
- package/dist/components/CarouselBase/CarouselBase.d.ts.map +1 -1
- package/dist/components/CarouselBase/CarouselBase.js +6 -4
- package/dist/components/CarouselBase/CarouselBase.js.map +1 -1
- package/dist/components/CarouselBase/constants.d.ts +1 -1
- package/dist/components/CarouselBase/constants.d.ts.map +1 -1
- package/dist/components/CarouselBase/constants.js +1 -1
- package/dist/components/CarouselBase/constants.js.map +1 -1
- package/dist/components/CarouselBase/hooks.d.ts +3 -1
- package/dist/components/CarouselBase/hooks.d.ts.map +1 -1
- package/dist/components/CarouselBase/hooks.js +46 -6
- package/dist/components/CarouselBase/hooks.js.map +1 -1
- package/dist/components/CarouselBase/types.d.ts +12 -0
- package/dist/components/CarouselBase/types.d.ts.map +1 -1
- package/dist/components/CarouselBase/types.js.map +1 -1
- package/dist/components/Checkbox/Checkbox.d.ts +10 -1
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox/Checkbox.js +44 -10
- package/dist/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts +16 -3
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js +32 -19
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
- package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts +1 -1
- package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.d.ts.map +1 -1
- package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.js +39 -10
- package/dist/components/Checkbox/CheckboxSimple/CheckboxSimple.js.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.d.ts +1 -1
- package/dist/components/ChipsInput/ChipsInput.d.ts.map +1 -1
- package/dist/components/ChipsInput/ChipsInput.js +32 -13
- package/dist/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.d.ts +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/ChipsInputBase.js +52 -26
- package/dist/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/components/ChipsInputBase/types.d.ts +13 -4
- package/dist/components/ChipsInputBase/types.d.ts.map +1 -1
- package/dist/components/ChipsInputBase/types.js.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.d.ts.map +1 -1
- package/dist/components/ChipsSelect/ChipsSelect.js +67 -38
- package/dist/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.d.ts +16 -2
- package/dist/components/CustomSelect/CustomSelect.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelect.js +99 -50
- package/dist/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts +6 -2
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.d.ts.map +1 -1
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +38 -20
- package/dist/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
- package/dist/components/CustomSelect/helpers.d.ts +1 -0
- package/dist/components/CustomSelect/helpers.d.ts.map +1 -1
- package/dist/components/CustomSelect/helpers.js +11 -0
- package/dist/components/CustomSelect/helpers.js.map +1 -1
- package/dist/components/Div/Div.d.ts +3 -0
- package/dist/components/Div/Div.d.ts.map +1 -1
- package/dist/components/Div/Div.js +11 -1
- package/dist/components/Div/Div.js.map +1 -1
- package/dist/components/File/File.d.ts +16 -3
- package/dist/components/File/File.d.ts.map +1 -1
- package/dist/components/File/File.js +29 -17
- package/dist/components/File/File.js.map +1 -1
- package/dist/components/Input/Input.d.ts +16 -3
- package/dist/components/Input/Input.d.ts.map +1 -1
- package/dist/components/Input/Input.js +28 -13
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.d.ts +17 -3
- package/dist/components/NativeSelect/NativeSelect.d.ts.map +1 -1
- package/dist/components/NativeSelect/NativeSelect.js +37 -14
- package/dist/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/components/Radio/Radio.d.ts +18 -3
- package/dist/components/Radio/Radio.d.ts.map +1 -1
- package/dist/components/Radio/Radio.js +31 -11
- package/dist/components/Radio/Radio.js.map +1 -1
- package/dist/components/Radio/RadioInput/RadioInput.d.ts +16 -3
- package/dist/components/Radio/RadioInput/RadioInput.d.ts.map +1 -1
- package/dist/components/Radio/RadioInput/RadioInput.js +22 -11
- package/dist/components/Radio/RadioInput/RadioInput.js.map +1 -1
- package/dist/components/Search/Search.d.ts +16 -3
- package/dist/components/Search/Search.d.ts.map +1 -1
- package/dist/components/Search/Search.js +50 -28
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.js +10 -4
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/SelectionControl/SelectionControl.d.ts +2 -2
- package/dist/components/SelectionControl/SelectionControl.d.ts.map +1 -1
- package/dist/components/SelectionControl/SelectionControl.js.map +1 -1
- package/dist/components/Snackbar/Snackbar.d.ts +10 -1
- package/dist/components/Snackbar/Snackbar.d.ts.map +1 -1
- package/dist/components/Snackbar/Snackbar.js +20 -6
- package/dist/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.d.ts +16 -3
- package/dist/components/SplitLayout/SplitLayout.d.ts.map +1 -1
- package/dist/components/SplitLayout/SplitLayout.js +24 -9
- package/dist/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/components/Switch/Switch.d.ts +16 -3
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/Switch.js +32 -20
- package/dist/components/Switch/Switch.js.map +1 -1
- package/dist/components/Textarea/Textarea.d.ts +16 -3
- package/dist/components/Textarea/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea/Textarea.js +36 -18
- package/dist/components/Textarea/Textarea.js.map +1 -1
- package/dist/components/WriteBar/WriteBar.d.ts +16 -3
- package/dist/components/WriteBar/WriteBar.d.ts.map +1 -1
- package/dist/components/WriteBar/WriteBar.js +28 -11
- package/dist/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/Box/Box.js +19 -0
- package/dist/cssm/components/Box/Box.js.map +1 -0
- package/dist/cssm/components/CarouselBase/CarouselBase.js +4 -4
- package/dist/cssm/components/CarouselBase/CarouselBase.js.map +1 -1
- package/dist/cssm/components/CarouselBase/constants.js +1 -1
- package/dist/cssm/components/CarouselBase/constants.js.map +1 -1
- package/dist/cssm/components/CarouselBase/hooks.js +46 -6
- package/dist/cssm/components/CarouselBase/hooks.js.map +1 -1
- package/dist/cssm/components/CarouselBase/types.js.map +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.js +29 -6
- package/dist/cssm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js +24 -13
- package/dist/cssm/components/Checkbox/CheckboxInput/CheckboxInput.js.map +1 -1
- package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.js +24 -6
- package/dist/cssm/components/Checkbox/CheckboxSimple/CheckboxSimple.js.map +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.js +25 -11
- package/dist/cssm/components/ChipsInput/ChipsInput.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js +30 -12
- package/dist/cssm/components/ChipsInputBase/ChipsInputBase.js.map +1 -1
- package/dist/cssm/components/ChipsInputBase/types.js.map +1 -1
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js +49 -30
- package/dist/cssm/components/ChipsSelect/ChipsSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelect.js +73 -41
- package/dist/cssm/components/CustomSelect/CustomSelect.js.map +1 -1
- package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js +20 -9
- package/dist/cssm/components/CustomSelect/CustomSelectInput/CustomSelectInput.js.map +1 -1
- package/dist/cssm/components/CustomSelect/helpers.js +11 -0
- package/dist/cssm/components/CustomSelect/helpers.js.map +1 -1
- package/dist/cssm/components/Div/Div.js +11 -1
- package/dist/cssm/components/Div/Div.js.map +1 -1
- package/dist/cssm/components/File/File.js +20 -7
- package/dist/cssm/components/File/File.js.map +1 -1
- package/dist/cssm/components/Input/Input.js +20 -7
- package/dist/cssm/components/Input/Input.js.map +1 -1
- package/dist/cssm/components/MiniInfoCell/MiniInfoCell.module.css +1 -1
- package/dist/cssm/components/NativeSelect/NativeSelect.js +25 -8
- package/dist/cssm/components/NativeSelect/NativeSelect.js.map +1 -1
- package/dist/cssm/components/Radio/Radio.js +28 -8
- package/dist/cssm/components/Radio/Radio.js.map +1 -1
- package/dist/cssm/components/Radio/RadioInput/RadioInput.js +18 -6
- package/dist/cssm/components/Radio/RadioInput/RadioInput.js.map +1 -1
- package/dist/cssm/components/Search/Search.js +34 -17
- package/dist/cssm/components/Search/Search.js.map +1 -1
- package/dist/cssm/components/Select/Select.js +6 -1
- package/dist/cssm/components/Select/Select.js.map +1 -1
- package/dist/cssm/components/SelectionControl/SelectionControl.js.map +1 -1
- package/dist/cssm/components/Snackbar/Snackbar.js +11 -2
- package/dist/cssm/components/Snackbar/Snackbar.js.map +1 -1
- package/dist/cssm/components/SplitLayout/SplitLayout.js +22 -8
- package/dist/cssm/components/SplitLayout/SplitLayout.js.map +1 -1
- package/dist/cssm/components/Switch/Switch.js +29 -17
- package/dist/cssm/components/Switch/Switch.js.map +1 -1
- package/dist/cssm/components/Textarea/Textarea.js +22 -8
- package/dist/cssm/components/Textarea/Textarea.js.map +1 -1
- package/dist/cssm/components/WriteBar/WriteBar.js +24 -9
- package/dist/cssm/components/WriteBar/WriteBar.js.map +1 -1
- package/dist/cssm/hooks/useMergeProps.js +34 -0
- package/dist/cssm/hooks/useMergeProps.js.map +1 -0
- package/dist/cssm/index.js +2 -0
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/animation/useCSSTransition.js +1 -1
- package/dist/cssm/lib/animation/useCSSTransition.js.map +1 -1
- package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +1 -1
- package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
- package/dist/cssm/lib/fx.js +55 -8
- package/dist/cssm/lib/fx.js.map +1 -1
- package/dist/cssm/lib/layouts/gaps.js.map +1 -1
- package/dist/cssm/lib/layouts/helpers.js +21 -0
- package/dist/cssm/lib/layouts/helpers.js.map +1 -0
- package/dist/cssm/lib/layouts/index.js +1 -0
- package/dist/cssm/lib/layouts/index.js.map +1 -1
- package/dist/cssm/lib/layouts/layoutProps.js +89 -0
- package/dist/cssm/lib/layouts/layoutProps.js.map +1 -0
- package/dist/cssm/lib/layouts/resolveLayoutProps.js +36 -0
- package/dist/cssm/lib/layouts/resolveLayoutProps.js.map +1 -0
- package/dist/cssm/lib/layouts/types.js +3 -0
- package/dist/cssm/lib/layouts/types.js.map +1 -0
- package/dist/cssm/lib/warnOnce.js +1 -1
- package/dist/cssm/lib/warnOnce.js.map +1 -1
- package/dist/cssm/styles/layout.css +922 -0
- package/dist/hooks/useMergeProps.d.ts +6 -0
- package/dist/hooks/useMergeProps.d.ts.map +1 -0
- package/dist/hooks/useMergeProps.js +38 -0
- package/dist/hooks/useMergeProps.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/animation/useCSSTransition.js +1 -1
- package/dist/lib/animation/useCSSTransition.js.map +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js +1 -1
- package/dist/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map +1 -1
- package/dist/lib/fx.d.ts +8 -1
- package/dist/lib/fx.d.ts.map +1 -1
- package/dist/lib/fx.js +55 -8
- package/dist/lib/fx.js.map +1 -1
- package/dist/lib/layouts/gaps.d.ts +4 -5
- package/dist/lib/layouts/gaps.d.ts.map +1 -1
- package/dist/lib/layouts/gaps.js.map +1 -1
- package/dist/lib/layouts/helpers.d.ts +17 -0
- package/dist/lib/layouts/helpers.d.ts.map +1 -0
- package/dist/lib/layouts/helpers.js +21 -0
- package/dist/lib/layouts/helpers.js.map +1 -0
- package/dist/lib/layouts/index.d.ts +2 -0
- package/dist/lib/layouts/index.d.ts.map +1 -1
- package/dist/lib/layouts/index.js +1 -0
- package/dist/lib/layouts/index.js.map +1 -1
- package/dist/lib/layouts/layoutProps.d.ts +33 -0
- package/dist/lib/layouts/layoutProps.d.ts.map +1 -0
- package/dist/lib/layouts/layoutProps.js +89 -0
- package/dist/lib/layouts/layoutProps.js.map +1 -0
- package/dist/lib/layouts/resolveLayoutProps.d.ts +18 -0
- package/dist/lib/layouts/resolveLayoutProps.d.ts.map +1 -0
- package/dist/lib/layouts/resolveLayoutProps.js +35 -0
- package/dist/lib/layouts/resolveLayoutProps.js.map +1 -0
- package/dist/lib/layouts/types.d.ts +123 -0
- package/dist/lib/layouts/types.d.ts.map +1 -0
- package/dist/lib/layouts/types.js +3 -0
- package/dist/lib/layouts/types.js.map +1 -0
- package/dist/lib/warnOnce.js +1 -1
- package/dist/lib/warnOnce.js.map +1 -1
- package/dist/vkui.css +1 -1
- package/dist/vkui.css.map +1 -1
- package/package.json +2 -2
- package/src/components/Box/Box.tsx +26 -0
- package/src/components/CarouselBase/CarouselBase.tsx +11 -4
- package/src/components/CarouselBase/constants.ts +1 -1
- package/src/components/CarouselBase/hooks.ts +31 -6
- package/src/components/CarouselBase/types.ts +13 -0
- package/src/components/Checkbox/Checkbox.tsx +56 -6
- package/src/components/Checkbox/CheckboxInput/CheckboxInput.tsx +51 -18
- package/src/components/Checkbox/CheckboxSimple/CheckboxSimple.tsx +36 -6
- package/src/components/ChipsInput/ChipsInput.tsx +38 -11
- package/src/components/ChipsInputBase/ChipsInputBase.tsx +60 -17
- package/src/components/ChipsInputBase/types.ts +15 -4
- package/src/components/ChipsSelect/ChipsSelect.tsx +71 -33
- package/src/components/CustomSelect/CustomSelect.tsx +135 -45
- package/src/components/CustomSelect/CustomSelectInput/CustomSelectInput.tsx +48 -17
- package/src/components/CustomSelect/helpers.ts +23 -0
- package/src/components/Div/Div.tsx +13 -3
- package/src/components/File/File.tsx +48 -11
- package/src/components/Input/Input.tsx +51 -14
- package/src/components/MiniInfoCell/MiniInfoCell.module.css +1 -1
- package/src/components/NativeSelect/NativeSelect.tsx +57 -18
- package/src/components/Radio/Radio.tsx +51 -8
- package/src/components/Radio/RadioInput/RadioInput.tsx +35 -11
- package/src/components/Search/Search.tsx +80 -29
- package/src/components/Select/Select.tsx +11 -1
- package/src/components/SelectionControl/SelectionControl.tsx +2 -1
- package/src/components/Snackbar/Snackbar.tsx +35 -5
- package/src/components/SplitLayout/SplitLayout.tsx +46 -12
- package/src/components/Switch/Switch.tsx +62 -31
- package/src/components/Textarea/Textarea.tsx +58 -14
- package/src/components/WriteBar/WriteBar.tsx +57 -13
- package/src/hooks/useMergeProps.ts +61 -0
- package/src/index.ts +3 -0
- package/src/lib/animation/useCSSTransition.ts +1 -1
- package/src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts +1 -1
- package/src/lib/fx.ts +63 -8
- package/src/lib/layouts/gaps.ts +4 -5
- package/src/lib/layouts/helpers.ts +24 -0
- package/src/lib/layouts/index.ts +13 -0
- package/src/lib/layouts/layoutProps.ts +75 -0
- package/src/lib/layouts/resolveLayoutProps.ts +51 -0
- package/src/lib/layouts/types.ts +142 -0
- package/src/lib/warnOnce.ts +1 -1
- package/src/styles/layout.css +1 -0
- package/src/styles/layout.css.d.ts.map +1 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { classNames } from "@vkontakte/vkjs";
|
|
2
|
+
import { getMergedSameEventsByProps } from "../helpers/getMergedSameEventsByProps.js";
|
|
3
|
+
import { mergeStyle } from "../helpers/mergeStyle.js";
|
|
4
|
+
import { useExternRef } from "./useExternRef.js";
|
|
5
|
+
export const useMergeProps = (originalProps, slotProps)=>{
|
|
6
|
+
const originalSlotGetRef = originalProps.getRootRef;
|
|
7
|
+
const rootSlotGetRef = slotProps?.getRootRef;
|
|
8
|
+
const getRootRef = useExternRef(originalSlotGetRef, rootSlotGetRef);
|
|
9
|
+
if (!slotProps) {
|
|
10
|
+
return originalProps;
|
|
11
|
+
}
|
|
12
|
+
const { className: rootSlotClassName, style: rootSlotStyle, ...rootSlotProps } = slotProps || {};
|
|
13
|
+
const { className: originalClassName, style: originalSlotStyle, ...originalRestProps } = originalProps;
|
|
14
|
+
const resolvedClassName = originalClassName || rootSlotClassName ? classNames(originalClassName, rootSlotClassName) : undefined;
|
|
15
|
+
const resolvedStyle = originalSlotStyle || rootSlotStyle ? mergeStyle(originalSlotStyle, rootSlotStyle) : undefined;
|
|
16
|
+
const mergedEventsByInjectProps = getMergedSameEventsByProps(originalRestProps, rootSlotProps);
|
|
17
|
+
const resolvedProps = {
|
|
18
|
+
...originalRestProps,
|
|
19
|
+
...rootSlotProps,
|
|
20
|
+
...mergedEventsByInjectProps
|
|
21
|
+
};
|
|
22
|
+
if (resolvedClassName) {
|
|
23
|
+
resolvedProps.className = resolvedClassName;
|
|
24
|
+
}
|
|
25
|
+
if (resolvedStyle) {
|
|
26
|
+
resolvedProps.style = resolvedStyle;
|
|
27
|
+
}
|
|
28
|
+
if (rootSlotGetRef || originalSlotGetRef) {
|
|
29
|
+
resolvedProps.getRootRef = getRootRef;
|
|
30
|
+
}
|
|
31
|
+
return resolvedProps;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=useMergeProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useMergeProps.ts"],"sourcesContent":["import { type AllHTMLAttributes } from 'react';\nimport { classNames } from '@vkontakte/vkjs';\nimport { getMergedSameEventsByProps } from '../helpers/getMergedSameEventsByProps';\nimport { mergeStyle } from '../helpers/mergeStyle';\nimport { type HasRootRef } from '../types';\nimport { useExternRef } from './useExternRef';\n\ntype BaseProps<T extends HTMLElement = HTMLElement> = HasRootRef<T> &\n Pick<AllHTMLAttributes<T>, 'className' | 'style'>;\n\nexport const useMergeProps = <T extends BaseProps = BaseProps>(\n originalProps: T,\n slotProps?: T,\n): T => {\n const originalSlotGetRef = originalProps.getRootRef;\n const rootSlotGetRef = slotProps?.getRootRef;\n\n const getRootRef = useExternRef(originalSlotGetRef, rootSlotGetRef);\n\n if (!slotProps) {\n return originalProps;\n }\n\n const { className: rootSlotClassName, style: rootSlotStyle, ...rootSlotProps } = slotProps || {};\n\n const {\n className: originalClassName,\n style: originalSlotStyle,\n ...originalRestProps\n } = originalProps;\n\n const resolvedClassName =\n originalClassName || rootSlotClassName\n ? classNames(originalClassName, rootSlotClassName)\n : undefined;\n const resolvedStyle =\n originalSlotStyle || rootSlotStyle ? mergeStyle(originalSlotStyle, rootSlotStyle) : undefined;\n\n const mergedEventsByInjectProps: any = getMergedSameEventsByProps(\n originalRestProps,\n rootSlotProps,\n );\n\n const resolvedProps: T = {\n ...originalRestProps,\n ...rootSlotProps,\n ...mergedEventsByInjectProps,\n };\n\n if (resolvedClassName) {\n resolvedProps.className = resolvedClassName;\n }\n if (resolvedStyle) {\n resolvedProps.style = resolvedStyle;\n }\n if (rootSlotGetRef || originalSlotGetRef) {\n resolvedProps.getRootRef = getRootRef;\n }\n\n return resolvedProps;\n};\n"],"names":["classNames","getMergedSameEventsByProps","mergeStyle","useExternRef","useMergeProps","originalProps","slotProps","originalSlotGetRef","getRootRef","rootSlotGetRef","className","rootSlotClassName","style","rootSlotStyle","rootSlotProps","originalClassName","originalSlotStyle","originalRestProps","resolvedClassName","undefined","resolvedStyle","mergedEventsByInjectProps","resolvedProps"],"mappings":"AACA,SAASA,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,0BAA0B,QAAQ,2CAAwC;AACnF,SAASC,UAAU,QAAQ,2BAAwB;AAEnD,SAASC,YAAY,QAAQ,oBAAiB;AAK9C,OAAO,MAAMC,gBAAgB,CAC3BC,eACAC;IAEA,MAAMC,qBAAqBF,cAAcG,UAAU;IACnD,MAAMC,iBAAiBH,WAAWE;IAElC,MAAMA,aAAaL,aAAaI,oBAAoBE;IAEpD,IAAI,CAACH,WAAW;QACd,OAAOD;IACT;IAEA,MAAM,EAAEK,WAAWC,iBAAiB,EAAEC,OAAOC,aAAa,EAAE,GAAGC,eAAe,GAAGR,aAAa,CAAC;IAE/F,MAAM,EACJI,WAAWK,iBAAiB,EAC5BH,OAAOI,iBAAiB,EACxB,GAAGC,mBACJ,GAAGZ;IAEJ,MAAMa,oBACJH,qBAAqBJ,oBACjBX,WAAWe,mBAAmBJ,qBAC9BQ;IACN,MAAMC,gBACJJ,qBAAqBH,gBAAgBX,WAAWc,mBAAmBH,iBAAiBM;IAEtF,MAAME,4BAAiCpB,2BACrCgB,mBACAH;IAGF,MAAMQ,gBAAmB;QACvB,GAAGL,iBAAiB;QACpB,GAAGH,aAAa;QAChB,GAAGO,yBAAyB;IAC9B;IAEA,IAAIH,mBAAmB;QACrBI,cAAcZ,SAAS,GAAGQ;IAC5B;IACA,IAAIE,eAAe;QACjBE,cAAcV,KAAK,GAAGQ;IACxB;IACA,IAAIX,kBAAkBF,oBAAoB;QACxCe,cAAcd,UAAU,GAAGA;IAC7B;IAEA,OAAOc;AACT,EAAE"}
|
package/dist/cssm/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import "./styles/focusVisible.module.css";
|
|
|
5
5
|
import "./styles/animationFades.module.css";
|
|
6
6
|
import "./styles/transformOriginByPlacement.module.css";
|
|
7
7
|
import "./styles/gaps.module.css";
|
|
8
|
+
import "./styles/layout.css";
|
|
8
9
|
export { AppRoot } from "./components/AppRoot/AppRoot.js";
|
|
9
10
|
export { AppRootPortal } from "./components/AppRoot/AppRootPortal.js";
|
|
10
11
|
export { DisplayTitle } from "./components/Typography/DisplayTitle/DisplayTitle.js";
|
|
@@ -110,6 +111,7 @@ export { Counter } from "./components/Counter/Counter.js";
|
|
|
110
111
|
export { UsersStack } from "./components/UsersStack/UsersStack.js";
|
|
111
112
|
export { Separator } from "./components/Separator/Separator.js";
|
|
112
113
|
export { Spacing } from "./components/Spacing/Spacing.js";
|
|
114
|
+
export { Box } from "./components/Box/Box.js";
|
|
113
115
|
export { Placeholder } from "./components/Placeholder/Placeholder.js";
|
|
114
116
|
export { Banner } from "./components/Banner/Banner.js";
|
|
115
117
|
export { MiniInfoCell } from "./components/MiniInfoCell/MiniInfoCell.js";
|
package/dist/cssm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import './styles/constants.css';\nimport './styles/adaptivity.module.css';\nimport './styles/dynamicTokens.css';\nimport './styles/focusVisible.module.css';\nimport './styles/animationFades.module.css';\nimport './styles/transformOriginByPlacement.module.css';\nimport './styles/gaps.module.css';\n\nexport { AppRoot } from './components/AppRoot/AppRoot';\nexport { AppRootPortal } from './components/AppRoot/AppRootPortal';\nexport type { AppRootProps } from './components/AppRoot/AppRoot';\nexport type { SafeAreaInsets } from './components/AppRoot/types';\n\n/**\n * Typography\n */\nexport type { TypographyProps } from './components/Typography/Typography';\nexport { DisplayTitle } from './components/Typography/DisplayTitle/DisplayTitle';\nexport type { DisplayTitleProps } from './components/Typography/DisplayTitle/DisplayTitle';\nexport { Title } from './components/Typography/Title/Title';\nexport type { TitleProps } from './components/Typography/Title/Title';\nexport { Headline } from './components/Typography/Headline/Headline';\nexport type { HeadlineProps } from './components/Typography/Headline/Headline';\nexport { Text } from './components/Typography/Text/Text';\nexport type { TextProps } from './components/Typography/Text/Text';\nexport { Paragraph } from './components/Typography/Paragraph/Paragraph';\nexport type { ParagraphProps } from './components/Typography/Paragraph/Paragraph';\nexport { Subhead } from './components/Typography/Subhead/Subhead';\nexport type { SubheadProps } from './components/Typography/Subhead/Subhead';\nexport { Footnote } from './components/Typography/Footnote/Footnote';\nexport type { FootnoteProps } from './components/Typography/Footnote/Footnote';\nexport { Caption } from './components/Typography/Caption/Caption';\nexport type { CaptionProps } from './components/Typography/Caption/Caption';\nexport { EllipsisText } from './components/Typography/EllipsisText/EllipsisText';\nexport type { EllipsisTextProps } from './components/Typography/EllipsisText/EllipsisText';\n/**\n * Service\n */\nexport { UnstyledTextField } from './components/UnstyledTextField/UnstyledTextField';\nexport type {\n UnstyledTextFieldAsInputProps,\n UnstyledTextFieldAsTextareaProps,\n UnstyledTextFieldBaseProps,\n UnstyledTextFieldProps,\n} from './components/UnstyledTextField/UnstyledTextField';\nexport { Tappable } from './components/Tappable/Tappable';\nexport type { TappableProps } from './components/Tappable/Tappable';\nexport { FixedLayout } from './components/FixedLayout/FixedLayout';\nexport type { FixedLayoutProps } from './components/FixedLayout/FixedLayout';\nexport {\n ImageBaseContext,\n ImageBase,\n getBadgeIconSizeByImageBaseSize,\n getFallbackIconSizeByImageBaseSize,\n getOverlayIconSizeByImageBaseSize,\n} from './components/ImageBase/ImageBase';\nexport type {\n ImageBaseProps,\n ImageBaseSize,\n ImageBaseExpectedIconProps,\n ImageBaseBadgeProps,\n ImageBaseOverlayProps,\n ImageBaseFloatElementProps,\n FloatElementPlacement,\n FloatElementIndentation,\n} from './components/ImageBase/ImageBase';\n\n/**\n * Primitives\n */\nexport { Button } from './components/Button/Button';\nexport type { ButtonProps } from './components/Button/Button';\nexport { IconButton } from './components/IconButton/IconButton';\nexport type { IconButtonProps } from './components/IconButton/IconButton';\nexport { ToolButton } from './components/ToolButton/ToolButton';\nexport type { ToolButtonProps } from './components/ToolButton/ToolButton';\n\n/**\n * Layout\n */\nexport { Root } from './components/Root/Root';\nexport type { RootProps } from './components/Root/Root';\nexport { View } from './components/View/View';\nexport type { ViewProps } from './components/View/View';\nexport { Panel } from './components/Panel/Panel';\nexport type { PanelProps } from './components/Panel/Panel';\nexport { PanelHeaderButton } from './components/PanelHeaderButton/PanelHeaderButton';\nexport type { PanelHeaderButtonProps } from './components/PanelHeaderButton/PanelHeaderButton';\nexport { PanelHeader } from './components/PanelHeader/PanelHeader';\nexport type { PanelHeaderProps } from './components/PanelHeader/PanelHeader';\nexport { PanelHeaderContent } from './components/PanelHeaderContent/PanelHeaderContent';\nexport type { PanelHeaderContentProps } from './components/PanelHeaderContent/PanelHeaderContent';\nexport { PanelHeaderContext } from './components/PanelHeaderContext/PanelHeaderContext';\nexport type { PanelHeaderContextProps } from './components/PanelHeaderContext/PanelHeaderContext';\nexport { SplitLayout } from './components/SplitLayout/SplitLayout';\nexport type { SplitLayoutProps } from './components/SplitLayout/SplitLayout';\nexport { SplitCol } from './components/SplitCol/SplitCol';\nexport type { SplitColProps } from './components/SplitCol/SplitCol';\nexport { Epic } from './components/Epic/Epic';\nexport type { EpicProps } from './components/Epic/Epic';\nexport { Tabbar } from './components/Tabbar/Tabbar';\nexport type { TabbarProps } from './components/Tabbar/Tabbar';\nexport { TabbarItem } from './components/TabbarItem/TabbarItem';\nexport type { TabbarItemProps } from './components/TabbarItem/TabbarItem';\nexport { ScrollArrow } from './components/ScrollArrow/ScrollArrow';\nexport type { ScrollArrowProps } from './components/ScrollArrow/ScrollArrow';\nexport { HorizontalScroll } from './components/HorizontalScroll/HorizontalScroll';\nexport type { HorizontalScrollProps } from './components/HorizontalScroll/HorizontalScroll';\nexport { AspectRatio } from './components/AspectRatio/AspectRatio';\nexport type { AspectRatioProps } from './components/AspectRatio/AspectRatio';\nexport { Flex } from './components/Flex/Flex';\nexport type { FlexProps } from './components/Flex/Flex';\nexport type { FlexItemProps } from './components/Flex/FlexItem/FlexItem';\nexport { SimpleGrid } from './components/SimpleGrid/SimpleGrid';\nexport type { SimpleGridProps } from './components/SimpleGrid/SimpleGrid';\n\n/**\n * Popouts\n */\nexport { PopoutWrapper } from './components/PopoutWrapper/PopoutWrapper';\nexport type { PopoutWrapperProps } from './components/PopoutWrapper/PopoutWrapper';\nexport { Alert } from './components/Alert/Alert';\nexport type { AlertProps, AlertActionProps, AlertActionInterface } from './components/Alert/Alert';\nexport { ActionSheet } from './components/ActionSheet/ActionSheet';\nexport type {\n ActionSheetProps,\n ActionSheetOnCloseOptions,\n} from './components/ActionSheet/ActionSheet';\nexport { ActionSheetItem } from './components/ActionSheetItem/ActionSheetItem';\nexport type { ActionSheetItemProps } from './components/ActionSheetItem/ActionSheetItem';\nexport { ActionSheetDefaultIosCloseItem } from './components/ActionSheet/ActionSheetDefaultIosCloseItem';\nexport { ScreenSpinner } from './components/ScreenSpinner/ScreenSpinner';\nexport { ScreenSpinnerContext } from './components/ScreenSpinner/context';\nexport type { ScreenSpinnerProps } from './components/ScreenSpinner/ScreenSpinner';\nexport type { ScreenSpinnerContextProps } from './components/ScreenSpinner/context';\nexport { Snackbar } from './components/Snackbar/Snackbar';\nexport type { SnackbarProps } from './components/Snackbar/Snackbar';\nexport { Tooltip } from './components/Tooltip/Tooltip';\nexport { useTooltip } from './components/Tooltip/useTooltip';\nexport type {\n TooltipProps,\n TooltipOnShownChange,\n TooltipArrowProps,\n} from './components/Tooltip/Tooltip';\n\n/**\n * Modals\n */\nexport { ModalRoot } from './components/ModalRoot/ModalRoot';\nexport type {\n ModalRootProps,\n ModalRootContextInterface,\n UseModalRootContext,\n} from './components/ModalRoot/types';\nexport { withModalRootContext } from './components/ModalRoot/withModalRootContext';\nexport { ModalRootContext } from './components/ModalRoot/ModalRootContext';\nexport { useModalRootContext } from './components/ModalRoot/useModalRootContext';\nexport { ModalPageContent } from './components/ModalPageContent/ModalPageContent';\nexport { ModalPage } from './components/ModalPage/ModalPage';\nexport type { ModalPageProps, ModalPageCloseReason } from './components/ModalPage/types';\nexport { ModalPageHeader } from './components/ModalPageHeader/ModalPageHeader';\nexport type { ModalPageHeaderProps } from './components/ModalPageHeader/ModalPageHeader';\nexport { ModalCard } from './components/ModalCard/ModalCard';\nexport type { ModalCardProps, ModalCardCloseReason } from './components/ModalCard/types';\nexport { ModalDismissButton } from './components/ModalDismissButton/ModalDismissButton';\nexport type { ModalDismissButtonProps } from './components/ModalDismissButton/ModalDismissButton';\nexport { ModalOutsideButton } from './components/ModalOutsideButton/ModalOutsideButton';\nexport type { ModalOutsideButtonProps } from './components/ModalOutsideButton/ModalOutsideButton';\n\n/**\n * Blocks\n */\nexport { Badge } from './components/Badge/Badge';\nexport type { BadgeProps } from './components/Badge/Badge';\nexport { ContentBadge } from './components/ContentBadge/ContentBadge';\nexport type { ContentBadgeProps } from './components/ContentBadge/ContentBadge';\nexport { ButtonGroup } from './components/ButtonGroup/ButtonGroup';\nexport type { ButtonGroupProps } from './components/ButtonGroup/ButtonGroup';\nexport { Card } from './components/Card/Card';\nexport type { CardProps } from './components/Card/Card';\nexport { CardGrid } from './components/CardGrid/CardGrid';\nexport type { CardGridProps } from './components/CardGrid/CardGrid';\nexport { CardScroll } from './components/CardScroll/CardScroll';\nexport type { CardScrollProps } from './components/CardScroll/CardScroll';\nexport { ContentCard } from './components/ContentCard/ContentCard';\nexport type { ContentCardProps } from './components/ContentCard/ContentCard';\nexport { Header } from './components/Header/Header';\nexport type { HeaderProps } from './components/Header/Header';\nexport { Group } from './components/Group/Group';\nexport type { GroupProps } from './components/Group/Group';\nexport { Gradient } from './components/Gradient/Gradient';\nexport type { GradientProps } from './components/Gradient/Gradient';\nexport { List } from './components/List/List';\nexport type { ListProps } from './components/List/List';\nexport { Cell } from './components/Cell/Cell';\nexport type { CellProps } from './components/Cell/Cell';\nexport type { CellCheckboxProps } from './components/Cell/CellCheckbox/CellCheckbox';\nexport { RichCell } from './components/RichCell/RichCell';\nexport type { RichCellProps } from './components/RichCell/RichCell';\nexport { SimpleCell } from './components/SimpleCell/SimpleCell';\nexport type { SimpleCellProps } from './components/SimpleCell/SimpleCell';\nexport { CellButton } from './components/CellButton/CellButton';\nexport type { CellButtonProps } from './components/CellButton/CellButton';\nexport { CellButtonGroup } from './components/CellButtonGroup/CellButtonGroup';\nexport type { CellButtonGroupProps } from './components/CellButtonGroup/CellButtonGroup';\nexport { HorizontalCell } from './components/HorizontalCell/HorizontalCell';\nexport type { HorizontalCellProps } from './components/HorizontalCell/HorizontalCell';\nexport { HorizontalCellShowMore } from './components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore';\nexport type { HorizontalCellShowMoreProps } from './components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore';\nexport { Footer } from './components/Footer/Footer';\nexport type { FooterProps } from './components/Footer/Footer';\nexport { InfoRow } from './components/InfoRow/InfoRow';\nexport type { InfoRowProps } from './components/InfoRow/InfoRow';\nexport { Gallery } from './components/Gallery/Gallery';\nexport type { GalleryProps } from './components/Gallery/Gallery';\nexport { Avatar } from './components/Avatar/Avatar';\nexport type { GetInitialsFontSizeType } from './components/Avatar/helpers';\nexport type {\n AvatarProps,\n AvatarBadgeProps,\n AvatarBadgeWithPresetProps,\n AvatarOverlayProps,\n} from './components/Avatar/Avatar';\nexport { GridAvatar } from './components/GridAvatar/GridAvatar';\nexport type { GridAvatarProps, GridAvatarBadgeProps } from './components/GridAvatar/GridAvatar';\nexport { Image } from './components/Image/Image';\nexport type { ImageProps, ImageBadgeProps, ImageOverlayProps } from './components/Image/Image';\nexport { Progress } from './components/Progress/Progress';\nexport type { ProgressProps } from './components/Progress/Progress';\nexport { Search } from './components/Search/Search';\nexport type { SearchProps, RenderIconButtonFn } from './components/Search/Search';\nexport { Tabs } from './components/Tabs/Tabs';\nexport type { TabsProps } from './components/Tabs/Tabs';\nexport { TabsItem } from './components/TabsItem/TabsItem';\nexport type { TabsItemProps } from './components/TabsItem/TabsItem';\nexport { Spinner } from './components/Spinner/Spinner';\nexport type { SpinnerProps } from './components/Spinner/Spinner';\nexport { PullToRefresh } from './components/PullToRefresh/PullToRefresh';\nexport type { PullToRefreshProps } from './components/PullToRefresh/PullToRefresh';\nexport { Link } from './components/Link/Link';\nexport type { LinkProps } from './components/Link/Link';\nexport { Mark } from './components/Mark/Mark';\nexport type { MarkProps } from './components/Mark/Mark';\nexport { OnboardingTooltip } from './components/OnboardingTooltip/OnboardingTooltip';\nexport type { OnboardingTooltipProps } from './components/OnboardingTooltip/OnboardingTooltip';\nexport { OnboardingTooltipContainer } from './components/OnboardingTooltip/OnboardingTooltipContainer';\nexport { Counter } from './components/Counter/Counter';\nexport type { CounterProps } from './components/Counter/Counter';\nexport { UsersStack } from './components/UsersStack/UsersStack';\nexport type {\n UsersStackProps,\n UsersStackPhoto,\n UsersStackRenderWrapperProps,\n} from './components/UsersStack/UsersStack';\nexport { Separator } from './components/Separator/Separator';\nexport type { SeparatorProps } from './components/Separator/Separator';\nexport { Spacing } from './components/Spacing/Spacing';\nexport type { SpacingProps } from './components/Spacing/Spacing';\nexport { Placeholder } from './components/Placeholder/Placeholder';\nexport type {\n PlaceholderProps,\n PlaceholderContainerProps,\n PlaceholderIconProps,\n PlaceholderTitleProps,\n PlaceholderDescriptionProps,\n PlaceholderActionsProps,\n} from './components/Placeholder/Placeholder';\nexport { Banner } from './components/Banner/Banner';\nexport type { BannerProps } from './components/Banner/Banner';\nexport { MiniInfoCell } from './components/MiniInfoCell/MiniInfoCell';\nexport type { MiniInfoCellProps } from './components/MiniInfoCell/MiniInfoCell';\nexport { WriteBar } from './components/WriteBar/WriteBar';\nexport type { WriteBarProps } from './components/WriteBar/WriteBar';\nexport { WriteBarIcon } from './components/WriteBarIcon/WriteBarIcon';\nexport type { WriteBarIconProps } from './components/WriteBarIcon/WriteBarIcon';\nexport { SubnavigationBar } from './components/SubnavigationBar/SubnavigationBar';\nexport type { SubnavigationBarProps } from './components/SubnavigationBar/SubnavigationBar';\nexport { SubnavigationButton } from './components/SubnavigationButton/SubnavigationButton';\nexport type { SubnavigationButtonProps } from './components/SubnavigationButton/SubnavigationButton';\nexport { Pagination } from './components/Pagination/Pagination';\nexport type { PaginationProps } from './components/Pagination/Pagination';\nexport type { CustomPaginationPageButtonProps } from './components/Pagination/PaginationPage/PaginationPageButton';\nexport type { CustomPaginationNavigationButton } from './components/Pagination/PaginationNavigationButton/PaginationNavigationButton';\nexport { Accordion } from './components/Accordion/Accordion';\nexport type { AccordionProps } from './components/Accordion/Accordion';\nexport { AccordionContext, useAccordionContext } from './components/Accordion/AccordionContext';\nexport type { AccordionSummaryProps } from './components/Accordion/AccordionSummary';\nexport type { AccordionContentProps } from './components/Accordion/AccordionContent';\n\n/**\n * Forms\n */\nexport { FormItem } from './components/FormItem/FormItem';\nexport type { FormItemTopProps } from './components/FormItem/FormItemTop/FormItemTop';\nexport type { FormItemTopLabelProps } from './components/FormItem/FormItemTop/FormItemTopLabel';\nexport type { FormItemTopAsideProps } from './components/FormItem/FormItemTop/FormItemTopAside';\nexport type { FormItemProps } from './components/FormItem/FormItem';\nexport { FormField } from './components/FormField/FormField';\nexport type { FormFieldProps, FieldIconsAlign } from './components/FormField/FormField';\nexport { FormLayoutGroup } from './components/FormLayoutGroup/FormLayoutGroup';\nexport type { FormLayoutGroupProps } from './components/FormLayoutGroup/FormLayoutGroup';\nexport { FormStatus } from './components/FormStatus/FormStatus';\nexport type { FormStatusProps } from './components/FormStatus/FormStatus';\nexport { Switch } from './components/Switch/Switch';\nexport type { SwitchProps } from './components/Switch/Switch';\nexport { File } from './components/File/File';\nexport type { FileProps } from './components/File/File';\nexport { DropZone } from './components/DropZone/DropZone';\nexport type { DropZoneProps } from './components/DropZone/DropZone';\nexport { Input } from './components/Input/Input';\nexport type { InputProps } from './components/Input/Input';\nexport type { ChipProps } from './components/ChipsInputBase/Chip/Chip';\nexport { Chip } from './components/ChipsInputBase/Chip/Chip';\nexport type {\n ChipOption,\n RenderChipProps,\n ChipOptionValue,\n ChipOptionLabel,\n} from './components/ChipsInputBase/types';\nexport { ChipsInput } from './components/ChipsInput/ChipsInput';\nexport type { ChipsInputProps } from './components/ChipsInput/ChipsInput';\nexport { ChipsSelect } from './components/ChipsSelect/ChipsSelect';\nexport type { ChipsSelectProps } from './components/ChipsSelect/ChipsSelect';\nexport type { FormFieldClearButtonProps } from './components/FormFieldClearButton/FormFieldClearButton';\nexport { Slider } from './components/Slider/Slider';\nexport type { SliderBaseProps, SliderProps, SliderMultipleProps } from './components/Slider/Slider';\nexport { Textarea } from './components/Textarea/Textarea';\nexport type { TextareaProps } from './components/Textarea/Textarea';\nexport { SelectionControl } from './components/SelectionControl/SelectionControl';\nexport type { SelectionControlProps } from './components/SelectionControl/SelectionControl';\nexport { Radio } from './components/Radio/Radio';\nexport type { RadioProps } from './components/Radio/Radio';\nexport { RadioGroup } from './components/RadioGroup/RadioGroup';\nexport type { RadioGroupProps } from './components/RadioGroup/RadioGroup';\nexport { Checkbox } from './components/Checkbox/Checkbox';\nexport type { CheckboxProps } from './components/Checkbox/Checkbox';\nexport type { CheckboxInputIconType } from './components/Checkbox/CheckboxInput/CheckboxInput';\nexport { Select } from './components/Select/Select';\nexport { SelectMimicry } from './components/SelectMimicry/SelectMimicry';\nexport type { SelectMimicryProps } from './components/SelectMimicry/SelectMimicry';\nexport { NativeSelect } from './components/NativeSelect/NativeSelect';\nexport type { NativeSelectProps } from './components/NativeSelect/NativeSelect';\nexport { CustomSelect } from './components/CustomSelect/CustomSelect';\nexport type {\n SelectProps,\n CustomSelectClearButtonProps,\n} from './components/CustomSelect/CustomSelect';\nexport type {\n CustomSelectOptionInterface,\n CustomSelectRenderOption,\n} from './components/CustomSelect/types';\nexport { CustomSelectOption } from './components/CustomSelectOption/CustomSelectOption';\nexport type { CustomSelectOptionProps } from './components/CustomSelectOption/CustomSelectOption';\nexport { SegmentedControl } from './components/SegmentedControl/SegmentedControl';\nexport type {\n SegmentedControlProps,\n SegmentedControlOptionInterface,\n SegmentedControlValue,\n} from './components/SegmentedControl/SegmentedControl';\nexport { Calendar } from './components/Calendar/Calendar';\nexport type { CalendarProps } from './components/Calendar/Calendar';\nexport { CalendarRange } from './components/CalendarRange/CalendarRange';\nexport type { CalendarRangeProps } from './components/CalendarRange/CalendarRange';\nexport { DateInput } from './components/DateInput/DateInput';\nexport type { DateInputProps } from './components/DateInput/DateInput';\nexport { DateRangeInput } from './components/DateRangeInput/DateRangeInput';\nexport type { DateRangeInputProps } from './components/DateRangeInput/DateRangeInput';\nexport { Skeleton } from './components/Skeleton/Skeleton';\nexport type { SkeletonProps } from './components/Skeleton/Skeleton';\n\n/**\n * Helpers\n */\nexport { Div } from './components/Div/Div';\nexport type { DivProps } from './components/Div/Div';\nexport {\n DEFAULT_ARROW_HEIGHT as DEFAULT_ICON_ARROW_HEIGHT,\n DEFAULT_ARROW_WIDTH as DEFAULT_ICON_ARROW_WIDTH,\n DEFAULT_ARROW_PADDING as DEFAULT_ICON_ARROW_PADDING,\n DefaultIcon,\n} from './components/FloatingArrow/DefaultIcon';\nexport { FloatingArrow } from './components/FloatingArrow/FloatingArrow';\nexport type { FloatingArrowProps } from './components/FloatingArrow/FloatingArrow';\nexport { Touch } from './components/Touch/Touch';\nexport type { TouchProps, CustomTouchEvent } from './components/Touch/Touch';\nexport { PanelSpinner } from './components/PanelSpinner/PanelSpinner';\nexport type { PanelSpinnerProps } from './components/PanelSpinner/PanelSpinner';\nexport { PanelHeaderClose } from './components/PanelHeaderClose/PanelHeaderClose';\nexport type { PanelHeaderCloseProps } from './components/PanelHeaderClose/PanelHeaderClose';\nexport { PanelHeaderBack } from './components/PanelHeaderBack/PanelHeaderBack';\nexport type { PanelHeaderBackProps } from './components/PanelHeaderBack/PanelHeaderBack';\nexport { PanelHeaderSubmit } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport type { PanelHeaderSubmitProps } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport { PanelHeaderEdit } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport type { PanelHeaderEditProps } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport { ModalCardBase } from './components/ModalCardBase/ModalCardBase';\nexport type { ModalCardBaseProps } from './components/ModalCardBase/ModalCardBase';\nexport { VisuallyHidden } from './components/VisuallyHidden/VisuallyHidden';\nexport type { VisuallyHiddenProps } from './components/VisuallyHidden/VisuallyHidden';\nexport { AdaptiveIconRenderer } from './components/AdaptiveIconRenderer/AdaptiveIconRenderer';\nexport type { AdaptiveIconRendererProps } from './components/AdaptiveIconRenderer/AdaptiveIconRenderer';\n\n/**\n * Wrappers\n */\nexport { AdaptivityProvider } from './components/AdaptivityProvider/AdaptivityProvider';\nexport type { AdaptivityProviderProps } from './components/AdaptivityProvider/AdaptivityProvider';\nexport { ConfigProvider } from './components/ConfigProvider/ConfigProvider';\nexport type { ConfigProviderProps } from './components/ConfigProvider/ConfigProvider';\nexport {\n useConfigProvider,\n ConfigProviderContext,\n} from './components/ConfigProvider/ConfigProviderContext';\nexport { ColorSchemeProvider } from './components/ColorSchemeProvider/ColorSchemeProvider';\nexport type { ColorSchemeProviderProps } from './components/ColorSchemeProvider/ColorSchemeProvider';\nexport { ColorScheme } from './lib/colorScheme';\nexport type { ColorSchemeType } from './lib/colorScheme';\nexport { DOMContext } from './lib/dom';\nexport { LocaleProvider } from './components/LocaleProvider/LocaleProvider';\nexport { DirectionProvider } from './components/DirectionProvider/DirectionProvider';\nexport type { LocaleProviderProps } from './components/LocaleProvider/LocaleProvider';\nexport type { DirectionProviderProps } from './components/DirectionProvider/DirectionProvider';\nexport { PlatformProvider } from './components/PlatformProvider/PlatformProvider';\nexport type { PlatformProviderProps } from './components/PlatformProvider/PlatformProvider';\nexport { Popover } from './components/Popover/Popover';\nexport type {\n PopoverProps,\n PopoverOnShownChange,\n PopoverArrowProps,\n PopoverContentRenderProp,\n} from './components/Popover/Popover';\nexport { usePopover } from './components/Popover/usePopover';\n\n/**\n * HOCs\n */\nexport { withPlatform } from './hoc/withPlatform';\n\n/**\n * Hooks\n */\nexport { usePlatform } from './hooks/usePlatform';\nexport { useConfigDirection as useDirection } from './hooks/useConfigDirection';\nexport { useLocale } from './hooks/useLocale';\nexport { useAdaptivity } from './hooks/useAdaptivity';\nexport {\n type UseAdaptivityConditionalRender,\n useAdaptivityConditionalRender,\n} from './hooks/useAdaptivityConditionalRender';\nexport {\n type UseAdaptivityWithJSMediaQueries,\n useAdaptivityWithJSMediaQueries,\n} from './hooks/useAdaptivityWithJSMediaQueries';\nexport { useColorScheme } from './hooks/useColorScheme';\nexport { usePagination } from './hooks/usePagination';\nexport { type Orientation, useOrientationChange } from './hooks/useOrientationChange';\nexport { usePatchChildren } from './hooks/usePatchChildren';\nexport { useTodayDate } from './hooks/useTodayDate';\nexport { useScrollLock, useManualScroll as useScroll } from './components/AppRoot/ScrollContext';\nexport { useNavTransition } from './components/NavTransitionContext/NavTransitionContext';\nexport { useNavDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';\nexport { useNavId } from './components/NavIdContext/useNavId';\nexport type { TransitionDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';\nexport { useCSSKeyframesAnimationController as unstable_useCSSKeyframesAnimationController } from './lib/animation';\nexport { useFocusVisible } from './hooks/useFocusVisible';\n\n/**\n * Utils\n */\nexport { classNames } from '@vkontakte/vkjs';\nexport { animate } from './lib/animate';\nexport { defaultFilterFn as filterFnForSelect } from './lib/select';\nexport { removeObjectKeys } from './lib/removeObjectKeys';\nexport { SSRWrapper } from './lib/SSR';\nexport type { SSRWrapperProps } from './lib/SSR';\nexport { platform, Platform } from './lib/platform';\nexport {\n ViewWidth,\n ViewHeight,\n SizeType,\n getViewWidthByViewportWidth,\n getViewHeightByViewportHeight,\n} from './lib/adaptivity';\nexport {\n type Placement as FloatingPlacement,\n type PlacementWithAuto as FloatingPlacementWithAuto,\n} from './lib/floating';\nexport type { AdaptivityProps } from './components/AdaptivityProvider/AdaptivityContext';\nexport { calcInitialsAvatarColor } from './helpers/avatar';\nexport { CustomScrollView } from './components/CustomScrollView/CustomScrollView';\nexport type { CustomScrollViewProps } from './components/CustomScrollView/CustomScrollView';\nexport { Popper } from './components/Popper/Popper';\nexport type { PopperProps } from './components/Popper/Popper';\n\n/**\n * Types\n */\nexport type { AlignType, HasPlatform, HasRef, HasRootRef } from './types';\nexport type { NavIdProps } from './lib/getNavId';\nexport type { PlatformType } from './lib/platform';\nexport type { TransitionContextProps } from './components/NavTransitionContext/NavTransitionContext';\n\n/**\n * Unstable\n */\nexport { ViewInfinite as unstable_ViewInfinite } from './components/View/ViewInfinite';\nexport type { ViewInfiniteProps as unstable_ViewInfiniteProps } from './components/View/ViewInfinite';\nexport { ModalPageFooter as unstable_ModalPageFooter } from './components/ModalPageFooter/ModalPageFooter';\nexport type { ModalPageFooterProps as unstable_ModalPageFooterProps } from './components/ModalPageFooter/ModalPageFooter';\n\nimport './styles/common.css';\n"],"names":["AppRoot","AppRootPortal","DisplayTitle","Title","Headline","Text","Paragraph","Subhead","Footnote","Caption","EllipsisText","UnstyledTextField","Tappable","FixedLayout","ImageBaseContext","ImageBase","getBadgeIconSizeByImageBaseSize","getFallbackIconSizeByImageBaseSize","getOverlayIconSizeByImageBaseSize","Button","IconButton","ToolButton","Root","View","Panel","PanelHeaderButton","PanelHeader","PanelHeaderContent","PanelHeaderContext","SplitLayout","SplitCol","Epic","Tabbar","TabbarItem","ScrollArrow","HorizontalScroll","AspectRatio","Flex","SimpleGrid","PopoutWrapper","Alert","ActionSheet","ActionSheetItem","ActionSheetDefaultIosCloseItem","ScreenSpinner","ScreenSpinnerContext","Snackbar","Tooltip","useTooltip","ModalRoot","withModalRootContext","ModalRootContext","useModalRootContext","ModalPageContent","ModalPage","ModalPageHeader","ModalCard","ModalDismissButton","ModalOutsideButton","Badge","ContentBadge","ButtonGroup","Card","CardGrid","CardScroll","ContentCard","Header","Group","Gradient","List","Cell","RichCell","SimpleCell","CellButton","CellButtonGroup","HorizontalCell","HorizontalCellShowMore","Footer","InfoRow","Gallery","Avatar","GridAvatar","Image","Progress","Search","Tabs","TabsItem","Spinner","PullToRefresh","Link","Mark","OnboardingTooltip","OnboardingTooltipContainer","Counter","UsersStack","Separator","Spacing","Placeholder","Banner","MiniInfoCell","WriteBar","WriteBarIcon","SubnavigationBar","SubnavigationButton","Pagination","Accordion","AccordionContext","useAccordionContext","FormItem","FormField","FormLayoutGroup","FormStatus","Switch","File","DropZone","Input","Chip","ChipsInput","ChipsSelect","Slider","Textarea","SelectionControl","Radio","RadioGroup","Checkbox","Select","SelectMimicry","NativeSelect","CustomSelect","CustomSelectOption","SegmentedControl","Calendar","CalendarRange","DateInput","DateRangeInput","Skeleton","Div","DEFAULT_ARROW_HEIGHT","DEFAULT_ICON_ARROW_HEIGHT","DEFAULT_ARROW_WIDTH","DEFAULT_ICON_ARROW_WIDTH","DEFAULT_ARROW_PADDING","DEFAULT_ICON_ARROW_PADDING","DefaultIcon","FloatingArrow","Touch","PanelSpinner","PanelHeaderClose","PanelHeaderBack","PanelHeaderSubmit","PanelHeaderEdit","ModalCardBase","VisuallyHidden","AdaptiveIconRenderer","AdaptivityProvider","ConfigProvider","useConfigProvider","ConfigProviderContext","ColorSchemeProvider","ColorScheme","DOMContext","LocaleProvider","DirectionProvider","PlatformProvider","Popover","usePopover","withPlatform","usePlatform","useConfigDirection","useDirection","useLocale","useAdaptivity","useAdaptivityConditionalRender","useAdaptivityWithJSMediaQueries","useColorScheme","usePagination","useOrientationChange","usePatchChildren","useTodayDate","useScrollLock","useManualScroll","useScroll","useNavTransition","useNavDirection","useNavId","useCSSKeyframesAnimationController","unstable_useCSSKeyframesAnimationController","useFocusVisible","classNames","animate","defaultFilterFn","filterFnForSelect","removeObjectKeys","SSRWrapper","platform","Platform","ViewWidth","ViewHeight","SizeType","getViewWidthByViewportWidth","getViewHeightByViewportHeight","calcInitialsAvatarColor","CustomScrollView","Popper","ViewInfinite","unstable_ViewInfinite","ModalPageFooter","unstable_ModalPageFooter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import './styles/constants.css';\nimport './styles/adaptivity.module.css';\nimport './styles/dynamicTokens.css';\nimport './styles/focusVisible.module.css';\nimport './styles/animationFades.module.css';\nimport './styles/transformOriginByPlacement.module.css';\nimport './styles/gaps.module.css';\nimport './styles/layout.css';\n\nexport { AppRoot } from './components/AppRoot/AppRoot';\nexport { AppRootPortal } from './components/AppRoot/AppRootPortal';\nexport type { AppRootProps } from './components/AppRoot/AppRoot';\nexport type { SafeAreaInsets } from './components/AppRoot/types';\n\n/**\n * Typography\n */\nexport type { TypographyProps } from './components/Typography/Typography';\nexport { DisplayTitle } from './components/Typography/DisplayTitle/DisplayTitle';\nexport type { DisplayTitleProps } from './components/Typography/DisplayTitle/DisplayTitle';\nexport { Title } from './components/Typography/Title/Title';\nexport type { TitleProps } from './components/Typography/Title/Title';\nexport { Headline } from './components/Typography/Headline/Headline';\nexport type { HeadlineProps } from './components/Typography/Headline/Headline';\nexport { Text } from './components/Typography/Text/Text';\nexport type { TextProps } from './components/Typography/Text/Text';\nexport { Paragraph } from './components/Typography/Paragraph/Paragraph';\nexport type { ParagraphProps } from './components/Typography/Paragraph/Paragraph';\nexport { Subhead } from './components/Typography/Subhead/Subhead';\nexport type { SubheadProps } from './components/Typography/Subhead/Subhead';\nexport { Footnote } from './components/Typography/Footnote/Footnote';\nexport type { FootnoteProps } from './components/Typography/Footnote/Footnote';\nexport { Caption } from './components/Typography/Caption/Caption';\nexport type { CaptionProps } from './components/Typography/Caption/Caption';\nexport { EllipsisText } from './components/Typography/EllipsisText/EllipsisText';\nexport type { EllipsisTextProps } from './components/Typography/EllipsisText/EllipsisText';\n/**\n * Service\n */\nexport { UnstyledTextField } from './components/UnstyledTextField/UnstyledTextField';\nexport type {\n UnstyledTextFieldAsInputProps,\n UnstyledTextFieldAsTextareaProps,\n UnstyledTextFieldBaseProps,\n UnstyledTextFieldProps,\n} from './components/UnstyledTextField/UnstyledTextField';\nexport { Tappable } from './components/Tappable/Tappable';\nexport type { TappableProps } from './components/Tappable/Tappable';\nexport { FixedLayout } from './components/FixedLayout/FixedLayout';\nexport type { FixedLayoutProps } from './components/FixedLayout/FixedLayout';\nexport {\n ImageBaseContext,\n ImageBase,\n getBadgeIconSizeByImageBaseSize,\n getFallbackIconSizeByImageBaseSize,\n getOverlayIconSizeByImageBaseSize,\n} from './components/ImageBase/ImageBase';\nexport type {\n ImageBaseProps,\n ImageBaseSize,\n ImageBaseExpectedIconProps,\n ImageBaseBadgeProps,\n ImageBaseOverlayProps,\n ImageBaseFloatElementProps,\n FloatElementPlacement,\n FloatElementIndentation,\n} from './components/ImageBase/ImageBase';\n\n/**\n * Primitives\n */\nexport { Button } from './components/Button/Button';\nexport type { ButtonProps } from './components/Button/Button';\nexport { IconButton } from './components/IconButton/IconButton';\nexport type { IconButtonProps } from './components/IconButton/IconButton';\nexport { ToolButton } from './components/ToolButton/ToolButton';\nexport type { ToolButtonProps } from './components/ToolButton/ToolButton';\n\n/**\n * Layout\n */\nexport { Root } from './components/Root/Root';\nexport type { RootProps } from './components/Root/Root';\nexport { View } from './components/View/View';\nexport type { ViewProps } from './components/View/View';\nexport { Panel } from './components/Panel/Panel';\nexport type { PanelProps } from './components/Panel/Panel';\nexport { PanelHeaderButton } from './components/PanelHeaderButton/PanelHeaderButton';\nexport type { PanelHeaderButtonProps } from './components/PanelHeaderButton/PanelHeaderButton';\nexport { PanelHeader } from './components/PanelHeader/PanelHeader';\nexport type { PanelHeaderProps } from './components/PanelHeader/PanelHeader';\nexport { PanelHeaderContent } from './components/PanelHeaderContent/PanelHeaderContent';\nexport type { PanelHeaderContentProps } from './components/PanelHeaderContent/PanelHeaderContent';\nexport { PanelHeaderContext } from './components/PanelHeaderContext/PanelHeaderContext';\nexport type { PanelHeaderContextProps } from './components/PanelHeaderContext/PanelHeaderContext';\nexport { SplitLayout } from './components/SplitLayout/SplitLayout';\nexport type { SplitLayoutProps } from './components/SplitLayout/SplitLayout';\nexport { SplitCol } from './components/SplitCol/SplitCol';\nexport type { SplitColProps } from './components/SplitCol/SplitCol';\nexport { Epic } from './components/Epic/Epic';\nexport type { EpicProps } from './components/Epic/Epic';\nexport { Tabbar } from './components/Tabbar/Tabbar';\nexport type { TabbarProps } from './components/Tabbar/Tabbar';\nexport { TabbarItem } from './components/TabbarItem/TabbarItem';\nexport type { TabbarItemProps } from './components/TabbarItem/TabbarItem';\nexport { ScrollArrow } from './components/ScrollArrow/ScrollArrow';\nexport type { ScrollArrowProps } from './components/ScrollArrow/ScrollArrow';\nexport { HorizontalScroll } from './components/HorizontalScroll/HorizontalScroll';\nexport type { HorizontalScrollProps } from './components/HorizontalScroll/HorizontalScroll';\nexport { AspectRatio } from './components/AspectRatio/AspectRatio';\nexport type { AspectRatioProps } from './components/AspectRatio/AspectRatio';\nexport { Flex } from './components/Flex/Flex';\nexport type { FlexProps } from './components/Flex/Flex';\nexport type { FlexItemProps } from './components/Flex/FlexItem/FlexItem';\nexport { SimpleGrid } from './components/SimpleGrid/SimpleGrid';\nexport type { SimpleGridProps } from './components/SimpleGrid/SimpleGrid';\n\n/**\n * Popouts\n */\nexport { PopoutWrapper } from './components/PopoutWrapper/PopoutWrapper';\nexport type { PopoutWrapperProps } from './components/PopoutWrapper/PopoutWrapper';\nexport { Alert } from './components/Alert/Alert';\nexport type { AlertProps, AlertActionProps, AlertActionInterface } from './components/Alert/Alert';\nexport { ActionSheet } from './components/ActionSheet/ActionSheet';\nexport type {\n ActionSheetProps,\n ActionSheetOnCloseOptions,\n} from './components/ActionSheet/ActionSheet';\nexport { ActionSheetItem } from './components/ActionSheetItem/ActionSheetItem';\nexport type { ActionSheetItemProps } from './components/ActionSheetItem/ActionSheetItem';\nexport { ActionSheetDefaultIosCloseItem } from './components/ActionSheet/ActionSheetDefaultIosCloseItem';\nexport { ScreenSpinner } from './components/ScreenSpinner/ScreenSpinner';\nexport { ScreenSpinnerContext } from './components/ScreenSpinner/context';\nexport type { ScreenSpinnerProps } from './components/ScreenSpinner/ScreenSpinner';\nexport type { ScreenSpinnerContextProps } from './components/ScreenSpinner/context';\nexport { Snackbar } from './components/Snackbar/Snackbar';\nexport type { SnackbarProps } from './components/Snackbar/Snackbar';\nexport { Tooltip } from './components/Tooltip/Tooltip';\nexport { useTooltip } from './components/Tooltip/useTooltip';\nexport type {\n TooltipProps,\n TooltipOnShownChange,\n TooltipArrowProps,\n} from './components/Tooltip/Tooltip';\n\n/**\n * Modals\n */\nexport { ModalRoot } from './components/ModalRoot/ModalRoot';\nexport type {\n ModalRootProps,\n ModalRootContextInterface,\n UseModalRootContext,\n} from './components/ModalRoot/types';\nexport { withModalRootContext } from './components/ModalRoot/withModalRootContext';\nexport { ModalRootContext } from './components/ModalRoot/ModalRootContext';\nexport { useModalRootContext } from './components/ModalRoot/useModalRootContext';\nexport { ModalPageContent } from './components/ModalPageContent/ModalPageContent';\nexport { ModalPage } from './components/ModalPage/ModalPage';\nexport type { ModalPageProps, ModalPageCloseReason } from './components/ModalPage/types';\nexport { ModalPageHeader } from './components/ModalPageHeader/ModalPageHeader';\nexport type { ModalPageHeaderProps } from './components/ModalPageHeader/ModalPageHeader';\nexport { ModalCard } from './components/ModalCard/ModalCard';\nexport type { ModalCardProps, ModalCardCloseReason } from './components/ModalCard/types';\nexport { ModalDismissButton } from './components/ModalDismissButton/ModalDismissButton';\nexport type { ModalDismissButtonProps } from './components/ModalDismissButton/ModalDismissButton';\nexport { ModalOutsideButton } from './components/ModalOutsideButton/ModalOutsideButton';\nexport type { ModalOutsideButtonProps } from './components/ModalOutsideButton/ModalOutsideButton';\n\n/**\n * Blocks\n */\nexport { Badge } from './components/Badge/Badge';\nexport type { BadgeProps } from './components/Badge/Badge';\nexport { ContentBadge } from './components/ContentBadge/ContentBadge';\nexport type { ContentBadgeProps } from './components/ContentBadge/ContentBadge';\nexport { ButtonGroup } from './components/ButtonGroup/ButtonGroup';\nexport type { ButtonGroupProps } from './components/ButtonGroup/ButtonGroup';\nexport { Card } from './components/Card/Card';\nexport type { CardProps } from './components/Card/Card';\nexport { CardGrid } from './components/CardGrid/CardGrid';\nexport type { CardGridProps } from './components/CardGrid/CardGrid';\nexport { CardScroll } from './components/CardScroll/CardScroll';\nexport type { CardScrollProps } from './components/CardScroll/CardScroll';\nexport { ContentCard } from './components/ContentCard/ContentCard';\nexport type { ContentCardProps } from './components/ContentCard/ContentCard';\nexport { Header } from './components/Header/Header';\nexport type { HeaderProps } from './components/Header/Header';\nexport { Group } from './components/Group/Group';\nexport type { GroupProps } from './components/Group/Group';\nexport { Gradient } from './components/Gradient/Gradient';\nexport type { GradientProps } from './components/Gradient/Gradient';\nexport { List } from './components/List/List';\nexport type { ListProps } from './components/List/List';\nexport { Cell } from './components/Cell/Cell';\nexport type { CellProps } from './components/Cell/Cell';\nexport type { CellCheckboxProps } from './components/Cell/CellCheckbox/CellCheckbox';\nexport { RichCell } from './components/RichCell/RichCell';\nexport type { RichCellProps } from './components/RichCell/RichCell';\nexport { SimpleCell } from './components/SimpleCell/SimpleCell';\nexport type { SimpleCellProps } from './components/SimpleCell/SimpleCell';\nexport { CellButton } from './components/CellButton/CellButton';\nexport type { CellButtonProps } from './components/CellButton/CellButton';\nexport { CellButtonGroup } from './components/CellButtonGroup/CellButtonGroup';\nexport type { CellButtonGroupProps } from './components/CellButtonGroup/CellButtonGroup';\nexport { HorizontalCell } from './components/HorizontalCell/HorizontalCell';\nexport type { HorizontalCellProps } from './components/HorizontalCell/HorizontalCell';\nexport { HorizontalCellShowMore } from './components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore';\nexport type { HorizontalCellShowMoreProps } from './components/HorizontalScroll/HorizontalCellShowMore/HorizontalCellShowMore';\nexport { Footer } from './components/Footer/Footer';\nexport type { FooterProps } from './components/Footer/Footer';\nexport { InfoRow } from './components/InfoRow/InfoRow';\nexport type { InfoRowProps } from './components/InfoRow/InfoRow';\nexport { Gallery } from './components/Gallery/Gallery';\nexport type { GalleryProps } from './components/Gallery/Gallery';\nexport { Avatar } from './components/Avatar/Avatar';\nexport type { GetInitialsFontSizeType } from './components/Avatar/helpers';\nexport type {\n AvatarProps,\n AvatarBadgeProps,\n AvatarBadgeWithPresetProps,\n AvatarOverlayProps,\n} from './components/Avatar/Avatar';\nexport { GridAvatar } from './components/GridAvatar/GridAvatar';\nexport type { GridAvatarProps, GridAvatarBadgeProps } from './components/GridAvatar/GridAvatar';\nexport { Image } from './components/Image/Image';\nexport type { ImageProps, ImageBadgeProps, ImageOverlayProps } from './components/Image/Image';\nexport { Progress } from './components/Progress/Progress';\nexport type { ProgressProps } from './components/Progress/Progress';\nexport { Search } from './components/Search/Search';\nexport type { SearchProps, RenderIconButtonFn } from './components/Search/Search';\nexport { Tabs } from './components/Tabs/Tabs';\nexport type { TabsProps } from './components/Tabs/Tabs';\nexport { TabsItem } from './components/TabsItem/TabsItem';\nexport type { TabsItemProps } from './components/TabsItem/TabsItem';\nexport { Spinner } from './components/Spinner/Spinner';\nexport type { SpinnerProps } from './components/Spinner/Spinner';\nexport { PullToRefresh } from './components/PullToRefresh/PullToRefresh';\nexport type { PullToRefreshProps } from './components/PullToRefresh/PullToRefresh';\nexport { Link } from './components/Link/Link';\nexport type { LinkProps } from './components/Link/Link';\nexport { Mark } from './components/Mark/Mark';\nexport type { MarkProps } from './components/Mark/Mark';\nexport { OnboardingTooltip } from './components/OnboardingTooltip/OnboardingTooltip';\nexport type { OnboardingTooltipProps } from './components/OnboardingTooltip/OnboardingTooltip';\nexport { OnboardingTooltipContainer } from './components/OnboardingTooltip/OnboardingTooltipContainer';\nexport { Counter } from './components/Counter/Counter';\nexport type { CounterProps } from './components/Counter/Counter';\nexport { UsersStack } from './components/UsersStack/UsersStack';\nexport type {\n UsersStackProps,\n UsersStackPhoto,\n UsersStackRenderWrapperProps,\n} from './components/UsersStack/UsersStack';\nexport { Separator } from './components/Separator/Separator';\nexport type { SeparatorProps } from './components/Separator/Separator';\nexport { Spacing } from './components/Spacing/Spacing';\nexport type { SpacingProps } from './components/Spacing/Spacing';\nexport { Box } from './components/Box/Box';\nexport type { BoxProps } from './components/Box/Box';\nexport { Placeholder } from './components/Placeholder/Placeholder';\nexport type {\n PlaceholderProps,\n PlaceholderContainerProps,\n PlaceholderIconProps,\n PlaceholderTitleProps,\n PlaceholderDescriptionProps,\n PlaceholderActionsProps,\n} from './components/Placeholder/Placeholder';\nexport { Banner } from './components/Banner/Banner';\nexport type { BannerProps } from './components/Banner/Banner';\nexport { MiniInfoCell } from './components/MiniInfoCell/MiniInfoCell';\nexport type { MiniInfoCellProps } from './components/MiniInfoCell/MiniInfoCell';\nexport { WriteBar } from './components/WriteBar/WriteBar';\nexport type { WriteBarProps } from './components/WriteBar/WriteBar';\nexport { WriteBarIcon } from './components/WriteBarIcon/WriteBarIcon';\nexport type { WriteBarIconProps } from './components/WriteBarIcon/WriteBarIcon';\nexport { SubnavigationBar } from './components/SubnavigationBar/SubnavigationBar';\nexport type { SubnavigationBarProps } from './components/SubnavigationBar/SubnavigationBar';\nexport { SubnavigationButton } from './components/SubnavigationButton/SubnavigationButton';\nexport type { SubnavigationButtonProps } from './components/SubnavigationButton/SubnavigationButton';\nexport { Pagination } from './components/Pagination/Pagination';\nexport type { PaginationProps } from './components/Pagination/Pagination';\nexport type { CustomPaginationPageButtonProps } from './components/Pagination/PaginationPage/PaginationPageButton';\nexport type { CustomPaginationNavigationButton } from './components/Pagination/PaginationNavigationButton/PaginationNavigationButton';\nexport { Accordion } from './components/Accordion/Accordion';\nexport type { AccordionProps } from './components/Accordion/Accordion';\nexport { AccordionContext, useAccordionContext } from './components/Accordion/AccordionContext';\nexport type { AccordionSummaryProps } from './components/Accordion/AccordionSummary';\nexport type { AccordionContentProps } from './components/Accordion/AccordionContent';\n\n/**\n * Forms\n */\nexport { FormItem } from './components/FormItem/FormItem';\nexport type { FormItemTopProps } from './components/FormItem/FormItemTop/FormItemTop';\nexport type { FormItemTopLabelProps } from './components/FormItem/FormItemTop/FormItemTopLabel';\nexport type { FormItemTopAsideProps } from './components/FormItem/FormItemTop/FormItemTopAside';\nexport type { FormItemProps } from './components/FormItem/FormItem';\nexport { FormField } from './components/FormField/FormField';\nexport type { FormFieldProps, FieldIconsAlign } from './components/FormField/FormField';\nexport { FormLayoutGroup } from './components/FormLayoutGroup/FormLayoutGroup';\nexport type { FormLayoutGroupProps } from './components/FormLayoutGroup/FormLayoutGroup';\nexport { FormStatus } from './components/FormStatus/FormStatus';\nexport type { FormStatusProps } from './components/FormStatus/FormStatus';\nexport { Switch } from './components/Switch/Switch';\nexport type { SwitchProps } from './components/Switch/Switch';\nexport { File } from './components/File/File';\nexport type { FileProps } from './components/File/File';\nexport { DropZone } from './components/DropZone/DropZone';\nexport type { DropZoneProps } from './components/DropZone/DropZone';\nexport { Input } from './components/Input/Input';\nexport type { InputProps } from './components/Input/Input';\nexport type { ChipProps } from './components/ChipsInputBase/Chip/Chip';\nexport { Chip } from './components/ChipsInputBase/Chip/Chip';\nexport type {\n ChipOption,\n RenderChipProps,\n ChipOptionValue,\n ChipOptionLabel,\n} from './components/ChipsInputBase/types';\nexport { ChipsInput } from './components/ChipsInput/ChipsInput';\nexport type { ChipsInputProps } from './components/ChipsInput/ChipsInput';\nexport { ChipsSelect } from './components/ChipsSelect/ChipsSelect';\nexport type { ChipsSelectProps } from './components/ChipsSelect/ChipsSelect';\nexport type { FormFieldClearButtonProps } from './components/FormFieldClearButton/FormFieldClearButton';\nexport { Slider } from './components/Slider/Slider';\nexport type { SliderBaseProps, SliderProps, SliderMultipleProps } from './components/Slider/Slider';\nexport { Textarea } from './components/Textarea/Textarea';\nexport type { TextareaProps } from './components/Textarea/Textarea';\nexport { SelectionControl } from './components/SelectionControl/SelectionControl';\nexport type { SelectionControlProps } from './components/SelectionControl/SelectionControl';\nexport { Radio } from './components/Radio/Radio';\nexport type { RadioProps } from './components/Radio/Radio';\nexport { RadioGroup } from './components/RadioGroup/RadioGroup';\nexport type { RadioGroupProps } from './components/RadioGroup/RadioGroup';\nexport { Checkbox } from './components/Checkbox/Checkbox';\nexport type { CheckboxProps } from './components/Checkbox/Checkbox';\nexport type { CheckboxInputIconType } from './components/Checkbox/CheckboxInput/CheckboxInput';\nexport { Select } from './components/Select/Select';\nexport { SelectMimicry } from './components/SelectMimicry/SelectMimicry';\nexport type { SelectMimicryProps } from './components/SelectMimicry/SelectMimicry';\nexport { NativeSelect } from './components/NativeSelect/NativeSelect';\nexport type { NativeSelectProps } from './components/NativeSelect/NativeSelect';\nexport { CustomSelect } from './components/CustomSelect/CustomSelect';\nexport type {\n SelectProps,\n CustomSelectClearButtonProps,\n} from './components/CustomSelect/CustomSelect';\nexport type {\n CustomSelectOptionInterface,\n CustomSelectRenderOption,\n} from './components/CustomSelect/types';\nexport { CustomSelectOption } from './components/CustomSelectOption/CustomSelectOption';\nexport type { CustomSelectOptionProps } from './components/CustomSelectOption/CustomSelectOption';\nexport { SegmentedControl } from './components/SegmentedControl/SegmentedControl';\nexport type {\n SegmentedControlProps,\n SegmentedControlOptionInterface,\n SegmentedControlValue,\n} from './components/SegmentedControl/SegmentedControl';\nexport { Calendar } from './components/Calendar/Calendar';\nexport type { CalendarProps } from './components/Calendar/Calendar';\nexport { CalendarRange } from './components/CalendarRange/CalendarRange';\nexport type { CalendarRangeProps } from './components/CalendarRange/CalendarRange';\nexport { DateInput } from './components/DateInput/DateInput';\nexport type { DateInputProps } from './components/DateInput/DateInput';\nexport { DateRangeInput } from './components/DateRangeInput/DateRangeInput';\nexport type { DateRangeInputProps } from './components/DateRangeInput/DateRangeInput';\nexport { Skeleton } from './components/Skeleton/Skeleton';\nexport type { SkeletonProps } from './components/Skeleton/Skeleton';\n\n/**\n * Helpers\n */\nexport { Div } from './components/Div/Div';\nexport type { DivProps } from './components/Div/Div';\nexport {\n DEFAULT_ARROW_HEIGHT as DEFAULT_ICON_ARROW_HEIGHT,\n DEFAULT_ARROW_WIDTH as DEFAULT_ICON_ARROW_WIDTH,\n DEFAULT_ARROW_PADDING as DEFAULT_ICON_ARROW_PADDING,\n DefaultIcon,\n} from './components/FloatingArrow/DefaultIcon';\nexport { FloatingArrow } from './components/FloatingArrow/FloatingArrow';\nexport type { FloatingArrowProps } from './components/FloatingArrow/FloatingArrow';\nexport { Touch } from './components/Touch/Touch';\nexport type { TouchProps, CustomTouchEvent } from './components/Touch/Touch';\nexport { PanelSpinner } from './components/PanelSpinner/PanelSpinner';\nexport type { PanelSpinnerProps } from './components/PanelSpinner/PanelSpinner';\nexport { PanelHeaderClose } from './components/PanelHeaderClose/PanelHeaderClose';\nexport type { PanelHeaderCloseProps } from './components/PanelHeaderClose/PanelHeaderClose';\nexport { PanelHeaderBack } from './components/PanelHeaderBack/PanelHeaderBack';\nexport type { PanelHeaderBackProps } from './components/PanelHeaderBack/PanelHeaderBack';\nexport { PanelHeaderSubmit } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport type { PanelHeaderSubmitProps } from './components/PanelHeaderSubmit/PanelHeaderSubmit';\nexport { PanelHeaderEdit } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport type { PanelHeaderEditProps } from './components/PanelHeaderEdit/PanelHeaderEdit';\nexport { ModalCardBase } from './components/ModalCardBase/ModalCardBase';\nexport type { ModalCardBaseProps } from './components/ModalCardBase/ModalCardBase';\nexport { VisuallyHidden } from './components/VisuallyHidden/VisuallyHidden';\nexport type { VisuallyHiddenProps } from './components/VisuallyHidden/VisuallyHidden';\nexport { AdaptiveIconRenderer } from './components/AdaptiveIconRenderer/AdaptiveIconRenderer';\nexport type { AdaptiveIconRendererProps } from './components/AdaptiveIconRenderer/AdaptiveIconRenderer';\n\n/**\n * Wrappers\n */\nexport { AdaptivityProvider } from './components/AdaptivityProvider/AdaptivityProvider';\nexport type { AdaptivityProviderProps } from './components/AdaptivityProvider/AdaptivityProvider';\nexport { ConfigProvider } from './components/ConfigProvider/ConfigProvider';\nexport type { ConfigProviderProps } from './components/ConfigProvider/ConfigProvider';\nexport {\n useConfigProvider,\n ConfigProviderContext,\n} from './components/ConfigProvider/ConfigProviderContext';\nexport { ColorSchemeProvider } from './components/ColorSchemeProvider/ColorSchemeProvider';\nexport type { ColorSchemeProviderProps } from './components/ColorSchemeProvider/ColorSchemeProvider';\nexport { ColorScheme } from './lib/colorScheme';\nexport type { ColorSchemeType } from './lib/colorScheme';\nexport { DOMContext } from './lib/dom';\nexport { LocaleProvider } from './components/LocaleProvider/LocaleProvider';\nexport { DirectionProvider } from './components/DirectionProvider/DirectionProvider';\nexport type { LocaleProviderProps } from './components/LocaleProvider/LocaleProvider';\nexport type { DirectionProviderProps } from './components/DirectionProvider/DirectionProvider';\nexport { PlatformProvider } from './components/PlatformProvider/PlatformProvider';\nexport type { PlatformProviderProps } from './components/PlatformProvider/PlatformProvider';\nexport { Popover } from './components/Popover/Popover';\nexport type {\n PopoverProps,\n PopoverOnShownChange,\n PopoverArrowProps,\n PopoverContentRenderProp,\n} from './components/Popover/Popover';\nexport { usePopover } from './components/Popover/usePopover';\n\n/**\n * HOCs\n */\nexport { withPlatform } from './hoc/withPlatform';\n\n/**\n * Hooks\n */\nexport { usePlatform } from './hooks/usePlatform';\nexport { useConfigDirection as useDirection } from './hooks/useConfigDirection';\nexport { useLocale } from './hooks/useLocale';\nexport { useAdaptivity } from './hooks/useAdaptivity';\nexport {\n type UseAdaptivityConditionalRender,\n useAdaptivityConditionalRender,\n} from './hooks/useAdaptivityConditionalRender';\nexport {\n type UseAdaptivityWithJSMediaQueries,\n useAdaptivityWithJSMediaQueries,\n} from './hooks/useAdaptivityWithJSMediaQueries';\nexport { useColorScheme } from './hooks/useColorScheme';\nexport { usePagination } from './hooks/usePagination';\nexport { type Orientation, useOrientationChange } from './hooks/useOrientationChange';\nexport { usePatchChildren } from './hooks/usePatchChildren';\nexport { useTodayDate } from './hooks/useTodayDate';\nexport { useScrollLock, useManualScroll as useScroll } from './components/AppRoot/ScrollContext';\nexport { useNavTransition } from './components/NavTransitionContext/NavTransitionContext';\nexport { useNavDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';\nexport { useNavId } from './components/NavIdContext/useNavId';\nexport type { TransitionDirection } from './components/NavTransitionDirectionContext/NavTransitionDirectionContext';\nexport { useCSSKeyframesAnimationController as unstable_useCSSKeyframesAnimationController } from './lib/animation';\nexport { useFocusVisible } from './hooks/useFocusVisible';\n\n/**\n * Utils\n */\nexport { classNames } from '@vkontakte/vkjs';\nexport { animate } from './lib/animate';\nexport { defaultFilterFn as filterFnForSelect } from './lib/select';\nexport { removeObjectKeys } from './lib/removeObjectKeys';\nexport { SSRWrapper } from './lib/SSR';\nexport type { SSRWrapperProps } from './lib/SSR';\nexport { platform, Platform } from './lib/platform';\nexport {\n ViewWidth,\n ViewHeight,\n SizeType,\n getViewWidthByViewportWidth,\n getViewHeightByViewportHeight,\n} from './lib/adaptivity';\nexport {\n type Placement as FloatingPlacement,\n type PlacementWithAuto as FloatingPlacementWithAuto,\n} from './lib/floating';\nexport type { AdaptivityProps } from './components/AdaptivityProvider/AdaptivityContext';\nexport { calcInitialsAvatarColor } from './helpers/avatar';\nexport { CustomScrollView } from './components/CustomScrollView/CustomScrollView';\nexport type { CustomScrollViewProps } from './components/CustomScrollView/CustomScrollView';\nexport { Popper } from './components/Popper/Popper';\nexport type { PopperProps } from './components/Popper/Popper';\n\n/**\n * Types\n */\nexport type { AlignType, HasPlatform, HasRef, HasRootRef } from './types';\nexport type { NavIdProps } from './lib/getNavId';\nexport type { PlatformType } from './lib/platform';\nexport type { TransitionContextProps } from './components/NavTransitionContext/NavTransitionContext';\n\n/**\n * Unstable\n */\nexport { ViewInfinite as unstable_ViewInfinite } from './components/View/ViewInfinite';\nexport type { ViewInfiniteProps as unstable_ViewInfiniteProps } from './components/View/ViewInfinite';\nexport { ModalPageFooter as unstable_ModalPageFooter } from './components/ModalPageFooter/ModalPageFooter';\nexport type { ModalPageFooterProps as unstable_ModalPageFooterProps } from './components/ModalPageFooter/ModalPageFooter';\n\nimport './styles/common.css';\n"],"names":["AppRoot","AppRootPortal","DisplayTitle","Title","Headline","Text","Paragraph","Subhead","Footnote","Caption","EllipsisText","UnstyledTextField","Tappable","FixedLayout","ImageBaseContext","ImageBase","getBadgeIconSizeByImageBaseSize","getFallbackIconSizeByImageBaseSize","getOverlayIconSizeByImageBaseSize","Button","IconButton","ToolButton","Root","View","Panel","PanelHeaderButton","PanelHeader","PanelHeaderContent","PanelHeaderContext","SplitLayout","SplitCol","Epic","Tabbar","TabbarItem","ScrollArrow","HorizontalScroll","AspectRatio","Flex","SimpleGrid","PopoutWrapper","Alert","ActionSheet","ActionSheetItem","ActionSheetDefaultIosCloseItem","ScreenSpinner","ScreenSpinnerContext","Snackbar","Tooltip","useTooltip","ModalRoot","withModalRootContext","ModalRootContext","useModalRootContext","ModalPageContent","ModalPage","ModalPageHeader","ModalCard","ModalDismissButton","ModalOutsideButton","Badge","ContentBadge","ButtonGroup","Card","CardGrid","CardScroll","ContentCard","Header","Group","Gradient","List","Cell","RichCell","SimpleCell","CellButton","CellButtonGroup","HorizontalCell","HorizontalCellShowMore","Footer","InfoRow","Gallery","Avatar","GridAvatar","Image","Progress","Search","Tabs","TabsItem","Spinner","PullToRefresh","Link","Mark","OnboardingTooltip","OnboardingTooltipContainer","Counter","UsersStack","Separator","Spacing","Box","Placeholder","Banner","MiniInfoCell","WriteBar","WriteBarIcon","SubnavigationBar","SubnavigationButton","Pagination","Accordion","AccordionContext","useAccordionContext","FormItem","FormField","FormLayoutGroup","FormStatus","Switch","File","DropZone","Input","Chip","ChipsInput","ChipsSelect","Slider","Textarea","SelectionControl","Radio","RadioGroup","Checkbox","Select","SelectMimicry","NativeSelect","CustomSelect","CustomSelectOption","SegmentedControl","Calendar","CalendarRange","DateInput","DateRangeInput","Skeleton","Div","DEFAULT_ARROW_HEIGHT","DEFAULT_ICON_ARROW_HEIGHT","DEFAULT_ARROW_WIDTH","DEFAULT_ICON_ARROW_WIDTH","DEFAULT_ARROW_PADDING","DEFAULT_ICON_ARROW_PADDING","DefaultIcon","FloatingArrow","Touch","PanelSpinner","PanelHeaderClose","PanelHeaderBack","PanelHeaderSubmit","PanelHeaderEdit","ModalCardBase","VisuallyHidden","AdaptiveIconRenderer","AdaptivityProvider","ConfigProvider","useConfigProvider","ConfigProviderContext","ColorSchemeProvider","ColorScheme","DOMContext","LocaleProvider","DirectionProvider","PlatformProvider","Popover","usePopover","withPlatform","usePlatform","useConfigDirection","useDirection","useLocale","useAdaptivity","useAdaptivityConditionalRender","useAdaptivityWithJSMediaQueries","useColorScheme","usePagination","useOrientationChange","usePatchChildren","useTodayDate","useScrollLock","useManualScroll","useScroll","useNavTransition","useNavDirection","useNavId","useCSSKeyframesAnimationController","unstable_useCSSKeyframesAnimationController","useFocusVisible","classNames","animate","defaultFilterFn","filterFnForSelect","removeObjectKeys","SSRWrapper","platform","Platform","ViewWidth","ViewHeight","SizeType","getViewWidthByViewportWidth","getViewHeightByViewportHeight","calcInitialsAvatarColor","CustomScrollView","Popper","ViewInfinite","unstable_ViewInfinite","ModalPageFooter","unstable_ModalPageFooter"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { noop } from "@vkontakte/vkjs";
|
|
|
3
3
|
import { useStableCallback } from "../../hooks/useStableCallback.js";
|
|
4
4
|
import { millisecondsInSecond } from "../date.js";
|
|
5
5
|
import { useIsomorphicLayoutEffect } from "../useIsomorphicLayoutEffect.js";
|
|
6
|
-
/* istanbul ignore next: особенность рендера в браузере когда меняется className, в
|
|
6
|
+
/* istanbul ignore next: особенность рендера в браузере когда меняется className, в Vitest не воспроизвести */ const forceReflowForFixNewMountedElement = (node)=>void node?.scrollTop;
|
|
7
7
|
const TRANSITION_FALLBACK_DELAY = 100;
|
|
8
8
|
/**
|
|
9
9
|
* Хук основан на компоненте `CSSTransition` из библиотеки `react-transition-group`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/animation/useCSSTransition.ts"],"sourcesContent":["import { type TransitionEvent, type TransitionEventHandler, useRef, useState } from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { useStableCallback } from '../../hooks/useStableCallback';\nimport { millisecondsInSecond } from '../date';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\n\n/* istanbul ignore next: особенность рендера в браузере когда меняется className, в
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/animation/useCSSTransition.ts"],"sourcesContent":["import { type TransitionEvent, type TransitionEventHandler, useRef, useState } from 'react';\nimport { noop } from '@vkontakte/vkjs';\nimport { useStableCallback } from '../../hooks/useStableCallback';\nimport { millisecondsInSecond } from '../date';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\n\n/* istanbul ignore next: особенность рендера в браузере когда меняется className, в Vitest не воспроизвести */\nconst forceReflowForFixNewMountedElement = (node: Element | null) => void node?.scrollTop;\n\nexport type UseCSSTransitionState =\n | 'appear'\n | 'appearing'\n | 'appeared'\n | 'enter'\n | 'entering'\n | 'entered'\n | 'exit'\n | 'exiting'\n | 'exited';\n\nexport type UseCSSTransitionOptions = {\n enableAppear?: boolean;\n enableEnter?: boolean;\n enableExit?: boolean;\n onEnter?: (appear?: boolean) => void;\n onEntering?: (appear?: boolean) => void;\n onEntered?: (propertyName?: string, appear?: boolean) => void;\n onExit?: () => void;\n onExiting?: () => void;\n onExited?: (propertyName?: string) => void;\n};\n\nexport type UseCSSTransition<Ref extends Element = Element> = [\n state: UseCSSTransitionState,\n {\n ref: React.RefObject<Ref | null>;\n onTransitionEnd?: TransitionEventHandler;\n },\n];\n\nconst TRANSITION_FALLBACK_DELAY = 100;\n\n/**\n * Хук основан на компоненте `CSSTransition` из библиотеки `react-transition-group`.\n *\n * @link https://reactcommunity.org/react-transition-group/css-transition\n *\n * @private\n */\nexport const useCSSTransition = <Ref extends Element = Element>(\n inProp?: boolean,\n {\n enableAppear = false,\n enableEnter = true,\n enableExit = true,\n onEnter: onEnterProp,\n onEntering: onEnteringProp,\n onEntered: onEnteredProp,\n onExit: onExitProp,\n onExiting: onExitingProp,\n onExited: onExitedProp,\n }: UseCSSTransitionOptions = {},\n): UseCSSTransition<Ref> => {\n const onEnter = useStableCallback(onEnterProp || noop);\n const onEntering = useStableCallback(onEnteringProp || noop);\n const onEntered = useStableCallback(onEnteredProp || noop);\n const onExit = useStableCallback(onExitProp || noop);\n const onExiting = useStableCallback(onExitingProp || noop);\n const onExited = useStableCallback(onExitedProp || noop);\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const ref = useRef<Ref | null>(null);\n const [state, setState] = useState<UseCSSTransitionState>(() => {\n if (!inProp) {\n return 'exited';\n }\n\n if (enableAppear) {\n onEnter(true);\n return 'appear';\n }\n\n return 'entered';\n });\n\n const clearTimer = () => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n };\n\n useIsomorphicLayoutEffect(\n function updateState() {\n if (inProp) {\n switch (state) {\n case 'appear':\n forceReflowForFixNewMountedElement(ref.current);\n setState('appearing');\n onEntering(true);\n break;\n case 'enter':\n forceReflowForFixNewMountedElement(ref.current);\n setState('entering');\n onEntering();\n break;\n case 'exiting':\n if (enableEnter) {\n setState('entering');\n onEntering();\n break;\n }\n\n setState('entered');\n onEntered();\n break;\n case 'exited':\n if (enableEnter) {\n setState('enter');\n onEnter();\n break;\n }\n\n setState('entered');\n onEntered();\n break;\n }\n } else {\n switch (state) {\n case 'exit':\n forceReflowForFixNewMountedElement(ref.current);\n setState('exiting');\n onExiting();\n break;\n case 'appearing':\n case 'entering':\n if (enableExit) {\n setState('exiting');\n onExiting();\n break;\n }\n\n setState('exited');\n onExited();\n break;\n case 'appeared':\n case 'entered':\n if (enableExit) {\n setState('exit');\n onExit();\n break;\n }\n\n setState('exited');\n onExited();\n break;\n }\n }\n },\n [\n inProp,\n\n state,\n enableAppear,\n enableEnter,\n onEnter,\n onEntering,\n onEntered,\n\n enableExit,\n onExit,\n onExiting,\n onExited,\n ],\n );\n\n const completeTransition = useStableCallback((event?: TransitionEvent) => {\n clearTimer();\n\n switch (state) {\n case 'appearing':\n setState('appeared');\n onEntered(event?.propertyName, true);\n break;\n case 'entering':\n setState('entered');\n onEntered(event?.propertyName);\n break;\n case 'exiting':\n setState('exited');\n onExited(event?.propertyName);\n break;\n }\n });\n\n useIsomorphicLayoutEffect(\n function scheduleTransitionCompletionFallback() {\n const el = ref.current;\n if (!el) {\n return;\n }\n\n if (state === 'appearing' || state === 'entering' || state === 'exiting') {\n const style = getComputedStyle(el);\n\n const parseTime = (s: string) =>\n s.includes('ms') ? parseFloat(s) : parseFloat(s) * millisecondsInSecond;\n\n const duration =\n Math.max(...style.transitionDuration.split(',').map(parseTime)) +\n Math.max(...style.transitionDelay.split(',').map(parseTime));\n\n if (duration <= 0) {\n completeTransition();\n return;\n }\n\n // fallback если onTransitionEnd не пришёл\n // TRANSITION_FALLBACK_DELAY, чтобы минимизировать вероятность,\n // что setTimeout сработает раньше onTransitionEnd\n timerRef.current = setTimeout(completeTransition, duration + TRANSITION_FALLBACK_DELAY);\n\n return clearTimer;\n }\n return;\n },\n [completeTransition, state],\n );\n\n return [\n state,\n {\n ref,\n onTransitionEnd:\n state !== 'appeared' && state !== 'entered' && state !== 'exited'\n ? completeTransition\n : undefined,\n },\n ];\n};\n"],"names":["useRef","useState","noop","useStableCallback","millisecondsInSecond","useIsomorphicLayoutEffect","forceReflowForFixNewMountedElement","node","scrollTop","TRANSITION_FALLBACK_DELAY","useCSSTransition","inProp","enableAppear","enableEnter","enableExit","onEnter","onEnterProp","onEntering","onEnteringProp","onEntered","onEnteredProp","onExit","onExitProp","onExiting","onExitingProp","onExited","onExitedProp","timerRef","ref","state","setState","clearTimer","current","clearTimeout","updateState","completeTransition","event","propertyName","scheduleTransitionCompletionFallback","el","style","getComputedStyle","parseTime","s","includes","parseFloat","duration","Math","max","transitionDuration","split","map","transitionDelay","setTimeout","onTransitionEnd","undefined"],"mappings":"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"}
|
|
@@ -89,7 +89,7 @@ shown: shownProp, onShownChange: onShownChangeProp, onShownChanged: onShownChang
|
|
|
89
89
|
return;
|
|
90
90
|
}
|
|
91
91
|
if (blockFocusRef.current) {
|
|
92
|
-
/* istanbul ignore next: в
|
|
92
|
+
/* istanbul ignore next: в Vitest не воспроизводится баг на вебе (cм. onRestoreFocus) */ blockFocusRef.current = false;
|
|
93
93
|
return;
|
|
94
94
|
}
|
|
95
95
|
commitShownLocalState(true, 'focus');
|
package/dist/cssm/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts"],"sourcesContent":["import * as React from 'react';\nimport { debounce, noop } from '@vkontakte/vkjs';\nimport { getWindow, isHTMLElement } from '@vkontakte/vkui-floating-ui/utils/dom';\nimport { useCustomEnsuredControl } from '../../../hooks/useEnsuredControl';\nimport { useGlobalOnClickOutside } from '../../../hooks/useGlobalOnClickOutside';\nimport { useStableCallback } from '../../../hooks/useStableCallback';\nimport { contains, getActiveElementByAnotherElement } from '../../dom';\nimport { useIsomorphicLayoutEffect } from '../../useIsomorphicLayoutEffect';\nimport { autoUpdateFloatingElement, useFloating } from '../adapters';\nimport { convertFloatingDataToReactCSSProperties } from '../functions';\nimport { type UseFloatingOptions } from '../types/common';\nimport { DEFAULT_TRIGGER } from './constants';\nimport type {\n FloatingProps,\n ReferenceProps,\n ShownChangeReason,\n UseFloatingWithInteractionsProps,\n UseFloatingWithInteractionsReturn,\n} from './types';\nimport { useResolveTriggerType } from './useResolveTriggerType';\n\ntype LocalState = { shown: boolean; reason?: ShownChangeReason };\n\nconst whileElementsMounted: UseFloatingOptions['whileElementsMounted'] = (...args) =>\n /* istanbul ignore next: не знаю как проверить */\n autoUpdateFloatingElement(...args, { elementResize: true });\n\n/**\n * @private\n */\nexport const useFloatingWithInteractions = <T extends HTMLElement = HTMLElement>({\n trigger = DEFAULT_TRIGGER,\n\n // UseFloating\n placement: placementProp = 'bottom',\n strategy: strategyProp = 'fixed',\n middlewares,\n hoverDelay = 0,\n closeAfterClick = false,\n\n // disables\n disabled = false,\n disableInteractive = false,\n disableCloseOnClickOutside = false,\n disableCloseOnEscKey = false,\n\n // uncontrolled\n defaultShown = false,\n\n // controlled\n shown: shownProp,\n onShownChange: onShownChangeProp,\n onShownChanged: onShownChangedProp,\n}: UseFloatingWithInteractionsProps): UseFloatingWithInteractionsReturn<T> => {\n const memoizedValue = React.useMemo<LocalState | undefined>(\n () => (shownProp !== undefined ? { shown: shownProp } : undefined),\n [shownProp],\n );\n const [shownLocalState, setShownLocalState] = useCustomEnsuredControl<LocalState>({\n value: memoizedValue,\n disabled,\n defaultValue: { shown: defaultShown },\n onChange: useStableCallback(({ shown, reason }) => {\n if (onShownChangeProp) {\n onShownChangeProp(shown, reason);\n }\n }),\n });\n const onShownChanged = useStableCallback(onShownChangedProp ? onShownChangedProp : noop);\n const [shownFinalState, setShownFinalState] = React.useState(() => shownLocalState.shown);\n const [willBeHide, setWillBeHide] = React.useState(false);\n\n const hasCSSAnimation = React.useRef(false);\n\n const blockMouseEnterRef = React.useRef(false);\n const blockFocusRef = React.useRef(false);\n const blurTimeoutRef = React.useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n const handleCloseOnReferenceClickOutsideDisabled =\n disabled || disableCloseOnClickOutside || willBeHide || !shownLocalState.shown;\n const handleCloseOnFloatingClickOutsideDisabled =\n disableInteractive || handleCloseOnReferenceClickOutsideDisabled;\n\n const { triggerOnFocus, triggerOnClick, triggerOnHover } = useResolveTriggerType(trigger);\n\n // Библиотека `floating-ui`\n const { placement, x, y, strategy, refs, middlewareData } = useFloating<T>({\n strategy: strategyProp,\n placement: placementProp,\n middleware: middlewares,\n whileElementsMounted,\n });\n\n const commitShownLocalState = React.useCallback(\n (nextShown: boolean, reason: ShownChangeReason) => {\n setShownLocalState((prevState) => {\n if (prevState.shown !== nextShown || prevState.reason !== reason) {\n return {\n shown: nextShown,\n reason,\n };\n }\n /* istanbul ignore next: страховка, если вдруг на момент вызова обновления состояния, оно уже будет актуальным */\n return prevState;\n });\n },\n [setShownLocalState],\n );\n\n const [mouseEnterDelay, mouseLeaveDelay] =\n typeof hoverDelay === 'number' ? [hoverDelay, hoverDelay] : hoverDelay;\n\n const showWithDelay = React.useMemo(\n () => debounce(() => commitShownLocalState(true, 'hover'), mouseEnterDelay),\n [mouseEnterDelay, commitShownLocalState],\n );\n\n const hideWithDelay = React.useMemo(\n () => debounce(() => commitShownLocalState(false, 'hover'), mouseLeaveDelay),\n [mouseLeaveDelay, commitShownLocalState],\n );\n\n const handleFocusOnReference = useStableCallback(() => {\n // Повторный вызов события фокуса - следствие клика на reference-элемент\n if (shownLocalState.shown) {\n if (!closeAfterClick && shownLocalState.reason === 'hover') {\n return;\n }\n commitShownLocalState(false, 'focus');\n return;\n }\n if (blockFocusRef.current) {\n /* istanbul ignore next: в Jest не воспроизводится баг на вебе (cм. onRestoreFocus) */\n blockFocusRef.current = false;\n return;\n }\n\n commitShownLocalState(true, 'focus');\n });\n\n const handleBlurOnReference = useStableCallback((event: React.FocusEvent) => {\n blockFocusRef.current = false;\n blockMouseEnterRef.current = false;\n\n if (!shownLocalState.shown) {\n clearTimeout(blurTimeoutRef.current);\n return;\n }\n\n const relatedTarget = event.relatedTarget;\n blurTimeoutRef.current = setTimeout(function waitWindowBlurFire() {\n const reference = refs.reference.current;\n // Если пользователь покинул текущее окно в открытом состоянии, то\n // не закрываем всплывающий элемент.\n /* istanbul ignore if: не умеем симулировать уход из текущего окна */\n if (!relatedTarget && getActiveElementByAnotherElement(reference) === reference) {\n /* istanbul ignore next */\n return;\n }\n\n // Если пользователь нажал на всплывающий элемент, то не закрываем всплывающий элемент.\n // Note: для этого элемент должен быть фокусируемый (например, за счёт `tabindex=\"-1\"`).\n if (contains(refs.floating.current, relatedTarget) || contains(reference, relatedTarget)) {\n return;\n }\n\n commitShownLocalState(false, 'focus');\n });\n });\n\n const handleClickOnReference = useStableCallback(() => {\n // Предыдущий триггер (фокус) уже вызвал открытие/закрытие всплывающего окна, игнорируем вызов\n if (shownLocalState.reason === 'focus') {\n commitShownLocalState(shownLocalState.shown, 'click');\n return;\n }\n commitShownLocalState(!shownLocalState.shown, 'click');\n });\n\n const handleClickOnReferenceForOnlyClose = useStableCallback(() => {\n blockMouseEnterRef.current = true;\n commitShownLocalState(false, 'click');\n });\n\n const handleMouseEnterOnBoth = useStableCallback((event: React.MouseEvent<HTMLElement>) => {\n if (willBeHide && event.currentTarget === refs.floating.current) {\n return;\n }\n\n showWithDelay.cancel();\n hideWithDelay.cancel();\n\n if (!blockMouseEnterRef.current && !shownLocalState.shown) {\n showWithDelay();\n }\n });\n\n const handleMouseLeaveOnBothForHoverAndFocusStates = useStableCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n if (willBeHide && event.currentTarget === refs.floating.current) {\n return;\n }\n\n blockFocusRef.current = false;\n blockMouseEnterRef.current = false;\n\n if (triggerOnHover) {\n showWithDelay.cancel();\n hideWithDelay.cancel();\n\n hideWithDelay();\n }\n },\n );\n\n const handleFloatingAnimationStart = () => {\n hasCSSAnimation.current = true;\n };\n\n const handleFloatingAnimationEnd = () => {\n if (willBeHide) {\n setShownFinalState(false);\n setWillBeHide(false);\n onShownChanged(false, shownLocalState.reason);\n }\n };\n\n const handleOnClose = React.useCallback(() => {\n blockFocusRef.current = true;\n commitShownLocalState(false, 'callback');\n }, [commitShownLocalState]);\n\n const handleRestoreFocus: UseFloatingWithInteractionsReturn['onRestoreFocus'] = React.useCallback(\n (restoreFocus = true) => {\n if (!restoreFocus) {\n return false;\n }\n if (restoreFocus === true) {\n return triggerOnFocus ? blockFocusRef.current : true;\n } else if (restoreFocus === 'anchor-element') {\n return refs.reference.current as HTMLElement;\n } else if (restoreFocus instanceof HTMLElement) {\n return restoreFocus;\n }\n return false;\n },\n [refs.reference, triggerOnFocus],\n );\n\n const handleEscapeKeyDown = React.useCallback(() => {\n blockFocusRef.current = true;\n commitShownLocalState(false, 'escape-key');\n }, [commitShownLocalState]);\n\n const handleClickOutside = React.useCallback(() => {\n blockFocusRef.current = true;\n commitShownLocalState(false, 'click-outside');\n }, [commitShownLocalState]);\n\n useGlobalOnClickOutside(\n handleClickOutside,\n handleCloseOnReferenceClickOutsideDisabled ? null : refs.reference,\n handleCloseOnFloatingClickOutsideDisabled ? null : refs.floating,\n );\n\n useIsomorphicLayoutEffect(\n /**\n * Если пользователь покинул активное окно и:\n * 1. целевой элемент был в состоянии фокуса;\n * 2. всплывающий элемент был закрытом состоянии;\n * то фокус должен быть заблокирован, когда пользователь вернётся обратно. Иначе покажется\n * всплывающий элемент.\n */\n function setGlobalBlurForTriggerOnFocus() {\n if (!triggerOnFocus || !refs.reference.current) {\n return;\n }\n\n const handleGlobalBlur = () => {\n /* istanbul ignore next */\n const reference = refs.reference.current;\n /* istanbul ignore if: не умеем симулировать уход из текущего окна */\n if (\n !shownLocalState.shown &&\n isHTMLElement(reference) &&\n reference === getActiveElementByAnotherElement(reference)\n ) {\n /* istanbul ignore next */\n blockFocusRef.current = true;\n }\n };\n\n const win = getWindow(refs.reference.current);\n win.addEventListener('blur', handleGlobalBlur);\n return () => {\n win.removeEventListener('blur', handleGlobalBlur);\n };\n },\n [triggerOnFocus, refs.reference, shownLocalState],\n );\n\n useIsomorphicLayoutEffect(\n function resolveShownStates() {\n if (willBeHide || shownLocalState.shown === shownFinalState) {\n return;\n }\n\n if (shownLocalState.shown) {\n setShownFinalState(true);\n onShownChanged(true, shownLocalState.reason);\n } else if (hasCSSAnimation.current && !willBeHide) {\n setWillBeHide(true);\n } else {\n setShownFinalState(false);\n }\n\n return () => {\n clearTimeout(blurTimeoutRef.current);\n };\n },\n [shownLocalState, shownFinalState, willBeHide, onShownChanged],\n );\n\n const referencePropsRef = React.useRef<ReferenceProps>({});\n const floatingPropsRef = React.useRef<FloatingProps>({ style: {} });\n\n useIsomorphicLayoutEffect(() => {\n referencePropsRef.current = {};\n }, [triggerOnHover, triggerOnFocus, triggerOnClick]);\n\n if (shownFinalState) {\n floatingPropsRef.current.style = convertFloatingDataToReactCSSProperties({\n strategy,\n x,\n y,\n middlewareData,\n });\n\n if (disableInteractive) {\n floatingPropsRef.current.style.pointerEvents = 'none';\n }\n }\n\n if (triggerOnFocus) {\n referencePropsRef.current.onFocus = handleFocusOnReference;\n referencePropsRef.current.onBlur = handleBlurOnReference;\n }\n\n if (triggerOnClick) {\n referencePropsRef.current.onClick = handleClickOnReference;\n }\n\n if (triggerOnHover) {\n referencePropsRef.current.onMouseOver = handleMouseEnterOnBoth;\n\n if (closeAfterClick && !triggerOnClick) {\n referencePropsRef.current.onClick = handleClickOnReferenceForOnlyClose;\n }\n\n if (!disableInteractive) {\n floatingPropsRef.current.onMouseOver = handleMouseEnterOnBoth;\n }\n }\n\n if (triggerOnHover || triggerOnFocus) {\n referencePropsRef.current.onMouseLeave = handleMouseLeaveOnBothForHoverAndFocusStates;\n\n if (!disableInteractive) {\n floatingPropsRef.current.onMouseLeave = handleMouseLeaveOnBothForHoverAndFocusStates;\n }\n }\n\n if (shownFinalState) {\n floatingPropsRef.current.onAnimationStart = handleFloatingAnimationStart;\n floatingPropsRef.current.onAnimationEnd = handleFloatingAnimationEnd;\n }\n\n return {\n placement,\n shown: shownFinalState,\n willBeHide,\n refs,\n referenceProps: referencePropsRef.current,\n floatingProps: floatingPropsRef.current,\n middlewareData,\n onClose: handleOnClose,\n // FocusTrap уже определяет нажатие на ESC, поэтому название события содержит конкретный код\n // кнопки вместо просто onKeyDown.\n onEscapeKeyDown: !shownFinalState || disableCloseOnEscKey ? undefined : handleEscapeKeyDown,\n // [Обход баги с FocusTrap]\n //\n // Если сфокусироваться на целевой элемент через нажатие, а потом нажать в область за пределами\n // целевого и всплывающего элемента, то появляется моргание из-за того, что FocusTrap\n // восстанавливает фокус, из-за чего всплывающий элемент снова показывается за счёт\n // `handleFocusOnReference`, а потом скрывается за счёт `handleBlurOnReference`.\n onRestoreFocus: handleRestoreFocus,\n };\n};\n"],"names":["React","debounce","noop","getWindow","isHTMLElement","useCustomEnsuredControl","useGlobalOnClickOutside","useStableCallback","contains","getActiveElementByAnotherElement","useIsomorphicLayoutEffect","autoUpdateFloatingElement","useFloating","convertFloatingDataToReactCSSProperties","DEFAULT_TRIGGER","useResolveTriggerType","whileElementsMounted","args","elementResize","useFloatingWithInteractions","trigger","placement","placementProp","strategy","strategyProp","middlewares","hoverDelay","closeAfterClick","disabled","disableInteractive","disableCloseOnClickOutside","disableCloseOnEscKey","defaultShown","shown","shownProp","onShownChange","onShownChangeProp","onShownChanged","onShownChangedProp","memoizedValue","useMemo","undefined","shownLocalState","setShownLocalState","value","defaultValue","onChange","reason","shownFinalState","setShownFinalState","useState","willBeHide","setWillBeHide","hasCSSAnimation","useRef","blockMouseEnterRef","blockFocusRef","blurTimeoutRef","handleCloseOnReferenceClickOutsideDisabled","handleCloseOnFloatingClickOutsideDisabled","triggerOnFocus","triggerOnClick","triggerOnHover","x","y","refs","middlewareData","middleware","commitShownLocalState","useCallback","nextShown","prevState","mouseEnterDelay","mouseLeaveDelay","showWithDelay","hideWithDelay","handleFocusOnReference","current","handleBlurOnReference","event","clearTimeout","relatedTarget","setTimeout","waitWindowBlurFire","reference","floating","handleClickOnReference","handleClickOnReferenceForOnlyClose","handleMouseEnterOnBoth","currentTarget","cancel","handleMouseLeaveOnBothForHoverAndFocusStates","handleFloatingAnimationStart","handleFloatingAnimationEnd","handleOnClose","handleRestoreFocus","restoreFocus","HTMLElement","handleEscapeKeyDown","handleClickOutside","setGlobalBlurForTriggerOnFocus","handleGlobalBlur","win","addEventListener","removeEventListener","resolveShownStates","referencePropsRef","floatingPropsRef","style","pointerEvents","onFocus","onBlur","onClick","onMouseOver","onMouseLeave","onAnimationStart","onAnimationEnd","referenceProps","floatingProps","onClose","onEscapeKeyDown","onRestoreFocus"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/lib/floating/useFloatingWithInteractions/useFloatingWithInteractions.ts"],"sourcesContent":["import * as React from 'react';\nimport { debounce, noop } from '@vkontakte/vkjs';\nimport { getWindow, isHTMLElement } from '@vkontakte/vkui-floating-ui/utils/dom';\nimport { useCustomEnsuredControl } from '../../../hooks/useEnsuredControl';\nimport { useGlobalOnClickOutside } from '../../../hooks/useGlobalOnClickOutside';\nimport { useStableCallback } from '../../../hooks/useStableCallback';\nimport { contains, getActiveElementByAnotherElement } from '../../dom';\nimport { useIsomorphicLayoutEffect } from '../../useIsomorphicLayoutEffect';\nimport { autoUpdateFloatingElement, useFloating } from '../adapters';\nimport { convertFloatingDataToReactCSSProperties } from '../functions';\nimport { type UseFloatingOptions } from '../types/common';\nimport { DEFAULT_TRIGGER } from './constants';\nimport type {\n FloatingProps,\n ReferenceProps,\n ShownChangeReason,\n UseFloatingWithInteractionsProps,\n UseFloatingWithInteractionsReturn,\n} from './types';\nimport { useResolveTriggerType } from './useResolveTriggerType';\n\ntype LocalState = { shown: boolean; reason?: ShownChangeReason };\n\nconst whileElementsMounted: UseFloatingOptions['whileElementsMounted'] = (...args) =>\n /* istanbul ignore next: не знаю как проверить */\n autoUpdateFloatingElement(...args, { elementResize: true });\n\n/**\n * @private\n */\nexport const useFloatingWithInteractions = <T extends HTMLElement = HTMLElement>({\n trigger = DEFAULT_TRIGGER,\n\n // UseFloating\n placement: placementProp = 'bottom',\n strategy: strategyProp = 'fixed',\n middlewares,\n hoverDelay = 0,\n closeAfterClick = false,\n\n // disables\n disabled = false,\n disableInteractive = false,\n disableCloseOnClickOutside = false,\n disableCloseOnEscKey = false,\n\n // uncontrolled\n defaultShown = false,\n\n // controlled\n shown: shownProp,\n onShownChange: onShownChangeProp,\n onShownChanged: onShownChangedProp,\n}: UseFloatingWithInteractionsProps): UseFloatingWithInteractionsReturn<T> => {\n const memoizedValue = React.useMemo<LocalState | undefined>(\n () => (shownProp !== undefined ? { shown: shownProp } : undefined),\n [shownProp],\n );\n const [shownLocalState, setShownLocalState] = useCustomEnsuredControl<LocalState>({\n value: memoizedValue,\n disabled,\n defaultValue: { shown: defaultShown },\n onChange: useStableCallback(({ shown, reason }) => {\n if (onShownChangeProp) {\n onShownChangeProp(shown, reason);\n }\n }),\n });\n const onShownChanged = useStableCallback(onShownChangedProp ? onShownChangedProp : noop);\n const [shownFinalState, setShownFinalState] = React.useState(() => shownLocalState.shown);\n const [willBeHide, setWillBeHide] = React.useState(false);\n\n const hasCSSAnimation = React.useRef(false);\n\n const blockMouseEnterRef = React.useRef(false);\n const blockFocusRef = React.useRef(false);\n const blurTimeoutRef = React.useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n const handleCloseOnReferenceClickOutsideDisabled =\n disabled || disableCloseOnClickOutside || willBeHide || !shownLocalState.shown;\n const handleCloseOnFloatingClickOutsideDisabled =\n disableInteractive || handleCloseOnReferenceClickOutsideDisabled;\n\n const { triggerOnFocus, triggerOnClick, triggerOnHover } = useResolveTriggerType(trigger);\n\n // Библиотека `floating-ui`\n const { placement, x, y, strategy, refs, middlewareData } = useFloating<T>({\n strategy: strategyProp,\n placement: placementProp,\n middleware: middlewares,\n whileElementsMounted,\n });\n\n const commitShownLocalState = React.useCallback(\n (nextShown: boolean, reason: ShownChangeReason) => {\n setShownLocalState((prevState) => {\n if (prevState.shown !== nextShown || prevState.reason !== reason) {\n return {\n shown: nextShown,\n reason,\n };\n }\n /* istanbul ignore next: страховка, если вдруг на момент вызова обновления состояния, оно уже будет актуальным */\n return prevState;\n });\n },\n [setShownLocalState],\n );\n\n const [mouseEnterDelay, mouseLeaveDelay] =\n typeof hoverDelay === 'number' ? [hoverDelay, hoverDelay] : hoverDelay;\n\n const showWithDelay = React.useMemo(\n () => debounce(() => commitShownLocalState(true, 'hover'), mouseEnterDelay),\n [mouseEnterDelay, commitShownLocalState],\n );\n\n const hideWithDelay = React.useMemo(\n () => debounce(() => commitShownLocalState(false, 'hover'), mouseLeaveDelay),\n [mouseLeaveDelay, commitShownLocalState],\n );\n\n const handleFocusOnReference = useStableCallback(() => {\n // Повторный вызов события фокуса - следствие клика на reference-элемент\n if (shownLocalState.shown) {\n if (!closeAfterClick && shownLocalState.reason === 'hover') {\n return;\n }\n commitShownLocalState(false, 'focus');\n return;\n }\n if (blockFocusRef.current) {\n /* istanbul ignore next: в Vitest не воспроизводится баг на вебе (cм. onRestoreFocus) */\n blockFocusRef.current = false;\n return;\n }\n\n commitShownLocalState(true, 'focus');\n });\n\n const handleBlurOnReference = useStableCallback((event: React.FocusEvent) => {\n blockFocusRef.current = false;\n blockMouseEnterRef.current = false;\n\n if (!shownLocalState.shown) {\n clearTimeout(blurTimeoutRef.current);\n return;\n }\n\n const relatedTarget = event.relatedTarget;\n blurTimeoutRef.current = setTimeout(function waitWindowBlurFire() {\n const reference = refs.reference.current;\n // Если пользователь покинул текущее окно в открытом состоянии, то\n // не закрываем всплывающий элемент.\n /* istanbul ignore if: не умеем симулировать уход из текущего окна */\n if (!relatedTarget && getActiveElementByAnotherElement(reference) === reference) {\n /* istanbul ignore next */\n return;\n }\n\n // Если пользователь нажал на всплывающий элемент, то не закрываем всплывающий элемент.\n // Note: для этого элемент должен быть фокусируемый (например, за счёт `tabindex=\"-1\"`).\n if (contains(refs.floating.current, relatedTarget) || contains(reference, relatedTarget)) {\n return;\n }\n\n commitShownLocalState(false, 'focus');\n });\n });\n\n const handleClickOnReference = useStableCallback(() => {\n // Предыдущий триггер (фокус) уже вызвал открытие/закрытие всплывающего окна, игнорируем вызов\n if (shownLocalState.reason === 'focus') {\n commitShownLocalState(shownLocalState.shown, 'click');\n return;\n }\n commitShownLocalState(!shownLocalState.shown, 'click');\n });\n\n const handleClickOnReferenceForOnlyClose = useStableCallback(() => {\n blockMouseEnterRef.current = true;\n commitShownLocalState(false, 'click');\n });\n\n const handleMouseEnterOnBoth = useStableCallback((event: React.MouseEvent<HTMLElement>) => {\n if (willBeHide && event.currentTarget === refs.floating.current) {\n return;\n }\n\n showWithDelay.cancel();\n hideWithDelay.cancel();\n\n if (!blockMouseEnterRef.current && !shownLocalState.shown) {\n showWithDelay();\n }\n });\n\n const handleMouseLeaveOnBothForHoverAndFocusStates = useStableCallback(\n (event: React.MouseEvent<HTMLElement>) => {\n if (willBeHide && event.currentTarget === refs.floating.current) {\n return;\n }\n\n blockFocusRef.current = false;\n blockMouseEnterRef.current = false;\n\n if (triggerOnHover) {\n showWithDelay.cancel();\n hideWithDelay.cancel();\n\n hideWithDelay();\n }\n },\n );\n\n const handleFloatingAnimationStart = () => {\n hasCSSAnimation.current = true;\n };\n\n const handleFloatingAnimationEnd = () => {\n if (willBeHide) {\n setShownFinalState(false);\n setWillBeHide(false);\n onShownChanged(false, shownLocalState.reason);\n }\n };\n\n const handleOnClose = React.useCallback(() => {\n blockFocusRef.current = true;\n commitShownLocalState(false, 'callback');\n }, [commitShownLocalState]);\n\n const handleRestoreFocus: UseFloatingWithInteractionsReturn['onRestoreFocus'] = React.useCallback(\n (restoreFocus = true) => {\n if (!restoreFocus) {\n return false;\n }\n if (restoreFocus === true) {\n return triggerOnFocus ? blockFocusRef.current : true;\n } else if (restoreFocus === 'anchor-element') {\n return refs.reference.current as HTMLElement;\n } else if (restoreFocus instanceof HTMLElement) {\n return restoreFocus;\n }\n return false;\n },\n [refs.reference, triggerOnFocus],\n );\n\n const handleEscapeKeyDown = React.useCallback(() => {\n blockFocusRef.current = true;\n commitShownLocalState(false, 'escape-key');\n }, [commitShownLocalState]);\n\n const handleClickOutside = React.useCallback(() => {\n blockFocusRef.current = true;\n commitShownLocalState(false, 'click-outside');\n }, [commitShownLocalState]);\n\n useGlobalOnClickOutside(\n handleClickOutside,\n handleCloseOnReferenceClickOutsideDisabled ? null : refs.reference,\n handleCloseOnFloatingClickOutsideDisabled ? null : refs.floating,\n );\n\n useIsomorphicLayoutEffect(\n /**\n * Если пользователь покинул активное окно и:\n * 1. целевой элемент был в состоянии фокуса;\n * 2. всплывающий элемент был закрытом состоянии;\n * то фокус должен быть заблокирован, когда пользователь вернётся обратно. Иначе покажется\n * всплывающий элемент.\n */\n function setGlobalBlurForTriggerOnFocus() {\n if (!triggerOnFocus || !refs.reference.current) {\n return;\n }\n\n const handleGlobalBlur = () => {\n /* istanbul ignore next */\n const reference = refs.reference.current;\n /* istanbul ignore if: не умеем симулировать уход из текущего окна */\n if (\n !shownLocalState.shown &&\n isHTMLElement(reference) &&\n reference === getActiveElementByAnotherElement(reference)\n ) {\n /* istanbul ignore next */\n blockFocusRef.current = true;\n }\n };\n\n const win = getWindow(refs.reference.current);\n win.addEventListener('blur', handleGlobalBlur);\n return () => {\n win.removeEventListener('blur', handleGlobalBlur);\n };\n },\n [triggerOnFocus, refs.reference, shownLocalState],\n );\n\n useIsomorphicLayoutEffect(\n function resolveShownStates() {\n if (willBeHide || shownLocalState.shown === shownFinalState) {\n return;\n }\n\n if (shownLocalState.shown) {\n setShownFinalState(true);\n onShownChanged(true, shownLocalState.reason);\n } else if (hasCSSAnimation.current && !willBeHide) {\n setWillBeHide(true);\n } else {\n setShownFinalState(false);\n }\n\n return () => {\n clearTimeout(blurTimeoutRef.current);\n };\n },\n [shownLocalState, shownFinalState, willBeHide, onShownChanged],\n );\n\n const referencePropsRef = React.useRef<ReferenceProps>({});\n const floatingPropsRef = React.useRef<FloatingProps>({ style: {} });\n\n useIsomorphicLayoutEffect(() => {\n referencePropsRef.current = {};\n }, [triggerOnHover, triggerOnFocus, triggerOnClick]);\n\n if (shownFinalState) {\n floatingPropsRef.current.style = convertFloatingDataToReactCSSProperties({\n strategy,\n x,\n y,\n middlewareData,\n });\n\n if (disableInteractive) {\n floatingPropsRef.current.style.pointerEvents = 'none';\n }\n }\n\n if (triggerOnFocus) {\n referencePropsRef.current.onFocus = handleFocusOnReference;\n referencePropsRef.current.onBlur = handleBlurOnReference;\n }\n\n if (triggerOnClick) {\n referencePropsRef.current.onClick = handleClickOnReference;\n }\n\n if (triggerOnHover) {\n referencePropsRef.current.onMouseOver = handleMouseEnterOnBoth;\n\n if (closeAfterClick && !triggerOnClick) {\n referencePropsRef.current.onClick = handleClickOnReferenceForOnlyClose;\n }\n\n if (!disableInteractive) {\n floatingPropsRef.current.onMouseOver = handleMouseEnterOnBoth;\n }\n }\n\n if (triggerOnHover || triggerOnFocus) {\n referencePropsRef.current.onMouseLeave = handleMouseLeaveOnBothForHoverAndFocusStates;\n\n if (!disableInteractive) {\n floatingPropsRef.current.onMouseLeave = handleMouseLeaveOnBothForHoverAndFocusStates;\n }\n }\n\n if (shownFinalState) {\n floatingPropsRef.current.onAnimationStart = handleFloatingAnimationStart;\n floatingPropsRef.current.onAnimationEnd = handleFloatingAnimationEnd;\n }\n\n return {\n placement,\n shown: shownFinalState,\n willBeHide,\n refs,\n referenceProps: referencePropsRef.current,\n floatingProps: floatingPropsRef.current,\n middlewareData,\n onClose: handleOnClose,\n // FocusTrap уже определяет нажатие на ESC, поэтому название события содержит конкретный код\n // кнопки вместо просто onKeyDown.\n onEscapeKeyDown: !shownFinalState || disableCloseOnEscKey ? undefined : handleEscapeKeyDown,\n // [Обход баги с FocusTrap]\n //\n // Если сфокусироваться на целевой элемент через нажатие, а потом нажать в область за пределами\n // целевого и всплывающего элемента, то появляется моргание из-за того, что FocusTrap\n // восстанавливает фокус, из-за чего всплывающий элемент снова показывается за счёт\n // `handleFocusOnReference`, а потом скрывается за счёт `handleBlurOnReference`.\n onRestoreFocus: handleRestoreFocus,\n };\n};\n"],"names":["React","debounce","noop","getWindow","isHTMLElement","useCustomEnsuredControl","useGlobalOnClickOutside","useStableCallback","contains","getActiveElementByAnotherElement","useIsomorphicLayoutEffect","autoUpdateFloatingElement","useFloating","convertFloatingDataToReactCSSProperties","DEFAULT_TRIGGER","useResolveTriggerType","whileElementsMounted","args","elementResize","useFloatingWithInteractions","trigger","placement","placementProp","strategy","strategyProp","middlewares","hoverDelay","closeAfterClick","disabled","disableInteractive","disableCloseOnClickOutside","disableCloseOnEscKey","defaultShown","shown","shownProp","onShownChange","onShownChangeProp","onShownChanged","onShownChangedProp","memoizedValue","useMemo","undefined","shownLocalState","setShownLocalState","value","defaultValue","onChange","reason","shownFinalState","setShownFinalState","useState","willBeHide","setWillBeHide","hasCSSAnimation","useRef","blockMouseEnterRef","blockFocusRef","blurTimeoutRef","handleCloseOnReferenceClickOutsideDisabled","handleCloseOnFloatingClickOutsideDisabled","triggerOnFocus","triggerOnClick","triggerOnHover","x","y","refs","middlewareData","middleware","commitShownLocalState","useCallback","nextShown","prevState","mouseEnterDelay","mouseLeaveDelay","showWithDelay","hideWithDelay","handleFocusOnReference","current","handleBlurOnReference","event","clearTimeout","relatedTarget","setTimeout","waitWindowBlurFire","reference","floating","handleClickOnReference","handleClickOnReferenceForOnlyClose","handleMouseEnterOnBoth","currentTarget","cancel","handleMouseLeaveOnBothForHoverAndFocusStates","handleFloatingAnimationStart","handleFloatingAnimationEnd","handleOnClose","handleRestoreFocus","restoreFocus","HTMLElement","handleEscapeKeyDown","handleClickOutside","setGlobalBlurForTriggerOnFocus","handleGlobalBlur","win","addEventListener","removeEventListener","resolveShownStates","referencePropsRef","floatingPropsRef","style","pointerEvents","onFocus","onBlur","onClick","onMouseOver","onMouseLeave","onAnimationStart","onAnimationEnd","referenceProps","floatingProps","onClose","onEscapeKeyDown","onRestoreFocus"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,QAAQ,EAAEC,IAAI,QAAQ,kBAAkB;AACjD,SAASC,SAAS,EAAEC,aAAa,QAAQ,wCAAwC;AACjF,SAASC,uBAAuB,QAAQ,sCAAmC;AAC3E,SAASC,uBAAuB,QAAQ,4CAAyC;AACjF,SAASC,iBAAiB,QAAQ,sCAAmC;AACrE,SAASC,QAAQ,EAAEC,gCAAgC,QAAQ,eAAY;AACvE,SAASC,yBAAyB,QAAQ,qCAAkC;AAC5E,SAASC,yBAAyB,EAAEC,WAAW,QAAQ,iBAAc;AACrE,SAASC,uCAAuC,QAAQ,kBAAe;AAEvE,SAASC,eAAe,QAAQ,iBAAc;AAQ9C,SAASC,qBAAqB,QAAQ,6BAA0B;AAIhE,MAAMC,uBAAmE,CAAC,GAAGC,OAC3E,+CAA+C,GAC/CN,6BAA6BM,MAAM;QAAEC,eAAe;IAAK;AAE3D;;CAEC,GACD,OAAO,MAAMC,8BAA8B,CAAsC,EAC/EC,UAAUN,eAAe,EAEzB,cAAc;AACdO,WAAWC,gBAAgB,QAAQ,EACnCC,UAAUC,eAAe,OAAO,EAChCC,WAAW,EACXC,aAAa,CAAC,EACdC,kBAAkB,KAAK,EAEvB,WAAW;AACXC,WAAW,KAAK,EAChBC,qBAAqB,KAAK,EAC1BC,6BAA6B,KAAK,EAClCC,uBAAuB,KAAK,EAE5B,eAAe;AACfC,eAAe,KAAK,EAEpB,aAAa;AACbC,OAAOC,SAAS,EAChBC,eAAeC,iBAAiB,EAChCC,gBAAgBC,kBAAkB,EACD;IACjC,MAAMC,gBAAgBvC,MAAMwC,OAAO,CACjC,IAAON,cAAcO,YAAY;YAAER,OAAOC;QAAU,IAAIO,WACxD;QAACP;KAAU;IAEb,MAAM,CAACQ,iBAAiBC,mBAAmB,GAAGtC,wBAAoC;QAChFuC,OAAOL;QACPX;QACAiB,cAAc;YAAEZ,OAAOD;QAAa;QACpCc,UAAUvC,kBAAkB,CAAC,EAAE0B,KAAK,EAAEc,MAAM,EAAE;YAC5C,IAAIX,mBAAmB;gBACrBA,kBAAkBH,OAAOc;YAC3B;QACF;IACF;IACA,MAAMV,iBAAiB9B,kBAAkB+B,qBAAqBA,qBAAqBpC;IACnF,MAAM,CAAC8C,iBAAiBC,mBAAmB,GAAGjD,MAAMkD,QAAQ,CAAC,IAAMR,gBAAgBT,KAAK;IACxF,MAAM,CAACkB,YAAYC,cAAc,GAAGpD,MAAMkD,QAAQ,CAAC;IAEnD,MAAMG,kBAAkBrD,MAAMsD,MAAM,CAAC;IAErC,MAAMC,qBAAqBvD,MAAMsD,MAAM,CAAC;IACxC,MAAME,gBAAgBxD,MAAMsD,MAAM,CAAC;IACnC,MAAMG,iBAAiBzD,MAAMsD,MAAM,CAA4Cb;IAE/E,MAAMiB,6CACJ9B,YAAYE,8BAA8BqB,cAAc,CAACT,gBAAgBT,KAAK;IAChF,MAAM0B,4CACJ9B,sBAAsB6B;IAExB,MAAM,EAAEE,cAAc,EAAEC,cAAc,EAAEC,cAAc,EAAE,GAAG/C,sBAAsBK;IAEjF,2BAA2B;IAC3B,MAAM,EAAEC,SAAS,EAAE0C,CAAC,EAAEC,CAAC,EAAEzC,QAAQ,EAAE0C,IAAI,EAAEC,cAAc,EAAE,GAAGtD,YAAe;QACzEW,UAAUC;QACVH,WAAWC;QACX6C,YAAY1C;QACZT;IACF;IAEA,MAAMoD,wBAAwBpE,MAAMqE,WAAW,CAC7C,CAACC,WAAoBvB;QACnBJ,mBAAmB,CAAC4B;YAClB,IAAIA,UAAUtC,KAAK,KAAKqC,aAAaC,UAAUxB,MAAM,KAAKA,QAAQ;gBAChE,OAAO;oBACLd,OAAOqC;oBACPvB;gBACF;YACF;YACA,+GAA+G,GAC/G,OAAOwB;QACT;IACF,GACA;QAAC5B;KAAmB;IAGtB,MAAM,CAAC6B,iBAAiBC,gBAAgB,GACtC,OAAO/C,eAAe,WAAW;QAACA;QAAYA;KAAW,GAAGA;IAE9D,MAAMgD,gBAAgB1E,MAAMwC,OAAO,CACjC,IAAMvC,SAAS,IAAMmE,sBAAsB,MAAM,UAAUI,kBAC3D;QAACA;QAAiBJ;KAAsB;IAG1C,MAAMO,gBAAgB3E,MAAMwC,OAAO,CACjC,IAAMvC,SAAS,IAAMmE,sBAAsB,OAAO,UAAUK,kBAC5D;QAACA;QAAiBL;KAAsB;IAG1C,MAAMQ,yBAAyBrE,kBAAkB;QAC/C,wEAAwE;QACxE,IAAImC,gBAAgBT,KAAK,EAAE;YACzB,IAAI,CAACN,mBAAmBe,gBAAgBK,MAAM,KAAK,SAAS;gBAC1D;YACF;YACAqB,sBAAsB,OAAO;YAC7B;QACF;QACA,IAAIZ,cAAcqB,OAAO,EAAE;YACzB,sFAAsF,GACtFrB,cAAcqB,OAAO,GAAG;YACxB;QACF;QAEAT,sBAAsB,MAAM;IAC9B;IAEA,MAAMU,wBAAwBvE,kBAAkB,CAACwE;QAC/CvB,cAAcqB,OAAO,GAAG;QACxBtB,mBAAmBsB,OAAO,GAAG;QAE7B,IAAI,CAACnC,gBAAgBT,KAAK,EAAE;YAC1B+C,aAAavB,eAAeoB,OAAO;YACnC;QACF;QAEA,MAAMI,gBAAgBF,MAAME,aAAa;QACzCxB,eAAeoB,OAAO,GAAGK,WAAW,SAASC;YAC3C,MAAMC,YAAYnB,KAAKmB,SAAS,CAACP,OAAO;YACxC,kEAAkE;YAClE,oCAAoC;YACpC,mEAAmE,GACnE,IAAI,CAACI,iBAAiBxE,iCAAiC2E,eAAeA,WAAW;gBAC/E,wBAAwB,GACxB;YACF;YAEA,uFAAuF;YACvF,wFAAwF;YACxF,IAAI5E,SAASyD,KAAKoB,QAAQ,CAACR,OAAO,EAAEI,kBAAkBzE,SAAS4E,WAAWH,gBAAgB;gBACxF;YACF;YAEAb,sBAAsB,OAAO;QAC/B;IACF;IAEA,MAAMkB,yBAAyB/E,kBAAkB;QAC/C,8FAA8F;QAC9F,IAAImC,gBAAgBK,MAAM,KAAK,SAAS;YACtCqB,sBAAsB1B,gBAAgBT,KAAK,EAAE;YAC7C;QACF;QACAmC,sBAAsB,CAAC1B,gBAAgBT,KAAK,EAAE;IAChD;IAEA,MAAMsD,qCAAqChF,kBAAkB;QAC3DgD,mBAAmBsB,OAAO,GAAG;QAC7BT,sBAAsB,OAAO;IAC/B;IAEA,MAAMoB,yBAAyBjF,kBAAkB,CAACwE;QAChD,IAAI5B,cAAc4B,MAAMU,aAAa,KAAKxB,KAAKoB,QAAQ,CAACR,OAAO,EAAE;YAC/D;QACF;QAEAH,cAAcgB,MAAM;QACpBf,cAAce,MAAM;QAEpB,IAAI,CAACnC,mBAAmBsB,OAAO,IAAI,CAACnC,gBAAgBT,KAAK,EAAE;YACzDyC;QACF;IACF;IAEA,MAAMiB,+CAA+CpF,kBACnD,CAACwE;QACC,IAAI5B,cAAc4B,MAAMU,aAAa,KAAKxB,KAAKoB,QAAQ,CAACR,OAAO,EAAE;YAC/D;QACF;QAEArB,cAAcqB,OAAO,GAAG;QACxBtB,mBAAmBsB,OAAO,GAAG;QAE7B,IAAIf,gBAAgB;YAClBY,cAAcgB,MAAM;YACpBf,cAAce,MAAM;YAEpBf;QACF;IACF;IAGF,MAAMiB,+BAA+B;QACnCvC,gBAAgBwB,OAAO,GAAG;IAC5B;IAEA,MAAMgB,6BAA6B;QACjC,IAAI1C,YAAY;YACdF,mBAAmB;YACnBG,cAAc;YACdf,eAAe,OAAOK,gBAAgBK,MAAM;QAC9C;IACF;IAEA,MAAM+C,gBAAgB9F,MAAMqE,WAAW,CAAC;QACtCb,cAAcqB,OAAO,GAAG;QACxBT,sBAAsB,OAAO;IAC/B,GAAG;QAACA;KAAsB;IAE1B,MAAM2B,qBAA0E/F,MAAMqE,WAAW,CAC/F,CAAC2B,eAAe,IAAI;QAClB,IAAI,CAACA,cAAc;YACjB,OAAO;QACT;QACA,IAAIA,iBAAiB,MAAM;YACzB,OAAOpC,iBAAiBJ,cAAcqB,OAAO,GAAG;QAClD,OAAO,IAAImB,iBAAiB,kBAAkB;YAC5C,OAAO/B,KAAKmB,SAAS,CAACP,OAAO;QAC/B,OAAO,IAAImB,wBAAwBC,aAAa;YAC9C,OAAOD;QACT;QACA,OAAO;IACT,GACA;QAAC/B,KAAKmB,SAAS;QAAExB;KAAe;IAGlC,MAAMsC,sBAAsBlG,MAAMqE,WAAW,CAAC;QAC5Cb,cAAcqB,OAAO,GAAG;QACxBT,sBAAsB,OAAO;IAC/B,GAAG;QAACA;KAAsB;IAE1B,MAAM+B,qBAAqBnG,MAAMqE,WAAW,CAAC;QAC3Cb,cAAcqB,OAAO,GAAG;QACxBT,sBAAsB,OAAO;IAC/B,GAAG;QAACA;KAAsB;IAE1B9D,wBACE6F,oBACAzC,6CAA6C,OAAOO,KAAKmB,SAAS,EAClEzB,4CAA4C,OAAOM,KAAKoB,QAAQ;IAGlE3E,0BACE;;;;;;KAMC,GACD,SAAS0F;QACP,IAAI,CAACxC,kBAAkB,CAACK,KAAKmB,SAAS,CAACP,OAAO,EAAE;YAC9C;QACF;QAEA,MAAMwB,mBAAmB;YACvB,wBAAwB,GACxB,MAAMjB,YAAYnB,KAAKmB,SAAS,CAACP,OAAO;YACxC,mEAAmE,GACnE,IACE,CAACnC,gBAAgBT,KAAK,IACtB7B,cAAcgF,cACdA,cAAc3E,iCAAiC2E,YAC/C;gBACA,wBAAwB,GACxB5B,cAAcqB,OAAO,GAAG;YAC1B;QACF;QAEA,MAAMyB,MAAMnG,UAAU8D,KAAKmB,SAAS,CAACP,OAAO;QAC5CyB,IAAIC,gBAAgB,CAAC,QAAQF;QAC7B,OAAO;YACLC,IAAIE,mBAAmB,CAAC,QAAQH;QAClC;IACF,GACA;QAACzC;QAAgBK,KAAKmB,SAAS;QAAE1C;KAAgB;IAGnDhC,0BACE,SAAS+F;QACP,IAAItD,cAAcT,gBAAgBT,KAAK,KAAKe,iBAAiB;YAC3D;QACF;QAEA,IAAIN,gBAAgBT,KAAK,EAAE;YACzBgB,mBAAmB;YACnBZ,eAAe,MAAMK,gBAAgBK,MAAM;QAC7C,OAAO,IAAIM,gBAAgBwB,OAAO,IAAI,CAAC1B,YAAY;YACjDC,cAAc;QAChB,OAAO;YACLH,mBAAmB;QACrB;QAEA,OAAO;YACL+B,aAAavB,eAAeoB,OAAO;QACrC;IACF,GACA;QAACnC;QAAiBM;QAAiBG;QAAYd;KAAe;IAGhE,MAAMqE,oBAAoB1G,MAAMsD,MAAM,CAAiB,CAAC;IACxD,MAAMqD,mBAAmB3G,MAAMsD,MAAM,CAAgB;QAAEsD,OAAO,CAAC;IAAE;IAEjElG,0BAA0B;QACxBgG,kBAAkB7B,OAAO,GAAG,CAAC;IAC/B,GAAG;QAACf;QAAgBF;QAAgBC;KAAe;IAEnD,IAAIb,iBAAiB;QACnB2D,iBAAiB9B,OAAO,CAAC+B,KAAK,GAAG/F,wCAAwC;YACvEU;YACAwC;YACAC;YACAE;QACF;QAEA,IAAIrC,oBAAoB;YACtB8E,iBAAiB9B,OAAO,CAAC+B,KAAK,CAACC,aAAa,GAAG;QACjD;IACF;IAEA,IAAIjD,gBAAgB;QAClB8C,kBAAkB7B,OAAO,CAACiC,OAAO,GAAGlC;QACpC8B,kBAAkB7B,OAAO,CAACkC,MAAM,GAAGjC;IACrC;IAEA,IAAIjB,gBAAgB;QAClB6C,kBAAkB7B,OAAO,CAACmC,OAAO,GAAG1B;IACtC;IAEA,IAAIxB,gBAAgB;QAClB4C,kBAAkB7B,OAAO,CAACoC,WAAW,GAAGzB;QAExC,IAAI7D,mBAAmB,CAACkC,gBAAgB;YACtC6C,kBAAkB7B,OAAO,CAACmC,OAAO,GAAGzB;QACtC;QAEA,IAAI,CAAC1D,oBAAoB;YACvB8E,iBAAiB9B,OAAO,CAACoC,WAAW,GAAGzB;QACzC;IACF;IAEA,IAAI1B,kBAAkBF,gBAAgB;QACpC8C,kBAAkB7B,OAAO,CAACqC,YAAY,GAAGvB;QAEzC,IAAI,CAAC9D,oBAAoB;YACvB8E,iBAAiB9B,OAAO,CAACqC,YAAY,GAAGvB;QAC1C;IACF;IAEA,IAAI3C,iBAAiB;QACnB2D,iBAAiB9B,OAAO,CAACsC,gBAAgB,GAAGvB;QAC5Ce,iBAAiB9B,OAAO,CAACuC,cAAc,GAAGvB;IAC5C;IAEA,OAAO;QACLxE;QACAY,OAAOe;QACPG;QACAc;QACAoD,gBAAgBX,kBAAkB7B,OAAO;QACzCyC,eAAeX,iBAAiB9B,OAAO;QACvCX;QACAqD,SAASzB;QACT,4FAA4F;QAC5F,kCAAkC;QAClC0B,iBAAiB,CAACxE,mBAAmBjB,uBAAuBU,YAAYyD;QACxE,2BAA2B;QAC3B,EAAE;QACF,+FAA+F;QAC/F,qFAAqF;QACrF,mFAAmF;QACnF,gFAAgF;QAChFuB,gBAAgB1B;IAClB;AACF,EAAE"}
|
package/dist/cssm/lib/fx.js
CHANGED
|
@@ -4,15 +4,62 @@
|
|
|
4
4
|
*/ export function easeInOutSine(x) {
|
|
5
5
|
return 0.5 * (1 - Math.cos(Math.PI * x));
|
|
6
6
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
7
|
+
/**
|
|
8
|
+
* JS-реализация cubic bezier
|
|
9
|
+
*
|
|
10
|
+
* Алгебраический метод решения взят из PRа {@link https://github.com/gre/bezier-easing/pull/57}
|
|
11
|
+
*/ export function cubicBezier(mX1, mY1, mX2, mY2) {
|
|
12
|
+
if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) {
|
|
13
|
+
throw new Error('Bezier x values must be in [0, 1] range');
|
|
14
|
+
}
|
|
15
|
+
if (mX1 === mY1 && mX2 === mY2) {
|
|
16
|
+
return LinearEasing;
|
|
17
|
+
}
|
|
18
|
+
const a = 6 * (3 * mX1 - 3 * mX2 + 1);
|
|
19
|
+
const b = 6 * (mX2 - 2 * mX1);
|
|
20
|
+
const c = 3 * mX1;
|
|
21
|
+
const a2 = a * a;
|
|
22
|
+
const b2 = b * b;
|
|
23
|
+
const d = b / a;
|
|
24
|
+
const e = 3 * b * c / a2 - b2 * b / (a2 * a);
|
|
25
|
+
const w1 = 2 * c / a - b2 / a2;
|
|
26
|
+
const w = w1 * w1 * w1;
|
|
27
|
+
const o = 3 / a;
|
|
28
|
+
const ay = 3 * mY1 - 3 * mY2 + 1;
|
|
29
|
+
const by = mY2 - 2 * mY1;
|
|
30
|
+
const cy = 3 * mY1;
|
|
31
|
+
const funcX2T = a ? x2t : LinearEasing;
|
|
32
|
+
return (x)=>{
|
|
33
|
+
if (x === 0 || x === 1) {
|
|
34
|
+
return x;
|
|
35
|
+
}
|
|
36
|
+
return funcY(funcX2T(x, e, o, w, d), ay, by, cy);
|
|
15
37
|
};
|
|
16
38
|
}
|
|
39
|
+
function LinearEasing(x) {
|
|
40
|
+
return x;
|
|
41
|
+
}
|
|
42
|
+
function x2t(x, a, b, c, d) {
|
|
43
|
+
const q = a + b * x;
|
|
44
|
+
const s = q ** 2 + c;
|
|
45
|
+
if (s > 0) {
|
|
46
|
+
const root = Math.sqrt(s);
|
|
47
|
+
return Math.cbrt(q + root) + Math.cbrt(q - root) - d;
|
|
48
|
+
}
|
|
49
|
+
const l = Math.cbrt(Math.sqrt(q * q - s));
|
|
50
|
+
const angle = q ? Math.atan(Math.sqrt(-s) / q) : -Math.PI / 2;
|
|
51
|
+
let φ;
|
|
52
|
+
if (b < 0) {
|
|
53
|
+
φ = (q > 0 ? 2 * Math.PI : Math.PI) - angle;
|
|
54
|
+
} else if (d < 0) {
|
|
55
|
+
φ = (q > 0 ? 2 * Math.PI : -3 * Math.PI) + angle;
|
|
56
|
+
} else {
|
|
57
|
+
φ = (q > 0 ? 0 : Math.PI) + angle;
|
|
58
|
+
}
|
|
59
|
+
return 2 * l * Math.cos(φ / 3) - d;
|
|
60
|
+
}
|
|
61
|
+
function funcY(t, ay, by, cy) {
|
|
62
|
+
return ((ay * t + 3 * by) * t + cy) * t;
|
|
63
|
+
}
|
|
17
64
|
|
|
18
65
|
//# sourceMappingURL=fx.js.map
|
package/dist/cssm/lib/fx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/fx.ts"],"sourcesContent":["/**\n * ease function\n * @param x absolute progress of the animation in bounds 0 (beginning) and 1 (end)\n */\nexport function easeInOutSine(x: number): number {\n return 0.5 * (1 - Math.cos(Math.PI * x));\n}\n\nexport function cubicBezier(
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/fx.ts"],"sourcesContent":["/**\n * ease function\n * @param x absolute progress of the animation in bounds 0 (beginning) and 1 (end)\n */\nexport function easeInOutSine(x: number): number {\n return 0.5 * (1 - Math.cos(Math.PI * x));\n}\n\n/**\n * JS-реализация cubic bezier\n *\n * Алгебраический метод решения взят из PRа {@link https://github.com/gre/bezier-easing/pull/57}\n */\nexport function cubicBezier(mX1: number, mY1: number, mX2: number, mY2: number) {\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) {\n throw new Error('Bezier x values must be in [0, 1] range');\n }\n\n if (mX1 === mY1 && mX2 === mY2) {\n return LinearEasing;\n }\n\n const a = 6 * (3 * mX1 - 3 * mX2 + 1);\n const b = 6 * (mX2 - 2 * mX1);\n const c = 3 * mX1;\n const a2 = a * a;\n const b2 = b * b;\n const d = b / a;\n const e = (3 * b * c) / a2 - (b2 * b) / (a2 * a);\n const w1 = (2 * c) / a - b2 / a2;\n const w = w1 * w1 * w1;\n const o = 3 / a;\n const ay = 3 * mY1 - 3 * mY2 + 1;\n const by = mY2 - 2 * mY1;\n const cy = 3 * mY1;\n\n const funcX2T = a ? x2t : LinearEasing;\n\n return (x: number) => {\n if (x === 0 || x === 1) {\n return x;\n }\n return funcY(funcX2T(x, e, o, w, d), ay, by, cy);\n };\n}\n\nfunction LinearEasing(x: number) {\n return x;\n}\n\nfunction x2t(x: number, a: number, b: number, c: number, d: number) {\n const q = a + b * x;\n const s = q ** 2 + c;\n if (s > 0) {\n const root = Math.sqrt(s);\n return Math.cbrt(q + root) + Math.cbrt(q - root) - d;\n }\n const l = Math.cbrt(Math.sqrt(q * q - s));\n const angle = q ? Math.atan(Math.sqrt(-s) / q) : -Math.PI / 2;\n let φ;\n if (b < 0) {\n φ = (q > 0 ? 2 * Math.PI : Math.PI) - angle;\n } else if (d < 0) {\n φ = (q > 0 ? 2 * Math.PI : -3 * Math.PI) + angle;\n } else {\n φ = (q > 0 ? 0 : Math.PI) + angle;\n }\n return 2 * l * Math.cos(φ / 3) - d;\n}\n\nfunction funcY(t: number, ay: number, by: number, cy: number) {\n return ((ay * t + 3 * by) * t + cy) * t;\n}\n"],"names":["easeInOutSine","x","Math","cos","PI","cubicBezier","mX1","mY1","mX2","mY2","Error","LinearEasing","a","b","c","a2","b2","d","e","w1","w","o","ay","by","cy","funcX2T","x2t","funcY","q","s","root","sqrt","cbrt","l","angle","atan","φ","t"],"mappings":"AAAA;;;CAGC,GACD,OAAO,SAASA,cAAcC,CAAS;IACrC,OAAO,MAAO,CAAA,IAAIC,KAAKC,GAAG,CAACD,KAAKE,EAAE,GAAGH,EAAC;AACxC;AAEA;;;;CAIC,GACD,OAAO,SAASI,YAAYC,GAAW,EAAEC,GAAW,EAAEC,GAAW,EAAEC,GAAW;IAC5E,IAAI,CAAE,CAAA,KAAKH,OAAOA,OAAO,KAAK,KAAKE,OAAOA,OAAO,CAAA,GAAI;QACnD,MAAM,IAAIE,MAAM;IAClB;IAEA,IAAIJ,QAAQC,OAAOC,QAAQC,KAAK;QAC9B,OAAOE;IACT;IAEA,MAAMC,IAAI,IAAK,CAAA,IAAIN,MAAM,IAAIE,MAAM,CAAA;IACnC,MAAMK,IAAI,IAAKL,CAAAA,MAAM,IAAIF,GAAE;IAC3B,MAAMQ,IAAI,IAAIR;IACd,MAAMS,KAAKH,IAAIA;IACf,MAAMI,KAAKH,IAAIA;IACf,MAAMI,IAAIJ,IAAID;IACd,MAAMM,IAAI,AAAC,IAAIL,IAAIC,IAAKC,KAAK,AAACC,KAAKH,IAAME,CAAAA,KAAKH,CAAAA;IAC9C,MAAMO,KAAK,AAAC,IAAIL,IAAKF,IAAII,KAAKD;IAC9B,MAAMK,IAAID,KAAKA,KAAKA;IACpB,MAAME,IAAI,IAAIT;IACd,MAAMU,KAAK,IAAIf,MAAM,IAAIE,MAAM;IAC/B,MAAMc,KAAKd,MAAM,IAAIF;IACrB,MAAMiB,KAAK,IAAIjB;IAEf,MAAMkB,UAAUb,IAAIc,MAAMf;IAE1B,OAAO,CAACV;QACN,IAAIA,MAAM,KAAKA,MAAM,GAAG;YACtB,OAAOA;QACT;QACA,OAAO0B,MAAMF,QAAQxB,GAAGiB,GAAGG,GAAGD,GAAGH,IAAIK,IAAIC,IAAIC;IAC/C;AACF;AAEA,SAASb,aAAaV,CAAS;IAC7B,OAAOA;AACT;AAEA,SAASyB,IAAIzB,CAAS,EAAEW,CAAS,EAAEC,CAAS,EAAEC,CAAS,EAAEG,CAAS;IAChE,MAAMW,IAAIhB,IAAIC,IAAIZ;IAClB,MAAM4B,IAAID,KAAK,IAAId;IACnB,IAAIe,IAAI,GAAG;QACT,MAAMC,OAAO5B,KAAK6B,IAAI,CAACF;QACvB,OAAO3B,KAAK8B,IAAI,CAACJ,IAAIE,QAAQ5B,KAAK8B,IAAI,CAACJ,IAAIE,QAAQb;IACrD;IACA,MAAMgB,IAAI/B,KAAK8B,IAAI,CAAC9B,KAAK6B,IAAI,CAACH,IAAIA,IAAIC;IACtC,MAAMK,QAAQN,IAAI1B,KAAKiC,IAAI,CAACjC,KAAK6B,IAAI,CAAC,CAACF,KAAKD,KAAK,CAAC1B,KAAKE,EAAE,GAAG;IAC5D,IAAIgC;IACJ,IAAIvB,IAAI,GAAG;QACTuB,IAAI,AAACR,CAAAA,IAAI,IAAI,IAAI1B,KAAKE,EAAE,GAAGF,KAAKE,EAAE,AAAD,IAAK8B;IACxC,OAAO,IAAIjB,IAAI,GAAG;QAChBmB,IAAI,AAACR,CAAAA,IAAI,IAAI,IAAI1B,KAAKE,EAAE,GAAG,CAAC,IAAIF,KAAKE,EAAE,AAAD,IAAK8B;IAC7C,OAAO;QACLE,IAAI,AAACR,CAAAA,IAAI,IAAI,IAAI1B,KAAKE,EAAE,AAAD,IAAK8B;IAC9B;IACA,OAAO,IAAID,IAAI/B,KAAKC,GAAG,CAACiC,IAAI,KAAKnB;AACnC;AAEA,SAASU,MAAMU,CAAS,EAAEf,EAAU,EAAEC,EAAU,EAAEC,EAAU;IAC1D,OAAO,AAAC,CAAA,AAACF,CAAAA,KAAKe,IAAI,IAAId,EAAC,IAAKc,IAAIb,EAAC,IAAKa;AACxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/layouts/gaps.ts"],"sourcesContent":["import type { LiteralUnion } from '../../types';\nimport styles from '../../styles/gaps.module.css';\n\
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/layouts/gaps.ts"],"sourcesContent":["import type { LiteralUnion } from '../../types';\nimport type { DesignSystemSize } from './types';\nimport styles from '../../styles/gaps.module.css';\n\nexport const columnGapClassNames: Record<DesignSystemSize, string> = {\n '2xs': styles['-column-gap--2xs'],\n 'xs': styles['-column-gap--xs'],\n 's': styles['-column-gap--s'],\n 'm': styles['-column-gap--m'],\n 'l': styles['-column-gap--l'],\n 'xl': styles['-column-gap--xl'],\n '2xl': styles['-column-gap--2xl'],\n '3xl': styles['-column-gap--3xl'],\n '4xl': styles['-column-gap--4xl'],\n};\n\nexport const rowGapClassNames: Record<DesignSystemSize, string> = {\n '2xs': styles['-row-gap--2xs'],\n 'xs': styles['-row-gap--xs'],\n 's': styles['-row-gap--s'],\n 'm': styles['-row-gap--m'],\n 'l': styles['-row-gap--l'],\n 'xl': styles['-row-gap--xl'],\n '2xl': styles['-row-gap--2xl'],\n '3xl': styles['-row-gap--3xl'],\n '4xl': styles['-row-gap--4xl'],\n};\n\nexport type GapProp = LiteralUnion<DesignSystemSize, number>;\n\nexport type GapsProp = GapProp | [GapProp, GapProp];\n\n/**\n * Возвращает массив отступов [rowGap, columnGap]\n */\nexport function calculateGap(\n gap: GapsProp | undefined,\n): [GapProp, GapProp] | [undefined, undefined] {\n if (gap === undefined) {\n return [undefined, undefined];\n }\n if (typeof gap === 'number' || typeof gap === 'string') {\n return [gap, gap];\n }\n\n return gap;\n}\n"],"names":["styles","columnGapClassNames","rowGapClassNames","calculateGap","gap","undefined"],"mappings":"AAEA,OAAOA,YAAY,+BAA+B;AAElD,OAAO,MAAMC,sBAAwD;IACnE,OAAOD,MAAM,CAAC,mBAAmB;IACjC,MAAMA,MAAM,CAAC,kBAAkB;IAC/B,KAAKA,MAAM,CAAC,iBAAiB;IAC7B,KAAKA,MAAM,CAAC,iBAAiB;IAC7B,KAAKA,MAAM,CAAC,iBAAiB;IAC7B,MAAMA,MAAM,CAAC,kBAAkB;IAC/B,OAAOA,MAAM,CAAC,mBAAmB;IACjC,OAAOA,MAAM,CAAC,mBAAmB;IACjC,OAAOA,MAAM,CAAC,mBAAmB;AACnC,EAAE;AAEF,OAAO,MAAME,mBAAqD;IAChE,OAAOF,MAAM,CAAC,gBAAgB;IAC9B,MAAMA,MAAM,CAAC,eAAe;IAC5B,KAAKA,MAAM,CAAC,cAAc;IAC1B,KAAKA,MAAM,CAAC,cAAc;IAC1B,KAAKA,MAAM,CAAC,cAAc;IAC1B,MAAMA,MAAM,CAAC,eAAe;IAC5B,OAAOA,MAAM,CAAC,gBAAgB;IAC9B,OAAOA,MAAM,CAAC,gBAAgB;IAC9B,OAAOA,MAAM,CAAC,gBAAgB;AAChC,EAAE;AAMF;;CAEC,GACD,OAAO,SAASG,aACdC,GAAyB;IAEzB,IAAIA,QAAQC,WAAW;QACrB,OAAO;YAACA;YAAWA;SAAU;IAC/B;IACA,IAAI,OAAOD,QAAQ,YAAY,OAAOA,QAAQ,UAAU;QACtD,OAAO;YAACA;YAAKA;SAAI;IACnB;IAEA,OAAOA;AACT"}
|