@vkontakte/vkui 4.30.0 → 4.31.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/.cache/.eslintcache +1 -1
- package/.cache/.stylelintcache +1 -1
- package/.cache/.tsbuildinfo +38 -27
- package/.cache/ts/src/components/Calendar/Calendar.d.ts +1 -1
- package/.cache/ts/src/components/CalendarHeader/CalendarHeader.d.ts +2 -0
- package/.cache/ts/src/components/CalendarRange/CalendarRange.d.ts +1 -1
- package/.cache/ts/src/components/DateInput/DateInput.d.ts +1 -1
- package/.cache/ts/src/components/DateRangeInput/DateRangeInput.d.ts +1 -1
- package/.cache/ts/src/hooks/useAdaptivity.d.ts +1 -0
- package/.cache/ts/src/index.d.ts +1 -0
- package/dist/cjs/components/ActionSheet/ActionSheet.js +2 -9
- package/dist/cjs/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cjs/components/Calendar/Calendar.d.ts +1 -1
- package/dist/cjs/components/Calendar/Calendar.js +6 -2
- package/dist/cjs/components/Calendar/Calendar.js.map +1 -1
- package/dist/cjs/components/CalendarHeader/CalendarHeader.d.ts +2 -0
- package/dist/cjs/components/CalendarHeader/CalendarHeader.js +15 -9
- package/dist/cjs/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cjs/components/CalendarRange/CalendarRange.d.ts +1 -1
- package/dist/cjs/components/CalendarRange/CalendarRange.js +7 -3
- package/dist/cjs/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cjs/components/DateInput/DateInput.d.ts +1 -1
- package/dist/cjs/components/DateInput/DateInput.js +7 -3
- package/dist/cjs/components/DateInput/DateInput.js.map +1 -1
- package/dist/cjs/components/DateRangeInput/DateRangeInput.d.ts +1 -1
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js +6 -2
- package/dist/cjs/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cjs/components/ModalCard/ModalCard.js +3 -1
- package/dist/cjs/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js +4 -2
- package/dist/cjs/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cjs/components/ModalPage/ModalPage.js +6 -2
- package/dist/cjs/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js +2 -10
- package/dist/cjs/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js +3 -4
- package/dist/cjs/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/cjs/components/PanelHeader/PanelHeader.js +8 -6
- package/dist/cjs/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cjs/components/PopoutRoot/PopoutRoot.js +3 -1
- package/dist/cjs/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/cjs/hooks/useAdaptivity.d.ts +1 -0
- package/dist/cjs/hooks/useAdaptivity.js +18 -1
- package/dist/cjs/hooks/useAdaptivity.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +8 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/components/ActionSheet/ActionSheet.js +2 -8
- package/dist/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/components/Calendar/Calendar.d.ts +1 -1
- package/dist/components/Calendar/Calendar.js +6 -2
- package/dist/components/Calendar/Calendar.js.map +1 -1
- package/dist/components/CalendarHeader/CalendarHeader.d.ts +2 -0
- package/dist/components/CalendarHeader/CalendarHeader.js +15 -9
- package/dist/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/components/CalendarRange/CalendarRange.d.ts +1 -1
- package/dist/components/CalendarRange/CalendarRange.js +7 -3
- package/dist/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/components/DateInput/DateInput.d.ts +1 -1
- package/dist/components/DateInput/DateInput.js +7 -3
- package/dist/components/DateInput/DateInput.js.map +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +1 -1
- package/dist/components/DateRangeInput/DateRangeInput.js +6 -2
- package/dist/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/components/ModalCard/ModalCard.js +3 -2
- package/dist/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/components/ModalCardBase/ModalCardBase.js +5 -4
- package/dist/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/components/ModalPage/ModalPage.js +5 -3
- package/dist/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/components/ModalPageHeader/ModalPageHeader.js +2 -9
- package/dist/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/components/ModalRoot/ModalRootAdaptive.js +3 -5
- package/dist/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/components/PanelHeader/PanelHeader.js +8 -6
- package/dist/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/components/PopoutRoot/PopoutRoot.js +3 -2
- package/dist/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/components.css +18 -18
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheet/ActionSheet.js +2 -8
- package/dist/cssm/components/ActionSheet/ActionSheet.js.map +1 -1
- package/dist/cssm/components/Button/Button.css +9 -9
- package/dist/cssm/components/ButtonGroup/ButtonGroup.css +1 -1
- package/dist/cssm/components/Calendar/Calendar.css +1 -1
- package/dist/cssm/components/Calendar/Calendar.d.ts +1 -1
- package/dist/cssm/components/Calendar/Calendar.js +6 -2
- package/dist/cssm/components/Calendar/Calendar.js.map +1 -1
- package/dist/cssm/components/CalendarDay/CalendarDay.css +1 -1
- package/dist/cssm/components/CalendarDays/CalendarDays.css +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.css +1 -1
- package/dist/cssm/components/CalendarHeader/CalendarHeader.d.ts +2 -0
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js +15 -9
- package/dist/cssm/components/CalendarHeader/CalendarHeader.js.map +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.css +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.d.ts +1 -1
- package/dist/cssm/components/CalendarRange/CalendarRange.js +7 -3
- package/dist/cssm/components/CalendarRange/CalendarRange.js.map +1 -1
- package/dist/cssm/components/CalendarTime/CalendarTime.css +1 -1
- package/dist/cssm/components/Card/Card.css +2 -2
- package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
- package/dist/cssm/components/Cell/Cell.css +1 -1
- package/dist/cssm/components/CellButton/CellButton.css +1 -1
- package/dist/cssm/components/Checkbox/Checkbox.css +1 -1
- package/dist/cssm/components/ChipsInput/ChipsInput.css +1 -1
- package/dist/cssm/components/CustomSelectDropdown/CustomSelectDropdown.css +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.css +1 -1
- package/dist/cssm/components/DateInput/DateInput.d.ts +1 -1
- package/dist/cssm/components/DateInput/DateInput.js +7 -3
- package/dist/cssm/components/DateInput/DateInput.js.map +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.d.ts +1 -1
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js +6 -2
- package/dist/cssm/components/DateRangeInput/DateRangeInput.js.map +1 -1
- package/dist/cssm/components/FixedLayout/FixedLayout.css +1 -1
- package/dist/cssm/components/FormField/FormField.css +2 -2
- package/dist/cssm/components/FormLayoutGroup/FormLayoutGroup.css +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +1 -1
- package/dist/cssm/components/Input/Input.css +1 -1
- package/dist/cssm/components/InputLike/InputLike.css +1 -1
- package/dist/cssm/components/InputLike/InputLikeDivider.css +1 -1
- package/dist/cssm/components/ModalCard/ModalCard.js +3 -2
- package/dist/cssm/components/ModalCard/ModalCard.js.map +1 -1
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js +5 -4
- package/dist/cssm/components/ModalCardBase/ModalCardBase.js.map +1 -1
- package/dist/cssm/components/ModalPage/ModalPage.js +5 -3
- package/dist/cssm/components/ModalPage/ModalPage.js.map +1 -1
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js +2 -9
- package/dist/cssm/components/ModalPageHeader/ModalPageHeader.js.map +1 -1
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js +3 -5
- package/dist/cssm/components/ModalRoot/ModalRootAdaptive.js.map +1 -1
- package/dist/cssm/components/Pagination/Pagination.css +1 -1
- package/dist/cssm/components/PanelHeader/PanelHeader.js +8 -6
- package/dist/cssm/components/PanelHeader/PanelHeader.js.map +1 -1
- package/dist/cssm/components/PopoutRoot/PopoutRoot.js +3 -2
- package/dist/cssm/components/PopoutRoot/PopoutRoot.js.map +1 -1
- package/dist/cssm/components/Popper/Popper.css +1 -1
- package/dist/cssm/components/Radio/Radio.css +1 -1
- package/dist/cssm/components/RadioGroup/RadioGroup.css +1 -1
- package/dist/cssm/components/Removable/Removable.css +1 -1
- package/dist/cssm/components/RichCell/RichCell.css +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControl.css +1 -1
- package/dist/cssm/components/SegmentedControl/SegmentedControlOption/SegmentedControlOption.css +1 -1
- package/dist/cssm/components/SimpleCell/SimpleCell.css +1 -1
- package/dist/cssm/components/Typography/Caption/Caption.css +1 -1
- package/dist/cssm/components/Typography/Paragraph/Paragraph.css +1 -1
- package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
- package/dist/cssm/components/Typography/Title/Title.css +1 -1
- package/dist/cssm/hooks/useAdaptivity.d.ts +1 -0
- package/dist/cssm/hooks/useAdaptivity.js +13 -1
- package/dist/cssm/hooks/useAdaptivity.js.map +1 -1
- package/dist/cssm/index.d.ts +1 -0
- package/dist/cssm/index.js +1 -0
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/styles/components.css +18 -18
- package/dist/cssm/styles/themes.css +1 -1
- package/dist/hooks/useAdaptivity.d.ts +1 -0
- package/dist/hooks/useAdaptivity.js +13 -1
- package/dist/hooks/useAdaptivity.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/vkui.css +19 -19
- package/dist/vkui.css.map +1 -1
- package/jest.unit.config.js +1 -0
- package/package.json +4 -2
- package/postcss-custom-properties-fallback/__tests__/custom_properties.css +5 -0
- package/postcss-custom-properties-fallback/index.js +83 -0
- package/src/components/ActionSheet/ActionSheet.tsx +2 -6
- package/src/components/Calendar/Calendar.tsx +6 -0
- package/src/components/CalendarHeader/CalendarHeader.css +3 -0
- package/src/components/CalendarHeader/CalendarHeader.tsx +18 -2
- package/src/components/CalendarRange/CalendarRange.tsx +6 -0
- package/src/components/Cell/Cell.css +1 -1
- package/src/components/CellButton/CellButton.css +1 -1
- package/src/components/Checkbox/Checkbox.css +1 -1
- package/src/components/DateInput/DateInput.tsx +7 -1
- package/src/components/DateRangeInput/DateRangeInput.tsx +6 -0
- package/src/components/FixedLayout/FixedLayout.css +10 -2
- package/src/components/FormItem/FormItem.css +1 -0
- package/src/components/FormLayoutGroup/FormLayoutGroup.css +2 -1
- package/src/components/ModalCard/ModalCard.tsx +3 -8
- package/src/components/ModalCardBase/ModalCardBase.tsx +6 -10
- package/src/components/ModalPage/ModalPage.tsx +6 -9
- package/src/components/ModalPageHeader/ModalPageHeader.tsx +2 -6
- package/src/components/ModalRoot/ModalRootAdaptive.tsx +3 -9
- package/src/components/ModalRoot/Readme.md +1 -1
- package/src/components/PanelHeader/PanelHeader.tsx +19 -18
- package/src/components/PanelHeader/Readme.md +2 -2
- package/src/components/PopoutRoot/PopoutRoot.tsx +3 -8
- package/src/components/Popper/Popper.css +14 -2
- package/src/components/Radio/Radio.css +1 -1
- package/src/components/RadioGroup/RadioGroup.css +1 -1
- package/src/components/Removable/Removable.css +2 -2
- package/src/components/RichCell/RichCell.css +1 -1
- package/src/components/SimpleCell/SimpleCell.css +1 -1
- package/src/components/Tooltip/Readme.md +35 -47
- package/src/hooks/useAdaptivity.ts +15 -0
- package/src/index.ts +1 -0
- package/src/styles/constants.css +1 -0
- package/tsconfig.json +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/DateRangeInput/DateRangeInput.tsx"],"names":["elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","DateRangeInput","shouldDisableDate","disableFuture","disablePast","onChange","calendarPlacement","style","className","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthAriaLabel","nextMonthAriaLabel","changeDayAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","changeStartDayAriaLabel","changeStartMonthAriaLabel","changeStartYearAriaLabel","changeEndDayAriaLabel","changeEndMonthAriaLabel","changeEndYearAriaLabel","clearFieldAriaLabel","showCalendarAriaLabel","props","daysStartRef","React","useRef","monthsStartRef","yearsStartRef","daysEndRef","monthsEndRef","yearsEndRef","onInternalValueChange","useCallback","internalValue","isStartValid","isEndValid","i","formattedStartValue","formattedEndValue","mask","valueExists","Array","isArray","now","Date","start","end","refs","useMemo","maxElement","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","sizeY","onCalendarChange"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { format, isMatch, parse, isAfter } from \"../../lib/date\";\nimport { Icon16Clear, Icon20CalendarOutline } from \"@vkontakte/icons\";\nimport {\n CalendarRange,\n CalendarRangeProps,\n} from \"../CalendarRange/CalendarRange\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport IconButton from \"../IconButton/IconButton\";\nimport { HasRootRef } from \"../../types\";\nimport { useDateInput } from \"../../hooks/useDateInput\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { classNames } from \"../../lib/classNames\";\nimport { multiRef } from \"../../lib/utils\";\nimport { FormField } from \"../FormField/FormField\";\nimport { InputLike } from \"../InputLike/InputLike\";\nimport { InputLikeDivider } from \"../InputLike/InputLikeDivider\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport \"./DateRangeInput.css\";\n\nexport interface DateRangeInputProps\n extends Omit<React.InputHTMLAttributes<HTMLDivElement>, \"value\" | \"onChange\">,\n Pick<\n CalendarRangeProps,\n | \"disablePast\"\n | \"disableFuture\"\n | \"shouldDisableDate\"\n | \"onChange\"\n | \"value\"\n | \"weekStartsOn\"\n | \"disablePickers\"\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"changeDayAriaLabel\"\n >,\n HasRootRef<HTMLDivElement> {\n calendarPlacement?: Placement;\n closeOnChange?: boolean;\n clearFieldAriaLabel?: string;\n showCalendarAriaLabel?: string;\n changeStartDayAriaLabel?: string;\n changeStartMonthAriaLabel?: string;\n changeStartYearAriaLabel?: string;\n changeEndDayAriaLabel?: string;\n changeEndMonthAriaLabel?: string;\n changeEndYearAriaLabel?: string;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n case 3:\n max = 31;\n break;\n case 1:\n case 4:\n max = 12;\n break;\n case 2:\n case 5:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarRangeProps[\"value\"]) => {\n const newValue = [\"\", \"\", \"\", \"\", \"\", \"\"];\n if (value?.[0]) {\n newValue[0] = String(value[0].getDate()).padStart(2, \"0\");\n newValue[1] = String(value[0].getMonth() + 1).padStart(2, \"0\");\n newValue[2] = String(value[0].getFullYear()).padStart(4, \"0\");\n }\n if (value?.[1]) {\n newValue[3] = String(value[1].getDate()).padStart(2, \"0\");\n newValue[4] = String(value[1].getMonth() + 1).padStart(2, \"0\");\n newValue[5] = String(value[1].getFullYear()).padStart(4, \"0\");\n }\n return newValue;\n};\n\nexport const DateRangeInput: React.FC<DateRangeInputProps> = ({\n shouldDisableDate,\n disableFuture,\n disablePast,\n value,\n onChange,\n calendarPlacement = \"bottom-start\",\n style,\n className,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeDayAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n changeStartDayAriaLabel = \"Изменить день начала\",\n changeStartMonthAriaLabel = \"Изменить месяц начала\",\n changeStartYearAriaLabel = \"Изменить год начала\",\n changeEndDayAriaLabel = \"Изменить день окончания\",\n changeEndMonthAriaLabel = \"Изменить месяц окончания\",\n changeEndYearAriaLabel = \"Изменить год окончания\",\n clearFieldAriaLabel = \"Очистить поле\",\n showCalendarAriaLabel = \"Показать календарь\",\n ...props\n}) => {\n const daysStartRef = React.useRef<HTMLSpanElement>(null);\n const monthsStartRef = React.useRef<HTMLSpanElement>(null);\n const yearsStartRef = React.useRef<HTMLSpanElement>(null);\n const daysEndRef = React.useRef<HTMLSpanElement>(null);\n const monthsEndRef = React.useRef<HTMLSpanElement>(null);\n const yearsEndRef = React.useRef<HTMLSpanElement>(null);\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n let isStartValid = true;\n let isEndValid = true;\n for (let i = 0; i <= 2; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isStartValid = false;\n }\n }\n for (let i = 3; i <= 5; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isEndValid = false;\n }\n }\n const formattedStartValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n const formattedEndValue = `${internalValue[3]}.${internalValue[4]}.${internalValue[5]}`;\n const mask = \"dd.MM.yyyy\";\n\n if (!isMatch(formattedStartValue, mask)) {\n isStartValid = false;\n }\n if (!isMatch(formattedEndValue, mask)) {\n isEndValid = false;\n }\n\n if (!isStartValid && !isEndValid) {\n return;\n }\n\n const valueExists = Array.isArray(value);\n const now = new Date();\n const start = isStartValid\n ? parse(formattedStartValue, mask, (valueExists && value?.[0]) || now)\n : null;\n const end = isEndValid\n ? parse(formattedEndValue, mask, (valueExists && value?.[1]) || now)\n : null;\n if (start && end && isAfter(end, start)) {\n onChange?.([start, end]);\n }\n },\n [onChange, value]\n );\n\n const refs = React.useMemo(\n () => [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ],\n [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ]\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement: 5,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n });\n\n const { sizeY } = useAdaptivity();\n\n const onCalendarChange = React.useCallback(\n (newValue?: Array<Date | null> | undefined) => {\n onChange?.(newValue);\n if (closeOnChange && newValue?.[1] && newValue[1] !== value?.[1]) {\n removeFocusFromField();\n }\n },\n [onChange, closeOnChange, value, removeFocusFromField]\n );\n\n return (\n <FormField\n vkuiClass={classNames(\"DateRangeInput\", `DateRangeInput--sizeY-${sizeY}`)}\n style={style}\n className={className}\n getRootRef={multiRef(rootRef, getRootRef)}\n after={\n value ? (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={clearFieldAriaLabel}\n onClick={clear}\n >\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={showCalendarAriaLabel}\n onClick={openCalendar}\n >\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <input\n type=\"hidden\"\n name={name}\n value={\n value\n ? `${value[0] ? format(value[0], \"DD.MM.YYYY\") : \"\"} - ${\n value[1] ? format(value[1], \"DD.MM.YYYY\") : \"\"\n }`\n : \"\"\n }\n />\n <span vkuiClass=\"DateInput__input\" onKeyDown={handleKeyDown}>\n <InputLike\n length={2}\n getRootRef={daysStartRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n aria-label={changeStartDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsStartRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n aria-label={changeStartMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsStartRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n aria-label={changeStartYearAriaLabel}\n />\n <InputLikeDivider>{\" — \"}</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={daysEndRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n aria-label={changeEndDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsEndRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n aria-label={changeEndMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsEndRef}\n index={5}\n onElementSelect={setFocusedElement}\n value={internalValue[5]}\n aria-label={changeEndYearAriaLabel}\n />\n </span>\n {open && (\n <Popper\n targetRef={rootRef}\n offsetDistance={8}\n placement={calendarPlacement}\n >\n <CalendarRange\n value={value}\n onChange={onCalendarChange}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onClose={closeCalendar}\n getRootRef={calendarRef}\n disablePickers={disablePickers}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n changeDayAriaLabel={changeDayAriaLabel}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"file":"DateRangeInput.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/DateRangeInput/DateRangeInput.tsx"],"names":["elementsConfig","index","length","min","max","getInternalValue","value","newValue","String","getDate","padStart","getMonth","getFullYear","DateRangeInput","shouldDisableDate","disableFuture","disablePast","onChange","calendarPlacement","style","className","closeOnChange","disablePickers","getRootRef","name","autoFocus","disabled","onClick","onFocus","prevMonthAriaLabel","nextMonthAriaLabel","changeDayAriaLabel","changeMonthAriaLabel","changeYearAriaLabel","changeStartDayAriaLabel","changeStartMonthAriaLabel","changeStartYearAriaLabel","changeEndDayAriaLabel","changeEndMonthAriaLabel","changeEndYearAriaLabel","clearFieldAriaLabel","showCalendarAriaLabel","prevMonthIcon","nextMonthIcon","props","daysStartRef","React","useRef","monthsStartRef","yearsStartRef","daysEndRef","monthsEndRef","yearsEndRef","onInternalValueChange","useCallback","internalValue","isStartValid","isEndValid","i","formattedStartValue","formattedEndValue","mask","valueExists","Array","isArray","now","Date","start","end","refs","useMemo","maxElement","rootRef","calendarRef","open","openCalendar","closeCalendar","handleKeyDown","setFocusedElement","handleFieldEnter","clear","removeFocusFromField","sizeY","onCalendarChange"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { format, isMatch, parse, isAfter } from \"../../lib/date\";\nimport { Icon16Clear, Icon20CalendarOutline } from \"@vkontakte/icons\";\nimport {\n CalendarRange,\n CalendarRangeProps,\n} from \"../CalendarRange/CalendarRange\";\nimport { Popper, Placement } from \"../Popper/Popper\";\nimport IconButton from \"../IconButton/IconButton\";\nimport { HasRootRef } from \"../../types\";\nimport { useDateInput } from \"../../hooks/useDateInput\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { classNames } from \"../../lib/classNames\";\nimport { multiRef } from \"../../lib/utils\";\nimport { FormField } from \"../FormField/FormField\";\nimport { InputLike } from \"../InputLike/InputLike\";\nimport { InputLikeDivider } from \"../InputLike/InputLikeDivider\";\nimport { callMultiple } from \"../../lib/callMultiple\";\nimport \"./DateRangeInput.css\";\n\nexport interface DateRangeInputProps\n extends Omit<React.InputHTMLAttributes<HTMLDivElement>, \"value\" | \"onChange\">,\n Pick<\n CalendarRangeProps,\n | \"disablePast\"\n | \"disableFuture\"\n | \"shouldDisableDate\"\n | \"onChange\"\n | \"value\"\n | \"weekStartsOn\"\n | \"disablePickers\"\n | \"prevMonthAriaLabel\"\n | \"nextMonthAriaLabel\"\n | \"changeMonthAriaLabel\"\n | \"changeYearAriaLabel\"\n | \"changeDayAriaLabel\"\n | \"prevMonthIcon\"\n | \"nextMonthIcon\"\n >,\n HasRootRef<HTMLDivElement> {\n calendarPlacement?: Placement;\n closeOnChange?: boolean;\n clearFieldAriaLabel?: string;\n showCalendarAriaLabel?: string;\n changeStartDayAriaLabel?: string;\n changeStartMonthAriaLabel?: string;\n changeStartYearAriaLabel?: string;\n changeEndDayAriaLabel?: string;\n changeEndMonthAriaLabel?: string;\n changeEndYearAriaLabel?: string;\n}\n\nconst elementsConfig = (index: number) => {\n let length = 2;\n let min = 1;\n let max = 0;\n\n switch (index) {\n case 0:\n case 3:\n max = 31;\n break;\n case 1:\n case 4:\n max = 12;\n break;\n case 2:\n case 5:\n max = 2100;\n min = 1900;\n length = 4;\n break;\n }\n\n return { length, min, max };\n};\n\nconst getInternalValue = (value: CalendarRangeProps[\"value\"]) => {\n const newValue = [\"\", \"\", \"\", \"\", \"\", \"\"];\n if (value?.[0]) {\n newValue[0] = String(value[0].getDate()).padStart(2, \"0\");\n newValue[1] = String(value[0].getMonth() + 1).padStart(2, \"0\");\n newValue[2] = String(value[0].getFullYear()).padStart(4, \"0\");\n }\n if (value?.[1]) {\n newValue[3] = String(value[1].getDate()).padStart(2, \"0\");\n newValue[4] = String(value[1].getMonth() + 1).padStart(2, \"0\");\n newValue[5] = String(value[1].getFullYear()).padStart(4, \"0\");\n }\n return newValue;\n};\n\nexport const DateRangeInput: React.FC<DateRangeInputProps> = ({\n shouldDisableDate,\n disableFuture,\n disablePast,\n value,\n onChange,\n calendarPlacement = \"bottom-start\",\n style,\n className,\n closeOnChange = true,\n disablePickers,\n getRootRef,\n name,\n autoFocus,\n disabled,\n onClick,\n onFocus,\n prevMonthAriaLabel,\n nextMonthAriaLabel,\n changeDayAriaLabel,\n changeMonthAriaLabel,\n changeYearAriaLabel,\n changeStartDayAriaLabel = \"Изменить день начала\",\n changeStartMonthAriaLabel = \"Изменить месяц начала\",\n changeStartYearAriaLabel = \"Изменить год начала\",\n changeEndDayAriaLabel = \"Изменить день окончания\",\n changeEndMonthAriaLabel = \"Изменить месяц окончания\",\n changeEndYearAriaLabel = \"Изменить год окончания\",\n clearFieldAriaLabel = \"Очистить поле\",\n showCalendarAriaLabel = \"Показать календарь\",\n prevMonthIcon,\n nextMonthIcon,\n ...props\n}) => {\n const daysStartRef = React.useRef<HTMLSpanElement>(null);\n const monthsStartRef = React.useRef<HTMLSpanElement>(null);\n const yearsStartRef = React.useRef<HTMLSpanElement>(null);\n const daysEndRef = React.useRef<HTMLSpanElement>(null);\n const monthsEndRef = React.useRef<HTMLSpanElement>(null);\n const yearsEndRef = React.useRef<HTMLSpanElement>(null);\n\n const onInternalValueChange = React.useCallback(\n (internalValue: string[]) => {\n let isStartValid = true;\n let isEndValid = true;\n for (let i = 0; i <= 2; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isStartValid = false;\n }\n }\n for (let i = 3; i <= 5; i += 1) {\n if (internalValue[i].length < elementsConfig(i).length) {\n isEndValid = false;\n }\n }\n const formattedStartValue = `${internalValue[0]}.${internalValue[1]}.${internalValue[2]}`;\n const formattedEndValue = `${internalValue[3]}.${internalValue[4]}.${internalValue[5]}`;\n const mask = \"dd.MM.yyyy\";\n\n if (!isMatch(formattedStartValue, mask)) {\n isStartValid = false;\n }\n if (!isMatch(formattedEndValue, mask)) {\n isEndValid = false;\n }\n\n if (!isStartValid && !isEndValid) {\n return;\n }\n\n const valueExists = Array.isArray(value);\n const now = new Date();\n const start = isStartValid\n ? parse(formattedStartValue, mask, (valueExists && value?.[0]) || now)\n : null;\n const end = isEndValid\n ? parse(formattedEndValue, mask, (valueExists && value?.[1]) || now)\n : null;\n if (start && end && isAfter(end, start)) {\n onChange?.([start, end]);\n }\n },\n [onChange, value]\n );\n\n const refs = React.useMemo(\n () => [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ],\n [\n daysStartRef,\n monthsStartRef,\n yearsStartRef,\n daysEndRef,\n monthsEndRef,\n yearsEndRef,\n ]\n );\n\n const {\n rootRef,\n calendarRef,\n open,\n openCalendar,\n closeCalendar,\n internalValue,\n handleKeyDown,\n setFocusedElement,\n handleFieldEnter,\n clear,\n removeFocusFromField,\n } = useDateInput({\n maxElement: 5,\n refs,\n autoFocus,\n disabled,\n elementsConfig,\n onChange,\n onInternalValueChange,\n getInternalValue,\n value,\n });\n\n const { sizeY } = useAdaptivity();\n\n const onCalendarChange = React.useCallback(\n (newValue?: Array<Date | null> | undefined) => {\n onChange?.(newValue);\n if (closeOnChange && newValue?.[1] && newValue[1] !== value?.[1]) {\n removeFocusFromField();\n }\n },\n [onChange, closeOnChange, value, removeFocusFromField]\n );\n\n return (\n <FormField\n vkuiClass={classNames(\"DateRangeInput\", `DateRangeInput--sizeY-${sizeY}`)}\n style={style}\n className={className}\n getRootRef={multiRef(rootRef, getRootRef)}\n after={\n value ? (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={clearFieldAriaLabel}\n onClick={clear}\n >\n <Icon16Clear />\n </IconButton>\n ) : (\n <IconButton\n hoverMode=\"opacity\"\n aria-label={showCalendarAriaLabel}\n onClick={openCalendar}\n >\n <Icon20CalendarOutline />\n </IconButton>\n )\n }\n disabled={disabled}\n onClick={callMultiple(handleFieldEnter, onClick)}\n onFocus={callMultiple(handleFieldEnter, onFocus)}\n {...props}\n >\n <input\n type=\"hidden\"\n name={name}\n value={\n value\n ? `${value[0] ? format(value[0], \"DD.MM.YYYY\") : \"\"} - ${\n value[1] ? format(value[1], \"DD.MM.YYYY\") : \"\"\n }`\n : \"\"\n }\n />\n <span vkuiClass=\"DateInput__input\" onKeyDown={handleKeyDown}>\n <InputLike\n length={2}\n getRootRef={daysStartRef}\n index={0}\n onElementSelect={setFocusedElement}\n value={internalValue[0]}\n aria-label={changeStartDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsStartRef}\n index={1}\n onElementSelect={setFocusedElement}\n value={internalValue[1]}\n aria-label={changeStartMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsStartRef}\n index={2}\n onElementSelect={setFocusedElement}\n value={internalValue[2]}\n aria-label={changeStartYearAriaLabel}\n />\n <InputLikeDivider>{\" — \"}</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={daysEndRef}\n index={3}\n onElementSelect={setFocusedElement}\n value={internalValue[3]}\n aria-label={changeEndDayAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={2}\n getRootRef={monthsEndRef}\n index={4}\n onElementSelect={setFocusedElement}\n value={internalValue[4]}\n aria-label={changeEndMonthAriaLabel}\n />\n <InputLikeDivider>.</InputLikeDivider>\n <InputLike\n length={4}\n getRootRef={yearsEndRef}\n index={5}\n onElementSelect={setFocusedElement}\n value={internalValue[5]}\n aria-label={changeEndYearAriaLabel}\n />\n </span>\n {open && (\n <Popper\n targetRef={rootRef}\n offsetDistance={8}\n placement={calendarPlacement}\n >\n <CalendarRange\n value={value}\n onChange={onCalendarChange}\n disablePast={disablePast}\n disableFuture={disableFuture}\n shouldDisableDate={shouldDisableDate}\n onClose={closeCalendar}\n getRootRef={calendarRef}\n disablePickers={disablePickers}\n prevMonthAriaLabel={prevMonthAriaLabel}\n nextMonthAriaLabel={nextMonthAriaLabel}\n changeMonthAriaLabel={changeMonthAriaLabel}\n changeYearAriaLabel={changeYearAriaLabel}\n changeDayAriaLabel={changeDayAriaLabel}\n prevMonthIcon={prevMonthIcon}\n nextMonthIcon={nextMonthIcon}\n />\n </Popper>\n )}\n </FormField>\n );\n};\n"],"file":"DateRangeInput.js"}
|
|
@@ -35,6 +35,8 @@ var _warnOnce = require("../../lib/warnOnce");
|
|
|
35
35
|
|
|
36
36
|
var _ModalCardBase = require("../ModalCardBase/ModalCardBase");
|
|
37
37
|
|
|
38
|
+
var _useAdaptivity = require("../../hooks/useAdaptivity");
|
|
39
|
+
|
|
38
40
|
var _excluded = ["icon", "header", "subheader", "children", "actions", "actionsLayout", "onClose", "platform", "viewWidth", "viewHeight", "hasMouse", "nav"];
|
|
39
41
|
var warn = (0, _warnOnce.warnOnce)("ModalCard");
|
|
40
42
|
|
|
@@ -52,7 +54,7 @@ var ModalCard = function ModalCard(props) {
|
|
|
52
54
|
hasMouse = props.hasMouse,
|
|
53
55
|
nav = props.nav,
|
|
54
56
|
restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
55
|
-
var isDesktop =
|
|
57
|
+
var isDesktop = (0, _useAdaptivity.useAdaptivityIsDesktop)();
|
|
56
58
|
var modalContext = React.useContext(_ModalRootContext.default);
|
|
57
59
|
|
|
58
60
|
var _useModalRegistry = (0, _ModalRootContext.useModalRegistry)((0, _getNavId.getNavId)(props, warn), _types.ModalType.CARD),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ModalCard/ModalCard.tsx"],"names":["warn","ModalCard","props","icon","header","subheader","children","actions","actionsLayout","onClose","platform","viewWidth","viewHeight","hasMouse","nav","restProps","isDesktop","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ModalCard/ModalCard.tsx"],"names":["warn","ModalCard","props","icon","header","subheader","children","actions","actionsLayout","onClose","platform","viewWidth","viewHeight","hasMouse","nav","restProps","isDesktop","modalContext","React","useContext","ModalRootContext","ModalType","CARD","refs","innerElement","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AAQA;;;AASA,IAAMA,IAAI,GAAG,wBAAS,WAAT,CAAb;;AAEA,IAAMC,SAAgE,GAAG,SAAnEA,SAAmE,CACvEC,KADuE,EAEpE;AACH,MACEC,IADF,GAcID,KAdJ,CACEC,IADF;AAAA,MAEEC,MAFF,GAcIF,KAdJ,CAEEE,MAFF;AAAA,MAGEC,SAHF,GAcIH,KAdJ,CAGEG,SAHF;AAAA,MAIEC,QAJF,GAcIJ,KAdJ,CAIEI,QAJF;AAAA,MAKEC,OALF,GAcIL,KAdJ,CAKEK,OALF;AAAA,MAMEC,aANF,GAcIN,KAdJ,CAMEM,aANF;AAAA,MAOEC,OAPF,GAcIP,KAdJ,CAOEO,OAPF;AAAA,MAQEC,QARF,GAcIR,KAdJ,CAQEQ,QARF;AAAA,MASEC,SATF,GAcIT,KAdJ,CASES,SATF;AAAA,MAUEC,UAVF,GAcIV,KAdJ,CAUEU,UAVF;AAAA,MAWEC,QAXF,GAcIX,KAdJ,CAWEW,QAXF;AAAA,MAYEC,GAZF,GAcIZ,KAdJ,CAYEY,GAZF;AAAA,MAaKC,SAbL,0CAcIb,KAdJ;AAgBA,MAAMc,SAAS,GAAG,4CAAlB;AAEA,MAAMC,YAAY,GAAGC,KAAK,CAACC,UAAN,CAAiBC,yBAAjB,CAArB;;AACA,0BAAiB,wCAAiB,wBAASlB,KAAT,EAAgBF,IAAhB,CAAjB,EAAwCqB,iBAAUC,IAAlD,CAAjB;AAAA,MAAQC,IAAR,qBAAQA,IAAR;;AAEA,SACE,uEACMR,SADN;AAEE;AACA,IAAA,SAAS,EAAE,4BAAW,gCAAa,WAAb,EAA0BL,QAA1B,CAAX,EAAgD;AACzD,4BAAsBM;AADmC,KAAhD;AAHb,MAOE,qCAAC,4BAAD;AACE,IAAA,SAAS,EAAC,eADZ;AAEE,IAAA,UAAU,EAAEO,IAAI,CAACC,YAFnB;AAGE,IAAA,IAAI,EAAErB,IAHR;AAIE,IAAA,MAAM,EAAEC,MAJV;AAKE,IAAA,SAAS,EAAEC,SALb;AAME,IAAA,OAAO,EAAEE,OANX;AAOE,IAAA,aAAa,EAAEC,aAPjB;AAQE,IAAA,OAAO,EAAEC,OAAO,IAAIQ,YAAY,CAACR;AARnC,KAUGH,QAVH,CAPF,CADF;AAsBD,CA9CD;;AAgDAL,SAAS,CAACwB,YAAV,GAAyB;AACvBjB,EAAAA,aAAa,EAAE;AADQ,CAAzB,C,CAIA;;eACe,oCAAe,gCAAaP,SAAb,CAAf,EAAwC;AACrDU,EAAAA,SAAS,EAAE,IAD0C;AAErDC,EAAAA,UAAU,EAAE,IAFyC;AAGrDC,EAAAA,QAAQ,EAAE;AAH2C,CAAxC,C","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { HasPlatform } from \"../../types\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport ModalRootContext, {\n useModalRegistry,\n} from \"../ModalRoot/ModalRootContext\";\nimport { ModalType } from \"../ModalRoot/types\";\nimport { getNavId, NavIdProps } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport {\n ModalCardBase,\n ModalCardBaseProps,\n} from \"../ModalCardBase/ModalCardBase\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport { useAdaptivityIsDesktop } from \"../../hooks/useAdaptivity\";\nimport \"./ModalCard.css\";\n\nexport interface ModalCardProps\n extends HasPlatform,\n AdaptivityProps,\n NavIdProps,\n ModalCardBaseProps {}\n\nconst warn = warnOnce(\"ModalCard\");\n\nconst ModalCard: React.FC<ModalCardProps & AdaptivityContextInterface> = (\n props\n) => {\n const {\n icon,\n header,\n subheader,\n children,\n actions,\n actionsLayout,\n onClose,\n platform,\n viewWidth,\n viewHeight,\n hasMouse,\n nav,\n ...restProps\n } = props;\n\n const isDesktop = useAdaptivityIsDesktop();\n\n const modalContext = React.useContext(ModalRootContext);\n const { refs } = useModalRegistry(getNavId(props, warn), ModalType.CARD);\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"ModalCard\", platform), {\n \"ModalCard--desktop\": isDesktop,\n })}\n >\n <ModalCardBase\n vkuiClass=\"ModalCard__in\"\n getRootRef={refs.innerElement}\n icon={icon}\n header={header}\n subheader={subheader}\n actions={actions}\n actionsLayout={actionsLayout}\n onClose={onClose || modalContext.onClose}\n >\n {children}\n </ModalCardBase>\n </div>\n );\n};\n\nModalCard.defaultProps = {\n actionsLayout: \"horizontal\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(withPlatform(ModalCard), {\n viewWidth: true,\n viewHeight: true,\n hasMouse: true,\n});\n"],"file":"ModalCard.js"}
|
|
@@ -37,6 +37,8 @@ var _icons = require("@vkontakte/icons");
|
|
|
37
37
|
|
|
38
38
|
var _useKeyboard = require("../../hooks/useKeyboard");
|
|
39
39
|
|
|
40
|
+
var _useAdaptivity = require("../../hooks/useAdaptivity");
|
|
41
|
+
|
|
40
42
|
var _excluded = ["getRootRef", "icon", "header", "subheader", "children", "actions", "actionsLayout", "viewWidth", "hasMouse", "viewHeight", "onClose", "dismissLabel"];
|
|
41
43
|
var ModalCardBase = (0, _withAdaptivity.withAdaptivity)(function (_ref) {
|
|
42
44
|
var getRootRef = _ref.getRootRef,
|
|
@@ -54,9 +56,9 @@ var ModalCardBase = (0, _withAdaptivity.withAdaptivity)(function (_ref) {
|
|
|
54
56
|
dismissLabel = _ref$dismissLabel === void 0 ? "Скрыть" : _ref$dismissLabel,
|
|
55
57
|
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
56
58
|
var platform = (0, _usePlatform.usePlatform)();
|
|
57
|
-
var isDesktop =
|
|
59
|
+
var isDesktop = (0, _useAdaptivity.useAdaptivityIsDesktop)();
|
|
58
60
|
var isSoftwareKeyboardOpened = (0, _useKeyboard.useKeyboard)().isOpened;
|
|
59
|
-
var canShowCloseBtn = viewWidth >= _withAdaptivity.ViewWidth.SMALL_TABLET;
|
|
61
|
+
var canShowCloseBtn = viewWidth >= _withAdaptivity.ViewWidth.SMALL_TABLET || platform === _platform.Platform.VKCOM;
|
|
60
62
|
var canShowCloseBtnIos = platform === _platform.IOS && !canShowCloseBtn;
|
|
61
63
|
return (0, _jsxRuntime.createScopedElement)("div", (0, _extends2.default)({}, restProps, {
|
|
62
64
|
// eslint-disable-next-line vkui/no-object-expression-in-arguments
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ModalCardBase/ModalCardBase.tsx"],"names":["ModalCardBase","getRootRef","icon","header","subheader","children","actions","actionsLayout","viewWidth","hasMouse","viewHeight","onClose","dismissLabel","restProps","platform","isDesktop","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ModalCardBase/ModalCardBase.tsx"],"names":["ModalCardBase","getRootRef","icon","header","subheader","children","actions","actionsLayout","viewWidth","hasMouse","viewHeight","onClose","dismissLabel","restProps","platform","isDesktop","isSoftwareKeyboardOpened","isOpened","canShowCloseBtn","ViewWidth","SMALL_TABLET","Platform","VKCOM","canShowCloseBtnIos","IOS","ANDROID"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;AA0CO,IAAMA,aAAa,GAAG,oCAG3B,gBAcM;AAAA,MAbJC,UAaI,QAbJA,UAaI;AAAA,MAZJC,IAYI,QAZJA,IAYI;AAAA,MAXJC,MAWI,QAXJA,MAWI;AAAA,MAVJC,SAUI,QAVJA,SAUI;AAAA,MATJC,QASI,QATJA,QASI;AAAA,MARJC,OAQI,QARJA,OAQI;AAAA,MAPJC,aAOI,QAPJA,aAOI;AAAA,MANJC,SAMI,QANJA,SAMI;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,UAII,QAJJA,UAII;AAAA,MAHJC,OAGI,QAHJA,OAGI;AAAA,+BAFJC,YAEI;AAAA,MAFJA,YAEI,kCAFW,QAEX;AAAA,MADDC,SACC;AACJ,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,SAAS,GAAG,4CAAlB;AACA,MAAMC,wBAAwB,GAAG,gCAAcC,QAA/C;AAEA,MAAMC,eAAe,GACnBV,SAAS,IAAIW,0BAAUC,YAAvB,IAAuCN,QAAQ,KAAKO,mBAASC,KAD/D;AAEA,MAAMC,kBAAkB,GAAGT,QAAQ,KAAKU,aAAb,IAAoB,CAACN,eAAhD;AAEA,SACE,uEACML,SADN;AAEE;AACA,IAAA,SAAS,EAAE,4BAAW,gCAAa,eAAb,EAA8BC,QAA9B,CAAX,EAAoD;AAC7D,gCAA0BC;AADmC,KAApD,CAHb;AAME,IAAA,GAAG,EAAEd;AANP,MAQE;AACE;AACA,IAAA,SAAS,EAAE,4BAAW,0BAAX,EAAuC;AAChD,0DACEe;AAF8C,KAAvC;AAFb,KAOG,yBAAad,IAAb,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCA,IAAtC,CARJ,EAUG,yBAAaC,MAAb,KACC,qCAAC,YAAD;AACE,IAAA,KAAK,EAAC,GADR;AAEE,IAAA,MAAM,EAAEW,QAAQ,KAAKW,iBAAb,GAAuB,GAAvB,GAA6B,GAFvC;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGtB,MALH,CAXJ,EAmBG,yBAAaC,SAAb,KACC,qCAAC,iBAAD;AAAU,IAAA,MAAM,EAAC,SAAjB;AAA2B,IAAA,SAAS,EAAC;AAArC,KACGA,SADH,CApBJ,EAyBGC,QAzBH,EA2BG,yBAAaC,OAAb,KACC;AACE;AACA,IAAA,SAAS,EAAE,4BAAW,wBAAX,EAAqC;AAC9C,mCAA6BC,aAAa,KAAK;AADD,KAArC;AAFb,KAMGD,OANH,CA5BJ,EAsCGY,eAAe,IAAI,qCAAC,2BAAD;AAAoB,IAAA,OAAO,EAAEP;AAA7B,IAtCtB,EAuCGY,kBAAkB,IACjB,qCAAC,oCAAD;AACE,kBAAYX,YADd;AAEE,IAAA,SAAS,EAAC,wBAFZ;AAGE,IAAA,OAAO,EAAED;AAHX,KAKE,qCAAC,oBAAD,OALF,CAxCJ,CARF,CADF;AA4DD,CAtF0B,EAuF3B;AACEH,EAAAA,SAAS,EAAE,IADb;AAEEE,EAAAA,UAAU,EAAE,IAFd;AAGED,EAAAA,QAAQ,EAAE;AAHZ,CAvF2B,CAAtB","sourcesContent":["import * as React from \"react\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport { Title } from \"../Typography/Title/Title\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { ViewWidth, withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport { HasRootRef } from \"../../types\";\nimport { PanelHeaderButton } from \"../PanelHeaderButton/PanelHeaderButton\";\nimport { ANDROID, IOS, Platform } from \"../../lib/platform\";\nimport ModalDismissButton from \"../ModalDismissButton/ModalDismissButton\";\nimport { Icon24Dismiss } from \"@vkontakte/icons\";\nimport { useKeyboard } from \"../../hooks/useKeyboard\";\nimport { AdaptivityContextInterface } from \"../AdaptivityProvider/AdaptivityContext\";\nimport { useAdaptivityIsDesktop } from \"../../hooks/useAdaptivity\";\nimport \"./ModalCardBase.css\";\n\nexport interface ModalCardBaseProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRootRef<HTMLDivElement> {\n /**\n * Иконка.\n *\n * Может быть компонентом иконки, например, `<Icon56MoneyTransferOutline />`, или `<Avatar size={72} src=\"\" />`\n */\n icon?: React.ReactNode;\n\n /**\n * Заголовок карточки\n */\n header?: React.ReactNode;\n\n /**\n * Подзаголовок\n */\n subheader?: React.ReactNode;\n\n /**\n * Кнопки-действия.\n *\n * Рекомендуется использовать `<Button size=\"l\" mode=\"primary\" />` или `<Button size=\"l\" mode=\"secondary\" />`\n */\n actions?: React.ReactNode;\n\n /**\n * Тип отображения кнопок: вертикальный или горизонтальный\n */\n actionsLayout?: \"vertical\" | \"horizontal\";\n onClose?: VoidFunction;\n\n /**\n * `aria-label` для кнопки закрытия. Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n}\n\nexport const ModalCardBase = withAdaptivity<\n ModalCardBaseProps & AdaptivityContextInterface\n>(\n ({\n getRootRef,\n icon,\n header,\n subheader,\n children,\n actions,\n actionsLayout,\n viewWidth,\n hasMouse,\n viewHeight,\n onClose,\n dismissLabel = \"Скрыть\",\n ...restProps\n }) => {\n const platform = usePlatform();\n const isDesktop = useAdaptivityIsDesktop();\n const isSoftwareKeyboardOpened = useKeyboard().isOpened;\n\n const canShowCloseBtn =\n viewWidth >= ViewWidth.SMALL_TABLET || platform === Platform.VKCOM;\n const canShowCloseBtnIos = platform === IOS && !canShowCloseBtn;\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"ModalCardBase\", platform), {\n \"ModalCardBase--desktop\": isDesktop,\n })}\n ref={getRootRef}\n >\n <div\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"ModalCardBase__container\", {\n \"ModalCardBase__container--softwareKeyboardOpened\":\n isSoftwareKeyboardOpened,\n })}\n >\n {hasReactNode(icon) && (\n <div vkuiClass=\"ModalCardBase__icon\">{icon}</div>\n )}\n {hasReactNode(header) && (\n <Title\n level=\"2\"\n weight={platform === ANDROID ? \"2\" : \"1\"}\n vkuiClass=\"ModalCardBase__header\"\n >\n {header}\n </Title>\n )}\n {hasReactNode(subheader) && (\n <Headline weight=\"regular\" vkuiClass=\"ModalCardBase__subheader\">\n {subheader}\n </Headline>\n )}\n\n {children}\n\n {hasReactNode(actions) && (\n <div\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\"ModalCardBase__actions\", {\n \"ModalCardBase__actions--v\": actionsLayout === \"vertical\",\n })}\n >\n {actions}\n </div>\n )}\n\n {canShowCloseBtn && <ModalDismissButton onClick={onClose} />}\n {canShowCloseBtnIos && (\n <PanelHeaderButton\n aria-label={dismissLabel}\n vkuiClass=\"ModalCardBase__dismiss\"\n onClick={onClose}\n >\n <Icon24Dismiss />\n </PanelHeaderButton>\n )}\n </div>\n </div>\n );\n },\n {\n viewWidth: true,\n viewHeight: true,\n hasMouse: true,\n }\n);\n"],"file":"ModalCardBase.js"}
|
|
@@ -39,6 +39,10 @@ var _getNavId = require("../../lib/getNavId");
|
|
|
39
39
|
|
|
40
40
|
var _warnOnce = require("../../lib/warnOnce");
|
|
41
41
|
|
|
42
|
+
var _platform = require("../../lib/platform");
|
|
43
|
+
|
|
44
|
+
var _useAdaptivity = require("../../hooks/useAdaptivity");
|
|
45
|
+
|
|
42
46
|
var _excluded = ["children", "header", "viewWidth", "viewHeight", "sizeX", "hasMouse", "onOpen", "onOpened", "onClose", "onClosed", "settlingHeight", "dynamicContentHeight", "getModalContentRef", "nav"];
|
|
43
47
|
var warn = (0, _warnOnce.warnOnce)("ModalPage");
|
|
44
48
|
|
|
@@ -64,8 +68,8 @@ var ModalPage = function ModalPage(props) {
|
|
|
64
68
|
var platform = (0, _usePlatform.usePlatform)();
|
|
65
69
|
var orientation = (0, _useOrientationChange.useOrientationChange)();
|
|
66
70
|
React.useEffect(updateModalHeight, [children, orientation, updateModalHeight]);
|
|
67
|
-
var isDesktop =
|
|
68
|
-
var canShowCloseBtn = viewWidth >= _withAdaptivity.ViewWidth.SMALL_TABLET;
|
|
71
|
+
var isDesktop = (0, _useAdaptivity.useAdaptivityIsDesktop)();
|
|
72
|
+
var canShowCloseBtn = viewWidth >= _withAdaptivity.ViewWidth.SMALL_TABLET || platform === _platform.Platform.VKCOM;
|
|
69
73
|
var modalContext = React.useContext(_ModalRootContext.ModalRootContext);
|
|
70
74
|
|
|
71
75
|
var _useModalRegistry = (0, _ModalRootContext.useModalRegistry)((0, _getNavId.getNavId)(props, warn), _types.ModalType.PAGE),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ModalPage/ModalPage.tsx"],"names":["warn","ModalPage","props","React","useContext","ModalRootContext","updateModalHeight","children","header","viewWidth","viewHeight","sizeX","hasMouse","onOpen","onOpened","onClose","onClosed","settlingHeight","dynamicContentHeight","getModalContentRef","nav","restProps","platform","orientation","useEffect","isDesktop","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ModalPage/ModalPage.tsx"],"names":["warn","ModalPage","props","React","useContext","ModalRootContext","updateModalHeight","children","header","viewWidth","viewHeight","sizeX","hasMouse","onOpen","onOpened","onClose","onClosed","settlingHeight","dynamicContentHeight","getModalContentRef","nav","restProps","platform","orientation","useEffect","isDesktop","canShowCloseBtn","ViewWidth","SMALL_TABLET","Platform","VKCOM","modalContext","ModalType","PAGE","refs","innerElement","headerElement","contentElement","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport {\n ModalRootContext,\n useModalRegistry,\n} from \"../ModalRoot/ModalRootContext\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { useOrientationChange } from \"../../hooks/useOrientationChange\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport ModalDismissButton from \"../ModalDismissButton/ModalDismissButton\";\nimport { multiRef } from \"../../lib/utils\";\nimport { ModalType } from \"../ModalRoot/types\";\nimport { getNavId, NavIdProps } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { Platform } from \"../../lib/platform\";\nimport { useAdaptivityIsDesktop } from \"../../hooks/useAdaptivity\";\nimport \"./ModalPage.css\";\n\nexport interface ModalPageProps\n extends React.HTMLAttributes<HTMLDivElement>,\n AdaptivityProps,\n NavIdProps {\n /**\n * Шапка модальной страницы, `<ModalPageHeader />`\n */\n header?: React.ReactNode;\n /**\n * Будет вызвано при начале открытия модалки.\n */\n onOpen?: VoidFunction;\n /**\n * Будет вызвано при окончательном открытии модалки.\n */\n onOpened?: VoidFunction;\n /**\n * Будет вызвано при начале закрытия модалки.\n */\n onClose?: VoidFunction;\n /**\n * Будет вызвано при окончательном закрытии модалки.\n */\n onClosed?: VoidFunction;\n /**\n * Процент, на который изначально будет открыта модальная страница. При `settlingHeight={100}` модальная страница раскрывается на всю высоту.\n */\n settlingHeight?: number;\n /**\n * Если высота контента в модальной странице может поменяться, нужно установить это свойство\n */\n dynamicContentHeight?: boolean;\n getModalContentRef?: React.Ref<HTMLDivElement>;\n}\n\nconst warn = warnOnce(\"ModalPage\");\nconst ModalPage: React.FC<ModalPageProps & AdaptivityContextInterface> = (\n props\n) => {\n const { updateModalHeight } = React.useContext(ModalRootContext);\n\n const {\n children,\n header,\n viewWidth,\n viewHeight,\n sizeX,\n hasMouse,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n settlingHeight,\n dynamicContentHeight,\n getModalContentRef,\n nav,\n ...restProps\n } = props;\n\n const platform = usePlatform();\n const orientation = useOrientationChange();\n\n React.useEffect(updateModalHeight, [\n children,\n orientation,\n updateModalHeight,\n ]);\n\n const isDesktop = useAdaptivityIsDesktop();\n const canShowCloseBtn =\n viewWidth >= ViewWidth.SMALL_TABLET || platform === Platform.VKCOM;\n\n const modalContext = React.useContext(ModalRootContext);\n const { refs } = useModalRegistry(getNavId(props, warn), ModalType.PAGE);\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"ModalPage\", platform),\n `ModalPage--sizeX-${sizeX}`,\n {\n \"ModalPage--desktop\": isDesktop,\n }\n )}\n >\n <div vkuiClass=\"ModalPage__in-wrap\" ref={refs.innerElement}>\n <div vkuiClass=\"ModalPage__in\">\n <div vkuiClass=\"ModalPage__header\" ref={refs.headerElement}>\n {header}\n </div>\n\n <div vkuiClass=\"ModalPage__content-wrap\">\n <div\n vkuiClass=\"ModalPage__content\"\n ref={multiRef<HTMLDivElement>(\n refs.contentElement,\n getModalContentRef\n )}\n >\n <div vkuiClass=\"ModalPage__content-in\">{children}</div>\n </div>\n </div>\n {canShowCloseBtn && (\n <ModalDismissButton onClick={onClose || modalContext.onClose} />\n )}\n </div>\n </div>\n </div>\n );\n};\n\nModalPage.defaultProps = {\n settlingHeight: 75,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(ModalPage, {\n viewWidth: true,\n viewHeight: true,\n sizeX: true,\n hasMouse: true,\n});\n"],"file":"ModalPage.js"}
|
|
@@ -21,14 +21,12 @@ var _PanelHeader = _interopRequireDefault(require("../PanelHeader/PanelHeader"))
|
|
|
21
21
|
|
|
22
22
|
var _Separator = _interopRequireDefault(require("../Separator/Separator"));
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _useAdaptivity = require("../../hooks/useAdaptivity");
|
|
25
25
|
|
|
26
26
|
var _classNames = require("../../lib/classNames");
|
|
27
27
|
|
|
28
28
|
var _getClassName = require("../../helpers/getClassName");
|
|
29
29
|
|
|
30
|
-
var _AdaptivityContext = require("../AdaptivityProvider/AdaptivityContext");
|
|
31
|
-
|
|
32
30
|
var _excluded = ["children", "separator", "getRef"];
|
|
33
31
|
|
|
34
32
|
var ModalPageHeader = function ModalPageHeader(_ref) {
|
|
@@ -37,14 +35,8 @@ var ModalPageHeader = function ModalPageHeader(_ref) {
|
|
|
37
35
|
getRef = _ref.getRef,
|
|
38
36
|
restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
39
37
|
var platform = (0, _usePlatform.usePlatform)();
|
|
40
|
-
|
|
41
|
-
var _useAdaptivity = (0, _useAdaptivity2.useAdaptivity)(),
|
|
42
|
-
viewWidth = _useAdaptivity.viewWidth,
|
|
43
|
-
viewHeight = _useAdaptivity.viewHeight,
|
|
44
|
-
hasMouse = _useAdaptivity.hasMouse;
|
|
45
|
-
|
|
46
38
|
var hasSeparator = separator && platform === _platform.VKCOM;
|
|
47
|
-
var isDesktop =
|
|
39
|
+
var isDesktop = (0, _useAdaptivity.useAdaptivityIsDesktop)();
|
|
48
40
|
return (0, _jsxRuntime.createScopedElement)("div", {
|
|
49
41
|
// eslint-disable-next-line vkui/no-object-expression-in-arguments
|
|
50
42
|
vkuiClass: (0, _classNames.classNames)((0, _getClassName.getClassName)("ModalPageHeader", platform), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ModalPageHeader/ModalPageHeader.tsx"],"names":["ModalPageHeader","children","separator","getRef","restProps","platform","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ModalPageHeader/ModalPageHeader.tsx"],"names":["ModalPageHeader","children","separator","getRef","restProps","platform","hasSeparator","VKCOM","isDesktop","defaultProps"],"mappings":";;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAQA,IAAMA,eAA8D,GAAG,SAAjEA,eAAiE,OAK3C;AAAA,MAJ1BC,QAI0B,QAJ1BA,QAI0B;AAAA,MAH1BC,SAG0B,QAH1BA,SAG0B;AAAA,MAF1BC,MAE0B,QAF1BA,MAE0B;AAAA,MADvBC,SACuB;AAC1B,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,YAAY,GAAGJ,SAAS,IAAIG,QAAQ,KAAKE,eAA/C;AACA,MAAMC,SAAS,GAAG,4CAAlB;AAEA,SACE;AACE;AACA,IAAA,SAAS,EAAE,4BAAW,gCAAa,iBAAb,EAAgCH,QAAhC,CAAX,EAAsD;AAC/D,kCAA4BG;AADmC,KAAtD,CAFb;AAKE,IAAA,GAAG,EAAEL;AALP,KAOE,qCAAC,oBAAD;AACE,IAAA,SAAS,EAAC;AADZ,KAEMC,SAFN;AAGE,IAAA,KAAK,EAAE,KAHT;AAIE,IAAA,SAAS,EAAE,KAJb;AAKE,IAAA,WAAW;AALb,MAOGH,QAPH,CAPF,EAgBGK,YAAY,IAAI,qCAAC,kBAAD;AAAW,IAAA,IAAI;AAAf,IAhBnB,CADF;AAoBD,CA9BD;;AAgCAN,eAAe,CAACS,YAAhB,GAA+B;AAC7BP,EAAAA,SAAS,EAAE;AADkB,CAA/B,C,CAIA;;eACeF,e","sourcesContent":["import * as React from \"react\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { HasRef } from \"../../types\";\nimport { VKCOM } from \"../../lib/platform\";\nimport PanelHeader, { PanelHeaderProps } from \"../PanelHeader/PanelHeader\";\nimport Separator from \"../Separator/Separator\";\nimport { useAdaptivityIsDesktop } from \"../../hooks/useAdaptivity\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport \"./ModalPageHeader.css\";\n\nexport interface ModalPageHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<PanelHeaderProps, \"fixed\" | \"shadow\">,\n HasRef<HTMLDivElement> {}\n\nconst ModalPageHeader: React.FunctionComponent<ModalPageHeaderProps> = ({\n children,\n separator,\n getRef,\n ...restProps\n}: ModalPageHeaderProps) => {\n const platform = usePlatform();\n const hasSeparator = separator && platform === VKCOM;\n const isDesktop = useAdaptivityIsDesktop();\n\n return (\n <div\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(getClassName(\"ModalPageHeader\", platform), {\n \"ModalPageHeader--desktop\": isDesktop,\n })}\n ref={getRef}\n >\n <PanelHeader\n vkuiClass=\"ModalPageHeader__in\"\n {...restProps}\n fixed={false}\n separator={false}\n transparent\n >\n {children}\n </PanelHeader>\n {hasSeparator && <Separator wide />}\n </div>\n );\n};\n\nModalPageHeader.defaultProps = {\n separator: true,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ModalPageHeader;\n"],"file":"ModalPageHeader.js"}
|
|
@@ -15,11 +15,10 @@ var _ModalRootDesktop = require("./ModalRootDesktop");
|
|
|
15
15
|
|
|
16
16
|
var _ScrollContext = require("../AppRoot/ScrollContext");
|
|
17
17
|
|
|
18
|
+
var _useAdaptivity = require("../../hooks/useAdaptivity");
|
|
19
|
+
|
|
18
20
|
var ModalRootComponent = function ModalRootComponent(props) {
|
|
19
|
-
var
|
|
20
|
-
viewHeight = props.viewHeight,
|
|
21
|
-
hasMouse = props.hasMouse;
|
|
22
|
-
var isDesktop = viewWidth >= _withAdaptivity.ViewWidth.SMALL_TABLET && (hasMouse || viewHeight >= _withAdaptivity.ViewHeight.MEDIUM);
|
|
21
|
+
var isDesktop = (0, _useAdaptivity.useAdaptivityIsDesktop)();
|
|
23
22
|
(0, _ScrollContext.useScrollLock)(!!props.activeModal);
|
|
24
23
|
var RootComponent = isDesktop ? _ModalRootDesktop.ModalRootDesktop : _ModalRoot.ModalRootTouch;
|
|
25
24
|
return (0, _jsxRuntime.createScopedElement)(RootComponent, props);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ModalRoot/ModalRootAdaptive.tsx"],"names":["ModalRootComponent","props","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ModalRoot/ModalRootAdaptive.tsx"],"names":["ModalRootComponent","props","isDesktop","activeModal","RootComponent","ModalRootDesktop","ModalRootTouch","displayName","ModalRoot","viewWidth","viewHeight","hasMouse"],"mappings":";;;;;;;;;AACA;;AACA;;AACA;;AAKA;;AACA;;AA0BA,IAAMA,kBAEL,GAAG,SAFEA,kBAEF,CAACC,KAAD,EAAW;AACb,MAAMC,SAAS,GAAG,4CAAlB;AAEA,oCAAc,CAAC,CAACD,KAAK,CAACE,WAAtB;AAEA,MAAMC,aAAa,GAAGF,SAAS,GAAGG,kCAAH,GAAsBC,yBAArD;AAEA,SAAO,qCAAC,aAAD,EAAmBL,KAAnB,CAAP;AACD,CAVD;;AAYAD,kBAAkB,CAACO,WAAnB,GAAiC,WAAjC;AAEO,IAAMC,SAAS,GAAG,oCAAeR,kBAAf,EAAmC;AAC1DS,EAAAA,SAAS,EAAE,IAD+C;AAE1DC,EAAAA,UAAU,EAAE,IAF8C;AAG1DC,EAAAA,QAAQ,EAAE;AAHgD,CAAnC,CAAlB","sourcesContent":["import * as React from \"react\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport { ModalRootTouch } from \"./ModalRoot\";\nimport { ModalRootDesktop } from \"./ModalRootDesktop\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport { useScrollLock } from \"../AppRoot/ScrollContext\";\nimport { useAdaptivityIsDesktop } from \"../../hooks/useAdaptivity\";\n\nexport interface ModalRootProps extends AdaptivityProps {\n activeModal?: string | null;\n\n /**\n * Будет вызвано при начале открытия активной модалки с её id\n */\n onOpen?(modalId: string): void;\n\n /**\n * Будет вызвано при окончательном открытии активной модалки с её id\n */\n onOpened?(modalId: string): void;\n\n /**\n * Будет вызвано при начале закрытия активной модалки с её id\n */\n onClose?(modalId: string): void;\n\n /**\n * Будет вызвано при окончательном закрытии активной модалки с её id\n */\n onClosed?(modalId: string): void;\n}\n\nconst ModalRootComponent: React.FC<\n ModalRootProps & AdaptivityContextInterface\n> = (props) => {\n const isDesktop = useAdaptivityIsDesktop();\n\n useScrollLock(!!props.activeModal);\n\n const RootComponent = isDesktop ? ModalRootDesktop : ModalRootTouch;\n\n return <RootComponent {...props} />;\n};\n\nModalRootComponent.displayName = \"ModalRoot\";\n\nexport const ModalRoot = withAdaptivity(ModalRootComponent, {\n viewWidth: true,\n viewHeight: true,\n hasMouse: true,\n});\n"],"file":"ModalRootAdaptive.js"}
|
|
@@ -44,7 +44,8 @@ var _excluded = ["left", "children", "right", "separator", "visor", "transparent
|
|
|
44
44
|
var PanelHeaderIn = function PanelHeaderIn(_ref) {
|
|
45
45
|
var children = _ref.children,
|
|
46
46
|
left = _ref.left,
|
|
47
|
-
right = _ref.right
|
|
47
|
+
right = _ref.right,
|
|
48
|
+
separator = _ref.separator;
|
|
48
49
|
|
|
49
50
|
var _React$useContext = React.useContext(_ConfigProviderContext.ConfigProviderContext),
|
|
50
51
|
webviewType = _React$useContext.webviewType;
|
|
@@ -53,7 +54,7 @@ var PanelHeaderIn = function PanelHeaderIn(_ref) {
|
|
|
53
54
|
isInsideModal = _React$useContext2.isInsideModal;
|
|
54
55
|
|
|
55
56
|
var platform = (0, _usePlatform.usePlatform)();
|
|
56
|
-
return (0, _jsxRuntime.createScopedElement)(_TooltipContainer.TooltipContainer, {
|
|
57
|
+
return (0, _jsxRuntime.createScopedElement)(React.Fragment, null, (0, _jsxRuntime.createScopedElement)(_TooltipContainer.TooltipContainer, {
|
|
57
58
|
fixed: true,
|
|
58
59
|
vkuiClass: "PanelHeader__in"
|
|
59
60
|
}, (0, _jsxRuntime.createScopedElement)("div", {
|
|
@@ -66,7 +67,9 @@ var PanelHeaderIn = function PanelHeaderIn(_ref) {
|
|
|
66
67
|
vkuiClass: "PanelHeader__content-in"
|
|
67
68
|
}, children)), (0, _jsxRuntime.createScopedElement)("div", {
|
|
68
69
|
vkuiClass: "PanelHeader__right"
|
|
69
|
-
}, (webviewType === _ConfigProviderContext.WebviewType.INTERNAL || isInsideModal) && right))
|
|
70
|
+
}, (webviewType === _ConfigProviderContext.WebviewType.INTERNAL || isInsideModal) && right)), separator && platform === _platform.VKCOM && (0, _jsxRuntime.createScopedElement)(_Separator.default, {
|
|
71
|
+
wide: true
|
|
72
|
+
}));
|
|
70
73
|
};
|
|
71
74
|
|
|
72
75
|
var PanelHeader = function PanelHeader(props) {
|
|
@@ -110,9 +113,8 @@ var PanelHeader = function PanelHeader(props) {
|
|
|
110
113
|
vkuiClass: "PanelHeader__fixed",
|
|
111
114
|
vertical: "top",
|
|
112
115
|
getRootRef: getRef
|
|
113
|
-
}, (0, _jsxRuntime.createScopedElement)(PanelHeaderIn, props)) : (0, _jsxRuntime.createScopedElement)(PanelHeaderIn, props), separator && visor && (0, _jsxRuntime.createScopedElement)(_Separator.default, {
|
|
114
|
-
expanded: sizeX === _withAdaptivity.SizeType.REGULAR
|
|
115
|
-
wide: platform === _platform.VKCOM
|
|
116
|
+
}, (0, _jsxRuntime.createScopedElement)(PanelHeaderIn, props)) : (0, _jsxRuntime.createScopedElement)(PanelHeaderIn, props), separator && visor && platform !== _platform.VKCOM && (0, _jsxRuntime.createScopedElement)(_Separator.default, {
|
|
117
|
+
expanded: sizeX === _withAdaptivity.SizeType.REGULAR
|
|
116
118
|
}));
|
|
117
119
|
};
|
|
118
120
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/PanelHeader/PanelHeader.tsx"],"names":["PanelHeaderIn","children","left","right","React","useContext","ConfigProviderContext","webviewType","ModalRootContext","isInsideModal","platform","VKCOM","WebviewType","INTERNAL","PanelHeader","props","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/PanelHeader/PanelHeader.tsx"],"names":["PanelHeaderIn","children","left","right","separator","React","useContext","ConfigProviderContext","webviewType","ModalRootContext","isInsideModal","platform","VKCOM","WebviewType","INTERNAL","PanelHeader","props","visor","transparent","shadow","getRef","getRootRef","sizeX","sizeY","fixed","restProps","needShadow","SizeType","REGULAR","isFixed","undefined","Platform","VKAPPS","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport FixedLayout from \"../FixedLayout/FixedLayout\";\nimport Separator from \"../Separator/Separator\";\nimport { Platform, VKCOM } from \"../../lib/platform\";\nimport { HasRef, HasRootRef } from \"../../types\";\nimport {\n ConfigProviderContext,\n WebviewType,\n} from \"../ConfigProvider/ConfigProviderContext\";\nimport {\n AdaptivityProps,\n SizeType,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport Text from \"../Typography/Text/Text\";\nimport { TooltipContainer } from \"../Tooltip/TooltipContainer\";\nimport ModalRootContext from \"../ModalRoot/ModalRootContext\";\nimport \"./PanelHeader.css\";\n\nexport interface PanelHeaderProps\n extends React.HTMLAttributes<HTMLDivElement>,\n HasRef<HTMLDivElement>,\n HasRootRef<HTMLDivElement>,\n AdaptivityProps {\n left?: React.ReactNode;\n right?: React.ReactNode;\n separator?: boolean;\n transparent?: boolean;\n shadow?: boolean;\n /**\n * Если `false`, то шапка будет нулевой высоты и контент панели \"залезет\" под неё\n */\n visor?: boolean;\n /**\n * Если `false`, то шапка будет в потоке. По умолчанию `true`, но если платформа vkcom, то по умолчанию `false`.\n */\n fixed?: boolean;\n}\n\nconst PanelHeaderIn: React.FC<PanelHeaderProps> = ({\n children,\n left,\n right,\n separator,\n}) => {\n const { webviewType } = React.useContext(ConfigProviderContext);\n const { isInsideModal } = React.useContext(ModalRootContext);\n const platform = usePlatform();\n\n return (\n <React.Fragment>\n <TooltipContainer fixed vkuiClass=\"PanelHeader__in\">\n <div vkuiClass=\"PanelHeader__left\">{left}</div>\n <div vkuiClass=\"PanelHeader__content\">\n {platform === VKCOM ? (\n <Text weight=\"medium\">{children}</Text>\n ) : (\n <span vkuiClass=\"PanelHeader__content-in\">{children}</span>\n )}\n </div>\n <div vkuiClass=\"PanelHeader__right\">\n {(webviewType === WebviewType.INTERNAL || isInsideModal) && right}\n </div>\n </TooltipContainer>\n {separator && platform === VKCOM && <Separator wide />}\n </React.Fragment>\n );\n};\n\nconst PanelHeader: React.FC<PanelHeaderProps> = (props: PanelHeaderProps) => {\n const {\n left,\n children,\n right,\n separator,\n visor,\n transparent,\n shadow,\n getRef,\n getRootRef,\n sizeX,\n sizeY,\n fixed,\n ...restProps\n } = props;\n const platform = usePlatform();\n const { webviewType } = React.useContext(ConfigProviderContext);\n const { isInsideModal } = React.useContext(ModalRootContext);\n const needShadow = shadow && sizeX === SizeType.REGULAR;\n let isFixed = fixed !== undefined ? fixed : platform !== Platform.VKCOM;\n\n return (\n <div\n {...restProps}\n // eslint-disable-next-line vkui/no-object-expression-in-arguments\n vkuiClass={classNames(\n getClassName(\"PanelHeader\", platform),\n {\n \"PanelHeader--trnsp\": transparent,\n \"PanelHeader--shadow\": needShadow,\n \"PanelHeader--vis\": visor,\n \"PanelHeader--sep\": separator && visor,\n \"PanelHeader--vkapps\":\n webviewType === WebviewType.VKAPPS && !isInsideModal,\n \"PanelHeader--no-left\": !left,\n \"PanelHeader--no-right\": !right,\n \"PanelHeader--fixed\": isFixed,\n },\n `PanelHeader--sizeX-${sizeX}`\n )}\n ref={isFixed ? getRootRef : getRef}\n >\n {isFixed ? (\n <FixedLayout\n vkuiClass=\"PanelHeader__fixed\"\n vertical=\"top\"\n getRootRef={getRef}\n >\n <PanelHeaderIn {...props} />\n </FixedLayout>\n ) : (\n <PanelHeaderIn {...props} />\n )}\n {separator && visor && platform !== VKCOM && (\n <Separator expanded={sizeX === SizeType.REGULAR} />\n )}\n </div>\n );\n};\n\nPanelHeader.defaultProps = {\n separator: true,\n transparent: false,\n visor: true,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(PanelHeader, {\n sizeX: true,\n sizeY: true,\n});\n"],"file":"PanelHeader.js"}
|
|
@@ -23,6 +23,8 @@ var _AppRootPortal = require("../AppRoot/AppRootPortal");
|
|
|
23
23
|
|
|
24
24
|
var _dom = require("../../lib/dom");
|
|
25
25
|
|
|
26
|
+
var _useAdaptivity = require("../../hooks/useAdaptivity");
|
|
27
|
+
|
|
26
28
|
var _excluded = ["popout", "modal", "viewWidth", "viewHeight", "hasMouse", "children", "getRootRef"];
|
|
27
29
|
|
|
28
30
|
var PopoutRootComponent = function PopoutRootComponent(props) {
|
|
@@ -38,7 +40,7 @@ var PopoutRootComponent = function PopoutRootComponent(props) {
|
|
|
38
40
|
var _useDOM = (0, _dom.useDOM)(),
|
|
39
41
|
document = _useDOM.document;
|
|
40
42
|
|
|
41
|
-
var isDesktop =
|
|
43
|
+
var isDesktop = (0, _useAdaptivity.useAdaptivityIsDesktop)();
|
|
42
44
|
React.useEffect(function () {
|
|
43
45
|
popout && (0, _dom.blurActiveElement)(document);
|
|
44
46
|
}, [document, popout]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/PopoutRoot/PopoutRoot.tsx"],"names":["PopoutRootComponent","props","popout","modal","viewWidth","viewHeight","hasMouse","children","getRootRef","restProps","document","isDesktop","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/PopoutRoot/PopoutRoot.tsx"],"names":["PopoutRootComponent","props","popout","modal","viewWidth","viewHeight","hasMouse","children","getRootRef","restProps","document","isDesktop","React","useEffect","displayName","PopoutRoot"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AAKA;;;;AAWO,IAAMA,mBAEZ,GAAG,SAFSA,mBAET,CAACC,KAAD,EAAW;AACb,MACEC,MADF,GASID,KATJ,CACEC,MADF;AAAA,MAEEC,KAFF,GASIF,KATJ,CAEEE,KAFF;AAAA,MAGEC,SAHF,GASIH,KATJ,CAGEG,SAHF;AAAA,MAIEC,UAJF,GASIJ,KATJ,CAIEI,UAJF;AAAA,MAKEC,QALF,GASIL,KATJ,CAKEK,QALF;AAAA,MAMEC,QANF,GASIN,KATJ,CAMEM,QANF;AAAA,MAOEC,UAPF,GASIP,KATJ,CAOEO,UAPF;AAAA,MAQKC,SARL,0CASIR,KATJ;;AAUA,gBAAqB,kBAArB;AAAA,MAAQS,QAAR,WAAQA,QAAR;;AAEA,MAAMC,SAAS,GAAG,4CAAlB;AAEAC,EAAAA,KAAK,CAACC,SAAN,CAAgB,YAAM;AACpBX,IAAAA,MAAM,IAAI,4BAAkBQ,QAAlB,CAAV;AACD,GAFD,EAEG,CAACA,QAAD,EAAWR,MAAX,CAFH;AAIA,SACE,uEAASO,SAAT;AAAoB,IAAA,SAAS,EAAC,YAA9B;AAA2C,IAAA,GAAG,EAAED;AAAhD,MACGD,QADH,EAEE,qCAAC,4BAAD,QACG,CAAC,CAACL,MAAF,IACC;AACE,IAAA,SAAS,EACPS,SAAS,GAAG,sBAAH,GAA4B;AAFzC,KAKGT,MALH,CAFJ,EAUG,CAAC,CAACC,KAAF,IAAW;AAAK,IAAA,SAAS,EAAC;AAAf,KAAoCA,KAApC,CAVd,CAFF,CADF;AAiBD,CAtCM;;;AAwCPH,mBAAmB,CAACc,WAApB,GAAkC,YAAlC;AAEO,IAAMC,UAAU,GAAG,oCAAef,mBAAf,EAAoC;AAC5DI,EAAAA,SAAS,EAAE,IADiD;AAE5DC,EAAAA,UAAU,EAAE,IAFgD;AAG5DC,EAAAA,QAAQ,EAAE;AAHkD,CAApC,CAAnB","sourcesContent":["import * as React from \"react\";\nimport { HasRootRef } from \"../../types\";\nimport { withAdaptivity } from \"../../hoc/withAdaptivity\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { blurActiveElement, useDOM } from \"../../lib/dom\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport { useAdaptivityIsDesktop } from \"../../hooks/useAdaptivity\";\nimport \"./PopoutRoot.css\";\n\nexport interface PopoutRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n AdaptivityProps,\n HasRootRef<HTMLDivElement> {\n popout?: React.ReactNode;\n modal?: React.ReactNode;\n}\n\nexport const PopoutRootComponent: React.FC<\n PopoutRootProps & AdaptivityContextInterface\n> = (props) => {\n const {\n popout,\n modal,\n viewWidth,\n viewHeight,\n hasMouse,\n children,\n getRootRef,\n ...restProps\n } = props;\n const { document } = useDOM();\n\n const isDesktop = useAdaptivityIsDesktop();\n\n React.useEffect(() => {\n popout && blurActiveElement(document);\n }, [document, popout]);\n\n return (\n <div {...restProps} vkuiClass=\"PopoutRoot\" ref={getRootRef}>\n {children}\n <AppRootPortal>\n {!!popout && (\n <div\n vkuiClass={\n isDesktop ? \"PopoutRoot--absolute\" : \"PopoutRoot__popout\"\n }\n >\n {popout}\n </div>\n )}\n {!!modal && <div vkuiClass=\"PopoutRoot__modal\">{modal}</div>}\n </AppRootPortal>\n </div>\n );\n};\n\nPopoutRootComponent.displayName = \"PopoutRoot\";\n\nexport const PopoutRoot = withAdaptivity(PopoutRootComponent, {\n viewWidth: true,\n viewHeight: true,\n hasMouse: true,\n});\n"],"file":"PopoutRoot.js"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { AdaptivityProps, AdaptivityContextInterface } from "../components/AdaptivityProvider/AdaptivityContext";
|
|
2
2
|
export type { AdaptivityProps };
|
|
3
3
|
export declare const useAdaptivity: () => AdaptivityContextInterface;
|
|
4
|
+
export declare const useAdaptivityIsDesktop: () => boolean;
|
|
@@ -5,15 +5,32 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.useAdaptivity = void 0;
|
|
8
|
+
exports.useAdaptivityIsDesktop = exports.useAdaptivity = void 0;
|
|
9
9
|
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
12
|
var _AdaptivityContext = require("../components/AdaptivityProvider/AdaptivityContext");
|
|
13
13
|
|
|
14
|
+
var _usePlatform = require("./usePlatform");
|
|
15
|
+
|
|
16
|
+
var _platform = require("../lib/platform");
|
|
17
|
+
|
|
14
18
|
var useAdaptivity = function useAdaptivity() {
|
|
15
19
|
return React.useContext(_AdaptivityContext.AdaptivityContext);
|
|
16
20
|
};
|
|
17
21
|
|
|
18
22
|
exports.useAdaptivity = useAdaptivity;
|
|
23
|
+
|
|
24
|
+
var useAdaptivityIsDesktop = function useAdaptivityIsDesktop() {
|
|
25
|
+
var platform = (0, _usePlatform.usePlatform)();
|
|
26
|
+
|
|
27
|
+
var _useAdaptivity = useAdaptivity(),
|
|
28
|
+
viewWidth = _useAdaptivity.viewWidth,
|
|
29
|
+
viewHeight = _useAdaptivity.viewHeight,
|
|
30
|
+
hasMouse = _useAdaptivity.hasMouse;
|
|
31
|
+
|
|
32
|
+
return viewWidth >= _AdaptivityContext.ViewWidth.SMALL_TABLET && (hasMouse || viewHeight >= _AdaptivityContext.ViewHeight.MEDIUM) || platform === _platform.VKCOM;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
exports.useAdaptivityIsDesktop = useAdaptivityIsDesktop;
|
|
19
36
|
//# sourceMappingURL=useAdaptivity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hooks/useAdaptivity.ts"],"names":["useAdaptivity","React","useContext","AdaptivityContext"],"mappings":";;;;;;;;;AAAA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["../../../src/hooks/useAdaptivity.ts"],"names":["useAdaptivity","React","useContext","AdaptivityContext","useAdaptivityIsDesktop","platform","viewWidth","viewHeight","hasMouse","ViewWidth","SMALL_TABLET","ViewHeight","MEDIUM","VKCOM"],"mappings":";;;;;;;;;AAAA;;AACA;;AAOA;;AACA;;AAIO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,GAAkC;AAC7D,SAAOC,KAAK,CAACC,UAAN,CAAiBC,oCAAjB,CAAP;AACD,CAFM;;;;AAIA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAe;AACnD,MAAMC,QAAQ,GAAG,+BAAjB;;AACA,uBAA4CL,aAAa,EAAzD;AAAA,MAAQM,SAAR,kBAAQA,SAAR;AAAA,MAAmBC,UAAnB,kBAAmBA,UAAnB;AAAA,MAA+BC,QAA/B,kBAA+BA,QAA/B;;AAEA,SACGF,SAAS,IAAIG,6BAAUC,YAAvB,KACEF,QAAQ,IAAID,UAAU,IAAII,8BAAWC,MADvC,CAAD,IAEAP,QAAQ,KAAKQ,eAHf;AAKD,CATM","sourcesContent":["import * as React from \"react\";\nimport {\n AdaptivityContext,\n AdaptivityProps,\n AdaptivityContextInterface,\n ViewWidth,\n ViewHeight,\n} from \"../components/AdaptivityProvider/AdaptivityContext\";\nimport { usePlatform } from \"./usePlatform\";\nimport { VKCOM } from \"../lib/platform\";\n\nexport type { AdaptivityProps };\n\nexport const useAdaptivity = (): AdaptivityContextInterface => {\n return React.useContext(AdaptivityContext);\n};\n\nexport const useAdaptivityIsDesktop = (): boolean => {\n const platform = usePlatform();\n const { viewWidth, viewHeight, hasMouse } = useAdaptivity();\n\n return (\n (viewWidth >= ViewWidth.SMALL_TABLET &&\n (hasMouse || viewHeight >= ViewHeight.MEDIUM)) ||\n platform === VKCOM\n );\n};\n"],"file":"useAdaptivity.js"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -277,6 +277,7 @@ export { usePlatform } from "./hooks/usePlatform";
|
|
|
277
277
|
export { useAdaptivity } from "./hooks/useAdaptivity";
|
|
278
278
|
export { useAppearance } from "./hooks/useAppearance";
|
|
279
279
|
export { usePagination } from "./hooks/usePagination";
|
|
280
|
+
export { useScrollLock } from "./components/AppRoot/ScrollContext";
|
|
280
281
|
/**
|
|
281
282
|
* Utils
|
|
282
283
|
*/
|
package/dist/cjs/index.js
CHANGED
|
@@ -875,6 +875,12 @@ Object.defineProperty(exports, "usePlatform", {
|
|
|
875
875
|
return _usePlatform.usePlatform;
|
|
876
876
|
}
|
|
877
877
|
});
|
|
878
|
+
Object.defineProperty(exports, "useScrollLock", {
|
|
879
|
+
enumerable: true,
|
|
880
|
+
get: function get() {
|
|
881
|
+
return _ScrollContext.useScrollLock;
|
|
882
|
+
}
|
|
883
|
+
});
|
|
878
884
|
Object.defineProperty(exports, "withAdaptivity", {
|
|
879
885
|
enumerable: true,
|
|
880
886
|
get: function get() {
|
|
@@ -1162,6 +1168,8 @@ var _useAppearance = require("./hooks/useAppearance");
|
|
|
1162
1168
|
|
|
1163
1169
|
var _usePagination = require("./hooks/usePagination");
|
|
1164
1170
|
|
|
1171
|
+
var _ScrollContext = require("./components/AppRoot/ScrollContext");
|
|
1172
|
+
|
|
1165
1173
|
var _classNames = require("./lib/classNames");
|
|
1166
1174
|
|
|
1167
1175
|
var _animate = _interopRequireDefault(require("./lib/animate"));
|