@alfalab/core-components-date-range-input 3.5.28 → 49.0.0-snapshot-fbb690e

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.
Files changed (162) hide show
  1. package/Component.responsive.d.ts +30 -6
  2. package/Component.responsive.js +4 -3
  3. package/Component.responsive.js.map +1 -0
  4. package/components/date-range-input/Component.d.ts +208 -11
  5. package/components/date-range-input/Component.js +26 -27
  6. package/components/date-range-input/Component.js.map +1 -0
  7. package/components/date-range-input/index.css +11 -51
  8. package/components/date-range-input/index.d.ts +1 -1
  9. package/components/date-range-input/index.js +3 -2
  10. package/components/date-range-input/index.js.map +1 -0
  11. package/components/date-range-input/index.module.css.js +8 -0
  12. package/components/date-range-input/index.module.css.js.map +1 -0
  13. package/cssm/Component.responsive.d.ts +30 -6
  14. package/cssm/Component.responsive.js +6 -5
  15. package/cssm/Component.responsive.js.map +1 -0
  16. package/cssm/components/date-range-input/Component.d.ts +208 -11
  17. package/cssm/components/date-range-input/Component.js +24 -23
  18. package/cssm/components/date-range-input/Component.js.map +1 -0
  19. package/cssm/components/date-range-input/index.d.ts +1 -1
  20. package/cssm/components/date-range-input/index.js +3 -2
  21. package/cssm/components/date-range-input/index.js.map +1 -0
  22. package/cssm/components/date-range-input/index.module.css +5 -44
  23. package/cssm/desktop/Component.desktop.d.ts +9 -5
  24. package/cssm/desktop/Component.desktop.js +5 -4
  25. package/cssm/desktop/Component.desktop.js.map +1 -0
  26. package/cssm/desktop/index.d.ts +1 -2
  27. package/cssm/desktop/index.js +3 -2
  28. package/cssm/desktop/index.js.map +1 -0
  29. package/cssm/index.d.ts +2 -3
  30. package/cssm/index.js +1 -0
  31. package/cssm/index.js.map +1 -0
  32. package/cssm/mobile/Component.mobile.d.ts +9 -5
  33. package/cssm/mobile/Component.mobile.js +5 -4
  34. package/cssm/mobile/Component.mobile.js.map +1 -0
  35. package/cssm/mobile/index.d.ts +1 -2
  36. package/cssm/mobile/index.js +3 -2
  37. package/cssm/mobile/index.js.map +1 -0
  38. package/cssm/utils/format.d.ts +7 -8
  39. package/cssm/utils/format.js +1 -0
  40. package/cssm/utils/format.js.map +1 -0
  41. package/cssm/utils/index.d.ts +1 -1
  42. package/cssm/utils/index.js +9 -8
  43. package/cssm/utils/index.js.map +1 -0
  44. package/desktop/Component.desktop.d.ts +9 -5
  45. package/desktop/Component.desktop.js +5 -4
  46. package/desktop/Component.desktop.js.map +1 -0
  47. package/desktop/index.d.ts +1 -2
  48. package/desktop/index.js +3 -2
  49. package/desktop/index.js.map +1 -0
  50. package/esm/Component.responsive.d.ts +30 -6
  51. package/esm/Component.responsive.js +1 -0
  52. package/esm/Component.responsive.js.map +1 -0
  53. package/esm/components/date-range-input/Component.d.ts +208 -11
  54. package/esm/components/date-range-input/Component.js +2 -3
  55. package/esm/components/date-range-input/Component.js.map +1 -0
  56. package/esm/components/date-range-input/index.css +11 -51
  57. package/esm/components/date-range-input/index.d.ts +1 -1
  58. package/esm/components/date-range-input/index.js +1 -0
  59. package/esm/components/date-range-input/index.js.map +1 -0
  60. package/esm/components/date-range-input/index.module.css.js +6 -0
  61. package/esm/components/date-range-input/index.module.css.js.map +1 -0
  62. package/esm/desktop/Component.desktop.d.ts +9 -5
  63. package/esm/desktop/Component.desktop.js +1 -0
  64. package/esm/desktop/Component.desktop.js.map +1 -0
  65. package/esm/desktop/index.d.ts +1 -2
  66. package/esm/desktop/index.js +1 -0
  67. package/esm/desktop/index.js.map +1 -0
  68. package/esm/index.d.ts +2 -3
  69. package/esm/index.js +1 -0
  70. package/esm/index.js.map +1 -0
  71. package/esm/mobile/Component.mobile.d.ts +9 -5
  72. package/esm/mobile/Component.mobile.js +1 -0
  73. package/esm/mobile/Component.mobile.js.map +1 -0
  74. package/esm/mobile/index.d.ts +1 -2
  75. package/esm/mobile/index.js +1 -0
  76. package/esm/mobile/index.js.map +1 -0
  77. package/esm/utils/format.d.ts +7 -8
  78. package/esm/utils/format.js +1 -0
  79. package/esm/utils/format.js.map +1 -0
  80. package/esm/utils/index.d.ts +1 -1
  81. package/esm/utils/index.js +1 -0
  82. package/esm/utils/index.js.map +1 -0
  83. package/index.d.ts +2 -3
  84. package/index.js +1 -0
  85. package/index.js.map +1 -0
  86. package/mobile/Component.mobile.d.ts +9 -5
  87. package/mobile/Component.mobile.js +5 -4
  88. package/mobile/Component.mobile.js.map +1 -0
  89. package/mobile/index.d.ts +1 -2
  90. package/mobile/index.js +3 -2
  91. package/mobile/index.js.map +1 -0
  92. package/modern/Component.responsive.d.ts +30 -6
  93. package/modern/Component.responsive.js +1 -0
  94. package/modern/Component.responsive.js.map +1 -0
  95. package/modern/components/date-range-input/Component.d.ts +208 -11
  96. package/modern/components/date-range-input/Component.js +2 -3
  97. package/modern/components/date-range-input/Component.js.map +1 -0
  98. package/modern/components/date-range-input/index.css +11 -51
  99. package/modern/components/date-range-input/index.d.ts +1 -1
  100. package/modern/components/date-range-input/index.js +1 -0
  101. package/modern/components/date-range-input/index.js.map +1 -0
  102. package/modern/components/date-range-input/index.module.css.js +6 -0
  103. package/modern/components/date-range-input/index.module.css.js.map +1 -0
  104. package/modern/desktop/Component.desktop.d.ts +9 -5
  105. package/modern/desktop/Component.desktop.js +1 -0
  106. package/modern/desktop/Component.desktop.js.map +1 -0
  107. package/modern/desktop/index.d.ts +1 -2
  108. package/modern/desktop/index.js +1 -0
  109. package/modern/desktop/index.js.map +1 -0
  110. package/modern/index.d.ts +2 -3
  111. package/modern/index.js +1 -0
  112. package/modern/index.js.map +1 -0
  113. package/modern/mobile/Component.mobile.d.ts +9 -5
  114. package/modern/mobile/Component.mobile.js +1 -0
  115. package/modern/mobile/Component.mobile.js.map +1 -0
  116. package/modern/mobile/index.d.ts +1 -2
  117. package/modern/mobile/index.js +1 -0
  118. package/modern/mobile/index.js.map +1 -0
  119. package/modern/utils/format.d.ts +7 -8
  120. package/modern/utils/format.js +1 -0
  121. package/modern/utils/format.js.map +1 -0
  122. package/modern/utils/index.d.ts +1 -1
  123. package/modern/utils/index.js +1 -0
  124. package/modern/utils/index.js.map +1 -0
  125. package/moderncssm/Component.responsive.d.ts +30 -6
  126. package/moderncssm/Component.responsive.js +1 -0
  127. package/moderncssm/Component.responsive.js.map +1 -0
  128. package/moderncssm/components/date-range-input/Component.d.ts +208 -11
  129. package/moderncssm/components/date-range-input/Component.js +1 -0
  130. package/moderncssm/components/date-range-input/Component.js.map +1 -0
  131. package/moderncssm/components/date-range-input/index.d.ts +1 -1
  132. package/moderncssm/components/date-range-input/index.js +1 -0
  133. package/moderncssm/components/date-range-input/index.js.map +1 -0
  134. package/moderncssm/components/date-range-input/index.module.css +0 -21
  135. package/moderncssm/desktop/Component.desktop.d.ts +9 -5
  136. package/moderncssm/desktop/Component.desktop.js +1 -0
  137. package/moderncssm/desktop/Component.desktop.js.map +1 -0
  138. package/moderncssm/desktop/index.d.ts +1 -2
  139. package/moderncssm/desktop/index.js +1 -0
  140. package/moderncssm/desktop/index.js.map +1 -0
  141. package/moderncssm/index.d.ts +2 -3
  142. package/moderncssm/index.js +1 -0
  143. package/moderncssm/index.js.map +1 -0
  144. package/moderncssm/mobile/Component.mobile.d.ts +9 -5
  145. package/moderncssm/mobile/Component.mobile.js +1 -0
  146. package/moderncssm/mobile/Component.mobile.js.map +1 -0
  147. package/moderncssm/mobile/index.d.ts +1 -2
  148. package/moderncssm/mobile/index.js +1 -0
  149. package/moderncssm/mobile/index.js.map +1 -0
  150. package/moderncssm/utils/format.d.ts +7 -8
  151. package/moderncssm/utils/format.js +1 -0
  152. package/moderncssm/utils/format.js.map +1 -0
  153. package/moderncssm/utils/index.d.ts +1 -1
  154. package/moderncssm/utils/index.js +1 -0
  155. package/moderncssm/utils/index.js.map +1 -0
  156. package/package.json +9 -10
  157. package/utils/format.d.ts +7 -8
  158. package/utils/format.js +1 -0
  159. package/utils/format.js.map +1 -0
  160. package/utils/index.d.ts +1 -1
  161. package/utils/index.js +9 -8
  162. package/utils/index.js.map +1 -0
@@ -1,10 +1,14 @@
1
- /// <reference types="react" />
2
1
  import React from 'react';
3
- import { ConditionalProps, DateRangeInputProps } from "../components/date-range-input/index";
4
- type DateRangeInputDesktopProps = Omit<DateRangeInputProps, 'view' | 'picker' | 'onClose' | 'InputComponent'> & ConditionalProps;
2
+ import { ConditionalProps, DateRangeInputProps } from '../components/date-range-input';
3
+ export declare type DateRangeInputDesktopProps = Omit<DateRangeInputProps, 'view' | 'picker' | 'onClose' | 'InputComponent'> & ConditionalProps;
5
4
  /**
6
5
  * @deprecated
7
6
  * use UniversalDateInput instead
8
7
  */
9
- declare const DateRangeInputDesktop: React.ForwardRefExoticComponent<DateRangeInputDesktopProps & React.RefAttributes<HTMLInputElement>>;
10
- export { DateRangeInputDesktopProps, DateRangeInputDesktop };
8
+ export declare const DateRangeInputDesktop: React.ForwardRefExoticComponent<(Omit<Omit<DateRangeInputProps, "view" | "picker" | "onClose" | "InputComponent"> & {
9
+ picker: true;
10
+ onClose?: (() => void) | undefined;
11
+ }, "ref"> | Omit<Omit<DateRangeInputProps, "view" | "picker" | "onClose" | "InputComponent"> & {
12
+ picker?: false | undefined;
13
+ onClose?: undefined;
14
+ }, "ref">) & React.RefAttributes<HTMLInputElement>>;
@@ -10,3 +10,4 @@ import { DateRangeInput } from '../components/date-range-input/Component.js';
10
10
  const DateRangeInputDesktop = forwardRef((props, ref) => (React.createElement(DateRangeInput, { InputComponent: InputDesktop, Calendar: CalendarDesktop, ...props, ref: ref })));
11
11
 
12
12
  export { DateRangeInputDesktop };
13
+ //# sourceMappingURL=Component.desktop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { CalendarDesktop } from '@alfalab/core-components-calendar/desktop';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { InputProps } from '@alfalab/core-components-input';\nimport { InputDesktop } from '@alfalab/core-components-input/desktop';\n\nimport {\n ConditionalProps,\n DateRangeInput,\n DateRangeInputProps,\n} from '../components/date-range-input';\n\nexport type DateRangeInputDesktopProps = Omit<\n DateRangeInputProps,\n 'view' | 'picker' | 'onClose' | 'InputComponent'\n> &\n ConditionalProps;\n\n/**\n * @deprecated\n * use UniversalDateInput instead\n */\nexport const DateRangeInputDesktop = forwardRef<HTMLInputElement, DateRangeInputDesktopProps>(\n (props, ref) => (\n <DateRangeInput\n InputComponent={InputDesktop}\n Calendar={CalendarDesktop}\n {...props}\n ref={ref}\n />\n ),\n);\n"],"names":[],"mappings":";;;;;AAmBA;;;AAGG;AACI,MAAM,qBAAqB,GAAG,UAAU,CAC3C,CAAC,KAAK,EAAE,GAAG,MACP,KAAC,CAAA,aAAA,CAAA,cAAc,EACX,EAAA,cAAc,EAAE,YAAY,EAC5B,QAAQ,EAAE,eAAe,EAAA,GACrB,KAAK,EACT,GAAG,EAAE,GAAG,EACV,CAAA,CACL;;;;"}
@@ -1,2 +1 @@
1
- export * from "./Component.desktop";
2
- export {};
1
+ export * from './Component.desktop';
@@ -1 +1,2 @@
1
1
  export { DateRangeInputDesktop } from './Component.desktop.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/modern/index.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- export { DateRangeInputResponsive as DateRangeInput } from "./Component.responsive";
2
- export type { DateRangeInputResponsiveProps as DateRangeInputProps } from "./Component.responsive";
3
- export {};
1
+ export { DateRangeInputResponsive as DateRangeInput } from './Component.responsive';
2
+ export type { DateRangeInputResponsiveProps as DateRangeInputProps } from './Component.responsive';
package/modern/index.js CHANGED
@@ -1 +1,2 @@
1
1
  export { DateRangeInputResponsive as DateRangeInput } from './Component.responsive.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,10 +1,14 @@
1
- /// <reference types="react" />
2
1
  import React from 'react';
3
- import { ConditionalProps, DateRangeInputProps } from "../components/date-range-input/index";
4
- type DateRangeInputMobileProps = Omit<DateRangeInputProps, 'view' | 'picker' | 'onClose' | 'InputComponent'> & ConditionalProps;
2
+ import { ConditionalProps, DateRangeInputProps } from '../components/date-range-input';
3
+ export declare type DateRangeInputMobileProps = Omit<DateRangeInputProps, 'view' | 'picker' | 'onClose' | 'InputComponent'> & ConditionalProps;
5
4
  /**
6
5
  * @deprecated
7
6
  * use UniversalDateInput instead
8
7
  */
9
- declare const DateRangeInputMobile: React.ForwardRefExoticComponent<DateRangeInputMobileProps & React.RefAttributes<HTMLInputElement>>;
10
- export { DateRangeInputMobileProps, DateRangeInputMobile };
8
+ export declare const DateRangeInputMobile: React.ForwardRefExoticComponent<(Omit<Omit<DateRangeInputProps, "view" | "picker" | "onClose" | "InputComponent"> & {
9
+ picker: true;
10
+ onClose?: (() => void) | undefined;
11
+ }, "ref"> | Omit<Omit<DateRangeInputProps, "view" | "picker" | "onClose" | "InputComponent"> & {
12
+ picker?: false | undefined;
13
+ onClose?: undefined;
14
+ }, "ref">) & React.RefAttributes<HTMLInputElement>>;
@@ -10,3 +10,4 @@ import { DateRangeInput } from '../components/date-range-input/Component.js';
10
10
  const DateRangeInputMobile = forwardRef((props, ref) => (React.createElement(DateRangeInput, { InputComponent: InputMobile, Calendar: CalendarMobile, view: 'mobile', ...props, ref: ref })));
11
11
 
12
12
  export { DateRangeInputMobile };
13
+ //# sourceMappingURL=Component.mobile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { CalendarMobile } from '@alfalab/core-components-calendar/mobile';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { InputProps } from '@alfalab/core-components-input';\nimport { InputMobile } from '@alfalab/core-components-input/mobile';\n\nimport {\n ConditionalProps,\n DateRangeInput,\n DateRangeInputProps,\n} from '../components/date-range-input';\n\nexport type DateRangeInputMobileProps = Omit<\n DateRangeInputProps,\n 'view' | 'picker' | 'onClose' | 'InputComponent'\n> &\n ConditionalProps;\n\n/**\n * @deprecated\n * use UniversalDateInput instead\n */\nexport const DateRangeInputMobile = forwardRef<HTMLInputElement, DateRangeInputMobileProps>(\n (props, ref) => (\n <DateRangeInput\n InputComponent={InputMobile}\n Calendar={CalendarMobile}\n view='mobile'\n {...props}\n ref={ref}\n />\n ),\n);\n"],"names":[],"mappings":";;;;;AAmBA;;;AAGG;AACU,MAAA,oBAAoB,GAAG,UAAU,CAC1C,CAAC,KAAK,EAAE,GAAG,MACP,KAAA,CAAA,aAAA,CAAC,cAAc,EACX,EAAA,cAAc,EAAE,WAAW,EAC3B,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAC,QAAQ,EACT,GAAA,KAAK,EACT,GAAG,EAAE,GAAG,EACV,CAAA,CACL;;;;"}
@@ -1,2 +1 @@
1
- export * from "./Component.mobile";
2
- export {};
1
+ export * from './Component.mobile';
@@ -1 +1,2 @@
1
1
  export { DateRangeInputMobile } from './Component.mobile.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,8 +1,7 @@
1
- declare const DATE_FORMAT = "dd.MM.yyyy";
2
- declare const DATE_MASK: (string | RegExp)[];
3
- declare const isCompleteDateInput: (input: string) => boolean;
4
- declare const parseDateString: (value: string, dateFormat?: string) => Date;
5
- declare const isValid: (inputValue: string, dateFrom: string, dateTo: string) => boolean;
6
- declare const format: (value: string) => string;
7
- declare const parseTimestampToDate: (timestamp: number) => string;
8
- export { DATE_FORMAT, DATE_MASK, isCompleteDateInput, parseDateString, isValid, format, parseTimestampToDate };
1
+ export declare const DATE_FORMAT = "dd.MM.yyyy";
2
+ export declare const DATE_MASK: (string | RegExp)[];
3
+ export declare const isCompleteDateInput: (input: string) => boolean;
4
+ export declare const parseDateString: (value: string, dateFormat?: string) => Date;
5
+ export declare const isValid: (inputValue: string, dateFrom: string, dateTo: string) => boolean;
6
+ export declare const format: (value: string) => string;
7
+ export declare const parseTimestampToDate: (timestamp: number) => string;
@@ -79,3 +79,4 @@ const parseTimestampToDate = (timestamp) => {
79
79
  };
80
80
 
81
81
  export { DATE_FORMAT, DATE_MASK, format, isCompleteDateInput, isValid, parseDateString, parseTimestampToDate };
82
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sources":["../../src/utils/format.ts"],"sourcesContent":["/* eslint-disable no-useless-escape */\n\nimport dateFnsIsValid from 'date-fns/isValid';\nimport parse from 'date-fns/parse';\n\nexport const DATE_FORMAT = 'dd.MM.yyyy';\nexport const DATE_MASK = [\n /\\d/,\n /\\d/,\n '.',\n /\\d/,\n /\\d/,\n '.',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n ' ',\n '-',\n ' ',\n /\\d/,\n /\\d/,\n '.',\n /\\d/,\n /\\d/,\n '.',\n /\\d/,\n /\\d/,\n /\\d/,\n /\\d/,\n];\n\nexport const isCompleteDateInput = (input: string) => input.length === DATE_MASK.length;\n\nexport const parseDateString = (value: string, dateFormat = DATE_FORMAT) =>\n parse(value, dateFormat, new Date());\n\nexport const isValid = (inputValue: string, dateFrom: string, dateTo: string) =>\n !inputValue ||\n (isCompleteDateInput(inputValue) &&\n dateFnsIsValid(parseDateString(dateFrom)) &&\n dateFnsIsValid(parseDateString(dateTo)));\n\nexport const format = (value: string): string =>\n value\n .replace(/^(\\d\\d)(\\d)$/, '$1.$2') // 121 => 12.1\n .replace(/^(\\d\\d)\\.(\\d\\d)(\\d)$/, '$1.$2.$3') // 12.122 => 12.12.2\n .replace(/^(\\d\\d)\\d\\.(.*)/, '$1.$2') // 123.12.2005 => 12.12.2005\n .replace(/^(\\d\\d\\.\\d\\d)\\d\\.(.*)/, '$1.$2') // 12.123.2005 => 12.12.2005\n .replace(/\\.$/, '') // 12. => 12\n .replace(/\\ $/, '') // 1 2 => 12\n .replace(/^(\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d)(\\d) - (\\d.*)/, '$1 - $3') // 12.12.20051 - 12.12.200 => 12.12.2005 - 12.12.200\n .replace(/^(\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d) (\\d)- (\\d.*)/, '$1 - $3') // 12.12.2005 1- 12.12.200 => 12.12.2005 - 12.12.200\n .replace(/^(\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d) -(\\d) (\\d.*)/, '$1 - $3') // 12.12.2005 -1 12.12.200 => 12.12.2005 - 12.12.200\n .replace(/^(\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d) - (\\d)(\\d\\d.\\d\\d.\\d\\d\\d)/, '$1 - $3') // 12.12.2005 - 112.12.200 => 12.12.2005 - 12.12.200\n .replace(/^(\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d) - (\\d)(\\d\\d.\\d.\\d\\d\\d\\d)/, '$1 - $3') // 12.12.2005 - 112.1.2001 => 12.12.2005 - 12.1.2001\n .replace(/^(\\d\\d\\.\\d\\d)(\\d\\d\\d\\d)/, '$1.$2') // 12.122005 => 12.12.2005\n .replace(/^(\\d\\d)(\\d\\d\\.\\d\\d\\d\\d)/, '$1.$2') // 1212.2005 => 12.12.2005\n .replace(/^(\\d\\d)(\\d.*)/, '$1.$2') // 1212 => 12.12\n .replace(/^(\\d\\d.\\d\\d)(\\d.*)/, '$1.$2') // 12.122 => 12.12.2\n .replace(/^(\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d)(\\d)/, '$1 - $2') // 12.12.20056 => 12.12.2005 - 6\n .replace(/^(\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d) - (\\d\\d)(\\d)/, '$1 - $2.$3') // 12.12.2005 - 123 => 12.12.2005 - 12.3\n .replace(/^(\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d) - (\\d\\d).(\\d\\d)(\\d)/, '$1 - $2.$3.$4') // 12.12.2005 - 12.123 => 12.12.2005 - 12.12.3\n .replace(/^(\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d)- (\\d.*)/, '$1 - $2') // 12.12.2005- 12.12.2005 => 12.12.2005 - 12.12.2005\n .replace(/^(\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d) -(\\d.*)/, '$1 - $2') // 12.12.2005 -12.12.2005 => 12.12.2005 - 12.12.2005\n .replace(/^(\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d) -/, '$1') // 12.12.2005 - => 12.12.2005\n .replace(/^(\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d) (\\d.*)/, '$1 - $2') // 12.12.2005 12.12.2005 => 12.12.2005 - 12.12.2005\n .replace(/^(\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d) {2}(\\d.*)/, '$1 - $2') // 12.12.2005 12.12.2005 => 12.12.2005 - 12.12.2005\n .replace(/^(\\d\\d\\.\\d\\d\\.\\d\\d\\d\\d)-/, '$1') // 12.12.2005- => 12.12.2005\n .replace(/^(\\d\\.\\d\\d\\.\\d\\d\\d\\d)([0-9]*)/, '$1') // 1.12.2005123123 => 1.12.2005\n .replace(/^(\\d\\d\\.\\d\\.\\d\\d\\d\\d)([0-9]*)/, '$1') // 01.2.20055125125 => 01.2.2005\n .replace(/^(\\d)\\.(\\d\\d)([0-9]*)\\.(\\d\\d\\d\\d)/, '$1.$2.$4') // 1.123123.2005 => 1.12.2005\n .replace(/^(\\d\\.\\d\\.\\d\\d\\d\\d)([0-9]*)/, '$1') // 1.2.20055125125 => 1.2.2005\n .replace(/^()\\.(\\d)\\.(\\d\\d\\d\\d)([0-9]*)/, '$1.$2.$3'); // .2.2005123123 => .2.2005\n\nexport const parseTimestampToDate = (timestamp: number): string => {\n const date = new Date(timestamp);\n const year = date.getFullYear();\n\n let month: number | string = date.getMonth() + 1;\n let day: number | string = date.getDate();\n\n if (month < 10) {\n month = `0${month}`;\n }\n if (day < 10) {\n day = `0${day}`;\n }\n\n return `${day}.${month}.${year}`;\n};\n"],"names":[],"mappings":";;;AAAA;AAKO,MAAM,WAAW,GAAG;AACd,MAAA,SAAS,GAAG;IACrB,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;;AAGK,MAAA,mBAAmB,GAAG,CAAC,KAAa,KAAK,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;MAEpE,eAAe,GAAG,CAAC,KAAa,EAAE,UAAU,GAAG,WAAW,KACnE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE;AAEhC,MAAM,OAAO,GAAG,CAAC,UAAkB,EAAE,QAAgB,EAAE,MAAc,KACxE,CAAC,UAAU;KACV,mBAAmB,CAAC,UAAU,CAAC;AAC5B,QAAA,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AACzC,QAAA,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;MAElC,MAAM,GAAG,CAAC,KAAa,KAChC;AACK,KAAA,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC;AAChC,KAAA,OAAO,CAAC,sBAAsB,EAAE,UAAU,CAAC;AAC3C,KAAA,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;AACnC,KAAA,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC;AACzC,KAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAClB,KAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;AAClB,KAAA,OAAO,CAAC,sCAAsC,EAAE,SAAS,CAAC;AAC1D,KAAA,OAAO,CAAC,sCAAsC,EAAE,SAAS,CAAC;AAC1D,KAAA,OAAO,CAAC,sCAAsC,EAAE,SAAS,CAAC;AAC1D,KAAA,OAAO,CAAC,kDAAkD,EAAE,SAAS,CAAC;AACtE,KAAA,OAAO,CAAC,kDAAkD,EAAE,SAAS,CAAC;AACtE,KAAA,OAAO,CAAC,yBAAyB,EAAE,OAAO,CAAC;AAC3C,KAAA,OAAO,CAAC,yBAAyB,EAAE,OAAO,CAAC;AAC3C,KAAA,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC;AACjC,KAAA,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;AACtC,KAAA,OAAO,CAAC,6BAA6B,EAAE,SAAS,CAAC;AACjD,KAAA,OAAO,CAAC,sCAAsC,EAAE,YAAY,CAAC;AAC7D,KAAA,OAAO,CAAC,6CAA6C,EAAE,eAAe,CAAC;AACvE,KAAA,OAAO,CAAC,iCAAiC,EAAE,SAAS,CAAC;AACrD,KAAA,OAAO,CAAC,iCAAiC,EAAE,SAAS,CAAC;AACrD,KAAA,OAAO,CAAC,2BAA2B,EAAE,IAAI,CAAC;AAC1C,KAAA,OAAO,CAAC,gCAAgC,EAAE,SAAS,CAAC;AACpD,KAAA,OAAO,CAAC,oCAAoC,EAAE,SAAS,CAAC;AACxD,KAAA,OAAO,CAAC,0BAA0B,EAAE,IAAI,CAAC;AACzC,KAAA,OAAO,CAAC,+BAA+B,EAAE,IAAI,CAAC;AAC9C,KAAA,OAAO,CAAC,+BAA+B,EAAE,IAAI,CAAC;AAC9C,KAAA,OAAO,CAAC,mCAAmC,EAAE,UAAU,CAAC;AACxD,KAAA,OAAO,CAAC,6BAA6B,EAAE,IAAI,CAAC;AAC5C,KAAA,OAAO,CAAC,+BAA+B,EAAE,UAAU,EAAE;AAEjD,MAAA,oBAAoB,GAAG,CAAC,SAAiB,KAAY;AAC9D,IAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;AAChC,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE;IAE/B,IAAI,KAAK,GAAoB,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC;AAChD,IAAA,IAAI,GAAG,GAAoB,IAAI,CAAC,OAAO,EAAE;IAEzC,IAAI,KAAK,GAAG,EAAE,EAAE;AACZ,QAAA,KAAK,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE;AACtB;IACD,IAAI,GAAG,GAAG,EAAE,EAAE;AACV,QAAA,GAAG,GAAG,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE;AAClB;AAED,IAAA,OAAO,GAAG,GAAG,CAAA,CAAA,EAAI,KAAK,CAAI,CAAA,EAAA,IAAI,EAAE;AACpC;;;;"}
@@ -1 +1 @@
1
- export * from "./format";
1
+ export * from './format';
@@ -1 +1,2 @@
1
1
  export { DATE_FORMAT, DATE_MASK, format, isCompleteDateInput, isValid, parseDateString, parseTimestampToDate } from './format.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,7 +1,6 @@
1
- /// <reference types="react" />
2
1
  import React from 'react';
3
- import { ConditionalProps, DateRangeInputProps } from "./components/date-range-input/index";
4
- type DateRangeInputResponsiveProps = Omit<DateRangeInputProps, 'view' | 'picker' | 'onClose' | 'InputComponent'> & ConditionalProps & {
2
+ import { ConditionalProps, DateRangeInputProps } from './components/date-range-input';
3
+ export declare type DateRangeInputResponsiveProps = Omit<DateRangeInputProps, 'view' | 'picker' | 'onClose' | 'InputComponent'> & ConditionalProps & {
5
4
  /**
6
5
  * Контрольная точка, с нее начинается desktop версия
7
6
  * @default 1024
@@ -12,10 +11,35 @@ type DateRangeInputResponsiveProps = Omit<DateRangeInputProps, 'view' | 'picker'
12
11
  */
13
12
  client?: 'desktop' | 'mobile';
14
13
  };
15
- type DateRangeInputMedia = 'desktop' | 'mobile';
14
+ export declare type DateRangeInputMedia = 'desktop' | 'mobile';
16
15
  /**
17
16
  * @deprecated
18
17
  * use UniversalDateInput instead
19
18
  */
20
- declare const DateRangeInputResponsive: React.ForwardRefExoticComponent<DateRangeInputResponsiveProps & React.RefAttributes<HTMLInputElement>>;
21
- export { DateRangeInputResponsiveProps, DateRangeInputMedia, DateRangeInputResponsive };
19
+ export declare const DateRangeInputResponsive: React.ForwardRefExoticComponent<(Omit<Omit<DateRangeInputProps, "view" | "picker" | "onClose" | "InputComponent"> & {
20
+ picker: true;
21
+ onClose?: (() => void) | undefined;
22
+ } & {
23
+ /**
24
+ * Контрольная точка, с нее начинается desktop версия
25
+ * @default 1024
26
+ */
27
+ breakpoint?: number | undefined;
28
+ /**
29
+ * Версия, которая будет использоваться при серверном рендеринге
30
+ */
31
+ client?: "desktop" | "mobile" | undefined;
32
+ }, "ref"> | Omit<Omit<DateRangeInputProps, "view" | "picker" | "onClose" | "InputComponent"> & {
33
+ picker?: false | undefined;
34
+ onClose?: undefined;
35
+ } & {
36
+ /**
37
+ * Контрольная точка, с нее начинается desktop версия
38
+ * @default 1024
39
+ */
40
+ breakpoint?: number | undefined;
41
+ /**
42
+ * Версия, которая будет использоваться при серверном рендеринге
43
+ */
44
+ client?: "desktop" | "mobile" | undefined;
45
+ }, "ref">) & React.RefAttributes<HTMLInputElement>>;
@@ -13,3 +13,4 @@ const DateRangeInputResponsive = forwardRef(({ breakpoint, client, ...restProps
13
13
  });
14
14
 
15
15
  export { DateRangeInputResponsive };
16
+ //# sourceMappingURL=Component.responsive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { InputProps } from '@alfalab/core-components-input';\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { ConditionalProps, DateRangeInputProps } from './components/date-range-input';\nimport { DateRangeInputDesktop } from './desktop';\nimport { DateRangeInputMobile } from './mobile';\n\nexport type DateRangeInputResponsiveProps = Omit<\n DateRangeInputProps,\n 'view' | 'picker' | 'onClose' | 'InputComponent'\n> &\n ConditionalProps & {\n /**\n * Контрольная точка, с нее начинается desktop версия\n * @default 1024\n */\n breakpoint?: number;\n\n /**\n * Версия, которая будет использоваться при серверном рендеринге\n */\n client?: 'desktop' | 'mobile';\n };\n\nexport type DateRangeInputMedia = 'desktop' | 'mobile';\n\n/**\n * @deprecated\n * use UniversalDateInput instead\n */\nexport const DateRangeInputResponsive = forwardRef<HTMLInputElement, DateRangeInputResponsiveProps>(\n ({ breakpoint, client, ...restProps }, ref) => {\n const isDesktop = useIsDesktop(breakpoint, client === 'desktop');\n\n return isDesktop ? (\n <DateRangeInputDesktop {...restProps} ref={ref} />\n ) : (\n <DateRangeInputMobile {...restProps} ref={ref} />\n );\n },\n);\n"],"names":[],"mappings":";;;;;AA6BA;;;AAGG;AACU,MAAA,wBAAwB,GAAG,UAAU,CAC9C,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,EAAE,GAAG,KAAI;IAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,KAAK,SAAS,CAAC;AAEhE,IAAA,OAAO,SAAS,IACZ,KAAA,CAAA,aAAA,CAAC,qBAAqB,EAAA,EAAA,GAAK,SAAS,EAAE,GAAG,EAAE,GAAG,EAAA,CAAI,KAElD,KAAA,CAAA,aAAA,CAAC,oBAAoB,EAAA,EAAA,GAAK,SAAS,EAAE,GAAG,EAAE,GAAG,EAAA,CAAI,CACpD;AACL,CAAC;;;;"}
@@ -1,11 +1,9 @@
1
- /// <reference types="react" />
2
- import React from 'react';
3
- import { ChangeEvent, ElementType } from "react";
4
- import { CalendarDesktopProps } from "@alfalab/core-components-calendar/desktop";
5
- import { CalendarMobileProps } from "@alfalab/core-components-calendar/mobile";
6
- import { InputProps } from "@alfalab/core-components-input";
7
- import { PopoverProps } from "@alfalab/core-components-popover";
8
- type ConditionalProps = {
1
+ import React, { ChangeEvent, ElementType } from 'react';
2
+ import type { CalendarDesktopProps } from '@alfalab/core-components-calendar/desktop';
3
+ import type { CalendarMobileProps } from '@alfalab/core-components-calendar/mobile';
4
+ import { InputProps } from '@alfalab/core-components-input';
5
+ import { PopoverProps } from '@alfalab/core-components-popover';
6
+ export declare type ConditionalProps = {
9
7
  /**
10
8
  * Обработчик изменения значения
11
9
  */
@@ -18,7 +16,7 @@ type ConditionalProps = {
18
16
  picker?: false;
19
17
  onClose?: never;
20
18
  };
21
- type DateRangeInputProps = Omit<InputProps, 'onChange'> & ConditionalProps & {
19
+ export declare type DateRangeInputProps = Omit<InputProps, 'onChange'> & ConditionalProps & {
22
20
  /**
23
21
  * Дополнительный класс
24
22
  */
@@ -113,5 +111,204 @@ type DateRangeInputProps = Omit<InputProps, 'onChange'> & ConditionalProps & {
113
111
  */
114
112
  disableUserInput?: boolean;
115
113
  };
116
- declare const DateRangeInput: React.ForwardRefExoticComponent<DateRangeInputProps & React.RefAttributes<HTMLInputElement>>;
117
- export { ConditionalProps, DateRangeInputProps, DateRangeInput };
114
+ export declare const DateRangeInput: React.ForwardRefExoticComponent<(Omit<Omit<InputProps, "onChange"> & {
115
+ /**
116
+ * Обработчик изменения значения
117
+ */
118
+ picker: true;
119
+ /**
120
+ * Обработчик закрытия календаря
121
+ */
122
+ onClose?: (() => void) | undefined;
123
+ } & {
124
+ /**
125
+ * Дополнительный класс
126
+ */
127
+ className?: string | undefined;
128
+ /**
129
+ * Дополнительный класс для инпута
130
+ */
131
+ inputClassName?: string | undefined;
132
+ /**
133
+ * Дополнительный класс для поповера
134
+ */
135
+ popoverClassName?: string | undefined;
136
+ /**
137
+ * Обработчик изменения значения
138
+ */
139
+ onChange?: ((payload: {
140
+ dateFrom?: Date;
141
+ dateTo?: Date;
142
+ value: string;
143
+ }, event?: ChangeEvent<HTMLInputElement>) => void) | undefined;
144
+ /**
145
+ * Обработчик окончания ввода
146
+ */
147
+ onComplete?: ((payload: {
148
+ dateFrom: Date;
149
+ dateTo: Date;
150
+ value: string;
151
+ }, event?: ChangeEvent<HTMLInputElement>) => void) | undefined;
152
+ /**
153
+ * Компонент календаря
154
+ */
155
+ Calendar?: React.ElementType<any> | undefined;
156
+ /**
157
+ * Доп. пропсы для календаря
158
+ */
159
+ calendarProps?: (CalendarDesktopProps & Record<string, unknown>) | (CalendarMobileProps & Record<string, unknown>);
160
+ /**
161
+ * Месяц в календаре по умолчанию (timestamp)
162
+ */
163
+ defaultMonth?: number | undefined;
164
+ /**
165
+ * Минимальная дата, доступная для выбора (timestamp)
166
+ */
167
+ minDate?: number | undefined;
168
+ /**
169
+ * Максимальная дата, доступная для выбора (timestamp)
170
+ */
171
+ maxDate?: number | undefined;
172
+ /**
173
+ * Список событий
174
+ */
175
+ events?: (number | Date)[] | undefined;
176
+ /**
177
+ * Список выходных
178
+ */
179
+ offDays?: (number | Date)[] | undefined;
180
+ /**
181
+ * Состояние открытия по умолчанию
182
+ */
183
+ defaultOpen?: boolean | undefined;
184
+ /**
185
+ * Позиционирование поповера с календарем
186
+ */
187
+ popoverPosition?: any;
188
+ /**
189
+ * z-index Popover
190
+ */
191
+ zIndexPopover?: any;
192
+ /**
193
+ * Запрещает поповеру менять свою позицию.
194
+ * Например, если места снизу недостаточно, то он все равно будет показан снизу
195
+ */
196
+ preventFlip?: boolean | undefined;
197
+ /**
198
+ * Календарь будет принимать ширину инпута
199
+ */
200
+ useAnchorWidth?: boolean | undefined;
201
+ /**
202
+ * Растягивает компонент на ширину контейнера
203
+ */
204
+ block?: boolean | undefined;
205
+ /**
206
+ * Отображение компонента в мобильном или десктопном виде
207
+ */
208
+ view?: "desktop" | "mobile" | undefined;
209
+ /**
210
+ * Компонент инпута
211
+ */
212
+ InputComponent?: React.ElementType<any> | undefined;
213
+ /**
214
+ * Запретить ввод с клавиатуры
215
+ */
216
+ disableUserInput?: boolean | undefined;
217
+ }, "ref"> | Omit<Omit<InputProps, "onChange"> & {
218
+ picker?: false | undefined;
219
+ onClose?: undefined;
220
+ } & {
221
+ /**
222
+ * Дополнительный класс
223
+ */
224
+ className?: string | undefined;
225
+ /**
226
+ * Дополнительный класс для инпута
227
+ */
228
+ inputClassName?: string | undefined;
229
+ /**
230
+ * Дополнительный класс для поповера
231
+ */
232
+ popoverClassName?: string | undefined;
233
+ /**
234
+ * Обработчик изменения значения
235
+ */
236
+ onChange?: ((payload: {
237
+ dateFrom?: Date;
238
+ dateTo?: Date;
239
+ value: string;
240
+ }, event?: ChangeEvent<HTMLInputElement>) => void) | undefined;
241
+ /**
242
+ * Обработчик окончания ввода
243
+ */
244
+ onComplete?: ((payload: {
245
+ dateFrom: Date;
246
+ dateTo: Date;
247
+ value: string;
248
+ }, event?: ChangeEvent<HTMLInputElement>) => void) | undefined;
249
+ /**
250
+ * Компонент календаря
251
+ */
252
+ Calendar?: React.ElementType<any> | undefined;
253
+ /**
254
+ * Доп. пропсы для календаря
255
+ */
256
+ calendarProps?: (CalendarDesktopProps & Record<string, unknown>) | (CalendarMobileProps & Record<string, unknown>);
257
+ /**
258
+ * Месяц в календаре по умолчанию (timestamp)
259
+ */
260
+ defaultMonth?: number | undefined;
261
+ /**
262
+ * Минимальная дата, доступная для выбора (timestamp)
263
+ */
264
+ minDate?: number | undefined;
265
+ /**
266
+ * Максимальная дата, доступная для выбора (timestamp)
267
+ */
268
+ maxDate?: number | undefined;
269
+ /**
270
+ * Список событий
271
+ */
272
+ events?: (number | Date)[] | undefined;
273
+ /**
274
+ * Список выходных
275
+ */
276
+ offDays?: (number | Date)[] | undefined;
277
+ /**
278
+ * Состояние открытия по умолчанию
279
+ */
280
+ defaultOpen?: boolean | undefined;
281
+ /**
282
+ * Позиционирование поповера с календарем
283
+ */
284
+ popoverPosition?: any;
285
+ /**
286
+ * z-index Popover
287
+ */
288
+ zIndexPopover?: any;
289
+ /**
290
+ * Запрещает поповеру менять свою позицию.
291
+ * Например, если места снизу недостаточно, то он все равно будет показан снизу
292
+ */
293
+ preventFlip?: boolean | undefined;
294
+ /**
295
+ * Календарь будет принимать ширину инпута
296
+ */
297
+ useAnchorWidth?: boolean | undefined;
298
+ /**
299
+ * Растягивает компонент на ширину контейнера
300
+ */
301
+ block?: boolean | undefined;
302
+ /**
303
+ * Отображение компонента в мобильном или десктопном виде
304
+ */
305
+ view?: "desktop" | "mobile" | undefined;
306
+ /**
307
+ * Компонент инпута
308
+ */
309
+ InputComponent?: React.ElementType<any> | undefined;
310
+ /**
311
+ * Запретить ввод с клавиатуры
312
+ */
313
+ disableUserInput?: boolean | undefined;
314
+ }, "ref">) & React.RefAttributes<HTMLInputElement>>;
@@ -204,3 +204,4 @@ const DateRangeInput = React.forwardRef(({ className, inputClassName, popoverCla
204
204
  });
205
205
 
206
206
  export { DateRangeInput };
207
+ //# sourceMappingURL=Component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/date-range-input/Component.tsx"],"sourcesContent":["/* eslint-disable no-useless-escape, jsx-a11y/click-events-have-key-events */\nimport React, {\n ChangeEvent,\n ElementType,\n FocusEvent,\n MouseEvent,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\nimport dateFnsIsValid from 'date-fns/isValid';\nimport startOfMonth from 'date-fns/startOfMonth';\n\nimport type { CalendarDesktopProps } from '@alfalab/core-components-calendar/desktop';\nimport type { CalendarMobileProps } from '@alfalab/core-components-calendar/mobile';\nimport { usePeriod } from '@alfalab/core-components-calendar/shared';\nimport { IconButton } from '@alfalab/core-components-icon-button';\nimport { InputProps } from '@alfalab/core-components-input';\nimport { Popover, PopoverProps } from '@alfalab/core-components-popover';\nimport { useDidUpdateEffect } from '@alfalab/hooks';\nimport { CalendarMIcon } from '@alfalab/icons-glyph/CalendarMIcon';\n\nimport {\n DATE_FORMAT,\n DATE_MASK,\n format,\n isCompleteDateInput,\n isValid,\n parseDateString,\n parseTimestampToDate,\n} from '../../utils';\n\nimport styles from './index.module.css';\n\nexport type ConditionalProps =\n | {\n /**\n * Обработчик изменения значения\n */\n picker: true;\n\n /**\n * Обработчик закрытия календаря\n */\n onClose?: () => void;\n }\n | { picker?: false; onClose?: never };\n\nexport type DateRangeInputProps = Omit<InputProps, 'onChange'> &\n ConditionalProps & {\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Дополнительный класс для инпута\n */\n inputClassName?: string;\n\n /**\n * Дополнительный класс для поповера\n */\n popoverClassName?: string;\n\n /**\n * Обработчик изменения значения\n */\n onChange?: (\n payload: { dateFrom?: Date; dateTo?: Date; value: string },\n event?: ChangeEvent<HTMLInputElement>,\n ) => void;\n\n /**\n * Обработчик окончания ввода\n */\n onComplete?: (\n payload: { dateFrom: Date; dateTo: Date; value: string },\n event?: ChangeEvent<HTMLInputElement>,\n ) => void;\n\n /**\n * Компонент календаря\n */\n Calendar?: ElementType;\n\n /**\n * Доп. пропсы для календаря\n */\n calendarProps?:\n | (CalendarDesktopProps & Record<string, unknown>)\n | (CalendarMobileProps & Record<string, unknown>);\n\n /**\n * Месяц в календаре по умолчанию (timestamp)\n */\n defaultMonth?: number;\n\n /**\n * Минимальная дата, доступная для выбора (timestamp)\n */\n minDate?: number;\n\n /**\n * Максимальная дата, доступная для выбора (timestamp)\n */\n maxDate?: number;\n\n /**\n * Список событий\n */\n events?: Array<Date | number>;\n\n /**\n * Список выходных\n */\n offDays?: Array<Date | number>;\n\n /**\n * Состояние открытия по умолчанию\n */\n defaultOpen?: boolean;\n\n /**\n * Позиционирование поповера с календарем\n */\n popoverPosition?: PopoverProps['position'];\n\n /**\n * z-index Popover\n */\n zIndexPopover?: PopoverProps['zIndex'];\n\n /**\n * Запрещает поповеру менять свою позицию.\n * Например, если места снизу недостаточно, то он все равно будет показан снизу\n */\n preventFlip?: boolean;\n\n /**\n * Календарь будет принимать ширину инпута\n */\n useAnchorWidth?: boolean;\n\n /**\n * Растягивает компонент на ширину контейнера\n */\n block?: boolean;\n\n /**\n * Отображение компонента в мобильном или десктопном виде\n */\n view?: 'desktop' | 'mobile';\n\n /**\n * Компонент инпута\n */\n InputComponent?: ElementType;\n\n /**\n * Запретить ввод с клавиатуры\n */\n disableUserInput?: boolean;\n };\n\ntype GetDatesRet = { formattedValue: string; dateFrom?: Date; dateTo?: Date; dateArr: string[] };\n\nexport const DateRangeInput = React.forwardRef<HTMLInputElement, DateRangeInputProps>(\n (\n {\n className,\n inputClassName,\n popoverClassName,\n disabled,\n readOnly,\n disableUserInput = false,\n picker,\n defaultValue = '',\n value: propValue,\n onChange,\n onComplete,\n onClose,\n rightAddons,\n useAnchorWidth,\n block,\n popoverPosition = 'bottom-start',\n zIndexPopover,\n preventFlip,\n InputComponent,\n Calendar,\n calendarProps = {},\n defaultMonth,\n minDate = calendarProps.minDate,\n maxDate = calendarProps.maxDate,\n offDays = calendarProps.offDays || [],\n events = calendarProps.events || [],\n defaultOpen = false,\n view = 'desktop',\n ...restProps\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const iconRef = useRef<HTMLButtonElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const [value, setValue] = useState(propValue || defaultValue);\n const [open, setOpen] = useState(defaultOpen);\n\n const inputDisabled = disabled || readOnly;\n\n const calendarResponsive = calendarProps?.responsive ?? true;\n\n const { selectedFrom, selectedTo, updatePeriod, resetPeriod, setStart, setEnd } = usePeriod(\n { onPeriodChange: handlePeriodChange },\n );\n\n useEffect(() => {\n if (value) {\n setCalendarPeriod(getDates(value));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n setValue((prevValue) => {\n if (selectedFrom && selectedTo) {\n const from = parseTimestampToDate(selectedFrom);\n const to = parseTimestampToDate(selectedTo);\n\n return `${from} - ${to}`;\n }\n if (selectedFrom && prevValue.length < DATE_FORMAT.length) {\n return parseTimestampToDate(selectedFrom);\n }\n\n return prevValue;\n });\n }, [selectedFrom, selectedTo]);\n\n useDidUpdateEffect(() => {\n const newPropValue = propValue || '';\n\n setValue((prevValue) => {\n if (prevValue === newPropValue) {\n return prevValue;\n }\n\n const dates = getDates(newPropValue);\n\n setCalendarPeriod(dates);\n\n return dates.formattedValue;\n });\n }, [propValue]);\n\n function getDates(val: string): GetDatesRet {\n const formattedValue = format(val);\n\n const dateArr = formattedValue.split('-').map((v) => v.trim());\n const dateFrom = dateArr[0] ? parseDateString(dateArr[0]) : undefined;\n const dateTo = dateArr[1] ? parseDateString(dateArr[1]) : undefined;\n\n return { formattedValue, dateFrom, dateTo, dateArr };\n }\n\n function setCalendarPeriod({ dateFrom, dateTo }: GetDatesRet) {\n setStart(dateFrom?.getTime());\n setEnd(dateTo?.getTime());\n }\n\n function handlePeriodChange(from?: number, to?: number) {\n if (from && !to && value.length === DATE_MASK.length) {\n setValue(parseTimestampToDate(from));\n } else if (\n (!from && !to && value.length === DATE_FORMAT.length) ||\n (from === to && value.length === DATE_MASK.length)\n ) {\n setValue('');\n }\n\n const dateFrom = from ? new Date(from) : undefined;\n const dateTo = to ? new Date(to) : undefined;\n\n const newValue = ([from, to].filter(Boolean) as number[])\n .map((timestamp) => parseTimestampToDate(timestamp))\n .join(' - ');\n\n onChange?.({\n dateFrom,\n dateTo,\n value: newValue,\n });\n\n if (dateFrom && dateTo) {\n onComplete?.({\n dateFrom,\n dateTo,\n value: newValue,\n });\n }\n }\n\n const handleInputWrapperFocus = (event: FocusEvent<HTMLDivElement>) => {\n if (view === 'desktop') {\n if (picker) {\n setOpen(true);\n }\n\n if (!open && event.target.tagName !== 'INPUT' && calendarRef.current) {\n calendarRef.current.focus();\n }\n }\n };\n\n const handleBlur = (event: FocusEvent<HTMLDivElement>) => {\n if (view === 'desktop') {\n const target = (event.relatedTarget || document.activeElement) as HTMLElement;\n\n if (\n calendarRef.current?.contains(target) === false &&\n inputRef.current?.contains(target) === false &&\n iconRef.current?.contains(target) === false\n ) {\n setOpen(false);\n\n if (onClose) {\n onClose();\n }\n }\n }\n };\n\n // eslint-disable-next-line complexity\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const { value: newValue } = event.target;\n\n if (newValue.length > DATE_MASK.length) return;\n\n // Позволяем вводить только цифры, точки, дефис и пробелы\n if (/[^\\d. -]/.test(newValue)) {\n return;\n }\n\n const dots = newValue.match(/\\./g);\n const hyphen = newValue.match(/\\-/g);\n\n // Не даем вводить больше, чем 4 точки и 1 дефис\n if ((dots && dots.length > 4) || (hyphen && hyphen.length > 1)) {\n return;\n }\n\n const { formattedValue, dateFrom, dateTo, dateArr } = getDates(newValue);\n\n if (!dateFrom && !dateTo) {\n resetPeriod();\n } else if (selectedFrom && formattedValue.length < DATE_FORMAT.length) {\n setStart();\n } else if (selectedFrom && selectedTo) {\n setEnd();\n } else if (\n dateFrom &&\n dateFnsIsValid(dateFrom) &&\n dateArr[0]?.length === DATE_FORMAT.length &&\n dateFrom.getTime() !== selectedFrom\n ) {\n setStart(dateFrom.getTime());\n } else if (\n dateTo &&\n dateFnsIsValid(dateTo) &&\n dateArr[1]?.length === DATE_FORMAT.length &&\n dateTo.getTime() !== selectedTo\n ) {\n setEnd(dateTo.getTime());\n }\n\n setValue(formattedValue);\n\n onChange?.({ dateFrom, dateTo, value: formattedValue }, event);\n\n if (isCompleteDateInput(formattedValue)) {\n const valid = isValid(formattedValue, dateArr[0], dateArr[1]);\n\n if (!valid) return;\n\n if (dateFrom && dateTo) {\n onComplete?.({ dateFrom, dateTo, value: formattedValue }, event);\n }\n }\n };\n\n const handleCalendarClose = () => {\n if (view === 'mobile' && onClose) {\n onClose();\n }\n\n setOpen(false);\n };\n\n const handleClear = () => {\n setValue('');\n resetPeriod();\n };\n\n const handleCalendarChange = (date?: number) => {\n updatePeriod(date);\n };\n\n const handleCalendarWrapperMouseDown = (event: MouseEvent<HTMLDivElement>) => {\n // Не дает инпуту терять фокус при выборе даты\n event.preventDefault();\n };\n\n const handleIconButtonClick = () => {\n if (!open) setOpen(true);\n\n if (view === 'desktop' && inputRef.current) {\n inputRef.current.focus();\n }\n };\n\n const renderCalendar = () => {\n const activeMonth =\n (selectedTo && startOfMonth(selectedTo)) ||\n (selectedFrom && startOfMonth(selectedFrom));\n\n return Calendar ? (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div onMouseDown={handleCalendarWrapperMouseDown}>\n <Calendar\n {...calendarProps}\n responsive={calendarResponsive}\n open={open}\n onClose={handleCalendarClose}\n ref={calendarRef}\n defaultMonth={activeMonth || defaultMonth}\n selectedFrom={selectedFrom}\n selectedTo={selectedTo}\n onChange={handleCalendarChange}\n minDate={minDate}\n maxDate={maxDate}\n offDays={offDays}\n events={events}\n />\n </div>\n ) : null;\n };\n\n return (\n <div\n className={cn(styles.component, className, {\n [styles.block]: block,\n })}\n onFocus={inputDisabled ? undefined : handleInputWrapperFocus}\n onBlur={handleBlur}\n >\n {InputComponent ? (\n <InputComponent\n autoComplete={picker ? 'off' : undefined}\n {...restProps}\n block={block}\n ref={mergeRefs([ref, inputRef])}\n value={value}\n onChange={handleChange}\n disabled={disabled}\n readOnly={readOnly}\n className={inputClassName}\n onClear={handleClear}\n disableUserInput={disableUserInput}\n rightAddons={\n <React.Fragment>\n {rightAddons}\n {picker && (\n <IconButton\n className={styles.calendarIcon}\n ref={iconRef}\n onClick={inputDisabled ? undefined : handleIconButtonClick}\n icon={CalendarMIcon}\n size='s'\n />\n )}\n </React.Fragment>\n }\n />\n ) : null}\n {picker &&\n (view === 'desktop' ? (\n <Popover\n open={open}\n useAnchorWidth={useAnchorWidth}\n anchorElement={inputRef.current as HTMLElement}\n popperClassName={cn(styles.calendarContainer, {\n [styles.calendarResponsive]: calendarResponsive,\n })}\n className={popoverClassName}\n position={popoverPosition}\n offset={[0, 8]}\n withTransition={false}\n preventFlip={preventFlip}\n zIndex={zIndexPopover}\n >\n {renderCalendar()}\n </Popover>\n ) : (\n renderCalendar()\n ))}\n </div>\n );\n },\n);\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export * from "./Component";
1
+ export * from './Component';
@@ -1 +1,2 @@
1
1
  export { DateRangeInput } from './Component.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,26 +1,5 @@
1
- /* */
2
1
  :root {
3
2
  --calendar-width: 344px;
4
-
5
- /* Кнопки выбора месяцев и годов */
6
-
7
- /* Шапка */
8
-
9
- /* День */
10
-
11
- /* today */
12
-
13
- /* highlighted */
14
-
15
- /* holidays */
16
-
17
- /* range */
18
-
19
- /* selected */
20
-
21
- /* disabled */
22
-
23
- /* marker */
24
3
  }
25
4
  :root {
26
5
  --calendar-popover-border-radius: var(--border-radius-8);
@@ -1,10 +1,14 @@
1
- /// <reference types="react" />
2
1
  import React from 'react';
3
- import { ConditionalProps, DateRangeInputProps } from "../components/date-range-input/index";
4
- type DateRangeInputDesktopProps = Omit<DateRangeInputProps, 'view' | 'picker' | 'onClose' | 'InputComponent'> & ConditionalProps;
2
+ import { ConditionalProps, DateRangeInputProps } from '../components/date-range-input';
3
+ export declare type DateRangeInputDesktopProps = Omit<DateRangeInputProps, 'view' | 'picker' | 'onClose' | 'InputComponent'> & ConditionalProps;
5
4
  /**
6
5
  * @deprecated
7
6
  * use UniversalDateInput instead
8
7
  */
9
- declare const DateRangeInputDesktop: React.ForwardRefExoticComponent<DateRangeInputDesktopProps & React.RefAttributes<HTMLInputElement>>;
10
- export { DateRangeInputDesktopProps, DateRangeInputDesktop };
8
+ export declare const DateRangeInputDesktop: React.ForwardRefExoticComponent<(Omit<Omit<DateRangeInputProps, "view" | "picker" | "onClose" | "InputComponent"> & {
9
+ picker: true;
10
+ onClose?: (() => void) | undefined;
11
+ }, "ref"> | Omit<Omit<DateRangeInputProps, "view" | "picker" | "onClose" | "InputComponent"> & {
12
+ picker?: false | undefined;
13
+ onClose?: undefined;
14
+ }, "ref">) & React.RefAttributes<HTMLInputElement>>;
@@ -10,3 +10,4 @@ import { DateRangeInput } from '../components/date-range-input/Component.js';
10
10
  const DateRangeInputDesktop = forwardRef((props, ref) => (React.createElement(DateRangeInput, { InputComponent: InputDesktop, Calendar: CalendarDesktop, ...props, ref: ref })));
11
11
 
12
12
  export { DateRangeInputDesktop };
13
+ //# sourceMappingURL=Component.desktop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { CalendarDesktop } from '@alfalab/core-components-calendar/desktop';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { InputProps } from '@alfalab/core-components-input';\nimport { InputDesktop } from '@alfalab/core-components-input/desktop';\n\nimport {\n ConditionalProps,\n DateRangeInput,\n DateRangeInputProps,\n} from '../components/date-range-input';\n\nexport type DateRangeInputDesktopProps = Omit<\n DateRangeInputProps,\n 'view' | 'picker' | 'onClose' | 'InputComponent'\n> &\n ConditionalProps;\n\n/**\n * @deprecated\n * use UniversalDateInput instead\n */\nexport const DateRangeInputDesktop = forwardRef<HTMLInputElement, DateRangeInputDesktopProps>(\n (props, ref) => (\n <DateRangeInput\n InputComponent={InputDesktop}\n Calendar={CalendarDesktop}\n {...props}\n ref={ref}\n />\n ),\n);\n"],"names":[],"mappings":";;;;;AAmBA;;;AAGG;AACI,MAAM,qBAAqB,GAAG,UAAU,CAC3C,CAAC,KAAK,EAAE,GAAG,MACP,KAAC,CAAA,aAAA,CAAA,cAAc,EACX,EAAA,cAAc,EAAE,YAAY,EAC5B,QAAQ,EAAE,eAAe,EAAA,GACrB,KAAK,EACT,GAAG,EAAE,GAAG,EACV,CAAA,CACL;;;;"}
@@ -1,2 +1 @@
1
- export * from "./Component.desktop";
2
- export {};
1
+ export * from './Component.desktop';
@@ -1 +1,2 @@
1
1
  export { DateRangeInputDesktop } from './Component.desktop.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,3 +1,2 @@
1
- export { DateRangeInputResponsive as DateRangeInput } from "./Component.responsive";
2
- export type { DateRangeInputResponsiveProps as DateRangeInputProps } from "./Component.responsive";
3
- export {};
1
+ export { DateRangeInputResponsive as DateRangeInput } from './Component.responsive';
2
+ export type { DateRangeInputResponsiveProps as DateRangeInputProps } from './Component.responsive';