@skbkontur/react-ui 5.5.1-9e084.0 → 5.5.1
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/CHANGELOG.md +14 -0
- package/cjs/components/Checkbox/Checkbox.mixins.d.ts +2 -2
- package/cjs/components/Checkbox/Checkbox.mixins.js +14 -6
- package/cjs/components/Checkbox/Checkbox.mixins.js.map +1 -1
- package/cjs/components/Checkbox/Checkbox.styles.js +13 -8
- package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePicker.d.ts +9 -1
- package/cjs/components/DateRangePicker/DateRangePicker.js +13 -2
- package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/cjs/components/DateRangePicker/DateRangePickerInput.js +2 -1
- package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
- package/cjs/components/FileUploader/FileUploader.d.ts +1 -0
- package/cjs/components/FileUploader/FileUploader.js +3 -0
- package/cjs/components/FileUploader/FileUploader.js.map +1 -1
- package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/cjs/internal/themes/BasicTheme.d.ts +3 -0
- package/cjs/internal/themes/BasicTheme.js +6 -1
- package/cjs/internal/themes/BasicTheme.js.map +1 -1
- package/components/Checkbox/Checkbox.mixins/Checkbox.mixins.js +4 -4
- package/components/Checkbox/Checkbox.mixins/Checkbox.mixins.js.map +1 -1
- package/components/Checkbox/Checkbox.mixins.d.ts +2 -2
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +7 -7
- package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +4 -2
- package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
- package/components/DateRangePicker/DateRangePicker.d.ts +9 -1
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +2 -1
- package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
- package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
- package/components/FileUploader/FileUploader.d.ts +1 -0
- package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
- package/internal/themes/BasicTheme/BasicTheme.js +3 -0
- package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
- package/internal/themes/BasicTheme.d.ts +3 -0
- package/package.json +1 -1
|
@@ -3,12 +3,12 @@ var _templateObject, _templateObject2;
|
|
|
3
3
|
import { css } from "../../../lib/theming/Emotion";
|
|
4
4
|
import { isChrome, isFirefox } from "../../../lib/client";
|
|
5
5
|
import { getLabGrotesqueBaselineCompensation } from "../../../lib/styles/getLabGrotesqueBaselineCompensation";
|
|
6
|
-
export var checkboxSizeMixin = function checkboxSizeMixin(fontSize, lineHeight, paddingY, checkboxBoxSize) {
|
|
7
|
-
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n line-height: ", ";\n font-size: ", ";\n padding: ", "
|
|
6
|
+
export var checkboxSizeMixin = function checkboxSizeMixin(fontSize, lineHeight, paddingY, checkboxBoxSize, paddingX) {
|
|
7
|
+
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n line-height: ", ";\n font-size: ", ";\n padding: ", " ", ";\n\n &::before {\n width: ", ";\n }\n "])), lineHeight, fontSize, paddingY, paddingX, checkboxBoxSize);
|
|
8
8
|
};
|
|
9
|
-
export var boxWrapperSizeMixin = function boxWrapperSizeMixin(labGrotesqueBaselineCompensation, fontSize, checkboxBoxSize, checkboxBoxOffsetY) {
|
|
9
|
+
export var boxWrapperSizeMixin = function boxWrapperSizeMixin(labGrotesqueBaselineCompensation, fontSize, checkboxBoxSize, checkboxBoxOffsetY, checkboxPaddingX) {
|
|
10
10
|
var labGrotesqueCompenstation = parseInt(labGrotesqueBaselineCompensation);
|
|
11
11
|
var boxFontSize = parseInt(fontSize);
|
|
12
12
|
var baselineCompensation = getLabGrotesqueBaselineCompensation(boxFontSize, labGrotesqueCompenstation, isChrome, isFirefox);
|
|
13
|
-
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n width: ", ";\n height: ", ";\n margin-top: calc(", " + ", "px);\n "])), checkboxBoxSize, checkboxBoxSize, checkboxBoxOffsetY, baselineCompensation);
|
|
13
|
+
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n width: ", ";\n height: ", ";\n margin-top: calc(", " + ", "px);\n left: ", ";\n "])), checkboxBoxSize, checkboxBoxSize, checkboxBoxOffsetY, baselineCompensation, checkboxPaddingX);
|
|
14
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["css","isChrome","isFirefox","getLabGrotesqueBaselineCompensation","checkboxSizeMixin","fontSize","lineHeight","paddingY","checkboxBoxSize","_templateObject","_taggedTemplateLiteralLoose","boxWrapperSizeMixin","labGrotesqueBaselineCompensation","checkboxBoxOffsetY","labGrotesqueCompenstation","parseInt","boxFontSize","baselineCompensation","_templateObject2"],"sources":["Checkbox.mixins.ts"],"sourcesContent":["import { css } from '../../lib/theming/Emotion';\nimport { isChrome, isFirefox } from '../../lib/client';\nimport { getLabGrotesqueBaselineCompensation } from '../../lib/styles/getLabGrotesqueBaselineCompensation';\n\nexport const checkboxSizeMixin = (fontSize: string
|
|
1
|
+
{"version":3,"names":["css","isChrome","isFirefox","getLabGrotesqueBaselineCompensation","checkboxSizeMixin","fontSize","lineHeight","paddingY","checkboxBoxSize","paddingX","_templateObject","_taggedTemplateLiteralLoose","boxWrapperSizeMixin","labGrotesqueBaselineCompensation","checkboxBoxOffsetY","checkboxPaddingX","labGrotesqueCompenstation","parseInt","boxFontSize","baselineCompensation","_templateObject2"],"sources":["Checkbox.mixins.ts"],"sourcesContent":["import { css } from '../../lib/theming/Emotion';\nimport { isChrome, isFirefox } from '../../lib/client';\nimport { getLabGrotesqueBaselineCompensation } from '../../lib/styles/getLabGrotesqueBaselineCompensation';\n\nexport const checkboxSizeMixin = (\n fontSize: string,\n lineHeight: string,\n paddingY: string,\n checkboxBoxSize: string,\n paddingX: string,\n) => {\n return css`\n line-height: ${lineHeight};\n font-size: ${fontSize};\n padding: ${paddingY} ${paddingX};\n\n &::before {\n width: ${checkboxBoxSize};\n }\n `;\n};\n\nexport const boxWrapperSizeMixin = (\n labGrotesqueBaselineCompensation: string,\n fontSize: string,\n checkboxBoxSize: string,\n checkboxBoxOffsetY: string,\n checkboxPaddingX: string,\n) => {\n const labGrotesqueCompenstation = parseInt(labGrotesqueBaselineCompensation);\n const boxFontSize = parseInt(fontSize);\n const baselineCompensation = getLabGrotesqueBaselineCompensation(\n boxFontSize,\n labGrotesqueCompenstation,\n isChrome,\n isFirefox,\n );\n\n return css`\n width: ${checkboxBoxSize};\n height: ${checkboxBoxSize};\n margin-top: calc(${checkboxBoxOffsetY} + ${baselineCompensation}px);\n left: ${checkboxPaddingX};\n `;\n};\n"],"mappings":"sIAAA,SAASA,GAAG,QAAQ,2BAA2B;AAC/C,SAASC,QAAQ,EAAEC,SAAS,QAAQ,kBAAkB;AACtD,SAASC,mCAAmC,QAAQ,sDAAsD;;AAE1G,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA;AAC5BC,QAAgB;AAChBC,UAAkB;AAClBC,QAAgB;AAChBC,eAAuB;AACvBC,QAAgB;AACb;EACH,OAAOT,GAAG,CAAAU,eAAA,KAAAA,eAAA,GAAAC,2BAAA;EACOL,UAAU;EACZD,QAAQ;EACVE,QAAQ,EAAIE,QAAQ;;;EAGpBD,eAAe;;;AAG9B,CAAC;;AAED,OAAO,IAAMI,mBAAmB,GAAG,SAAtBA,mBAAmBA;AAC9BC,gCAAwC;AACxCR,QAAgB;AAChBG,eAAuB;AACvBM,kBAA0B;AAC1BC,gBAAwB;AACrB;EACH,IAAMC,yBAAyB,GAAGC,QAAQ,CAACJ,gCAAgC,CAAC;EAC5E,IAAMK,WAAW,GAAGD,QAAQ,CAACZ,QAAQ,CAAC;EACtC,IAAMc,oBAAoB,GAAGhB,mCAAmC;IAC9De,WAAW;IACXF,yBAAyB;IACzBf,QAAQ;IACRC;EACF,CAAC;;EAED,OAAOF,GAAG,CAAAoB,gBAAA,KAAAA,gBAAA,GAAAT,2BAAA;EACCH,eAAe;EACdA,eAAe;EACNM,kBAAkB,EAAMK,oBAAoB;EACvDJ,gBAAgB;;AAE5B,CAAC","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const checkboxSizeMixin: (fontSize: string, lineHeight: string, paddingY: string, checkboxBoxSize: string) => string;
|
|
2
|
-
export declare const boxWrapperSizeMixin: (labGrotesqueBaselineCompensation: string, fontSize: string, checkboxBoxSize: string, checkboxBoxOffsetY: string) => string;
|
|
1
|
+
export declare const checkboxSizeMixin: (fontSize: string, lineHeight: string, paddingY: string, checkboxBoxSize: string, paddingX: string) => string;
|
|
2
|
+
export declare const boxWrapperSizeMixin: (labGrotesqueBaselineCompensation: string, fontSize: string, checkboxBoxSize: string, checkboxBoxOffsetY: string, checkboxPaddingX: string) => string;
|
|
@@ -10,13 +10,13 @@ export var styles = memoizeStyle({
|
|
|
10
10
|
return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\00A0';\n display: inline-block;\n flex: 0 0 auto;\n }\n\n .", " {\n transition:\n background ", " ", ",\n box-shadow ", " ", ";\n }\n\n &:hover .", " {\n background: ", ";\n box-shadow: ", ";\n }\n\n &:active .", " {\n box-shadow: ", ";\n background: ", ";\n }\n "], ["\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\\\00A0';\n display: inline-block;\n flex: 0 0 auto;\n }\n\n .", " {\n transition:\n background ", " ", ",\n box-shadow ", " ", ";\n }\n\n &:hover .", " {\n background: ", ";\n box-shadow: ", ";\n }\n\n &:active .", " {\n box-shadow: ", ";\n background: ", ";\n }\n "])), globalClasses.box, t.transitionDuration, t.transitionTimingFunction, t.transitionDuration, t.transitionTimingFunction, globalClasses.box, t.checkboxHoverBg, t.checkboxShadowHover, globalClasses.box, t.checkboxShadowActive, t.checkboxActiveBg);
|
|
11
11
|
},
|
|
12
12
|
rootSmall: function rootSmall(t) {
|
|
13
|
-
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), checkboxSizeMixin(t.checkboxFontSizeSmall, t.checkboxLineHeightSmall, t.checkboxPaddingYSmall, t.checkboxBoxSizeSmall));
|
|
13
|
+
return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), checkboxSizeMixin(t.checkboxFontSizeSmall, t.checkboxLineHeightSmall, t.checkboxPaddingYSmall, t.checkboxBoxSizeSmall, t.checkboxPaddingXSmall));
|
|
14
14
|
},
|
|
15
15
|
rootMedium: function rootMedium(t) {
|
|
16
|
-
return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), checkboxSizeMixin(t.checkboxFontSizeMedium, t.checkboxLineHeightMedium, t.checkboxPaddingYMedium, t.checkboxBoxSizeMedium));
|
|
16
|
+
return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), checkboxSizeMixin(t.checkboxFontSizeMedium, t.checkboxLineHeightMedium, t.checkboxPaddingYMedium, t.checkboxBoxSizeMedium, t.checkboxPaddingXMedium));
|
|
17
17
|
},
|
|
18
18
|
rootLarge: function rootLarge(t) {
|
|
19
|
-
return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), checkboxSizeMixin(t.checkboxFontSizeLarge, t.checkboxLineHeightLarge, t.checkboxPaddingYLarge, t.checkboxBoxSizeLarge));
|
|
19
|
+
return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), checkboxSizeMixin(t.checkboxFontSizeLarge, t.checkboxLineHeightLarge, t.checkboxPaddingYLarge, t.checkboxBoxSizeLarge, t.checkboxPaddingXLarge));
|
|
20
20
|
},
|
|
21
21
|
rootDisableTextSelect: function rootDisableTextSelect() {
|
|
22
22
|
return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n user-select: none;\n "])));
|
|
@@ -31,16 +31,16 @@ export var styles = memoizeStyle({
|
|
|
31
31
|
return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n display: inline;\n "])));
|
|
32
32
|
},
|
|
33
33
|
boxWrapper: function boxWrapper(t) {
|
|
34
|
-
return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n position: absolute;\n box-sizing: border-box;\n padding: ", ";\n\n // fix position in ie11\n display: inline-block
|
|
34
|
+
return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n position: absolute;\n box-sizing: border-box;\n padding: ", ";\n\n // fix position in ie11\n display: inline-block; \n )};\n "])), t.checkboxBorderWidth);
|
|
35
35
|
},
|
|
36
36
|
boxWrapperSmall: function boxWrapperSmall(t) {
|
|
37
|
-
return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), boxWrapperSizeMixin(t.labGrotesqueBaselineCompensation, t.checkboxFontSizeSmall, t.checkboxBoxSizeSmall, t.checkboxBoxOffsetY));
|
|
37
|
+
return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), boxWrapperSizeMixin(t.labGrotesqueBaselineCompensation, t.checkboxFontSizeSmall, t.checkboxBoxSizeSmall, t.checkboxBoxOffsetY, t.checkboxPaddingXSmall));
|
|
38
38
|
},
|
|
39
39
|
boxWrapperMedium: function boxWrapperMedium(t) {
|
|
40
|
-
return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), boxWrapperSizeMixin(t.labGrotesqueBaselineCompensation, t.checkboxFontSizeMedium, t.checkboxBoxSizeMedium, t.checkboxBoxOffsetY));
|
|
40
|
+
return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), boxWrapperSizeMixin(t.labGrotesqueBaselineCompensation, t.checkboxFontSizeMedium, t.checkboxBoxSizeMedium, t.checkboxBoxOffsetY, t.checkboxPaddingXMedium));
|
|
41
41
|
},
|
|
42
42
|
boxWrapperLarge: function boxWrapperLarge(t) {
|
|
43
|
-
return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), boxWrapperSizeMixin(t.labGrotesqueBaselineCompensation, t.checkboxFontSizeLarge, t.checkboxBoxSizeLarge, t.checkboxBoxOffsetY));
|
|
43
|
+
return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), boxWrapperSizeMixin(t.labGrotesqueBaselineCompensation, t.checkboxFontSizeLarge, t.checkboxBoxSizeLarge, t.checkboxBoxOffsetY, t.checkboxPaddingXLarge));
|
|
44
44
|
},
|
|
45
45
|
box: function box(t) {
|
|
46
46
|
return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n color: ", ";\n box-shadow: ", ";\n background: ", ";\n border-radius: ", ";\n height: 100%;\n "])), t.checkboxTextColorDefault, t.checkboxShadow, t.checkboxBg, t.checkboxBorderRadius);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["css","memoizeStyle","prefix","boxWrapperSizeMixin","checkboxSizeMixin","globalClasses","box","styles","root","t","_templateObject","_taggedTemplateLiteralLoose","transitionDuration","transitionTimingFunction","checkboxHoverBg","checkboxShadowHover","checkboxShadowActive","checkboxActiveBg","rootSmall","_templateObject2","checkboxFontSizeSmall","checkboxLineHeightSmall","checkboxPaddingYSmall","checkboxBoxSizeSmall","rootMedium","_templateObject3","checkboxFontSizeMedium","checkboxLineHeightMedium","checkboxPaddingYMedium","checkboxBoxSizeMedium","rootLarge","_templateObject4","checkboxFontSizeLarge","checkboxLineHeightLarge","checkboxPaddingYLarge","checkboxBoxSizeLarge","rootDisableTextSelect","_templateObject5","rootChecked","_templateObject6","checkboxCheckedHoverShadow","checkboxCheckedHoverBg","checkboxCheckedActiveBg","checkboxCheckedActiveShadow","rootFallback","_templateObject7","rootWrapperIE11","_templateObject8","boxWrapper","_templateObject9","checkboxBorderWidth","boxWrapperSmall","_templateObject10","labGrotesqueBaselineCompensation","checkboxBoxOffsetY","boxWrapperMedium","_templateObject11","boxWrapperLarge","_templateObject12","_templateObject13","checkboxTextColorDefault","checkboxShadow","checkboxBg","checkboxBorderRadius","input","_templateObject14","boxWarning","_templateObject15","checkboxOutlineColorFocus","checkboxOutlineWidth","checkboxBorderColorWarning","boxError","_templateObject16","checkboxBorderColorError","boxChecked","_templateObject17","checkboxCheckedBg","checkboxCheckedColor","checkboxCheckedShadow","boxFocus","_templateObject18","checkboxBorderColorFocus","boxDisabled","_templateObject19","checkboxShadowDisabled","checkboxBgDisabled","checkboxTextColorDisabled","disabled","_templateObject20","icon","_templateObject21","iconUnchecked","_templateObject22","caption","_templateObject23","checkboxCaptionGap","captionIE11","_templateObject24"],"sources":["Checkbox.styles.ts"],"sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\n\nimport { boxWrapperSizeMixin, checkboxSizeMixin } from './Checkbox.mixins';\n\nexport const globalClasses = prefix('checkbox')({\n box: 'box',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\\\00A0';\n display: inline-block;\n flex: 0 0 auto;\n }\n\n .${globalClasses.box} {\n transition:\n background ${t.transitionDuration} ${t.transitionTimingFunction},\n box-shadow ${t.transitionDuration} ${t.transitionTimingFunction};\n }\n\n &:hover .${globalClasses.box} {\n background: ${t.checkboxHoverBg};\n box-shadow: ${t.checkboxShadowHover};\n }\n\n &:active .${globalClasses.box} {\n box-shadow: ${t.checkboxShadowActive};\n background: ${t.checkboxActiveBg};\n }\n `;\n },\n\n rootSmall(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeSmall,\n t.checkboxLineHeightSmall,\n t.checkboxPaddingYSmall,\n t.checkboxBoxSizeSmall,\n )};\n `;\n },\n\n rootMedium(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeMedium,\n t.checkboxLineHeightMedium,\n t.checkboxPaddingYMedium,\n t.checkboxBoxSizeMedium,\n )};\n `;\n },\n\n rootLarge(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeLarge,\n t.checkboxLineHeightLarge,\n t.checkboxPaddingYLarge,\n t.checkboxBoxSizeLarge,\n )};\n `;\n },\n\n rootDisableTextSelect() {\n return css`\n user-select: none;\n `;\n },\n\n rootChecked(t: Theme) {\n return css`\n &:hover .${globalClasses.box} {\n box-shadow: ${t.checkboxCheckedHoverShadow};\n background: ${t.checkboxCheckedHoverBg};\n }\n\n &:active .${globalClasses.box} {\n background: ${t.checkboxCheckedActiveBg};\n box-shadow: ${t.checkboxCheckedActiveShadow};\n }\n `;\n },\n\n rootFallback() {\n return css`\n display: inline-table;\n\n & > * {\n // fix root's :active state in IE11 that gets blocked by nested elements\n pointer-events: none;\n }\n `;\n },\n\n rootWrapperIE11() {\n return css`\n display: inline;\n `;\n },\n\n boxWrapper(t: Theme) {\n return css`\n position: absolute;\n box-sizing: border-box;\n padding: ${t.checkboxBorderWidth};\n\n // fix position in ie11\n display: inline-block;\n left: 0;\n )};\n `;\n },\n\n boxWrapperSmall(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeSmall,\n t.checkboxBoxSizeSmall,\n t.checkboxBoxOffsetY,\n )};\n `;\n },\n\n boxWrapperMedium(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeMedium,\n t.checkboxBoxSizeMedium,\n t.checkboxBoxOffsetY,\n )};\n `;\n },\n\n boxWrapperLarge(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeLarge,\n t.checkboxBoxSizeLarge,\n t.checkboxBoxOffsetY,\n )};\n `;\n },\n\n box(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n box-shadow: ${t.checkboxShadow};\n background: ${t.checkboxBg};\n border-radius: ${t.checkboxBorderRadius};\n height: 100%;\n `;\n },\n\n input() {\n return css`\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n `;\n },\n\n boxWarning(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorWarning} !important; // override hover and active\n `;\n },\n\n boxError(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorError} !important; // override hover and active\n `;\n },\n\n boxChecked(t: Theme) {\n return css`\n background: ${t.checkboxCheckedBg};\n color: ${t.checkboxCheckedColor};\n box-shadow: ${t.checkboxCheckedShadow};\n `;\n },\n\n boxFocus(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorFocus} !important; // override hover and active\n `;\n },\n\n boxDisabled(t: Theme) {\n return css`\n box-shadow: ${t.checkboxShadowDisabled} !important; // override hover and active\n background: ${t.checkboxBgDisabled} !important; // override hover and active\n color: ${t.checkboxTextColorDisabled};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDisabled};\n cursor: default;\n `;\n },\n\n icon() {\n return css`\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n `;\n },\n\n iconUnchecked() {\n return css`\n color: transparent;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n padding-left: ${t.checkboxCaptionGap};\n `;\n },\n\n captionIE11() {\n return css`\n display: table-cell;\n `;\n },\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["css","memoizeStyle","prefix","boxWrapperSizeMixin","checkboxSizeMixin","globalClasses","box","styles","root","t","_templateObject","_taggedTemplateLiteralLoose","transitionDuration","transitionTimingFunction","checkboxHoverBg","checkboxShadowHover","checkboxShadowActive","checkboxActiveBg","rootSmall","_templateObject2","checkboxFontSizeSmall","checkboxLineHeightSmall","checkboxPaddingYSmall","checkboxBoxSizeSmall","checkboxPaddingXSmall","rootMedium","_templateObject3","checkboxFontSizeMedium","checkboxLineHeightMedium","checkboxPaddingYMedium","checkboxBoxSizeMedium","checkboxPaddingXMedium","rootLarge","_templateObject4","checkboxFontSizeLarge","checkboxLineHeightLarge","checkboxPaddingYLarge","checkboxBoxSizeLarge","checkboxPaddingXLarge","rootDisableTextSelect","_templateObject5","rootChecked","_templateObject6","checkboxCheckedHoverShadow","checkboxCheckedHoverBg","checkboxCheckedActiveBg","checkboxCheckedActiveShadow","rootFallback","_templateObject7","rootWrapperIE11","_templateObject8","boxWrapper","_templateObject9","checkboxBorderWidth","boxWrapperSmall","_templateObject10","labGrotesqueBaselineCompensation","checkboxBoxOffsetY","boxWrapperMedium","_templateObject11","boxWrapperLarge","_templateObject12","_templateObject13","checkboxTextColorDefault","checkboxShadow","checkboxBg","checkboxBorderRadius","input","_templateObject14","boxWarning","_templateObject15","checkboxOutlineColorFocus","checkboxOutlineWidth","checkboxBorderColorWarning","boxError","_templateObject16","checkboxBorderColorError","boxChecked","_templateObject17","checkboxCheckedBg","checkboxCheckedColor","checkboxCheckedShadow","boxFocus","_templateObject18","checkboxBorderColorFocus","boxDisabled","_templateObject19","checkboxShadowDisabled","checkboxBgDisabled","checkboxTextColorDisabled","disabled","_templateObject20","icon","_templateObject21","iconUnchecked","_templateObject22","caption","_templateObject23","checkboxCaptionGap","captionIE11","_templateObject24"],"sources":["Checkbox.styles.ts"],"sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\n\nimport { boxWrapperSizeMixin, checkboxSizeMixin } from './Checkbox.mixins';\n\nexport const globalClasses = prefix('checkbox')({\n box: 'box',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\\\00A0';\n display: inline-block;\n flex: 0 0 auto;\n }\n\n .${globalClasses.box} {\n transition:\n background ${t.transitionDuration} ${t.transitionTimingFunction},\n box-shadow ${t.transitionDuration} ${t.transitionTimingFunction};\n }\n\n &:hover .${globalClasses.box} {\n background: ${t.checkboxHoverBg};\n box-shadow: ${t.checkboxShadowHover};\n }\n\n &:active .${globalClasses.box} {\n box-shadow: ${t.checkboxShadowActive};\n background: ${t.checkboxActiveBg};\n }\n `;\n },\n\n rootSmall(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeSmall,\n t.checkboxLineHeightSmall,\n t.checkboxPaddingYSmall,\n t.checkboxBoxSizeSmall,\n t.checkboxPaddingXSmall,\n )};\n `;\n },\n\n rootMedium(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeMedium,\n t.checkboxLineHeightMedium,\n t.checkboxPaddingYMedium,\n t.checkboxBoxSizeMedium,\n t.checkboxPaddingXMedium,\n )};\n `;\n },\n\n rootLarge(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeLarge,\n t.checkboxLineHeightLarge,\n t.checkboxPaddingYLarge,\n t.checkboxBoxSizeLarge,\n t.checkboxPaddingXLarge,\n )};\n `;\n },\n\n rootDisableTextSelect() {\n return css`\n user-select: none;\n `;\n },\n\n rootChecked(t: Theme) {\n return css`\n &:hover .${globalClasses.box} {\n box-shadow: ${t.checkboxCheckedHoverShadow};\n background: ${t.checkboxCheckedHoverBg};\n }\n\n &:active .${globalClasses.box} {\n background: ${t.checkboxCheckedActiveBg};\n box-shadow: ${t.checkboxCheckedActiveShadow};\n }\n `;\n },\n\n rootFallback() {\n return css`\n display: inline-table;\n\n & > * {\n // fix root's :active state in IE11 that gets blocked by nested elements\n pointer-events: none;\n }\n `;\n },\n\n rootWrapperIE11() {\n return css`\n display: inline;\n `;\n },\n\n boxWrapper(t: Theme) {\n return css`\n position: absolute;\n box-sizing: border-box;\n padding: ${t.checkboxBorderWidth};\n\n // fix position in ie11\n display: inline-block; \n )};\n `;\n },\n\n boxWrapperSmall(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeSmall,\n t.checkboxBoxSizeSmall,\n t.checkboxBoxOffsetY,\n t.checkboxPaddingXSmall,\n )};\n `;\n },\n\n boxWrapperMedium(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeMedium,\n t.checkboxBoxSizeMedium,\n t.checkboxBoxOffsetY,\n t.checkboxPaddingXMedium,\n )};\n `;\n },\n\n boxWrapperLarge(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeLarge,\n t.checkboxBoxSizeLarge,\n t.checkboxBoxOffsetY,\n t.checkboxPaddingXLarge,\n )};\n `;\n },\n\n box(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n box-shadow: ${t.checkboxShadow};\n background: ${t.checkboxBg};\n border-radius: ${t.checkboxBorderRadius};\n height: 100%;\n `;\n },\n\n input() {\n return css`\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n `;\n },\n\n boxWarning(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorWarning} !important; // override hover and active\n `;\n },\n\n boxError(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorError} !important; // override hover and active\n `;\n },\n\n boxChecked(t: Theme) {\n return css`\n background: ${t.checkboxCheckedBg};\n color: ${t.checkboxCheckedColor};\n box-shadow: ${t.checkboxCheckedShadow};\n `;\n },\n\n boxFocus(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorFocus} !important; // override hover and active\n `;\n },\n\n boxDisabled(t: Theme) {\n return css`\n box-shadow: ${t.checkboxShadowDisabled} !important; // override hover and active\n background: ${t.checkboxBgDisabled} !important; // override hover and active\n color: ${t.checkboxTextColorDisabled};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDisabled};\n cursor: default;\n `;\n },\n\n icon() {\n return css`\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n `;\n },\n\n iconUnchecked() {\n return css`\n color: transparent;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n padding-left: ${t.checkboxCaptionGap};\n `;\n },\n\n captionIE11() {\n return css`\n display: table-cell;\n `;\n },\n});\n"],"mappings":"iiBAAA,SAASA,GAAG,EAAEC,YAAY,EAAEC,MAAM,QAAQ,2BAA2B;;;AAGrE,SAASC,mBAAmB,EAAEC,iBAAiB,QAAQ,mBAAmB;;AAE1E,OAAO,IAAMC,aAAa,GAAGH,MAAM,CAAC,UAAU,CAAC,CAAC;EAC9CI,GAAG,EAAE;AACP,CAAC,CAAC;;AAEF,OAAO,IAAMC,MAAM,GAAGN,YAAY,CAAC;EACjCO,IAAI,WAAAA,KAACC,CAAQ,EAAE;IACb,OAAOT,GAAG,CAAAU,eAAA,KAAAA,eAAA,GAAAC,2BAAA;;;;;;;;;;;;;;;IAeLN,aAAa,CAACC,GAAG;;IAEHG,CAAC,CAACG,kBAAkB,EAAIH,CAAC,CAACI,wBAAwB;IAClDJ,CAAC,CAACG,kBAAkB,EAAIH,CAAC,CAACI,wBAAwB;;;IAGxDR,aAAa,CAACC,GAAG;IACZG,CAAC,CAACK,eAAe;IACjBL,CAAC,CAACM,mBAAmB;;;IAGzBV,aAAa,CAACC,GAAG;IACbG,CAAC,CAACO,oBAAoB;IACtBP,CAAC,CAACQ,gBAAgB;;;EAGtC,CAAC;;EAEDC,SAAS,WAAAA,UAACT,CAAQ,EAAE;IAClB,OAAOT,GAAG,CAAAmB,gBAAA,KAAAA,gBAAA,GAAAR,2BAAA;IACNP,iBAAiB;MACjBK,CAAC,CAACW,qBAAqB;MACvBX,CAAC,CAACY,uBAAuB;MACzBZ,CAAC,CAACa,qBAAqB;MACvBb,CAAC,CAACc,oBAAoB;MACtBd,CAAC,CAACe;IACJ,CAAC;;EAEL,CAAC;;EAEDC,UAAU,WAAAA,WAAChB,CAAQ,EAAE;IACnB,OAAOT,GAAG,CAAA0B,gBAAA,KAAAA,gBAAA,GAAAf,2BAAA;IACNP,iBAAiB;MACjBK,CAAC,CAACkB,sBAAsB;MACxBlB,CAAC,CAACmB,wBAAwB;MAC1BnB,CAAC,CAACoB,sBAAsB;MACxBpB,CAAC,CAACqB,qBAAqB;MACvBrB,CAAC,CAACsB;IACJ,CAAC;;EAEL,CAAC;;EAEDC,SAAS,WAAAA,UAACvB,CAAQ,EAAE;IAClB,OAAOT,GAAG,CAAAiC,gBAAA,KAAAA,gBAAA,GAAAtB,2BAAA;IACNP,iBAAiB;MACjBK,CAAC,CAACyB,qBAAqB;MACvBzB,CAAC,CAAC0B,uBAAuB;MACzB1B,CAAC,CAAC2B,qBAAqB;MACvB3B,CAAC,CAAC4B,oBAAoB;MACtB5B,CAAC,CAAC6B;IACJ,CAAC;;EAEL,CAAC;;EAEDC,qBAAqB,WAAAA,sBAAA,EAAG;IACtB,OAAOvC,GAAG,CAAAwC,gBAAA,KAAAA,gBAAA,GAAA7B,2BAAA;;;EAGZ,CAAC;;EAED8B,WAAW,WAAAA,YAAChC,CAAQ,EAAE;IACpB,OAAOT,GAAG,CAAA0C,gBAAA,KAAAA,gBAAA,GAAA/B,2BAAA;IACGN,aAAa,CAACC,GAAG;IACZG,CAAC,CAACkC,0BAA0B;IAC5BlC,CAAC,CAACmC,sBAAsB;;;IAG5BvC,aAAa,CAACC,GAAG;IACbG,CAAC,CAACoC,uBAAuB;IACzBpC,CAAC,CAACqC,2BAA2B;;;EAGjD,CAAC;;EAEDC,YAAY,WAAAA,aAAA,EAAG;IACb,OAAO/C,GAAG,CAAAgD,gBAAA,KAAAA,gBAAA,GAAArC,2BAAA;;;;;;;;EAQZ,CAAC;;EAEDsC,eAAe,WAAAA,gBAAA,EAAG;IAChB,OAAOjD,GAAG,CAAAkD,gBAAA,KAAAA,gBAAA,GAAAvC,2BAAA;;;EAGZ,CAAC;;EAEDwC,UAAU,WAAAA,WAAC1C,CAAQ,EAAE;IACnB,OAAOT,GAAG,CAAAoD,gBAAA,KAAAA,gBAAA,GAAAzC,2BAAA;;;IAGGF,CAAC,CAAC4C,mBAAmB;;;;;;EAMpC,CAAC;;EAEDC,eAAe,WAAAA,gBAAC7C,CAAQ,EAAE;IACxB,OAAOT,GAAG,CAAAuD,iBAAA,KAAAA,iBAAA,GAAA5C,2BAAA;IACNR,mBAAmB;MACnBM,CAAC,CAAC+C,gCAAgC;MAClC/C,CAAC,CAACW,qBAAqB;MACvBX,CAAC,CAACc,oBAAoB;MACtBd,CAAC,CAACgD,kBAAkB;MACpBhD,CAAC,CAACe;IACJ,CAAC;;EAEL,CAAC;;EAEDkC,gBAAgB,WAAAA,iBAACjD,CAAQ,EAAE;IACzB,OAAOT,GAAG,CAAA2D,iBAAA,KAAAA,iBAAA,GAAAhD,2BAAA;IACNR,mBAAmB;MACnBM,CAAC,CAAC+C,gCAAgC;MAClC/C,CAAC,CAACkB,sBAAsB;MACxBlB,CAAC,CAACqB,qBAAqB;MACvBrB,CAAC,CAACgD,kBAAkB;MACpBhD,CAAC,CAACsB;IACJ,CAAC;;EAEL,CAAC;;EAED6B,eAAe,WAAAA,gBAACnD,CAAQ,EAAE;IACxB,OAAOT,GAAG,CAAA6D,iBAAA,KAAAA,iBAAA,GAAAlD,2BAAA;IACNR,mBAAmB;MACnBM,CAAC,CAAC+C,gCAAgC;MAClC/C,CAAC,CAACyB,qBAAqB;MACvBzB,CAAC,CAAC4B,oBAAoB;MACtB5B,CAAC,CAACgD,kBAAkB;MACpBhD,CAAC,CAAC6B;IACJ,CAAC;;EAEL,CAAC;;EAEDhC,GAAG,WAAAA,IAACG,CAAQ,EAAE;IACZ,OAAOT,GAAG,CAAA8D,iBAAA,KAAAA,iBAAA,GAAAnD,2BAAA;IACCF,CAAC,CAACsD,wBAAwB;IACrBtD,CAAC,CAACuD,cAAc;IAChBvD,CAAC,CAACwD,UAAU;IACTxD,CAAC,CAACyD,oBAAoB;;;EAG3C,CAAC;;EAEDC,KAAK,WAAAA,MAAA,EAAG;IACN,OAAOnE,GAAG,CAAAoE,iBAAA,KAAAA,iBAAA,GAAAzD,2BAAA;;;;;;;;EAQZ,CAAC;;EAED0D,UAAU,WAAAA,WAAC5D,CAAQ,EAAE;IACnB,OAAOT,GAAG,CAAAsE,iBAAA,KAAAA,iBAAA,GAAA3D,2BAAA;;IAEYF,CAAC,CAAC8D,yBAAyB;IACrC9D,CAAC,CAAC+D,oBAAoB,EAAI/D,CAAC,CAACgE,0BAA0B;;EAEpE,CAAC;;EAEDC,QAAQ,WAAAA,SAACjE,CAAQ,EAAE;IACjB,OAAOT,GAAG,CAAA2E,iBAAA,KAAAA,iBAAA,GAAAhE,2BAAA;;IAEYF,CAAC,CAAC8D,yBAAyB;IACrC9D,CAAC,CAAC+D,oBAAoB,EAAI/D,CAAC,CAACmE,wBAAwB;;EAElE,CAAC;;EAEDC,UAAU,WAAAA,WAACpE,CAAQ,EAAE;IACnB,OAAOT,GAAG,CAAA8E,iBAAA,KAAAA,iBAAA,GAAAnE,2BAAA;IACMF,CAAC,CAACsE,iBAAiB;IACxBtE,CAAC,CAACuE,oBAAoB;IACjBvE,CAAC,CAACwE,qBAAqB;;EAEzC,CAAC;;EAEDC,QAAQ,WAAAA,SAACzE,CAAQ,EAAE;IACjB,OAAOT,GAAG,CAAAmF,iBAAA,KAAAA,iBAAA,GAAAxE,2BAAA;;IAEYF,CAAC,CAAC8D,yBAAyB;IACrC9D,CAAC,CAAC+D,oBAAoB,EAAI/D,CAAC,CAAC2E,wBAAwB;;EAElE,CAAC;;EAEDC,WAAW,WAAAA,YAAC5E,CAAQ,EAAE;IACpB,OAAOT,GAAG,CAAAsF,iBAAA,KAAAA,iBAAA,GAAA3E,2BAAA;IACMF,CAAC,CAAC8E,sBAAsB;IACxB9E,CAAC,CAAC+E,kBAAkB;IACzB/E,CAAC,CAACgF,yBAAyB;;EAExC,CAAC;;EAEDC,QAAQ,WAAAA,SAACjF,CAAQ,EAAE;IACjB,OAAOT,GAAG,CAAA2F,iBAAA,KAAAA,iBAAA,GAAAhF,2BAAA;IACCF,CAAC,CAACgF,yBAAyB;;;EAGxC,CAAC;;EAEDG,IAAI,WAAAA,KAAA,EAAG;IACL,OAAO5F,GAAG,CAAA6F,iBAAA,KAAAA,iBAAA,GAAAlF,2BAAA;;;;;;;;;;EAUZ,CAAC;;EAEDmF,aAAa,WAAAA,cAAA,EAAG;IACd,OAAO9F,GAAG,CAAA+F,iBAAA,KAAAA,iBAAA,GAAApF,2BAAA;;;EAGZ,CAAC;;EAEDqF,OAAO,WAAAA,QAACvF,CAAQ,EAAE;IAChB,OAAOT,GAAG,CAAAiG,iBAAA,KAAAA,iBAAA,GAAAtF,2BAAA;IACCF,CAAC,CAACsD,wBAAwB;IACnBtD,CAAC,CAACyF,kBAAkB;;EAExC,CAAC;;EAEDC,WAAW,WAAAA,YAAA,EAAG;IACZ,OAAOnG,GAAG,CAAAoG,iBAAA,KAAAA,iBAAA,GAAAzF,2BAAA;;;EAGZ;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -147,11 +147,13 @@ export var DateRangePicker = Object.assign({
|
|
|
147
147
|
}
|
|
148
148
|
};
|
|
149
149
|
useImperativeHandle(ref, function () {
|
|
150
|
-
var _calendarRef$current;
|
|
151
150
|
return {
|
|
152
151
|
open: open,
|
|
153
152
|
close: close,
|
|
154
|
-
scrollToMonth: (
|
|
153
|
+
scrollToMonth: function scrollToMonth(month, year) {
|
|
154
|
+
var _calendarRef$current;
|
|
155
|
+
(_calendarRef$current = calendarRef.current) == null || _calendarRef$current.scrollToMonth == null || _calendarRef$current.scrollToMonth(month, year);
|
|
156
|
+
},
|
|
155
157
|
getRootNode: function getRootNode() {
|
|
156
158
|
return dateRangePickerRef.current;
|
|
157
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useImperativeHandle","useRef","useState","useLayoutEffect","MobilePopup","useLocaleForControl","css","cx","ThemeContext","CommonWrapper","Calendar","CalendarDay","Popup","DateInput","isBetween","isGreater","isGreaterOrEqual","isLess","isLessOrEqual","ZIndex","getRootNode","getMenuPositions","Button","useResponsiveLayout","InternalDate","InternalDateGetter","ArrowAUpIcon16Light","NativeDateInput","forwardRefAndName","LocaleContext","isIOS","getFontSize","styles","DateRangePickerSeparator","DateRangePickerContext","DateRangePickerEnd","DateRangePickerStart","getDateRangePickerTheme","getMobileDateRangePickerTheme","DateRangePickerLocaleHelper","validateDateRangePicker","getStateForValue","DateRangePickerDataTids","root","start","end","popup","calendar","todayButton","startOptionalButton","endOptionalButton","mobileStart","mobileEnd","rangeStart","rangeEnd","DayDateAttribute","DateRangePicker","Object","assign","Start","End","Separator","validate","props","ref","_useResponsiveLayout","isMobile","locale","_useState","startValue","setStartValue","_useState2","startOptional","setStartOptional","_useState3","startDisabled","setStartDisabled","_useState4","endValue","setEndValue","_useState5","endOptional","setEndOptional","_useState6","endDisabled","setEndDisabled","_useState7","minDate","setMinDate","_useState8","maxDate","setMaxDate","_useState9","hoveredDay","setHoveredDay","_useState10","showCalendar","setShowCalendar","_useState11","focusInput","setFocusInput","dateRangePickerRef","calendarRef","startRef","endRef","mobileStartRef","mobileEndRef","mobileNativeStartRef","mobileNativeEndRef","isCalendarOpen","updateDateRangeValues","value","currentValues","currentStart","currentEnd","updatedState","isOpen","focus","close","open","inputType","setEmpty","type","_calendarRef$current","scrollToMonth","current","setTimeout","_currentFieldRef$curr4","isStart","currentFieldRef","useMobileNativeDatePicker","_currentFieldRef$curr","_currentFieldRef$curr2","click","_currentFieldRef$curr3","dateRangePickerContextProps","size","renderCalendar","theme","widthAuto","_cx","createElement","Provider","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","renderDay","dayProps","renderCalendarRange","onValueChange","onMonthChange","className","calendarWidthAuto","renderMobileCalendar","_cx2","_cx3","opened","headerChildComponent","inputWrapperWidthFull","withIcon","width","inputVisuallyFocus","disabled","onFocus","onCloseRequest","footerChildComponent","renderButtons","getAnchorElement","menuAnchorElement","isValidElement","renderDesktopCalendar","hasShadow","priority","priorities","PopupMenu","positions","menuPos","menuAlign","anchorElement","margin","parseInt","datePickerMenuOffsetY","calendarWrapper","onMouseDown","e","preventDefault","onMouseMove","handleCalendarRangeMouseMove","today","setComponents","getTodayComponents","toString","withPad","withSeparator","hasOptionalButtons","buttonWrap","Fragment","onClick","startDateEmpty","endDateEmpty","enableTodayLink","icon","todayAriaLabel","renderMobileNativeDateInput","Consumer","inputWrapperWidth","_templateObject","_taggedTemplateLiteralLoose","role","style","children","hoveredElement","target","hasAttribute","date","String","getAttribute","t","renderDayFn","_extends2","_cx4","day","isDayFirst","isDayLast","isDayInPeriod","Boolean","hasHoveredDay","isDayInHoveredPeriod","hasLeftRoundings","hasRightRoundings","isDayBeforeFirstInPeriod","isDayAfterLastInPeriod","isDayHovered","renderDayProps","_extends","dataTid","rangeCalendarDay","_templateObject2","rangeCalendarCellBg","calendarCellBorderRadius","rangeCalendarDayEnd","rangeCalendarDayHoverInPeriod","rangeCalendarDayInHoveredPeriod"],"sources":["DateRangePicker.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState, useLayoutEffect, type AriaAttributes } from 'react';\n\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl';\nimport { css, cx } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { CalendarDayProps } from '../Calendar';\nimport { Calendar, CalendarDay } from '../Calendar';\nimport { Popup } from '../../internal/Popup';\nimport { DateInput } from '../DateInput';\nimport { isBetween, isGreater, isGreaterOrEqual, isLess, isLessOrEqual } from '../../lib/date/comparison';\nimport type { DatePickerProps } from '../DatePicker';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { getRootNode } from '../../lib/rootNode';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { Button } from '../Button';\nimport { useResponsiveLayout } from '../ResponsiveLayout';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { LocaleContext } from '../../lib/locale';\nimport { isIOS } from '../../lib/client';\n\nimport { getFontSize, styles } from './DateRangePicker.styles';\nimport { DateRangePickerSeparator } from './DateRangePickerSeparator';\nimport type { DateRangePickerContextProps } from './DateRangePickerContext';\nimport { DateRangePickerContext } from './DateRangePickerContext';\nimport type { DateRangePickerInputType } from './DateRangePickerInput';\nimport { DateRangePickerEnd, DateRangePickerStart } from './DateRangePickerInput';\nimport { getDateRangePickerTheme, getMobileDateRangePickerTheme } from './DateRangePickerTheme';\nimport { DateRangePickerLocaleHelper } from './locale';\nimport { validateDateRangePicker } from './helpers/validateDateRangePicker';\nimport { getStateForValue } from './helpers/getStateForValue';\n\nexport const DateRangePickerDataTids = {\n root: 'DateRangePicker__root',\n start: 'DateRangePicker__start',\n end: 'DateRangePicker__end',\n popup: 'DateRangePicker__popup',\n calendar: 'DateRangePicker__calendar',\n todayButton: 'DateRangePicker__todayButton',\n startOptionalButton: 'DateRangePicker__startOptionalButton',\n endOptionalButton: 'DateRangePicker__endOptionalButton',\n mobileStart: 'DateRangePicker__mobileStart',\n mobileEnd: 'DateRangePicker__mobileEnd',\n rangeStart: 'DateRangePicker__rangeStart',\n rangeEnd: 'DateRangePicker__rangeEnd',\n} as const;\n\nconst DayDateAttribute = 'data-date-range-picker-day';\n\nexport interface DateRangePickerProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>,\n Pick<\n DatePickerProps,\n | 'size'\n | 'width'\n | 'renderDay'\n | 'menuPos'\n | 'menuAlign'\n | 'useMobileNativeDatePicker'\n | 'enableTodayLink'\n | 'onMonthChange'\n > {\n /**\n * Элемент относительно которого открывается календарь,\n * Если передать значение `focused` - меню будет открываться у зафокусированного элемента.\n * Если передать ссылку на DOM элемент или ref - меню откроется относительно переданного элемента.\n */\n menuAnchorElement?: 'focused' | Element | React.ReactNode | React.RefObject<any>;\n /**\n * Элементы DateRangePicker:\n * `<DateRangePicker.Start />`\n * `<DateRangePicker.Separator />`\n * `<DateRangePicker.End />`\n */\n children: React.ReactNode;\n}\n\nexport const DateRangePicker = Object.assign(\n {\n Start: DateRangePickerStart,\n End: DateRangePickerEnd,\n Separator: DateRangePickerSeparator,\n validate: validateDateRangePicker,\n },\n forwardRefAndName('DateRangePicker', (props: DateRangePickerProps, ref) => {\n const { isMobile } = useResponsiveLayout();\n const locale = useLocaleForControl('DateRangePicker', DateRangePickerLocaleHelper);\n\n const [startValue, setStartValue] = useState<string>();\n const [startOptional, setStartOptional] = useState(false);\n const [startDisabled, setStartDisabled] = useState(false);\n\n const [endValue, setEndValue] = useState<string>();\n const [endOptional, setEndOptional] = useState(false);\n const [endDisabled, setEndDisabled] = useState(false);\n\n const [minDate, setMinDate] = useState('');\n const [maxDate, setMaxDate] = useState('');\n\n const [hoveredDay, setHoveredDay] = useState<string | null>(null);\n const [showCalendar, setShowCalendar] = useState<boolean>(false);\n const [focusInput, setFocusInput] = useState<DateRangePickerInputType | null>(null);\n\n const dateRangePickerRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<Calendar>(null);\n const startRef = useRef<DateInput>(null);\n const endRef = useRef<DateInput>(null);\n const mobileStartRef = useRef<DateInput>(null);\n const mobileEndRef = useRef<DateInput>(null);\n const mobileNativeStartRef = useRef<NativeDateInput>(null);\n const mobileNativeEndRef = useRef<NativeDateInput>(null);\n const isCalendarOpen = !startDisabled && !endDisabled && showCalendar;\n\n const updateDateRangeValues = (value = '') => {\n const currentValues = {\n currentStart: startValue,\n currentEnd: endValue,\n minDate,\n maxDate,\n };\n const updatedState = getStateForValue(focusInput, value, currentValues);\n\n setStartValue(updatedState.start);\n setEndValue(updatedState.end);\n\n if (updatedState.isOpen && updatedState.focus) {\n focus(updatedState.focus);\n }\n\n if (!updatedState.isOpen) {\n close();\n }\n };\n\n const open = (inputType: DateRangePickerInputType = 'start') => {\n setFocusInput(inputType);\n setShowCalendar(true);\n };\n\n const close = () => {\n setShowCalendar(false);\n setHoveredDay(null);\n };\n\n const focus = (inputType: DateRangePickerInputType = 'start') => {\n setFocusInput(inputType);\n };\n\n const setEmpty = (type: DateRangePickerInputType) => {\n switch (type) {\n case 'start':\n setStartValue('');\n focus('end');\n break;\n\n case 'end':\n setEndValue('');\n close();\n break;\n }\n };\n\n useImperativeHandle(\n ref,\n () => ({\n open,\n close,\n scrollToMonth: calendarRef.current?.scrollToMonth,\n getRootNode: () => dateRangePickerRef.current,\n }),\n [],\n );\n\n useLayoutEffect(() => {\n if (!focusInput) {\n return;\n }\n\n // fix DateInput flushSync warning in React 18\n setTimeout(() => {\n const isStart = focusInput === 'start';\n let currentFieldRef;\n\n // Mobile Native Picker\n if (isMobile && props.useMobileNativeDatePicker) {\n currentFieldRef = isStart ? mobileNativeStartRef : mobileNativeEndRef;\n if (isIOS) {\n currentFieldRef.current?.focus();\n } else {\n // Android open native datepicker only via click\n currentFieldRef.current?.click();\n }\n return;\n }\n\n // Mobile\n if (isMobile) {\n currentFieldRef = isStart ? mobileStartRef : mobileEndRef;\n currentFieldRef.current?.focus();\n return;\n }\n\n // Desktop\n currentFieldRef = isStart ? startRef : endRef;\n currentFieldRef.current?.focus();\n });\n }, [focusInput]);\n\n const dateRangePickerContextProps: DateRangePickerContextProps = {\n startValue,\n startOptional,\n startDisabled,\n endValue,\n endOptional,\n endDisabled,\n minDate,\n maxDate,\n size: props.size,\n setStartValue,\n setStartOptional,\n setStartDisabled,\n setEndValue,\n setEndOptional,\n setEndDisabled,\n setMinDate,\n setMaxDate,\n setFocusInput,\n open,\n close,\n dateRangePickerRef,\n startRef,\n endRef,\n };\n\n const renderCalendar = (theme: Theme, widthAuto = false) => (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: locale.months,\n dayCellChooseDateAriaLabel: locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: locale.selectMonthAriaLabel,\n selectYearAriaLabel: locale.selectYearAriaLabel,\n selectChosenAriaLabel: locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <Calendar\n value={focusInput === 'start' ? startValue : endValue}\n minDate={minDate}\n maxDate={maxDate}\n renderDay={(dayProps) => renderCalendarRange(dayProps, theme, props.renderDay)}\n onValueChange={(value) => updateDateRangeValues(value)}\n ref={calendarRef}\n onMonthChange={props.onMonthChange}\n className={cx({ [styles.calendarWidthAuto()]: widthAuto })}\n />\n </LocaleContext.Provider>\n );\n\n const renderMobileCalendar = (theme: Theme) => (\n <MobilePopup\n opened\n headerChildComponent={\n <div className={cx(styles.root(theme), styles.inputWrapperWidthFull())}>\n <DateInput\n withIcon\n value={startValue}\n width=\"auto\"\n size=\"medium\"\n className={cx({ [styles.inputVisuallyFocus(theme)]: focusInput === 'start' })}\n disabled={startDisabled}\n onValueChange={setStartValue}\n onFocus={() => setFocusInput('start')}\n ref={mobileStartRef}\n data-tid={DateRangePickerDataTids.mobileStart}\n />\n <DateRangePicker.Separator />\n <DateInput\n withIcon\n value={endValue}\n width=\"auto\"\n size=\"medium\"\n className={cx({ [styles.inputVisuallyFocus(theme)]: focusInput === 'end' })}\n disabled={endDisabled}\n onValueChange={setEndValue}\n onFocus={() => setFocusInput('end')}\n ref={mobileEndRef}\n data-tid={DateRangePickerDataTids.mobileEnd}\n />\n </div>\n }\n onCloseRequest={() => close()}\n footerChildComponent={renderButtons()}\n >\n <ThemeContext.Provider value={getMobileDateRangePickerTheme(theme)}>\n {renderCalendar(theme, true)}\n </ThemeContext.Provider>\n </MobilePopup>\n );\n\n const getAnchorElement = () => {\n const { menuAnchorElement } = props;\n if (menuAnchorElement === 'focused') {\n return getRootNode(focusInput === 'start' ? startRef.current : endRef.current);\n }\n\n if (React.isValidElement(menuAnchorElement)) {\n return menuAnchorElement;\n }\n\n if (menuAnchorElement && typeof menuAnchorElement === 'object' && 'current' in menuAnchorElement) {\n return getRootNode(menuAnchorElement.current);\n }\n\n return getRootNode(startRef.current) || getRootNode(endRef.current) || getRootNode(dateRangePickerRef.current);\n };\n\n const renderDesktopCalendar = (theme: Theme) => (\n <Popup\n opened\n hasShadow\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(props.menuPos, props.menuAlign)}\n data-tid={DateRangePickerDataTids.root}\n anchorElement={getAnchorElement()}\n margin={parseInt(theme.datePickerMenuOffsetY)}\n >\n <div\n className={styles.calendarWrapper(theme)}\n onMouseDown={(e) => e.preventDefault()}\n onMouseMove={handleCalendarRangeMouseMove}\n >\n {renderCalendar(theme)}\n {renderButtons()}\n </div>\n </Popup>\n );\n\n const renderButtons = () => {\n const today = new InternalDate(locale)\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n const hasOptionalButtons = startOptional || endOptional;\n return (\n <div className={cx(styles.buttonWrap())}>\n {hasOptionalButtons && (\n <>\n {focusInput === 'start' && startOptional && (\n <Button\n width=\"100%\"\n data-tid={DateRangePickerDataTids.startOptionalButton}\n onClick={() => setEmpty('start')}\n >\n {locale.startDateEmpty}\n </Button>\n )}\n {focusInput === 'end' && endOptional && (\n <Button\n width=\"100%\"\n data-tid={DateRangePickerDataTids.endOptionalButton}\n onClick={() => setEmpty('end')}\n >\n {locale.endDateEmpty}\n </Button>\n )}\n </>\n )}\n\n {props.enableTodayLink && (\n <Button\n icon={<ArrowAUpIcon16Light />}\n aria-label={locale.todayAriaLabel}\n data-tid={DateRangePickerDataTids.todayButton}\n onClick={() => updateDateRangeValues(today)}\n >\n {!hasOptionalButtons && locale.today}\n </Button>\n )}\n </div>\n );\n };\n\n const renderMobileNativeDateInput = () => (\n <>\n <NativeDateInput\n value={startValue}\n minDate={minDate}\n maxDate={maxDate}\n onValueChange={setStartValue}\n disabled={startDisabled}\n ref={mobileNativeStartRef}\n />\n <NativeDateInput\n value={endValue}\n minDate={minDate}\n maxDate={maxDate}\n onValueChange={setEndValue}\n disabled={endDisabled}\n ref={mobileNativeEndRef}\n />\n </>\n );\n\n return (\n <ThemeContext.Consumer>\n {(theme) => (\n <ThemeContext.Provider value={getDateRangePickerTheme(theme)}>\n <DateRangePickerContext.Provider value={dateRangePickerContextProps}>\n <CommonWrapper {...props}>\n <div\n className={cx(\n styles.root(theme),\n styles.inputWrapperWidth(theme),\n css`\n font-size: ${getFontSize(theme, props.size)};\n `,\n )}\n role=\"group\"\n aria-describedby={props['aria-describedby']}\n aria-label={props['aria-label']}\n aria-labelledby={props['aria-labelledby']}\n data-tid={DateRangePickerDataTids.root}\n ref={dateRangePickerRef}\n style={{ width: props.width }}\n >\n {props.children}\n\n {props.useMobileNativeDatePicker && isMobile\n ? renderMobileNativeDateInput()\n : isCalendarOpen && (isMobile ? renderMobileCalendar(theme) : renderDesktopCalendar(theme))}\n </div>\n </CommonWrapper>\n </DateRangePickerContext.Provider>\n </ThemeContext.Provider>\n )}\n </ThemeContext.Consumer>\n );\n\n // Use parent mousemove event instead each CalendarDay's mouseenter / mouseover\n function handleCalendarRangeMouseMove(e: React.MouseEvent<HTMLDivElement, MouseEvent>) {\n if (!startValue && !endValue) {\n return;\n }\n\n const hoveredElement = e.target as HTMLElement;\n if (!hoveredElement.hasAttribute(DayDateAttribute) && hoveredDay === null) {\n return;\n }\n\n const date = String(hoveredElement?.getAttribute(DayDateAttribute)) || null;\n setHoveredDay(date);\n }\n\n function renderCalendarRange(\n props: CalendarDayProps,\n t: Theme,\n renderDayFn: ((props: CalendarDayProps) => React.ReactElement) | undefined,\n ) {\n const day = props.date;\n\n const isDayFirst = startValue === day;\n const isDayLast = endValue === day;\n const isDayInPeriod = Boolean(startValue && endValue && isBetween(day, startValue, endValue));\n\n const hasHoveredDay = hoveredDay !== null;\n const isDayInHoveredPeriod =\n hasHoveredDay &&\n Boolean(\n (focusInput === 'start' && endValue && isBetween(day, hoveredDay, endValue)) ||\n (focusInput === 'end' && startValue && isBetween(day, startValue, hoveredDay)),\n );\n\n let hasLeftRoundings;\n let hasRightRoundings;\n\n if (hasHoveredDay) {\n const isDayBeforeFirstInPeriod = startValue ? isLess(hoveredDay, startValue) : endValue;\n const isDayAfterLastInPeriod = endValue ? isGreater(hoveredDay, endValue) : startValue;\n\n if (isDayFirst && (isGreaterOrEqual(hoveredDay, startValue) || focusInput === 'end')) {\n hasLeftRoundings = true;\n }\n\n if (isDayLast && (isLessOrEqual(hoveredDay, endValue) || focusInput === 'start')) {\n hasRightRoundings = true;\n }\n\n const isDayHovered = hoveredDay === day;\n if (isDayHovered) {\n if (isDayBeforeFirstInPeriod) {\n hasLeftRoundings = true;\n }\n\n if (isDayAfterLastInPeriod) {\n hasRightRoundings = true;\n }\n }\n } else {\n if (isDayFirst) {\n hasLeftRoundings = true;\n }\n\n if (isDayLast) {\n hasRightRoundings = true;\n }\n }\n\n const renderDayProps = {\n ...props,\n [DayDateAttribute]: props.date,\n };\n\n let dataTid = null;\n if (isDayFirst) {\n dataTid = DateRangePickerDataTids.rangeStart;\n } else if (isDayLast) {\n dataTid = DateRangePickerDataTids.rangeEnd;\n }\n\n return (\n <div\n className={cx(\n styles.rangeCalendarDay(),\n css`\n background: ${isDayInPeriod && t.rangeCalendarCellBg};\n border-top-left-radius: ${hasLeftRoundings && t.calendarCellBorderRadius};\n border-bottom-left-radius: ${hasLeftRoundings && t.calendarCellBorderRadius};\n border-top-right-radius: ${hasRightRoundings && t.calendarCellBorderRadius};\n border-bottom-right-radius: ${hasRightRoundings && t.calendarCellBorderRadius};\n `,\n {\n [styles.rangeCalendarDayEnd(t)]: isDayFirst || isDayLast,\n [styles.rangeCalendarDayHoverInPeriod(t)]: isDayInPeriod,\n [styles.rangeCalendarDayInHoveredPeriod(t)]: isDayInHoveredPeriod,\n },\n )}\n data-tid={dataTid}\n >\n {renderDayFn ? renderDayFn(renderDayProps) : <CalendarDay {...renderDayProps} />}\n </div>\n );\n }\n }),\n);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useImperativeHandle","useRef","useState","useLayoutEffect","MobilePopup","useLocaleForControl","css","cx","ThemeContext","CommonWrapper","Calendar","CalendarDay","Popup","DateInput","isBetween","isGreater","isGreaterOrEqual","isLess","isLessOrEqual","ZIndex","getRootNode","getMenuPositions","Button","useResponsiveLayout","InternalDate","InternalDateGetter","ArrowAUpIcon16Light","NativeDateInput","forwardRefAndName","LocaleContext","isIOS","getFontSize","styles","DateRangePickerSeparator","DateRangePickerContext","DateRangePickerEnd","DateRangePickerStart","getDateRangePickerTheme","getMobileDateRangePickerTheme","DateRangePickerLocaleHelper","validateDateRangePicker","getStateForValue","DateRangePickerDataTids","root","start","end","popup","calendar","todayButton","startOptionalButton","endOptionalButton","mobileStart","mobileEnd","rangeStart","rangeEnd","DayDateAttribute","DateRangePicker","Object","assign","Start","End","Separator","validate","props","ref","_useResponsiveLayout","isMobile","locale","_useState","startValue","setStartValue","_useState2","startOptional","setStartOptional","_useState3","startDisabled","setStartDisabled","_useState4","endValue","setEndValue","_useState5","endOptional","setEndOptional","_useState6","endDisabled","setEndDisabled","_useState7","minDate","setMinDate","_useState8","maxDate","setMaxDate","_useState9","hoveredDay","setHoveredDay","_useState10","showCalendar","setShowCalendar","_useState11","focusInput","setFocusInput","dateRangePickerRef","calendarRef","startRef","endRef","mobileStartRef","mobileEndRef","mobileNativeStartRef","mobileNativeEndRef","isCalendarOpen","updateDateRangeValues","value","currentValues","currentStart","currentEnd","updatedState","isOpen","focus","close","open","inputType","setEmpty","type","scrollToMonth","month","year","_calendarRef$current","current","setTimeout","_currentFieldRef$curr4","isStart","currentFieldRef","useMobileNativeDatePicker","_currentFieldRef$curr","_currentFieldRef$curr2","click","_currentFieldRef$curr3","dateRangePickerContextProps","size","renderCalendar","theme","widthAuto","_cx","createElement","Provider","months","dayCellChooseDateAriaLabel","selectMonthAriaLabel","selectYearAriaLabel","selectChosenAriaLabel","renderDay","dayProps","renderCalendarRange","onValueChange","onMonthChange","className","calendarWidthAuto","renderMobileCalendar","_cx2","_cx3","opened","headerChildComponent","inputWrapperWidthFull","withIcon","width","inputVisuallyFocus","disabled","onFocus","onCloseRequest","footerChildComponent","renderButtons","getAnchorElement","menuAnchorElement","isValidElement","renderDesktopCalendar","hasShadow","priority","priorities","PopupMenu","positions","menuPos","menuAlign","anchorElement","margin","parseInt","datePickerMenuOffsetY","calendarWrapper","onMouseDown","e","preventDefault","onMouseMove","handleCalendarRangeMouseMove","today","setComponents","getTodayComponents","toString","withPad","withSeparator","hasOptionalButtons","buttonWrap","Fragment","onClick","startDateEmpty","endDateEmpty","enableTodayLink","icon","todayAriaLabel","renderMobileNativeDateInput","Consumer","inputWrapperWidth","_templateObject","_taggedTemplateLiteralLoose","role","style","children","hoveredElement","target","hasAttribute","date","String","getAttribute","t","renderDayFn","_extends2","_cx4","day","isDayFirst","isDayLast","isDayInPeriod","Boolean","hasHoveredDay","isDayInHoveredPeriod","hasLeftRoundings","hasRightRoundings","isDayBeforeFirstInPeriod","isDayAfterLastInPeriod","isDayHovered","renderDayProps","_extends","dataTid","rangeCalendarDay","_templateObject2","rangeCalendarCellBg","calendarCellBorderRadius","rangeCalendarDayEnd","rangeCalendarDayHoverInPeriod","rangeCalendarDayInHoveredPeriod"],"sources":["DateRangePicker.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState, useLayoutEffect, type AriaAttributes } from 'react';\n\nimport { MobilePopup } from '../../internal/MobilePopup';\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl';\nimport { css, cx } from '../../lib/theming/Emotion';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { CalendarDayProps } from '../Calendar';\nimport { Calendar, CalendarDay } from '../Calendar';\nimport { Popup } from '../../internal/Popup';\nimport { DateInput } from '../DateInput';\nimport { isBetween, isGreater, isGreaterOrEqual, isLess, isLessOrEqual } from '../../lib/date/comparison';\nimport type { DatePickerProps } from '../DatePicker';\nimport { ZIndex } from '../../internal/ZIndex';\nimport type { InstanceWithRootNode } from '../../lib/rootNode';\nimport { getRootNode } from '../../lib/rootNode';\nimport { getMenuPositions } from '../../lib/getMenuPositions';\nimport { Button } from '../Button';\nimport { useResponsiveLayout } from '../ResponsiveLayout';\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { InternalDateGetter } from '../../lib/date/InternalDateGetter';\nimport { ArrowAUpIcon16Light } from '../../internal/icons2022/ArrowAUpIcon/ArrowAUp16Light';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { LocaleContext } from '../../lib/locale';\nimport { isIOS } from '../../lib/client';\n\nimport { getFontSize, styles } from './DateRangePicker.styles';\nimport { DateRangePickerSeparator } from './DateRangePickerSeparator';\nimport type { DateRangePickerContextProps } from './DateRangePickerContext';\nimport { DateRangePickerContext } from './DateRangePickerContext';\nimport type { DateRangePickerInputType } from './DateRangePickerInput';\nimport { DateRangePickerEnd, DateRangePickerStart } from './DateRangePickerInput';\nimport { getDateRangePickerTheme, getMobileDateRangePickerTheme } from './DateRangePickerTheme';\nimport { DateRangePickerLocaleHelper } from './locale';\nimport { validateDateRangePicker } from './helpers/validateDateRangePicker';\nimport { getStateForValue } from './helpers/getStateForValue';\n\nexport const DateRangePickerDataTids = {\n root: 'DateRangePicker__root',\n start: 'DateRangePicker__start',\n end: 'DateRangePicker__end',\n popup: 'DateRangePicker__popup',\n calendar: 'DateRangePicker__calendar',\n todayButton: 'DateRangePicker__todayButton',\n startOptionalButton: 'DateRangePicker__startOptionalButton',\n endOptionalButton: 'DateRangePicker__endOptionalButton',\n mobileStart: 'DateRangePicker__mobileStart',\n mobileEnd: 'DateRangePicker__mobileEnd',\n rangeStart: 'DateRangePicker__rangeStart',\n rangeEnd: 'DateRangePicker__rangeEnd',\n} as const;\n\nconst DayDateAttribute = 'data-date-range-picker-day';\n\nexport interface DateRangePickerProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label' | 'aria-labelledby'>,\n Pick<\n DatePickerProps,\n | 'size'\n | 'width'\n | 'renderDay'\n | 'menuPos'\n | 'menuAlign'\n | 'useMobileNativeDatePicker'\n | 'enableTodayLink'\n | 'onMonthChange'\n > {\n /**\n * Элемент относительно которого открывается календарь,\n * Если передать значение `focused` - меню будет открываться у зафокусированного элемента.\n * Если передать ссылку на DOM элемент или ref - меню откроется относительно переданного элемента.\n */\n menuAnchorElement?: 'focused' | Element | React.ReactNode | React.RefObject<any>;\n /**\n * Элементы DateRangePicker:\n * `<DateRangePicker.Start />`\n * `<DateRangePicker.Separator />`\n * `<DateRangePicker.End />`\n */\n children: React.ReactNode;\n}\n\nexport interface DateRangePickerRef extends InstanceWithRootNode {\n open: (inputType?: DateRangePickerInputType) => void;\n close: () => void;\n scrollToMonth: (month: number, year: number) => void;\n}\n\nexport type DateRangePicker = DateRangePickerRef;\n\nexport const DateRangePicker = Object.assign(\n {\n Start: DateRangePickerStart,\n End: DateRangePickerEnd,\n Separator: DateRangePickerSeparator,\n validate: validateDateRangePicker,\n },\n forwardRefAndName<DateRangePickerRef, DateRangePickerProps>('DateRangePicker', (props: DateRangePickerProps, ref) => {\n const { isMobile } = useResponsiveLayout();\n const locale = useLocaleForControl('DateRangePicker', DateRangePickerLocaleHelper);\n\n const [startValue, setStartValue] = useState<string>();\n const [startOptional, setStartOptional] = useState(false);\n const [startDisabled, setStartDisabled] = useState(false);\n\n const [endValue, setEndValue] = useState<string>();\n const [endOptional, setEndOptional] = useState(false);\n const [endDisabled, setEndDisabled] = useState(false);\n\n const [minDate, setMinDate] = useState('');\n const [maxDate, setMaxDate] = useState('');\n\n const [hoveredDay, setHoveredDay] = useState<string | null>(null);\n const [showCalendar, setShowCalendar] = useState<boolean>(false);\n const [focusInput, setFocusInput] = useState<DateRangePickerInputType | null>(null);\n\n const dateRangePickerRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<Calendar>(null);\n const startRef = useRef<DateInput>(null);\n const endRef = useRef<DateInput>(null);\n const mobileStartRef = useRef<DateInput>(null);\n const mobileEndRef = useRef<DateInput>(null);\n const mobileNativeStartRef = useRef<NativeDateInput>(null);\n const mobileNativeEndRef = useRef<NativeDateInput>(null);\n const isCalendarOpen = !startDisabled && !endDisabled && showCalendar;\n\n const updateDateRangeValues = (value = '') => {\n const currentValues = {\n currentStart: startValue,\n currentEnd: endValue,\n minDate,\n maxDate,\n };\n const updatedState = getStateForValue(focusInput, value, currentValues);\n\n setStartValue(updatedState.start);\n setEndValue(updatedState.end);\n\n if (updatedState.isOpen && updatedState.focus) {\n focus(updatedState.focus);\n }\n\n if (!updatedState.isOpen) {\n close();\n }\n };\n\n const open = (inputType: DateRangePickerInputType = 'start') => {\n setFocusInput(inputType);\n setShowCalendar(true);\n };\n\n const close = () => {\n setShowCalendar(false);\n setHoveredDay(null);\n };\n\n const focus = (inputType: DateRangePickerInputType = 'start') => {\n setFocusInput(inputType);\n };\n\n const setEmpty = (type: DateRangePickerInputType) => {\n switch (type) {\n case 'start':\n setStartValue('');\n focus('end');\n break;\n\n case 'end':\n setEndValue('');\n close();\n break;\n }\n };\n\n useImperativeHandle(\n ref,\n () => ({\n open,\n close,\n scrollToMonth: (month, year) => {\n calendarRef.current?.scrollToMonth?.(month, year);\n },\n getRootNode: () => dateRangePickerRef.current,\n }),\n [],\n );\n\n useLayoutEffect(() => {\n if (!focusInput) {\n return;\n }\n\n // fix DateInput flushSync warning in React 18\n setTimeout(() => {\n const isStart = focusInput === 'start';\n let currentFieldRef;\n\n // Mobile Native Picker\n if (isMobile && props.useMobileNativeDatePicker) {\n currentFieldRef = isStart ? mobileNativeStartRef : mobileNativeEndRef;\n if (isIOS) {\n currentFieldRef.current?.focus();\n } else {\n // Android open native datepicker only via click\n currentFieldRef.current?.click();\n }\n return;\n }\n\n // Mobile\n if (isMobile) {\n currentFieldRef = isStart ? mobileStartRef : mobileEndRef;\n currentFieldRef.current?.focus();\n return;\n }\n\n // Desktop\n currentFieldRef = isStart ? startRef : endRef;\n currentFieldRef.current?.focus();\n });\n }, [focusInput]);\n\n const dateRangePickerContextProps: DateRangePickerContextProps = {\n startValue,\n startOptional,\n startDisabled,\n endValue,\n endOptional,\n endDisabled,\n minDate,\n maxDate,\n size: props.size,\n setStartValue,\n setStartOptional,\n setStartDisabled,\n setEndValue,\n setEndOptional,\n setEndDisabled,\n setMinDate,\n setMaxDate,\n setFocusInput,\n open,\n close,\n dateRangePickerRef,\n startRef,\n endRef,\n };\n\n const renderCalendar = (theme: Theme, widthAuto = false) => (\n <LocaleContext.Provider\n value={{\n locale: {\n Calendar: {\n months: locale.months,\n dayCellChooseDateAriaLabel: locale.dayCellChooseDateAriaLabel,\n selectMonthAriaLabel: locale.selectMonthAriaLabel,\n selectYearAriaLabel: locale.selectYearAriaLabel,\n selectChosenAriaLabel: locale.selectChosenAriaLabel,\n },\n },\n }}\n >\n <Calendar\n value={focusInput === 'start' ? startValue : endValue}\n minDate={minDate}\n maxDate={maxDate}\n renderDay={(dayProps) => renderCalendarRange(dayProps, theme, props.renderDay)}\n onValueChange={(value) => updateDateRangeValues(value)}\n ref={calendarRef}\n onMonthChange={props.onMonthChange}\n className={cx({ [styles.calendarWidthAuto()]: widthAuto })}\n />\n </LocaleContext.Provider>\n );\n\n const renderMobileCalendar = (theme: Theme) => (\n <MobilePopup\n opened\n headerChildComponent={\n <div className={cx(styles.root(theme), styles.inputWrapperWidthFull())}>\n <DateInput\n withIcon\n value={startValue}\n width=\"auto\"\n size=\"medium\"\n className={cx({ [styles.inputVisuallyFocus(theme)]: focusInput === 'start' })}\n disabled={startDisabled}\n onValueChange={setStartValue}\n onFocus={() => setFocusInput('start')}\n ref={mobileStartRef}\n data-tid={DateRangePickerDataTids.mobileStart}\n />\n <DateRangePicker.Separator />\n <DateInput\n withIcon\n value={endValue}\n width=\"auto\"\n size=\"medium\"\n className={cx({ [styles.inputVisuallyFocus(theme)]: focusInput === 'end' })}\n disabled={endDisabled}\n onValueChange={setEndValue}\n onFocus={() => setFocusInput('end')}\n ref={mobileEndRef}\n data-tid={DateRangePickerDataTids.mobileEnd}\n />\n </div>\n }\n onCloseRequest={() => close()}\n footerChildComponent={renderButtons()}\n >\n <ThemeContext.Provider value={getMobileDateRangePickerTheme(theme)}>\n {renderCalendar(theme, true)}\n </ThemeContext.Provider>\n </MobilePopup>\n );\n\n const getAnchorElement = () => {\n const { menuAnchorElement } = props;\n if (menuAnchorElement === 'focused') {\n return getRootNode(focusInput === 'start' ? startRef.current : endRef.current);\n }\n\n if (React.isValidElement(menuAnchorElement)) {\n return menuAnchorElement;\n }\n\n if (menuAnchorElement && typeof menuAnchorElement === 'object' && 'current' in menuAnchorElement) {\n return getRootNode(menuAnchorElement.current);\n }\n\n return getRootNode(startRef.current) || getRootNode(endRef.current) || getRootNode(dateRangePickerRef.current);\n };\n\n const renderDesktopCalendar = (theme: Theme) => (\n <Popup\n opened\n hasShadow\n priority={ZIndex.priorities.PopupMenu}\n positions={getMenuPositions(props.menuPos, props.menuAlign)}\n data-tid={DateRangePickerDataTids.root}\n anchorElement={getAnchorElement()}\n margin={parseInt(theme.datePickerMenuOffsetY)}\n >\n <div\n className={styles.calendarWrapper(theme)}\n onMouseDown={(e) => e.preventDefault()}\n onMouseMove={handleCalendarRangeMouseMove}\n >\n {renderCalendar(theme)}\n {renderButtons()}\n </div>\n </Popup>\n );\n\n const renderButtons = () => {\n const today = new InternalDate(locale)\n .setComponents(InternalDateGetter.getTodayComponents())\n .toString({ withPad: true, withSeparator: true });\n\n const hasOptionalButtons = startOptional || endOptional;\n return (\n <div className={cx(styles.buttonWrap())}>\n {hasOptionalButtons && (\n <>\n {focusInput === 'start' && startOptional && (\n <Button\n width=\"100%\"\n data-tid={DateRangePickerDataTids.startOptionalButton}\n onClick={() => setEmpty('start')}\n >\n {locale.startDateEmpty}\n </Button>\n )}\n {focusInput === 'end' && endOptional && (\n <Button\n width=\"100%\"\n data-tid={DateRangePickerDataTids.endOptionalButton}\n onClick={() => setEmpty('end')}\n >\n {locale.endDateEmpty}\n </Button>\n )}\n </>\n )}\n\n {props.enableTodayLink && (\n <Button\n icon={<ArrowAUpIcon16Light />}\n aria-label={locale.todayAriaLabel}\n data-tid={DateRangePickerDataTids.todayButton}\n onClick={() => updateDateRangeValues(today)}\n >\n {!hasOptionalButtons && locale.today}\n </Button>\n )}\n </div>\n );\n };\n\n const renderMobileNativeDateInput = () => (\n <>\n <NativeDateInput\n value={startValue}\n minDate={minDate}\n maxDate={maxDate}\n onValueChange={setStartValue}\n disabled={startDisabled}\n ref={mobileNativeStartRef}\n />\n <NativeDateInput\n value={endValue}\n minDate={minDate}\n maxDate={maxDate}\n onValueChange={setEndValue}\n disabled={endDisabled}\n ref={mobileNativeEndRef}\n />\n </>\n );\n\n return (\n <ThemeContext.Consumer>\n {(theme) => (\n <ThemeContext.Provider value={getDateRangePickerTheme(theme)}>\n <DateRangePickerContext.Provider value={dateRangePickerContextProps}>\n <CommonWrapper {...props}>\n <div\n className={cx(\n styles.root(theme),\n styles.inputWrapperWidth(theme),\n css`\n font-size: ${getFontSize(theme, props.size)};\n `,\n )}\n role=\"group\"\n aria-describedby={props['aria-describedby']}\n aria-label={props['aria-label']}\n aria-labelledby={props['aria-labelledby']}\n data-tid={DateRangePickerDataTids.root}\n ref={dateRangePickerRef}\n style={{ width: props.width }}\n >\n {props.children}\n\n {props.useMobileNativeDatePicker && isMobile\n ? renderMobileNativeDateInput()\n : isCalendarOpen && (isMobile ? renderMobileCalendar(theme) : renderDesktopCalendar(theme))}\n </div>\n </CommonWrapper>\n </DateRangePickerContext.Provider>\n </ThemeContext.Provider>\n )}\n </ThemeContext.Consumer>\n );\n\n // Use parent mousemove event instead each CalendarDay's mouseenter / mouseover\n function handleCalendarRangeMouseMove(e: React.MouseEvent<HTMLDivElement, MouseEvent>) {\n if (!startValue && !endValue) {\n return;\n }\n\n const hoveredElement = e.target as HTMLElement;\n if (!hoveredElement.hasAttribute(DayDateAttribute) && hoveredDay === null) {\n return;\n }\n\n const date = String(hoveredElement?.getAttribute(DayDateAttribute)) || null;\n setHoveredDay(date);\n }\n\n function renderCalendarRange(\n props: CalendarDayProps,\n t: Theme,\n renderDayFn: ((props: CalendarDayProps) => React.ReactElement) | undefined,\n ) {\n const day = props.date;\n\n const isDayFirst = startValue === day;\n const isDayLast = endValue === day;\n const isDayInPeriod = Boolean(startValue && endValue && isBetween(day, startValue, endValue));\n\n const hasHoveredDay = hoveredDay !== null;\n const isDayInHoveredPeriod =\n hasHoveredDay &&\n Boolean(\n (focusInput === 'start' && endValue && isBetween(day, hoveredDay, endValue)) ||\n (focusInput === 'end' && startValue && isBetween(day, startValue, hoveredDay)),\n );\n\n let hasLeftRoundings;\n let hasRightRoundings;\n\n if (hasHoveredDay) {\n const isDayBeforeFirstInPeriod = startValue ? isLess(hoveredDay, startValue) : endValue;\n const isDayAfterLastInPeriod = endValue ? isGreater(hoveredDay, endValue) : startValue;\n\n if (isDayFirst && (isGreaterOrEqual(hoveredDay, startValue) || focusInput === 'end')) {\n hasLeftRoundings = true;\n }\n\n if (isDayLast && (isLessOrEqual(hoveredDay, endValue) || focusInput === 'start')) {\n hasRightRoundings = true;\n }\n\n const isDayHovered = hoveredDay === day;\n if (isDayHovered) {\n if (isDayBeforeFirstInPeriod) {\n hasLeftRoundings = true;\n }\n\n if (isDayAfterLastInPeriod) {\n hasRightRoundings = true;\n }\n }\n } else {\n if (isDayFirst) {\n hasLeftRoundings = true;\n }\n\n if (isDayLast) {\n hasRightRoundings = true;\n }\n }\n\n const renderDayProps = {\n ...props,\n [DayDateAttribute]: props.date,\n };\n\n let dataTid = null;\n if (isDayFirst) {\n dataTid = DateRangePickerDataTids.rangeStart;\n } else if (isDayLast) {\n dataTid = DateRangePickerDataTids.rangeEnd;\n }\n\n return (\n <div\n className={cx(\n styles.rangeCalendarDay(),\n css`\n background: ${isDayInPeriod && t.rangeCalendarCellBg};\n border-top-left-radius: ${hasLeftRoundings && t.calendarCellBorderRadius};\n border-bottom-left-radius: ${hasLeftRoundings && t.calendarCellBorderRadius};\n border-top-right-radius: ${hasRightRoundings && t.calendarCellBorderRadius};\n border-bottom-right-radius: ${hasRightRoundings && t.calendarCellBorderRadius};\n `,\n {\n [styles.rangeCalendarDayEnd(t)]: isDayFirst || isDayLast,\n [styles.rangeCalendarDayHoverInPeriod(t)]: isDayInPeriod,\n [styles.rangeCalendarDayInHoveredPeriod(t)]: isDayInHoveredPeriod,\n },\n )}\n data-tid={dataTid}\n >\n {renderDayFn ? renderDayFn(renderDayProps) : <CalendarDay {...renderDayProps} />}\n </div>\n );\n }\n }),\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,6 +2,8 @@ import React, { type AriaAttributes } from 'react';
|
|
|
2
2
|
import type { CommonProps } from '../../internal/CommonWrapper';
|
|
3
3
|
import { DateInput } from '../DateInput';
|
|
4
4
|
import type { DatePickerProps } from '../DatePicker';
|
|
5
|
+
import type { InstanceWithRootNode } from '../../lib/rootNode';
|
|
6
|
+
import type { DateRangePickerInputType } from './DateRangePickerInput';
|
|
5
7
|
import { validateDateRangePicker } from './helpers/validateDateRangePicker';
|
|
6
8
|
export declare const DateRangePickerDataTids: {
|
|
7
9
|
readonly root: "DateRangePicker__root";
|
|
@@ -32,6 +34,12 @@ export interface DateRangePickerProps extends CommonProps, Pick<AriaAttributes,
|
|
|
32
34
|
*/
|
|
33
35
|
children: React.ReactNode;
|
|
34
36
|
}
|
|
37
|
+
export interface DateRangePickerRef extends InstanceWithRootNode {
|
|
38
|
+
open: (inputType?: DateRangePickerInputType) => void;
|
|
39
|
+
close: () => void;
|
|
40
|
+
scrollToMonth: (month: number, year: number) => void;
|
|
41
|
+
}
|
|
42
|
+
export type DateRangePicker = DateRangePickerRef;
|
|
35
43
|
export declare const DateRangePicker: {
|
|
36
44
|
Start: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<DateInput, {
|
|
37
45
|
style?: React.CSSProperties | undefined;
|
|
@@ -87,4 +95,4 @@ export declare const DateRangePicker: {
|
|
|
87
95
|
}> & Record<never, never>;
|
|
88
96
|
Separator: () => React.JSX.Element;
|
|
89
97
|
validate: typeof validateDateRangePicker;
|
|
90
|
-
} & import("../../lib/forwardRefAndName").ReactUIComponentWithRef<
|
|
98
|
+
} & import("../../lib/forwardRefAndName").ReactUIComponentWithRef<DateRangePickerRef, DateRangePickerProps> & Record<never, never>;
|
|
@@ -78,11 +78,12 @@ var DateRangePickerInput = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
78
78
|
setEndValue(value || '');
|
|
79
79
|
}
|
|
80
80
|
},
|
|
81
|
-
onClick: function onClick() {
|
|
81
|
+
onClick: function onClick(e) {
|
|
82
82
|
if (props.disabled) {
|
|
83
83
|
return;
|
|
84
84
|
}
|
|
85
85
|
open(props.type);
|
|
86
|
+
props.onClick == null || props.onClick(e);
|
|
86
87
|
},
|
|
87
88
|
onFocus: function onFocus(e) {
|
|
88
89
|
open(props.type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useContext","useEffect","useImperativeHandle","useLocaleForControl","DateInput","useResponsiveLayout","forwardRefAndName","isNonNullable","DateRangePickerContext","DateRangePickerDataTids","DateRangePickerLocaleHelper","DateRangePickerInput","props","ref","_useContext","minDate","maxDate","startValue","endValue","size","setStartValue","setStartOptional","setStartDisabled","setEndValue","setEndOptional","setEndDisabled","setMinDate","setMaxDate","setFocusInput","open","close","dateRangePickerRef","startRef","endRef","isStart","type","isEnd","locale","_useResponsiveLayout","isMobile","current","value","optional","disabled","onValueChange","commonProps","_extends","withIcon","onClick","onFocus","e","onBlur","_dateRangePickerRef$c","nextFocusedElement","relatedTarget","contains","createElement","start","startDateLabel","end","endDateLabel","DateRangePickerStart","DateRangePickerEnd"],"sources":["DateRangePickerInput.tsx"],"sourcesContent":["import type { Ref } from 'react';\nimport React, { forwardRef, useContext, useEffect, useImperativeHandle } from 'react';\n\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl';\nimport type { DateInputProps } from '../DateInput';\nimport { DateInput } from '../DateInput';\nimport { useResponsiveLayout } from '../ResponsiveLayout';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { isNonNullable } from '../../lib/utils';\n\nimport { DateRangePickerContext } from './DateRangePickerContext';\nimport { DateRangePickerDataTids } from './DateRangePicker';\nimport { DateRangePickerLocaleHelper } from './locale';\n\nexport type DateRangePickerInputType = 'start' | 'end';\n\nexport interface DateRangePickerInputProps extends Omit<DateInputProps, 'value'> {\n type: DateRangePickerInputType;\n value?: string | null;\n optional?: boolean;\n}\n\ntype DateRangePickerInputWithoutType = Omit<DateRangePickerInputProps, 'type'>;\n\nconst DateRangePickerInput = forwardRef((props: DateRangePickerInputProps, ref: Ref<DateInput | null>) => {\n const {\n minDate,\n maxDate,\n startValue,\n endValue,\n size,\n setStartValue,\n setStartOptional,\n setStartDisabled,\n setEndValue,\n setEndOptional,\n setEndDisabled,\n setMinDate,\n setMaxDate,\n setFocusInput,\n open,\n close,\n dateRangePickerRef,\n startRef,\n endRef,\n } = useContext(DateRangePickerContext);\n const isStart = props.type === 'start';\n const isEnd = props.type === 'end';\n const locale = useLocaleForControl('DateRangePicker', DateRangePickerLocaleHelper);\n\n const { isMobile } = useResponsiveLayout();\n\n useImperativeHandle(ref, () => (isStart ? startRef.current : endRef.current), []);\n\n useEffect(() => {\n if (isStart && startValue !== props.value) {\n setStartValue(props.value || '');\n } else if (isEnd && endValue !== props.value) {\n setEndValue(props.value || '');\n }\n }, [props.value]);\n\n useEffect(() => {\n if (isStart) {\n setStartOptional(props.optional || false);\n setStartDisabled(props.disabled || false);\n setMinDate(props.minDate || '');\n } else if (isEnd) {\n setEndOptional(props.optional || false);\n setEndDisabled(props.disabled || false);\n setMaxDate(props.maxDate || '');\n }\n }, [props.optional, props.disabled, props.minDate, props.maxDate]);\n\n useEffect(() => {\n if (isStart && startValue !== props.value && isNonNullable(startValue)) {\n props.onValueChange?.(startValue);\n }\n }, [startValue]);\n\n useEffect(() => {\n if (isEnd && endValue !== props.value && isNonNullable(endValue)) {\n props.onValueChange?.(endValue);\n }\n }, [endValue]);\n\n const commonProps: DateRangePickerInputProps = {\n withIcon: true,\n size,\n minDate,\n maxDate,\n ...props,\n onValueChange: (value) => {\n if (isStart) {\n setStartValue(value || '');\n } else if (isEnd) {\n setEndValue(value || '');\n }\n },\n onClick: () => {\n if (props.disabled) {\n return;\n }\n open(props.type);\n },\n onFocus: (e) => {\n open(props.type);\n props.onFocus?.(e);\n },\n onBlur: (e) => {\n props.onBlur?.(e);\n\n if (isMobile) {\n return;\n }\n const nextFocusedElement = e.relatedTarget;\n if (!dateRangePickerRef.current?.contains(nextFocusedElement)) {\n close();\n }\n setFocusInput(null);\n },\n };\n\n switch (props.type) {\n case 'start':\n return (\n <DateInput\n {...commonProps}\n value={props.value || ''}\n data-tid={props['data-tid'] || DateRangePickerDataTids.start}\n aria-label={props['aria-label'] || locale.startDateLabel}\n ref={startRef}\n />\n );\n case 'end':\n return (\n <DateInput\n {...commonProps}\n value={props.value || ''}\n data-tid={props['data-tid'] || DateRangePickerDataTids.end}\n aria-label={props['aria-label'] || locale.endDateLabel}\n ref={endRef}\n />\n );\n }\n});\n\nexport const DateRangePickerStart = forwardRefAndName(\n 'DateRangePickerStart',\n (props: DateRangePickerInputWithoutType, ref: Ref<DateInput>) => (\n <DateRangePickerInput type=\"start\" {...props} ref={ref} />\n ),\n);\n\nexport const DateRangePickerEnd = forwardRefAndName(\n 'DateRangePickerEnd',\n (props: DateRangePickerInputWithoutType, ref: Ref<DateInput>) => (\n <DateRangePickerInput type=\"end\" {...props} ref={ref} />\n ),\n);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useContext","useEffect","useImperativeHandle","useLocaleForControl","DateInput","useResponsiveLayout","forwardRefAndName","isNonNullable","DateRangePickerContext","DateRangePickerDataTids","DateRangePickerLocaleHelper","DateRangePickerInput","props","ref","_useContext","minDate","maxDate","startValue","endValue","size","setStartValue","setStartOptional","setStartDisabled","setEndValue","setEndOptional","setEndDisabled","setMinDate","setMaxDate","setFocusInput","open","close","dateRangePickerRef","startRef","endRef","isStart","type","isEnd","locale","_useResponsiveLayout","isMobile","current","value","optional","disabled","onValueChange","commonProps","_extends","withIcon","onClick","e","onFocus","onBlur","_dateRangePickerRef$c","nextFocusedElement","relatedTarget","contains","createElement","start","startDateLabel","end","endDateLabel","DateRangePickerStart","DateRangePickerEnd"],"sources":["DateRangePickerInput.tsx"],"sourcesContent":["import type { Ref } from 'react';\nimport React, { forwardRef, useContext, useEffect, useImperativeHandle } from 'react';\n\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl';\nimport type { DateInputProps } from '../DateInput';\nimport { DateInput } from '../DateInput';\nimport { useResponsiveLayout } from '../ResponsiveLayout';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { isNonNullable } from '../../lib/utils';\n\nimport { DateRangePickerContext } from './DateRangePickerContext';\nimport { DateRangePickerDataTids } from './DateRangePicker';\nimport { DateRangePickerLocaleHelper } from './locale';\n\nexport type DateRangePickerInputType = 'start' | 'end';\n\nexport interface DateRangePickerInputProps extends Omit<DateInputProps, 'value'> {\n type: DateRangePickerInputType;\n value?: string | null;\n optional?: boolean;\n}\n\ntype DateRangePickerInputWithoutType = Omit<DateRangePickerInputProps, 'type'>;\n\nconst DateRangePickerInput = forwardRef((props: DateRangePickerInputProps, ref: Ref<DateInput | null>) => {\n const {\n minDate,\n maxDate,\n startValue,\n endValue,\n size,\n setStartValue,\n setStartOptional,\n setStartDisabled,\n setEndValue,\n setEndOptional,\n setEndDisabled,\n setMinDate,\n setMaxDate,\n setFocusInput,\n open,\n close,\n dateRangePickerRef,\n startRef,\n endRef,\n } = useContext(DateRangePickerContext);\n const isStart = props.type === 'start';\n const isEnd = props.type === 'end';\n const locale = useLocaleForControl('DateRangePicker', DateRangePickerLocaleHelper);\n\n const { isMobile } = useResponsiveLayout();\n\n useImperativeHandle(ref, () => (isStart ? startRef.current : endRef.current), []);\n\n useEffect(() => {\n if (isStart && startValue !== props.value) {\n setStartValue(props.value || '');\n } else if (isEnd && endValue !== props.value) {\n setEndValue(props.value || '');\n }\n }, [props.value]);\n\n useEffect(() => {\n if (isStart) {\n setStartOptional(props.optional || false);\n setStartDisabled(props.disabled || false);\n setMinDate(props.minDate || '');\n } else if (isEnd) {\n setEndOptional(props.optional || false);\n setEndDisabled(props.disabled || false);\n setMaxDate(props.maxDate || '');\n }\n }, [props.optional, props.disabled, props.minDate, props.maxDate]);\n\n useEffect(() => {\n if (isStart && startValue !== props.value && isNonNullable(startValue)) {\n props.onValueChange?.(startValue);\n }\n }, [startValue]);\n\n useEffect(() => {\n if (isEnd && endValue !== props.value && isNonNullable(endValue)) {\n props.onValueChange?.(endValue);\n }\n }, [endValue]);\n\n const commonProps: DateRangePickerInputProps = {\n withIcon: true,\n size,\n minDate,\n maxDate,\n ...props,\n onValueChange: (value) => {\n if (isStart) {\n setStartValue(value || '');\n } else if (isEnd) {\n setEndValue(value || '');\n }\n },\n onClick: (e) => {\n if (props.disabled) {\n return;\n }\n open(props.type);\n props.onClick?.(e);\n },\n onFocus: (e) => {\n open(props.type);\n props.onFocus?.(e);\n },\n onBlur: (e) => {\n props.onBlur?.(e);\n\n if (isMobile) {\n return;\n }\n const nextFocusedElement = e.relatedTarget;\n if (!dateRangePickerRef.current?.contains(nextFocusedElement)) {\n close();\n }\n setFocusInput(null);\n },\n };\n\n switch (props.type) {\n case 'start':\n return (\n <DateInput\n {...commonProps}\n value={props.value || ''}\n data-tid={props['data-tid'] || DateRangePickerDataTids.start}\n aria-label={props['aria-label'] || locale.startDateLabel}\n ref={startRef}\n />\n );\n case 'end':\n return (\n <DateInput\n {...commonProps}\n value={props.value || ''}\n data-tid={props['data-tid'] || DateRangePickerDataTids.end}\n aria-label={props['aria-label'] || locale.endDateLabel}\n ref={endRef}\n />\n );\n }\n});\n\nexport const DateRangePickerStart = forwardRefAndName(\n 'DateRangePickerStart',\n (props: DateRangePickerInputWithoutType, ref: Ref<DateInput>) => (\n <DateRangePickerInput type=\"start\" {...props} ref={ref} />\n ),\n);\n\nexport const DateRangePickerEnd = forwardRefAndName(\n 'DateRangePickerEnd',\n (props: DateRangePickerInputWithoutType, ref: Ref<DateInput>) => (\n <DateRangePickerInput type=\"end\" {...props} ref={ref} />\n ),\n);\n"],"mappings":"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","ignoreList":[]}
|