@skbkontur/react-ui 4.0.5 → 4.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +0 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js +2 -9
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.styles.js +1 -1
  6. package/cjs/components/Button/Button.styles.js.map +1 -1
  7. package/cjs/components/DatePicker/DatePicker.d.ts +1 -1
  8. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  9. package/cjs/components/Hint/Hint.d.ts +5 -1
  10. package/cjs/components/Hint/Hint.js +9 -1
  11. package/cjs/components/Hint/Hint.js.map +1 -1
  12. package/cjs/components/Loader/Loader.js +7 -7
  13. package/cjs/components/Loader/Loader.js.map +1 -1
  14. package/cjs/components/Modal/Modal.js.map +1 -1
  15. package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -1
  16. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  17. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +1 -1
  18. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  19. package/cjs/components/ScrollContainer/ScrollContainer.js +3 -2
  20. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  21. package/cjs/components/Select/Select.d.ts +7 -5
  22. package/cjs/components/Select/Select.js +12 -2
  23. package/cjs/components/Select/Select.js.map +1 -1
  24. package/cjs/components/SidePage/SidePage.d.ts +0 -1
  25. package/cjs/components/SidePage/SidePage.js +1 -15
  26. package/cjs/components/SidePage/SidePage.js.map +1 -1
  27. package/cjs/components/SidePage/SidePageFooter.js +4 -3
  28. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  29. package/cjs/components/SidePage/SidePageHeader.js +3 -2
  30. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  31. package/cjs/components/Sticky/Sticky.js +4 -3
  32. package/cjs/components/Sticky/Sticky.js.map +1 -1
  33. package/cjs/components/Switcher/Switcher.d.ts +2 -1
  34. package/cjs/components/Switcher/Switcher.js +1 -0
  35. package/cjs/components/Switcher/Switcher.js.map +1 -1
  36. package/cjs/components/Tabs/Indicator.js +2 -1
  37. package/cjs/components/Tabs/Indicator.js.map +1 -1
  38. package/cjs/components/Tabs/Tabs.d.ts +3 -1
  39. package/cjs/components/Tabs/Tabs.js +8 -4
  40. package/cjs/components/Tabs/Tabs.js.map +1 -1
  41. package/cjs/components/TokenInput/TextWidthHelper.js +2 -1
  42. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  43. package/cjs/components/Tooltip/Tooltip.d.ts +4 -2
  44. package/cjs/components/Tooltip/Tooltip.js +10 -7
  45. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  46. package/cjs/internal/BGRuler.js +3 -1
  47. package/cjs/internal/BGRuler.js.map +1 -1
  48. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
  49. package/cjs/internal/CommonWrapper/CommonWrapper.js +15 -1
  50. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  51. package/cjs/internal/ComponentTable.d.ts +4 -2
  52. package/cjs/internal/ComponentTable.js +1 -0
  53. package/cjs/internal/ComponentTable.js.map +1 -1
  54. package/cjs/internal/DateSelect/DateSelect.js +2 -1
  55. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  56. package/cjs/internal/DropdownContainer/DropdownContainer.js +5 -10
  57. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  58. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +3 -2
  59. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  60. package/cjs/internal/InternalMenu/InternalMenu.js +3 -2
  61. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  62. package/cjs/internal/Popup/Popup.d.ts +1 -2
  63. package/cjs/internal/Popup/Popup.js +16 -13
  64. package/cjs/internal/Popup/Popup.js.map +1 -1
  65. package/cjs/internal/Popup/PopupHelper.js +4 -2
  66. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  67. package/cjs/internal/RenderContainer/RenderContainer.js +9 -0
  68. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  69. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
  70. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +3 -1
  71. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  72. package/cjs/internal/ThemePlayground/CheckboxPlayground.js +1 -0
  73. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
  74. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
  75. package/cjs/internal/ThemePlayground/ThemeEditor.js +2 -0
  76. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  77. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  78. package/cjs/internal/themes/DefaultTheme.d.ts +1 -0
  79. package/cjs/internal/themes/DefaultTheme.js +3 -0
  80. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  81. package/cjs/lib/ConditionalHandler.d.ts +3 -2
  82. package/cjs/lib/ConditionalHandler.js +5 -3
  83. package/cjs/lib/ConditionalHandler.js.map +1 -1
  84. package/cjs/lib/InstanceWithAnchorElement.d.ts +5 -0
  85. package/cjs/lib/InstanceWithAnchorElement.js +9 -0
  86. package/cjs/lib/InstanceWithAnchorElement.js.map +1 -0
  87. package/cjs/lib/ModalStack.d.ts +1 -1
  88. package/cjs/lib/ModalStack.js.map +1 -1
  89. package/cjs/lib/SSRSafe.d.ts +1 -0
  90. package/cjs/lib/SSRSafe.js +9 -1
  91. package/cjs/lib/SSRSafe.js.map +1 -1
  92. package/cjs/lib/dom/getDOMRect.d.ts +5 -2
  93. package/cjs/lib/dom/getDOMRect.js +30 -18
  94. package/cjs/lib/dom/getDOMRect.js.map +1 -1
  95. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
  96. package/cjs/lib/events/keyboard/KeyboardMapKeys.js +1 -0
  97. package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  98. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  99. package/cjs/lib/rootNode/getRootNode.js +12 -9
  100. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  101. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +11 -0
  102. package/cjs/lib/rootNode/rootNodeDecorator.js +32 -4
  103. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  104. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  105. package/components/Autocomplete/Autocomplete/Autocomplete.js +2 -9
  106. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  107. package/components/Autocomplete/Autocomplete.d.ts +0 -1
  108. package/components/Button/Button.styles/Button.styles.js +1 -1
  109. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  110. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  111. package/components/DatePicker/DatePicker.d.ts +1 -1
  112. package/components/Hint/Hint/Hint.js +9 -1
  113. package/components/Hint/Hint/Hint.js.map +1 -1
  114. package/components/Hint/Hint.d.ts +5 -1
  115. package/components/Loader/Loader/Loader.js +11 -12
  116. package/components/Loader/Loader/Loader.js.map +1 -1
  117. package/components/Modal/Modal/Modal.js.map +1 -1
  118. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  119. package/components/RadioGroup/RadioGroup.d.ts +1 -1
  120. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  121. package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +1 -1
  122. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +3 -2
  123. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  124. package/components/Select/Select/Select.js +12 -6
  125. package/components/Select/Select/Select.js.map +1 -1
  126. package/components/Select/Select.d.ts +7 -5
  127. package/components/SidePage/SidePage/SidePage.js +0 -19
  128. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  129. package/components/SidePage/SidePage.d.ts +0 -1
  130. package/components/SidePage/SidePageFooter/SidePageFooter.js +4 -4
  131. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  132. package/components/SidePage/SidePageHeader/SidePageHeader.js +3 -3
  133. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  134. package/components/Sticky/Sticky/Sticky.js +9 -8
  135. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  136. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  137. package/components/Switcher/Switcher.d.ts +2 -1
  138. package/components/Tabs/Indicator/Indicator.js +2 -1
  139. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  140. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  141. package/components/Tabs/Tabs.d.ts +3 -1
  142. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +3 -2
  143. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  144. package/components/Tooltip/Tooltip/Tooltip.js +11 -8
  145. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  146. package/components/Tooltip/Tooltip.d.ts +4 -2
  147. package/internal/BGRuler/BGRuler.js +2 -1
  148. package/internal/BGRuler/BGRuler.js.map +1 -1
  149. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +17 -3
  150. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  151. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
  152. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  153. package/internal/ComponentTable.d.ts +4 -2
  154. package/internal/DateSelect/DateSelect/DateSelect.js +2 -1
  155. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  156. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +5 -12
  157. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  158. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +3 -2
  159. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  160. package/internal/InternalMenu/InternalMenu/InternalMenu.js +2 -1
  161. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  162. package/internal/Popup/Popup/Popup.js +21 -20
  163. package/internal/Popup/Popup/Popup.js.map +1 -1
  164. package/internal/Popup/Popup.d.ts +1 -2
  165. package/internal/Popup/PopupHelper/PopupHelper.js +3 -1
  166. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  167. package/internal/RenderContainer/RenderContainer/RenderContainer.js +9 -0
  168. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  169. package/internal/RenderContainer/RenderContainerTypes.d.ts +1 -0
  170. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +3 -4
  171. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -1
  172. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +1 -1
  173. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +1 -1
  174. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  175. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  176. package/internal/themes/DefaultTheme/DefaultTheme.js +5 -0
  177. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  178. package/internal/themes/DefaultTheme.d.ts +1 -0
  179. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  180. package/lib/ConditionalHandler.d.ts +3 -2
  181. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js +3 -0
  182. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -0
  183. package/lib/InstanceWithAnchorElement/package.json +6 -0
  184. package/lib/InstanceWithAnchorElement.d.ts +5 -0
  185. package/lib/ModalStack/ModalStack.js.map +1 -1
  186. package/lib/ModalStack.d.ts +1 -1
  187. package/lib/SSRSafe/SSRSafe.js +7 -0
  188. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  189. package/lib/SSRSafe.d.ts +1 -0
  190. package/lib/dom/getDOMRect/getDOMRect.js +32 -15
  191. package/lib/dom/getDOMRect/getDOMRect.js.map +1 -1
  192. package/lib/dom/getDOMRect.d.ts +5 -2
  193. package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
  194. package/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
  195. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  196. package/lib/rootNode/getRootNode/getRootNode.js +10 -10
  197. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  198. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +24 -2
  199. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  200. package/lib/rootNode/rootNodeDecorator.d.ts +11 -0
  201. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  202. package/package.json +2 -2
@@ -103,7 +103,6 @@ export declare class Autocomplete extends React.Component<AutocompleteProps, Aut
103
103
  private renderMenu;
104
104
  private renderMobileMenu;
105
105
  private getItems;
106
- private getInputWidth;
107
106
  private handleValueChange;
108
107
  private handleCloseMobile;
109
108
  private handleKeyPressMobile;
@@ -195,6 +195,6 @@ export var activeStyles = memoizeStyle({
195
195
  return css(_templateObject59 || (_templateObject59 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n ", ";\n }\n "])), buttonActiveMixin(t.btnPayActiveBg, t.btnPayActiveShadow, t.btnPayActiveBorderColor, t.btnPayActiveBorderTopColor, t.btnBorderWidth, t.btnArrowBgImageActive));
196
196
  },
197
197
  link: function link(t) {
198
- return css(_templateObject60 || (_templateObject60 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n color: ", ";\n }\n "])), t.linkActiveColor);
198
+ return css(_templateObject60 || (_templateObject60 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n color: ", ";\n }\n "])), t.btnLinkActiveColor);
199
199
  }
200
200
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["Button.styles.ts"],"names":["css","memoizeStyle","prefix","resetButton","resetText","isFirefox","buttonUseMixin","buttonHoverMixin","buttonActiveMixin","buttonSizeMixin","arrowOutlineMixin","buttonSizeMixinIE11","globalClasses","arrowHelper","arrowHelperTop","arrowHelperBottom","caption","innerShadow","styles","root","t","btnBackgroundClip","outline","outlineWarning","btnOutlineWidth","btnBorderColorWarning","btnInsetWidth","btnInsetColor","outlineError","btnBorderColorError","outlineLink","outlineLinkWarning","btnWarningSecondary","outlineLinkError","btnErrorSecondary","sizeSmall","btnBorderRadiusSmall","btnFontSizeSmall","btnLineHeightSmall","btnPaddingXSmall","btnPaddingYSmall","fontFamilyCompensationBaseline","sizeSmallIE11","sizeMedium","btnBorderRadiusMedium","btnFontSizeMedium","btnLineHeightMedium","btnPaddingXMedium","btnPaddingYMedium","sizeMediumIE11","sizeLarge","btnBorderRadiusLarge","btnFontSizeLarge","btnLineHeightLarge","btnPaddingXLarge","btnPaddingYLarge","sizeLargeIE11","link","btnLinkBorderRadius","btnLinkColor","btnLinkHoverColor","btnLinkHoverTextDecoration","activeStyles","linkFocus","linkDisabled","btnLinkDisabledColor","focus","btnOutlineColorFocus","btnFocusShadowWidth","btnBorderColorFocus","disabled","btnBorderWidth","btnDisabledBorderColor","btnDisabledBg","btnDisabledTextColor","arrowWarning","arrowError","arrowFocus","arrow","arrowLeft","btnDefaultBg","btnDefaultBgStart","btnDefaultBgEnd","btnDefaultTextColor","btnDefaultBorderColor","btnDefaultBorderBottomColor","btnDefaultHoverBg","btnDefaultHoverBgStart","btnDefaultHoverBgEnd","btnDefaultHoverBorderColor","btnDefaultHoverBorderBottomColor","primary","btnPrimaryBg","btnPrimaryBgStart","btnPrimaryBgEnd","btnPrimaryTextColor","btnPrimaryBorderColor","btnPrimaryBorderBottomColor","btnPrimaryHoverBg","btnPrimaryHoverBgStart","btnPrimaryHoverBgEnd","btnPrimaryHoverBorderColor","btnPrimaryHoverBorderBottomColor","success","btnSuccessBg","btnSuccessBgStart","btnSuccessBgEnd","btnSuccessTextColor","btnSuccessBorderColor","btnSuccessBorderBottomColor","btnSuccessHoverBg","btnSuccessHoverBgStart","btnSuccessHoverBgEnd","btnSuccessHoverBorderColor","btnSuccessHoverBorderBottomColor","danger","btnDangerBg","btnDangerBgStart","btnDangerBgEnd","btnDangerTextColor","btnDangerBorderColor","btnDangerBorderBottomColor","btnDangerHoverBg","btnDangerHoverBgStart","btnDangerHoverBgEnd","btnDangerHoverBorderColor","btnDangerHoverBorderBottomColor","pay","btnPayBg","btnPayBgStart","btnPayBgEnd","btnPayTextColor","btnPayBorderColor","btnPayBorderBottomColor","btnPayHoverBg","btnPayHoverBgStart","btnPayHoverBgEnd","btnPayHoverBorderColor","btnPayHoverBorderBottomColor","checked","checkedStyles","btnDefaultCheckedBorderColor","btnCheckedBg","btnCheckedTextColor","btnCheckedShadow","btnArrowBgImageChecked","checkedFocused","checkedDisabled","btnCheckedDisabledBorderColor","btnCheckedDisabledBg","btnCheckedDisabledColor","btnCheckedDisabledShadow","captionLink","captionTranslated","captionDisabled","wrap","wrapSmall","btnHeightSmall","wrapMedium","btnHeightMedium","wrapLarge","btnHeightLarge","narrow","noPadding","noRightPadding","iconNoRightPadding","iconLink","btnLinkIconMarginRight","wrapLink","wrapArrow","wrapArrowLeft","icon","iconSmall","btnIconSizeSmall","btnIconGapSmall","iconMedium","btnIconSizeMedium","btnIconGapMedium","iconLarge","btnIconSizeLarge","btnIconGapLarge","borderless","loading","visibilityHidden","btnDefaultActiveBg","btnDefaultActiveShadow","btnDefaultActiveBorderColor","btnDefaultActiveBorderTopColor","btnArrowBgImageActive","btnPrimaryActiveBg","btnPrimaryActiveShadow","btnPrimaryActiveBorderColor","btnPrimaryActiveBorderTopColor","btnSuccessActiveBg","btnSuccessActiveShadow","btnSuccessActiveBorderColor","btnSuccessActiveBorderTopColor","btnDangerActiveBg","btnDangerActiveShadow","btnDangerActiveBorderColor","btnDangerActiveBorderTopColor","btnPayActiveBg","btnPayActiveShadow","btnPayActiveBorderColor","btnPayActiveBorderTopColor","linkActiveColor"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton, resetText } from '../../lib/styles/Mixins';\nimport { isFirefox } from '../../lib/client';\n\nimport {\n buttonUseMixin,\n buttonHoverMixin,\n buttonActiveMixin,\n buttonSizeMixin,\n arrowOutlineMixin,\n buttonSizeMixinIE11,\n} from './Button.mixins';\n\nexport const globalClasses = prefix('button')({\n arrowHelper: 'arrow-helper',\n arrowHelperTop: 'arrow-helper-top',\n arrowHelperBottom: 'arrow-helper-bottom',\n caption: 'caption',\n innerShadow: 'inner-shadow',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n ${resetButton()};\n ${resetText()};\n\n background-clip: ${t.btnBackgroundClip};\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n cursor: pointer;\n display: inline-block;\n position: relative;\n text-align: center;\n width: 100%;\n height: 100%; // fix height in ie11\n\n .${globalClasses.innerShadow} {\n content: '';\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n &::after {\n content: '';\n display: inline-block;\n vertical-align: baseline;\n width: 0;\n }\n\n &:active .${globalClasses.caption} {\n transform: translateY(1px);\n }\n `;\n },\n\n outline() {\n return css`\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n `;\n },\n\n outlineWarning(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorWarning},\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n outlineError(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorError}, inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n outlineLink() {\n return css`\n box-shadow: none;\n left: -2px;\n right: -2px;\n bottom: -2px;\n `;\n },\n\n outlineLinkWarning(t: Theme) {\n return css`\n background-color: ${t.btnWarningSecondary};\n `;\n },\n\n outlineLinkError(t: Theme) {\n return css`\n background-color: ${t.btnErrorSecondary};\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusSmall};\n\n ${buttonSizeMixin(\n t.btnFontSizeSmall,\n t.btnLineHeightSmall,\n t.btnPaddingXSmall,\n t.btnPaddingYSmall,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeSmallIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeSmall,\n t.btnPaddingXSmall,\n t.btnPaddingYSmall,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusMedium};\n\n ${buttonSizeMixin(\n t.btnFontSizeMedium,\n t.btnLineHeightMedium,\n t.btnPaddingXMedium,\n t.btnPaddingYMedium,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeMediumIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeMedium,\n t.btnPaddingXMedium,\n t.btnPaddingYMedium,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusLarge};\n\n ${buttonSizeMixin(\n t.btnFontSizeLarge,\n t.btnLineHeightLarge,\n t.btnPaddingXLarge,\n t.btnPaddingYLarge,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeLargeIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeLarge,\n t.btnPaddingXLarge,\n t.btnPaddingYLarge,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n link(t: Theme) {\n return css`\n background: none;\n border-radius: ${t.btnLinkBorderRadius};\n border: none;\n box-shadow: none;\n white-space: nowrap;\n color: ${t.btnLinkColor};\n display: inline;\n line-height: inherit !important; // override size mixin\n margin: 0;\n padding: 0 !important; // override size mixin\n height: auto !important; // override size mixin\n\n &:hover {\n color: ${t.btnLinkHoverColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n }\n &:active {\n ${activeStyles.link(t)}\n }\n `;\n },\n\n linkFocus(t: Theme) {\n return css`\n color: ${t.btnLinkColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n `;\n },\n\n linkDisabled(t: Theme) {\n return css`\n cursor: default;\n pointer-events: none;\n\n &,\n &:hover,\n &:active {\n color: ${t.btnLinkDisabledColor};\n }\n `;\n },\n\n focus(t: Theme) {\n return css`\n position: relative;\n z-index: 2;\n\n &,\n &:hover,\n &:active,\n &:active:hover {\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus};\n }\n `;\n },\n\n disabled(t: Theme) {\n return css`\n cursor: default;\n pointer-events: none;\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDisabledBorderColor};\n\n background-image: none;\n background-color: ${t.btnDisabledBg};\n color: ${t.btnDisabledTextColor};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 0 ${t.btnDisabledBorderColor};\n }\n `;\n },\n\n arrowWarning(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorWarning, t.btnOutlineWidth, t.btnInsetColor)}\n `;\n },\n\n arrowError(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorError, t.btnOutlineWidth, t.btnInsetColor)}\n `;\n },\n\n arrowFocus(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorFocus, t.btnOutlineWidth, t.btnOutlineColorFocus)}\n `;\n },\n\n arrow() {\n return css`\n background: inherit;\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n\n .${globalClasses.arrowHelper} {\n width: 100%;\n height: 50%;\n position: absolute;\n left: 0;\n background: inherit;\n background-size: 200% 200%;\n border-radius: inherit;\n background-clip: padding-box;\n\n // fix ugly arrow edge\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: inherit;\n border-radius: inherit;\n transform: translateX(${isFirefox ? `0.2px` : `0.3px`});\n }\n }\n\n .${globalClasses.arrowHelperTop} {\n top: 0;\n transform: skewX(30deg);\n transform-origin: top;\n background-position-y: top;\n border-bottom-right-radius: 1px;\n\n // fix ugly line in the\n // middle of the button\n &:before {\n bottom: -1px;\n }\n }\n\n .${globalClasses.arrowHelperBottom} {\n bottom: 0;\n transform: skewX(-30deg);\n transform-origin: bottom;\n background-position-y: bottom;\n border-top-right-radius: 1px;\n\n // fix ugly line in the\n // middle of the button\n &:before {\n top: -1px;\n }\n }\n `;\n },\n\n arrowLeft() {\n return css`\n transform: scaleX(-1);\n `;\n },\n\n default(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnDefaultBg,\n t.btnDefaultBgStart,\n t.btnDefaultBgEnd,\n t.btnDefaultTextColor,\n t.btnDefaultBorderColor,\n t.btnDefaultBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnDefaultHoverBg,\n t.btnDefaultHoverBgStart,\n t.btnDefaultHoverBgEnd,\n t.btnDefaultHoverBorderColor,\n t.btnDefaultHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.default(t)}\n }\n `;\n },\n\n primary(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnPrimaryBg,\n t.btnPrimaryBgStart,\n t.btnPrimaryBgEnd,\n t.btnPrimaryTextColor,\n t.btnPrimaryBorderColor,\n t.btnPrimaryBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnPrimaryHoverBg,\n t.btnPrimaryHoverBgStart,\n t.btnPrimaryHoverBgEnd,\n t.btnPrimaryHoverBorderColor,\n t.btnPrimaryHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.primary(t)}\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnSuccessBg,\n t.btnSuccessBgStart,\n t.btnSuccessBgEnd,\n t.btnSuccessTextColor,\n t.btnSuccessBorderColor,\n t.btnSuccessBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnSuccessHoverBg,\n t.btnSuccessHoverBgStart,\n t.btnSuccessHoverBgEnd,\n t.btnSuccessHoverBorderColor,\n t.btnSuccessHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.success(t)}\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnDangerBg,\n t.btnDangerBgStart,\n t.btnDangerBgEnd,\n t.btnDangerTextColor,\n t.btnDangerBorderColor,\n t.btnDangerBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnDangerHoverBg,\n t.btnDangerHoverBgStart,\n t.btnDangerHoverBgEnd,\n t.btnDangerHoverBorderColor,\n t.btnDangerHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.danger(t)}\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnPayBg,\n t.btnPayBgStart,\n t.btnPayBgEnd,\n t.btnPayTextColor,\n t.btnPayBorderColor,\n t.btnPayBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnPayHoverBg,\n t.btnPayHoverBgStart,\n t.btnPayHoverBgEnd,\n t.btnPayHoverBorderColor,\n t.btnPayHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.pay(t)}\n }\n `;\n },\n\n checked(t: Theme) {\n const checkedStyles = `\n background-image: none;\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDefaultCheckedBorderColor};\n background-color: ${t.btnCheckedBg};\n color: ${t.btnCheckedTextColor};\n\n .${globalClasses.innerShadow} {\n box-shadow: ${t.btnCheckedShadow};\n }\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 ${t.btnDefaultCheckedBorderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: ${t.btnArrowBgImageChecked};\n }\n }\n `;\n\n return css`\n ${checkedStyles}\n\n &:hover,\n &:active,\n &:hover:active {\n ${checkedStyles}\n }\n `;\n },\n\n checkedFocused(t: Theme) {\n return css`\n &:hover {\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus};\n border-color: ${t.btnBorderColorFocus};\n }\n `;\n },\n\n checkedDisabled(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnCheckedDisabledBorderColor};\n background-color: ${t.btnCheckedDisabledBg};\n color: ${t.btnCheckedDisabledColor};\n\n .${globalClasses.innerShadow} {\n box-shadow: ${t.btnCheckedDisabledShadow};\n }\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 ${t.btnCheckedDisabledBorderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: none;\n }\n }\n `;\n },\n\n caption() {\n return css`\n position: relative;\n white-space: nowrap;\n display: inline-block;\n width: 100%;\n vertical-align: top;\n `;\n },\n\n captionLink() {\n return css`\n display: inline;\n transform: none !important; // override root:active style\n `;\n },\n\n captionTranslated() {\n return css`\n transform: translateY(1px);\n `;\n },\n\n captionDisabled() {\n return css`\n transform: none !important; // override root:active style\n `;\n },\n\n wrap(t: Theme) {\n return css`\n box-sizing: border-box;\n display: inline-block;\n line-height: normal;\n padding: ${t.btnBorderWidth};\n `;\n },\n\n wrapSmall(t: Theme) {\n return css`\n height: ${t.btnHeightSmall};\n `;\n },\n\n wrapMedium(t: Theme) {\n return css`\n height: ${t.btnHeightMedium};\n `;\n },\n\n wrapLarge(t: Theme) {\n return css`\n height: ${t.btnHeightLarge};\n `;\n },\n\n narrow() {\n return css`\n padding-left: 5px;\n padding-right: 5px;\n `;\n },\n\n noPadding() {\n return css`\n padding-left: 0;\n padding-right: 0;\n `;\n },\n\n noRightPadding() {\n return css`\n padding-right: 0;\n `;\n },\n\n iconNoRightPadding() {\n return css`\n padding-right: 0;\n `;\n },\n\n iconLink(t: Theme) {\n return css`\n padding-right: ${t.btnLinkIconMarginRight};\n `;\n },\n\n wrapLink() {\n return css`\n padding: 0;\n `;\n },\n\n wrapArrow() {\n return css`\n margin-right: 10px;\n `;\n },\n\n wrapArrowLeft() {\n return css`\n margin-right: 0;\n margin-left: 10px;\n `;\n },\n\n icon() {\n return css`\n display: inline-block;\n `;\n },\n iconSmall(t: Theme) {\n return css`\n width: ${t.btnIconSizeSmall};\n padding-right: ${t.btnIconGapSmall};\n `;\n },\n iconMedium(t: Theme) {\n return css`\n width: ${t.btnIconSizeMedium};\n padding-right: ${t.btnIconGapMedium};\n `;\n },\n iconLarge(t: Theme) {\n return css`\n width: ${t.btnIconSizeLarge};\n padding-right: ${t.btnIconGapLarge};\n `;\n },\n\n borderless() {\n return css`\n &,\n &:hover,\n &:active {\n box-shadow: none;\n .${globalClasses.arrowHelperTop}, .${globalClasses.arrowHelperBottom} {\n box-shadow: none;\n }\n }\n `;\n },\n\n loading() {\n return css`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n `;\n },\n\n visibilityHidden() {\n return css`\n visibility: hidden;\n `;\n },\n});\n\nexport const activeStyles = memoizeStyle({\n default(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnDefaultActiveBg,\n t.btnDefaultActiveShadow,\n t.btnDefaultActiveBorderColor,\n t.btnDefaultActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n primary(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnPrimaryActiveBg,\n t.btnPrimaryActiveShadow,\n t.btnPrimaryActiveBorderColor,\n t.btnPrimaryActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnSuccessActiveBg,\n t.btnSuccessActiveShadow,\n t.btnSuccessActiveBorderColor,\n t.btnSuccessActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnDangerActiveBg,\n t.btnDangerActiveShadow,\n t.btnDangerActiveBorderColor,\n t.btnDangerActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnPayActiveBg,\n t.btnPayActiveShadow,\n t.btnPayActiveBorderColor,\n t.btnPayActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n link(t: Theme) {\n return css`\n &,\n &:hover {\n color: ${t.linkActiveColor};\n }\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Button.styles.ts"],"names":["css","memoizeStyle","prefix","resetButton","resetText","isFirefox","buttonUseMixin","buttonHoverMixin","buttonActiveMixin","buttonSizeMixin","arrowOutlineMixin","buttonSizeMixinIE11","globalClasses","arrowHelper","arrowHelperTop","arrowHelperBottom","caption","innerShadow","styles","root","t","btnBackgroundClip","outline","outlineWarning","btnOutlineWidth","btnBorderColorWarning","btnInsetWidth","btnInsetColor","outlineError","btnBorderColorError","outlineLink","outlineLinkWarning","btnWarningSecondary","outlineLinkError","btnErrorSecondary","sizeSmall","btnBorderRadiusSmall","btnFontSizeSmall","btnLineHeightSmall","btnPaddingXSmall","btnPaddingYSmall","fontFamilyCompensationBaseline","sizeSmallIE11","sizeMedium","btnBorderRadiusMedium","btnFontSizeMedium","btnLineHeightMedium","btnPaddingXMedium","btnPaddingYMedium","sizeMediumIE11","sizeLarge","btnBorderRadiusLarge","btnFontSizeLarge","btnLineHeightLarge","btnPaddingXLarge","btnPaddingYLarge","sizeLargeIE11","link","btnLinkBorderRadius","btnLinkColor","btnLinkHoverColor","btnLinkHoverTextDecoration","activeStyles","linkFocus","linkDisabled","btnLinkDisabledColor","focus","btnOutlineColorFocus","btnFocusShadowWidth","btnBorderColorFocus","disabled","btnBorderWidth","btnDisabledBorderColor","btnDisabledBg","btnDisabledTextColor","arrowWarning","arrowError","arrowFocus","arrow","arrowLeft","btnDefaultBg","btnDefaultBgStart","btnDefaultBgEnd","btnDefaultTextColor","btnDefaultBorderColor","btnDefaultBorderBottomColor","btnDefaultHoverBg","btnDefaultHoverBgStart","btnDefaultHoverBgEnd","btnDefaultHoverBorderColor","btnDefaultHoverBorderBottomColor","primary","btnPrimaryBg","btnPrimaryBgStart","btnPrimaryBgEnd","btnPrimaryTextColor","btnPrimaryBorderColor","btnPrimaryBorderBottomColor","btnPrimaryHoverBg","btnPrimaryHoverBgStart","btnPrimaryHoverBgEnd","btnPrimaryHoverBorderColor","btnPrimaryHoverBorderBottomColor","success","btnSuccessBg","btnSuccessBgStart","btnSuccessBgEnd","btnSuccessTextColor","btnSuccessBorderColor","btnSuccessBorderBottomColor","btnSuccessHoverBg","btnSuccessHoverBgStart","btnSuccessHoverBgEnd","btnSuccessHoverBorderColor","btnSuccessHoverBorderBottomColor","danger","btnDangerBg","btnDangerBgStart","btnDangerBgEnd","btnDangerTextColor","btnDangerBorderColor","btnDangerBorderBottomColor","btnDangerHoverBg","btnDangerHoverBgStart","btnDangerHoverBgEnd","btnDangerHoverBorderColor","btnDangerHoverBorderBottomColor","pay","btnPayBg","btnPayBgStart","btnPayBgEnd","btnPayTextColor","btnPayBorderColor","btnPayBorderBottomColor","btnPayHoverBg","btnPayHoverBgStart","btnPayHoverBgEnd","btnPayHoverBorderColor","btnPayHoverBorderBottomColor","checked","checkedStyles","btnDefaultCheckedBorderColor","btnCheckedBg","btnCheckedTextColor","btnCheckedShadow","btnArrowBgImageChecked","checkedFocused","checkedDisabled","btnCheckedDisabledBorderColor","btnCheckedDisabledBg","btnCheckedDisabledColor","btnCheckedDisabledShadow","captionLink","captionTranslated","captionDisabled","wrap","wrapSmall","btnHeightSmall","wrapMedium","btnHeightMedium","wrapLarge","btnHeightLarge","narrow","noPadding","noRightPadding","iconNoRightPadding","iconLink","btnLinkIconMarginRight","wrapLink","wrapArrow","wrapArrowLeft","icon","iconSmall","btnIconSizeSmall","btnIconGapSmall","iconMedium","btnIconSizeMedium","btnIconGapMedium","iconLarge","btnIconSizeLarge","btnIconGapLarge","borderless","loading","visibilityHidden","btnDefaultActiveBg","btnDefaultActiveShadow","btnDefaultActiveBorderColor","btnDefaultActiveBorderTopColor","btnArrowBgImageActive","btnPrimaryActiveBg","btnPrimaryActiveShadow","btnPrimaryActiveBorderColor","btnPrimaryActiveBorderTopColor","btnSuccessActiveBg","btnSuccessActiveShadow","btnSuccessActiveBorderColor","btnSuccessActiveBorderTopColor","btnDangerActiveBg","btnDangerActiveShadow","btnDangerActiveBorderColor","btnDangerActiveBorderTopColor","btnPayActiveBg","btnPayActiveShadow","btnPayActiveBorderColor","btnPayActiveBorderTopColor","btnLinkActiveColor"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton, resetText } from '../../lib/styles/Mixins';\nimport { isFirefox } from '../../lib/client';\n\nimport {\n buttonUseMixin,\n buttonHoverMixin,\n buttonActiveMixin,\n buttonSizeMixin,\n arrowOutlineMixin,\n buttonSizeMixinIE11,\n} from './Button.mixins';\n\nexport const globalClasses = prefix('button')({\n arrowHelper: 'arrow-helper',\n arrowHelperTop: 'arrow-helper-top',\n arrowHelperBottom: 'arrow-helper-bottom',\n caption: 'caption',\n innerShadow: 'inner-shadow',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n ${resetButton()};\n ${resetText()};\n\n background-clip: ${t.btnBackgroundClip};\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n cursor: pointer;\n display: inline-block;\n position: relative;\n text-align: center;\n width: 100%;\n height: 100%; // fix height in ie11\n\n .${globalClasses.innerShadow} {\n content: '';\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n &::after {\n content: '';\n display: inline-block;\n vertical-align: baseline;\n width: 0;\n }\n\n &:active .${globalClasses.caption} {\n transform: translateY(1px);\n }\n `;\n },\n\n outline() {\n return css`\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n `;\n },\n\n outlineWarning(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorWarning},\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n outlineError(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorError}, inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n outlineLink() {\n return css`\n box-shadow: none;\n left: -2px;\n right: -2px;\n bottom: -2px;\n `;\n },\n\n outlineLinkWarning(t: Theme) {\n return css`\n background-color: ${t.btnWarningSecondary};\n `;\n },\n\n outlineLinkError(t: Theme) {\n return css`\n background-color: ${t.btnErrorSecondary};\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusSmall};\n\n ${buttonSizeMixin(\n t.btnFontSizeSmall,\n t.btnLineHeightSmall,\n t.btnPaddingXSmall,\n t.btnPaddingYSmall,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeSmallIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeSmall,\n t.btnPaddingXSmall,\n t.btnPaddingYSmall,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusMedium};\n\n ${buttonSizeMixin(\n t.btnFontSizeMedium,\n t.btnLineHeightMedium,\n t.btnPaddingXMedium,\n t.btnPaddingYMedium,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeMediumIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeMedium,\n t.btnPaddingXMedium,\n t.btnPaddingYMedium,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusLarge};\n\n ${buttonSizeMixin(\n t.btnFontSizeLarge,\n t.btnLineHeightLarge,\n t.btnPaddingXLarge,\n t.btnPaddingYLarge,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeLargeIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeLarge,\n t.btnPaddingXLarge,\n t.btnPaddingYLarge,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n link(t: Theme) {\n return css`\n background: none;\n border-radius: ${t.btnLinkBorderRadius};\n border: none;\n box-shadow: none;\n white-space: nowrap;\n color: ${t.btnLinkColor};\n display: inline;\n line-height: inherit !important; // override size mixin\n margin: 0;\n padding: 0 !important; // override size mixin\n height: auto !important; // override size mixin\n\n &:hover {\n color: ${t.btnLinkHoverColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n }\n &:active {\n ${activeStyles.link(t)}\n }\n `;\n },\n\n linkFocus(t: Theme) {\n return css`\n color: ${t.btnLinkColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n `;\n },\n\n linkDisabled(t: Theme) {\n return css`\n cursor: default;\n pointer-events: none;\n\n &,\n &:hover,\n &:active {\n color: ${t.btnLinkDisabledColor};\n }\n `;\n },\n\n focus(t: Theme) {\n return css`\n position: relative;\n z-index: 2;\n\n &,\n &:hover,\n &:active,\n &:active:hover {\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus};\n }\n `;\n },\n\n disabled(t: Theme) {\n return css`\n cursor: default;\n pointer-events: none;\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDisabledBorderColor};\n\n background-image: none;\n background-color: ${t.btnDisabledBg};\n color: ${t.btnDisabledTextColor};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 0 ${t.btnDisabledBorderColor};\n }\n `;\n },\n\n arrowWarning(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorWarning, t.btnOutlineWidth, t.btnInsetColor)}\n `;\n },\n\n arrowError(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorError, t.btnOutlineWidth, t.btnInsetColor)}\n `;\n },\n\n arrowFocus(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorFocus, t.btnOutlineWidth, t.btnOutlineColorFocus)}\n `;\n },\n\n arrow() {\n return css`\n background: inherit;\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n\n .${globalClasses.arrowHelper} {\n width: 100%;\n height: 50%;\n position: absolute;\n left: 0;\n background: inherit;\n background-size: 200% 200%;\n border-radius: inherit;\n background-clip: padding-box;\n\n // fix ugly arrow edge\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: inherit;\n border-radius: inherit;\n transform: translateX(${isFirefox ? `0.2px` : `0.3px`});\n }\n }\n\n .${globalClasses.arrowHelperTop} {\n top: 0;\n transform: skewX(30deg);\n transform-origin: top;\n background-position-y: top;\n border-bottom-right-radius: 1px;\n\n // fix ugly line in the\n // middle of the button\n &:before {\n bottom: -1px;\n }\n }\n\n .${globalClasses.arrowHelperBottom} {\n bottom: 0;\n transform: skewX(-30deg);\n transform-origin: bottom;\n background-position-y: bottom;\n border-top-right-radius: 1px;\n\n // fix ugly line in the\n // middle of the button\n &:before {\n top: -1px;\n }\n }\n `;\n },\n\n arrowLeft() {\n return css`\n transform: scaleX(-1);\n `;\n },\n\n default(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnDefaultBg,\n t.btnDefaultBgStart,\n t.btnDefaultBgEnd,\n t.btnDefaultTextColor,\n t.btnDefaultBorderColor,\n t.btnDefaultBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnDefaultHoverBg,\n t.btnDefaultHoverBgStart,\n t.btnDefaultHoverBgEnd,\n t.btnDefaultHoverBorderColor,\n t.btnDefaultHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.default(t)}\n }\n `;\n },\n\n primary(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnPrimaryBg,\n t.btnPrimaryBgStart,\n t.btnPrimaryBgEnd,\n t.btnPrimaryTextColor,\n t.btnPrimaryBorderColor,\n t.btnPrimaryBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnPrimaryHoverBg,\n t.btnPrimaryHoverBgStart,\n t.btnPrimaryHoverBgEnd,\n t.btnPrimaryHoverBorderColor,\n t.btnPrimaryHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.primary(t)}\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnSuccessBg,\n t.btnSuccessBgStart,\n t.btnSuccessBgEnd,\n t.btnSuccessTextColor,\n t.btnSuccessBorderColor,\n t.btnSuccessBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnSuccessHoverBg,\n t.btnSuccessHoverBgStart,\n t.btnSuccessHoverBgEnd,\n t.btnSuccessHoverBorderColor,\n t.btnSuccessHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.success(t)}\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnDangerBg,\n t.btnDangerBgStart,\n t.btnDangerBgEnd,\n t.btnDangerTextColor,\n t.btnDangerBorderColor,\n t.btnDangerBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnDangerHoverBg,\n t.btnDangerHoverBgStart,\n t.btnDangerHoverBgEnd,\n t.btnDangerHoverBorderColor,\n t.btnDangerHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.danger(t)}\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnPayBg,\n t.btnPayBgStart,\n t.btnPayBgEnd,\n t.btnPayTextColor,\n t.btnPayBorderColor,\n t.btnPayBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnPayHoverBg,\n t.btnPayHoverBgStart,\n t.btnPayHoverBgEnd,\n t.btnPayHoverBorderColor,\n t.btnPayHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.pay(t)}\n }\n `;\n },\n\n checked(t: Theme) {\n const checkedStyles = `\n background-image: none;\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDefaultCheckedBorderColor};\n background-color: ${t.btnCheckedBg};\n color: ${t.btnCheckedTextColor};\n\n .${globalClasses.innerShadow} {\n box-shadow: ${t.btnCheckedShadow};\n }\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 ${t.btnDefaultCheckedBorderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: ${t.btnArrowBgImageChecked};\n }\n }\n `;\n\n return css`\n ${checkedStyles}\n\n &:hover,\n &:active,\n &:hover:active {\n ${checkedStyles}\n }\n `;\n },\n\n checkedFocused(t: Theme) {\n return css`\n &:hover {\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus};\n border-color: ${t.btnBorderColorFocus};\n }\n `;\n },\n\n checkedDisabled(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnCheckedDisabledBorderColor};\n background-color: ${t.btnCheckedDisabledBg};\n color: ${t.btnCheckedDisabledColor};\n\n .${globalClasses.innerShadow} {\n box-shadow: ${t.btnCheckedDisabledShadow};\n }\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 ${t.btnCheckedDisabledBorderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: none;\n }\n }\n `;\n },\n\n caption() {\n return css`\n position: relative;\n white-space: nowrap;\n display: inline-block;\n width: 100%;\n vertical-align: top;\n `;\n },\n\n captionLink() {\n return css`\n display: inline;\n transform: none !important; // override root:active style\n `;\n },\n\n captionTranslated() {\n return css`\n transform: translateY(1px);\n `;\n },\n\n captionDisabled() {\n return css`\n transform: none !important; // override root:active style\n `;\n },\n\n wrap(t: Theme) {\n return css`\n box-sizing: border-box;\n display: inline-block;\n line-height: normal;\n padding: ${t.btnBorderWidth};\n `;\n },\n\n wrapSmall(t: Theme) {\n return css`\n height: ${t.btnHeightSmall};\n `;\n },\n\n wrapMedium(t: Theme) {\n return css`\n height: ${t.btnHeightMedium};\n `;\n },\n\n wrapLarge(t: Theme) {\n return css`\n height: ${t.btnHeightLarge};\n `;\n },\n\n narrow() {\n return css`\n padding-left: 5px;\n padding-right: 5px;\n `;\n },\n\n noPadding() {\n return css`\n padding-left: 0;\n padding-right: 0;\n `;\n },\n\n noRightPadding() {\n return css`\n padding-right: 0;\n `;\n },\n\n iconNoRightPadding() {\n return css`\n padding-right: 0;\n `;\n },\n\n iconLink(t: Theme) {\n return css`\n padding-right: ${t.btnLinkIconMarginRight};\n `;\n },\n\n wrapLink() {\n return css`\n padding: 0;\n `;\n },\n\n wrapArrow() {\n return css`\n margin-right: 10px;\n `;\n },\n\n wrapArrowLeft() {\n return css`\n margin-right: 0;\n margin-left: 10px;\n `;\n },\n\n icon() {\n return css`\n display: inline-block;\n `;\n },\n iconSmall(t: Theme) {\n return css`\n width: ${t.btnIconSizeSmall};\n padding-right: ${t.btnIconGapSmall};\n `;\n },\n iconMedium(t: Theme) {\n return css`\n width: ${t.btnIconSizeMedium};\n padding-right: ${t.btnIconGapMedium};\n `;\n },\n iconLarge(t: Theme) {\n return css`\n width: ${t.btnIconSizeLarge};\n padding-right: ${t.btnIconGapLarge};\n `;\n },\n\n borderless() {\n return css`\n &,\n &:hover,\n &:active {\n box-shadow: none;\n .${globalClasses.arrowHelperTop}, .${globalClasses.arrowHelperBottom} {\n box-shadow: none;\n }\n }\n `;\n },\n\n loading() {\n return css`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n `;\n },\n\n visibilityHidden() {\n return css`\n visibility: hidden;\n `;\n },\n});\n\nexport const activeStyles = memoizeStyle({\n default(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnDefaultActiveBg,\n t.btnDefaultActiveShadow,\n t.btnDefaultActiveBorderColor,\n t.btnDefaultActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n primary(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnPrimaryActiveBg,\n t.btnPrimaryActiveShadow,\n t.btnPrimaryActiveBorderColor,\n t.btnPrimaryActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnSuccessActiveBg,\n t.btnSuccessActiveShadow,\n t.btnSuccessActiveBorderColor,\n t.btnSuccessActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnDangerActiveBg,\n t.btnDangerActiveShadow,\n t.btnDangerActiveBorderColor,\n t.btnDangerActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnPayActiveBg,\n t.btnPayActiveShadow,\n t.btnPayActiveBorderColor,\n t.btnPayActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n link(t: Theme) {\n return css`\n &,\n &:hover {\n color: ${t.btnLinkActiveColor};\n }\n `;\n },\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePicker.tsx"],"names":["PropTypes","React","InternalDate","InternalDateTransformer","MAX_FULLDATE","MIN_FULLDATE","InternalDateOrder","InternalDateSeparator","InternalDateValidateCheck","DateInput","DropdownContainer","filterProps","CommonWrapper","isMobile","NativeDateInput","getRootNode","rootNode","isNonNullable","Picker","styles","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","DatePicker","state","opened","canUseMobileNativeDatePicker","input","focused","renderMain","props","picker","value","minDate","maxDate","internalDate","parseValueToDate","date","toNativeFormat","parsedMinDate","formattedMinDate","undefined","parsedMaxDate","formattedMaxDate","getParent","menuAlign","handlePick","handleSelect","enableTodayLink","isHoliday","root","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","getInputRef","handleBlur","handleFocus","onValueChange","width","minWidth","ref","setState","onFocus","close","onBlur","dateShape","blur","month","year","dateToInternalString","isWeekend","dateString","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","render","setRootNode","validate","checks","NotNull","Native","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","string","isRequired","oneOf","oneOfType","number","func","defaultProps","_day","range","order","DMY","separator","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types';\nimport { Nullable } from '../../typings/utility-types';\nimport { CalendarDateShape } from '../../internal/Calendar';\nimport { DateInput } from '../DateInput';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { filterProps } from '../../lib/filterProps';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\n\nimport { Picker } from './Picker';\nimport { styles } from './DatePicker.styles';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps<T> extends CommonProps {\n autoFocus?: boolean;\n disabled?: boolean;\n enableTodayLink?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n minDate: T;\n maxDate: T;\n menuAlign?: 'left' | 'right';\n size?: 'small' | 'medium' | 'large';\n value?: T | null;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: number | string;\n onBlur?: () => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange: (value: T) => void;\n onFocus?: () => void;\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n /**\n * Использовать на мобильных устройствах нативный календарь для выбора дат.\n *\n * - На iOS нативный календарь не умеет работать с minDate и maxDate\n */\n useMobileNativeDatePicker?: boolean;\n\n /**\n * Функция для определения праздничных дней\n * @default (_day, isWeekend) => isWeekend\n * @param {T} day - строка в формате `dd.mm.yyyy`\n * @param {boolean} isWeekend - флаг выходного (суббота или воскресенье)\n *\n * @returns {boolean} `true` для выходного или `false` для рабочего дня\n */\n isHoliday: (day: T, isWeekend: boolean) => boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n}\n\ntype DatePickerValue = string;\n\n@rootNode\nexport class DatePicker extends React.PureComponent<DatePickerProps<DatePickerValue>, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n\n public static propTypes = {\n autoFocus: PropTypes.bool,\n\n disabled: PropTypes.bool,\n\n /**\n * Включает кнопку сегодня в календаре\n */\n enableTodayLink: PropTypes.bool,\n\n error: PropTypes.bool,\n\n /**\n * Максимальная дата в календаре.\n */\n maxDate: PropTypes.string.isRequired,\n\n menuAlign: PropTypes.oneOf(['left', 'right'] as Array<'left' | 'right'>),\n\n /**\n * Минимальная дата в календаре.\n */\n minDate: PropTypes.string.isRequired,\n\n /**\n * Строка формата `dd.mm.yyyy`\n */\n value: PropTypes.string,\n\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\n onBlur: PropTypes.func,\n\n onValueChange: PropTypes.func.isRequired,\n\n onFocus: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n isHoliday: PropTypes.func.isRequired,\n };\n\n public static defaultProps = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n isHoliday: (_day: DatePickerValue, isWeekend: boolean) => isWeekend,\n };\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}) => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false };\n\n private input: DateInput | null = null;\n private focused = false;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate() {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.focus();\n }\n this.handleFocus();\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close() {\n this.setState({ opened: false });\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps<DatePickerValue>>) => {\n let picker = null;\n\n const { value, minDate, maxDate } = this.props;\n\n const internalDate = this.parseValueToDate(value);\n const date = internalDate ? internalDate.toNativeFormat() : null;\n\n const parsedMinDate = this.parseValueToDate(minDate);\n const formattedMinDate = (parsedMinDate && parsedMinDate.toNativeFormat()) || undefined;\n\n const parsedMaxDate = this.parseValueToDate(maxDate);\n const formattedMaxDate = (parsedMaxDate && parsedMaxDate.toNativeFormat()) || undefined;\n\n if (this.state.opened) {\n picker = (\n <DropdownContainer getParent={this.getParent} offsetY={2} align={this.props.menuAlign}>\n <Picker\n value={date}\n minDate={formattedMinDate}\n maxDate={formattedMaxDate}\n onPick={this.handlePick}\n onSelect={this.handleSelect}\n enableTodayLink={this.props.enableTodayLink}\n isHoliday={this.isHoliday}\n />\n </DropdownContainer>\n );\n }\n\n return (\n <label\n className={styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n >\n <DateInput\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={this.props.minDate}\n maxDate={this.props.maxDate}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n />\n {this.state.canUseMobileNativeDatePicker && (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={this.props.minDate}\n maxDate={this.props.maxDate}\n disabled={this.props.disabled}\n />\n )}\n {!this.state.canUseMobileNativeDatePicker && picker}\n </label>\n );\n };\n\n public getParent = () => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private parseValueToDate(value?: Nullable<string>): InternalDate | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date;\n }\n return undefined;\n }\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n this.focused = true;\n\n this.setState({ opened: true });\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handlePick = (dateShape: CalendarDateShape) => {\n this.handleSelect(dateShape);\n this.blur();\n };\n\n private handleSelect = ({ date, month, year }: CalendarDateShape) => {\n const value = InternalDateTransformer.dateToInternalString({ date, month: month + 1, year });\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private isHoliday = ({ date, month, year, isWeekend }: CalendarDateShape & { isWeekend: boolean }) => {\n const dateString = InternalDateTransformer.dateToInternalString({ date, month: month + 1, year });\n return this.props.isHoliday(dateString, isWeekend);\n };\n}\n"]}
1
+ {"version":3,"sources":["DatePicker.tsx"],"names":["PropTypes","React","InternalDate","InternalDateTransformer","MAX_FULLDATE","MIN_FULLDATE","InternalDateOrder","InternalDateSeparator","InternalDateValidateCheck","DateInput","DropdownContainer","filterProps","CommonWrapper","isMobile","NativeDateInput","getRootNode","rootNode","isNonNullable","Picker","styles","INPUT_PASS_PROPS","autoFocus","disabled","warning","error","size","onKeyDown","MIN_WIDTH","DatePicker","state","opened","canUseMobileNativeDatePicker","input","focused","renderMain","props","picker","value","minDate","maxDate","internalDate","parseValueToDate","date","toNativeFormat","parsedMinDate","formattedMinDate","undefined","parsedMaxDate","formattedMaxDate","getParent","menuAlign","handlePick","handleSelect","enableTodayLink","isHoliday","root","getRootStyle","onMouseEnter","onMouseLeave","onMouseOver","getInputRef","handleBlur","handleFocus","onValueChange","width","minWidth","ref","setState","onFocus","close","onBlur","dateShape","blur","month","year","dateToInternalString","isWeekend","dateString","componentDidMount","useMobileNativeDatePicker","focus","componentDidUpdate","render","setRootNode","validate","checks","NotNull","Native","PureComponent","__KONTUR_REACT_UI__","propTypes","bool","string","isRequired","oneOf","oneOfType","number","func","defaultProps","_day","range","order","DMY","separator","Dot","setRangeStart","setRangeEnd","parseValue","Number","Limits","Range"],"mappings":"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","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { InternalDate } from '../../lib/date/InternalDate';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer';\nimport { MAX_FULLDATE, MIN_FULLDATE } from '../../lib/date/constants';\nimport { InternalDateOrder, InternalDateSeparator, InternalDateValidateCheck } from '../../lib/date/types';\nimport { Nullable } from '../../typings/utility-types';\nimport { CalendarDateShape } from '../../internal/Calendar';\nimport { DateInput } from '../DateInput';\nimport { DropdownContainer } from '../../internal/DropdownContainer';\nimport { filterProps } from '../../lib/filterProps';\nimport { CommonWrapper, CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { isMobile } from '../../lib/client';\nimport { NativeDateInput } from '../../internal/NativeDateInput';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { isNonNullable } from '../../lib/utils';\n\nimport { Picker } from './Picker';\nimport { styles } from './DatePicker.styles';\n\nconst INPUT_PASS_PROPS = {\n autoFocus: true,\n disabled: true,\n warning: true,\n error: true,\n size: true,\n onKeyDown: true,\n};\n\nexport const MIN_WIDTH = 120;\n\nexport interface DatePickerProps<T> extends CommonProps {\n autoFocus?: boolean;\n disabled?: boolean;\n enableTodayLink?: boolean;\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n minDate: T;\n maxDate: T;\n menuAlign?: 'left' | 'right';\n size?: 'small' | 'medium' | 'large';\n value?: T | null;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n width?: number | string;\n onBlur?: () => void;\n /**\n * Вызывается при изменении `value`\n *\n * @param value - строка в формате `dd.mm.yyyy`.\n */\n onValueChange: (value: T) => void;\n onFocus?: () => void;\n onKeyDown?: (e: React.KeyboardEvent<any>) => void;\n onMouseEnter?: (e: React.MouseEvent<any>) => void;\n onMouseLeave?: (e: React.MouseEvent<any>) => void;\n onMouseOver?: (e: React.MouseEvent<any>) => void;\n /**\n * Использовать на мобильных устройствах нативный календарь для выбора дат.\n *\n * - На iOS нативный календарь не умеет работать с minDate и maxDate\n */\n useMobileNativeDatePicker?: boolean;\n\n /**\n * Функция для определения праздничных дней\n * @default (_day, isWeekend) => isWeekend\n * @param {T} day - строка в формате `dd.mm.yyyy`\n * @param {boolean} isWeekend - флаг выходного (суббота или воскресенье)\n *\n * @returns {boolean} `true` для выходного или `false` для рабочего дня\n */\n isHoliday: (day: T, isWeekend: boolean) => boolean;\n}\n\nexport interface DatePickerState {\n opened: boolean;\n canUseMobileNativeDatePicker: boolean;\n}\n\ntype DatePickerValue = string;\n\n@rootNode\nexport class DatePicker extends React.PureComponent<DatePickerProps<DatePickerValue>, DatePickerState> {\n public static __KONTUR_REACT_UI__ = 'DatePicker';\n\n public static propTypes = {\n autoFocus: PropTypes.bool,\n\n disabled: PropTypes.bool,\n\n /**\n * Включает кнопку сегодня в календаре\n */\n enableTodayLink: PropTypes.bool,\n\n error: PropTypes.bool,\n\n /**\n * Максимальная дата в календаре.\n */\n maxDate: PropTypes.string.isRequired,\n\n menuAlign: PropTypes.oneOf(['left', 'right']),\n\n /**\n * Минимальная дата в календаре.\n */\n minDate: PropTypes.string.isRequired,\n\n /**\n * Строка формата `dd.mm.yyyy`\n */\n value: PropTypes.string,\n\n warning: PropTypes.bool,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\n onBlur: PropTypes.func,\n\n onValueChange: PropTypes.func.isRequired,\n\n onFocus: PropTypes.func,\n\n onKeyDown: PropTypes.func,\n\n onMouseEnter: PropTypes.func,\n\n onMouseLeave: PropTypes.func,\n\n onMouseOver: PropTypes.func,\n\n isHoliday: PropTypes.func.isRequired,\n };\n\n public static defaultProps = {\n minDate: MIN_FULLDATE,\n maxDate: MAX_FULLDATE,\n isHoliday: (_day: DatePickerValue, isWeekend: boolean) => isWeekend,\n };\n\n public static validate = (value: Nullable<string>, range: { minDate?: string; maxDate?: string } = {}) => {\n if (!value) {\n return false;\n }\n\n const { minDate = MIN_FULLDATE, maxDate = MAX_FULLDATE } = range;\n const internalDate = new InternalDate({\n order: InternalDateOrder.DMY,\n separator: InternalDateSeparator.Dot,\n })\n .setRangeStart(new InternalDate({ value: minDate }))\n .setRangeEnd(new InternalDate({ value: maxDate }))\n .parseValue(value);\n\n return internalDate.validate({\n checks: [\n InternalDateValidateCheck.NotNull,\n InternalDateValidateCheck.Number,\n InternalDateValidateCheck.Native,\n InternalDateValidateCheck.Limits,\n InternalDateValidateCheck.Range,\n ],\n });\n };\n\n public state: DatePickerState = { opened: false, canUseMobileNativeDatePicker: false };\n\n private input: DateInput | null = null;\n private focused = false;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.useMobileNativeDatePicker && isMobile) {\n this.setState({\n canUseMobileNativeDatePicker: true,\n });\n }\n if (this.props.autoFocus) {\n this.focus();\n }\n }\n\n public componentDidUpdate() {\n const { disabled } = this.props;\n const { opened } = this.state;\n if (disabled && opened) {\n this.close();\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.input) {\n this.input.blur();\n }\n this.handleBlur();\n }\n\n /**\n * @public\n */\n public focus() {\n if (this.props.disabled) {\n return;\n }\n if (this.input) {\n this.input.focus();\n }\n this.handleFocus();\n }\n\n /**\n * Закрывает выпадашку выбора дня\n * @public\n */\n public close() {\n this.setState({ opened: false });\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DatePickerProps<DatePickerValue>>) => {\n let picker = null;\n\n const { value, minDate, maxDate } = this.props;\n\n const internalDate = this.parseValueToDate(value);\n const date = internalDate ? internalDate.toNativeFormat() : null;\n\n const parsedMinDate = this.parseValueToDate(minDate);\n const formattedMinDate = (parsedMinDate && parsedMinDate.toNativeFormat()) || undefined;\n\n const parsedMaxDate = this.parseValueToDate(maxDate);\n const formattedMaxDate = (parsedMaxDate && parsedMaxDate.toNativeFormat()) || undefined;\n\n if (this.state.opened) {\n picker = (\n <DropdownContainer getParent={this.getParent} offsetY={2} align={this.props.menuAlign}>\n <Picker\n value={date}\n minDate={formattedMinDate}\n maxDate={formattedMaxDate}\n onPick={this.handlePick}\n onSelect={this.handleSelect}\n enableTodayLink={this.props.enableTodayLink}\n isHoliday={this.isHoliday}\n />\n </DropdownContainer>\n );\n }\n\n return (\n <label\n className={styles.root()}\n style={this.getRootStyle()}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n >\n <DateInput\n {...filterProps(props, INPUT_PASS_PROPS)}\n ref={this.getInputRef}\n value={this.props.value || ''}\n width=\"100%\"\n withIcon\n minDate={this.props.minDate}\n maxDate={this.props.maxDate}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onValueChange={this.props.onValueChange}\n />\n {this.state.canUseMobileNativeDatePicker && (\n <NativeDateInput\n onValueChange={this.props.onValueChange}\n value={this.props.value || ''}\n minDate={this.props.minDate}\n maxDate={this.props.maxDate}\n disabled={this.props.disabled}\n />\n )}\n {!this.state.canUseMobileNativeDatePicker && picker}\n </label>\n );\n };\n\n public getParent = () => {\n return getRootNode(this);\n };\n\n private getRootStyle = () => {\n const { width } = this.props;\n return isNonNullable(width) ? { width } : { minWidth: MIN_WIDTH };\n };\n\n private getInputRef = (ref: DateInput | null) => {\n this.input = ref;\n };\n\n private parseValueToDate(value?: Nullable<string>): InternalDate | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n const date = new InternalDate({ value });\n if (date.validate({ checks: [InternalDateValidateCheck.NotNull, InternalDateValidateCheck.Native] })) {\n return date;\n }\n return undefined;\n }\n\n private handleFocus = () => {\n if (this.focused) {\n return;\n }\n\n this.focused = true;\n\n this.setState({ opened: true });\n\n if (this.props.onFocus) {\n this.props.onFocus();\n }\n };\n\n private handleBlur = () => {\n if (!this.focused) {\n return;\n }\n\n this.focused = false;\n this.close();\n\n if (this.props.onBlur) {\n this.props.onBlur();\n }\n };\n\n private handlePick = (dateShape: CalendarDateShape) => {\n this.handleSelect(dateShape);\n this.blur();\n };\n\n private handleSelect = ({ date, month, year }: CalendarDateShape) => {\n const value = InternalDateTransformer.dateToInternalString({ date, month: month + 1, year });\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private isHoliday = ({ date, month, year, isWeekend }: CalendarDateShape & { isWeekend: boolean }) => {\n const dateString = InternalDateTransformer.dateToInternalString({ date, month: month + 1, year });\n return this.props.isHoliday(dateString, isWeekend);\n };\n}\n"]}
@@ -68,7 +68,7 @@ export declare class DatePicker extends React.PureComponent<DatePickerProps<Date
68
68
  * Максимальная дата в календаре.
69
69
  */
70
70
  maxDate: PropTypes.Validator<string>;
71
- menuAlign: PropTypes.Requireable<"left" | "right">;
71
+ menuAlign: PropTypes.Requireable<string>;
72
72
  /**
73
73
  * Минимальная дата в календаре.
74
74
  */
@@ -34,6 +34,13 @@ export var Hint = responsiveLayout(_class = rootNode(_class = (_temp = _class2 =
34
34
  opened: _this.props.manual ? !!_this.props.opened : false
35
35
  };
36
36
  _this.timer = null;
37
+ _this.popupRef = /*#__PURE__*/React.createRef();
38
+
39
+ _this.getAnchorElement = function () {
40
+ var _this$popupRef$curren;
41
+
42
+ return (_this$popupRef$curren = _this.popupRef.current) == null ? void 0 : _this$popupRef$curren.anchorElement;
43
+ };
37
44
 
38
45
  _this.getPositions = function () {
39
46
  return Positions.filter(function (x) {
@@ -146,7 +153,8 @@ export var Hint = responsiveLayout(_class = rootNode(_class = (_temp = _class2 =
146
153
  disableAnimations: this.props.disableAnimations,
147
154
  onMouseEnter: this.handleMouseEnter,
148
155
  onMouseLeave: this.handleMouseLeave,
149
- useWrapper: this.props.useWrapper
156
+ useWrapper: this.props.useWrapper,
157
+ ref: this.popupRef
150
158
  }, this.renderContent()));
151
159
  };
152
160
 
@@ -1 +1 @@
1
- {"version":3,"sources":["Hint.tsx"],"names":["React","ThemeContext","ThemeFactory","Popup","isTestEnv","CommonWrapper","cx","responsiveLayout","rootNode","styles","HINT_BORDER_COLOR","Positions","Hint","state","opened","props","manual","timer","getPositions","filter","x","startsWith","pos","handleMouseEnter","e","window","setTimeout","open","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","close","componentDidUpdate","prevProps","componentWillUnmount","render","theme","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","isMobileLayout","renderMobile","renderMain","children","undefined","renderContent","setRootNode","hintBgColor","disableAnimations","useWrapper","text","maxWidth","className","content","contentCenter","mobileContent","PureComponent","__KONTUR_REACT_UI__","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Popup, PopupPositionsType } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n */\n pos: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Отключает анимацию.\n */\n disableAnimations: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@responsiveLayout\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> {\n public static __KONTUR_REACT_UI__ = 'Hint';\n\n private isMobileLayout!: boolean;\n\n public static defaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n public state: HintState = {\n opened: this.props.manual ? !!this.props.opened : false,\n };\n\n private timer: Nullable<number> = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: HintProps) {\n if (!this.props.manual) {\n return;\n }\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n if (this.props.opened !== prevProps.opened) {\n this.setState({ opened: !!this.props.opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.isMobileLayout ? this.renderMobile() : this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMobile() {\n return (\n <CommonWrapper {...this.props}>\n <Popup\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={[]}\n onClick={!this.props.manual ? this.open : undefined}\n mobileOnCloseRequest={!this.props.manual ? this.close : undefined}\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public renderMain() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n disableAnimations={this.props.disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={this.props.useWrapper}\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { pos, maxWidth } = this.props;\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: pos === 'top' || pos === 'bottom',\n [styles.mobileContent(this.theme)]: this.isMobileLayout,\n });\n return (\n <div className={className} style={{ maxWidth: this.isMobileLayout ? '100%' : maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPositionsType[] => {\n return Positions.filter((x) => x.startsWith(this.props.pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.props.manual && !this.timer) {\n this.timer = window.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.props.manual && this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private close = () => {\n this.setState({ opened: false });\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
1
+ {"version":3,"sources":["Hint.tsx"],"names":["React","ThemeContext","ThemeFactory","Popup","isTestEnv","CommonWrapper","cx","responsiveLayout","rootNode","styles","HINT_BORDER_COLOR","Positions","Hint","state","opened","props","manual","timer","popupRef","createRef","getAnchorElement","current","anchorElement","getPositions","filter","x","startsWith","pos","handleMouseEnter","e","window","setTimeout","open","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","close","componentDidUpdate","prevProps","componentWillUnmount","render","theme","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","isMobileLayout","renderMobile","renderMain","children","undefined","renderContent","setRootNode","hintBgColor","disableAnimations","useWrapper","text","maxWidth","className","content","contentCenter","mobileContent","PureComponent","__KONTUR_REACT_UI__","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Popup, PopupPositionsType } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n */\n pos: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Отключает анимацию.\n */\n disableAnimations: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@responsiveLayout\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n\n private isMobileLayout!: boolean;\n\n public static defaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n public state: HintState = {\n opened: this.props.manual ? !!this.props.opened : false,\n };\n\n private timer: Nullable<number> = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n\n public componentDidUpdate(prevProps: HintProps) {\n if (!this.props.manual) {\n return;\n }\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n if (this.props.opened !== prevProps.opened) {\n this.setState({ opened: !!this.props.opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.isMobileLayout ? this.renderMobile() : this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMobile() {\n return (\n <CommonWrapper {...this.props}>\n <Popup\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={[]}\n onClick={!this.props.manual ? this.open : undefined}\n mobileOnCloseRequest={!this.props.manual ? this.close : undefined}\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public renderMain() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n disableAnimations={this.props.disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={this.props.useWrapper}\n ref={this.popupRef}\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<HTMLElement> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { pos, maxWidth } = this.props;\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: pos === 'top' || pos === 'bottom',\n [styles.mobileContent(this.theme)]: this.isMobileLayout,\n });\n return (\n <div className={className} style={{ maxWidth: this.isMobileLayout ? '100%' : maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPositionsType[] => {\n return Positions.filter((x) => x.startsWith(this.props.pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.props.manual && !this.timer) {\n this.timer = window.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.props.manual && this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private close = () => {\n this.setState({ opened: false });\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
@@ -1,7 +1,9 @@
1
1
  import React from 'react';
2
2
  import { PopupPositionsType } from '../../internal/Popup';
3
+ import { Nullable } from '../../typings/utility-types';
3
4
  import { MouseEventType } from '../../typings/event-types';
4
5
  import { CommonProps } from '../../internal/CommonWrapper';
6
+ import { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';
5
7
  export interface HintProps extends CommonProps {
6
8
  children?: React.ReactNode;
7
9
  /**
@@ -55,7 +57,7 @@ export interface HintState {
55
57
  /**
56
58
  * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.
57
59
  */
58
- export declare class Hint extends React.PureComponent<HintProps, HintState> {
60
+ export declare class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {
59
61
  static __KONTUR_REACT_UI__: string;
60
62
  private isMobileLayout;
61
63
  static defaultProps: {
@@ -70,11 +72,13 @@ export declare class Hint extends React.PureComponent<HintProps, HintState> {
70
72
  private timer;
71
73
  private theme;
72
74
  private setRootNode;
75
+ private popupRef;
73
76
  componentDidUpdate(prevProps: HintProps): void;
74
77
  componentWillUnmount(): void;
75
78
  render(): JSX.Element;
76
79
  renderMobile(): JSX.Element;
77
80
  renderMain(): JSX.Element;
81
+ getAnchorElement: () => Nullable<HTMLElement>;
78
82
  private renderContent;
79
83
  private getPositions;
80
84
  private handleMouseEnter;
@@ -16,6 +16,7 @@ import { isTestEnv } from "../../../lib/currentEnvironment";
16
16
  import { TaskWithDelayAndMinimalDuration } from "../../../lib/taskWithDelayAndMinimalDuration";
17
17
  import { getTabbableElements } from "../../../lib/dom/tabbableHelpers";
18
18
  import { rootNode } from "../../../lib/rootNode";
19
+ import { getDOMRect } from "../../../lib/dom/getDOMRect";
19
20
  import { styles } from "../Loader.styles";
20
21
  export
21
22
  /**
@@ -42,13 +43,13 @@ var Loader = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
42
43
  return;
43
44
  }
44
45
 
45
- var _this$spinnerContaine = _this.spinnerContainerNode.getBoundingClientRect(),
46
- containerTop = _this$spinnerContaine.top,
47
- containerRight = _this$spinnerContaine.right,
48
- containerBottom = _this$spinnerContaine.bottom,
49
- containerLeft = _this$spinnerContaine.left,
50
- containerHeight = _this$spinnerContaine.height,
51
- containerWidth = _this$spinnerContaine.width;
46
+ var _getDOMRect = getDOMRect(_this.spinnerContainerNode),
47
+ containerTop = _getDOMRect.top,
48
+ containerRight = _getDOMRect.right,
49
+ containerBottom = _getDOMRect.bottom,
50
+ containerLeft = _getDOMRect.left,
51
+ containerHeight = _getDOMRect.height,
52
+ containerWidth = _getDOMRect.width;
52
53
 
53
54
  var windowHeight = window.innerHeight;
54
55
  var windowWidth = window.innerWidth; // Если контейнер не больше высоты и не шире окна,
@@ -84,12 +85,10 @@ var Loader = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$
84
85
  // выше отступа на высоту спиннера, то убираем верхнюю позицию лоадера
85
86
 
86
87
 
87
- if (_this.spinnerNode) {
88
- var spinnerHeight = _this.spinnerNode.getBoundingClientRect().height;
88
+ var spinnerHeight = getDOMRect(_this.spinnerNode).height;
89
89
 
90
- if (spinnerHeight && spinnerStyle.bottom >= windowHeight - spinnerHeight) {
91
- delete spinnerStyle.top;
92
- }
90
+ if (spinnerHeight && spinnerStyle.bottom >= windowHeight - spinnerHeight) {
91
+ delete spinnerStyle.top;
93
92
  } // ПО ГОРИЗОНТАЛИ
94
93
  // Если левый край контейнера правее левого края окна,
95
94
  // то сдвигаем и лоадер
@@ -1 +1 @@
1
- {"version":3,"sources":["Loader.tsx"],"names":["React","PropTypes","debounce","LayoutEvents","Spinner","ThemeContext","ZIndex","CommonWrapper","cx","isTestEnv","TaskWithDelayAndMinimalDuration","getTabbableElements","rootNode","styles","Loader","props","childrenRef","element","childrenContainerNode","spinnerRef","spinnerContainerNode","checkSpinnerPosition","getBoundingClientRect","containerTop","top","containerRight","right","containerBottom","bottom","containerLeft","left","containerHeight","height","containerWidth","width","windowHeight","window","innerHeight","windowWidth","innerWidth","setState","isStickySpinner","spinnerStyle","Math","abs","spinnerNode","spinnerHeight","disableChildrenFocus","childrenObserver","makeObservable","tabbableElements","forEach","el","hasAttribute","setAttribute","tabIndex","toString","enableChildrenFocus","makeUnobservable","Array","from","document","querySelectorAll","getAttribute","removeAttribute","target","config","childList","subtree","observer","MutationObserver","observe","disconnect","state","isSpinnerVisible","isLoaderActive","spinnerTask","delayBeforeTaskStart","delayBeforeSpinnerShow","durationOfTask","minimalDelayBeforeSpinnerHide","taskStartCallback","taskStopCallback","componentDidMount","active","start","layoutEvents","addListener","componentDidUpdate","prevProps","prevState","component","update","stop","componentWillUnmount","remove","clearTask","getDerivedStateFromProps","render","theme","renderMain","type","caption","setRootNode","loader","children","renderSpinner","spinnerContainer","spinnerContainerSticky","spinnerComponentWrapper","undefined","Component","__KONTUR_REACT_UI__","defaultProps","Types","normal","propTypes","bool","node","className","string","oneOf","Object","keys","number"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Spinner, SpinnerProps } from '../Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { TaskWithDelayAndMinimalDuration } from '../../lib/taskWithDelayAndMinimalDuration';\nimport { getTabbableElements } from '../../lib/dom/tabbableHelpers';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Loader.styles';\n\nexport interface LoaderProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Флаг переключения состояния лоадера\n * @default false\n */\n active: boolean;\n caption?: SpinnerProps['caption'];\n /**\n * Компонент заменяющий спиннер.\n */\n component?: React.ReactNode;\n className?: string;\n type?: 'mini' | 'normal' | 'big';\n /**\n * Время в миллисекундах для показа вуали без спиннера.\n * @default 300\n */\n delayBeforeSpinnerShow: number;\n /**\n * Минимальное время в миллисекундах для показа спиннера\n * @default 1000\n */\n minimalDelayBeforeSpinnerHide: number;\n}\n\nexport interface LoaderState {\n isStickySpinner: boolean;\n isSpinnerVisible: boolean;\n isLoaderActive: boolean;\n spinnerStyle?: object;\n}\n\n/**\n * DRAFT - лоадер-контейнер\n */\n@rootNode\nexport class Loader extends React.Component<LoaderProps, LoaderState> {\n public static __KONTUR_REACT_UI__ = 'Loader';\n\n public static defaultProps: Partial<LoaderProps> = {\n type: Spinner.Types.normal,\n active: false,\n delayBeforeSpinnerShow: isTestEnv ? 0 : 300,\n minimalDelayBeforeSpinnerHide: isTestEnv ? 0 : 1000,\n };\n\n public static propTypes = {\n /**\n * показываем лоадер или нет\n */\n active: PropTypes.bool,\n\n /**\n * Текст рядом с лоадером.\n *\n * @default \"Загрузка\"\n */\n caption: Spinner.propTypes.caption,\n\n component: PropTypes.node,\n\n /**\n * Класс для обертки\n */\n className: PropTypes.string,\n\n /**\n * Тип спиннера: mini, normal, big\n *\n * @default normal\n *\n * Spinner.types - все доступные типы\n */\n type: PropTypes.oneOf(Object.keys(Spinner.Types)),\n /**\n * Время в миллисекундах для показа вуали без спиннера.\n * @default 300\n */\n delayBeforeSpinnerShow: PropTypes.number,\n /**\n * Минимальное время в миллисекундах для показа спиннера\n * @default 1000\n */\n minimalDelayBeforeSpinnerHide: PropTypes.number,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private spinnerContainerNode: Nullable<HTMLDivElement>;\n private childrenContainerNode: Nullable<HTMLDivElement>;\n private spinnerNode: Nullable<HTMLDivElement>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private spinnerTask: TaskWithDelayAndMinimalDuration;\n private childrenObserver: Nullable<MutationObserver>;\n\n constructor(props: LoaderProps) {\n super(props);\n\n this.spinnerContainerNode = null;\n this.childrenContainerNode = null;\n this.childrenObserver = null;\n this.spinnerNode = null;\n\n this.state = {\n isStickySpinner: false,\n isSpinnerVisible: false,\n isLoaderActive: false,\n };\n\n this.spinnerTask = new TaskWithDelayAndMinimalDuration({\n delayBeforeTaskStart: this.props.delayBeforeSpinnerShow,\n durationOfTask: this.props.minimalDelayBeforeSpinnerHide,\n taskStartCallback: () => this.setState({ isSpinnerVisible: true }),\n taskStopCallback: () => this.setState({ isSpinnerVisible: false }),\n });\n }\n\n public componentDidMount() {\n this.checkSpinnerPosition();\n this.props.active && this.spinnerTask.start();\n this.layoutEvents = LayoutEvents.addListener(debounce(this.checkSpinnerPosition, 10));\n\n if (this.props.active) {\n this.disableChildrenFocus();\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<LoaderProps>, prevState: Readonly<LoaderState>) {\n const { component, active, delayBeforeSpinnerShow, minimalDelayBeforeSpinnerHide } = this.props;\n const { isLoaderActive } = this.state;\n\n if ((active && !prevProps.active) || prevProps.component !== component) {\n this.checkSpinnerPosition();\n }\n\n if (\n delayBeforeSpinnerShow !== prevProps.delayBeforeSpinnerShow ||\n minimalDelayBeforeSpinnerHide !== prevProps.minimalDelayBeforeSpinnerHide\n ) {\n this.spinnerTask.update({\n delayBeforeTaskStart: delayBeforeSpinnerShow,\n durationOfTask: minimalDelayBeforeSpinnerHide,\n });\n }\n\n if (active !== prevProps.active) {\n active ? this.spinnerTask.start() : this.spinnerTask.stop();\n }\n\n if (isLoaderActive !== prevState.isLoaderActive) {\n if (isLoaderActive) {\n this.disableChildrenFocus();\n } else {\n this.enableChildrenFocus();\n }\n }\n }\n\n public componentWillUnmount() {\n this.makeUnobservable();\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n this.spinnerTask.clearTask();\n }\n\n public static getDerivedStateFromProps(props: LoaderProps, state: LoaderState): Partial<LoaderState> {\n if (props.active && !state.isLoaderActive) {\n return {\n isLoaderActive: true,\n };\n }\n if (state.isLoaderActive && !(props.active || state.isSpinnerVisible)) {\n return {\n isLoaderActive: false,\n };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { type, caption, component } = this.props;\n const { isLoaderActive } = this.state;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div className={styles.loader()} data-tid={isLoaderActive ? 'Loader__Veil' : ''}>\n <ZIndex\n priority={'Loader'}\n applyZIndex={isLoaderActive}\n coverChildren={isLoaderActive}\n style={{ height: '100%' }}\n wrapperRef={this.childrenRef}\n >\n {this.props.children}\n </ZIndex>\n {isLoaderActive && (\n <ZIndex\n wrapperRef={this.spinnerRef}\n priority={'Loader'}\n className={cx({\n [styles.active(this.theme)]: isLoaderActive,\n })}\n >\n {this.state.isSpinnerVisible && this.renderSpinner(type, caption, component)}\n </ZIndex>\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private childrenRef = (element: HTMLDivElement | null) => {\n this.childrenContainerNode = element;\n };\n\n private spinnerRef = (element: HTMLDivElement | null) => {\n this.spinnerContainerNode = element;\n };\n\n private renderSpinner(type?: 'mini' | 'normal' | 'big', caption?: React.ReactNode, component?: React.ReactNode) {\n return (\n <span\n data-tid={'Loader__Spinner'}\n className={cx(styles.spinnerContainer(), { [styles.spinnerContainerSticky()]: this.state.isStickySpinner })}\n style={this.state.spinnerStyle}\n >\n <div\n className={styles.spinnerComponentWrapper()}\n ref={(element) => {\n this.spinnerNode = element;\n }}\n >\n {component !== undefined ? component : <Spinner type={type} caption={caption} />}\n </div>\n </span>\n );\n }\n\n private checkSpinnerPosition = () => {\n if (!this.spinnerContainerNode) {\n return;\n }\n\n const {\n top: containerTop,\n right: containerRight,\n bottom: containerBottom,\n left: containerLeft,\n height: containerHeight,\n width: containerWidth,\n } = this.spinnerContainerNode.getBoundingClientRect();\n\n const windowHeight = window.innerHeight;\n const windowWidth = window.innerWidth;\n\n // Если контейнер не больше высоты и не шире окна,\n // то просто выравниваем по центру\n if (windowHeight >= containerHeight && windowWidth >= containerWidth) {\n this.setState({\n isStickySpinner: false,\n spinnerStyle: {},\n });\n return;\n }\n\n const spinnerStyle: {\n top?: number;\n right: number;\n bottom: number;\n left: number;\n } = {\n top: 30,\n right: 0,\n bottom: 30,\n left: 0,\n };\n\n // ПО ВЕРТИКАЛИ\n // Если верхний край контейнера ниже верхнего края окна,\n // то сдвигаем и лоадер\n if (containerTop > 0) {\n spinnerStyle.top = containerTop + 30;\n }\n\n // Если нижний край контейнера выше нижнего края окна,\n // то сдвигаем и лоадер\n if (containerBottom < windowHeight) {\n spinnerStyle.bottom = Math.abs(windowHeight - containerBottom) + 30;\n }\n\n // Если знаем высоту спиннера и нижний край контейнера поднимается\n // выше отступа на высоту спиннера, то убираем верхнюю позицию лоадера\n if (this.spinnerNode) {\n const spinnerHeight = this.spinnerNode.getBoundingClientRect().height;\n\n if (spinnerHeight && spinnerStyle.bottom >= windowHeight - spinnerHeight) {\n delete spinnerStyle.top;\n }\n }\n\n // ПО ГОРИЗОНТАЛИ\n // Если левый край контейнера правее левого края окна,\n // то сдвигаем и лоадер\n if (containerLeft > 0) {\n spinnerStyle.left = containerLeft;\n }\n\n // Если правый край контейнера левее правого края окна,\n // то сдвигаем и лоадер\n if (containerRight < windowWidth) {\n spinnerStyle.right = windowWidth - containerRight;\n }\n\n this.setState({\n isStickySpinner: true,\n spinnerStyle,\n });\n };\n\n private disableChildrenFocus = () => {\n if (!this.childrenObserver) {\n this.makeObservable();\n }\n const tabbableElements = getTabbableElements(this.childrenContainerNode);\n tabbableElements.forEach((el) => {\n if (!el.hasAttribute('origin-tabindex')) {\n el.setAttribute('origin-tabindex', el.tabIndex.toString());\n }\n el.tabIndex = -1;\n });\n };\n\n private enableChildrenFocus = () => {\n this.makeUnobservable();\n // NOTE: NodeList doesn't support 'forEach' method in IE11 and other older browsers\n Array.from(document.querySelectorAll('[origin-tabindex]')).forEach((el) => {\n el.setAttribute('tabindex', el.getAttribute('origin-tabindex') ?? '0');\n el.removeAttribute('origin-tabindex');\n });\n };\n\n private makeObservable = () => {\n const target = this.childrenContainerNode;\n if (!target) {\n return;\n }\n const config = {\n childList: true,\n subtree: true,\n };\n const observer = new MutationObserver(this.disableChildrenFocus);\n observer.observe(target, config);\n this.childrenObserver = observer;\n };\n\n private makeUnobservable = () => {\n this.childrenObserver?.disconnect();\n this.childrenObserver = null;\n };\n}\n"]}
1
+ {"version":3,"sources":["Loader.tsx"],"names":["React","PropTypes","debounce","LayoutEvents","Spinner","ThemeContext","ZIndex","CommonWrapper","cx","isTestEnv","TaskWithDelayAndMinimalDuration","getTabbableElements","rootNode","getDOMRect","styles","Loader","props","childrenRef","element","childrenContainerNode","spinnerRef","spinnerContainerNode","checkSpinnerPosition","containerTop","top","containerRight","right","containerBottom","bottom","containerLeft","left","containerHeight","height","containerWidth","width","windowHeight","window","innerHeight","windowWidth","innerWidth","setState","isStickySpinner","spinnerStyle","Math","abs","spinnerHeight","spinnerNode","disableChildrenFocus","childrenObserver","makeObservable","tabbableElements","forEach","el","hasAttribute","setAttribute","tabIndex","toString","enableChildrenFocus","makeUnobservable","Array","from","document","querySelectorAll","getAttribute","removeAttribute","target","config","childList","subtree","observer","MutationObserver","observe","disconnect","state","isSpinnerVisible","isLoaderActive","spinnerTask","delayBeforeTaskStart","delayBeforeSpinnerShow","durationOfTask","minimalDelayBeforeSpinnerHide","taskStartCallback","taskStopCallback","componentDidMount","active","start","layoutEvents","addListener","componentDidUpdate","prevProps","prevState","component","update","stop","componentWillUnmount","remove","clearTask","getDerivedStateFromProps","render","theme","renderMain","type","caption","setRootNode","loader","children","renderSpinner","spinnerContainer","spinnerContainerSticky","spinnerComponentWrapper","undefined","Component","__KONTUR_REACT_UI__","defaultProps","Types","normal","propTypes","bool","node","className","string","oneOf","Object","keys","number"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Spinner, SpinnerProps } from '../Spinner';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { TaskWithDelayAndMinimalDuration } from '../../lib/taskWithDelayAndMinimalDuration';\nimport { getTabbableElements } from '../../lib/dom/tabbableHelpers';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { styles } from './Loader.styles';\n\nexport interface LoaderProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Флаг переключения состояния лоадера\n * @default false\n */\n active: boolean;\n caption?: SpinnerProps['caption'];\n /**\n * Компонент заменяющий спиннер.\n */\n component?: React.ReactNode;\n className?: string;\n type?: 'mini' | 'normal' | 'big';\n /**\n * Время в миллисекундах для показа вуали без спиннера.\n * @default 300\n */\n delayBeforeSpinnerShow: number;\n /**\n * Минимальное время в миллисекундах для показа спиннера\n * @default 1000\n */\n minimalDelayBeforeSpinnerHide: number;\n}\n\nexport interface LoaderState {\n isStickySpinner: boolean;\n isSpinnerVisible: boolean;\n isLoaderActive: boolean;\n spinnerStyle?: object;\n}\n\n/**\n * DRAFT - лоадер-контейнер\n */\n@rootNode\nexport class Loader extends React.Component<LoaderProps, LoaderState> {\n public static __KONTUR_REACT_UI__ = 'Loader';\n\n public static defaultProps: Partial<LoaderProps> = {\n type: Spinner.Types.normal,\n active: false,\n delayBeforeSpinnerShow: isTestEnv ? 0 : 300,\n minimalDelayBeforeSpinnerHide: isTestEnv ? 0 : 1000,\n };\n\n public static propTypes = {\n /**\n * показываем лоадер или нет\n */\n active: PropTypes.bool,\n\n /**\n * Текст рядом с лоадером.\n *\n * @default \"Загрузка\"\n */\n caption: Spinner.propTypes.caption,\n\n component: PropTypes.node,\n\n /**\n * Класс для обертки\n */\n className: PropTypes.string,\n\n /**\n * Тип спиннера: mini, normal, big\n *\n * @default normal\n *\n * Spinner.types - все доступные типы\n */\n type: PropTypes.oneOf(Object.keys(Spinner.Types)),\n /**\n * Время в миллисекундах для показа вуали без спиннера.\n * @default 300\n */\n delayBeforeSpinnerShow: PropTypes.number,\n /**\n * Минимальное время в миллисекундах для показа спиннера\n * @default 1000\n */\n minimalDelayBeforeSpinnerHide: PropTypes.number,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private spinnerContainerNode: Nullable<HTMLDivElement>;\n private childrenContainerNode: Nullable<HTMLDivElement>;\n private spinnerNode: Nullable<HTMLDivElement>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private spinnerTask: TaskWithDelayAndMinimalDuration;\n private childrenObserver: Nullable<MutationObserver>;\n\n constructor(props: LoaderProps) {\n super(props);\n\n this.spinnerContainerNode = null;\n this.childrenContainerNode = null;\n this.childrenObserver = null;\n this.spinnerNode = null;\n\n this.state = {\n isStickySpinner: false,\n isSpinnerVisible: false,\n isLoaderActive: false,\n };\n\n this.spinnerTask = new TaskWithDelayAndMinimalDuration({\n delayBeforeTaskStart: this.props.delayBeforeSpinnerShow,\n durationOfTask: this.props.minimalDelayBeforeSpinnerHide,\n taskStartCallback: () => this.setState({ isSpinnerVisible: true }),\n taskStopCallback: () => this.setState({ isSpinnerVisible: false }),\n });\n }\n\n public componentDidMount() {\n this.checkSpinnerPosition();\n this.props.active && this.spinnerTask.start();\n this.layoutEvents = LayoutEvents.addListener(debounce(this.checkSpinnerPosition, 10));\n\n if (this.props.active) {\n this.disableChildrenFocus();\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<LoaderProps>, prevState: Readonly<LoaderState>) {\n const { component, active, delayBeforeSpinnerShow, minimalDelayBeforeSpinnerHide } = this.props;\n const { isLoaderActive } = this.state;\n\n if ((active && !prevProps.active) || prevProps.component !== component) {\n this.checkSpinnerPosition();\n }\n\n if (\n delayBeforeSpinnerShow !== prevProps.delayBeforeSpinnerShow ||\n minimalDelayBeforeSpinnerHide !== prevProps.minimalDelayBeforeSpinnerHide\n ) {\n this.spinnerTask.update({\n delayBeforeTaskStart: delayBeforeSpinnerShow,\n durationOfTask: minimalDelayBeforeSpinnerHide,\n });\n }\n\n if (active !== prevProps.active) {\n active ? this.spinnerTask.start() : this.spinnerTask.stop();\n }\n\n if (isLoaderActive !== prevState.isLoaderActive) {\n if (isLoaderActive) {\n this.disableChildrenFocus();\n } else {\n this.enableChildrenFocus();\n }\n }\n }\n\n public componentWillUnmount() {\n this.makeUnobservable();\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n this.spinnerTask.clearTask();\n }\n\n public static getDerivedStateFromProps(props: LoaderProps, state: LoaderState): Partial<LoaderState> {\n if (props.active && !state.isLoaderActive) {\n return {\n isLoaderActive: true,\n };\n }\n if (state.isLoaderActive && !(props.active || state.isSpinnerVisible)) {\n return {\n isLoaderActive: false,\n };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { type, caption, component } = this.props;\n const { isLoaderActive } = this.state;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div className={styles.loader()} data-tid={isLoaderActive ? 'Loader__Veil' : ''}>\n <ZIndex\n priority={'Loader'}\n applyZIndex={isLoaderActive}\n coverChildren={isLoaderActive}\n style={{ height: '100%' }}\n wrapperRef={this.childrenRef}\n >\n {this.props.children}\n </ZIndex>\n {isLoaderActive && (\n <ZIndex\n wrapperRef={this.spinnerRef}\n priority={'Loader'}\n className={cx({\n [styles.active(this.theme)]: isLoaderActive,\n })}\n >\n {this.state.isSpinnerVisible && this.renderSpinner(type, caption, component)}\n </ZIndex>\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private childrenRef = (element: HTMLDivElement | null) => {\n this.childrenContainerNode = element;\n };\n\n private spinnerRef = (element: HTMLDivElement | null) => {\n this.spinnerContainerNode = element;\n };\n\n private renderSpinner(type?: 'mini' | 'normal' | 'big', caption?: React.ReactNode, component?: React.ReactNode) {\n return (\n <span\n data-tid={'Loader__Spinner'}\n className={cx(styles.spinnerContainer(), { [styles.spinnerContainerSticky()]: this.state.isStickySpinner })}\n style={this.state.spinnerStyle}\n >\n <div\n className={styles.spinnerComponentWrapper()}\n ref={(element) => {\n this.spinnerNode = element;\n }}\n >\n {component !== undefined ? component : <Spinner type={type} caption={caption} />}\n </div>\n </span>\n );\n }\n\n private checkSpinnerPosition = () => {\n if (!this.spinnerContainerNode) {\n return;\n }\n\n const {\n top: containerTop,\n right: containerRight,\n bottom: containerBottom,\n left: containerLeft,\n height: containerHeight,\n width: containerWidth,\n } = getDOMRect(this.spinnerContainerNode);\n\n const windowHeight = window.innerHeight;\n const windowWidth = window.innerWidth;\n\n // Если контейнер не больше высоты и не шире окна,\n // то просто выравниваем по центру\n if (windowHeight >= containerHeight && windowWidth >= containerWidth) {\n this.setState({\n isStickySpinner: false,\n spinnerStyle: {},\n });\n return;\n }\n\n const spinnerStyle: {\n top?: number;\n right: number;\n bottom: number;\n left: number;\n } = {\n top: 30,\n right: 0,\n bottom: 30,\n left: 0,\n };\n\n // ПО ВЕРТИКАЛИ\n // Если верхний край контейнера ниже верхнего края окна,\n // то сдвигаем и лоадер\n if (containerTop > 0) {\n spinnerStyle.top = containerTop + 30;\n }\n\n // Если нижний край контейнера выше нижнего края окна,\n // то сдвигаем и лоадер\n if (containerBottom < windowHeight) {\n spinnerStyle.bottom = Math.abs(windowHeight - containerBottom) + 30;\n }\n\n // Если знаем высоту спиннера и нижний край контейнера поднимается\n // выше отступа на высоту спиннера, то убираем верхнюю позицию лоадера\n\n const spinnerHeight = getDOMRect(this.spinnerNode).height;\n\n if (spinnerHeight && spinnerStyle.bottom >= windowHeight - spinnerHeight) {\n delete spinnerStyle.top;\n }\n\n // ПО ГОРИЗОНТАЛИ\n // Если левый край контейнера правее левого края окна,\n // то сдвигаем и лоадер\n if (containerLeft > 0) {\n spinnerStyle.left = containerLeft;\n }\n\n // Если правый край контейнера левее правого края окна,\n // то сдвигаем и лоадер\n if (containerRight < windowWidth) {\n spinnerStyle.right = windowWidth - containerRight;\n }\n\n this.setState({\n isStickySpinner: true,\n spinnerStyle,\n });\n };\n\n private disableChildrenFocus = () => {\n if (!this.childrenObserver) {\n this.makeObservable();\n }\n const tabbableElements = getTabbableElements(this.childrenContainerNode);\n tabbableElements.forEach((el) => {\n if (!el.hasAttribute('origin-tabindex')) {\n el.setAttribute('origin-tabindex', el.tabIndex.toString());\n }\n el.tabIndex = -1;\n });\n };\n\n private enableChildrenFocus = () => {\n this.makeUnobservable();\n // NOTE: NodeList doesn't support 'forEach' method in IE11 and other older browsers\n Array.from(document.querySelectorAll('[origin-tabindex]')).forEach((el) => {\n el.setAttribute('tabindex', el.getAttribute('origin-tabindex') ?? '0');\n el.removeAttribute('origin-tabindex');\n });\n };\n\n private makeObservable = () => {\n const target = this.childrenContainerNode;\n if (!target) {\n return;\n }\n const config = {\n childList: true,\n subtree: true,\n };\n const observer = new MutationObserver(this.disableChildrenFocus);\n observer.observe(target, config);\n this.childrenObserver = observer;\n };\n\n private makeUnobservable = () => {\n this.childrenObserver?.disconnect();\n this.childrenObserver = null;\n };\n}\n"]}