@consta/uikit 5.0.3 → 5.1.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/__internal__/src/components/BookmarkTabs/BookmarkTabs.js +1 -1
- package/__internal__/src/components/BookmarkTabs/BookmarkTabs.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePicker.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerAdditionalControls/DatePickerAdditionalControls.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerAdditionalControls/DatePickerAdditionalControls.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +3 -3
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/helpers.d.ts +1 -0
- package/__internal__/src/components/DatePicker/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/useCalendarVisible.d.ts +3 -2
- package/__internal__/src/components/DatePicker/useCalendarVisible.js +1 -1
- package/__internal__/src/components/DatePicker/useCalendarVisible.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeItem/DateTimeItem.css +1 -1
- package/__internal__/src/components/DateTime/DateTimeItem/DateTimeItem.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeItem/DateTimeItem.js.map +1 -1
- package/__internal__/src/components/FieldLabel/FieldLabel.js +1 -1
- package/__internal__/src/components/FieldLabel/FieldLabel.js.map +1 -1
- package/__internal__/src/components/Pagination/Pagination.css +1 -1
- package/__internal__/src/components/Pagination/Pagination.js +1 -1
- package/__internal__/src/components/Pagination/Pagination.js.map +1 -1
- package/__internal__/src/components/Pagination/PaginationItem/PaginationItem.css +1 -1
- package/__internal__/src/components/Pagination/PaginationItem/PaginationItem.d.ts +1 -0
- package/__internal__/src/components/Pagination/PaginationItem/PaginationItem.js +1 -1
- package/__internal__/src/components/Pagination/PaginationItem/PaginationItem.js.map +1 -1
- package/__internal__/src/components/Pagination/PaginationList/PaginationList.css +1 -1
- package/__internal__/src/components/Pagination/PaginationList/PaginationList.js +1 -1
- package/__internal__/src/components/Pagination/PaginationList/PaginationList.js.map +1 -1
- package/__internal__/src/components/Pagination/PaginationNumberInput/PaginationNumberInput.js +1 -1
- package/__internal__/src/components/Pagination/PaginationNumberInput/PaginationNumberInput.js.map +1 -1
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/PaginationSizeCalculateHelper.css +1 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/PaginationSizeCalculateHelper.d.ts +7 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/PaginationSizeCalculateHelper.js +2 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/PaginationSizeCalculateHelper.js.map +1 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/index.d.ts +1 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/index.js +2 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/index.js.map +1 -0
- package/__internal__/src/components/Pagination/helpers.d.ts +11 -555
- package/__internal__/src/components/Pagination/helpers.js +1 -1
- package/__internal__/src/components/Pagination/helpers.js.map +1 -1
- package/__internal__/src/components/Pagination/index.d.ts +0 -1
- package/__internal__/src/components/Pagination/index.js +1 -1
- package/__internal__/src/components/Pagination/index.js.map +1 -1
- package/__internal__/src/components/Pagination/types.d.ts +17 -37
- package/__internal__/src/components/Pagination/types.js.map +1 -1
- package/__internal__/src/components/Pagination/usePaginationItems.d.ts +7 -6
- package/__internal__/src/components/Pagination/usePaginationItems.js +1 -1
- package/__internal__/src/components/Pagination/usePaginationItems.js.map +1 -1
- package/__internal__/src/components/Pagination/usePaginationKeys.d.ts +2 -2
- package/__internal__/src/components/Pagination/usePaginationKeys.js +1 -1
- package/__internal__/src/components/Pagination/usePaginationKeys.js.map +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js.map +1 -1
- package/__internal__/src/components/Tabs/Tabs.js +1 -1
- package/__internal__/src/components/Tabs/Tabs.js.map +1 -1
- package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.d.ts +1 -1
- package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.js +1 -1
- package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +1 -1
- package/__internal__/src/components/Tabs/helpers.d.ts +283 -1
- package/__internal__/src/components/Tabs/types.d.ts +9 -2
- package/__internal__/src/components/Tabs/types.js.map +1 -1
- package/__internal__/src/components/TextField/TextField.css +1 -1
- package/__internal__/src/components/TextField/TextField.js +1 -1
- package/__internal__/src/components/TextField/TextField.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconAvi/FileIconAvi.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconBmp/FileIconBmp.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconCsv/FileIconCsv.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconDoc/FileIconDoc.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconExe/FileIconExe.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconGif/FileIconGif.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconJpg/FileIconJpg.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconJson/FileIconJson.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconLoading/FileIconLoading.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconMov/FileIconMov.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconMp3/FileIconMp3.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconMp4/FileIconMp4.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconPdf/FileIconPdf.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconPng/FileIconPng.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconRar/FileIconRar.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconRtf/FileIconRtf.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconTiff/FileIconTiff.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconTxt/FileIconTxt.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconUndefined/FileIconUndefined.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconWav/FileIconWav.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconXls/FileIconXls.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconZip/FileIconZip.js.map +1 -1
- package/__internal__/src/hooks/useFlag/useFlag.d.ts +1 -2
- package/__internal__/src/hooks/useFlag/useFlag.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImage403/ResponsesImage403.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImage404/ResponsesImage404.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImage500/ResponsesImage500.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImage503/ResponsesImage503.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageConnectionError/ResponsesImageConnectionError.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageDeleted/ResponsesImageDeleted.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageEmptyBox/ResponsesImageEmptyBox.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageEmptyPockets/ResponsesImageEmptyPockets.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageNothingFound/ResponsesImageNothingFound.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageSuccess/ResponsesImageSuccess.js.map +1 -1
- package/package.json +1 -1
- package/__internal__/src/components/Pagination/PaginationBase/PaginationBase.css +0 -1
- package/__internal__/src/components/Pagination/PaginationBase/PaginationBase.d.ts +0 -3
- package/__internal__/src/components/Pagination/PaginationBase/PaginationBase.js +0 -2
- package/__internal__/src/components/Pagination/PaginationBase/PaginationBase.js.map +0 -1
- package/__internal__/src/components/Pagination/PaginationBase/index.d.ts +0 -1
- package/__internal__/src/components/Pagination/PaginationBase/index.js +0 -2
- package/__internal__/src/components/Pagination/PaginationBase/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeTime.js","names":["React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getMultiplicityTime","datePickerPropDateTimeViewDefault","useCalendarVisible","DatePickerTypeTime","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","multiplicityHoursProp","multiplicityHours","multiplicityMinutesProp","multiplicityMinutes","multiplicitySecondsProp","multiplicitySeconds","renderAdditionalControls","currentVisibleDate","onChangeCurrentVisibleDate","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","otherProps","format","fieldRef","calendarRef","
|
|
1
|
+
{"version":3,"file":"DatePickerTypeTime.js","names":["React","forwardRef","useEffect","useRef","useClickOutside","useForkRef","setRef","DatePickerDropdown","DatePickerFieldTypeTime","datePickerPropFormatTypeDateTime","getDropdownZIndex","getMultiplicityTime","datePickerPropDateTimeViewDefault","useCalendarVisible","DatePickerTypeTime","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","multiplicityHoursProp","multiplicityHours","multiplicityMinutesProp","multiplicityMinutes","multiplicitySecondsProp","multiplicitySeconds","renderAdditionalControls","currentVisibleDate","onChangeCurrentVisibleDate","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","inputRefProp","inputRef","otherProps","format","fieldRef","calendarRef","startRef","calendarVisible","setCalendarVisible","current","isActive","ignoreClicksInsideRefs","handler","off","on","value","minDate","maxDate","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { setRef } from '##/utils/setRef';\n\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeTime } from '../DatePickerFieldTypeTime/DatePickerFieldTypeTime';\nimport {\n datePickerPropFormatTypeDateTime,\n getDropdownZIndex,\n getMultiplicityTime,\n} from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\n\nexport const DatePickerTypeTime: DatePickerTypeComponent<'time'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n dropdownClassName,\n multiplicityHours: multiplicityHoursProp,\n multiplicityMinutes: multiplicityMinutesProp,\n multiplicitySeconds: multiplicitySecondsProp,\n renderAdditionalControls,\n currentVisibleDate,\n onChangeCurrentVisibleDate,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\n inputRef: inputRefProp,\n ...otherProps\n } = props;\n\n const [multiplicityHours, multiplicityMinutes, multiplicitySeconds] =\n getMultiplicityTime(\n otherProps.format || datePickerPropFormatTypeDateTime,\n multiplicityHoursProp,\n multiplicityMinutesProp,\n multiplicitySecondsProp,\n );\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: inputRef,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeTime\n {...otherProps}\n ref={fieldRef}\n inputRef={useForkRef([inputRef, inputRefProp])}\n onClick={setCalendarVisible.on}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n disabled={disabled}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"time\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n className={dropdownClassName}\n onChange={props.onChange}\n renderAdditionalControls={renderAdditionalControls}\n multiplicityHours={multiplicityHours}\n multiplicitySeconds={multiplicitySeconds}\n multiplicityMinutes={multiplicityMinutes}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","disabled","ignoreOutsideClicksRefs"];import{addYears,startOfDecade}from"date-fns";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeYear}from"../DatePickerFieldTypeYear/DatePickerFieldTypeYear";import{getDropdownZIndex}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeYear=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownForm,h=a.dropdownClassName,i=a.currentVisibleDate,j=a.onChangeCurrentVisibleDate,k=a.renderAdditionalControls,l=a.onDropdownOpen,m=a.dropdownOpen,n=a.disabled,o=a.ignoreOutsideClicksRefs,p=_objectWithoutProperties(a,_excluded),
|
|
1
|
+
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","dropdownClassName","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","disabled","ignoreOutsideClicksRefs","inputRef"];import{addYears,startOfDecade}from"date-fns";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeYear}from"../DatePickerFieldTypeYear/DatePickerFieldTypeYear";import{getDropdownZIndex}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeYear=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownForm,h=a.dropdownClassName,i=a.currentVisibleDate,j=a.onChangeCurrentVisibleDate,k=a.renderAdditionalControls,l=a.onDropdownOpen,m=a.dropdownOpen,n=a.disabled,o=a.ignoreOutsideClicksRefs,p=a.inputRef,q=_objectWithoutProperties(a,_excluded),r=useRef(null),s=useRef(null),t=useRef(null),u=useCalendarVisible({dropdownOpen:m,onDropdownOpen:l,disabled:n,startRef:t}),v=_slicedToArray(u,2),w=v[0],x=v[1],y=useCurrentVisibleDate({currentVisibleDate:i,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfDecade,onChangeCurrentVisibleDate:j,calendarVisible:w}),z=_slicedToArray(y,2),A=z[0],B=z[1];return useEffect(function(){b&&setRef(b,r.current)},[b,r]),useEffect(function(){if(a.value&&"classic"===e&&A){var b=startOfDecade(a.value);return void(b.getTime()!==A.getTime()&&B(b))}if(a.value&&"classic"!==e&&A){var c=startOfDecade(a.value);c.getTime()!==A.getTime()&&c.getTime()!==addYears(A,10).getTime()&&B(c)}},[a.value]),useClickOutside({isActive:w,ignoreClicksInsideRefs:[r,s].concat(_toConsumableArray(null!==o&&void 0!==o?o:[])),handler:x.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeYear,Object.assign({},q,{ref:r,inputRef:useForkRef([t,p]),disabled:n,onClick:x.on})),React.createElement(DatePickerDropdown,{ref:s,anchorRef:r,className:h,isOpen:w,value:a.value||void 0,type:"year",view:e,events:c,locale:f,minDate:a.minDate,maxDate:a.maxDate,currentVisibleDate:A,form:g,onChange:function onChange(){for(var b,c=arguments.length,d=Array(c),e=0;e<c;e++)d[e]=arguments[e];null===(b=a.onChange)||void 0===b?void 0:b.call.apply(b,[a].concat(d)),x.off()},renderAdditionalControls:k,zIndex:getDropdownZIndex(a.style),onChangeCurrentVisibleDate:B}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerTypeYear.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeYear.js","names":["addYears","startOfDecade","React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeYear","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeYear","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","disabled","ignoreOutsideClicksRefs","otherProps","fieldRef","calendarRef","
|
|
1
|
+
{"version":3,"file":"DatePickerTypeYear.js","names":["addYears","startOfDecade","React","forwardRef","useEffect","useRef","useClickOutside","useForkRef","setRef","DatePickerDropdown","DatePickerFieldTypeYear","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeYear","props","ref","events","dateTimeView","locale","dropdownForm","dropdownClassName","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","disabled","ignoreOutsideClicksRefs","inputRefProp","inputRef","otherProps","fieldRef","calendarRef","startRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","on","args","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.tsx"],"sourcesContent":["import { addYears, startOfDecade } from 'date-fns';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { setRef } from '##/utils/setRef';\n\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeYear } from '../DatePickerFieldTypeYear/DatePickerFieldTypeYear';\nimport { getDropdownZIndex } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeYear: DatePickerTypeComponent<'year'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n dropdownClassName,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n onDropdownOpen,\n dropdownOpen,\n disabled,\n ignoreOutsideClicksRefs,\n inputRef: inputRefProp,\n ...otherProps\n } = props;\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: inputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfDecade,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useEffect(() => {\n if (props.value && dateTimeView === 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfDecade(props.value);\n if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfDecade(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !==\n addYears(currentVisibleDate, 10).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeYear\n {...otherProps}\n ref={fieldRef}\n inputRef={useForkRef([inputRef, inputRefProp])}\n disabled={disabled}\n onClick={setCalendarVisible.on}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n className={dropdownClassName}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"year\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={(...args) => {\n props.onChange?.(...args);\n setCalendarVisible.off();\n }}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
|
package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs"];import{addYears,startOfDecade}from"date-fns";import React,{forwardRef,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside
|
|
1
|
+
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled"];import{addYears,startOfDecade}from"date-fns";import React,{forwardRef,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeYearRange}from"../DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange";import{getDropdownZIndex,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeYearRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=void 0===h?datePickerPropDateTimeViewDefault:h,j=a.locale,k=a.dropdownForm,l=a.onFocus,m=a.onBlur,n=a.dropdownClassName,o=a.leftSide,p=a.rightSide,q=a.currentVisibleDate,r=a.onChangeCurrentVisibleDate,s=a.renderAdditionalControls,t=a.inputRef,u=a.name,v=a.onDropdownOpen,w=a.dropdownOpen,x=a.ignoreOutsideClicksRefs,y=a.disabled,z=_objectWithoutProperties(a,_excluded),A=useRef(null),B=useRef(null),C=useRef(null),D=useRef(null),E=useRef(null),F=useState(!1),G=_slicedToArray(F,2),H=G[0],I=G[1],J="start"===H,K="end"===H,L=useCalendarVisible({dropdownOpen:w,onDropdownOpen:v,disabled:y,startRef:C,endRef:D}),M=_slicedToArray(L,2),N=M[0],O=M[1],P=useCurrentVisibleDate({currentVisibleDate:q,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfDecade,onChangeCurrentVisibleDate:r,calendarVisible:N}),Q=_slicedToArray(P,2),R=Q[0],S=Q[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&J){var d=startOfDecade(a.value[0]);return void(d.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&S(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&J){var e=startOfDecade(a.value[0]);e.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&e.getTime()!==(R&&addYears(R,10).getTime())&&S(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),N,J]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&K){var d=startOfDecade(a.value[1]);return void(d.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&S(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&K){var e=startOfDecade(a.value[1]);e.getTime()!==(null===R||void 0===R?void 0:R.getTime())&&e.getTime()!==(R&&addYears(R,10).getTime())&&S(addYears(e,-10))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),N,K]),useClickOutside({isActive:N,ignoreClicksInsideRefs:[A,B,E].concat(_toConsumableArray(null!==x&&void 0!==x?x:[])),handler:function handler(){I(!1),O.off()}}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeYearRange,Object.assign({},z,{ref:b,startFieldRef:A,endFieldRef:B,startFieldInputRef:useForkRef([C,null===t||void 0===t?void 0:t[0]]),endFieldInputRef:useForkRef([D,null===t||void 0===t?void 0:t[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;I("start"),Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;I("end"),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:o,startFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[0]:void 0,endFieldLeftSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:void 0,endFieldRightSide:Array.isArray(p)?null===p||void 0===p?void 0:p[1]:p,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[0])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[1])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFocused:J,endFocused:K,startFieldOnClick:O.on,endFieldOnClick:O.on,startFieldName:Array.isArray(u)?u[0]:"".concat(u,"_start"),endFieldName:Array.isArray(u)?u[1]:"".concat(u,"_end"),disabled:y})),React.createElement(DatePickerDropdown,{type:"year",ref:E,anchorRef:A,isOpen:N,onChangeCurrentVisibleDate:S,currentVisibleDate:R,value:a.value||void 0,view:i,events:g,locale:j,className:n,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b,c){var d=c.e;if(J){var e,f,g=normalizeRangeValue([b,null===a||void 0===a||null===(e=a.value)||void 0===e?void 0:e[1]]);null===(f=a.onChange)||void 0===f?void 0:f.call(a,g,{e:d})}if(K){var h,i,j=normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],b]);null===(i=a.onChange)||void 0===i?void 0:i.call(a,j,{e:d})}},renderAdditionalControls:s,zIndex:getDropdownZIndex(a.style)}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerTypeYearRange.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeYearRange.js","names":["addYears","startOfDecade","React","forwardRef","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeYearRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeYearRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","hadleChange","newValue","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.tsx"],"sourcesContent":["import { addYears, startOfDecade } from 'date-fns';\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeYearRange } from '../DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeYearRange: DatePickerTypeComponent<'date-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n dropdownClassName,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = (value, { e }) => {\n if (startFocused) {\n const newValue = normalizeRangeValue([value, props?.value?.[1]]);\n props.onChange?.(newValue, {\n e,\n });\n }\n if (endFocused) {\n const newValue = normalizeRangeValue([props?.value?.[0], value]);\n props.onChange?.(newValue, {\n e,\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfDecade,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfDecade(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfDecade(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 10).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfDecade(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfDecade(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 10).getTime())\n ) {\n setCurrentVisibleDate(addYears(newVisibleDate, -10));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: () => {\n setFieldFocused(false);\n setCalendarVisible.off();\n },\n });\n\n return (\n <>\n <DatePickerFieldTypeYearRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n />\n <DatePickerDropdown\n type=\"year\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n className={dropdownClassName}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePickerTypeYearRange.js","names":["addYears","startOfDecade","React","forwardRef","useEffect","useRef","useState","useClickOutside","useForkRef","DatePickerDropdown","DatePickerFieldTypeYearRange","getDropdownZIndex","normalizeRangeValue","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeYearRange","props","ref","events","dateTimeView","locale","dropdownForm","onFocus","onBlur","dropdownClassName","leftSide","rightSide","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","name","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","fieldProps","startFieldRef","endFieldRef","startFieldInputRef","endFieldInputRef","calendarRef","fieldFocused","setFieldFocused","startFocused","endFocused","startRef","endRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","startFieldOnFocusHandler","e","Array","isArray","endFieldOnFocusHandler","startFieldOnBlurHandler","endFieldOnBlurHandler","on","hadleChange","newValue","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.tsx"],"sourcesContent":["import { addYears, startOfDecade } from 'date-fns';\nimport React, { forwardRef, useEffect, useRef, useState } from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport {\n DatePickerDropdown,\n DatePickerDropdownPropOnChange,\n} from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeYearRange } from '../DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange';\nimport { getDropdownZIndex, normalizeRangeValue } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeYearRange: DatePickerTypeComponent<'date-range'> =\n forwardRef((props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownForm,\n onFocus,\n onBlur,\n dropdownClassName,\n leftSide,\n rightSide,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n inputRef,\n name,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\n ...fieldProps\n } = props;\n\n const startFieldRef = useRef<HTMLDivElement>(null);\n const endFieldRef = useRef<HTMLDivElement>(null);\n const startFieldInputRef = useRef<HTMLInputElement>(null);\n const endFieldInputRef = useRef<HTMLInputElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [fieldFocused, setFieldFocused] = useState<'start' | 'end' | false>(\n false,\n );\n\n const startFocused = fieldFocused === 'start';\n const endFocused = fieldFocused === 'end';\n\n const hadleChange: DatePickerDropdownPropOnChange = (value, { e }) => {\n if (startFocused) {\n const newValue = normalizeRangeValue([value, props?.value?.[1]]);\n props.onChange?.(newValue, {\n e,\n });\n }\n if (endFocused) {\n const newValue = normalizeRangeValue([props?.value?.[0], value]);\n props.onChange?.(newValue, {\n e,\n });\n }\n };\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: startFieldInputRef,\n endRef: endFieldInputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfDecade,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n const startFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[0]?.(e) : onBlur?.(e);\n\n const endFieldOnBlurHandler = (e: React.FocusEvent<HTMLElement>) =>\n Array.isArray(onBlur) ? onBlur[1]?.(e) : onBlur?.(e);\n\n const startFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('start');\n Array.isArray(onFocus) ? onFocus[0]?.(e) : onFocus?.(e);\n };\n\n const endFieldOnFocusHandler = (e: React.FocusEvent<HTMLElement>) => {\n setFieldFocused('end');\n Array.isArray(onFocus) ? onFocus[1]?.(e) : onFocus?.(e);\n };\n\n // эффект для того чтобы календарь переключался при вводе с клавиатуры\n useEffect(() => {\n if (props.value?.[0] && dateTimeView === 'classic' && startFocused) {\n const newVisibleDate = startOfDecade(props.value[0]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[0] && dateTimeView !== 'classic' && startFocused) {\n const newVisibleDate = startOfDecade(props.value[0]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 10).getTime())\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value?.[0]?.getTime(), calendarVisible, startFocused]);\n\n useEffect(() => {\n if (props.value?.[1] && dateTimeView === 'classic' && endFocused) {\n const newVisibleDate = startOfDecade(props.value[1]);\n if (newVisibleDate.getTime() !== currentVisibleDate?.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value?.[1] && dateTimeView !== 'classic' && endFocused) {\n const newVisibleDate = startOfDecade(props.value[1]);\n if (\n newVisibleDate.getTime() !== currentVisibleDate?.getTime() &&\n newVisibleDate.getTime() !==\n (currentVisibleDate && addYears(currentVisibleDate, 10).getTime())\n ) {\n setCurrentVisibleDate(addYears(newVisibleDate, -10));\n }\n }\n }, [props.value?.[1]?.getTime(), calendarVisible, endFocused]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n startFieldRef,\n endFieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: () => {\n setFieldFocused(false);\n setCalendarVisible.off();\n },\n });\n\n return (\n <>\n <DatePickerFieldTypeYearRange\n {...fieldProps}\n ref={ref}\n startFieldRef={startFieldRef}\n endFieldRef={endFieldRef}\n startFieldInputRef={useForkRef([startFieldInputRef, inputRef?.[0]])}\n endFieldInputRef={useForkRef([endFieldInputRef, inputRef?.[1]])}\n startFieldOnFocus={startFieldOnFocusHandler}\n endFieldOnFocus={endFieldOnFocusHandler}\n startFieldLeftSide={\n Array.isArray(leftSide) ? leftSide?.[0] : leftSide\n }\n startFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[0] : undefined\n }\n endFieldLeftSide={Array.isArray(leftSide) ? leftSide?.[1] : undefined}\n endFieldRightSide={\n Array.isArray(rightSide) ? rightSide?.[1] : rightSide\n }\n startFieldOnBlur={startFieldOnBlurHandler}\n endFieldOnBlur={endFieldOnBlurHandler}\n startFocused={startFocused}\n endFocused={endFocused}\n startFieldOnClick={setCalendarVisible.on}\n endFieldOnClick={setCalendarVisible.on}\n startFieldName={Array.isArray(name) ? name[0] : `${name}_start`}\n endFieldName={Array.isArray(name) ? name[1] : `${name}_end`}\n disabled={disabled}\n />\n <DatePickerDropdown\n type=\"year\"\n ref={calendarRef}\n anchorRef={startFieldRef}\n isOpen={calendarVisible}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n currentVisibleDate={currentVisibleDate}\n value={props.value || undefined}\n view={dateTimeView}\n events={events}\n locale={locale}\n className={dropdownClassName}\n minDate={props.minDate}\n maxDate={props.maxDate}\n form={dropdownForm}\n onChange={hadleChange}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n />\n </>\n );\n });\n"],"mappings":"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"}
|
|
@@ -23,3 +23,4 @@ export declare const getPartsDate: (value: string, format: string, separator: st
|
|
|
23
23
|
export declare const isTypeWithTime: (type: DatePickerPropType) => boolean;
|
|
24
24
|
export declare const getFieldName: (name: [string?, string?] | string | undefined, rangeIndex: 0 | 1) => string | undefined;
|
|
25
25
|
export declare const getDropdownZIndex: (style?: React.CSSProperties) => number | undefined;
|
|
26
|
+
export declare const useStringValue: (value: Date | undefined | null, stringValue: string, formatProp: string, separator: string, setStringValue: React.Dispatch<string>) => void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{startOfToday}from"date-fns";import{range}from"../../utils/array";import{getForm}from"../FieldGroup/FieldGroup";export var datePickerPropSeparatorDefault=".";export var datePickerPropFormatTypeDate="dd".concat(".","MM").concat(".","yyyy");export var datePickerPropPlaceholderTypeDate="\u0414\u0414".concat(".","\u041C\u041C").concat(".","\u0413\u0413\u0413\u0413");export var datePickerPropFormatTypeTime="HH:mm:ss";export var datePickerPropPlaceholderTypeTime="\u0427\u0427:\u041C\u041C:\u0421\u0421";export var datePickerPropFormatTypeDateTime="".concat(datePickerPropFormatTypeDate," ").concat("HH:mm:ss");export var datePickerPropPlaceholderTypeDateTime="".concat(datePickerPropPlaceholderTypeDate," ").concat("\u0427\u0427:\u041C\u041C:\u0421\u0421");export var datePickerPropFormatTypeYear="yyyy";export var datePickerPropPlaceholderTypeYear="\u0413\u0413\u0413\u0413";export var datePickerPropFormatTypeMonth="MM".concat(".","yyyy");export var datePickerPropPlaceholderTypeMonth="MM".concat(".","\u0413\u0413\u0413\u0413");export var normalizeRangeValue=function(a){var b,c;return a[0]&&a[1]&&(null===(b=a[0])||void 0===b?void 0:b.getTime())>(null===(c=a[1])||void 0===c?void 0:c.getTime())?[a[1],a[0]]:a};export var getMultiplicityTime=function(a,b,c,d){var e,f=null===(e=a.split(" ")[1])||void 0===e?void 0:e.split(":"),g={HH:b,mm:c,ss:d};return["HH","mm","ss"].map(function(a){return 0>(null===f||void 0===f?void 0:f.indexOf(a))?0:g[a]})};export var getTimeEnum=function(a){var b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:1,c=2<arguments.length?arguments[2]:void 0,d=3<arguments.length?arguments[3]:void 0,e=4<arguments.length?arguments[4]:void 0,f=range(b?Math.floor(a/b):0);if(0===f.length)return[];var g=c(startOfToday());return f.map(function(a){return e(d(g,a*b))})};export var getFormForStart=function(a){return getForm(a,0,2)};export var getFormForEnd=function(a){return getForm(a,1,2)};export var getPartDate=function(a,b,c){var d=a.indexOf(c);return 0<=d&&b[d]&&b[d].length===c.length?b[d]:void 0};export var getParts=function(a,b,c){if(c){var d=a.split(" "),e=_slicedToArray(d,2),f=e[0],g=e[1];return[].concat(_toConsumableArray(f?f.split(b):[]),_toConsumableArray(g?g.split(":"):[]))}return a.split(b)};export var getPartsDate=function(a,b,c,d,e){var f=getParts(b,c,d),g=getParts(a,c,d);return e.map(function(a){return getPartDate(f,g,a)})};export var isTypeWithTime=function(a){return-1!==a.indexOf("time")};var fieldPrefixs=["start","end"];export var getFieldName=function(a,b){return a?Array.isArray(a)?a[b]:"".concat(a,"_").concat(fieldPrefixs[b]):void 0};export var getDropdownZIndex=function(a){return"number"==typeof(null===a||void 0===a?void 0:a.zIndex)?a.zIndex+1:void 0};
|
|
1
|
+
import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{format,isValid,parse,startOfToday}from"date-fns";import{useEffect}from"react";import{range}from"../../utils/array";import{getForm}from"../FieldGroup/FieldGroup";export var datePickerPropSeparatorDefault=".";export var datePickerPropFormatTypeDate="dd".concat(".","MM").concat(".","yyyy");export var datePickerPropPlaceholderTypeDate="\u0414\u0414".concat(".","\u041C\u041C").concat(".","\u0413\u0413\u0413\u0413");export var datePickerPropFormatTypeTime="HH:mm:ss";export var datePickerPropPlaceholderTypeTime="\u0427\u0427:\u041C\u041C:\u0421\u0421";export var datePickerPropFormatTypeDateTime="".concat(datePickerPropFormatTypeDate," ").concat("HH:mm:ss");export var datePickerPropPlaceholderTypeDateTime="".concat(datePickerPropPlaceholderTypeDate," ").concat("\u0427\u0427:\u041C\u041C:\u0421\u0421");export var datePickerPropFormatTypeYear="yyyy";export var datePickerPropPlaceholderTypeYear="\u0413\u0413\u0413\u0413";export var datePickerPropFormatTypeMonth="MM".concat(".","yyyy");export var datePickerPropPlaceholderTypeMonth="MM".concat(".","\u0413\u0413\u0413\u0413");export var normalizeRangeValue=function(a){var b,c;return a[0]&&a[1]&&(null===(b=a[0])||void 0===b?void 0:b.getTime())>(null===(c=a[1])||void 0===c?void 0:c.getTime())?[a[1],a[0]]:a};export var getMultiplicityTime=function(a,b,c,d){var e,f=null===(e=a.split(" ")[1])||void 0===e?void 0:e.split(":"),g={HH:b,mm:c,ss:d};return["HH","mm","ss"].map(function(a){return 0>(null===f||void 0===f?void 0:f.indexOf(a))?0:g[a]})};export var getTimeEnum=function(a){var b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:1,c=2<arguments.length?arguments[2]:void 0,d=3<arguments.length?arguments[3]:void 0,e=4<arguments.length?arguments[4]:void 0,f=range(b?Math.floor(a/b):0);if(0===f.length)return[];var g=c(startOfToday());return f.map(function(a){return e(d(g,a*b))})};export var getFormForStart=function(a){return getForm(a,0,2)};export var getFormForEnd=function(a){return getForm(a,1,2)};export var getPartDate=function(a,b,c){var d=a.indexOf(c);return 0<=d&&b[d]&&b[d].length===c.length?b[d]:void 0};export var getParts=function(a,b,c){if(c){var d=a.split(" "),e=_slicedToArray(d,2),f=e[0],g=e[1];return[].concat(_toConsumableArray(f?f.split(b):[]),_toConsumableArray(g?g.split(":"):[]))}return a.split(b)};export var getPartsDate=function(a,b,c,d,e){var f=getParts(b,c,d),g=getParts(a,c,d);return e.map(function(a){return getPartDate(f,g,a)})};export var isTypeWithTime=function(a){return-1!==a.indexOf("time")};var fieldPrefixs=["start","end"];export var getFieldName=function(a,b){return a?Array.isArray(a)?a[b]:"".concat(a,"_").concat(fieldPrefixs[b]):void 0};export var getDropdownZIndex=function(a){return"number"==typeof(null===a||void 0===a?void 0:a.zIndex)?a.zIndex+1:void 0};export var useStringValue=function(a,b,c,d,e){useEffect(function(){if(a&&isValid(a)&&e(format(a,c)),!a&&b){var f=getParts(c,d,!1),g=getParts(b,d,!1),h=f.map(function(a){return getPartDate(f,g,a)}).filter(function(a){return!!a}),i=f.length===h.length?parse(g.join(datePickerPropSeparatorDefault),f.join(datePickerPropSeparatorDefault),new Date):void 0;isValid(i)&&e("")}},[null===a||void 0===a?void 0:a.getTime()])};
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["startOfToday","range","getForm","datePickerPropSeparatorDefault","datePickerPropFormatTypeDate","datePickerPropPlaceholderTypeDate","datePickerPropFormatTypeTime","datePickerPropPlaceholderTypeTime","datePickerPropFormatTypeDateTime","datePickerPropPlaceholderTypeDateTime","datePickerPropFormatTypeYear","datePickerPropPlaceholderTypeYear","datePickerPropFormatTypeMonth","datePickerPropPlaceholderTypeMonth","normalizeRangeValue","dateRange","getTime","getMultiplicityTime","format","multiplicityHours","multiplicityMinutes","multiplicitySeconds","formatArray","split","map","HH","mm","ss","marker","indexOf","getTimeEnum","length","multiplicity","startOfUnits","addUnits","getItemLabel","numbers","Math","floor","startDate","number","getFormForStart","form","getFormForEnd","getPartDate","stringArray","index","getParts","separator","withTime","date","time","getPartsDate","value","markers","isTypeWithTime","type","fieldPrefixs","getFieldName","name","rangeIndex","Array","isArray","getDropdownZIndex","style","zIndex"],"sources":["../../../../../src/components/DatePicker/helpers.ts"],"sourcesContent":["import { startOfToday } from 'date-fns';\n\nimport { range } from '../../utils/array';\nimport { DateRange } from '../../utils/types/Date';\nimport { getForm } from '../FieldGroup/FieldGroup';\nimport { TextFieldPropForm } from '../TextField/TextField';\nimport { DatePickerPropType } from './types';\n\nexport const datePickerPropSeparatorDefault = '.';\nexport const datePickerPropFormatTypeDate = `dd${datePickerPropSeparatorDefault}MM${datePickerPropSeparatorDefault}yyyy`;\nexport const datePickerPropPlaceholderTypeDate = `ДД${datePickerPropSeparatorDefault}ММ${datePickerPropSeparatorDefault}ГГГГ`;\n\nexport const datePickerPropFormatTypeTime = `HH:mm:ss`;\nexport const datePickerPropPlaceholderTypeTime = `ЧЧ:ММ:СС`;\n\nexport const datePickerPropFormatTypeDateTime = `${datePickerPropFormatTypeDate} ${datePickerPropFormatTypeTime}`;\nexport const datePickerPropPlaceholderTypeDateTime = `${datePickerPropPlaceholderTypeDate} ${datePickerPropPlaceholderTypeTime}`;\n\nexport const datePickerPropFormatTypeYear = `yyyy`;\nexport const datePickerPropPlaceholderTypeYear = `ГГГГ`;\n\nexport const datePickerPropFormatTypeMonth = `MM${datePickerPropSeparatorDefault}yyyy`;\nexport const datePickerPropPlaceholderTypeMonth = `MM${datePickerPropSeparatorDefault}ГГГГ`;\n\nexport const normalizeRangeValue = (dateRange: DateRange): DateRange => {\n if (\n dateRange[0] &&\n dateRange[1] &&\n dateRange[0]?.getTime() > dateRange[1]?.getTime()\n ) {\n return [dateRange[1], dateRange[0]];\n }\n return dateRange;\n};\n\nexport const getMultiplicityTime = (\n format: string,\n multiplicityHours: number | undefined,\n multiplicityMinutes: number | undefined,\n multiplicitySeconds: number | undefined,\n) => {\n const markers = ['HH', 'mm', 'ss'] as const;\n const formatArray = format.split(' ')[1]?.split(':');\n const map = {\n HH: multiplicityHours,\n mm: multiplicityMinutes,\n ss: multiplicitySeconds,\n } as const;\n\n return markers.map((marker) =>\n formatArray?.indexOf(marker) < 0 ? 0 : map[marker],\n );\n};\n\nexport const getTimeEnum = (\n length: number,\n multiplicity = 1,\n startOfUnits: (date: Date) => Date,\n addUnits: (date: Date, amount: number) => Date,\n getItemLabel: (date: Date) => string,\n) => {\n const numbers = range(multiplicity ? Math.floor(length / multiplicity) : 0);\n\n if (numbers.length === 0) {\n return [];\n }\n\n const startDate = startOfUnits(startOfToday());\n\n return numbers.map((number) => {\n return getItemLabel(addUnits(startDate, number * multiplicity));\n });\n};\n\nexport const getFormForStart = (form: TextFieldPropForm) => getForm(form, 0, 2);\nexport const getFormForEnd = (form: TextFieldPropForm) => getForm(form, 1, 2);\n\nexport const getPartDate = (\n formatArray: string[],\n stringArray: string[],\n marker: string,\n) => {\n const index = formatArray.indexOf(marker);\n\n if (\n index >= 0 &&\n stringArray[index] &&\n stringArray[index].length === marker.length\n ) {\n return stringArray[index];\n }\n\n return undefined;\n};\n\nexport const getParts = (\n format: string,\n separator: string,\n withTime?: boolean,\n) => {\n if (withTime) {\n const [date, time] = format.split(' ');\n\n return [\n ...(date ? date.split(separator) : []),\n ...(time ? time.split(':') : []),\n ];\n }\n\n return format.split(separator);\n};\n\nexport const getPartsDate = (\n value: string,\n format: string,\n separator: string,\n withTime: boolean,\n markers: string[],\n) => {\n const formatArray = getParts(format, separator, withTime);\n const stringArray = getParts(value, separator, withTime);\n\n return markers.map((marker) => getPartDate(formatArray, stringArray, marker));\n};\n\nexport const isTypeWithTime = (type: DatePickerPropType) =>\n type.indexOf('time') !== -1;\n\nconst fieldPrefixs = ['start', 'end'] as const;\n\nexport const getFieldName = (\n name: [string?, string?] | string | undefined,\n rangeIndex: 0 | 1,\n) => {\n if (!name) {\n return undefined;\n }\n\n if (Array.isArray(name)) {\n return name[rangeIndex];\n }\n\n return `${name}_${fieldPrefixs[rangeIndex]}`;\n};\n\nexport const getDropdownZIndex = (style?: React.CSSProperties) =>\n typeof style?.zIndex === 'number' ? style.zIndex + 1 : undefined;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["format","isValid","parse","startOfToday","useEffect","range","getForm","datePickerPropSeparatorDefault","datePickerPropFormatTypeDate","datePickerPropPlaceholderTypeDate","datePickerPropFormatTypeTime","datePickerPropPlaceholderTypeTime","datePickerPropFormatTypeDateTime","datePickerPropPlaceholderTypeDateTime","datePickerPropFormatTypeYear","datePickerPropPlaceholderTypeYear","datePickerPropFormatTypeMonth","datePickerPropPlaceholderTypeMonth","normalizeRangeValue","dateRange","getTime","getMultiplicityTime","multiplicityHours","multiplicityMinutes","multiplicitySeconds","formatArray","split","map","HH","mm","ss","marker","indexOf","getTimeEnum","length","multiplicity","startOfUnits","addUnits","getItemLabel","numbers","Math","floor","startDate","number","getFormForStart","form","getFormForEnd","getPartDate","stringArray","index","getParts","separator","withTime","date","time","getPartsDate","value","markers","isTypeWithTime","type","fieldPrefixs","getFieldName","name","rangeIndex","Array","isArray","getDropdownZIndex","style","zIndex","useStringValue","stringValue","formatProp","setStringValue","valueArray","validArray","filter","item","join","Date"],"sources":["../../../../../src/components/DatePicker/helpers.ts"],"sourcesContent":["import { format, isValid, parse, startOfToday } from 'date-fns';\nimport { useEffect } from 'react';\n\nimport { range } from '../../utils/array';\nimport { DateRange } from '../../utils/types/Date';\nimport { getForm } from '../FieldGroup/FieldGroup';\nimport { TextFieldPropForm } from '../TextField/TextField';\nimport { DatePickerPropType } from './types';\n\nexport const datePickerPropSeparatorDefault = '.';\nexport const datePickerPropFormatTypeDate = `dd${datePickerPropSeparatorDefault}MM${datePickerPropSeparatorDefault}yyyy`;\nexport const datePickerPropPlaceholderTypeDate = `ДД${datePickerPropSeparatorDefault}ММ${datePickerPropSeparatorDefault}ГГГГ`;\n\nexport const datePickerPropFormatTypeTime = `HH:mm:ss`;\nexport const datePickerPropPlaceholderTypeTime = `ЧЧ:ММ:СС`;\n\nexport const datePickerPropFormatTypeDateTime = `${datePickerPropFormatTypeDate} ${datePickerPropFormatTypeTime}`;\nexport const datePickerPropPlaceholderTypeDateTime = `${datePickerPropPlaceholderTypeDate} ${datePickerPropPlaceholderTypeTime}`;\n\nexport const datePickerPropFormatTypeYear = `yyyy`;\nexport const datePickerPropPlaceholderTypeYear = `ГГГГ`;\n\nexport const datePickerPropFormatTypeMonth = `MM${datePickerPropSeparatorDefault}yyyy`;\nexport const datePickerPropPlaceholderTypeMonth = `MM${datePickerPropSeparatorDefault}ГГГГ`;\n\nexport const normalizeRangeValue = (dateRange: DateRange): DateRange => {\n if (\n dateRange[0] &&\n dateRange[1] &&\n dateRange[0]?.getTime() > dateRange[1]?.getTime()\n ) {\n return [dateRange[1], dateRange[0]];\n }\n return dateRange;\n};\n\nexport const getMultiplicityTime = (\n format: string,\n multiplicityHours: number | undefined,\n multiplicityMinutes: number | undefined,\n multiplicitySeconds: number | undefined,\n) => {\n const markers = ['HH', 'mm', 'ss'] as const;\n const formatArray = format.split(' ')[1]?.split(':');\n const map = {\n HH: multiplicityHours,\n mm: multiplicityMinutes,\n ss: multiplicitySeconds,\n } as const;\n\n return markers.map((marker) =>\n formatArray?.indexOf(marker) < 0 ? 0 : map[marker],\n );\n};\n\nexport const getTimeEnum = (\n length: number,\n multiplicity = 1,\n startOfUnits: (date: Date) => Date,\n addUnits: (date: Date, amount: number) => Date,\n getItemLabel: (date: Date) => string,\n) => {\n const numbers = range(multiplicity ? Math.floor(length / multiplicity) : 0);\n\n if (numbers.length === 0) {\n return [];\n }\n\n const startDate = startOfUnits(startOfToday());\n\n return numbers.map((number) => {\n return getItemLabel(addUnits(startDate, number * multiplicity));\n });\n};\n\nexport const getFormForStart = (form: TextFieldPropForm) => getForm(form, 0, 2);\nexport const getFormForEnd = (form: TextFieldPropForm) => getForm(form, 1, 2);\n\nexport const getPartDate = (\n formatArray: string[],\n stringArray: string[],\n marker: string,\n) => {\n const index = formatArray.indexOf(marker);\n\n if (\n index >= 0 &&\n stringArray[index] &&\n stringArray[index].length === marker.length\n ) {\n return stringArray[index];\n }\n\n return undefined;\n};\n\nexport const getParts = (\n format: string,\n separator: string,\n withTime?: boolean,\n) => {\n if (withTime) {\n const [date, time] = format.split(' ');\n\n return [\n ...(date ? date.split(separator) : []),\n ...(time ? time.split(':') : []),\n ];\n }\n\n return format.split(separator);\n};\n\nexport const getPartsDate = (\n value: string,\n format: string,\n separator: string,\n withTime: boolean,\n markers: string[],\n) => {\n const formatArray = getParts(format, separator, withTime);\n const stringArray = getParts(value, separator, withTime);\n\n return markers.map((marker) => getPartDate(formatArray, stringArray, marker));\n};\n\nexport const isTypeWithTime = (type: DatePickerPropType) =>\n type.indexOf('time') !== -1;\n\nconst fieldPrefixs = ['start', 'end'] as const;\n\nexport const getFieldName = (\n name: [string?, string?] | string | undefined,\n rangeIndex: 0 | 1,\n) => {\n if (!name) {\n return undefined;\n }\n\n if (Array.isArray(name)) {\n return name[rangeIndex];\n }\n\n return `${name}_${fieldPrefixs[rangeIndex]}`;\n};\n\nexport const getDropdownZIndex = (style?: React.CSSProperties) =>\n typeof style?.zIndex === 'number' ? style.zIndex + 1 : undefined;\n\nexport const useStringValue = (\n value: Date | undefined | null,\n stringValue: string,\n formatProp: string,\n separator: string,\n setStringValue: React.Dispatch<string>,\n) => {\n useEffect(() => {\n if (value && isValid(value)) {\n setStringValue(format(value, formatProp));\n }\n\n if (!value && stringValue) {\n const formatArray = getParts(formatProp, separator, false);\n const valueArray = getParts(stringValue, separator, false);\n const validArray = formatArray\n .map((marker) => getPartDate(formatArray, valueArray, marker))\n .filter((item) => Boolean(item));\n\n const date =\n formatArray.length === validArray.length\n ? parse(\n valueArray.join(datePickerPropSeparatorDefault),\n formatArray.join(datePickerPropSeparatorDefault),\n new Date(),\n )\n : undefined;\n\n if (isValid(date)) {\n setStringValue('');\n }\n }\n }, [value?.getTime()]);\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Flag } from "../../hooks/useFlag";
|
|
3
3
|
declare type UseCalendarVisibleParams = {
|
|
4
4
|
onDropdownOpen?: (isOpen: boolean) => void;
|
|
5
5
|
dropdownOpen?: boolean;
|
|
@@ -7,7 +7,8 @@ declare type UseCalendarVisibleParams = {
|
|
|
7
7
|
startRef: React.RefObject<HTMLInputElement>;
|
|
8
8
|
endRef?: React.RefObject<HTMLInputElement>;
|
|
9
9
|
};
|
|
10
|
-
declare type UseFlagReturn = ReturnType<typeof
|
|
10
|
+
declare type UseFlagReturn = ReturnType<typeof useFlagWithDisabled>;
|
|
11
11
|
declare type Return = [UseFlagReturn[0], UseFlagReturn[1]];
|
|
12
|
+
declare const useFlagWithDisabled: (initial?: boolean, disabled?: boolean) => Flag;
|
|
12
13
|
export declare const useCalendarVisible: (params: UseCalendarVisibleParams) => Return;
|
|
13
14
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useEffect}from"react";import{
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useEffect,useState}from"react";import{useKeysRef}from"../../hooks/useKeysRef";var useFlagWithDisabled=function(){var a=!!(0<arguments.length&&arguments[0]!==void 0)&&arguments[0],b=1<arguments.length?arguments[1]:void 0,c=useState(a),d=_slicedToArray(c,2),e=d[0],f=d[1];return[e,{on:function on(){b||f(!0)},off:function off(){return f(!1)},toggle:function toggle(){return f(function(a){return!b&&!a})},set:f}]};export var useCalendarVisible=function(a){var b=a.onDropdownOpen,c=a.dropdownOpen,d=a.disabled,e=a.startRef,f=a.endRef,g=useFlagWithDisabled(!1,d),h=_slicedToArray(g,2),i=h[0],j=h[1],k=function(a){a.preventDefault(),j.on()},l={ArrowUp:k,ArrowDown:k,PageUp:k,PageDown:k,Home:k,End:k,Enter:function Enter(){d||j.on()},Escape:function Escape(){j.off()},Tab:function Tab(a){i&&(a.preventDefault(),j.off())}},m=function(a){var b=a.key;"Tab"!==b&&"Escape"!==b&&j.on()};return useKeysRef({ref:e,keys:l,eventHandler:m,isActive:!d}),useKeysRef({ref:f,keys:l,eventHandler:m,isActive:!d}),useEffect(function(){d||(null===b||void 0===b?void 0:b(i))},[i]),useEffect(function(){d||j.set(null!==c&&void 0!==c&&c)},[c]),useEffect(function(){d&&j.off()},[d]),[i,j]};
|
|
2
2
|
//# sourceMappingURL=useCalendarVisible.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCalendarVisible.js","names":["useEffect","
|
|
1
|
+
{"version":3,"file":"useCalendarVisible.js","names":["useEffect","useState","useKeysRef","useFlagWithDisabled","initial","disabled","state","setState","on","off","toggle","set","useCalendarVisible","params","onDropdownOpen","dropdownOpen","startRef","endRef","calendarVisible","setCalendarVisible","ArrowHandler","e","preventDefault","keys","ArrowUp","ArrowDown","PageUp","PageDown","Home","End","Enter","Escape","Tab","eventHandler","key","ref","isActive"],"sources":["../../../../../src/components/DatePicker/useCalendarVisible.ts"],"sourcesContent":["import React, { useEffect, useState } from 'react';\n\nimport { Flag } from '##/hooks/useFlag';\nimport { KeyHandlers, useKeysRef } from '##/hooks/useKeysRef';\n\ntype UseCalendarVisibleParams = {\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n disabled?: boolean;\n startRef: React.RefObject<HTMLInputElement>;\n endRef?: React.RefObject<HTMLInputElement>;\n};\ntype UseFlagReturn = ReturnType<typeof useFlagWithDisabled>;\ntype Return = [UseFlagReturn[0], UseFlagReturn[1]];\n\nconst useFlagWithDisabled = (initial = false, disabled?: boolean): Flag => {\n const [state, setState] = useState(initial);\n return [\n state,\n {\n on: () => {\n !disabled && setState(true);\n },\n off: () => setState(false),\n toggle: () => setState((state) => !disabled && !state),\n set: setState,\n },\n ];\n};\n\nexport const useCalendarVisible = (\n params: UseCalendarVisibleParams,\n): Return => {\n const { onDropdownOpen, dropdownOpen, disabled, startRef, endRef } = params;\n\n const [calendarVisible, setCalendarVisible] = useFlagWithDisabled(\n false,\n disabled,\n );\n\n const ArrowHandler = (e: KeyboardEvent) => {\n e.preventDefault();\n setCalendarVisible.on();\n };\n\n const Escape = () => {\n setCalendarVisible.off();\n };\n\n const Enter = () => {\n !disabled && setCalendarVisible.on();\n };\n\n const Tab = (e: KeyboardEvent) => {\n if (calendarVisible) {\n e.preventDefault();\n setCalendarVisible.off();\n }\n };\n\n const keys: KeyHandlers = {\n ArrowUp: ArrowHandler,\n ArrowDown: ArrowHandler,\n PageUp: ArrowHandler,\n PageDown: ArrowHandler,\n Home: ArrowHandler,\n End: ArrowHandler,\n Enter,\n Escape,\n Tab,\n };\n\n const eventHandler = (e: KeyboardEvent) => {\n const { key } = e;\n if (key !== 'Tab' && key !== 'Escape') {\n setCalendarVisible.on();\n }\n };\n\n useKeysRef({ ref: startRef, keys, eventHandler, isActive: !disabled });\n useKeysRef({ ref: endRef, keys, eventHandler, isActive: !disabled });\n\n useEffect(() => {\n !disabled && onDropdownOpen?.(calendarVisible);\n }, [calendarVisible]);\n\n useEffect(() => {\n !disabled && setCalendarVisible.set(dropdownOpen ?? false);\n }, [dropdownOpen]);\n\n useEffect(() => {\n disabled && setCalendarVisible.off();\n }, [disabled]);\n\n return [calendarVisible, setCalendarVisible];\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.DateTimeItem{--item-bg-color:transparent;--item-bg-color-hover:transparent;--item-border-color:var(--color-control-bg-primary);--item-border-color-hover:var(--color-control-bg-primary-hover);--item-event-color:var(--color-control-bg-primary);--item-event-color-hover:var(--color-control-bg-primary-hover);--item-text-color:var(--color-typo-primary);--item-text-color-hover:var(--color-control-bg-primary-hover);--bg-color:var(--item-bg-color);--event-color:var(--item-event-color);--border-color:var(--item-border-color);--text-color:var(--item-text-color);align-items:center;background:var(--bg-color);border:none;border-radius:calc(var(--date-time-item-height)/2);color:var(--text-color);display:flex;font-size:var(--size-text-s);height:var(--date-time-item-height);justify-content:center;line-height:var(--date-time-item-height);position:relative;text-transform:capitalize;transition:background .2s,color .2s,box-shadow .2s;width:var(--date-time-item-width)}.DateTimeItem:hover{--bg-color:var(--item-bg-color-hover);--event-color:var(--item-event-color-hover);--border-color:var(--item-border-color-hover);--text-color:var(--item-text-color-hover)}.DateTimeItem_selected{--item-bg-color:var(--color-control-bg-primary);--item-bg-color-hover:var(--color-control-bg-primary-hover);--item-border-color:transparent;--item-border-color-hover:transparent;--item-event-color:var(--color-control-typo-primary);--item-event-color-hover:var(--color-control-typo-primary);--item-text-color:var(--color-typo-primary);--item-text-color-hover:var(--color-typo-primary)}.DateTimeItem:not(.DateTimeItem_disabled){cursor:pointer}.DateTimeItem_disabled{--item-bg-color:transparent;--item-bg-color-hover:transparent;--item-border-color:var(--color-control-bg-primary);--item-border-color-hover:var(--color-control-bg-primary);--item-event-color:var(--color-control-typo-disable);--item-event-color-hover:var(--color-control-typo-disable);--item-text-color:var(--color-control-typo-disable);--item-text-color-hover:var(--color-control-typo-disable)}.DateTimeItem_selected.date-timeItem_disabled{--item-bg-color:var(--color-control-bg-disable);--item-bg-color-hover:var(--color-control-bg-disable);--item-border-color:transparent;--item-border-color-hover:transparent;--item-event-color:var(--color-control-typo-disable);--item-event-color-hover:var(--color-control-typo-disable);--item-text-color:var(--color-control-typo-disable);--item-text-color-hover:var(--color-control-typo-disable)}.DateTimeItem_event:before{background:var(--event-color);border-radius:50%;bottom:var(--space-2xs);content:"";height:var(--space-2xs);position:absolute;transition:background .2s;width:var(--space-2xs)}.DateTimeItem_current{box-shadow:inset 0 0 0 1.3px var(--border-color)}
|
|
1
|
+
.DateTimeItem{--item-bg-color:transparent;--item-bg-color-hover:transparent;--item-border-color:var(--color-control-bg-primary);--item-border-color-hover:var(--color-control-bg-primary-hover);--item-event-color:var(--color-control-bg-primary);--item-event-color-hover:var(--color-control-bg-primary-hover);--item-text-color:var(--color-typo-primary);--item-text-color-hover:var(--color-control-bg-primary-hover);--bg-color:var(--item-bg-color);--event-color:var(--item-event-color);--border-color:var(--item-border-color);--text-color:var(--item-text-color);align-items:center;background:var(--bg-color);border:none;border-radius:calc(var(--date-time-item-height)/2);color:var(--text-color);display:flex;font-size:var(--size-text-s);height:var(--date-time-item-height);justify-content:center;line-height:var(--date-time-item-height);position:relative;text-transform:capitalize;transition:background .2s,color .2s,box-shadow .2s;width:var(--date-time-item-width)}.DateTimeItem:hover{--bg-color:var(--item-bg-color-hover);--event-color:var(--item-event-color-hover);--border-color:var(--item-border-color-hover);--text-color:var(--item-text-color-hover)}.DateTimeItem_selected{--item-bg-color:var(--color-control-bg-primary);--item-bg-color-hover:var(--color-control-bg-primary-hover);--item-border-color:transparent;--item-border-color-hover:transparent;--item-event-color:var(--color-control-typo-primary);--item-event-color-hover:var(--color-control-typo-primary);--item-text-color:var(--color-control-typo-primary);--item-text-color-hover:var(--color-control-typo-primary-hover)}.DateTimeItem:not(.DateTimeItem_disabled){cursor:pointer}.DateTimeItem_disabled{--item-bg-color:transparent;--item-bg-color-hover:transparent;--item-border-color:var(--color-control-bg-primary);--item-border-color-hover:var(--color-control-bg-primary);--item-event-color:var(--color-control-typo-disable);--item-event-color-hover:var(--color-control-typo-disable);--item-text-color:var(--color-control-typo-disable);--item-text-color-hover:var(--color-control-typo-disable)}.DateTimeItem_selected.date-timeItem_disabled{--item-bg-color:var(--color-control-bg-disable);--item-bg-color-hover:var(--color-control-bg-disable);--item-border-color:transparent;--item-border-color-hover:transparent;--item-event-color:var(--color-control-typo-disable);--item-event-color-hover:var(--color-control-typo-disable);--item-text-color:var(--color-control-typo-disable);--item-text-color-hover:var(--color-control-typo-disable)}.DateTimeItem_event:before{background:var(--event-color);border-radius:50%;bottom:var(--space-2xs);content:"";height:var(--space-2xs);position:absolute;transition:background .2s;width:var(--space-2xs)}.DateTimeItem_current{box-shadow:inset 0 0 0 1.3px var(--border-color)}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["label","current","selected","event","disabled"];import"./DateTimeItem.css";import{classnames}from"@bem-react/classnames";import React,{forwardRef}from"react";import{cnMixFocus}from"../../../mixs/MixFocus/MixFocus";import{cn}from"../../../utils/bem";
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["label","current","selected","event","disabled"];import"./DateTimeItem.css";import{classnames}from"@bem-react/classnames";import React,{forwardRef}from"react";import{cnMixFocus}from"../../../mixs/MixFocus/MixFocus";import{cn}from"../../../utils/bem";export var cnDateTimeItem=cn("DateTimeItem");export var DateTimeItem=forwardRef(function(a,b){var c=a.label,d=a.current,e=a.selected,f=a.event,g=a.disabled,h=_objectWithoutProperties(a,_excluded),i=e&&!g?classnames(a.className):a.className;return React.createElement("button",Object.assign({},h,{ref:b,className:cnDateTimeItem({event:f,current:d,disabled:g,selected:e},[i,cnMixFocus()]),type:"button",disabled:g}),c)});
|
|
2
2
|
//# sourceMappingURL=DateTimeItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeItem.js","names":["classnames","React","forwardRef","cnMixFocus","cn","
|
|
1
|
+
{"version":3,"file":"DateTimeItem.js","names":["classnames","React","forwardRef","cnMixFocus","cn","cnDateTimeItem","DateTimeItem","props","ref","label","current","selected","event","disabled","otherProps","className"],"sources":["../../../../../../src/components/DateTime/DateTimeItem/DateTimeItem.tsx"],"sourcesContent":["import './DateTimeItem.css';\n\nimport { classnames } from '@bem-react/classnames';\nimport React, { forwardRef } from 'react';\n\nimport { cnMixFocus } from '../../../mixs/MixFocus/MixFocus';\nimport { cn } from '../../../utils/bem';\nimport { PropsWithJsxAttributes } from '../../../utils/types/PropsWithJsxAttributes';\n\nexport type DateTimeItemProps = PropsWithJsxAttributes<\n {\n label: number | string;\n current?: boolean;\n selected?: boolean;\n disabled?: boolean;\n event?: boolean;\n role?: never;\n children?: never;\n },\n 'button'\n>;\n\nexport const cnDateTimeItem = cn('DateTimeItem');\n\nexport const DateTimeItem = forwardRef<HTMLButtonElement, DateTimeItemProps>(\n (props, ref) => {\n const { label, current, selected, event, disabled, ...otherProps } = props;\n\n const className =\n selected && !disabled ? classnames(props.className) : props.className;\n\n return (\n <button\n {...otherProps}\n ref={ref}\n className={cnDateTimeItem({ event, current, disabled, selected }, [\n className,\n cnMixFocus(),\n ])}\n type=\"button\"\n disabled={disabled}\n >\n {label}\n </button>\n );\n },\n);\n"],"mappings":"qJAAA,2BAEA,OAASA,UAAT,KAA2B,uBAA3B,CACA,MAAOC,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,UAAT,uCACA,OAASC,EAAT,0BAgBA,MAAO,IAAMC,eAAc,CAAGD,EAAE,CAAC,cAAD,CAAzB,CAEP,MAAO,IAAME,aAAY,CAAGJ,UAAU,CACpC,SAACK,CAAD,CAAQC,CAAR,CAAgB,IACNC,EADM,CACuDF,CADvD,CACNE,KADM,CACCC,CADD,CACuDH,CADvD,CACCG,OADD,CACUC,CADV,CACuDJ,CADvD,CACUI,QADV,CACoBC,CADpB,CACuDL,CADvD,CACoBK,KADpB,CAC2BC,CAD3B,CACuDN,CADvD,CAC2BM,QAD3B,CACwCC,CADxC,0BACuDP,CADvD,YAGRQ,CAAS,CACbJ,CAAQ,EAAI,CAACE,CAAb,CAAwBb,UAAU,CAACO,CAAK,CAACQ,SAAP,CAAlC,CAAsDR,CAAK,CAACQ,SAJhD,CAMd,MACE,+CACMD,CADN,EAEE,GAAG,CAAEN,CAFP,CAGE,SAAS,CAAEH,cAAc,CAAC,CAAEO,KAAK,CAALA,CAAF,CAASF,OAAO,CAAPA,CAAT,CAAkBG,QAAQ,CAARA,CAAlB,CAA4BF,QAAQ,CAARA,CAA5B,CAAD,CAAyC,CAChEI,CADgE,CAEhEZ,UAAU,EAFsD,CAAzC,CAH3B,CAOE,IAAI,CAAC,QAPP,CAQE,QAAQ,CAAEU,CARZ,GAUGJ,CAVH,CAaH,CArBmC,CAA/B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","required","children","icon","size"];import"./FieldLabel.css";import React from"react";import{cnMixSpace}from"../../mixs/MixSpace";import{cn}from"../../utils/bem";import{forwardRefWithAs}from"../../utils/types/PropsWithAsAttributes";import{Text}from"../Text/Text";var cnFieldLabel=cn("FieldLabel"),iconSizeMap={xs:"xs",s:"s",m:"s",l:"s"},iconSpaceMap={xs:"2xs",s:"2xs",m:"2xs",l:"xs"};export var FieldLabel=forwardRefWithAs(function(a,b){var c=a.className,d=a.required,e=a.children,f=a.icon,g=a.size,h=void 0===g?"m":g,i=_objectWithoutProperties(a,_excluded);return React.createElement(Text,Object.assign({},i,{size:h,view:"secondary",lineHeight:"m",className:cnFieldLabel(null,[c]),ref:b}),f&&React.createElement(f,{className:cnFieldLabel("Icon",[cnMixSpace({
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","required","children","icon","size"];import"./FieldLabel.css";import React from"react";import{cnMixSpace}from"../../mixs/MixSpace";import{cn}from"../../utils/bem";import{forwardRefWithAs}from"../../utils/types/PropsWithAsAttributes";import{Text}from"../Text/Text";var cnFieldLabel=cn("FieldLabel"),iconSizeMap={xs:"xs",s:"s",m:"s",l:"s"},iconSpaceMap={xs:"2xs",s:"2xs",m:"2xs",l:"xs"};export var FieldLabel=forwardRefWithAs(function(a,b){var c=a.className,d=a.required,e=a.children,f=a.icon,g=a.size,h=void 0===g?"m":g,i=_objectWithoutProperties(a,_excluded);return React.createElement(Text,Object.assign({},i,{size:h,view:"secondary",lineHeight:"m",className:cnFieldLabel(null,[c]),ref:b}),e,d&&React.createElement("span",{className:cnFieldLabel("Star")},"*"),f&&React.createElement(f,{className:cnFieldLabel("Icon",[cnMixSpace({mL:iconSpaceMap[h]})]),size:iconSizeMap[h],view:"secondary"}))});
|
|
2
2
|
//# sourceMappingURL=FieldLabel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldLabel.js","names":["React","cnMixSpace","cn","forwardRefWithAs","Text","cnFieldLabel","iconSizeMap","xs","s","m","l","iconSpaceMap","FieldLabel","props","ref","className","required","children","Icon","icon","size","otherProps","
|
|
1
|
+
{"version":3,"file":"FieldLabel.js","names":["React","cnMixSpace","cn","forwardRefWithAs","Text","cnFieldLabel","iconSizeMap","xs","s","m","l","iconSpaceMap","FieldLabel","props","ref","className","required","children","Icon","icon","size","otherProps","mL"],"sources":["../../../../../src/components/FieldLabel/FieldLabel.tsx"],"sourcesContent":["import './FieldLabel.css';\n\nimport { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { cnMixSpace, Space } from '##/mixs/MixSpace';\n\nimport { cn } from '../../utils/bem';\nimport { forwardRefWithAs } from '../../utils/types/PropsWithAsAttributes';\nimport { Text } from '../Text/Text';\n\nexport type FieldLabelPropSize = 'xs' | 's' | 'm' | 'l';\n\ntype FieldLabelProps = {\n icon?: IconComponent;\n size?: FieldLabelPropSize;\n required?: boolean;\n};\n\nconst cnFieldLabel = cn('FieldLabel');\n\nconst iconSizeMap: Record<FieldLabelPropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 's',\n l: 's',\n};\n\nconst iconSpaceMap: Record<FieldLabelPropSize, Space> = {\n xs: '2xs',\n s: '2xs',\n m: '2xs',\n l: 'xs',\n};\n\nexport const FieldLabel = forwardRefWithAs<FieldLabelProps>((props, ref) => {\n const {\n className,\n required,\n children,\n icon: Icon,\n size = 'm',\n ...otherProps\n } = props;\n\n return (\n <Text\n {...otherProps}\n size={size}\n view=\"secondary\"\n lineHeight=\"m\"\n className={cnFieldLabel(null, [className])}\n ref={ref}\n >\n {children}\n {required && <span className={cnFieldLabel('Star')}>*</span>}\n {Icon && (\n <Icon\n className={cnFieldLabel('Icon', [\n cnMixSpace({ mL: iconSpaceMap[size] }),\n ])}\n size={iconSizeMap[size]}\n view=\"secondary\"\n />\n )}\n </Text>\n );\n});\n"],"mappings":"qJAAA,yBAGA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,UAAT,2BAEA,OAASC,EAAT,uBACA,OAASC,gBAAT,+CACA,OAASC,IAAT,oB,GAUMC,aAAY,CAAGH,EAAE,CAAC,YAAD,C,CAEjBI,WAAqD,CAAG,CAC5DC,EAAE,CAAE,IADwD,CAE5DC,CAAC,CAAE,GAFyD,CAG5DC,CAAC,CAAE,GAHyD,CAI5DC,CAAC,CAAE,GAJyD,C,CAOxDC,YAA+C,CAAG,CACtDJ,EAAE,CAAE,KADkD,CAEtDC,CAAC,CAAE,KAFmD,CAGtDC,CAAC,CAAE,KAHmD,CAItDC,CAAC,CAAE,IAJmD,C,CAOxD,MAAO,IAAME,WAAU,CAAGT,gBAAgB,CAAkB,SAACU,CAAD,CAAQC,CAAR,CAAgB,CAC1E,GACEC,EADF,CAOIF,CAPJ,CACEE,SADF,CAEEC,CAFF,CAOIH,CAPJ,CAEEG,QAFF,CAGEC,CAHF,CAOIJ,CAPJ,CAGEI,QAHF,CAIQC,CAJR,CAOIL,CAPJ,CAIEM,IAJF,GAOIN,CAPJ,CAKEO,IALF,CAKEA,CALF,YAKS,GALT,GAMKC,CANL,0BAOIR,CAPJ,YASA,MACE,qBAAC,IAAD,kBACMQ,CADN,EAEE,IAAI,CAAED,CAFR,CAGE,IAAI,CAAC,WAHP,CAIE,UAAU,CAAC,GAJb,CAKE,SAAS,CAAEf,YAAY,CAAC,IAAD,CAAO,CAACU,CAAD,CAAP,CALzB,CAME,GAAG,CAAED,CANP,GAQGG,CARH,CASGD,CAAQ,EAAI,4BAAM,SAAS,CAAEX,YAAY,CAAC,MAAD,CAA7B,MATf,CAUGa,CAAI,EACH,oBAAC,CAAD,EACE,SAAS,CAAEb,YAAY,CAAC,MAAD,CAAS,CAC9BJ,UAAU,CAAC,CAAEqB,EAAE,CAAEX,YAAY,CAACS,CAAD,CAAlB,CAAD,CADoB,CAAT,CADzB,CAIE,IAAI,CAAEd,WAAW,CAACc,CAAD,CAJnB,CAKE,IAAI,CAAC,WALP,EAXJ,CAqBH,CAhCyC,CAAnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.Pagination{
|
|
1
|
+
.Pagination{display:flex;gap:var(--pagination-gap)}.Pagination_type_default{--pagination-gap:var(--space-3xs)}.Pagination_type_input{--pagination-gap:var(--space-xs)}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","value","onChange","size","form","type","containerEventListener","getTotalLabel","outerMostArrows","arrows","hotKeys","showFirstPage","showLastPage","visibleCount","className"];import"./Pagination.css";import React,{forwardRef,
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","value","onChange","size","form","type","containerEventListener","getTotalLabel","outerMostArrows","arrows","hotKeys","showFirstPage","showLastPage","visibleCount","className","style","getItemAs","getItemAttributes","getItemRef"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./Pagination.css";import React,{forwardRef,useCallback}from"react";import{useForkRef}from"../../hooks/useForkRef";import{useMutableRef}from"../../hooks/useMutableRef";import{cn}from"../../utils/bem";import{defaultGetItemClickable,defaultGetItemKey,guardCurrentPage,paginationArrowIconsMap}from"./helpers";import{PaginationArrow}from"./PaginationArrow";import{PaginationList}from"./PaginationList";import{PaginationNumberInput}from"./PaginationNumberInput";import{PaginationSizeCalculateHelper}from"./PaginationSizeCalculateHelper";import{paginationPropFormDefault,paginationPropSizeDefault,paginationPropTypeDefault}from"./types";import{usePaginationItems}from"./usePaginationItems";var cnPagination=cn("Pagination"),PaginationRender=function(a,b){var c=a.items,d=void 0===c?0:c,e=a.value,f=a.onChange,g=a.size,h=void 0===g?paginationPropSizeDefault:g,i=a.form,j=void 0===i?paginationPropFormDefault:i,k=a.type,l=void 0===k?paginationPropTypeDefault:k,m=a.containerEventListener,n=void 0===m?window:m,o=a.getTotalLabel,p=a.outerMostArrows,q=a.arrows,r=a.hotKeys,s=a.showFirstPage,t=a.showLastPage,u=a.visibleCount,v=a.className,w=a.style,x=a.getItemAs,y=a.getItemAttributes,z=a.getItemRef,A=_objectWithoutProperties(a,_excluded),B=useMutableRef(guardCurrentPage(e,d)),C=useMutableRef(f),D=useCallback(function(a,b){var c=a.key,d=b.e;if(c!==B.current&&"number"==typeof c){var e;null===(e=C.current)||void 0===e?void 0:e.call(C,c,{e:d})}},[]),E=useCallback(function(a){var b;null===(b=C.current)||void 0===b?void 0:b.call(C,Math.min(B.current+1,d),{e:a})},[d]),F=useCallback(function(a){var b;null===(b=C.current)||void 0===b?void 0:b.call(C,Math.max(B.current-1,1),{e:a})},[]),G=useCallback(function(a){var b;null===(b=C.current)||void 0===b?void 0:b.call(C,1,{e:a})},[]),H=useCallback(function(a){var b;null===(b=C.current)||void 0===b?void 0:b.call(C,d,{e:a})},[d]),I=usePaginationItems({showFirstPage:s,showLastPage:t,items:d,visibleCount:u,size:h,value:B.current,containerEventListener:n,hotKeys:r,outerMostArrows:p,type:l,arrows:q,handleNext:E,handlePrevious:F}),J=_slicedToArray(I,3),K=J[0],L=J[1],M=J[2],N=useForkRef([L[4],b]),O=function(a,b,c,e,f){var g="first"===b||"previous"===b?1<B.current:B.current<d,i="first"===b||"previous"===b?"start":"end";if("object"==typeof a){var k=a.label,l=a.icon,m=void 0===l?paginationArrowIconsMap[b]:l;return React.createElement(PaginationArrow,{label:k,icon:m,disabled:!g,size:h,form:j,ref:c,orientation:i,caption:null===e||void 0===e?void 0:e.label,onClick:f})}return React.createElement(PaginationArrow,{orientation:i,icon:"function"==typeof a?a:paginationArrowIconsMap[b],disabled:!g,size:h,form:j,ref:c,onClick:f})};return 0>=d?null:React.createElement("nav",Object.assign({},A,{className:cnPagination({type:l},[v]),ref:N,style:_objectSpread(_defineProperty({},"--pagination-symbol-size","".concat(M,"px")),w)}),((null===p||void 0===p?void 0:p[0])||(null===q||void 0===q?void 0:q[0]))&&React.createElement(React.Fragment,null,(null===p||void 0===p?void 0:p[0])&&O(p[0],"first",L[0],void 0,G),(null===q||void 0===q?void 0:q[0])&&O(q[0],"previous",L[1],null===r||void 0===r?void 0:r[0],F)),"default"===l?React.createElement(PaginationList,{items:K,form:j,size:h,onItemClick:D,value:{key:B.current,label:B.current.toString(),clickable:!0},getItemKey:defaultGetItemKey,getItemClickable:defaultGetItemClickable,getItemAs:x,getItemAttributes:y,getItemRef:z}):React.createElement(PaginationNumberInput,{form:j,size:h,total:d,value:B.current,onChange:f,getTotalLabel:o}),((null===q||void 0===q?void 0:q[1])||(null===p||void 0===p?void 0:p[1]))&&React.createElement(React.Fragment,null,(null===q||void 0===q?void 0:q[1])&&O(q[1],"next",L[2],null===r||void 0===r?void 0:r[1],E),(null===p||void 0===p?void 0:p[1])&&O(p[1],"last",L[3],void 0,H)),"default"===l&&React.createElement(PaginationSizeCalculateHelper,{refs:L,size:h}))};export var Pagination=forwardRef(PaginationRender);
|
|
2
2
|
//# sourceMappingURL=Pagination.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.js","names":["React","forwardRef","useMemo","useForkRef","cnMixFlex","cn","defaultGetItemClickable","defaultGetItemKey","defaultGetItemLabel","getListValue","paginationArrowIconsMap","PaginationArrow","PaginationList","PaginationNumberInput","paginationPropFormDefault","paginationPropSizeDefault","paginationPropTypeDefault","usePaginationItems","cnPagination","PaginationRender","props","ref","items","valueProp","value","onChange","size","form","type","containerEventListener","window","getTotalLabel","outerMostArrows","arrows","hotKeys","showFirstPage","showLastPage","visibleCount","className","otherProps","Math","max","renderArrow","item","hotKey","onClick","flag","orientation","label","icon","handleButtonClick","e","newValue","min","pages","wrapperRef","buttonRefs","navRef","listValue","wrap","gap","onItemClick","page","Pagination"],"sources":["../../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import './Pagination.css';\n\nimport React, { forwardRef, useMemo } from 'react';\n\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnMixFlex } from '##/mixs/MixFlex';\nimport { cn } from '##/utils/bem';\n\nimport {\n defaultGetItemClickable,\n defaultGetItemKey,\n defaultGetItemLabel,\n getListValue,\n paginationArrowIconsMap,\n} from './helpers';\nimport { PaginationArrow } from './PaginationArrow';\nimport { PaginationList } from './PaginationList';\nimport { PaginationNumberInput } from './PaginationNumberInput';\nimport {\n PaginationArrowTypes,\n PaginationComponent,\n PaginationItem,\n PaginationPropArrow,\n paginationPropFormDefault,\n PaginationPropHotKey,\n PaginationPropOnItemClick,\n PaginationProps,\n paginationPropSizeDefault,\n PaginationPropType,\n paginationPropTypeDefault,\n} from './types';\nimport { usePaginationItems } from './usePaginationItems';\n\nconst cnPagination = cn('Pagination');\n\nconst PaginationRender = <TYPE extends PaginationPropType>(\n props: PaginationProps<TYPE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n items = 0,\n value: valueProp,\n onChange,\n size = paginationPropSizeDefault,\n form = paginationPropFormDefault,\n type = paginationPropTypeDefault,\n containerEventListener = window,\n getTotalLabel,\n outerMostArrows,\n arrows,\n hotKeys,\n showFirstPage,\n showLastPage,\n visibleCount,\n className,\n ...otherProps\n } = props;\n\n const value = Math.max(valueProp ?? 0, 0);\n\n const renderArrow = (\n item: PaginationPropArrow,\n type: PaginationArrowTypes,\n ref: React.Ref<HTMLButtonElement> | undefined,\n hotKey: PaginationPropHotKey | undefined,\n onClick?: React.MouseEventHandler,\n ) => {\n const flag =\n type === 'first' || type === 'previous' ? value > 1 : value < items;\n const orientation =\n type === 'first' || type === 'previous' ? 'start' : 'end';\n if (typeof item === 'object') {\n const { label, icon = paginationArrowIconsMap[type] } = item;\n\n return (\n <PaginationArrow\n label={label}\n icon={icon}\n disabled={!flag}\n size={size}\n form={form}\n ref={ref}\n orientation={orientation}\n caption={hotKey?.label}\n onClick={onClick}\n />\n );\n }\n return (\n <PaginationArrow\n orientation={orientation}\n icon={typeof item === 'function' ? item : paginationArrowIconsMap[type]}\n disabled={!flag}\n size={size}\n form={form}\n ref={ref}\n onClick={onClick}\n />\n );\n };\n\n const handleButtonClick =\n (type: PaginationArrowTypes) => (e: React.MouseEvent) => {\n let newValue = items;\n if (type === 'first') {\n newValue = 1;\n }\n if (type === 'previous') {\n newValue = Math.max(value - 1, 1);\n }\n if (type === 'next') {\n newValue = Math.min(value + 1, items);\n }\n onChange?.(newValue, { e });\n };\n\n const { pages, wrapperRef, buttonRefs } = usePaginationItems({\n showFirstPage,\n showLastPage,\n items,\n visibleCount,\n size,\n value,\n containerEventListener,\n hotKeys,\n });\n\n const onItemClick: PaginationPropOnItemClick<PaginationItem> = (\n { page },\n { e },\n ) => {\n if (page !== value) {\n onChange?.(page, { e });\n }\n };\n\n const navRef = useForkRef([ref, wrapperRef]);\n\n const listValue = useMemo(() => getListValue(value), [value]);\n\n if (items === 0) {\n return null;\n }\n\n return (\n <nav\n className={cnPagination({ size, form }, [\n className,\n cnMixFlex({ wrap: 'nowrap', gap: type === 'input' ? 'xs' : '3xs' }),\n ])}\n ref={navRef}\n {...otherProps}\n >\n {outerMostArrows?.[0] &&\n renderArrow(\n outerMostArrows[0],\n 'first',\n buttonRefs[0],\n undefined,\n handleButtonClick('first'),\n )}\n {arrows?.[0] &&\n renderArrow(\n arrows[0],\n 'previous',\n buttonRefs[1],\n hotKeys?.[0],\n handleButtonClick('previous'),\n )}\n {type === 'default' ? (\n <PaginationList\n items={pages}\n form={form}\n size={size}\n value={listValue}\n getItemKey={defaultGetItemKey}\n getItemLabel={defaultGetItemLabel}\n getItemClickable={defaultGetItemClickable}\n onItemClick={onItemClick}\n />\n ) : (\n <PaginationNumberInput\n form={form}\n size={size}\n total={items}\n value={!valueProp ? undefined : value}\n onChange={onChange}\n getTotalLabel={getTotalLabel}\n />\n )}\n {arrows?.[1] &&\n renderArrow(\n arrows[1],\n 'next',\n buttonRefs[2],\n hotKeys?.[1],\n handleButtonClick('next'),\n )}\n {outerMostArrows?.[1] &&\n renderArrow(\n outerMostArrows[1],\n 'last',\n buttonRefs[3],\n undefined,\n handleButtonClick('last'),\n )}\n </nav>\n );\n};\n\nexport const Pagination = forwardRef(PaginationRender) as PaginationComponent;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pagination.js","names":["React","forwardRef","useCallback","useForkRef","useMutableRef","cn","defaultGetItemClickable","defaultGetItemKey","guardCurrentPage","paginationArrowIconsMap","PaginationArrow","PaginationList","PaginationNumberInput","PaginationSizeCalculateHelper","paginationPropFormDefault","paginationPropSizeDefault","paginationPropTypeDefault","usePaginationItems","cnPagination","PaginationRender","props","ref","items","valueProp","value","onChange","size","form","type","containerEventListener","window","getTotalLabel","outerMostArrows","arrows","hotKeys","showFirstPage","showLastPage","visibleCount","className","style","getItemAs","getItemAttributes","getItemRef","otherProps","valueRef","onChangeRef","onItemClick","key","e","current","handleNext","Math","min","handlePrevious","max","handlefirst","handleLast","pages","refs","symbolSize","rootRef","renderArrow","item","hotKey","onClick","flag","orientation","label","icon","toString","clickable","Pagination"],"sources":["../../../../../src/components/Pagination/Pagination.tsx"],"sourcesContent":["import './Pagination.css';\n\nimport React, { forwardRef, useCallback } from 'react';\n\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { cn } from '##/utils/bem';\n\nimport {\n defaultGetItemClickable,\n defaultGetItemKey,\n guardCurrentPage,\n paginationArrowIconsMap,\n} from './helpers';\nimport { PaginationArrow } from './PaginationArrow';\nimport { PaginationList } from './PaginationList';\nimport { PaginationNumberInput } from './PaginationNumberInput';\nimport { PaginationSizeCalculateHelper } from './PaginationSizeCalculateHelper';\nimport {\n PaginationArrowTypes,\n PaginationComponent,\n PaginationItem,\n PaginationPropArrow,\n paginationPropFormDefault,\n PaginationPropHotKey,\n PaginationPropOnItemClick,\n PaginationProps,\n paginationPropSizeDefault,\n PaginationPropType,\n paginationPropTypeDefault,\n} from './types';\nimport { usePaginationItems } from './usePaginationItems';\n\nconst cnPagination = cn('Pagination');\n\nconst PaginationRender = <TYPE extends PaginationPropType>(\n props: PaginationProps<TYPE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n items = 0,\n value: valueProp,\n onChange,\n size = paginationPropSizeDefault,\n form = paginationPropFormDefault,\n type = paginationPropTypeDefault,\n containerEventListener = window,\n getTotalLabel,\n outerMostArrows,\n arrows,\n hotKeys,\n showFirstPage,\n showLastPage,\n visibleCount,\n className,\n style,\n getItemAs,\n getItemAttributes,\n getItemRef,\n ...otherProps\n } = props;\n\n const valueRef = useMutableRef(guardCurrentPage(valueProp, items));\n const onChangeRef = useMutableRef(onChange);\n\n const onItemClick: PaginationPropOnItemClick<PaginationItem> = useCallback(\n ({ key }, { e }) => {\n if (key !== valueRef.current && typeof key === 'number') {\n onChangeRef.current?.(key, { e });\n }\n },\n [],\n );\n\n const handleNext = useCallback(\n (e: React.MouseEvent | KeyboardEvent) => {\n onChangeRef.current?.(Math.min(valueRef.current + 1, items), { e });\n },\n [items],\n );\n\n const handlePrevious = useCallback((e: React.MouseEvent | KeyboardEvent) => {\n onChangeRef.current?.(Math.max(valueRef.current - 1, 1), { e });\n }, []);\n\n const handlefirst = useCallback((e: React.MouseEvent | KeyboardEvent) => {\n onChangeRef.current?.(1, { e });\n }, []);\n\n const handleLast = useCallback(\n (e: React.MouseEvent | KeyboardEvent) => {\n onChangeRef.current?.(items, { e });\n },\n [items],\n );\n\n const [pages, refs, symbolSize] = usePaginationItems({\n showFirstPage,\n showLastPage,\n items,\n visibleCount,\n size,\n value: valueRef.current,\n containerEventListener,\n hotKeys,\n outerMostArrows,\n type,\n arrows,\n handleNext,\n handlePrevious,\n });\n\n const rootRef = useForkRef([refs[4], ref]);\n\n const renderArrow = (\n item: PaginationPropArrow,\n type: PaginationArrowTypes,\n ref: React.Ref<HTMLButtonElement> | undefined,\n hotKey: PaginationPropHotKey | undefined,\n onClick?: React.MouseEventHandler,\n ) => {\n const flag =\n type === 'first' || type === 'previous'\n ? valueRef.current > 1\n : valueRef.current < items;\n const orientation =\n type === 'first' || type === 'previous' ? 'start' : 'end';\n if (typeof item === 'object') {\n const { label, icon = paginationArrowIconsMap[type] } = item;\n\n return (\n <PaginationArrow\n label={label}\n icon={icon}\n disabled={!flag}\n size={size}\n form={form}\n ref={ref}\n orientation={orientation}\n caption={hotKey?.label}\n onClick={onClick}\n />\n );\n }\n return (\n <PaginationArrow\n orientation={orientation}\n icon={typeof item === 'function' ? item : paginationArrowIconsMap[type]}\n disabled={!flag}\n size={size}\n form={form}\n ref={ref}\n onClick={onClick}\n />\n );\n };\n\n if (items <= 0) {\n return null;\n }\n\n return (\n <nav\n {...otherProps}\n className={cnPagination({ type }, [className])}\n ref={rootRef}\n style={{\n ['--pagination-symbol-size' as string]: `${symbolSize}px`,\n ...style,\n }}\n >\n {(outerMostArrows?.[0] || arrows?.[0]) && (\n <>\n {outerMostArrows?.[0] &&\n renderArrow(\n outerMostArrows[0],\n 'first',\n refs[0] as unknown as React.RefObject<HTMLButtonElement>,\n undefined,\n handlefirst,\n )}\n {arrows?.[0] &&\n renderArrow(\n arrows[0],\n 'previous',\n refs[1] as unknown as React.RefObject<HTMLButtonElement>,\n hotKeys?.[0],\n handlePrevious,\n )}\n </>\n )}\n\n {type === 'default' ? (\n <PaginationList\n items={pages}\n form={form}\n size={size}\n onItemClick={onItemClick}\n value={{\n key: valueRef.current,\n label: valueRef.current.toString(),\n clickable: true,\n }}\n getItemKey={defaultGetItemKey}\n getItemClickable={defaultGetItemClickable}\n getItemAs={getItemAs}\n getItemAttributes={getItemAttributes}\n getItemRef={getItemRef}\n />\n ) : (\n <PaginationNumberInput\n form={form}\n size={size}\n total={items}\n value={valueRef.current}\n onChange={onChange}\n getTotalLabel={getTotalLabel}\n />\n )}\n {(arrows?.[1] || outerMostArrows?.[1]) && (\n <>\n {arrows?.[1] &&\n renderArrow(\n arrows[1],\n 'next',\n refs[2] as unknown as React.RefObject<HTMLButtonElement>,\n hotKeys?.[1],\n handleNext,\n )}\n {outerMostArrows?.[1] &&\n renderArrow(\n outerMostArrows[1],\n 'last',\n refs[3] as unknown as React.RefObject<HTMLButtonElement>,\n undefined,\n handleLast,\n )}\n </>\n )}\n {type === 'default' && (\n <PaginationSizeCalculateHelper refs={refs} size={size} />\n )}\n </nav>\n );\n};\n\nexport const Pagination = forwardRef(PaginationRender) as PaginationComponent;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.PaginationItem{--pagination-item-
|
|
1
|
+
.Button.PaginationItem{--pagination-item-ph:var(--space-2xs);box-sizing:border-box;display:inline-flex;min-width:var(--button-height);padding:0 var(--pagination-item-ph);transition:none;width:auto}.Button.PaginationItem:not(.PaginationItem_clickable){--button-bg-color-hover:transparent;cursor:auto}.Button.PaginationItem_size_s,.Button.PaginationItem_size_xs{--pagination-item-ph:var(--space-2xs)}.Button.PaginationItem_size_l,.Button.PaginationItem_size_m{--pagination-item-ph:var(--space-xs)}.Button.PaginationItem_active{--button-bg-color:var(--color-control-bg-ghost)}
|