@salutejs/plasma-new-hope 0.195.0-canary.1572.11914481185.0 → 0.195.0-canary.1574.11921374356.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.js +7 -1
  2. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +1 -1
  4. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  5. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +1 -1
  6. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  7. package/cjs/components/Calendar/store/reducer.js +2 -2
  8. package/cjs/components/Calendar/store/reducer.js.map +1 -1
  9. package/cjs/components/Combobox/ComboboxNew/Combobox.js +18 -4
  10. package/cjs/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  11. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -2
  12. package/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
  13. package/cjs/components/Combobox/ComboboxOld/Combobox.css +5 -4
  14. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +5 -4
  15. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +5 -4
  16. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +5 -4
  17. package/cjs/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +5 -4
  18. package/cjs/components/Dropdown/Dropdown.css +5 -4
  19. package/cjs/components/Dropdown/Dropdown.js +4 -2
  20. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  21. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.css +5 -4
  22. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +3 -2
  23. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  24. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +7 -1
  25. package/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  26. package/cjs/components/Dropdown/ui/DropdownItem/{DropdownItem.styles_1b439rx.css → DropdownItem.styles_14yih1y.css} +1 -0
  27. package/cjs/components/Select/Select.js +0 -1
  28. package/cjs/components/Select/Select.js.map +1 -1
  29. package/cjs/components/Select/ui/Inner/ui/Item/Item.js +1 -2
  30. package/cjs/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  31. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +18 -3
  32. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
  33. package/cjs/index.css +5 -4
  34. package/emotion/cjs/components/Autocomplete/Autocomplete.js +7 -1
  35. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +1 -1
  36. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +1 -1
  37. package/emotion/cjs/components/Calendar/store/reducer.js +2 -2
  38. package/emotion/cjs/components/Combobox/ComboboxNew/Combobox.js +22 -4
  39. package/emotion/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -2
  40. package/emotion/cjs/components/Dropdown/Dropdown.js +4 -2
  41. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +3 -2
  42. package/emotion/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +15 -11
  43. package/emotion/cjs/components/Select/Select.js +0 -1
  44. package/emotion/cjs/components/Select/ui/Inner/ui/Item/Item.js +1 -2
  45. package/emotion/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +24 -3
  46. package/emotion/es/components/Autocomplete/Autocomplete.js +7 -1
  47. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +1 -1
  48. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +1 -1
  49. package/emotion/es/components/Calendar/store/reducer.js +2 -2
  50. package/emotion/es/components/Combobox/ComboboxNew/Combobox.js +22 -4
  51. package/emotion/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -2
  52. package/emotion/es/components/Dropdown/Dropdown.js +4 -2
  53. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +4 -3
  54. package/emotion/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +15 -11
  55. package/emotion/es/components/Select/Select.js +0 -1
  56. package/emotion/es/components/Select/ui/Inner/ui/Item/Item.js +1 -2
  57. package/emotion/es/components/Select/ui/Target/ui/Textfield/Textfield.js +24 -3
  58. package/es/components/Autocomplete/Autocomplete.js +7 -1
  59. package/es/components/Autocomplete/Autocomplete.js.map +1 -1
  60. package/es/components/Calendar/CalendarBase/CalendarBase.js +1 -1
  61. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  62. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +1 -1
  63. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  64. package/es/components/Calendar/store/reducer.js +2 -2
  65. package/es/components/Calendar/store/reducer.js.map +1 -1
  66. package/es/components/Combobox/ComboboxNew/Combobox.js +19 -5
  67. package/es/components/Combobox/ComboboxNew/Combobox.js.map +1 -1
  68. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -2
  69. package/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js.map +1 -1
  70. package/es/components/Combobox/ComboboxOld/Combobox.css +5 -4
  71. package/es/components/Combobox/ComboboxOld/ui/ComboboxDivider/ComboboxDivider.css +5 -4
  72. package/es/components/Combobox/ComboboxOld/ui/ComboboxFooter/ComboboxFooter.css +5 -4
  73. package/es/components/Combobox/ComboboxOld/ui/ComboboxGroup/ComboboxGroup.css +5 -4
  74. package/es/components/Combobox/ComboboxOld/ui/ComboboxHeader/ComboboxHeader.css +5 -4
  75. package/es/components/Dropdown/Dropdown.css +5 -4
  76. package/es/components/Dropdown/Dropdown.js +4 -2
  77. package/es/components/Dropdown/Dropdown.js.map +1 -1
  78. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.css +5 -4
  79. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +4 -3
  80. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.js.map +1 -1
  81. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +7 -2
  82. package/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js.map +1 -1
  83. package/es/components/Dropdown/ui/DropdownItem/{DropdownItem.styles_1b439rx.css → DropdownItem.styles_14yih1y.css} +1 -0
  84. package/es/components/Select/Select.js +0 -1
  85. package/es/components/Select/Select.js.map +1 -1
  86. package/es/components/Select/ui/Inner/ui/Item/Item.js +1 -2
  87. package/es/components/Select/ui/Inner/ui/Item/Item.js.map +1 -1
  88. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js +19 -4
  89. package/es/components/Select/ui/Target/ui/Textfield/Textfield.js.map +1 -1
  90. package/es/index.css +5 -4
  91. package/package.json +3 -2
  92. package/styled-components/cjs/components/Autocomplete/Autocomplete.js +7 -1
  93. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +1 -1
  94. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +1 -1
  95. package/styled-components/cjs/components/Calendar/store/reducer.js +2 -2
  96. package/styled-components/cjs/components/Combobox/ComboboxNew/Combobox.js +22 -4
  97. package/styled-components/cjs/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -2
  98. package/styled-components/cjs/components/Dropdown/Dropdown.js +4 -2
  99. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.js +3 -2
  100. package/styled-components/cjs/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +5 -2
  101. package/styled-components/cjs/components/Select/Select.js +0 -1
  102. package/styled-components/cjs/components/Select/ui/Inner/ui/Item/Item.js +1 -2
  103. package/styled-components/cjs/components/Select/ui/Target/ui/Textfield/Textfield.js +24 -3
  104. package/styled-components/es/components/Autocomplete/Autocomplete.js +7 -1
  105. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +1 -1
  106. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +1 -1
  107. package/styled-components/es/components/Calendar/store/reducer.js +2 -2
  108. package/styled-components/es/components/Combobox/ComboboxNew/Combobox.js +22 -4
  109. package/styled-components/es/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.js +1 -2
  110. package/styled-components/es/components/Dropdown/Dropdown.js +4 -2
  111. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.js +4 -3
  112. package/styled-components/es/components/Dropdown/ui/DropdownItem/DropdownItem.styles.js +5 -2
  113. package/styled-components/es/components/Select/Select.js +0 -1
  114. package/styled-components/es/components/Select/ui/Inner/ui/Item/Item.js +1 -2
  115. package/styled-components/es/components/Select/ui/Target/ui/Textfield/Textfield.js +24 -3
  116. package/types/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  117. package/types/components/Autocomplete/Autocomplete.types.d.ts +4 -0
  118. package/types/components/Autocomplete/Autocomplete.types.d.ts.map +1 -1
  119. package/types/components/Calendar/store/reducer.d.ts +1 -1
  120. package/types/components/Calendar/store/reducer.d.ts.map +1 -1
  121. package/types/components/Combobox/ComboboxNew/Combobox.d.ts.map +1 -1
  122. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts +1 -2
  123. package/types/components/Combobox/ComboboxNew/Combobox.types.d.ts.map +1 -1
  124. package/types/components/Combobox/ComboboxNew/ui/Inner/ui/Item/Item.d.ts.map +1 -1
  125. package/types/components/Dropdown/Dropdown.d.ts +50 -2
  126. package/types/components/Dropdown/Dropdown.d.ts.map +1 -1
  127. package/types/components/Dropdown/Dropdown.types.d.ts +11 -6
  128. package/types/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  129. package/types/components/Dropdown/index.d.ts +1 -0
  130. package/types/components/Dropdown/index.d.ts.map +1 -1
  131. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.d.ts.map +1 -1
  132. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts +1 -0
  133. package/types/components/Dropdown/ui/DropdownItem/DropdownItem.styles.d.ts.map +1 -1
  134. package/types/components/Select/Select.d.ts.map +1 -1
  135. package/types/components/Select/Select.types.d.ts +1 -2
  136. package/types/components/Select/Select.types.d.ts.map +1 -1
  137. package/types/components/Select/ui/Inner/ui/Item/Item.d.ts.map +1 -1
  138. package/types/components/Select/ui/Target/ui/Textfield/Textfield.d.ts.map +1 -1
  139. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts +25 -1
  140. package/types/examples/plasma_b2c/components/Dropdown/Dropdown.d.ts.map +1 -1
  141. package/types/examples/plasma_web/components/Dropdown/Dropdown.d.ts +25 -1
  142. package/types/examples/plasma_web/components/Dropdown/Dropdown.d.ts.map +1 -1
@@ -14,7 +14,7 @@ var TextField_styles = require('./ui/TextField/TextField.styles.js');
14
14
  var SuggestionItem = require('./ui/SuggestionItem/SuggestionItem.js');
15
15
  var getPopoverPlacement = require('../../utils/getPopoverPlacement.js');
16
16
 
17
- var _excluded = ["value", "onChange", "suggestions", "view", "size", "labelPlacement", "disabled", "readOnly", "label", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "onScroll", "listMaxHeight", "listWidth", "portal", "filter", "onSuggestionSelect", "threshold", "renderList", "renderListEnd", "onSearch", "hintText"];
17
+ var _excluded = ["value", "defaultValue", "onChange", "suggestions", "view", "size", "labelPlacement", "disabled", "readOnly", "label", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "onScroll", "listMaxHeight", "listWidth", "portal", "filter", "onSuggestionSelect", "threshold", "renderList", "renderListEnd", "onSearch", "hintText"];
18
18
 
19
19
  /**
20
20
  * Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.
@@ -22,6 +22,7 @@ var _excluded = ["value", "onChange", "suggestions", "view", "size", "labelPlace
22
22
  var autocompleteRoot = function autocompleteRoot(Root) {
23
23
  return /*#__PURE__*/React.forwardRef(function (_ref, ref) {
24
24
  var outerValue = _ref.value,
25
+ defaultValue = _ref.defaultValue,
25
26
  onChange = _ref.onChange,
26
27
  suggestions = _ref.suggestions,
27
28
  view = _ref.view,
@@ -109,6 +110,11 @@ var autocompleteRoot = function autocompleteRoot(Root) {
109
110
  type: 'reset'
110
111
  });
111
112
  }, [value]);
113
+ useDidMountEffect.useDidMountEffect(function () {
114
+ if (defaultValue) {
115
+ setInnerValue(defaultValue);
116
+ }
117
+ }, [defaultValue]);
112
118
  return /*#__PURE__*/React.createElement(Root, {
113
119
  view: view,
114
120
  size: size,
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.js","sources":["../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { useDidMountEffect, useOutsideClick } from '../../hooks';\nimport { RootProps } from '../../engines';\nimport { getPlacements } from '../../utils';\n\nimport { focusedReducer } from './reducers/focusedReducer';\nimport { SuggestionItem, StyledTextField } from './ui';\nimport { StyledPopover, Ul, LeftHelper, base, InfiniteLoaderWrapper } from './Autocomplete.styles';\nimport type { AutocompleteProps, SuggestionItemType } from './Autocomplete.types';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\n/**\n * Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.\n */\nexport const autocompleteRoot = (Root: RootProps<HTMLInputElement, AutocompleteProps>) =>\n forwardRef<HTMLInputElement, AutocompleteProps>(\n (\n {\n value: outerValue,\n onChange,\n suggestions,\n view,\n size,\n labelPlacement,\n disabled,\n readOnly,\n label,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n onScroll,\n listMaxHeight,\n listWidth,\n portal,\n filter,\n onSuggestionSelect,\n threshold = 2,\n renderList,\n renderListEnd,\n onSearch,\n\n hintText,\n\n ...rest\n },\n ref,\n ) => {\n const [focused, dispatchFocused] = useReducer(focusedReducer, null);\n const [innerValue, setInnerValue] = useState<string | number>('');\n const [isOpen, setIsOpen] = useState(false);\n\n const listId = safeUseId();\n const value = outerValue ?? innerValue;\n\n const helperTextId = safeUseId();\n\n const targetRef = useOutsideClick<HTMLDivElement>(() => {\n setIsOpen(false);\n });\n\n const handleFocus = () => {\n if (value.toString().length >= threshold) {\n setIsOpen(true);\n }\n };\n\n const handleItemClick = (e: SuggestionItemType) => {\n setInnerValue(e.label);\n\n if (onSuggestionSelect) {\n onSuggestionSelect(e);\n }\n\n setIsOpen(false);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const currentValue = e.target.value;\n\n setInnerValue(currentValue);\n\n if (onChange) {\n onChange(e);\n }\n\n if (currentValue.toString().length >= threshold) {\n setIsOpen(true);\n } else {\n setIsOpen(false);\n }\n };\n\n const defaultFilterCallback = ({ label }: { label: string }) => {\n return label.toLowerCase().includes(value.toString().toLowerCase());\n };\n\n const finalResults = suggestions?.filter(filter || defaultFilterCallback) || [];\n\n const { onKeyDown } = useKeyNavigation({\n isOpen,\n setIsOpen,\n focused,\n dispatchFocused,\n finalResults,\n handleItemClick,\n });\n\n useDidMountEffect(() => {\n dispatchFocused({ type: 'reset' });\n }, [value]);\n\n return (\n <Root view={view} size={size} labelPlacement={labelPlacement} disabled={disabled} readOnly={readOnly}>\n <StyledPopover\n opened={isOpen}\n offset={[0, 0]}\n placement={getPlacements('bottom')}\n isFocusTrapped={false}\n usePortal={Boolean(portal)}\n frame={portal}\n target={\n <StyledTextField\n value={value}\n onChange={handleChange}\n onSearch={focused === null ? onSearch : undefined}\n ref={ref}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onFocus={handleFocus}\n onKeyDown={onKeyDown}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={listId}\n aria-expanded={isOpen}\n aria-activedescendant={`${listId}/${focused}`}\n aria-describedby={helperTextId}\n hintText={String(hintText || '')}\n {...rest}\n />\n }\n preventOverflow={false}\n ref={targetRef}\n listWidth={listWidth}\n >\n {(renderList && renderList(finalResults)) ||\n (Boolean(finalResults.length) && (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <Ul\n id={listId}\n role=\"listbox\"\n aria-label={label}\n onScroll={onScroll}\n listMaxHeight={listMaxHeight}\n >\n {finalResults.map((suggestion, index) => (\n <SuggestionItem\n key={index}\n item={suggestion}\n onClick={handleItemClick}\n id={`${listId}/${index}`}\n focused={focused === index}\n />\n ))}\n\n {renderListEnd && (\n <InfiniteLoaderWrapper>{renderListEnd()}</InfiniteLoaderWrapper>\n )}\n </Ul>\n </Root>\n ))}\n </StyledPopover>\n\n {/* TODO: Дублируем хелпер для корректного позиционирования списка подсказок */}\n {leftHelper && (\n <LeftHelper id={helperTextId} disabled={disabled} readOnly={readOnly}>\n {leftHelper}\n </LeftHelper>\n )}\n </Root>\n );\n },\n );\n\nexport const autocompleteConfig = {\n name: 'Autocomplete',\n tag: 'div',\n layout: autocompleteRoot,\n base,\n defaults: {\n view: 'default',\n size: 'l',\n labelPlacement: 'outer',\n },\n variations: {\n view: {\n css: '',\n },\n },\n};\n"],"names":["autocompleteRoot","Root","forwardRef","_ref","ref","outerValue","value","onChange","suggestions","view","size","labelPlacement","disabled","readOnly","label","leftHelper","contentLeft","contentRight","textBefore","textAfter","onScroll","listMaxHeight","listWidth","portal","filter","onSuggestionSelect","_ref$threshold","threshold","renderList","renderListEnd","onSearch","hintText","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","focusedReducer","_useReducer2","_slicedToArray","focused","dispatchFocused","_useState","useState","_useState2","innerValue","setInnerValue","_useState3","_useState4","isOpen","setIsOpen","listId","safeUseId","helperTextId","targetRef","useOutsideClick","handleFocus","toString","length","handleItemClick","e","handleChange","currentValue","target","defaultFilterCallback","_ref2","toLowerCase","includes","finalResults","_useKeyNavigation","useKeyNavigation","onKeyDown","useDidMountEffect","type","React","createElement","StyledPopover","opened","offset","placement","getPlacements","isFocusTrapped","usePortal","Boolean","frame","StyledTextField","_extends","undefined","onFocus","role","concat","String","preventOverflow","Ul","id","map","suggestion","index","SuggestionItem","key","item","onClick","InfiniteLoaderWrapper","LeftHelper","autocompleteConfig","name","tag","layout","base","defaults","variations","css"],"mappings":";;;;;;;;;;;;;;;;;;AAaA;AACA;AACA;IACaA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,IAAoD,EAAA;AAAA,EAAA,oBACjFC,gBAAU,CACN,UAAAC,IAAA,EA+BIC,GAAG,EACF;AAAA,IAAA,IA9BUC,UAAU,GAAAF,IAAA,CAAjBG,KAAK;MACLC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;MACRC,WAAW,GAAAL,IAAA,CAAXK,WAAW;MACXC,IAAI,GAAAN,IAAA,CAAJM,IAAI;MACJC,IAAI,GAAAP,IAAA,CAAJO,IAAI;MACJC,cAAc,GAAAR,IAAA,CAAdQ,cAAc;MACdC,QAAQ,GAAAT,IAAA,CAARS,QAAQ;MACRC,QAAQ,GAAAV,IAAA,CAARU,QAAQ;MACRC,KAAK,GAAAX,IAAA,CAALW,KAAK;MACLC,UAAU,GAAAZ,IAAA,CAAVY,UAAU;MACVC,WAAW,GAAAb,IAAA,CAAXa,WAAW;MACXC,YAAY,GAAAd,IAAA,CAAZc,YAAY;MACZC,UAAU,GAAAf,IAAA,CAAVe,UAAU;MACVC,SAAS,GAAAhB,IAAA,CAATgB,SAAS;MACTC,QAAQ,GAAAjB,IAAA,CAARiB,QAAQ;MACRC,aAAa,GAAAlB,IAAA,CAAbkB,aAAa;MACbC,SAAS,GAAAnB,IAAA,CAATmB,SAAS;MACTC,MAAM,GAAApB,IAAA,CAANoB,MAAM;MACNC,MAAM,GAAArB,IAAA,CAANqB,MAAM;MACNC,kBAAkB,GAAAtB,IAAA,CAAlBsB,kBAAkB;MAAAC,cAAA,GAAAvB,IAAA,CAClBwB,SAAS;AAATA,MAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,cAAA;MACbE,UAAU,GAAAzB,IAAA,CAAVyB,UAAU;MACVC,aAAa,GAAA1B,IAAA,CAAb0B,aAAa;MACbC,QAAQ,GAAA3B,IAAA,CAAR2B,QAAQ;MAERC,QAAQ,GAAA5B,IAAA,CAAR4B,QAAQ;AAELC,MAAAA,IAAI,GAAAC,iDAAA,CAAA9B,IAAA,EAAA+B,SAAA,CAAA,CAAA;AAIX,IAAA,IAAAC,WAAA,GAAmCC,gBAAU,CAACC,6BAAc,EAAE,IAAI,CAAC;MAAAC,YAAA,GAAAC,uCAAA,CAAAJ,WAAA,EAAA,CAAA,CAAA;AAA5DK,MAAAA,OAAO,GAAAF,YAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,eAAe,GAAAH,YAAA,CAAA,CAAA,CAAA,CAAA;AAC/B,IAAA,IAAAI,SAAA,GAAoCC,cAAQ,CAAkB,EAAE,CAAC;MAAAC,UAAA,GAAAL,uCAAA,CAAAG,SAAA,EAAA,CAAA,CAAA;AAA1DG,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAChC,IAAA,IAAAG,UAAA,GAA4BJ,cAAQ,CAAC,KAAK,CAAC;MAAAK,UAAA,GAAAT,uCAAA,CAAAQ,UAAA,EAAA,CAAA,CAAA;AAApCE,MAAAA,MAAM,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAExB,IAAA,IAAMG,MAAM,GAAGC,oBAAS,EAAE,CAAA;IAC1B,IAAM9C,KAAK,GAAGD,UAAU,KAAA,IAAA,IAAVA,UAAU,KAAVA,KAAAA,CAAAA,GAAAA,UAAU,GAAIwC,UAAU,CAAA;AAEtC,IAAA,IAAMQ,YAAY,GAAGD,oBAAS,EAAE,CAAA;AAEhC,IAAA,IAAME,SAAS,GAAGC,+BAAe,CAAiB,YAAM;MACpDL,SAAS,CAAC,KAAK,CAAC,CAAA;AACpB,KAAC,CAAC,CAAA;AAEF,IAAA,IAAMM,WAAW,GAAG,SAAdA,WAAWA,GAAS;MACtB,IAAIlD,KAAK,CAACmD,QAAQ,EAAE,CAACC,MAAM,IAAI/B,SAAS,EAAE;QACtCuB,SAAS,CAAC,IAAI,CAAC,CAAA;AACnB,OAAA;KACH,CAAA;AAED,IAAA,IAAMS,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,CAAqB,EAAK;AAC/Cd,MAAAA,aAAa,CAACc,CAAC,CAAC9C,KAAK,CAAC,CAAA;AAEtB,MAAA,IAAIW,kBAAkB,EAAE;QACpBA,kBAAkB,CAACmC,CAAC,CAAC,CAAA;AACzB,OAAA;MAEAV,SAAS,CAAC,KAAK,CAAC,CAAA;KACnB,CAAA;AAED,IAAA,IAAMW,YAAY,GAAG,SAAfA,YAAYA,CAAID,CAAsC,EAAK;AAC7D,MAAA,IAAME,YAAY,GAAGF,CAAC,CAACG,MAAM,CAACzD,KAAK,CAAA;MAEnCwC,aAAa,CAACgB,YAAY,CAAC,CAAA;AAE3B,MAAA,IAAIvD,QAAQ,EAAE;QACVA,QAAQ,CAACqD,CAAC,CAAC,CAAA;AACf,OAAA;MAEA,IAAIE,YAAY,CAACL,QAAQ,EAAE,CAACC,MAAM,IAAI/B,SAAS,EAAE;QAC7CuB,SAAS,CAAC,IAAI,CAAC,CAAA;AACnB,OAAC,MAAM;QACHA,SAAS,CAAC,KAAK,CAAC,CAAA;AACpB,OAAA;KACH,CAAA;AAED,IAAA,IAAMc,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAC,KAAA,EAAqC;AAAA,MAAA,IAA/BnD,KAAK,GAAAmD,KAAA,CAALnD,KAAK,CAAA;AAClC,MAAA,OAAOA,KAAK,CAACoD,WAAW,EAAE,CAACC,QAAQ,CAAC7D,KAAK,CAACmD,QAAQ,EAAE,CAACS,WAAW,EAAE,CAAC,CAAA;KACtE,CAAA;AAED,IAAA,IAAME,YAAY,GAAG,CAAA5D,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEgB,MAAM,CAACA,MAAM,IAAIwC,qBAAqB,CAAC,KAAI,EAAE,CAAA;IAE/E,IAAAK,iBAAA,GAAsBC,sCAAgB,CAAC;AACnCrB,QAAAA,MAAM,EAANA,MAAM;AACNC,QAAAA,SAAS,EAATA,SAAS;AACTV,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,eAAe,EAAfA,eAAe;AACf2B,QAAAA,YAAY,EAAZA,YAAY;AACZT,QAAAA,eAAe,EAAfA,eAAAA;AACJ,OAAC,CAAC;MAPMY,SAAS,GAAAF,iBAAA,CAATE,SAAS,CAAA;AASjBC,IAAAA,mCAAiB,CAAC,YAAM;AACpB/B,MAAAA,eAAe,CAAC;AAAEgC,QAAAA,IAAI,EAAE,OAAA;AAAQ,OAAC,CAAC,CAAA;AACtC,KAAC,EAAE,CAACnE,KAAK,CAAC,CAAC,CAAA;AAEX,IAAA,oBACIoE,KAAA,CAAAC,aAAA,CAAC1E,IAAI,EAAA;AAACQ,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,cAAc,EAAEA,cAAe;AAACC,MAAAA,QAAQ,EAAEA,QAAS;AAACC,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAA,eACjG6D,KAAA,CAAAC,aAAA,CAACC,iCAAa,EAAA;AACVC,MAAAA,MAAM,EAAE5B,MAAO;AACf6B,MAAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAE;AACfC,MAAAA,SAAS,EAAEC,iCAAa,CAAC,QAAQ,CAAE;AACnCC,MAAAA,cAAc,EAAE,KAAM;AACtBC,MAAAA,SAAS,EAAEC,OAAO,CAAC5D,MAAM,CAAE;AAC3B6D,MAAAA,KAAK,EAAE7D,MAAO;AACdwC,MAAAA,MAAM,eACFW,KAAA,CAAAC,aAAA,CAACU,gCAAe,EAAAC,iCAAA,CAAA;AACZhF,QAAAA,KAAK,EAAEA,KAAM;AACbC,QAAAA,QAAQ,EAAEsD,YAAa;AACvB/B,QAAAA,QAAQ,EAAEU,OAAO,KAAK,IAAI,GAAGV,QAAQ,GAAGyD,SAAU;AAClDnF,QAAAA,GAAG,EAAEA,GAAI;AACTM,QAAAA,IAAI,EAAEA,IAAK;AACXD,QAAAA,IAAI,EAAEA,IAAK;AACXE,QAAAA,cAAc,EAAEA,cAAe;AAC/BC,QAAAA,QAAQ,EAAEA,QAAS;AACnBC,QAAAA,QAAQ,EAAEA,QAAS;AACnBC,QAAAA,KAAK,EAAEA,KAAM;AACbE,QAAAA,WAAW,EAAEA,WAAY;AACzBC,QAAAA,YAAY,EAAEA,YAAa;AAC3BC,QAAAA,UAAU,EAAEA,UAAW;AACvBC,QAAAA,SAAS,EAAEA,SAAU;AACrBqE,QAAAA,OAAO,EAAEhC,WAAY;AACrBe,QAAAA,SAAS,EAAEA,SAAU;AACrBkB,QAAAA,IAAI,EAAC,UAAU;AACf,QAAA,mBAAA,EAAkB,MAAM;AACxB,QAAA,eAAA,EAAetC,MAAO;AACtB,QAAA,eAAA,EAAeF,MAAO;AACtB,QAAA,uBAAA,EAAA,EAAA,CAAAyC,MAAA,CAA0BvC,MAAM,OAAAuC,MAAA,CAAIlD,OAAO,CAAG;AAC9C,QAAA,kBAAA,EAAkBa,YAAa;AAC/BtB,QAAAA,QAAQ,EAAE4D,MAAM,CAAC5D,QAAQ,IAAI,EAAE,CAAA;OAC3BC,EAAAA,IAAI,CACX,CACJ;AACD4D,MAAAA,eAAe,EAAE,KAAM;AACvBxF,MAAAA,GAAG,EAAEkD,SAAU;AACfhC,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KAAA,EAEnBM,UAAU,IAAIA,UAAU,CAACwC,YAAY,CAAC,IACnCe,OAAO,CAACf,YAAY,CAACV,MAAM,CAAC,iBACzBgB,KAAA,CAAAC,aAAA,CAAC1E,IAAI,EAAA;AACDQ,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAA,eAEnB6D,KAAA,CAAAC,aAAA,CAACkB,sBAAE,EAAA;AACCC,MAAAA,EAAE,EAAE3C,MAAO;AACXsC,MAAAA,IAAI,EAAC,SAAS;AACd,MAAA,YAAA,EAAY3E,KAAM;AAClBM,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,aAAa,EAAEA,aAAAA;AAAc,KAAA,EAE5B+C,YAAY,CAAC2B,GAAG,CAAC,UAACC,UAAU,EAAEC,KAAK,EAAA;AAAA,MAAA,oBAChCvB,KAAA,CAAAC,aAAA,CAACuB,6BAAc,EAAA;AACXC,QAAAA,GAAG,EAAEF,KAAM;AACXG,QAAAA,IAAI,EAAEJ,UAAW;AACjBK,QAAAA,OAAO,EAAE1C,eAAgB;QACzBmC,EAAE,EAAA,EAAA,CAAAJ,MAAA,CAAKvC,MAAM,OAAAuC,MAAA,CAAIO,KAAK,CAAG;QACzBzD,OAAO,EAAEA,OAAO,KAAKyD,KAAAA;AAAM,OAC9B,CAAC,CAAA;KACL,CAAC,EAEDpE,aAAa,iBACV6C,KAAA,CAAAC,aAAA,CAAC2B,yCAAqB,EAAA,IAAA,EAAEzE,aAAa,EAA0B,CAEnE,CACF,CAEH,CAAC,EAGfd,UAAU,iBACP2D,KAAA,CAAAC,aAAA,CAAC4B,8BAAU,EAAA;AAACT,MAAAA,EAAE,EAAEzC,YAAa;AAACzC,MAAAA,QAAQ,EAAEA,QAAS;AAACC,MAAAA,QAAQ,EAAEA,QAAAA;KACvDE,EAAAA,UACO,CAEd,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMyF,kBAAkB,GAAG;AAC9BC,EAAAA,IAAI,EAAE,cAAc;AACpBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE3G,gBAAgB;AACxB4G,EAAAA,IAAI,EAAJA,wBAAI;AACJC,EAAAA,QAAQ,EAAE;AACNpG,IAAAA,IAAI,EAAE,SAAS;AACfC,IAAAA,IAAI,EAAE,GAAG;AACTC,IAAAA,cAAc,EAAE,OAAA;GACnB;AACDmG,EAAAA,UAAU,EAAE;AACRrG,IAAAA,IAAI,EAAE;AACFsG,MAAAA,GAAG,EAAE,EAAA;AACT,KAAA;AACJ,GAAA;AACJ;;;;;"}
1
+ {"version":3,"file":"Autocomplete.js","sources":["../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, { forwardRef, useState, useReducer } from 'react';\nimport { safeUseId } from '@salutejs/plasma-core';\n\nimport { useDidMountEffect, useOutsideClick } from '../../hooks';\nimport { RootProps } from '../../engines';\nimport { getPlacements } from '../../utils';\n\nimport { focusedReducer } from './reducers/focusedReducer';\nimport { SuggestionItem, StyledTextField } from './ui';\nimport { StyledPopover, Ul, LeftHelper, base, InfiniteLoaderWrapper } from './Autocomplete.styles';\nimport type { AutocompleteProps, SuggestionItemType } from './Autocomplete.types';\nimport { useKeyNavigation } from './hooks/useKeyboardNavigation';\n\n/**\n * Компонент Autocomplete. Поле ввода с подсказками в выпадающем списке.\n */\nexport const autocompleteRoot = (Root: RootProps<HTMLInputElement, AutocompleteProps>) =>\n forwardRef<HTMLInputElement, AutocompleteProps>(\n (\n {\n value: outerValue,\n defaultValue,\n onChange,\n suggestions,\n view,\n size,\n labelPlacement,\n disabled,\n readOnly,\n label,\n leftHelper,\n contentLeft,\n contentRight,\n textBefore,\n textAfter,\n onScroll,\n listMaxHeight,\n listWidth,\n portal,\n filter,\n onSuggestionSelect,\n threshold = 2,\n renderList,\n renderListEnd,\n onSearch,\n\n hintText,\n\n ...rest\n },\n ref,\n ) => {\n const [focused, dispatchFocused] = useReducer(focusedReducer, null);\n const [innerValue, setInnerValue] = useState<string | number>('');\n const [isOpen, setIsOpen] = useState(false);\n\n const listId = safeUseId();\n const value = outerValue ?? innerValue;\n\n const helperTextId = safeUseId();\n\n const targetRef = useOutsideClick<HTMLDivElement>(() => {\n setIsOpen(false);\n });\n\n const handleFocus = () => {\n if (value.toString().length >= threshold) {\n setIsOpen(true);\n }\n };\n\n const handleItemClick = (e: SuggestionItemType) => {\n setInnerValue(e.label);\n\n if (onSuggestionSelect) {\n onSuggestionSelect(e);\n }\n\n setIsOpen(false);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const currentValue = e.target.value;\n\n setInnerValue(currentValue);\n\n if (onChange) {\n onChange(e);\n }\n\n if (currentValue.toString().length >= threshold) {\n setIsOpen(true);\n } else {\n setIsOpen(false);\n }\n };\n\n const defaultFilterCallback = ({ label }: { label: string }) => {\n return label.toLowerCase().includes(value.toString().toLowerCase());\n };\n\n const finalResults = suggestions?.filter(filter || defaultFilterCallback) || [];\n\n const { onKeyDown } = useKeyNavigation({\n isOpen,\n setIsOpen,\n focused,\n dispatchFocused,\n finalResults,\n handleItemClick,\n });\n\n useDidMountEffect(() => {\n dispatchFocused({ type: 'reset' });\n }, [value]);\n\n useDidMountEffect(() => {\n if (defaultValue) {\n setInnerValue(defaultValue);\n }\n }, [defaultValue]);\n\n return (\n <Root view={view} size={size} labelPlacement={labelPlacement} disabled={disabled} readOnly={readOnly}>\n <StyledPopover\n opened={isOpen}\n offset={[0, 0]}\n placement={getPlacements('bottom')}\n isFocusTrapped={false}\n usePortal={Boolean(portal)}\n frame={portal}\n target={\n <StyledTextField\n value={value}\n onChange={handleChange}\n onSearch={focused === null ? onSearch : undefined}\n ref={ref}\n size={size}\n view={view}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n label={label}\n contentLeft={contentLeft}\n contentRight={contentRight}\n textBefore={textBefore}\n textAfter={textAfter}\n onFocus={handleFocus}\n onKeyDown={onKeyDown}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-controls={listId}\n aria-expanded={isOpen}\n aria-activedescendant={`${listId}/${focused}`}\n aria-describedby={helperTextId}\n hintText={String(hintText || '')}\n {...rest}\n />\n }\n preventOverflow={false}\n ref={targetRef}\n listWidth={listWidth}\n >\n {(renderList && renderList(finalResults)) ||\n (Boolean(finalResults.length) && (\n <Root\n view={view}\n size={size}\n labelPlacement={labelPlacement}\n disabled={disabled}\n readOnly={readOnly}\n >\n <Ul\n id={listId}\n role=\"listbox\"\n aria-label={label}\n onScroll={onScroll}\n listMaxHeight={listMaxHeight}\n >\n {finalResults.map((suggestion, index) => (\n <SuggestionItem\n key={index}\n item={suggestion}\n onClick={handleItemClick}\n id={`${listId}/${index}`}\n focused={focused === index}\n />\n ))}\n\n {renderListEnd && (\n <InfiniteLoaderWrapper>{renderListEnd()}</InfiniteLoaderWrapper>\n )}\n </Ul>\n </Root>\n ))}\n </StyledPopover>\n\n {/* TODO: Дублируем хелпер для корректного позиционирования списка подсказок */}\n {leftHelper && (\n <LeftHelper id={helperTextId} disabled={disabled} readOnly={readOnly}>\n {leftHelper}\n </LeftHelper>\n )}\n </Root>\n );\n },\n );\n\nexport const autocompleteConfig = {\n name: 'Autocomplete',\n tag: 'div',\n layout: autocompleteRoot,\n base,\n defaults: {\n view: 'default',\n size: 'l',\n labelPlacement: 'outer',\n },\n variations: {\n view: {\n css: '',\n },\n },\n};\n"],"names":["autocompleteRoot","Root","forwardRef","_ref","ref","outerValue","value","defaultValue","onChange","suggestions","view","size","labelPlacement","disabled","readOnly","label","leftHelper","contentLeft","contentRight","textBefore","textAfter","onScroll","listMaxHeight","listWidth","portal","filter","onSuggestionSelect","_ref$threshold","threshold","renderList","renderListEnd","onSearch","hintText","rest","_objectWithoutProperties","_excluded","_useReducer","useReducer","focusedReducer","_useReducer2","_slicedToArray","focused","dispatchFocused","_useState","useState","_useState2","innerValue","setInnerValue","_useState3","_useState4","isOpen","setIsOpen","listId","safeUseId","helperTextId","targetRef","useOutsideClick","handleFocus","toString","length","handleItemClick","e","handleChange","currentValue","target","defaultFilterCallback","_ref2","toLowerCase","includes","finalResults","_useKeyNavigation","useKeyNavigation","onKeyDown","useDidMountEffect","type","React","createElement","StyledPopover","opened","offset","placement","getPlacements","isFocusTrapped","usePortal","Boolean","frame","StyledTextField","_extends","undefined","onFocus","role","concat","String","preventOverflow","Ul","id","map","suggestion","index","SuggestionItem","key","item","onClick","InfiniteLoaderWrapper","LeftHelper","autocompleteConfig","name","tag","layout","base","defaults","variations","css"],"mappings":"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"}
@@ -66,7 +66,7 @@ var calendarBaseRoot = function calendarBaseRoot(Root) {
66
66
  _useState8 = _rollupPluginBabelHelpers.slicedToArray(_useState7, 2),
67
67
  outOfRangeKey = _useState8[0],
68
68
  setOutOfRangeKey = _useState8[1];
69
- var _useReducer = React.useReducer(reducer.reducer, reducer.getInitialState(value, min, type)),
69
+ var _useReducer = React.useReducer(reducer.reducer, reducer.getInitialState(value, type)),
70
70
  _useReducer2 = _rollupPluginBabelHelpers.slicedToArray(_useReducer, 2),
71
71
  state = _useReducer2[0],
72
72
  dispatch = _useReducer2[1];
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarBase.js","sources":["../../../../src/components/Calendar/CalendarBase/CalendarBase.tsx"],"sourcesContent":["import React, {\n useCallback,\n useMemo,\n useReducer,\n useState,\n KeyboardEvent,\n HTMLAttributes,\n forwardRef,\n useEffect,\n} from 'react';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { IsOutOfRange, StyledCalendar } from './CalendarBase.styles';\n\nexport type CalendarBaseProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент календаря.\n */\nexport const calendarBaseRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarBaseProps>(\n (\n {\n value: externalValue,\n min,\n max,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n locale = 'ru',\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, type));\n\n const { date, calendarState, startYear, size } = state;\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].single },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (!prevValue) {\n setPrevValue(value);\n }\n\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n\n setPrevValue(value);\n }\n }, [value, prevValue]);\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n size={rest.size}\n firstDate={date}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n {calendarState === CalendarState.Days && (\n <CalendarDays\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onSetSelected={onSelectIndexes}\n onHoverDay={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n />\n )}\n {calendarState === CalendarState.Months && (\n <CalendarMonths\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n />\n )}\n {calendarState === CalendarState.Quarters && (\n <CalendarQuarters\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n {calendarState === CalendarState.Years && (\n <CalendarYears\n value={externalValue}\n date={date}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const calendarBaseConfig = {\n name: 'CalendarBase',\n tag: 'div',\n layout: calendarBaseRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarBaseRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","onChangeValue","_ref$locale","locale","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","single","isValueUpdate","UPDATE_DATE","React","createElement","_extends","ref","IsOutOfRange","key","role","CalendarHeader","firstDate","onUpdateCalendarState","CalendarState","Days","CalendarDays","hoveredDay","onChangeDay","onSetSelected","onHoverDay","Months","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","Quarters","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","Years","CalendarYears","hoveredYear","onChangeYear","onHoverYear","calendarBaseConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarBase.js","sources":["../../../../src/components/Calendar/CalendarBase/CalendarBase.tsx"],"sourcesContent":["import React, {\n useCallback,\n useMemo,\n useReducer,\n useState,\n KeyboardEvent,\n HTMLAttributes,\n forwardRef,\n useEffect,\n} from 'react';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { IsOutOfRange, StyledCalendar } from './CalendarBase.styles';\n\nexport type CalendarBaseProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент календаря.\n */\nexport const calendarBaseRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarBaseProps>(\n (\n {\n value: externalValue,\n min,\n max,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n locale = 'ru',\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, type));\n\n const { date, calendarState, startYear, size } = state;\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].single },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (!prevValue) {\n setPrevValue(value);\n }\n\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n\n setPrevValue(value);\n }\n }, [value, prevValue]);\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n size={rest.size}\n firstDate={date}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n {calendarState === CalendarState.Days && (\n <CalendarDays\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onSetSelected={onSelectIndexes}\n onHoverDay={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n />\n )}\n {calendarState === CalendarState.Months && (\n <CalendarMonths\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n />\n )}\n {calendarState === CalendarState.Quarters && (\n <CalendarQuarters\n value={externalValue}\n date={date}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n {calendarState === CalendarState.Years && (\n <CalendarYears\n value={externalValue}\n date={date}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n )}\n </Root>\n );\n },\n );\n\nexport const calendarBaseConfig = {\n name: 'CalendarBase',\n tag: 'div',\n layout: calendarBaseRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarBaseRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","onChangeValue","_ref$locale","locale","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","single","isValueUpdate","UPDATE_DATE","React","createElement","_extends","ref","IsOutOfRange","key","role","CalendarHeader","firstDate","onUpdateCalendarState","CalendarState","Days","CalendarDays","hoveredDay","onChangeDay","onSetSelected","onHoverDay","Months","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","Quarters","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","Years","CalendarYears","hoveredYear","onChangeYear","onHoverYear","calendarBaseConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -69,7 +69,7 @@ var calendarDoubleRoot = function calendarDoubleRoot(Root) {
69
69
  _useState8 = _rollupPluginBabelHelpers.slicedToArray(_useState7, 2),
70
70
  outOfRangeKey = _useState8[0],
71
71
  setOutOfRangeKey = _useState8[1];
72
- var _useReducer = React.useReducer(reducer.reducer, reducer.getInitialState(value, min, type, true)),
72
+ var _useReducer = React.useReducer(reducer.reducer, reducer.getInitialState(value, type, true)),
73
73
  _useReducer2 = _rollupPluginBabelHelpers.slicedToArray(_useReducer, 2),
74
74
  state = _useReducer2[0],
75
75
  dispatch = _useReducer2[1];
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n useMemo,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n useEffect,\n useReducer,\n} from 'react';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { YEAR_RENDER_COUNT, getNextDate, isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines/types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { IsOutOfRange } from '../CalendarBase/CalendarBase.styles';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n {\n value: externalValue,\n min,\n max,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n locale = 'ru',\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, min, type, true));\n\n const { date, calendarState, startYear, size } = state;\n\n const [firstDate, setFirstDate] = useState<DateObject>(date);\n const [secondDate, setSecondDate] = useState<DateObject>(date);\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n isDouble: true,\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n const updateSecondDate = () => {\n if (calendarState === CalendarState.Days) {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n setSecondDate({ year: nextYear, monthIndex: nextMonthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n setSecondDate({ year: date.year + 1, monthIndex: date.monthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Years) {\n setSecondDate({ year: startYear + YEAR_RENDER_COUNT, monthIndex: date.monthIndex, day: date.day });\n }\n };\n\n const getBoundaryDates = () => {\n // NOTE: Если установить индекс дня равным \"0\", то берется последнее число предыдущего месяца\n if (calendarState === CalendarState.Days) {\n return [\n new Date(firstDate.year, firstDate.monthIndex, 1),\n new Date(secondDate.year, secondDate.monthIndex + 1, 0),\n ];\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n return [new Date(firstDate.year, 0), new Date(secondDate.year, 12, 0)];\n }\n\n const endVisibleYear = startYear + YEAR_RENDER_COUNT * 2 - 1;\n return [new Date(startYear, 0), new Date(endVisibleYear, 11)];\n };\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].double },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (!prevValue) {\n setPrevValue(value);\n }\n\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n const [minVisibleDate, maxVisibleDate] = getBoundaryDates();\n\n if (value > maxVisibleDate || value < minVisibleDate) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n\n setPrevValue(value);\n }\n }, [value, prevValue]);\n\n useEffect(() => {\n setFirstDate(date);\n\n updateSecondDate();\n }, [date, calendarState]);\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n isDouble\n size={rest.size}\n firstDate={firstDate}\n secondDate={secondDate}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n\n <StyledWrapper>\n {calendarState === CalendarState.Days && (\n <>\n <CalendarDays\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarDays\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Months && (\n <>\n <CalendarMonths\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarMonths\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Quarters && (\n <>\n <CalendarQuarters\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarQuarters\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Years && (\n <>\n <CalendarYears\n value={externalValue}\n date={firstDate}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarYears\n value={externalValue}\n date={secondDate}\n startYear={startYear + YEAR_RENDER_COUNT}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n </StyledWrapper>\n </Root>\n );\n },\n );\n\nexport const calendarDoubleConfig = {\n name: 'CalendarDouble',\n tag: 'div',\n layout: calendarDoubleRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","onChangeValue","_ref$locale","locale","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useState9","_useState10","firstDate","setFirstDate","_useState11","_useState12","secondDate","setSecondDate","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","isDouble","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","updateSecondDate","CalendarState","Days","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","nextYear","nextMonthIndex","day","Months","Quarters","Years","YEAR_RENDER_COUNT","getBoundaryDates","Date","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","React","createElement","_extends","ref","IsOutOfRange","key","role","CalendarHeader","onUpdateCalendarState","StyledWrapper","Fragment","CalendarDays","hoveredDay","onChangeDay","onHoverDay","onSetSelected","_StyledSeparator","StyledSeparator","isSecond","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","_StyledSeparator2","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","_StyledSeparator3","CalendarYears","hoveredYear","onChangeYear","onHoverYear","_StyledSeparator4","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n useMemo,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n useEffect,\n useReducer,\n} from 'react';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { YEAR_RENDER_COUNT, getNextDate, isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines/types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { IsOutOfRange } from '../CalendarBase/CalendarBase.styles';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n {\n value: externalValue,\n min,\n max,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n locale = 'ru',\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, type, true));\n\n const { date, calendarState, startYear, size } = state;\n\n const [firstDate, setFirstDate] = useState<DateObject>(date);\n const [secondDate, setSecondDate] = useState<DateObject>(date);\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n isDouble: true,\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n const updateSecondDate = () => {\n if (calendarState === CalendarState.Days) {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n setSecondDate({ year: nextYear, monthIndex: nextMonthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n setSecondDate({ year: date.year + 1, monthIndex: date.monthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Years) {\n setSecondDate({ year: startYear + YEAR_RENDER_COUNT, monthIndex: date.monthIndex, day: date.day });\n }\n };\n\n const getBoundaryDates = () => {\n // NOTE: Если установить индекс дня равным \"0\", то берется последнее число предыдущего месяца\n if (calendarState === CalendarState.Days) {\n return [\n new Date(firstDate.year, firstDate.monthIndex, 1),\n new Date(secondDate.year, secondDate.monthIndex + 1, 0),\n ];\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n return [new Date(firstDate.year, 0), new Date(secondDate.year, 12, 0)];\n }\n\n const endVisibleYear = startYear + YEAR_RENDER_COUNT * 2 - 1;\n return [new Date(startYear, 0), new Date(endVisibleYear, 11)];\n };\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].double },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (!prevValue) {\n setPrevValue(value);\n }\n\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n const [minVisibleDate, maxVisibleDate] = getBoundaryDates();\n\n if (value > maxVisibleDate || value < minVisibleDate) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n\n setPrevValue(value);\n }\n }, [value, prevValue]);\n\n useEffect(() => {\n setFirstDate(date);\n\n updateSecondDate();\n }, [date, calendarState]);\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n isDouble\n size={rest.size}\n firstDate={firstDate}\n secondDate={secondDate}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n locale={locale}\n />\n\n <StyledWrapper>\n {calendarState === CalendarState.Days && (\n <>\n <CalendarDays\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarDays\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Months && (\n <>\n <CalendarMonths\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n />\n <StyledSeparator />\n <CalendarMonths\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n locale={locale}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Quarters && (\n <>\n <CalendarQuarters\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarQuarters\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Years && (\n <>\n <CalendarYears\n value={externalValue}\n date={firstDate}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarYears\n value={externalValue}\n date={secondDate}\n startYear={startYear + YEAR_RENDER_COUNT}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n </StyledWrapper>\n </Root>\n );\n },\n );\n\nexport const calendarDoubleConfig = {\n name: 'CalendarDouble',\n tag: 'div',\n layout: calendarDoubleRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","onChangeValue","_ref$locale","locale","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useState9","_useState10","firstDate","setFirstDate","_useState11","_useState12","secondDate","setSecondDate","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","isDouble","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","updateSecondDate","CalendarState","Days","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","nextYear","nextMonthIndex","day","Months","Quarters","Years","YEAR_RENDER_COUNT","getBoundaryDates","Date","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","React","createElement","_extends","ref","IsOutOfRange","key","role","CalendarHeader","onUpdateCalendarState","StyledWrapper","Fragment","CalendarDays","hoveredDay","onChangeDay","onHoverDay","onSetSelected","_StyledSeparator","StyledSeparator","isSecond","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","_StyledSeparator2","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","_StyledSeparator3","CalendarYears","hoveredYear","onChangeYear","onHoverYear","_StyledSeparator4","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","defaults"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAyBA;AACA;AACA;IACaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,IAA+D,EAAA;AAAA,EAAA,oBAC9FC,gBAAU,CACN,UAAAC,IAAA,EAmBIC,YAAY,EACX;AAAA,IAAA,IAlBUC,aAAa,GAAAF,IAAA,CAApBG,KAAK;MACLC,GAAG,GAAAJ,IAAA,CAAHI,GAAG;MACHC,GAAG,GAAAL,IAAA,CAAHK,GAAG;MACHC,gBAAgB,GAAAN,IAAA,CAAhBM,gBAAgB;MAAAC,SAAA,GAAAP,IAAA,CAChBQ,IAAI;AAAJA,MAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;MACbE,SAAS,GAAAT,IAAA,CAATS,SAAS;MACTC,YAAY,GAAAV,IAAA,CAAZU,YAAY;MACZC,cAAc,GAAAX,IAAA,CAAdW,cAAc;MACdC,iBAAiB,GAAAZ,IAAA,CAAjBY,iBAAiB;MACjBC,gBAAgB,GAAAb,IAAA,CAAhBa,gBAAgB;MAChBC,mBAAmB,GAAAd,IAAA,CAAnBc,mBAAmB;MACnBC,aAAa,GAAAf,IAAA,CAAbe,aAAa;MACbC,gBAAgB,GAAAhB,IAAA,CAAhBgB,gBAAgB;MAChBC,aAAa,GAAAjB,IAAA,CAAbiB,aAAa;MAAAC,WAAA,GAAAlB,IAAA,CACbmB,MAAM;AAANA,MAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,WAAA;AACVE,MAAAA,IAAI,GAAAC,iDAAA,CAAArB,IAAA,EAAAsB,SAAA,CAAA,CAAA;IAIX,IAAAC,QAAA,GAAkCC,aAAO,CACrC,YAAA;QAAA,OAAOC,KAAK,CAACC,OAAO,CAACxB,aAAa,CAAC,GAAGA,aAAa,GAAG,CAACA,aAAa,CAAC,CAAA;AAAA,OAAC,EACtE,CAACA,aAAa,CAClB,CAAC;MAAAyB,SAAA,GAAAC,uCAAA,CAAAL,QAAA,EAAA,CAAA,CAAA;AAHMM,MAAAA,UAAU,GAAAF,SAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,WAAW,GAAAH,SAAA,CAAA,CAAA,CAAA,CAAA;AAI9B,IAAA,IAAMxB,KAAK,GAAG2B,WAAW,IAAID,UAAU,CAAA;AAEvC,IAAA,IAAAE,SAAA,GAAsCC,cAAQ,EAA0B;MAAAC,UAAA,GAAAL,uCAAA,CAAAG,SAAA,EAAA,CAAA,CAAA;AAAjEG,MAAAA,WAAW,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAClC,IAAA,IAAAG,UAAA,GAAgCJ,cAAQ,CAACxB,IAAI,CAAC;MAAA6B,UAAA,GAAAT,uCAAA,CAAAQ,UAAA,EAAA,CAAA,CAAA;AAAvCE,MAAAA,QAAQ,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,WAAW,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5B,IAAA,IAAAG,UAAA,GAAkCR,cAAQ,CAAC7B,KAAK,CAAC;MAAAsC,UAAA,GAAAb,uCAAA,CAAAY,UAAA,EAAA,CAAA,CAAA;AAA1CE,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,IAAA,IAAAG,UAAA,GAA0CZ,cAAQ,CAAS,CAAC,CAAC;MAAAa,UAAA,GAAAjB,uCAAA,CAAAgB,UAAA,EAAA,CAAA,CAAA;AAAtDE,MAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtC,IAAA,IAAAG,WAAA,GAA0BC,gBAAU,CAACC,eAAO,EAAEC,uBAAe,CAAChD,KAAK,EAAEK,IAAI,EAAE,IAAI,CAAC,CAAC;MAAA4C,YAAA,GAAAxB,uCAAA,CAAAoB,WAAA,EAAA,CAAA,CAAA;AAA1EK,MAAAA,KAAK,GAAAD,YAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,QAAQ,GAAAF,YAAA,CAAA,CAAA,CAAA,CAAA;AAEtB,IAAA,IAAQG,IAAI,GAAqCF,KAAK,CAA9CE,IAAI;MAAEC,aAAa,GAAsBH,KAAK,CAAxCG,aAAa;MAAEC,SAAS,GAAWJ,KAAK,CAAzBI,SAAS;MAAEC,IAAI,GAAKL,KAAK,CAAdK,IAAI,CAAA;AAE5C,IAAA,IAAAC,UAAA,GAAkC3B,cAAQ,CAAauB,IAAI,CAAC;MAAAK,WAAA,GAAAhC,uCAAA,CAAA+B,UAAA,EAAA,CAAA,CAAA;AAArDE,MAAAA,SAAS,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,IAAA,IAAAG,WAAA,GAAoC/B,cAAQ,CAAauB,IAAI,CAAC;MAAAS,WAAA,GAAApC,uCAAA,CAAAmC,WAAA,EAAA,CAAA,CAAA;AAAvDE,MAAAA,UAAU,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,aAAa,GAAAF,WAAA,CAAA,CAAA,CAAA,CAAA;IAEhC,IAAAG,qBAAA,GAAmCC,2CAAqB,CAAC;AACrDZ,QAAAA,aAAa,EAAbA,aAAa;AACbD,QAAAA,IAAI,EAAJA,IAAI;AACJD,QAAAA,QAAQ,EAARA,QAAAA;AACJ,OAAC,CAAC;MAJMe,UAAU,GAAAF,qBAAA,CAAVE,UAAU;MAAEC,UAAU,GAAAH,qBAAA,CAAVG,UAAU,CAAA;IAM9B,IAAAC,iBAAA,GAA6EC,iCAAgB,CAAC;AAC1FC,QAAAA,QAAQ,EAAE,IAAI;AACdf,QAAAA,IAAI,EAAJA,IAAI;AACJF,QAAAA,aAAa,EAAbA,aAAa;AACbkB,QAAAA,MAAM,EAAEL,UAAU;AAClBM,QAAAA,MAAM,EAAEL,UAAAA;AACZ,OAAC,CAAC;MAAAM,kBAAA,GAAAhD,uCAAA,CAAA2C,iBAAA,EAAA,CAAA,CAAA;AANKM,MAAAA,aAAa,GAAAD,kBAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,SAAS,GAAAF,kBAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,eAAe,GAAAH,kBAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,SAAS,GAAAJ,kBAAA,CAAA,CAAA,CAAA;AAAEK,MAAAA,YAAY,GAAAL,kBAAA,CAAA,CAAA,CAAA,CAAA;IAQzE,IAAAM,qBAAA,GAMIC,2CAAqB,CAAC;AAAE3E,QAAAA,IAAI,EAAJA,IAAI;AAAES,QAAAA,aAAa,EAAbA,aAAa;AAAE8D,QAAAA,eAAe,EAAfA,eAAe;AAAEzB,QAAAA,QAAQ,EAARA,QAAAA;AAAS,OAAC,CAAC;MALzE8B,iBAAiB,GAAAF,qBAAA,CAAjBE,iBAAiB;MACjBC,mBAAmB,GAAAH,qBAAA,CAAnBG,mBAAmB;MACnBC,qBAAqB,GAAAJ,qBAAA,CAArBI,qBAAqB;MACrBC,kBAAkB,GAAAL,qBAAA,CAAlBK,kBAAkB;MAClBC,yBAAyB,GAAAN,qBAAA,CAAzBM,yBAAyB,CAAA;AAG7B,IAAA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC3B,MAAA,IAAIjC,aAAa,KAAKkC,mBAAa,CAACC,IAAI,EAAE;QACtC,IAAAC,YAAA,GAAmCC,8BAAW,CAACtC,IAAI,CAACuC,IAAI,EAAEvC,IAAI,CAACwC,UAAU,CAAC;UAAAC,aAAA,GAAApE,uCAAA,CAAAgE,YAAA,EAAA,CAAA,CAAA;AAAnEK,UAAAA,QAAQ,GAAAD,aAAA,CAAA,CAAA,CAAA;AAAEE,UAAAA,cAAc,GAAAF,aAAA,CAAA,CAAA,CAAA,CAAA;AAC/B9B,QAAAA,aAAa,CAAC;AAAE4B,UAAAA,IAAI,EAAEG,QAAQ;AAAEF,UAAAA,UAAU,EAAEG,cAAc;UAAEC,GAAG,EAAE5C,IAAI,CAAC4C,GAAAA;AAAI,SAAC,CAAC,CAAA;AAChF,OAAA;MAEA,IAAI3C,aAAa,KAAKkC,mBAAa,CAACU,MAAM,IAAI5C,aAAa,KAAKkC,mBAAa,CAACW,QAAQ,EAAE;AACpFnC,QAAAA,aAAa,CAAC;AAAE4B,UAAAA,IAAI,EAAEvC,IAAI,CAACuC,IAAI,GAAG,CAAC;UAAEC,UAAU,EAAExC,IAAI,CAACwC,UAAU;UAAEI,GAAG,EAAE5C,IAAI,CAAC4C,GAAAA;AAAI,SAAC,CAAC,CAAA;AACtF,OAAA;AAEA,MAAA,IAAI3C,aAAa,KAAKkC,mBAAa,CAACY,KAAK,EAAE;AACvCpC,QAAAA,aAAa,CAAC;UAAE4B,IAAI,EAAErC,SAAS,GAAG8C,2BAAiB;UAAER,UAAU,EAAExC,IAAI,CAACwC,UAAU;UAAEI,GAAG,EAAE5C,IAAI,CAAC4C,GAAAA;AAAI,SAAC,CAAC,CAAA;AACtG,OAAA;KACH,CAAA;AAED,IAAA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAS;AAC3B;AACA,MAAA,IAAIhD,aAAa,KAAKkC,mBAAa,CAACC,IAAI,EAAE;AACtC,QAAA,OAAO,CACH,IAAIc,IAAI,CAAC5C,SAAS,CAACiC,IAAI,EAAEjC,SAAS,CAACkC,UAAU,EAAE,CAAC,CAAC,EACjD,IAAIU,IAAI,CAACxC,UAAU,CAAC6B,IAAI,EAAE7B,UAAU,CAAC8B,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAC1D,CAAA;AACL,OAAA;MAEA,IAAIvC,aAAa,KAAKkC,mBAAa,CAACU,MAAM,IAAI5C,aAAa,KAAKkC,mBAAa,CAACW,QAAQ,EAAE;QACpF,OAAO,CAAC,IAAII,IAAI,CAAC5C,SAAS,CAACiC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAIW,IAAI,CAACxC,UAAU,CAAC6B,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AAC1E,OAAA;MAEA,IAAMY,cAAc,GAAGjD,SAAS,GAAG8C,2BAAiB,GAAG,CAAC,GAAG,CAAC,CAAA;AAC5D,MAAA,OAAO,CAAC,IAAIE,IAAI,CAAChD,SAAS,EAAE,CAAC,CAAC,EAAE,IAAIgD,IAAI,CAACC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAA;KAChE,CAAA;;AAED;AACA;AACA;AACA,IAAA,IAAMC,aAAa,GAAGC,iBAAW,CAC7B,UAACC,KAAoC,EAAK;MACtC9D,gBAAgB,CAAC,UAAC+D,aAAa,EAAA;AAAA,QAAA,OAAKC,MAAM,CAAC,CAACD,aAAa,CAAC,CAAA;OAAC,CAAA,CAAA;MAE3DhC,SAAS,CAAC+B,KAAK,CAAC,CAAA;AACpB,KAAC,EACD,CAAC/B,SAAS,CACd,CAAC,CAAA;AAEDkC,IAAAA,eAAS,CAAC,YAAM;MACZ,IAAI1E,QAAQ,KAAKkB,aAAa,EAAE;AAC5BF,QAAAA,QAAQ,CAAC;UACL9C,IAAI,EAAEyG,gBAAU,CAACC,qBAAqB;AACtCC,UAAAA,OAAO,EAAE;AAAE3D,YAAAA,aAAa,EAAbA,aAAa;AAAEE,YAAAA,IAAI,EAAE0D,eAAO,CAAC5D,aAAa,CAAC,CAAA,QAAA,CAAA;AAAQ,WAAA;AAClE,SAAC,CAAC,CAAA;QAEFjB,WAAW,CAACiB,aAAa,CAAC,CAAA;AAC9B,OAAA;AACJ,KAAC,EAAE,CAACA,aAAa,CAAC,CAAC,CAAA;AAEnBwD,IAAAA,eAAS,CAAC,YAAM;MACZ,IAAI,CAACtE,SAAS,EAAE;QACZC,YAAY,CAACxC,KAAK,CAAC,CAAA;AACvB,OAAA;AAEA,MAAA,IAAKA,KAAK,IAAIuC,SAAS,IAAI2E,iCAAa,CAAClH,KAAK,EAAEuC,SAAS,CAAC,IAAMvC,KAAK,IAAI,CAACuC,SAAU,EAAE;AAClF,QAAA,IAAA4E,iBAAA,GAAyCd,gBAAgB,EAAE;UAAAe,kBAAA,GAAA3F,uCAAA,CAAA0F,iBAAA,EAAA,CAAA,CAAA;AAApDE,UAAAA,cAAc,GAAAD,kBAAA,CAAA,CAAA,CAAA;AAAEE,UAAAA,cAAc,GAAAF,kBAAA,CAAA,CAAA,CAAA,CAAA;AAErC,QAAA,IAAIpH,KAAK,GAAGsH,cAAc,IAAItH,KAAK,GAAGqH,cAAc,EAAE;AAClDlE,UAAAA,QAAQ,CAAC;YACL9C,IAAI,EAAEyG,gBAAU,CAACS,WAAW;AAC5BP,YAAAA,OAAO,EAAE;AAAEhH,cAAAA,KAAK,EAALA,KAAAA;AAAM,aAAA;AACrB,WAAC,CAAC,CAAA;AACN,SAAA;QAEAwC,YAAY,CAACxC,KAAK,CAAC,CAAA;AACvB,OAAA;AACJ,KAAC,EAAE,CAACA,KAAK,EAAEuC,SAAS,CAAC,CAAC,CAAA;AAEtBsE,IAAAA,eAAS,CAAC,YAAM;MACZlD,YAAY,CAACP,IAAI,CAAC,CAAA;AAElBkC,MAAAA,gBAAgB,EAAE,CAAA;AACtB,KAAC,EAAE,CAAClC,IAAI,EAAEC,aAAa,CAAC,CAAC,CAAA;AAEzB,IAAA,oBACImE,KAAA,CAAAC,aAAA,CAAC9H,IAAI,EAAA+H,iCAAA,CAAA;AAACC,MAAAA,GAAG,EAAE7H,YAAa;MAAC,YAAW,EAAA,yDAAA;KAAiBmB,EAAAA,IAAI,GACpD6D,YAAY,iBACT0C,KAAA,CAAAC,aAAA,CAACG,gCAAY,EAAA;AACTC,MAAAA,GAAG,EAAElF,aAAc;AACnB,MAAA,aAAA,EAAY,MAAM;AAClBmF,MAAAA,IAAI,EAAC,OAAO;AACZ,MAAA,WAAA,EAAU,WAAW;MACrB,eAAc,EAAA,WAAA;AAAW,KAAA,EAC5B,8HAEa,CACjB,eACDN,KAAA,CAAAC,aAAA,CAACM,6BAAc,EAAA;MACXzD,QAAQ,EAAA,IAAA;MACRf,IAAI,EAAEtC,IAAI,CAACsC,IAAK;AAChBG,MAAAA,SAAS,EAAEA,SAAU;AACrBI,MAAAA,UAAU,EAAEA,UAAW;AACvBR,MAAAA,SAAS,EAAEA,SAAU;AACrBjD,MAAAA,IAAI,EAAEgD,aAAc;AACpBmB,MAAAA,MAAM,EAAEL,UAAW;AACnBI,MAAAA,MAAM,EAAEL,UAAW;AACnB8D,MAAAA,qBAAqB,EAAE3C,yBAA0B;AACjDrE,MAAAA,MAAM,EAAEA,MAAAA;KACX,CAAC,eAEFwG,KAAA,CAAAC,aAAA,CAACQ,mCAAa,EACT5E,IAAAA,EAAAA,aAAa,KAAKkC,mBAAa,CAACC,IAAI,iBACjCgC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAU,QAAA,EAAA,IAAA,eACIV,KAAA,CAAAC,aAAA,CAACU,yBAAY,EAAA;AACTnI,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEM,SAAU;AAChBzD,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BJ,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCiI,MAAAA,UAAU,EAAErG,WAAY;AACxB2C,MAAAA,aAAa,EAAEA,aAAc;AAC7B2D,MAAAA,WAAW,EAAEpD,iBAAkB;AAC/BqD,MAAAA,UAAU,EAAEtG,cAAe;AAC3BuG,MAAAA,aAAa,EAAE3D,eAAgB;AAC/BD,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;AACrB7D,MAAAA,MAAM,EAAEA,MAAO;MACfsD,QAAQ,EAAA,IAAA;AAAA,KACX,CAAC,EAAAkE,gBAAA,KAAAA,gBAAA,gBACFhB,KAAA,CAAAC,aAAA,CAACgB,qCAAe,MAAE,CAAC,CAAA,eACnBjB,KAAA,CAAAC,aAAA,CAACU,yBAAY,EAAA;AACTnI,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEU,UAAW;AACjB7D,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BJ,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCiI,MAAAA,UAAU,EAAErG,WAAY;AACxB2C,MAAAA,aAAa,EAAEA,aAAc;AAC7B2D,MAAAA,WAAW,EAAEpD,iBAAkB;AAC/BqD,MAAAA,UAAU,EAAEtG,cAAe;AAC3BuG,MAAAA,aAAa,EAAE3D,eAAgB;AAC/BD,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;AACrB7D,MAAAA,MAAM,EAAEA,MAAO;MACfsD,QAAQ,EAAA,IAAA;MACRoE,QAAQ,EAAA,IAAA;KACX,CACH,CACL,EACArF,aAAa,KAAKkC,mBAAa,CAACU,MAAM,iBACnCuB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAU,QAAA,qBACIV,KAAA,CAAAC,aAAA,CAACkB,6BAAc,EAAA;AACX3I,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEM,SAAU;AAChBzD,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEE,cAAe;AAC1BD,MAAAA,YAAY,EAAEE,iBAAkB;AAChCmI,MAAAA,YAAY,EAAE7G,WAAY;AAC1B2C,MAAAA,aAAa,EAAEA,aAAc;AAC7BmE,MAAAA,aAAa,EAAE3D,mBAAoB;AACnCqD,MAAAA,aAAa,EAAE3D,eAAgB;AAC/BkE,MAAAA,YAAY,EAAE9G,cAAe;AAC7B2C,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;AACrB7D,MAAAA,MAAM,EAAEA,MAAO;MACfsD,QAAQ,EAAA,IAAA;AAAA,KACX,CAAC,EAAAyE,iBAAA,KAAAA,iBAAA,gBACFvB,KAAA,CAAAC,aAAA,CAACgB,qCAAe,MAAE,CAAC,CAAA,eACnBjB,KAAA,CAAAC,aAAA,CAACkB,6BAAc,EAAA;AACX3I,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEU,UAAW;AACjB7D,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEE,cAAe;AAC1BD,MAAAA,YAAY,EAAEE,iBAAkB;AAChCmI,MAAAA,YAAY,EAAE7G,WAAY;AAC1B2C,MAAAA,aAAa,EAAEA,aAAc;AAC7BmE,MAAAA,aAAa,EAAE3D,mBAAoB;AACnCqD,MAAAA,aAAa,EAAE3D,eAAgB;AAC/BkE,MAAAA,YAAY,EAAE9G,cAAe;AAC7B2C,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;AACrB7D,MAAAA,MAAM,EAAEA,MAAO;MACfsD,QAAQ,EAAA,IAAA;MACRoE,QAAQ,EAAA,IAAA;KACX,CACH,CACL,EACArF,aAAa,KAAKkC,mBAAa,CAACW,QAAQ,iBACrCsB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAU,QAAA,qBACIV,KAAA,CAAAC,aAAA,CAACuB,iCAAgB,EAAA;AACbhJ,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEM,SAAU;AAChBzD,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEI,gBAAiB;AAC5BH,MAAAA,YAAY,EAAEI,mBAAoB;AAClCsI,MAAAA,cAAc,EAAElH,WAAY;AAC5B2C,MAAAA,aAAa,EAAEA,aAAc;AAC7BwE,MAAAA,eAAe,EAAE/D,qBAAsB;AACvCoD,MAAAA,aAAa,EAAE3D,eAAgB;AAC/BuE,MAAAA,cAAc,EAAEnH,cAAe;AAC/B2C,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;MACrBP,QAAQ,EAAA,IAAA;AAAA,KACX,CAAC,EAAA8E,iBAAA,KAAAA,iBAAA,gBACF5B,KAAA,CAAAC,aAAA,CAACgB,qCAAe,MAAE,CAAC,CAAA,eACnBjB,KAAA,CAAAC,aAAA,CAACuB,iCAAgB,EAAA;AACbhJ,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEU,UAAW;AACjB7D,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEI,gBAAiB;AAC5BH,MAAAA,YAAY,EAAEI,mBAAoB;AAClCsI,MAAAA,cAAc,EAAElH,WAAY;AAC5B2C,MAAAA,aAAa,EAAEA,aAAc;AAC7BwE,MAAAA,eAAe,EAAE/D,qBAAsB;AACvCoD,MAAAA,aAAa,EAAE3D,eAAgB;AAC/BuE,MAAAA,cAAc,EAAEnH,cAAe;AAC/B2C,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;MACrBP,QAAQ,EAAA,IAAA;MACRoE,QAAQ,EAAA,IAAA;KACX,CACH,CACL,EACArF,aAAa,KAAKkC,mBAAa,CAACY,KAAK,iBAClCqB,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAU,QAAA,qBACIV,KAAA,CAAAC,aAAA,CAAC4B,2BAAa,EAAA;AACVrJ,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEM,SAAU;AAChBJ,MAAAA,SAAS,EAAEA,SAAU;AACrBoB,MAAAA,aAAa,EAAEA,aAAc;AAC7BzE,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEM,aAAc;AACzBL,MAAAA,YAAY,EAAEM,gBAAiB;AAC/ByI,MAAAA,WAAW,EAAEvH,WAAY;AACzBwH,MAAAA,YAAY,EAAEnE,kBAAmB;AACjCmD,MAAAA,aAAa,EAAE3D,eAAgB;AAC/B4E,MAAAA,WAAW,EAAExH,cAAe;AAC5B2C,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;MACrBP,QAAQ,EAAA,IAAA;AAAA,KACX,CAAC,EAAAmF,iBAAA,KAAAA,iBAAA,gBACFjC,KAAA,CAAAC,aAAA,CAACgB,qCAAe,MAAE,CAAC,CAAA,eACnBjB,KAAA,CAAAC,aAAA,CAAC4B,2BAAa,EAAA;AACVrJ,MAAAA,KAAK,EAAED,aAAc;AACrBqD,MAAAA,IAAI,EAAEU,UAAW;MACjBR,SAAS,EAAEA,SAAS,GAAG8C,2BAAkB;AACzC1B,MAAAA,aAAa,EAAEA,aAAc;AAC7BzE,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTI,MAAAA,SAAS,EAAEM,aAAc;AACzBL,MAAAA,YAAY,EAAEM,gBAAiB;AAC/ByI,MAAAA,WAAW,EAAEvH,WAAY;AACzBwH,MAAAA,YAAY,EAAEnE,kBAAmB;AACjCmD,MAAAA,aAAa,EAAE3D,eAAgB;AAC/B4E,MAAAA,WAAW,EAAExH,cAAe;AAC5B2C,MAAAA,SAAS,EAAE6B,aAAc;AACzB3B,MAAAA,SAAS,EAAEA,SAAU;MACrBP,QAAQ,EAAA,IAAA;MACRoE,QAAQ,EAAA,IAAA;KACX,CACH,CAEK,CACb,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMgB,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAEnK,kBAAkB;AAC1BoK,EAAAA,IAAI,EAAEC,oCAAc;AACpBC,EAAAA,UAAU,EAAE;AACRC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAEC,SAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNH,IAAAA,IAAI,EAAE,SAAS;AACf1G,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;;"}
@@ -24,8 +24,8 @@ var sizeMap = {
24
24
  "double": [3, 1]
25
25
  }
26
26
  };
27
- var getInitialState = function getInitialState(value, min, calendarState, isDouble) {
28
- var initDate = value || min || new Date();
27
+ var getInitialState = function getInitialState(value, calendarState, isDouble) {
28
+ var initDate = value || new Date();
29
29
  var date = calendarGridHelper.getDateFromValue(initDate);
30
30
  var resSize = isDouble ? sizeMap[calendarState]["double"] : sizeMap[calendarState].single;
31
31
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sources":["../../../../src/components/Calendar/store/reducer.ts"],"sourcesContent":["import { getDateFromValue, getNextDate, getPrevDate, getStartYear } from '../utils';\n\nimport { CalendarStateType, Action, ActionType, InitialState, SizeMap } from './types';\n\nexport const sizeMap: SizeMap = {\n Days: {\n single: [5, 6],\n double: [11, 6],\n },\n Months: {\n single: [3, 2],\n double: [7, 2],\n },\n Years: {\n single: [3, 2],\n double: [7, 2],\n },\n Quarters: {\n single: [1, 1],\n double: [3, 1],\n },\n};\n\nexport const getInitialState = (\n value: Date | undefined,\n min: Date | undefined,\n calendarState: CalendarStateType,\n isDouble?: boolean,\n): InitialState => {\n const initDate = value || min || new Date();\n const date = getDateFromValue(initDate);\n\n const resSize: [number, number] = isDouble ? sizeMap[calendarState].double : sizeMap[calendarState].single;\n\n return {\n date: { ...date, day: value !== undefined ? date.day : 0 },\n startYear: getStartYear(date.year),\n calendarState,\n size: resSize,\n };\n};\n\nexport const reducer = (state: InitialState, action: Action): InitialState => {\n switch (action.type) {\n case ActionType.PREVIOUS_MONTH: {\n const { year, monthIndex } = action.payload;\n const [prevYear, prevMonthIndex] = getPrevDate(year, monthIndex);\n\n return {\n ...state,\n date: {\n day: state.date.day,\n monthIndex: prevMonthIndex,\n year: prevYear,\n },\n };\n }\n case ActionType.NEXT_MONTH: {\n const { monthIndex, year } = action.payload;\n const [nextYear, nextMonthIndex] = getNextDate(year, monthIndex);\n\n return {\n ...state,\n date: {\n day: state.date.day,\n monthIndex: nextMonthIndex,\n year: nextYear,\n },\n };\n }\n case ActionType.PREVIOUS_YEAR: {\n const { step } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear - step,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year: state.date.year - step,\n },\n };\n }\n case ActionType.NEXT_YEAR: {\n const { step } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear + step,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year: state.date.year + step,\n },\n };\n }\n case ActionType.PREVIOUS_START_YEAR: {\n const { yearsCount } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear - yearsCount,\n };\n }\n case ActionType.NEXT_START_YEAR: {\n const { yearsCount } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear + yearsCount,\n };\n }\n case ActionType.UPDATE_DATE: {\n const { value } = action.payload;\n const date = getDateFromValue(value);\n const startYear = getStartYear(value.getFullYear());\n\n return {\n ...state,\n date,\n startYear,\n };\n }\n case ActionType.UPDATE_MONTH: {\n const { calendarState, monthIndex, size } = action.payload;\n\n return {\n ...state,\n size,\n calendarState,\n date: {\n day: state.date.day,\n monthIndex,\n year: state.date.year,\n },\n };\n }\n case ActionType.UPDATE_YEAR: {\n const { calendarState, year, size } = action.payload;\n\n return {\n ...state,\n size,\n calendarState,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year,\n },\n };\n }\n case ActionType.UPDATE_CALENDAR_STATE: {\n const { calendarState, size } = action.payload;\n\n return {\n ...state,\n calendarState,\n size: size || state.size,\n };\n }\n default:\n return state;\n }\n};\n"],"names":["sizeMap","Days","single","Months","Years","Quarters","getInitialState","value","min","calendarState","isDouble","initDate","Date","date","getDateFromValue","resSize","_objectSpread","day","undefined","startYear","getStartYear","year","size","reducer","state","action","type","ActionType","PREVIOUS_MONTH","_action$payload","payload","monthIndex","_getPrevDate","getPrevDate","_getPrevDate2","_slicedToArray","prevYear","prevMonthIndex","NEXT_MONTH","_action$payload2","_getNextDate","getNextDate","_getNextDate2","nextYear","nextMonthIndex","PREVIOUS_YEAR","step","NEXT_YEAR","PREVIOUS_START_YEAR","yearsCount","NEXT_START_YEAR","UPDATE_DATE","getFullYear","UPDATE_MONTH","_action$payload3","UPDATE_YEAR","_action$payload4","UPDATE_CALENDAR_STATE","_action$payload5"],"mappings":"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"}
1
+ {"version":3,"file":"reducer.js","sources":["../../../../src/components/Calendar/store/reducer.ts"],"sourcesContent":["import { getDateFromValue, getNextDate, getPrevDate, getStartYear } from '../utils';\n\nimport { CalendarStateType, Action, ActionType, InitialState, SizeMap } from './types';\n\nexport const sizeMap: SizeMap = {\n Days: {\n single: [5, 6],\n double: [11, 6],\n },\n Months: {\n single: [3, 2],\n double: [7, 2],\n },\n Years: {\n single: [3, 2],\n double: [7, 2],\n },\n Quarters: {\n single: [1, 1],\n double: [3, 1],\n },\n};\n\nexport const getInitialState = (\n value: Date | undefined,\n calendarState: CalendarStateType,\n isDouble?: boolean,\n): InitialState => {\n const initDate = value || new Date();\n const date = getDateFromValue(initDate);\n\n const resSize: [number, number] = isDouble ? sizeMap[calendarState].double : sizeMap[calendarState].single;\n\n return {\n date: { ...date, day: value !== undefined ? date.day : 0 },\n startYear: getStartYear(date.year),\n calendarState,\n size: resSize,\n };\n};\n\nexport const reducer = (state: InitialState, action: Action): InitialState => {\n switch (action.type) {\n case ActionType.PREVIOUS_MONTH: {\n const { year, monthIndex } = action.payload;\n const [prevYear, prevMonthIndex] = getPrevDate(year, monthIndex);\n\n return {\n ...state,\n date: {\n day: state.date.day,\n monthIndex: prevMonthIndex,\n year: prevYear,\n },\n };\n }\n case ActionType.NEXT_MONTH: {\n const { monthIndex, year } = action.payload;\n const [nextYear, nextMonthIndex] = getNextDate(year, monthIndex);\n\n return {\n ...state,\n date: {\n day: state.date.day,\n monthIndex: nextMonthIndex,\n year: nextYear,\n },\n };\n }\n case ActionType.PREVIOUS_YEAR: {\n const { step } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear - step,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year: state.date.year - step,\n },\n };\n }\n case ActionType.NEXT_YEAR: {\n const { step } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear + step,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year: state.date.year + step,\n },\n };\n }\n case ActionType.PREVIOUS_START_YEAR: {\n const { yearsCount } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear - yearsCount,\n };\n }\n case ActionType.NEXT_START_YEAR: {\n const { yearsCount } = action.payload;\n\n return {\n ...state,\n startYear: state.startYear + yearsCount,\n };\n }\n case ActionType.UPDATE_DATE: {\n const { value } = action.payload;\n const date = getDateFromValue(value);\n const startYear = getStartYear(value.getFullYear());\n\n return {\n ...state,\n date,\n startYear,\n };\n }\n case ActionType.UPDATE_MONTH: {\n const { calendarState, monthIndex, size } = action.payload;\n\n return {\n ...state,\n size,\n calendarState,\n date: {\n day: state.date.day,\n monthIndex,\n year: state.date.year,\n },\n };\n }\n case ActionType.UPDATE_YEAR: {\n const { calendarState, year, size } = action.payload;\n\n return {\n ...state,\n size,\n calendarState,\n date: {\n day: state.date.day,\n monthIndex: state.date.monthIndex,\n year,\n },\n };\n }\n case ActionType.UPDATE_CALENDAR_STATE: {\n const { calendarState, size } = action.payload;\n\n return {\n ...state,\n calendarState,\n size: size || state.size,\n };\n }\n default:\n return state;\n }\n};\n"],"names":["sizeMap","Days","single","Months","Years","Quarters","getInitialState","value","calendarState","isDouble","initDate","Date","date","getDateFromValue","resSize","_objectSpread","day","undefined","startYear","getStartYear","year","size","reducer","state","action","type","ActionType","PREVIOUS_MONTH","_action$payload","payload","monthIndex","_getPrevDate","getPrevDate","_getPrevDate2","_slicedToArray","prevYear","prevMonthIndex","NEXT_MONTH","_action$payload2","_getNextDate","getNextDate","_getNextDate2","nextYear","nextMonthIndex","PREVIOUS_YEAR","step","NEXT_YEAR","PREVIOUS_START_YEAR","yearsCount","NEXT_START_YEAR","UPDATE_DATE","getFullYear","UPDATE_MONTH","_action$payload3","UPDATE_YEAR","_action$payload4","UPDATE_CALENDAR_STATE","_action$payload5"],"mappings":"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"}
@@ -182,9 +182,24 @@ var comboboxRoot = function comboboxRoot(Root) {
182
182
 
183
183
  // Обработчик чипов
184
184
  var handleChipsChange = function handleChipsChange(chipLabels) {
185
- onChange(chipLabels.map(function (chipLabel) {
186
- return labelToItemMap.get(chipLabel).value;
187
- }));
185
+ if (!Array.isArray(value)) return;
186
+
187
+ // TODO: #1564
188
+ // Из лейблов чипов получаем value у item и далее прокидываем его в onChange.
189
+ if (renderValue && !isTargetAmount) {
190
+ var resultValues = _rollupPluginBabelHelpers.toConsumableArray(value);
191
+ value.forEach(function (_, index) {
192
+ var labelAfterRenderValue = renderValue(labelToItemMap.get(valueToItemMap.get(value[index]).label));
193
+ if (!chipLabels.includes(labelAfterRenderValue)) {
194
+ resultValues.splice(index, 1);
195
+ }
196
+ });
197
+ onChange(resultValues);
198
+ } else {
199
+ onChange(chipLabels.map(function (chipLabel) {
200
+ return labelToItemMap.get(chipLabel).value;
201
+ }));
202
+ }
188
203
  };
189
204
 
190
205
  // Обработчик открытия/закрытия выпадающего списка
@@ -353,7 +368,6 @@ var comboboxRoot = function comboboxRoot(Root) {
353
368
  handleItemClick: handleItemClick,
354
369
  variant: variant,
355
370
  renderItem: renderItem,
356
- valueToItemMap: valueToItemMap,
357
371
  treeId: treeId
358
372
  }
359
373
  }, /*#__PURE__*/React.createElement(FloatingPopover.FloatingPopover, {