@skbkontur/react-ui 2.17.3 → 2.17.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 (50) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/cjs/components/Modal/Modal.styles.js +1 -1
  3. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  4. package/cjs/components/Select/Select.js +6 -1
  5. package/cjs/components/Select/Select.js.map +1 -1
  6. package/cjs/components/Select/Select.styles.d.ts +1 -0
  7. package/cjs/components/Select/Select.styles.js +11 -5
  8. package/cjs/components/Select/Select.styles.js.map +1 -1
  9. package/cjs/components/Select/selectTheme.js +6 -1
  10. package/cjs/components/Select/selectTheme.js.map +1 -1
  11. package/cjs/internal/Calendar/Calendar.js +1 -1
  12. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  13. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +1 -1
  14. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  15. package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
  16. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  17. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  18. package/cjs/internal/themes/DefaultTheme.d.ts +5 -0
  19. package/cjs/internal/themes/DefaultTheme.js +16 -1
  20. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  21. package/cjs/lib/Upgrades.d.ts +2 -0
  22. package/cjs/lib/Upgrades.js +14 -0
  23. package/cjs/lib/Upgrades.js.map +1 -1
  24. package/cjs/lib/theming/Emotion.js +3 -3
  25. package/cjs/lib/theming/Emotion.js.map +1 -1
  26. package/components/Modal/Modal.styles/Modal.styles.js +1 -1
  27. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  28. package/components/Select/Select/Select.js +2 -2
  29. package/components/Select/Select/Select.js.map +1 -1
  30. package/components/Select/Select.styles/Select.styles.js +21 -8
  31. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  32. package/components/Select/Select.styles.d.ts +1 -0
  33. package/components/Select/selectTheme/selectTheme.js +5 -1
  34. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  35. package/internal/Calendar/Calendar/Calendar.js +2 -1
  36. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  37. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +4 -2
  38. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  39. package/internal/RenderContainer/RenderContainer/RenderContainer.js +2 -1
  40. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  41. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  42. package/internal/themes/DefaultTheme/DefaultTheme.js +26 -1
  43. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  44. package/internal/themes/DefaultTheme.d.ts +5 -0
  45. package/lib/Upgrades/Upgrades.js +13 -0
  46. package/lib/Upgrades/Upgrades.js.map +1 -1
  47. package/lib/Upgrades.d.ts +2 -0
  48. package/lib/theming/Emotion/Emotion.js +3 -3
  49. package/lib/theming/Emotion/Emotion.js.map +1 -1
  50. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,41 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.17.6](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@2.17.5...@skbkontur/react-ui@2.17.6) (2021-11-09)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **Calendar,ComboBox:** add some data-tids ([#2627](https://github.com/skbkontur/retail-ui/issues/2627)) ([8a50717](https://github.com/skbkontur/retail-ui/commit/8a5071797cac832c7584636c688e6b3c204a7b0b)), closes [#2620](https://github.com/skbkontur/retail-ui/issues/2620) [#2625](https://github.com/skbkontur/retail-ui/issues/2625)
12
+
13
+
14
+
15
+
16
+
17
+ ## [2.17.5](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@2.17.4...@skbkontur/react-ui@2.17.5) (2021-11-03)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **Select:** add vars for disabled state ([#2611](https://github.com/skbkontur/retail-ui/issues/2611)) ([76a30b7](https://github.com/skbkontur/retail-ui/commit/76a30b7ba3ec59e421b14685a6993c961a8f6175)), closes [#2610](https://github.com/skbkontur/retail-ui/issues/2610)
23
+ * **ThemePlayground:** computed vars are visible in the ThemeEditor ([0068f1b](https://github.com/skbkontur/retail-ui/commit/0068f1bc3a6e7f4f6d08f766c308a948cd43deea))
24
+ * **Upgrades:** abillity to customize classNames prefix ([#2608](https://github.com/skbkontur/retail-ui/issues/2608)) ([849c13e](https://github.com/skbkontur/retail-ui/commit/849c13ea284968425d91294e0b515a01d98d2acb)), closes [#2561](https://github.com/skbkontur/retail-ui/issues/2561)
25
+
26
+
27
+
28
+
29
+
30
+ ## [2.17.4](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@2.17.3...@skbkontur/react-ui@2.17.4) (2021-09-29)
31
+
32
+
33
+ ### Bug Fixes
34
+
35
+ * **Modal.Header:** fix padding in "panel"-mode ([f7bd7c1](https://github.com/skbkontur/retail-ui/commit/f7bd7c109776610f48b18d4a94f86f54dfd62d8d))
36
+
37
+
38
+
39
+
40
+
6
41
  ## [2.17.3](https://github.com/skbkontur/retail-ui/compare/@skbkontur/react-ui@2.17.2...@skbkontur/react-ui@2.17.3) (2021-08-10)
7
42
 
8
43
 
@@ -1,6 +1,6 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.jsStyles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");
2
2
 
3
- var _Mixins = require("../../lib/styles/Mixins");function _templateObject22() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-bottom: ", ";\n "]);_templateObject22 = function _templateObject22() {return data;};return data;}function _templateObject21() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n padding: 0 !important;\n "]);_templateObject21 = function _templateObject21() {return data;};return data;}function _templateObject20() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-top: ", " !important;\n "]);_templateObject20 = function _templateObject20() {return data;};return data;}function _templateObject19() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-bottom: 22px;\n "]);_templateObject19 = function _templateObject19() {return data;};return data;}function _templateObject18() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n ", "& {\n padding-top: 20px;\n margin-top: 10px;\n background: ", ";\n }\n\n &:before {\n top: 11px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ", ";\n }\n "]);_templateObject18 = function _templateObject18() {return data;};return data;}function _templateObject17() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n margin-bottom: 10px;\n padding-bottom: ", ";\n background: ", ";\n\n &:after {\n bottom: 11px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ", ";\n }\n "]);_templateObject17 = function _templateObject17() {return data;};return data;}function _templateObject16() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n ", "& {\n padding-top: ", " !important;\n padding-bottom: ", " !important;\n background: ", " !important;\n }\n "]);_templateObject16 = function _templateObject16() {return data;};return data;}function _templateObject15() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: relative;\n "]);_templateObject15 = function _templateObject15() {return data;};return data;}function _templateObject14() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n padding: ", " ", " ", " ", ";\n "]);_templateObject14 = function _templateObject14() {return data;};return data;}function _templateObject13() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-right: ", "px;\n "]);_templateObject13 = function _templateObject13() {return data;};return data;}function _templateObject12() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n padding: 0 ", " ", " ", ";\n "]);_templateObject12 = function _templateObject12() {return data;};return data;}function _templateObject11() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n font-size: ", ";\n line-height: ", ";\n padding: ", " ", " ", " ", ";\n overflow-wrap: break-word;\n word-wrap: break-word;\n "]);_templateObject11 = function _templateObject11() {return data;};return data;}function _templateObject10() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: relative;\n "]);_templateObject10 = function _templateObject10() {return data;};return data;}function _templateObject9() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n ", "& {\n pointer-events: none;\n cursor: default;\n color: ", ";\n }\n "]);_templateObject9 = function _templateObject9() {return data;};return data;}function _templateObject8() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: relative;\n float: right;\n width: ", "px;\n height: ", "px;\n "]);_templateObject8 = function _templateObject8() {return data;};return data;}function _templateObject7() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n position: absolute;\n display: flex;\n right: ", "px;\n top: ", "px;\n background: none;\n background: transparent;\n cursor: pointer;\n color: ", ";\n text-align: center;\n vertical-align: middle;\n padding: ", " !important;\n margin: -", " !important;\n\n &:focus,\n &:hover {\n color: ", ";\n }\n\n &:focus {\n outline: 2px solid ", ";\n }\n\n & > svg {\n width: ", ";\n height: ", ";\n box-sizing: content-box;\n }\n "]);_templateObject7 = function _templateObject7() {return data;};return data;}function _templateObject6() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n ", "& {\n vertical-align: top;\n }\n "]);_templateObject6 = function _templateObject6() {return data;};return data;}function _templateObject5() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: relative;\n display: inline-block;\n text-align: left;\n vertical-align: middle;\n box-sizing: border-box;\n z-index: 10;\n margin: 40px 20px;\n\n @media screen and (max-width: ", ") {\n margin: 0;\n width: 100%;\n }\n "]);_templateObject5 = function _templateObject5() {return data;};return data;}function _templateObject4() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: relative;\n white-space: normal;\n margin: auto;\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n background: ", ";\n "]);_templateObject4 = function _templateObject4() {return data;};return data;}function _templateObject3() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: relative;\n white-space: nowrap;\n text-align: center;\n height: 100%;\n overflow-y: auto;\n outline: none;\n\n &::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n height: 80%; /* to vertical align modal 40%/60% of screen height */\n }\n "]);_templateObject3 = function _templateObject3() {return data;};return data;}function _templateObject2() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n background: ", ";\n opacity: ", ";\n "]);_templateObject2 = function _templateObject2() {return data;};return data;}function _templateObject() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n width: 100%;\n "]);_templateObject = function _templateObject() {return data;};return data;}
3
+ var _Mixins = require("../../lib/styles/Mixins");function _templateObject22() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-bottom: ", ";\n "]);_templateObject22 = function _templateObject22() {return data;};return data;}function _templateObject21() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n padding: 0 !important;\n "]);_templateObject21 = function _templateObject21() {return data;};return data;}function _templateObject20() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-top: ", " !important;\n "]);_templateObject20 = function _templateObject20() {return data;};return data;}function _templateObject19() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-bottom: 22px !important;\n "]);_templateObject19 = function _templateObject19() {return data;};return data;}function _templateObject18() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n ", "& {\n padding-top: 20px;\n margin-top: 10px;\n background: ", ";\n }\n\n &:before {\n top: 11px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ", ";\n }\n "]);_templateObject18 = function _templateObject18() {return data;};return data;}function _templateObject17() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n margin-bottom: 10px;\n padding-bottom: ", ";\n background: ", ";\n\n &:after {\n bottom: 11px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ", ";\n }\n "]);_templateObject17 = function _templateObject17() {return data;};return data;}function _templateObject16() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n ", "& {\n padding-top: ", " !important;\n padding-bottom: ", " !important;\n background: ", " !important;\n }\n "]);_templateObject16 = function _templateObject16() {return data;};return data;}function _templateObject15() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: relative;\n "]);_templateObject15 = function _templateObject15() {return data;};return data;}function _templateObject14() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n padding: ", " ", " ", " ", ";\n "]);_templateObject14 = function _templateObject14() {return data;};return data;}function _templateObject13() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n padding-right: ", "px;\n "]);_templateObject13 = function _templateObject13() {return data;};return data;}function _templateObject12() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n padding: 0 ", " ", " ", ";\n "]);_templateObject12 = function _templateObject12() {return data;};return data;}function _templateObject11() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n font-size: ", ";\n line-height: ", ";\n padding: ", " ", " ", " ", ";\n overflow-wrap: break-word;\n word-wrap: break-word;\n "]);_templateObject11 = function _templateObject11() {return data;};return data;}function _templateObject10() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: relative;\n "]);_templateObject10 = function _templateObject10() {return data;};return data;}function _templateObject9() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n ", "& {\n pointer-events: none;\n cursor: default;\n color: ", ";\n }\n "]);_templateObject9 = function _templateObject9() {return data;};return data;}function _templateObject8() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: relative;\n float: right;\n width: ", "px;\n height: ", "px;\n "]);_templateObject8 = function _templateObject8() {return data;};return data;}function _templateObject7() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n ", ";\n position: absolute;\n display: flex;\n right: ", "px;\n top: ", "px;\n background: none;\n background: transparent;\n cursor: pointer;\n color: ", ";\n text-align: center;\n vertical-align: middle;\n padding: ", " !important;\n margin: -", " !important;\n\n &:focus,\n &:hover {\n color: ", ";\n }\n\n &:focus {\n outline: 2px solid ", ";\n }\n\n & > svg {\n width: ", ";\n height: ", ";\n box-sizing: content-box;\n }\n "]);_templateObject7 = function _templateObject7() {return data;};return data;}function _templateObject6() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n ", "& {\n vertical-align: top;\n }\n "]);_templateObject6 = function _templateObject6() {return data;};return data;}function _templateObject5() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: relative;\n display: inline-block;\n text-align: left;\n vertical-align: middle;\n box-sizing: border-box;\n z-index: 10;\n margin: 40px 20px;\n\n @media screen and (max-width: ", ") {\n margin: 0;\n width: 100%;\n }\n "]);_templateObject5 = function _templateObject5() {return data;};return data;}function _templateObject4() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: relative;\n white-space: normal;\n margin: auto;\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n background: ", ";\n "]);_templateObject4 = function _templateObject4() {return data;};return data;}function _templateObject3() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: relative;\n white-space: nowrap;\n text-align: center;\n height: 100%;\n overflow-y: auto;\n outline: none;\n\n &::before {\n content: '';\n display: inline-block;\n vertical-align: middle;\n height: 80%; /* to vertical align modal 40%/60% of screen height */\n }\n "]);_templateObject3 = function _templateObject3() {return data;};return data;}function _templateObject2() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n background: ", ";\n opacity: ", ";\n "]);_templateObject2 = function _templateObject2() {return data;};return data;}function _templateObject() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n width: 100%;\n "]);_templateObject = function _templateObject() {return data;};return data;}
4
4
 
5
5
  var styles = {
6
6
  root: function root() {
@@ -1 +1 @@
1
- {"version":3,"sources":["Modal.styles.ts"],"names":["styles","root","css","bg","t","modalBackBg","modalBackOpacity","container","window","bgDefault","centerContainer","modalAdaptiveThreshold","alignTop","close","padding","parseInt","modalCloseButtonPadding","modalCloseButtonColor","modalCloseButtonClickArea","modalCloseButtonHoverColor","borderColorFocus","modalCloseIconSize","closeWrapper","paddingBottom","modalCloseButtonBottomPadding","legacyGap","modalCloseWrapperLegacyGap","legacyShift","modalCloseButtonLegacyShift","blockSizeX","blockSizeY","disabled","modalCloseButtonDisabledColor","headerWrapper","header","modalHeaderFontSize","modalHeaderLineHeight","modalHeaderPaddingTop","modalPaddingRight","modalHeaderPaddingBottom","modalPaddingLeft","body","modalBodyPaddingBottom","headerWithClose","rightPadding","modalCloseLegacyGap","footer","modalFooterPaddingTop","modalFooterPaddingBottom","footerWrapper","panel","modalFooterPanelPaddingTop","modalFooterPanelPaddingBottom","modalFooterBg","fixedHeader","modalFixedHeaderPaddingBottom","modalFixedHeaderBg","modalFixedHeaderShadow","fixedFooter","modalFixedFooterShadow","headerAddPadding","bodyWithoutHeader","modalPaddingTop","bodyWithoutPadding","bodyAddPaddingForPanel","modalPaddingBottom","jsStyles"],"mappings":"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","sourcesContent":["import { css, cssName, memoizeStyle } from '../../lib/theming/Emotion';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { resetButton } from '../../lib/styles/Mixins';\r\n\r\nconst styles = {\r\n root() {\r\n return css`\r\n height: 100%;\r\n left: 0;\r\n position: fixed;\r\n top: 0;\r\n width: 100%;\r\n `;\r\n },\r\n\r\n bg(t: Theme) {\r\n return css`\r\n bottom: 0;\r\n left: 0;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n background: ${t.modalBackBg};\r\n opacity: ${t.modalBackOpacity};\r\n `;\r\n },\r\n\r\n container() {\r\n return css`\r\n position: relative;\r\n white-space: nowrap;\r\n text-align: center;\r\n height: 100%;\r\n overflow-y: auto;\r\n outline: none;\r\n\r\n &::before {\r\n content: '';\r\n display: inline-block;\r\n vertical-align: middle;\r\n height: 80%; /* to vertical align modal 40%/60% of screen height */\r\n }\r\n `;\r\n },\r\n\r\n window(t: Theme) {\r\n return css`\r\n position: relative;\r\n white-space: normal;\r\n margin: auto;\r\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\r\n background: ${t.bgDefault};\r\n `;\r\n },\r\n\r\n centerContainer(t: Theme) {\r\n return css`\r\n position: relative;\r\n display: inline-block;\r\n text-align: left;\r\n vertical-align: middle;\r\n box-sizing: border-box;\r\n z-index: 10;\r\n margin: 40px 20px;\r\n\r\n @media screen and (max-width: ${t.modalAdaptiveThreshold}) {\r\n margin: 0;\r\n width: 100%;\r\n }\r\n `;\r\n },\r\n\r\n alignTop(t: Theme) {\r\n return css`\r\n ${cssName(styles.centerContainer(t))}& {\r\n vertical-align: top;\r\n }\r\n `;\r\n },\r\n\r\n close(t: Theme) {\r\n const padding = parseInt(t.modalCloseButtonPadding);\r\n return css`\r\n ${resetButton()};\r\n position: absolute;\r\n display: flex;\r\n right: ${padding}px;\r\n top: ${padding}px;\r\n background: none;\r\n background: transparent;\r\n cursor: pointer;\r\n color: ${t.modalCloseButtonColor};\r\n text-align: center;\r\n vertical-align: middle;\r\n padding: ${t.modalCloseButtonClickArea} !important;\r\n margin: -${t.modalCloseButtonClickArea} !important;\r\n\r\n &:focus,\r\n &:hover {\r\n color: ${t.modalCloseButtonHoverColor};\r\n }\r\n\r\n &:focus {\r\n outline: 2px solid ${t.borderColorFocus};\r\n }\r\n\r\n & > svg {\r\n width: ${t.modalCloseIconSize};\r\n height: ${t.modalCloseIconSize};\r\n box-sizing: content-box;\r\n }\r\n `;\r\n },\r\n\r\n closeWrapper(t: Theme) {\r\n const padding = parseInt(t.modalCloseButtonPadding);\r\n const paddingBottom = parseInt(t.modalCloseButtonBottomPadding);\r\n const legacyGap = parseInt(t.modalCloseWrapperLegacyGap);\r\n const legacyShift = parseInt(t.modalCloseButtonLegacyShift);\r\n const blockSizeX = parseInt(t.modalCloseIconSize) + 2 * padding - legacyShift;\r\n const blockSizeY = parseInt(t.modalCloseIconSize) + padding + paddingBottom + legacyGap;\r\n return css`\r\n position: relative;\r\n float: right;\r\n width: ${blockSizeX + legacyGap}px;\r\n height: ${blockSizeY}px;\r\n `;\r\n },\r\n\r\n disabled(t: Theme) {\r\n return css`\r\n ${cssName(styles.close(t))}& {\r\n pointer-events: none;\r\n cursor: default;\r\n color: ${t.modalCloseButtonDisabledColor};\r\n }\r\n `;\r\n },\r\n\r\n headerWrapper() {\r\n return css`\r\n position: relative;\r\n `;\r\n },\r\n\r\n header(t: Theme) {\r\n return css`\r\n font-size: ${t.modalHeaderFontSize};\r\n line-height: ${t.modalHeaderLineHeight};\r\n padding: ${t.modalHeaderPaddingTop} ${t.modalPaddingRight} ${t.modalHeaderPaddingBottom} ${t.modalPaddingLeft};\r\n overflow-wrap: break-word;\r\n word-wrap: break-word;\r\n `;\r\n },\r\n\r\n body(t: Theme) {\r\n return css`\r\n padding: 0 ${t.modalPaddingRight} ${t.modalBodyPaddingBottom} ${t.modalPaddingLeft};\r\n `;\r\n },\r\n\r\n headerWithClose(t: Theme) {\r\n const rightPadding =\r\n 2 * parseInt(t.modalCloseButtonPadding) + parseInt(t.modalCloseIconSize) + parseInt(t.modalCloseLegacyGap);\r\n\r\n return css`\r\n padding-right: ${rightPadding}px;\r\n `;\r\n },\r\n\r\n footer(t: Theme) {\r\n return css`\r\n padding: ${t.modalFooterPaddingTop} ${t.modalPaddingRight} ${t.modalFooterPaddingBottom} ${t.modalPaddingLeft};\r\n `;\r\n },\r\n\r\n footerWrapper() {\r\n return css`\r\n position: relative;\r\n `;\r\n },\r\n\r\n panel(t: Theme) {\r\n return css`\r\n ${cssName(styles.footer(t))}& {\r\n padding-top: ${t.modalFooterPanelPaddingTop} !important;\r\n padding-bottom: ${t.modalFooterPanelPaddingBottom} !important;\r\n background: ${t.modalFooterBg} !important;\r\n }\r\n `;\r\n },\r\n\r\n fixedHeader(t: Theme) {\r\n return css`\r\n margin-bottom: 10px;\r\n padding-bottom: ${t.modalFixedHeaderPaddingBottom};\r\n background: ${t.modalFixedHeaderBg};\r\n\r\n &:after {\r\n bottom: 11px;\r\n content: '';\r\n position: absolute;\r\n height: 1px;\r\n width: 100%;\r\n left: 0;\r\n z-index: -1;\r\n box-shadow: ${t.modalFixedHeaderShadow};\r\n }\r\n `;\r\n },\r\n\r\n fixedFooter(t: Theme) {\r\n return css`\r\n ${cssName(styles.footer(t))}& {\r\n padding-top: 20px;\r\n margin-top: 10px;\r\n background: ${t.modalFixedHeaderBg};\r\n }\r\n\r\n &:before {\r\n top: 11px;\r\n content: '';\r\n position: absolute;\r\n height: 1px;\r\n width: 100%;\r\n left: 0;\r\n z-index: -1;\r\n box-shadow: ${t.modalFixedFooterShadow};\r\n }\r\n `;\r\n },\r\n\r\n headerAddPadding() {\r\n return css`\r\n padding-bottom: 22px;\r\n `;\r\n },\r\n\r\n bodyWithoutHeader(t: Theme) {\r\n return css`\r\n padding-top: ${t.modalPaddingTop} !important;\r\n `;\r\n },\r\n\r\n bodyWithoutPadding() {\r\n return css`\r\n padding: 0 !important;\r\n `;\r\n },\r\n\r\n bodyAddPaddingForPanel(t: Theme) {\r\n return css`\r\n padding-bottom: ${t.modalPaddingBottom};\r\n `;\r\n },\r\n};\r\n\r\nexport const jsStyles = memoizeStyle(styles);\r\n"]}
1
+ {"version":3,"sources":["Modal.styles.ts"],"names":["styles","root","css","bg","t","modalBackBg","modalBackOpacity","container","window","bgDefault","centerContainer","modalAdaptiveThreshold","alignTop","close","padding","parseInt","modalCloseButtonPadding","modalCloseButtonColor","modalCloseButtonClickArea","modalCloseButtonHoverColor","borderColorFocus","modalCloseIconSize","closeWrapper","paddingBottom","modalCloseButtonBottomPadding","legacyGap","modalCloseWrapperLegacyGap","legacyShift","modalCloseButtonLegacyShift","blockSizeX","blockSizeY","disabled","modalCloseButtonDisabledColor","headerWrapper","header","modalHeaderFontSize","modalHeaderLineHeight","modalHeaderPaddingTop","modalPaddingRight","modalHeaderPaddingBottom","modalPaddingLeft","body","modalBodyPaddingBottom","headerWithClose","rightPadding","modalCloseLegacyGap","footer","modalFooterPaddingTop","modalFooterPaddingBottom","footerWrapper","panel","modalFooterPanelPaddingTop","modalFooterPanelPaddingBottom","modalFooterBg","fixedHeader","modalFixedHeaderPaddingBottom","modalFixedHeaderBg","modalFixedHeaderShadow","fixedFooter","modalFixedFooterShadow","headerAddPadding","bodyWithoutHeader","modalPaddingTop","bodyWithoutPadding","bodyAddPaddingForPanel","modalPaddingBottom","jsStyles"],"mappings":"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","sourcesContent":["import { css, cssName, memoizeStyle } from '../../lib/theming/Emotion';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { resetButton } from '../../lib/styles/Mixins';\r\n\r\nconst styles = {\r\n root() {\r\n return css`\r\n height: 100%;\r\n left: 0;\r\n position: fixed;\r\n top: 0;\r\n width: 100%;\r\n `;\r\n },\r\n\r\n bg(t: Theme) {\r\n return css`\r\n bottom: 0;\r\n left: 0;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n background: ${t.modalBackBg};\r\n opacity: ${t.modalBackOpacity};\r\n `;\r\n },\r\n\r\n container() {\r\n return css`\r\n position: relative;\r\n white-space: nowrap;\r\n text-align: center;\r\n height: 100%;\r\n overflow-y: auto;\r\n outline: none;\r\n\r\n &::before {\r\n content: '';\r\n display: inline-block;\r\n vertical-align: middle;\r\n height: 80%; /* to vertical align modal 40%/60% of screen height */\r\n }\r\n `;\r\n },\r\n\r\n window(t: Theme) {\r\n return css`\r\n position: relative;\r\n white-space: normal;\r\n margin: auto;\r\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\r\n background: ${t.bgDefault};\r\n `;\r\n },\r\n\r\n centerContainer(t: Theme) {\r\n return css`\r\n position: relative;\r\n display: inline-block;\r\n text-align: left;\r\n vertical-align: middle;\r\n box-sizing: border-box;\r\n z-index: 10;\r\n margin: 40px 20px;\r\n\r\n @media screen and (max-width: ${t.modalAdaptiveThreshold}) {\r\n margin: 0;\r\n width: 100%;\r\n }\r\n `;\r\n },\r\n\r\n alignTop(t: Theme) {\r\n return css`\r\n ${cssName(styles.centerContainer(t))}& {\r\n vertical-align: top;\r\n }\r\n `;\r\n },\r\n\r\n close(t: Theme) {\r\n const padding = parseInt(t.modalCloseButtonPadding);\r\n return css`\r\n ${resetButton()};\r\n position: absolute;\r\n display: flex;\r\n right: ${padding}px;\r\n top: ${padding}px;\r\n background: none;\r\n background: transparent;\r\n cursor: pointer;\r\n color: ${t.modalCloseButtonColor};\r\n text-align: center;\r\n vertical-align: middle;\r\n padding: ${t.modalCloseButtonClickArea} !important;\r\n margin: -${t.modalCloseButtonClickArea} !important;\r\n\r\n &:focus,\r\n &:hover {\r\n color: ${t.modalCloseButtonHoverColor};\r\n }\r\n\r\n &:focus {\r\n outline: 2px solid ${t.borderColorFocus};\r\n }\r\n\r\n & > svg {\r\n width: ${t.modalCloseIconSize};\r\n height: ${t.modalCloseIconSize};\r\n box-sizing: content-box;\r\n }\r\n `;\r\n },\r\n\r\n closeWrapper(t: Theme) {\r\n const padding = parseInt(t.modalCloseButtonPadding);\r\n const paddingBottom = parseInt(t.modalCloseButtonBottomPadding);\r\n const legacyGap = parseInt(t.modalCloseWrapperLegacyGap);\r\n const legacyShift = parseInt(t.modalCloseButtonLegacyShift);\r\n const blockSizeX = parseInt(t.modalCloseIconSize) + 2 * padding - legacyShift;\r\n const blockSizeY = parseInt(t.modalCloseIconSize) + padding + paddingBottom + legacyGap;\r\n return css`\r\n position: relative;\r\n float: right;\r\n width: ${blockSizeX + legacyGap}px;\r\n height: ${blockSizeY}px;\r\n `;\r\n },\r\n\r\n disabled(t: Theme) {\r\n return css`\r\n ${cssName(styles.close(t))}& {\r\n pointer-events: none;\r\n cursor: default;\r\n color: ${t.modalCloseButtonDisabledColor};\r\n }\r\n `;\r\n },\r\n\r\n headerWrapper() {\r\n return css`\r\n position: relative;\r\n `;\r\n },\r\n\r\n header(t: Theme) {\r\n return css`\r\n font-size: ${t.modalHeaderFontSize};\r\n line-height: ${t.modalHeaderLineHeight};\r\n padding: ${t.modalHeaderPaddingTop} ${t.modalPaddingRight} ${t.modalHeaderPaddingBottom} ${t.modalPaddingLeft};\r\n overflow-wrap: break-word;\r\n word-wrap: break-word;\r\n `;\r\n },\r\n\r\n body(t: Theme) {\r\n return css`\r\n padding: 0 ${t.modalPaddingRight} ${t.modalBodyPaddingBottom} ${t.modalPaddingLeft};\r\n `;\r\n },\r\n\r\n headerWithClose(t: Theme) {\r\n const rightPadding =\r\n 2 * parseInt(t.modalCloseButtonPadding) + parseInt(t.modalCloseIconSize) + parseInt(t.modalCloseLegacyGap);\r\n\r\n return css`\r\n padding-right: ${rightPadding}px;\r\n `;\r\n },\r\n\r\n footer(t: Theme) {\r\n return css`\r\n padding: ${t.modalFooterPaddingTop} ${t.modalPaddingRight} ${t.modalFooterPaddingBottom} ${t.modalPaddingLeft};\r\n `;\r\n },\r\n\r\n footerWrapper() {\r\n return css`\r\n position: relative;\r\n `;\r\n },\r\n\r\n panel(t: Theme) {\r\n return css`\r\n ${cssName(styles.footer(t))}& {\r\n padding-top: ${t.modalFooterPanelPaddingTop} !important;\r\n padding-bottom: ${t.modalFooterPanelPaddingBottom} !important;\r\n background: ${t.modalFooterBg} !important;\r\n }\r\n `;\r\n },\r\n\r\n fixedHeader(t: Theme) {\r\n return css`\r\n margin-bottom: 10px;\r\n padding-bottom: ${t.modalFixedHeaderPaddingBottom};\r\n background: ${t.modalFixedHeaderBg};\r\n\r\n &:after {\r\n bottom: 11px;\r\n content: '';\r\n position: absolute;\r\n height: 1px;\r\n width: 100%;\r\n left: 0;\r\n z-index: -1;\r\n box-shadow: ${t.modalFixedHeaderShadow};\r\n }\r\n `;\r\n },\r\n\r\n fixedFooter(t: Theme) {\r\n return css`\r\n ${cssName(styles.footer(t))}& {\r\n padding-top: 20px;\r\n margin-top: 10px;\r\n background: ${t.modalFixedHeaderBg};\r\n }\r\n\r\n &:before {\r\n top: 11px;\r\n content: '';\r\n position: absolute;\r\n height: 1px;\r\n width: 100%;\r\n left: 0;\r\n z-index: -1;\r\n box-shadow: ${t.modalFixedFooterShadow};\r\n }\r\n `;\r\n },\r\n\r\n headerAddPadding() {\r\n return css`\r\n padding-bottom: 22px !important;\r\n `;\r\n },\r\n\r\n bodyWithoutHeader(t: Theme) {\r\n return css`\r\n padding-top: ${t.modalPaddingTop} !important;\r\n `;\r\n },\r\n\r\n bodyWithoutPadding() {\r\n return css`\r\n padding: 0 !important;\r\n `;\r\n },\r\n\r\n bodyAddPaddingForPanel(t: Theme) {\r\n return css`\r\n padding-bottom: ${t.modalPaddingBottom};\r\n `;\r\n },\r\n};\r\n\r\nexport const jsStyles = memoizeStyle(styles);\r\n"]}
@@ -456,6 +456,11 @@ Select = (_dec = (0, _decorators.locale)('Select', _locale.SelectLocaleHelper),
456
456
 
457
457
 
458
458
 
459
+
460
+
461
+
462
+
463
+
459
464
 
460
465
 
461
466
 
@@ -598,7 +603,7 @@ Select = (_dec = (0, _decorators.locale)('Select', _locale.SelectLocaleHelper),
598
603
  buttonElement;
599
604
  };return _this;}var _proto = Select.prototype;_proto.componentDidUpdate = function componentDidUpdate(_prevProps, prevState) {if (!prevState.opened && this.state.opened) {window.addEventListener('popstate', this.close);}if (prevState.opened && !this.state.opened) {window.removeEventListener('popstate', this.close);}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: (0, _selectTheme.getSelectTheme)(theme, _this2.props) }, _this2.renderMain());});} /**
600
605
  * @public
601
- */;_proto.renderMain = function renderMain() {var _this$renderLabel = this.renderLabel(),label = _this$renderLabel.label,isPlaceholder = _this$renderLabel.isPlaceholder;var buttonParams = { opened: this.state.opened, label: label, isPlaceholder: isPlaceholder, onClick: this.toggle, onKeyDown: this.handleKey };var style = { width: this.props.width, maxWidth: this.props.maxWidth || undefined };var button = this.getButton(buttonParams);return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.close, onFocusOutside: this.close, active: this.state.opened }, /*#__PURE__*/_react.default.createElement("span", { className: _Select.jsStyles.root(this.theme), style: style }, button, !this.props.disabled && this.state.opened && this.renderMenu())));};_proto.renderLabel = function renderLabel() {var value = this.getValue();var item = this.getItemByValue(value);if (item != null || value != null) {return { label: this.getProps().renderValue(value, item), isPlaceholder: false };}return { label: /*#__PURE__*/_react.default.createElement("span", null, this.props.placeholder || this.locale.placeholder), isPlaceholder: true };};_proto.renderDefaultButton = function renderDefaultButton(params) {var _cn;if (this.props.diadocLinkIcon) {(0, _warning.default)(false, "diadocLinkIcon has been deprecated");return this.renderLinkButton(params);}var buttonProps = (0, _extends2.default)({}, (0, _filterProps.filterProps)(this.props, PASS_BUTTON_PROPS), { align: 'left', disabled: this.props.disabled, width: '100%', onClick: params.onClick, onKeyDown: params.onKeyDown, active: params.opened });if (this.props._icon) {Object.assign(buttonProps, { icon: this.props._icon, _noRightPadding: true });}var labelProps = { className: (0, _classnames.default)((_cn = {}, _cn[_Select.jsStyles.label()] = this.props.use !== 'link', _cn[_Select.jsStyles.placeholder(this.theme)] = params.isPlaceholder, _cn[_Select.jsStyles.customUsePlaceholder()] = params.isPlaceholder && this.props.use !== 'default', _cn)), style: { paddingRight: this.getLabelPaddingRight() } };var useIsCustom = this.props.use !== 'default';return /*#__PURE__*/_react.default.createElement(_Button.Button, buttonProps, /*#__PURE__*/_react.default.createElement("span", labelProps, /*#__PURE__*/_react.default.createElement("span", { className: _Select.jsStyles.labelText() }, params.label)), /*#__PURE__*/_react.default.createElement("div", { className: _Select.jsStyles.arrowWrap(), style: { right: this.getLegacyArrowShift() } }, /*#__PURE__*/_react.default.createElement("div", { className: (0, _classnames.default)(_Select.jsStyles.arrow(this.theme), useIsCustom && _Select.jsStyles.customUseArrow()) })));};_proto.getLabelPaddingRight = function getLabelPaddingRight() {var _this3 = this;var getArrowPadding = function getArrowPadding() {switch (_this3.props.size) {case 'large':return _this3.theme.selectPaddingArrowLarge;case 'medium':return _this3.theme.selectPaddingArrowMedium;case 'small':default:return _this3.theme.selectPaddingArrowSmall;}};var ARROW_WIDTH = 8;var arrowLeftPadding = parseFloat(getArrowPadding()) || 0;return ARROW_WIDTH + arrowLeftPadding + (this.props._icon ? 10 : 0) + this.getLegacyArrowShift();};_proto.getLegacyArrowShift = function getLegacyArrowShift() {var _this4 = this;var getSelectPadding = function getSelectPadding() {switch (_this4.props.size) {case 'large':return _this4.theme.selectPaddingXLarge;case 'medium':return _this4.theme.selectPaddingXMedium;case 'small':default:return _this4.theme.selectPaddingXSmall;}};var selectPadding = parseFloat(getSelectPadding()) || 0;return this.props.use === 'link' ? 10 : 1 + (this.props._icon ? selectPadding : 0);};_proto.renderLinkButton = function renderLinkButton(params) {var linkProps = { disabled: params.disabled, icon: this.props.diadocLinkIcon, _button: true, _buttonOpened: params.opened, onClick: params.onClick, onKeyDown: params.onKeyDown };return /*#__PURE__*/_react.default.createElement(_Link.Link, linkProps, params.label);};_proto.renderMenu = function renderMenu() {var _this5 = this;var search = this.props.search ? /*#__PURE__*/_react.default.createElement("div", { className: _Select.jsStyles.search() }, /*#__PURE__*/_react.default.createElement(_Input.Input, { ref: this.focusInput, onValueChange: this.handleSearch, width: "100%" })) : null;var value = this.getValue();return /*#__PURE__*/_react.default.createElement(_DropdownContainer.DropdownContainer, { getParent: this.dropdownContainerGetParent, offsetY: -1, align: this.props.menuAlign, disablePortal: this.props.disablePortal }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, { ref: this.refMenu, width: this.props.menuWidth, onItemClick: this.close, maxHeight: this.props.maxMenuHeight }, search, this.mapItems(function (iValue, item, i, comment) {if ((0, _utils.isFunction)(item)) {var element = item();if ( /*#__PURE__*/_react.default.isValidElement(element)) {return /*#__PURE__*/_react.default.cloneElement(element, { key: i });}return null;}if ( /*#__PURE__*/_react.default.isValidElement(item)) {return /*#__PURE__*/_react.default.cloneElement(item, { key: i });}return /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { key: i, state: _this5.getProps().areValuesEqual(iValue, value) ? 'selected' : null, onClick: _this5.select.bind(_this5, iValue), comment: comment }, _this5.getProps().renderItem(iValue, item));})));};_proto.select = function select(value) {this.focus();this.setState({ opened: false, value: value });if (this.props.onValueChange && !this.getProps().areValuesEqual(this.getValue(), value)) {this.props.onValueChange(value);}};_proto.getValue = function getValue() {if (this.props.value !== undefined) {return this.props.value;}return this.state.value;};_proto.mapItems = function mapItems(fn) {var items = this.props.items;if (!items) {return [];}var pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();var result = [];var index = 0;for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {var entry = _step.value;var _normalizeEntry = normalizeEntry(entry),_value = _normalizeEntry[0],_item = _normalizeEntry[1],_comment = _normalizeEntry[2];if (!pattern || this.getProps().filterItem(_value, _item, pattern)) {result.push(fn(_value, _item, index, _comment));++index;}}return result;};_proto.getItemByValue = function getItemByValue(value) {if (value === null || value === undefined) {return null;}var items = this.props.items || [];for (var _iterator2 = _createForOfIteratorHelperLoose(items), _step2; !(_step2 = _iterator2()).done;) {var entry = _step2.value;var _normalizeEntry2 = normalizeEntry(entry),itemValue = _normalizeEntry2[0],_item2 = _normalizeEntry2[1];if (this.getProps().areValuesEqual(itemValue, value)) {return _item2;}}return null;};return Select;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Select', _class2.propTypes = { areValuesEqual: _propTypes.default.func, defaultValue: _propTypes.default.any, disablePortal: _propTypes.default.bool, disabled: _propTypes.default.bool, error: _propTypes.default.bool, filterItem: _propTypes.default.func, items: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]), maxMenuHeight: _propTypes.default.number, maxWidth: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), placeholder: _propTypes.default.node, renderItem: _propTypes.default.func, renderValue: _propTypes.default.func, search: _propTypes.default.bool, value: _propTypes.default.any, width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), onValueChange: _propTypes.default.func, onMouseEnter: _propTypes.default.func, onMouseLeave: _propTypes.default.func, onMouseOver: _propTypes.default.func, onKeyDown: _propTypes.default.func }, _class2.defaultProps = { renderValue: renderValue, renderItem: renderItem, areValuesEqual: areValuesEqual, filterItem: filterItem, use: 'default' }, _class2.Item = _Item.Item, _class2.SEP = function () {return /*#__PURE__*/_react.default.createElement(_MenuSeparator.MenuSeparator, null);}, _class2.static = function (element) {(0, _invariant.default)( /*#__PURE__*/_react.default.isValidElement(element) || typeof element === 'function', 'Select.static(element) expects element to be a valid react element.');return element;}, _temp)) || _class);exports.Select = Select;
606
+ */;_proto.renderMain = function renderMain() {var _this$renderLabel = this.renderLabel(),label = _this$renderLabel.label,isPlaceholder = _this$renderLabel.isPlaceholder;var buttonParams = { opened: this.state.opened, label: label, isPlaceholder: isPlaceholder, onClick: this.toggle, onKeyDown: this.handleKey };var style = { width: this.props.width, maxWidth: this.props.maxWidth || undefined };var button = this.getButton(buttonParams);return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(_RenderLayer.RenderLayer, { onClickOutside: this.close, onFocusOutside: this.close, active: this.state.opened }, /*#__PURE__*/_react.default.createElement("span", { className: _Select.jsStyles.root(this.theme), style: style }, button, !this.props.disabled && this.state.opened && this.renderMenu())));};_proto.renderLabel = function renderLabel() {var value = this.getValue();var item = this.getItemByValue(value);if (item != null || value != null) {return { label: this.getProps().renderValue(value, item), isPlaceholder: false };}return { label: /*#__PURE__*/_react.default.createElement("span", null, this.props.placeholder || this.locale.placeholder), isPlaceholder: true };};_proto.renderDefaultButton = function renderDefaultButton(params) {var _cn, _cn2;if (this.props.diadocLinkIcon) {(0, _warning.default)(false, "diadocLinkIcon has been deprecated");return this.renderLinkButton(params);}var buttonProps = (0, _extends2.default)({}, (0, _filterProps.filterProps)(this.props, PASS_BUTTON_PROPS), { align: 'left', disabled: this.props.disabled, width: '100%', onClick: params.onClick, onKeyDown: params.onKeyDown, active: params.opened });if (this.props._icon) {Object.assign(buttonProps, { icon: this.props._icon, _noRightPadding: true });}var labelProps = { className: (0, _classnames.default)((_cn = {}, _cn[_Select.jsStyles.label()] = this.props.use !== 'link', _cn[_Select.jsStyles.placeholder(this.theme)] = params.isPlaceholder, _cn[_Select.jsStyles.customUsePlaceholder()] = params.isPlaceholder && this.props.use !== 'default', _cn)), style: { paddingRight: this.getLabelPaddingRight() } };var useIsCustom = this.props.use !== 'default';return /*#__PURE__*/_react.default.createElement(_Button.Button, buttonProps, /*#__PURE__*/_react.default.createElement("span", labelProps, /*#__PURE__*/_react.default.createElement("span", { className: _Select.jsStyles.labelText() }, params.label)), /*#__PURE__*/_react.default.createElement("div", { className: _Select.jsStyles.arrowWrap(), style: { right: this.getLegacyArrowShift() } }, /*#__PURE__*/_react.default.createElement("div", { className: (0, _classnames.default)(_Select.jsStyles.arrow(this.theme), (_cn2 = {}, _cn2[_Select.jsStyles.arrowDisabled(this.theme)] = this.props.disabled, _cn2[_Select.jsStyles.customUseArrow()] = useIsCustom, _cn2)) })));};_proto.getLabelPaddingRight = function getLabelPaddingRight() {var _this3 = this;var getArrowPadding = function getArrowPadding() {switch (_this3.props.size) {case 'large':return _this3.theme.selectPaddingArrowLarge;case 'medium':return _this3.theme.selectPaddingArrowMedium;case 'small':default:return _this3.theme.selectPaddingArrowSmall;}};var ARROW_WIDTH = 8;var arrowLeftPadding = parseFloat(getArrowPadding()) || 0;return ARROW_WIDTH + arrowLeftPadding + (this.props._icon ? 10 : 0) + this.getLegacyArrowShift();};_proto.getLegacyArrowShift = function getLegacyArrowShift() {var _this4 = this;var getSelectPadding = function getSelectPadding() {switch (_this4.props.size) {case 'large':return _this4.theme.selectPaddingXLarge;case 'medium':return _this4.theme.selectPaddingXMedium;case 'small':default:return _this4.theme.selectPaddingXSmall;}};var selectPadding = parseFloat(getSelectPadding()) || 0;return this.props.use === 'link' ? 10 : 1 + (this.props._icon ? selectPadding : 0);};_proto.renderLinkButton = function renderLinkButton(params) {var linkProps = { disabled: params.disabled, icon: this.props.diadocLinkIcon, _button: true, _buttonOpened: params.opened, onClick: params.onClick, onKeyDown: params.onKeyDown };return /*#__PURE__*/_react.default.createElement(_Link.Link, linkProps, params.label);};_proto.renderMenu = function renderMenu() {var _this5 = this;var search = this.props.search ? /*#__PURE__*/_react.default.createElement("div", { className: _Select.jsStyles.search() }, /*#__PURE__*/_react.default.createElement(_Input.Input, { ref: this.focusInput, onValueChange: this.handleSearch, width: "100%" })) : null;var value = this.getValue();return /*#__PURE__*/_react.default.createElement(_DropdownContainer.DropdownContainer, { getParent: this.dropdownContainerGetParent, offsetY: -1, align: this.props.menuAlign, disablePortal: this.props.disablePortal }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, { ref: this.refMenu, width: this.props.menuWidth, onItemClick: this.close, maxHeight: this.props.maxMenuHeight }, search, this.mapItems(function (iValue, item, i, comment) {if ((0, _utils.isFunction)(item)) {var element = item();if ( /*#__PURE__*/_react.default.isValidElement(element)) {return /*#__PURE__*/_react.default.cloneElement(element, { key: i });}return null;}if ( /*#__PURE__*/_react.default.isValidElement(item)) {return /*#__PURE__*/_react.default.cloneElement(item, { key: i });}return /*#__PURE__*/_react.default.createElement(_MenuItem.MenuItem, { key: i, state: _this5.getProps().areValuesEqual(iValue, value) ? 'selected' : null, onClick: _this5.select.bind(_this5, iValue), comment: comment }, _this5.getProps().renderItem(iValue, item));})));};_proto.select = function select(value) {this.focus();this.setState({ opened: false, value: value });if (this.props.onValueChange && !this.getProps().areValuesEqual(this.getValue(), value)) {this.props.onValueChange(value);}};_proto.getValue = function getValue() {if (this.props.value !== undefined) {return this.props.value;}return this.state.value;};_proto.mapItems = function mapItems(fn) {var items = this.props.items;if (!items) {return [];}var pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();var result = [];var index = 0;for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {var entry = _step.value;var _normalizeEntry = normalizeEntry(entry),_value = _normalizeEntry[0],_item = _normalizeEntry[1],_comment = _normalizeEntry[2];if (!pattern || this.getProps().filterItem(_value, _item, pattern)) {result.push(fn(_value, _item, index, _comment));++index;}}return result;};_proto.getItemByValue = function getItemByValue(value) {if (value === null || value === undefined) {return null;}var items = this.props.items || [];for (var _iterator2 = _createForOfIteratorHelperLoose(items), _step2; !(_step2 = _iterator2()).done;) {var entry = _step2.value;var _normalizeEntry2 = normalizeEntry(entry),itemValue = _normalizeEntry2[0],_item2 = _normalizeEntry2[1];if (this.getProps().areValuesEqual(itemValue, value)) {return _item2;}}return null;};return Select;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Select', _class2.propTypes = { areValuesEqual: _propTypes.default.func, defaultValue: _propTypes.default.any, disablePortal: _propTypes.default.bool, disabled: _propTypes.default.bool, error: _propTypes.default.bool, filterItem: _propTypes.default.func, items: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object]), maxMenuHeight: _propTypes.default.number, maxWidth: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), placeholder: _propTypes.default.node, renderItem: _propTypes.default.func, renderValue: _propTypes.default.func, search: _propTypes.default.bool, value: _propTypes.default.any, width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), onValueChange: _propTypes.default.func, onMouseEnter: _propTypes.default.func, onMouseLeave: _propTypes.default.func, onMouseOver: _propTypes.default.func, onKeyDown: _propTypes.default.func }, _class2.defaultProps = { renderValue: renderValue, renderItem: renderItem, areValuesEqual: areValuesEqual, filterItem: filterItem, use: 'default' }, _class2.Item = _Item.Item, _class2.SEP = function () {return /*#__PURE__*/_react.default.createElement(_MenuSeparator.MenuSeparator, null);}, _class2.static = function (element) {(0, _invariant.default)( /*#__PURE__*/_react.default.isValidElement(element) || typeof element === 'function', 'Select.static(element) expects element to be a valid react element.');return element;}, _temp)) || _class);exports.Select = Select;
602
607
  function renderValue(value, item) {
603
608
  return item;
604
609
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["Select.tsx"],"names":["PASS_BUTTON_PROPS","disabled","error","use","size","warning","onMouseEnter","onMouseLeave","onMouseOver","Select","SelectLocaleHelper","state","opened","value","props","defaultValue","searchPattern","theme","locale","menu","buttonElement","getProps","defaultProps","open","setState","onOpen","close","onClose","focus","dropdownContainerGetParent","ReactDOM","findDOMNode","focusInput","input","setTimeout","refMenu","toggle","handleKey","e","preventDefault","up","down","enter","onKeyDown","handleSearch","buttonRef","element","getButton","buttonParams","button","_renderButton","renderDefaultButton","React","Children","only","isValidElement","cloneElement","ref","onFocus","onBlur","componentDidUpdate","_prevProps","prevState","window","addEventListener","removeEventListener","render","renderMain","renderLabel","label","isPlaceholder","onClick","style","width","maxWidth","undefined","jsStyles","root","renderMenu","getValue","item","getItemByValue","renderValue","placeholder","params","diadocLinkIcon","renderLinkButton","buttonProps","align","active","_icon","Object","assign","icon","_noRightPadding","labelProps","className","customUsePlaceholder","paddingRight","getLabelPaddingRight","useIsCustom","labelText","arrowWrap","right","getLegacyArrowShift","arrow","customUseArrow","getArrowPadding","selectPaddingArrowLarge","selectPaddingArrowMedium","selectPaddingArrowSmall","ARROW_WIDTH","arrowLeftPadding","parseFloat","getSelectPadding","selectPaddingXLarge","selectPaddingXMedium","selectPaddingXSmall","selectPadding","linkProps","_button","_buttonOpened","search","menuAlign","disablePortal","menuWidth","maxMenuHeight","mapItems","iValue","i","comment","key","areValuesEqual","select","bind","renderItem","onValueChange","fn","items","pattern","toLowerCase","result","index","entry","normalizeEntry","filterItem","push","itemValue","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","func","any","bool","oneOfType","array","object","number","string","node","Item","SEP","static","value1","value2","Array","isArray","toString","indexOf"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ReactDOM from 'react-dom';\r\nimport invariant from 'invariant';\r\nimport warning from 'warning';\r\nimport cn from 'classnames';\r\n\r\nimport {\r\n isKeyArrowDown,\r\n isKeyArrowUp,\r\n isKeyArrowVertical,\r\n isKeyEnter,\r\n isKeyEscape,\r\n isKeySpace,\r\n} from '../../lib/events/keyboard/identifiers';\r\nimport { locale } from '../../lib/locale/decorators';\r\nimport { reactGetTextContent } from '../../lib/reactGetTextContent';\r\nimport { Button, ButtonProps, ButtonSize, ButtonUse } from '../Button';\r\nimport { DropdownContainer } from '../../internal/DropdownContainer';\r\nimport { filterProps } from '../../lib/filterProps';\r\nimport { Input } from '../Input';\r\nimport { Link } from '../Link';\r\nimport { Menu } from '../../internal/Menu';\r\nimport { MenuItem } from '../MenuItem';\r\nimport { MenuSeparator } from '../MenuSeparator';\r\nimport { RenderLayer } from '../../internal/RenderLayer';\r\nimport { createPropsGetter } from '../../lib/createPropsGetter';\r\nimport { Nullable } from '../../typings/utility-types';\r\nimport { isFunction } from '../../lib/utils';\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\r\n\r\nimport { Item } from './Item';\r\nimport { SelectLocale, SelectLocaleHelper } from './locale';\r\nimport { jsStyles } from './Select.styles';\r\nimport { getSelectTheme } from './selectTheme';\r\n\r\nexport interface ButtonParams {\r\n disabled?: boolean;\r\n label: React.ReactNode;\r\n onClick: () => void;\r\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\r\n opened: boolean;\r\n isPlaceholder: boolean;\r\n}\r\n\r\nconst PASS_BUTTON_PROPS = {\r\n disabled: true,\r\n error: true,\r\n use: true,\r\n size: true,\r\n warning: true,\r\n\r\n onMouseEnter: true,\r\n onMouseLeave: true,\r\n onMouseOver: true,\r\n};\r\n\r\nexport interface SelectProps<TValue, TItem> extends CommonProps {\r\n /** @ignore */\r\n _icon?: React.ReactElement<any>;\r\n /** @ignore */\r\n _renderButton?: (params: ButtonParams) => React.ReactNode;\r\n defaultValue?: TValue;\r\n /** @deprecated @ignore */\r\n diadocLinkIcon?: React.ReactElement<any>;\r\n /**\r\n * Отключает использование портала\r\n */\r\n disablePortal?: boolean;\r\n disabled?: boolean;\r\n /**\r\n * Визуально показать наличие ошибки.\r\n */\r\n error?: boolean;\r\n filterItem?: (value: TValue, item: TItem, pattern: string) => boolean;\r\n /**\r\n * Набор значений. Поддерживаются любые перечисляемые типы, в том числе\r\n * `Array`, `Map`, `Immutable.Map`.\r\n *\r\n * Элементы воспринимаются следующим образом: если элемент — это массив, то\r\n * первый элемент является значением, второй — отображается в списке,\r\n * а третий – комментарий;\r\n * если элемент не является массивом, то он используется и для отображения,\r\n * и для значения.\r\n *\r\n * Для вставки разделителя можно использовать `Select.SEP`.\r\n *\r\n * Вставить невыделяемый элемент со своей разметкой можно так:\r\n * ```\r\n * <Select ...\r\n * items={[Select.static(() => <div>My Element</div>)]}\r\n * />\r\n * ```\r\n *\r\n * Чтобы добавить стандартный отступ для статического элемента:\r\n * ```\r\n * <Select.Item>My Element</Select.Item>\r\n * ```\r\n */\r\n items?: Array<[TValue, TItem, React.ReactNode?] | TItem | React.ReactElement | (() => React.ReactElement)>;\r\n maxMenuHeight?: number;\r\n maxWidth?: React.CSSProperties['maxWidth'];\r\n menuAlign?: 'left' | 'right';\r\n menuWidth?: React.CSSProperties['width'];\r\n onValueChange?: (value: TValue) => void;\r\n onClose?: () => void;\r\n onMouseEnter?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onMouseLeave?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onMouseOver?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\r\n onOpen?: () => void;\r\n placeholder?: React.ReactNode;\r\n /**\r\n * Функция для отрисовки элемента в выпадающем списке. Аргументы — *value*,\r\n * *item*.\r\n */\r\n renderItem?: (value: TValue, item?: TItem) => React.ReactNode;\r\n /**\r\n * Функция для отрисовки выбранного элемента. Аргументы — *value*, *item*.\r\n */\r\n renderValue?: (value: TValue, item?: TItem) => React.ReactNode;\r\n /**\r\n * Функция для сравнения `value` с элементом из `items`\r\n */\r\n areValuesEqual?: (value1: TValue, value2: TValue) => boolean;\r\n /**\r\n * Показывать строку поиска в списке.\r\n */\r\n search?: boolean;\r\n value?: TValue;\r\n width?: number | string;\r\n warning?: boolean;\r\n use?: ButtonUse;\r\n size?: ButtonSize;\r\n onFocus?: React.FocusEventHandler<HTMLElement>;\r\n onBlur?: React.FocusEventHandler<HTMLElement>;\r\n}\r\n\r\nexport interface SelectState<TValue> {\r\n opened: boolean;\r\n searchPattern: string;\r\n value: Nullable<TValue>;\r\n}\r\n\r\ninterface FocusableReactElement extends React.ReactElement<any> {\r\n focus: (event?: any) => void;\r\n}\r\n\r\n@locale('Select', SelectLocaleHelper)\r\nexport class Select<TValue = {}, TItem = {}> extends React.Component<SelectProps<TValue, TItem>, SelectState<TValue>> {\r\n public static __KONTUR_REACT_UI__ = 'Select';\r\n\r\n public static propTypes = {\r\n areValuesEqual: PropTypes.func,\r\n defaultValue: PropTypes.any,\r\n disablePortal: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n error: PropTypes.bool,\r\n filterItem: PropTypes.func,\r\n items: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\r\n maxMenuHeight: PropTypes.number,\r\n maxWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n placeholder: PropTypes.node,\r\n renderItem: PropTypes.func,\r\n renderValue: PropTypes.func,\r\n search: PropTypes.bool,\r\n value: PropTypes.any,\r\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n onValueChange: PropTypes.func,\r\n onMouseEnter: PropTypes.func,\r\n onMouseLeave: PropTypes.func,\r\n onMouseOver: PropTypes.func,\r\n onKeyDown: PropTypes.func,\r\n };\r\n\r\n public static defaultProps = {\r\n renderValue,\r\n renderItem,\r\n areValuesEqual,\r\n filterItem,\r\n use: 'default',\r\n };\r\n\r\n public static Item = Item;\r\n public static SEP = () => <MenuSeparator />;\r\n\r\n public static static = (element: React.ReactElement | (() => React.ReactElement)) => {\r\n invariant(\r\n React.isValidElement(element) || typeof element === 'function',\r\n 'Select.static(element) expects element to be a valid react element.',\r\n );\r\n return element;\r\n };\r\n\r\n public state: SelectState<TValue> = {\r\n opened: false,\r\n value: this.props.defaultValue,\r\n searchPattern: '',\r\n };\r\n\r\n private theme!: Theme;\r\n private readonly locale!: SelectLocale;\r\n private menu: Nullable<Menu>;\r\n private buttonElement: FocusableReactElement | null = null;\r\n private getProps = createPropsGetter(Select.defaultProps);\r\n\r\n public componentDidUpdate(_prevProps: SelectProps<TValue, TItem>, prevState: SelectState<TValue>) {\r\n if (!prevState.opened && this.state.opened) {\r\n window.addEventListener('popstate', this.close);\r\n }\r\n if (prevState.opened && !this.state.opened) {\r\n window.removeEventListener('popstate', this.close);\r\n }\r\n }\r\n\r\n public render() {\r\n return (\r\n <ThemeContext.Consumer>\r\n {theme => {\r\n this.theme = theme;\r\n return (\r\n <ThemeContext.Provider value={getSelectTheme(theme, this.props)}>{this.renderMain()}</ThemeContext.Provider>\r\n );\r\n }}\r\n </ThemeContext.Consumer>\r\n );\r\n }\r\n\r\n /**\r\n * @public\r\n */\r\n public open = () => {\r\n if (!this.state.opened) {\r\n this.setState({ opened: true });\r\n\r\n if (this.props.onOpen) {\r\n this.props.onOpen();\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public close = () => {\r\n if (this.state.opened) {\r\n this.setState({ opened: false, searchPattern: '' });\r\n\r\n if (this.props.onClose) {\r\n this.props.onClose();\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public focus = () => {\r\n if (this.buttonElement && this.buttonElement.focus) {\r\n this.buttonElement.focus();\r\n }\r\n };\r\n\r\n private renderMain() {\r\n const { label, isPlaceholder } = this.renderLabel();\r\n\r\n const buttonParams: ButtonParams = {\r\n opened: this.state.opened,\r\n label,\r\n isPlaceholder,\r\n onClick: this.toggle,\r\n onKeyDown: this.handleKey,\r\n };\r\n\r\n const style = {\r\n width: this.props.width,\r\n maxWidth: this.props.maxWidth || undefined,\r\n };\r\n\r\n const button = this.getButton(buttonParams);\r\n\r\n return (\r\n <CommonWrapper {...this.props}>\r\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active={this.state.opened}>\r\n <span className={jsStyles.root(this.theme)} style={style}>\r\n {button}\r\n {!this.props.disabled && this.state.opened && this.renderMenu()}\r\n </span>\r\n </RenderLayer>\r\n </CommonWrapper>\r\n );\r\n }\r\n\r\n private renderLabel() {\r\n const value = this.getValue();\r\n const item = this.getItemByValue(value);\r\n\r\n if (item != null || value != null) {\r\n return {\r\n label: this.getProps().renderValue(value, item),\r\n isPlaceholder: false,\r\n };\r\n }\r\n\r\n return {\r\n label: <span>{this.props.placeholder || this.locale.placeholder}</span>,\r\n isPlaceholder: true,\r\n };\r\n }\r\n\r\n private renderDefaultButton(params: ButtonParams) {\r\n if (this.props.diadocLinkIcon) {\r\n warning(false, `diadocLinkIcon has been deprecated`);\r\n return this.renderLinkButton(params);\r\n }\r\n\r\n const buttonProps: ButtonProps = {\r\n ...filterProps(this.props, PASS_BUTTON_PROPS),\r\n align: 'left' as React.CSSProperties['textAlign'],\r\n disabled: this.props.disabled,\r\n width: '100%',\r\n onClick: params.onClick,\r\n onKeyDown: params.onKeyDown,\r\n active: params.opened,\r\n };\r\n\r\n if (this.props._icon) {\r\n Object.assign(buttonProps, {\r\n icon: this.props._icon,\r\n _noRightPadding: true,\r\n });\r\n }\r\n\r\n const labelProps = {\r\n className: cn({\r\n [jsStyles.label()]: this.props.use !== 'link',\r\n [jsStyles.placeholder(this.theme)]: params.isPlaceholder,\r\n [jsStyles.customUsePlaceholder()]: params.isPlaceholder && this.props.use !== 'default',\r\n }),\r\n style: {\r\n paddingRight: this.getLabelPaddingRight(),\r\n },\r\n };\r\n\r\n const useIsCustom = this.props.use !== 'default';\r\n\r\n return (\r\n <Button {...buttonProps}>\r\n <span {...labelProps}>\r\n <span className={jsStyles.labelText()}>{params.label}</span>\r\n </span>\r\n <div className={jsStyles.arrowWrap()} style={{ right: this.getLegacyArrowShift() }}>\r\n <div className={cn(jsStyles.arrow(this.theme), useIsCustom && jsStyles.customUseArrow())} />\r\n </div>\r\n </Button>\r\n );\r\n }\r\n\r\n private getLabelPaddingRight(): number {\r\n const getArrowPadding = () => {\r\n switch (this.props.size) {\r\n case 'large':\r\n return this.theme.selectPaddingArrowLarge;\r\n case 'medium':\r\n return this.theme.selectPaddingArrowMedium;\r\n case 'small':\r\n default:\r\n return this.theme.selectPaddingArrowSmall;\r\n }\r\n };\r\n const ARROW_WIDTH = 8;\r\n const arrowLeftPadding = parseFloat(getArrowPadding()) || 0;\r\n\r\n return ARROW_WIDTH + arrowLeftPadding + (this.props._icon ? 10 : 0) + this.getLegacyArrowShift();\r\n }\r\n\r\n private getLegacyArrowShift(): number {\r\n const getSelectPadding = () => {\r\n switch (this.props.size) {\r\n case 'large':\r\n return this.theme.selectPaddingXLarge;\r\n case 'medium':\r\n return this.theme.selectPaddingXMedium;\r\n case 'small':\r\n default:\r\n return this.theme.selectPaddingXSmall;\r\n }\r\n };\r\n const selectPadding = parseFloat(getSelectPadding()) || 0;\r\n return this.props.use === 'link' ? 10 : 1 + (this.props._icon ? selectPadding : 0);\r\n }\r\n\r\n private renderLinkButton(params: ButtonParams): React.ReactNode {\r\n const linkProps = {\r\n disabled: params.disabled,\r\n icon: this.props.diadocLinkIcon,\r\n _button: true,\r\n _buttonOpened: params.opened,\r\n\r\n onClick: params.onClick,\r\n onKeyDown: params.onKeyDown,\r\n };\r\n\r\n return <Link {...linkProps}>{params.label}</Link>;\r\n }\r\n\r\n private renderMenu(): React.ReactNode {\r\n const search = this.props.search ? (\r\n <div className={jsStyles.search()}>\r\n <Input ref={this.focusInput} onValueChange={this.handleSearch} width=\"100%\" />\r\n </div>\r\n ) : null;\r\n\r\n const value = this.getValue();\r\n\r\n return (\r\n <DropdownContainer\r\n getParent={this.dropdownContainerGetParent}\r\n offsetY={-1}\r\n align={this.props.menuAlign}\r\n disablePortal={this.props.disablePortal}\r\n >\r\n <Menu\r\n ref={this.refMenu}\r\n width={this.props.menuWidth}\r\n onItemClick={this.close}\r\n maxHeight={this.props.maxMenuHeight}\r\n >\r\n {search}\r\n {this.mapItems(\r\n (iValue: TValue, item: TItem | (() => React.ReactNode), i: number, comment: Nullable<React.ReactNode>) => {\r\n if (isFunction(item)) {\r\n const element = item();\r\n\r\n if (React.isValidElement(element)) {\r\n return React.cloneElement(element, { key: i });\r\n }\r\n\r\n return null;\r\n }\r\n\r\n if (React.isValidElement(item)) {\r\n return React.cloneElement(item, { key: i });\r\n }\r\n\r\n return (\r\n <MenuItem\r\n key={i}\r\n state={this.getProps().areValuesEqual(iValue, value) ? 'selected' : null}\r\n onClick={this.select.bind(this, iValue)}\r\n comment={comment}\r\n >\r\n {this.getProps().renderItem(iValue, item)}\r\n </MenuItem>\r\n );\r\n },\r\n )}\r\n </Menu>\r\n </DropdownContainer>\r\n );\r\n }\r\n\r\n private dropdownContainerGetParent = () => {\r\n return ReactDOM.findDOMNode(this);\r\n };\r\n\r\n private focusInput = (input: Input) => {\r\n // fix cases when an Input is rendered in portal\r\n setTimeout(() => input?.focus(), 0);\r\n };\r\n\r\n private refMenu = (menu: Menu) => {\r\n this.menu = menu;\r\n };\r\n\r\n private toggle = () => {\r\n if (this.state.opened) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n };\r\n\r\n private handleKey = (e: React.KeyboardEvent<HTMLElement>) => {\r\n if (!this.state.opened) {\r\n if (isKeySpace(e) || isKeyArrowVertical(e)) {\r\n e.preventDefault();\r\n this.open();\r\n }\r\n } else {\r\n switch (true) {\r\n case isKeyEscape(e):\r\n this.focus();\r\n this.close();\r\n break;\r\n case isKeyArrowUp(e):\r\n e.preventDefault();\r\n if (this.menu) {\r\n this.menu.up();\r\n }\r\n break;\r\n case isKeyArrowDown(e):\r\n e.preventDefault();\r\n if (this.menu) {\r\n this.menu.down();\r\n }\r\n break;\r\n case isKeyEnter(e):\r\n e.preventDefault(); // To prevent form submission.\r\n if (this.menu) {\r\n this.menu.enter(e);\r\n }\r\n break;\r\n }\r\n }\r\n if (this.props.onKeyDown) {\r\n this.props.onKeyDown(e);\r\n }\r\n };\r\n\r\n private handleSearch = (value: string) => {\r\n this.setState({ searchPattern: value });\r\n };\r\n\r\n private select(value: TValue) {\r\n this.focus();\r\n this.setState({ opened: false, value });\r\n\r\n if (this.props.onValueChange && !this.getProps().areValuesEqual(this.getValue(), value)) {\r\n this.props.onValueChange(value);\r\n }\r\n }\r\n\r\n private getValue() {\r\n if (this.props.value !== undefined) {\r\n return this.props.value;\r\n }\r\n return this.state.value;\r\n }\r\n\r\n private mapItems(fn: (value: TValue, item: TItem, index: number, comment?: string) => React.ReactNode) {\r\n const { items } = this.props;\r\n if (!items) {\r\n return [];\r\n }\r\n const pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();\r\n\r\n const result: React.ReactNodeArray = [];\r\n let index = 0;\r\n for (const entry of items) {\r\n const [value, item, comment] = normalizeEntry(entry as TItem);\r\n\r\n if (!pattern || this.getProps().filterItem(value, item, pattern)) {\r\n result.push(fn(value, item, index, comment));\r\n ++index;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private getItemByValue(value?: Nullable<TValue>) {\r\n if (value === null || value === undefined) {\r\n return null;\r\n }\r\n\r\n const items = this.props.items || [];\r\n\r\n for (const entry of items) {\r\n const [itemValue, item] = normalizeEntry(entry);\r\n\r\n if (this.getProps().areValuesEqual(itemValue, value)) {\r\n return item;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n private buttonRef = (element: FocusableReactElement | null) => {\r\n this.buttonElement = element;\r\n };\r\n\r\n private getButton = (buttonParams: ButtonParams) => {\r\n const button = this.props._renderButton\r\n ? this.props._renderButton(buttonParams)\r\n : this.renderDefaultButton(buttonParams);\r\n\r\n const buttonElement = React.Children.only(button);\r\n\r\n return React.isValidElement(buttonElement)\r\n ? React.cloneElement(buttonElement as React.ReactElement, {\r\n ref: this.buttonRef,\r\n onFocus: this.props.onFocus,\r\n onBlur: this.props.onBlur,\r\n })\r\n : buttonElement;\r\n };\r\n}\r\n\r\nfunction renderValue(value: any, item: any) {\r\n return item;\r\n}\r\n\r\nfunction renderItem(value: any, item: any) {\r\n return item;\r\n}\r\n\r\nfunction areValuesEqual(value1: any, value2: any) {\r\n return value1 === value2;\r\n}\r\n\r\nfunction normalizeEntry(entry: any) {\r\n if (Array.isArray(entry)) {\r\n return entry;\r\n } else {\r\n return [entry, entry, undefined];\r\n }\r\n}\r\n\r\nfunction filterItem(value: any, item: any, pattern: string) {\r\n if (item === Select.SEP) {\r\n return false;\r\n }\r\n if (React.isValidElement(item) || (isFunction(item) && React.isValidElement((item = item())))) {\r\n item = reactGetTextContent(item);\r\n }\r\n if (typeof item === 'number') {\r\n item = item.toString(10);\r\n }\r\n if (typeof item !== 'string') {\r\n return false;\r\n }\r\n return item.toLowerCase().indexOf(pattern) !== -1;\r\n}\r\n"]}
1
+ {"version":3,"sources":["Select.tsx"],"names":["PASS_BUTTON_PROPS","disabled","error","use","size","warning","onMouseEnter","onMouseLeave","onMouseOver","Select","SelectLocaleHelper","state","opened","value","props","defaultValue","searchPattern","theme","locale","menu","buttonElement","getProps","defaultProps","open","setState","onOpen","close","onClose","focus","dropdownContainerGetParent","ReactDOM","findDOMNode","focusInput","input","setTimeout","refMenu","toggle","handleKey","e","preventDefault","up","down","enter","onKeyDown","handleSearch","buttonRef","element","getButton","buttonParams","button","_renderButton","renderDefaultButton","React","Children","only","isValidElement","cloneElement","ref","onFocus","onBlur","componentDidUpdate","_prevProps","prevState","window","addEventListener","removeEventListener","render","renderMain","renderLabel","label","isPlaceholder","onClick","style","width","maxWidth","undefined","jsStyles","root","renderMenu","getValue","item","getItemByValue","renderValue","placeholder","params","diadocLinkIcon","renderLinkButton","buttonProps","align","active","_icon","Object","assign","icon","_noRightPadding","labelProps","className","customUsePlaceholder","paddingRight","getLabelPaddingRight","useIsCustom","labelText","arrowWrap","right","getLegacyArrowShift","arrow","arrowDisabled","customUseArrow","getArrowPadding","selectPaddingArrowLarge","selectPaddingArrowMedium","selectPaddingArrowSmall","ARROW_WIDTH","arrowLeftPadding","parseFloat","getSelectPadding","selectPaddingXLarge","selectPaddingXMedium","selectPaddingXSmall","selectPadding","linkProps","_button","_buttonOpened","search","menuAlign","disablePortal","menuWidth","maxMenuHeight","mapItems","iValue","i","comment","key","areValuesEqual","select","bind","renderItem","onValueChange","fn","items","pattern","toLowerCase","result","index","entry","normalizeEntry","filterItem","push","itemValue","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","func","any","bool","oneOfType","array","object","number","string","node","Item","SEP","static","value1","value2","Array","isArray","toString","indexOf"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport ReactDOM from 'react-dom';\r\nimport invariant from 'invariant';\r\nimport warning from 'warning';\r\nimport cn from 'classnames';\r\n\r\nimport {\r\n isKeyArrowDown,\r\n isKeyArrowUp,\r\n isKeyArrowVertical,\r\n isKeyEnter,\r\n isKeyEscape,\r\n isKeySpace,\r\n} from '../../lib/events/keyboard/identifiers';\r\nimport { locale } from '../../lib/locale/decorators';\r\nimport { reactGetTextContent } from '../../lib/reactGetTextContent';\r\nimport { Button, ButtonProps, ButtonSize, ButtonUse } from '../Button';\r\nimport { DropdownContainer } from '../../internal/DropdownContainer';\r\nimport { filterProps } from '../../lib/filterProps';\r\nimport { Input } from '../Input';\r\nimport { Link } from '../Link';\r\nimport { Menu } from '../../internal/Menu';\r\nimport { MenuItem } from '../MenuItem';\r\nimport { MenuSeparator } from '../MenuSeparator';\r\nimport { RenderLayer } from '../../internal/RenderLayer';\r\nimport { createPropsGetter } from '../../lib/createPropsGetter';\r\nimport { Nullable } from '../../typings/utility-types';\r\nimport { isFunction } from '../../lib/utils';\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\r\n\r\nimport { Item } from './Item';\r\nimport { SelectLocale, SelectLocaleHelper } from './locale';\r\nimport { jsStyles } from './Select.styles';\r\nimport { getSelectTheme } from './selectTheme';\r\n\r\nexport interface ButtonParams {\r\n disabled?: boolean;\r\n label: React.ReactNode;\r\n onClick: () => void;\r\n onKeyDown: (event: React.KeyboardEvent<HTMLElement>) => void;\r\n opened: boolean;\r\n isPlaceholder: boolean;\r\n}\r\n\r\nconst PASS_BUTTON_PROPS = {\r\n disabled: true,\r\n error: true,\r\n use: true,\r\n size: true,\r\n warning: true,\r\n\r\n onMouseEnter: true,\r\n onMouseLeave: true,\r\n onMouseOver: true,\r\n};\r\n\r\nexport interface SelectProps<TValue, TItem> extends CommonProps {\r\n /** @ignore */\r\n _icon?: React.ReactElement<any>;\r\n /** @ignore */\r\n _renderButton?: (params: ButtonParams) => React.ReactNode;\r\n defaultValue?: TValue;\r\n /** @deprecated @ignore */\r\n diadocLinkIcon?: React.ReactElement<any>;\r\n /**\r\n * Отключает использование портала\r\n */\r\n disablePortal?: boolean;\r\n disabled?: boolean;\r\n /**\r\n * Визуально показать наличие ошибки.\r\n */\r\n error?: boolean;\r\n filterItem?: (value: TValue, item: TItem, pattern: string) => boolean;\r\n /**\r\n * Набор значений. Поддерживаются любые перечисляемые типы, в том числе\r\n * `Array`, `Map`, `Immutable.Map`.\r\n *\r\n * Элементы воспринимаются следующим образом: если элемент — это массив, то\r\n * первый элемент является значением, второй — отображается в списке,\r\n * а третий – комментарий;\r\n * если элемент не является массивом, то он используется и для отображения,\r\n * и для значения.\r\n *\r\n * Для вставки разделителя можно использовать `Select.SEP`.\r\n *\r\n * Вставить невыделяемый элемент со своей разметкой можно так:\r\n * ```\r\n * <Select ...\r\n * items={[Select.static(() => <div>My Element</div>)]}\r\n * />\r\n * ```\r\n *\r\n * Чтобы добавить стандартный отступ для статического элемента:\r\n * ```\r\n * <Select.Item>My Element</Select.Item>\r\n * ```\r\n */\r\n items?: Array<[TValue, TItem, React.ReactNode?] | TItem | React.ReactElement | (() => React.ReactElement)>;\r\n maxMenuHeight?: number;\r\n maxWidth?: React.CSSProperties['maxWidth'];\r\n menuAlign?: 'left' | 'right';\r\n menuWidth?: React.CSSProperties['width'];\r\n onValueChange?: (value: TValue) => void;\r\n onClose?: () => void;\r\n onMouseEnter?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onMouseLeave?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onMouseOver?: (e: React.MouseEvent<HTMLElement>) => void;\r\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\r\n onOpen?: () => void;\r\n placeholder?: React.ReactNode;\r\n /**\r\n * Функция для отрисовки элемента в выпадающем списке. Аргументы — *value*,\r\n * *item*.\r\n */\r\n renderItem?: (value: TValue, item?: TItem) => React.ReactNode;\r\n /**\r\n * Функция для отрисовки выбранного элемента. Аргументы — *value*, *item*.\r\n */\r\n renderValue?: (value: TValue, item?: TItem) => React.ReactNode;\r\n /**\r\n * Функция для сравнения `value` с элементом из `items`\r\n */\r\n areValuesEqual?: (value1: TValue, value2: TValue) => boolean;\r\n /**\r\n * Показывать строку поиска в списке.\r\n */\r\n search?: boolean;\r\n value?: TValue;\r\n width?: number | string;\r\n warning?: boolean;\r\n use?: ButtonUse;\r\n size?: ButtonSize;\r\n onFocus?: React.FocusEventHandler<HTMLElement>;\r\n onBlur?: React.FocusEventHandler<HTMLElement>;\r\n}\r\n\r\nexport interface SelectState<TValue> {\r\n opened: boolean;\r\n searchPattern: string;\r\n value: Nullable<TValue>;\r\n}\r\n\r\ninterface FocusableReactElement extends React.ReactElement<any> {\r\n focus: (event?: any) => void;\r\n}\r\n\r\n@locale('Select', SelectLocaleHelper)\r\nexport class Select<TValue = {}, TItem = {}> extends React.Component<SelectProps<TValue, TItem>, SelectState<TValue>> {\r\n public static __KONTUR_REACT_UI__ = 'Select';\r\n\r\n public static propTypes = {\r\n areValuesEqual: PropTypes.func,\r\n defaultValue: PropTypes.any,\r\n disablePortal: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n error: PropTypes.bool,\r\n filterItem: PropTypes.func,\r\n items: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\r\n maxMenuHeight: PropTypes.number,\r\n maxWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n placeholder: PropTypes.node,\r\n renderItem: PropTypes.func,\r\n renderValue: PropTypes.func,\r\n search: PropTypes.bool,\r\n value: PropTypes.any,\r\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n onValueChange: PropTypes.func,\r\n onMouseEnter: PropTypes.func,\r\n onMouseLeave: PropTypes.func,\r\n onMouseOver: PropTypes.func,\r\n onKeyDown: PropTypes.func,\r\n };\r\n\r\n public static defaultProps = {\r\n renderValue,\r\n renderItem,\r\n areValuesEqual,\r\n filterItem,\r\n use: 'default',\r\n };\r\n\r\n public static Item = Item;\r\n public static SEP = () => <MenuSeparator />;\r\n\r\n public static static = (element: React.ReactElement | (() => React.ReactElement)) => {\r\n invariant(\r\n React.isValidElement(element) || typeof element === 'function',\r\n 'Select.static(element) expects element to be a valid react element.',\r\n );\r\n return element;\r\n };\r\n\r\n public state: SelectState<TValue> = {\r\n opened: false,\r\n value: this.props.defaultValue,\r\n searchPattern: '',\r\n };\r\n\r\n private theme!: Theme;\r\n private readonly locale!: SelectLocale;\r\n private menu: Nullable<Menu>;\r\n private buttonElement: FocusableReactElement | null = null;\r\n private getProps = createPropsGetter(Select.defaultProps);\r\n\r\n public componentDidUpdate(_prevProps: SelectProps<TValue, TItem>, prevState: SelectState<TValue>) {\r\n if (!prevState.opened && this.state.opened) {\r\n window.addEventListener('popstate', this.close);\r\n }\r\n if (prevState.opened && !this.state.opened) {\r\n window.removeEventListener('popstate', this.close);\r\n }\r\n }\r\n\r\n public render() {\r\n return (\r\n <ThemeContext.Consumer>\r\n {theme => {\r\n this.theme = theme;\r\n return (\r\n <ThemeContext.Provider value={getSelectTheme(theme, this.props)}>{this.renderMain()}</ThemeContext.Provider>\r\n );\r\n }}\r\n </ThemeContext.Consumer>\r\n );\r\n }\r\n\r\n /**\r\n * @public\r\n */\r\n public open = () => {\r\n if (!this.state.opened) {\r\n this.setState({ opened: true });\r\n\r\n if (this.props.onOpen) {\r\n this.props.onOpen();\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public close = () => {\r\n if (this.state.opened) {\r\n this.setState({ opened: false, searchPattern: '' });\r\n\r\n if (this.props.onClose) {\r\n this.props.onClose();\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public focus = () => {\r\n if (this.buttonElement && this.buttonElement.focus) {\r\n this.buttonElement.focus();\r\n }\r\n };\r\n\r\n private renderMain() {\r\n const { label, isPlaceholder } = this.renderLabel();\r\n\r\n const buttonParams: ButtonParams = {\r\n opened: this.state.opened,\r\n label,\r\n isPlaceholder,\r\n onClick: this.toggle,\r\n onKeyDown: this.handleKey,\r\n };\r\n\r\n const style = {\r\n width: this.props.width,\r\n maxWidth: this.props.maxWidth || undefined,\r\n };\r\n\r\n const button = this.getButton(buttonParams);\r\n\r\n return (\r\n <CommonWrapper {...this.props}>\r\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active={this.state.opened}>\r\n <span className={jsStyles.root(this.theme)} style={style}>\r\n {button}\r\n {!this.props.disabled && this.state.opened && this.renderMenu()}\r\n </span>\r\n </RenderLayer>\r\n </CommonWrapper>\r\n );\r\n }\r\n\r\n private renderLabel() {\r\n const value = this.getValue();\r\n const item = this.getItemByValue(value);\r\n\r\n if (item != null || value != null) {\r\n return {\r\n label: this.getProps().renderValue(value, item),\r\n isPlaceholder: false,\r\n };\r\n }\r\n\r\n return {\r\n label: <span>{this.props.placeholder || this.locale.placeholder}</span>,\r\n isPlaceholder: true,\r\n };\r\n }\r\n\r\n private renderDefaultButton(params: ButtonParams) {\r\n if (this.props.diadocLinkIcon) {\r\n warning(false, `diadocLinkIcon has been deprecated`);\r\n return this.renderLinkButton(params);\r\n }\r\n\r\n const buttonProps: ButtonProps = {\r\n ...filterProps(this.props, PASS_BUTTON_PROPS),\r\n align: 'left' as React.CSSProperties['textAlign'],\r\n disabled: this.props.disabled,\r\n width: '100%',\r\n onClick: params.onClick,\r\n onKeyDown: params.onKeyDown,\r\n active: params.opened,\r\n };\r\n\r\n if (this.props._icon) {\r\n Object.assign(buttonProps, {\r\n icon: this.props._icon,\r\n _noRightPadding: true,\r\n });\r\n }\r\n\r\n const labelProps = {\r\n className: cn({\r\n [jsStyles.label()]: this.props.use !== 'link',\r\n [jsStyles.placeholder(this.theme)]: params.isPlaceholder,\r\n [jsStyles.customUsePlaceholder()]: params.isPlaceholder && this.props.use !== 'default',\r\n }),\r\n style: {\r\n paddingRight: this.getLabelPaddingRight(),\r\n },\r\n };\r\n\r\n const useIsCustom = this.props.use !== 'default';\r\n\r\n return (\r\n <Button {...buttonProps}>\r\n <span {...labelProps}>\r\n <span className={jsStyles.labelText()}>{params.label}</span>\r\n </span>\r\n <div className={jsStyles.arrowWrap()} style={{ right: this.getLegacyArrowShift() }}>\r\n <div\r\n className={cn(jsStyles.arrow(this.theme), {\r\n [jsStyles.arrowDisabled(this.theme)]: this.props.disabled,\r\n [jsStyles.customUseArrow()]: useIsCustom,\r\n })}\r\n />\r\n </div>\r\n </Button>\r\n );\r\n }\r\n\r\n private getLabelPaddingRight(): number {\r\n const getArrowPadding = () => {\r\n switch (this.props.size) {\r\n case 'large':\r\n return this.theme.selectPaddingArrowLarge;\r\n case 'medium':\r\n return this.theme.selectPaddingArrowMedium;\r\n case 'small':\r\n default:\r\n return this.theme.selectPaddingArrowSmall;\r\n }\r\n };\r\n const ARROW_WIDTH = 8;\r\n const arrowLeftPadding = parseFloat(getArrowPadding()) || 0;\r\n\r\n return ARROW_WIDTH + arrowLeftPadding + (this.props._icon ? 10 : 0) + this.getLegacyArrowShift();\r\n }\r\n\r\n private getLegacyArrowShift(): number {\r\n const getSelectPadding = () => {\r\n switch (this.props.size) {\r\n case 'large':\r\n return this.theme.selectPaddingXLarge;\r\n case 'medium':\r\n return this.theme.selectPaddingXMedium;\r\n case 'small':\r\n default:\r\n return this.theme.selectPaddingXSmall;\r\n }\r\n };\r\n const selectPadding = parseFloat(getSelectPadding()) || 0;\r\n return this.props.use === 'link' ? 10 : 1 + (this.props._icon ? selectPadding : 0);\r\n }\r\n\r\n private renderLinkButton(params: ButtonParams): React.ReactNode {\r\n const linkProps = {\r\n disabled: params.disabled,\r\n icon: this.props.diadocLinkIcon,\r\n _button: true,\r\n _buttonOpened: params.opened,\r\n\r\n onClick: params.onClick,\r\n onKeyDown: params.onKeyDown,\r\n };\r\n\r\n return <Link {...linkProps}>{params.label}</Link>;\r\n }\r\n\r\n private renderMenu(): React.ReactNode {\r\n const search = this.props.search ? (\r\n <div className={jsStyles.search()}>\r\n <Input ref={this.focusInput} onValueChange={this.handleSearch} width=\"100%\" />\r\n </div>\r\n ) : null;\r\n\r\n const value = this.getValue();\r\n\r\n return (\r\n <DropdownContainer\r\n getParent={this.dropdownContainerGetParent}\r\n offsetY={-1}\r\n align={this.props.menuAlign}\r\n disablePortal={this.props.disablePortal}\r\n >\r\n <Menu\r\n ref={this.refMenu}\r\n width={this.props.menuWidth}\r\n onItemClick={this.close}\r\n maxHeight={this.props.maxMenuHeight}\r\n >\r\n {search}\r\n {this.mapItems(\r\n (iValue: TValue, item: TItem | (() => React.ReactNode), i: number, comment: Nullable<React.ReactNode>) => {\r\n if (isFunction(item)) {\r\n const element = item();\r\n\r\n if (React.isValidElement(element)) {\r\n return React.cloneElement(element, { key: i });\r\n }\r\n\r\n return null;\r\n }\r\n\r\n if (React.isValidElement(item)) {\r\n return React.cloneElement(item, { key: i });\r\n }\r\n\r\n return (\r\n <MenuItem\r\n key={i}\r\n state={this.getProps().areValuesEqual(iValue, value) ? 'selected' : null}\r\n onClick={this.select.bind(this, iValue)}\r\n comment={comment}\r\n >\r\n {this.getProps().renderItem(iValue, item)}\r\n </MenuItem>\r\n );\r\n },\r\n )}\r\n </Menu>\r\n </DropdownContainer>\r\n );\r\n }\r\n\r\n private dropdownContainerGetParent = () => {\r\n return ReactDOM.findDOMNode(this);\r\n };\r\n\r\n private focusInput = (input: Input) => {\r\n // fix cases when an Input is rendered in portal\r\n setTimeout(() => input?.focus(), 0);\r\n };\r\n\r\n private refMenu = (menu: Menu) => {\r\n this.menu = menu;\r\n };\r\n\r\n private toggle = () => {\r\n if (this.state.opened) {\r\n this.close();\r\n } else {\r\n this.open();\r\n }\r\n };\r\n\r\n private handleKey = (e: React.KeyboardEvent<HTMLElement>) => {\r\n if (!this.state.opened) {\r\n if (isKeySpace(e) || isKeyArrowVertical(e)) {\r\n e.preventDefault();\r\n this.open();\r\n }\r\n } else {\r\n switch (true) {\r\n case isKeyEscape(e):\r\n this.focus();\r\n this.close();\r\n break;\r\n case isKeyArrowUp(e):\r\n e.preventDefault();\r\n if (this.menu) {\r\n this.menu.up();\r\n }\r\n break;\r\n case isKeyArrowDown(e):\r\n e.preventDefault();\r\n if (this.menu) {\r\n this.menu.down();\r\n }\r\n break;\r\n case isKeyEnter(e):\r\n e.preventDefault(); // To prevent form submission.\r\n if (this.menu) {\r\n this.menu.enter(e);\r\n }\r\n break;\r\n }\r\n }\r\n if (this.props.onKeyDown) {\r\n this.props.onKeyDown(e);\r\n }\r\n };\r\n\r\n private handleSearch = (value: string) => {\r\n this.setState({ searchPattern: value });\r\n };\r\n\r\n private select(value: TValue) {\r\n this.focus();\r\n this.setState({ opened: false, value });\r\n\r\n if (this.props.onValueChange && !this.getProps().areValuesEqual(this.getValue(), value)) {\r\n this.props.onValueChange(value);\r\n }\r\n }\r\n\r\n private getValue() {\r\n if (this.props.value !== undefined) {\r\n return this.props.value;\r\n }\r\n return this.state.value;\r\n }\r\n\r\n private mapItems(fn: (value: TValue, item: TItem, index: number, comment?: string) => React.ReactNode) {\r\n const { items } = this.props;\r\n if (!items) {\r\n return [];\r\n }\r\n const pattern = this.state.searchPattern && this.state.searchPattern.toLowerCase();\r\n\r\n const result: React.ReactNodeArray = [];\r\n let index = 0;\r\n for (const entry of items) {\r\n const [value, item, comment] = normalizeEntry(entry as TItem);\r\n\r\n if (!pattern || this.getProps().filterItem(value, item, pattern)) {\r\n result.push(fn(value, item, index, comment));\r\n ++index;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private getItemByValue(value?: Nullable<TValue>) {\r\n if (value === null || value === undefined) {\r\n return null;\r\n }\r\n\r\n const items = this.props.items || [];\r\n\r\n for (const entry of items) {\r\n const [itemValue, item] = normalizeEntry(entry);\r\n\r\n if (this.getProps().areValuesEqual(itemValue, value)) {\r\n return item;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n private buttonRef = (element: FocusableReactElement | null) => {\r\n this.buttonElement = element;\r\n };\r\n\r\n private getButton = (buttonParams: ButtonParams) => {\r\n const button = this.props._renderButton\r\n ? this.props._renderButton(buttonParams)\r\n : this.renderDefaultButton(buttonParams);\r\n\r\n const buttonElement = React.Children.only(button);\r\n\r\n return React.isValidElement(buttonElement)\r\n ? React.cloneElement(buttonElement as React.ReactElement, {\r\n ref: this.buttonRef,\r\n onFocus: this.props.onFocus,\r\n onBlur: this.props.onBlur,\r\n })\r\n : buttonElement;\r\n };\r\n}\r\n\r\nfunction renderValue(value: any, item: any) {\r\n return item;\r\n}\r\n\r\nfunction renderItem(value: any, item: any) {\r\n return item;\r\n}\r\n\r\nfunction areValuesEqual(value1: any, value2: any) {\r\n return value1 === value2;\r\n}\r\n\r\nfunction normalizeEntry(entry: any) {\r\n if (Array.isArray(entry)) {\r\n return entry;\r\n } else {\r\n return [entry, entry, undefined];\r\n }\r\n}\r\n\r\nfunction filterItem(value: any, item: any, pattern: string) {\r\n if (item === Select.SEP) {\r\n return false;\r\n }\r\n if (React.isValidElement(item) || (isFunction(item) && React.isValidElement((item = item())))) {\r\n item = reactGetTextContent(item);\r\n }\r\n if (typeof item === 'number') {\r\n item = item.toString(10);\r\n }\r\n if (typeof item !== 'string') {\r\n return false;\r\n }\r\n return item.toLowerCase().indexOf(pattern) !== -1;\r\n}\r\n"]}
@@ -4,6 +4,7 @@ export declare const jsStyles: {
4
4
  customUsePlaceholder(): string;
5
5
  arrow(t: Readonly<typeof import("../../internal/themes/DefaultTheme").DefaultTheme>): string;
6
6
  arrowWrap(): string;
7
+ arrowDisabled(t: Readonly<typeof import("../../internal/themes/DefaultTheme").DefaultTheme>): string;
7
8
  customUseArrow(): string;
8
9
  label(): string;
9
10
  labelText(): string;
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.jsStyles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");function _templateObject9() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n margin: 1px 4px 4px;\n "]);_templateObject9 = function _templateObject9() {return data;};return data;}function _templateObject8() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n vertical-align: top;\n white-space: nowrap;\n "]);_templateObject8 = function _templateObject8() {return data;};return data;}function _templateObject7() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n box-sizing: border-box;\n display: inline-block;\n max-width: 100%;\n width: auto;\n position: relative;\n "]);_templateObject7 = function _templateObject7() {return data;};return data;}function _templateObject6() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n border-top-color: inherit;\n color: inherit;\n opacity: 0.7;\n "]);_templateObject6 = function _templateObject6() {return data;};return data;}function _templateObject5() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n\n &::before {\n content: '';\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n }\n "]);_templateObject5 = function _templateObject5() {return data;};return data;}function _templateObject4() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n border: 4px solid transparent;\n border-bottom-width: 0;\n border-top-color: ", ";\n\n display: inline-block;\n margin-bottom: 3px;\n vertical-align: middle;\n "]);_templateObject4 = function _templateObject4() {return data;};return data;}function _templateObject3() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n color: inherit;\n opacity: 0.7;\n "]);_templateObject3 = function _templateObject3() {return data;};return data;}function _templateObject2() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n text-overflow: ellipsis;\n "]);_templateObject2 = function _templateObject2() {return data;};return data;}function _templateObject() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n position: relative;\n "]);_templateObject = function _templateObject() {return data;};return data;}
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.jsStyles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");function _templateObject10() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n margin: 1px 4px 4px;\n "]);_templateObject10 = function _templateObject10() {return data;};return data;}function _templateObject9() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n vertical-align: top;\n white-space: nowrap;\n "]);_templateObject9 = function _templateObject9() {return data;};return data;}function _templateObject8() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n box-sizing: border-box;\n display: inline-block;\n max-width: 100%;\n width: auto;\n position: relative;\n "]);_templateObject8 = function _templateObject8() {return data;};return data;}function _templateObject7() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n border-top-color: inherit;\n color: inherit;\n opacity: 0.7;\n "]);_templateObject7 = function _templateObject7() {return data;};return data;}function _templateObject6() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n border-top-color: ", ";\n "]);_templateObject6 = function _templateObject6() {return data;};return data;}function _templateObject5() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n\n &::before {\n content: '';\n display: inline-block;\n height: 100%;\n vertical-align: middle;\n }\n "]);_templateObject5 = function _templateObject5() {return data;};return data;}function _templateObject4() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n border: 4px solid transparent;\n border-bottom-width: 0;\n border-top-color: ", ";\n\n display: inline-block;\n margin-bottom: 3px;\n vertical-align: middle;\n "]);_templateObject4 = function _templateObject4() {return data;};return data;}function _templateObject3() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n color: inherit;\n opacity: 0.7;\n "]);_templateObject3 = function _templateObject3() {return data;};return data;}function _templateObject2() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n text-overflow: ellipsis;\n "]);_templateObject2 = function _templateObject2() {return data;};return data;}function _templateObject() {var data = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n position: relative;\n "]);_templateObject = function _templateObject() {return data;};return data;}
2
2
 
3
3
 
4
4
  var styles = {
@@ -49,10 +49,16 @@ var styles = {
49
49
 
50
50
 
51
51
 
52
+ },
53
+
54
+ arrowDisabled: function arrowDisabled(t) {
55
+ return (0, _Emotion.css)(_templateObject6(),
56
+ t.selectMenuArrowColorDisabled);
57
+
52
58
  },
53
59
 
54
60
  customUseArrow: function customUseArrow() {
55
- return (0, _Emotion.css)(_templateObject6());
61
+ return (0, _Emotion.css)(_templateObject7());
56
62
 
57
63
 
58
64
 
@@ -60,7 +66,7 @@ var styles = {
60
66
  },
61
67
 
62
68
  label: function label() {
63
- return (0, _Emotion.css)(_templateObject7());
69
+ return (0, _Emotion.css)(_templateObject8());
64
70
 
65
71
 
66
72
 
@@ -70,7 +76,7 @@ var styles = {
70
76
  },
71
77
 
72
78
  labelText: function labelText() {
73
- return (0, _Emotion.css)(_templateObject8());
79
+ return (0, _Emotion.css)(_templateObject9());
74
80
 
75
81
 
76
82
 
@@ -81,7 +87,7 @@ var styles = {
81
87
  },
82
88
 
83
89
  search: function search() {
84
- return (0, _Emotion.css)(_templateObject9());
90
+ return (0, _Emotion.css)(_templateObject10());
85
91
 
86
92
 
87
93
  } };
@@ -1 +1 @@
1
- {"version":3,"sources":["Select.styles.ts"],"names":["styles","root","t","css","placeholder","selectPlaceholderColor","customUsePlaceholder","arrow","selectMenuArrowColor","arrowWrap","customUseArrow","label","labelText","search","jsStyles"],"mappings":"8QAAA,oD;;;AAGA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IADa,gBACRC,CADQ,EACE;AACb,eAAOC,YAAP;;;;AAID,GANY;;AAQbC,EAAAA,WARa,uBAQDF,CARC,EAQS;AACpB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACG,sBADb;;;AAID,GAbY;;AAebC,EAAAA,oBAfa,kCAeU;AACrB,eAAOH,YAAP;;;;AAID,GApBY;;AAsBbI,EAAAA,KAtBa,iBAsBPL,CAtBO,EAsBG;AACd,eAAOC,YAAP;;;AAGsBD,IAAAA,CAAC,CAACM,oBAHxB;;;;;;AASD,GAhCY;;AAkCbC,EAAAA,SAlCa,uBAkCD;AACV,eAAON,YAAP;;;;;;;;;;;;;AAaD,GAhDY;;AAkDbO,EAAAA,cAlDa,4BAkDI;AACf,eAAOP,YAAP;;;;;AAKD,GAxDY;;AA0DbQ,EAAAA,KA1Da,mBA0DL;AACN,eAAOR,YAAP;;;;;;;AAOD,GAlEY;;AAoEbS,EAAAA,SApEa,uBAoED;AACV,eAAOT,YAAP;;;;;;;;AAQD,GA7EY;;AA+EbU,EAAAA,MA/Ea,oBA+EJ;AACP,eAAOV,YAAP;;;AAGD,GAnFY,EAAf;;;AAsFO,IAAMW,QAAQ,GAAG,2BAAad,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\r\nimport { Theme } from '../../lib/theming/Theme';\r\n\r\nconst styles = {\r\n root(t: Theme) {\r\n return css`\r\n display: inline-block;\r\n position: relative;\r\n `;\r\n },\r\n\r\n placeholder(t: Theme) {\r\n return css`\r\n color: ${t.selectPlaceholderColor};\r\n text-overflow: ellipsis;\r\n `;\r\n },\r\n\r\n customUsePlaceholder() {\r\n return css`\r\n color: inherit;\r\n opacity: 0.7;\r\n `;\r\n },\r\n\r\n arrow(t: Theme) {\r\n return css`\r\n border: 4px solid transparent;\r\n border-bottom-width: 0;\r\n border-top-color: ${t.selectMenuArrowColor};\r\n\r\n display: inline-block;\r\n margin-bottom: 3px;\r\n vertical-align: middle;\r\n `;\r\n },\r\n\r\n arrowWrap() {\r\n return css`\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n\r\n &::before {\r\n content: '';\r\n display: inline-block;\r\n height: 100%;\r\n vertical-align: middle;\r\n }\r\n `;\r\n },\r\n\r\n customUseArrow() {\r\n return css`\r\n border-top-color: inherit;\r\n color: inherit;\r\n opacity: 0.7;\r\n `;\r\n },\r\n\r\n label() {\r\n return css`\r\n box-sizing: border-box;\r\n display: inline-block;\r\n max-width: 100%;\r\n width: auto;\r\n position: relative;\r\n `;\r\n },\r\n\r\n labelText() {\r\n return css`\r\n display: inline-block;\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n vertical-align: top;\r\n white-space: nowrap;\r\n `;\r\n },\r\n\r\n search() {\r\n return css`\r\n margin: 1px 4px 4px;\r\n `;\r\n },\r\n};\r\n\r\nexport const jsStyles = memoizeStyle(styles);\r\n"]}
1
+ {"version":3,"sources":["Select.styles.ts"],"names":["styles","root","t","css","placeholder","selectPlaceholderColor","customUsePlaceholder","arrow","selectMenuArrowColor","arrowWrap","arrowDisabled","selectMenuArrowColorDisabled","customUseArrow","label","labelText","search","jsStyles"],"mappings":"8QAAA,oD;;;AAGA,IAAMA,MAAM,GAAG;AACbC,EAAAA,IADa,gBACRC,CADQ,EACE;AACb,eAAOC,YAAP;;;;AAID,GANY;;AAQbC,EAAAA,WARa,uBAQDF,CARC,EAQS;AACpB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACG,sBADb;;;AAID,GAbY;;AAebC,EAAAA,oBAfa,kCAeU;AACrB,eAAOH,YAAP;;;;AAID,GApBY;;AAsBbI,EAAAA,KAtBa,iBAsBPL,CAtBO,EAsBG;AACd,eAAOC,YAAP;;;AAGsBD,IAAAA,CAAC,CAACM,oBAHxB;;;;;;AASD,GAhCY;;AAkCbC,EAAAA,SAlCa,uBAkCD;AACV,eAAON,YAAP;;;;;;;;;;;;;AAaD,GAhDY;;AAkDbO,EAAAA,aAlDa,yBAkDCR,CAlDD,EAkDW;AACtB,eAAOC,YAAP;AACsBD,IAAAA,CAAC,CAACS,4BADxB;;AAGD,GAtDY;;AAwDbC,EAAAA,cAxDa,4BAwDI;AACf,eAAOT,YAAP;;;;;AAKD,GA9DY;;AAgEbU,EAAAA,KAhEa,mBAgEL;AACN,eAAOV,YAAP;;;;;;;AAOD,GAxEY;;AA0EbW,EAAAA,SA1Ea,uBA0ED;AACV,eAAOX,YAAP;;;;;;;;AAQD,GAnFY;;AAqFbY,EAAAA,MArFa,oBAqFJ;AACP,eAAOZ,YAAP;;;AAGD,GAzFY,EAAf;;;AA4FO,IAAMa,QAAQ,GAAG,2BAAahB,MAAb,CAAjB,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\r\nimport { Theme } from '../../lib/theming/Theme';\r\n\r\nconst styles = {\r\n root(t: Theme) {\r\n return css`\r\n display: inline-block;\r\n position: relative;\r\n `;\r\n },\r\n\r\n placeholder(t: Theme) {\r\n return css`\r\n color: ${t.selectPlaceholderColor};\r\n text-overflow: ellipsis;\r\n `;\r\n },\r\n\r\n customUsePlaceholder() {\r\n return css`\r\n color: inherit;\r\n opacity: 0.7;\r\n `;\r\n },\r\n\r\n arrow(t: Theme) {\r\n return css`\r\n border: 4px solid transparent;\r\n border-bottom-width: 0;\r\n border-top-color: ${t.selectMenuArrowColor};\r\n\r\n display: inline-block;\r\n margin-bottom: 3px;\r\n vertical-align: middle;\r\n `;\r\n },\r\n\r\n arrowWrap() {\r\n return css`\r\n position: absolute;\r\n top: 0;\r\n bottom: 0;\r\n right: 0;\r\n\r\n &::before {\r\n content: '';\r\n display: inline-block;\r\n height: 100%;\r\n vertical-align: middle;\r\n }\r\n `;\r\n },\r\n\r\n arrowDisabled(t: Theme) {\r\n return css`\r\n border-top-color: ${t.selectMenuArrowColorDisabled};\r\n `;\r\n },\r\n\r\n customUseArrow() {\r\n return css`\r\n border-top-color: inherit;\r\n color: inherit;\r\n opacity: 0.7;\r\n `;\r\n },\r\n\r\n label() {\r\n return css`\r\n box-sizing: border-box;\r\n display: inline-block;\r\n max-width: 100%;\r\n width: auto;\r\n position: relative;\r\n `;\r\n },\r\n\r\n labelText() {\r\n return css`\r\n display: inline-block;\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n vertical-align: top;\r\n white-space: nowrap;\r\n `;\r\n },\r\n\r\n search() {\r\n return css`\r\n margin: 1px 4px 4px;\r\n `;\r\n },\r\n};\r\n\r\nexport const jsStyles = memoizeStyle(styles);\r\n"]}
@@ -31,7 +31,12 @@ var getSelectTheme = function getSelectTheme(theme, props) {
31
31
  btnPaddingYLarge: theme.selectPaddingYLarge,
32
32
  btnIconGapLarge: theme.selectIconGapLarge,
33
33
  btnIconSizeLarge: theme.selectIconSizeLarge,
34
- btnBorderRadiusLarge: theme.selectBorderRadiusLarge },
34
+ btnBorderRadiusLarge: theme.selectBorderRadiusLarge,
35
+
36
+ btnDisabledBg: theme.selectBgDisabled,
37
+ btnDisabledBorderColor: theme.selectBorderColorDisabled,
38
+ btnDisabledShadowColor: theme.selectShadowColorDisabled,
39
+ btnDisabledTextColor: theme.selectTextColorDisabled },
35
40
 
36
41
  theme);
37
42
 
@@ -1 +1 @@
1
- {"version":3,"sources":["selectTheme.ts"],"names":["getSelectTheme","theme","props","ThemeFactory","create","btnBorderWidth","selectBorderWidth","btnOutlineWidth","selectOutlineWidth","btnLineHeightSmall","selectLineHeightSmall","btnFontSizeSmall","selectFontSizeSmall","btnPaddingXSmall","_icon","selectPaddingXSmall","btnPaddingYSmall","selectPaddingYSmall","btnIconGapSmall","selectIconGapSmall","btnIconSizeSmall","selectIconSizeSmall","btnBorderRadiusSmall","selectBorderRadiusSmall","btnLineHeightMedium","selectLineHeightMedium","btnFontSizeMedium","selectFontSizeMedium","btnPaddingXMedium","selectPaddingXMedium","btnPaddingYMedium","selectPaddingYMedium","btnIconGapMedium","selectIconGapMedium","btnIconSizeMedium","selectIconSizeMedium","btnBorderRadiusMedium","selectBorderRadiusMedium","btnLineHeightLarge","selectLineHeightLarge","btnFontSizeLarge","selectFontSizeLarge","btnPaddingXLarge","selectPaddingXLarge","btnPaddingYLarge","selectPaddingYLarge","btnIconGapLarge","selectIconGapLarge","btnIconSizeLarge","selectIconSizeLarge","btnBorderRadiusLarge","selectBorderRadiusLarge"],"mappings":"uEAAA;;;;;AAKO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAAeC,KAAf,EAAuD;AACnF,SAAOC,2BAAaC,MAAb;AACL;AACEC,IAAAA,cAAc,EAAEJ,KAAK,CAACK,iBADxB;AAEEC,IAAAA,eAAe,EAAEN,KAAK,CAACO,kBAFzB;;AAIEC,IAAAA,kBAAkB,EAAER,KAAK,CAACS,qBAJ5B;AAKEC,IAAAA,gBAAgB,EAAEV,KAAK,CAACW,mBAL1B;AAMEC,IAAAA,gBAAgB,EAAEX,KAAK,CAACY,KAAN,GAAcb,KAAK,CAACY,gBAApB,GAAuCZ,KAAK,CAACc,mBANjE;AAOEC,IAAAA,gBAAgB,EAAEf,KAAK,CAACgB,mBAP1B;AAQEC,IAAAA,eAAe,EAAEjB,KAAK,CAACkB,kBARzB;AASEC,IAAAA,gBAAgB,EAAEnB,KAAK,CAACoB,mBAT1B;AAUEC,IAAAA,oBAAoB,EAAErB,KAAK,CAACsB,uBAV9B;;AAYEC,IAAAA,mBAAmB,EAAEvB,KAAK,CAACwB,sBAZ7B;AAaEC,IAAAA,iBAAiB,EAAEzB,KAAK,CAAC0B,oBAb3B;AAcEC,IAAAA,iBAAiB,EAAE1B,KAAK,CAACY,KAAN,GAAcb,KAAK,CAAC2B,iBAApB,GAAwC3B,KAAK,CAAC4B,oBAdnE;AAeEC,IAAAA,iBAAiB,EAAE7B,KAAK,CAAC8B,oBAf3B;AAgBEC,IAAAA,gBAAgB,EAAE/B,KAAK,CAACgC,mBAhB1B;AAiBEC,IAAAA,iBAAiB,EAAEjC,KAAK,CAACkC,oBAjB3B;AAkBEC,IAAAA,qBAAqB,EAAEnC,KAAK,CAACoC,wBAlB/B;;AAoBEC,IAAAA,kBAAkB,EAAErC,KAAK,CAACsC,qBApB5B;AAqBEC,IAAAA,gBAAgB,EAAEvC,KAAK,CAACwC,mBArB1B;AAsBEC,IAAAA,gBAAgB,EAAExC,KAAK,CAACY,KAAN,GAAcb,KAAK,CAACyC,gBAApB,GAAuCzC,KAAK,CAAC0C,mBAtBjE;AAuBEC,IAAAA,gBAAgB,EAAE3C,KAAK,CAAC4C,mBAvB1B;AAwBEC,IAAAA,eAAe,EAAE7C,KAAK,CAAC8C,kBAxBzB;AAyBEC,IAAAA,gBAAgB,EAAE/C,KAAK,CAACgD,mBAzB1B;AA0BEC,IAAAA,oBAAoB,EAAEjD,KAAK,CAACkD,uBA1B9B,EADK;;AA6BLlD,EAAAA,KA7BK,CAAP;;AA+BD,CAhCM,C","sourcesContent":["import { ThemeFactory } from '../../lib/theming/ThemeFactory';\r\nimport { Theme } from '../../lib/theming/Theme';\r\n\r\nimport { SelectProps } from './Select';\r\n\r\nexport const getSelectTheme = (theme: Theme, props: SelectProps<any, any>): Theme => {\r\n return ThemeFactory.create(\r\n {\r\n btnBorderWidth: theme.selectBorderWidth,\r\n btnOutlineWidth: theme.selectOutlineWidth,\r\n\r\n btnLineHeightSmall: theme.selectLineHeightSmall,\r\n btnFontSizeSmall: theme.selectFontSizeSmall,\r\n btnPaddingXSmall: props._icon ? theme.btnPaddingXSmall : theme.selectPaddingXSmall,\r\n btnPaddingYSmall: theme.selectPaddingYSmall,\r\n btnIconGapSmall: theme.selectIconGapSmall,\r\n btnIconSizeSmall: theme.selectIconSizeSmall,\r\n btnBorderRadiusSmall: theme.selectBorderRadiusSmall,\r\n\r\n btnLineHeightMedium: theme.selectLineHeightMedium,\r\n btnFontSizeMedium: theme.selectFontSizeMedium,\r\n btnPaddingXMedium: props._icon ? theme.btnPaddingXMedium : theme.selectPaddingXMedium,\r\n btnPaddingYMedium: theme.selectPaddingYMedium,\r\n btnIconGapMedium: theme.selectIconGapMedium,\r\n btnIconSizeMedium: theme.selectIconSizeMedium,\r\n btnBorderRadiusMedium: theme.selectBorderRadiusMedium,\r\n\r\n btnLineHeightLarge: theme.selectLineHeightLarge,\r\n btnFontSizeLarge: theme.selectFontSizeLarge,\r\n btnPaddingXLarge: props._icon ? theme.btnPaddingXLarge : theme.selectPaddingXLarge,\r\n btnPaddingYLarge: theme.selectPaddingYLarge,\r\n btnIconGapLarge: theme.selectIconGapLarge,\r\n btnIconSizeLarge: theme.selectIconSizeLarge,\r\n btnBorderRadiusLarge: theme.selectBorderRadiusLarge,\r\n },\r\n theme,\r\n );\r\n};\r\n"]}
1
+ {"version":3,"sources":["selectTheme.ts"],"names":["getSelectTheme","theme","props","ThemeFactory","create","btnBorderWidth","selectBorderWidth","btnOutlineWidth","selectOutlineWidth","btnLineHeightSmall","selectLineHeightSmall","btnFontSizeSmall","selectFontSizeSmall","btnPaddingXSmall","_icon","selectPaddingXSmall","btnPaddingYSmall","selectPaddingYSmall","btnIconGapSmall","selectIconGapSmall","btnIconSizeSmall","selectIconSizeSmall","btnBorderRadiusSmall","selectBorderRadiusSmall","btnLineHeightMedium","selectLineHeightMedium","btnFontSizeMedium","selectFontSizeMedium","btnPaddingXMedium","selectPaddingXMedium","btnPaddingYMedium","selectPaddingYMedium","btnIconGapMedium","selectIconGapMedium","btnIconSizeMedium","selectIconSizeMedium","btnBorderRadiusMedium","selectBorderRadiusMedium","btnLineHeightLarge","selectLineHeightLarge","btnFontSizeLarge","selectFontSizeLarge","btnPaddingXLarge","selectPaddingXLarge","btnPaddingYLarge","selectPaddingYLarge","btnIconGapLarge","selectIconGapLarge","btnIconSizeLarge","selectIconSizeLarge","btnBorderRadiusLarge","selectBorderRadiusLarge","btnDisabledBg","selectBgDisabled","btnDisabledBorderColor","selectBorderColorDisabled","btnDisabledShadowColor","selectShadowColorDisabled","btnDisabledTextColor","selectTextColorDisabled"],"mappings":"uEAAA;;;;;AAKO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAAeC,KAAf,EAAuD;AACnF,SAAOC,2BAAaC,MAAb;AACL;AACEC,IAAAA,cAAc,EAAEJ,KAAK,CAACK,iBADxB;AAEEC,IAAAA,eAAe,EAAEN,KAAK,CAACO,kBAFzB;;AAIEC,IAAAA,kBAAkB,EAAER,KAAK,CAACS,qBAJ5B;AAKEC,IAAAA,gBAAgB,EAAEV,KAAK,CAACW,mBAL1B;AAMEC,IAAAA,gBAAgB,EAAEX,KAAK,CAACY,KAAN,GAAcb,KAAK,CAACY,gBAApB,GAAuCZ,KAAK,CAACc,mBANjE;AAOEC,IAAAA,gBAAgB,EAAEf,KAAK,CAACgB,mBAP1B;AAQEC,IAAAA,eAAe,EAAEjB,KAAK,CAACkB,kBARzB;AASEC,IAAAA,gBAAgB,EAAEnB,KAAK,CAACoB,mBAT1B;AAUEC,IAAAA,oBAAoB,EAAErB,KAAK,CAACsB,uBAV9B;;AAYEC,IAAAA,mBAAmB,EAAEvB,KAAK,CAACwB,sBAZ7B;AAaEC,IAAAA,iBAAiB,EAAEzB,KAAK,CAAC0B,oBAb3B;AAcEC,IAAAA,iBAAiB,EAAE1B,KAAK,CAACY,KAAN,GAAcb,KAAK,CAAC2B,iBAApB,GAAwC3B,KAAK,CAAC4B,oBAdnE;AAeEC,IAAAA,iBAAiB,EAAE7B,KAAK,CAAC8B,oBAf3B;AAgBEC,IAAAA,gBAAgB,EAAE/B,KAAK,CAACgC,mBAhB1B;AAiBEC,IAAAA,iBAAiB,EAAEjC,KAAK,CAACkC,oBAjB3B;AAkBEC,IAAAA,qBAAqB,EAAEnC,KAAK,CAACoC,wBAlB/B;;AAoBEC,IAAAA,kBAAkB,EAAErC,KAAK,CAACsC,qBApB5B;AAqBEC,IAAAA,gBAAgB,EAAEvC,KAAK,CAACwC,mBArB1B;AAsBEC,IAAAA,gBAAgB,EAAExC,KAAK,CAACY,KAAN,GAAcb,KAAK,CAACyC,gBAApB,GAAuCzC,KAAK,CAAC0C,mBAtBjE;AAuBEC,IAAAA,gBAAgB,EAAE3C,KAAK,CAAC4C,mBAvB1B;AAwBEC,IAAAA,eAAe,EAAE7C,KAAK,CAAC8C,kBAxBzB;AAyBEC,IAAAA,gBAAgB,EAAE/C,KAAK,CAACgD,mBAzB1B;AA0BEC,IAAAA,oBAAoB,EAAEjD,KAAK,CAACkD,uBA1B9B;;AA4BEC,IAAAA,aAAa,EAAEnD,KAAK,CAACoD,gBA5BvB;AA6BEC,IAAAA,sBAAsB,EAAErD,KAAK,CAACsD,yBA7BhC;AA8BEC,IAAAA,sBAAsB,EAAEvD,KAAK,CAACwD,yBA9BhC;AA+BEC,IAAAA,oBAAoB,EAAEzD,KAAK,CAAC0D,uBA/B9B,EADK;;AAkCL1D,EAAAA,KAlCK,CAAP;;AAoCD,CArCM,C","sourcesContent":["import { ThemeFactory } from '../../lib/theming/ThemeFactory';\r\nimport { Theme } from '../../lib/theming/Theme';\r\n\r\nimport { SelectProps } from './Select';\r\n\r\nexport const getSelectTheme = (theme: Theme, props: SelectProps<any, any>): Theme => {\r\n return ThemeFactory.create(\r\n {\r\n btnBorderWidth: theme.selectBorderWidth,\r\n btnOutlineWidth: theme.selectOutlineWidth,\r\n\r\n btnLineHeightSmall: theme.selectLineHeightSmall,\r\n btnFontSizeSmall: theme.selectFontSizeSmall,\r\n btnPaddingXSmall: props._icon ? theme.btnPaddingXSmall : theme.selectPaddingXSmall,\r\n btnPaddingYSmall: theme.selectPaddingYSmall,\r\n btnIconGapSmall: theme.selectIconGapSmall,\r\n btnIconSizeSmall: theme.selectIconSizeSmall,\r\n btnBorderRadiusSmall: theme.selectBorderRadiusSmall,\r\n\r\n btnLineHeightMedium: theme.selectLineHeightMedium,\r\n btnFontSizeMedium: theme.selectFontSizeMedium,\r\n btnPaddingXMedium: props._icon ? theme.btnPaddingXMedium : theme.selectPaddingXMedium,\r\n btnPaddingYMedium: theme.selectPaddingYMedium,\r\n btnIconGapMedium: theme.selectIconGapMedium,\r\n btnIconSizeMedium: theme.selectIconSizeMedium,\r\n btnBorderRadiusMedium: theme.selectBorderRadiusMedium,\r\n\r\n btnLineHeightLarge: theme.selectLineHeightLarge,\r\n btnFontSizeLarge: theme.selectFontSizeLarge,\r\n btnPaddingXLarge: props._icon ? theme.btnPaddingXLarge : theme.selectPaddingXLarge,\r\n btnPaddingYLarge: theme.selectPaddingYLarge,\r\n btnIconGapLarge: theme.selectIconGapLarge,\r\n btnIconSizeLarge: theme.selectIconSizeLarge,\r\n btnBorderRadiusLarge: theme.selectBorderRadiusLarge,\r\n\r\n btnDisabledBg: theme.selectBgDisabled,\r\n btnDisabledBorderColor: theme.selectBorderColorDisabled,\r\n btnDisabledShadowColor: theme.selectShadowColorDisabled,\r\n btnDisabledTextColor: theme.selectTextColorDisabled,\r\n },\r\n theme,\r\n );\r\n};\r\n"]}
@@ -207,7 +207,7 @@ Calendar = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default
207
207
  var positions = _this.getMonthPositions();
208
208
  var wrapperStyle = { height: (0, _config.themeConfig)(_this.theme).WRAPPER_HEIGHT };
209
209
  return /*#__PURE__*/(
210
- _react.default.createElement("div", { ref: _this.refRoot, className: _Calendar.jsStyles.root(_this.theme) }, /*#__PURE__*/
210
+ _react.default.createElement("div", { ref: _this.refRoot, className: _Calendar.jsStyles.root(_this.theme), "data-tid": "Calendar" }, /*#__PURE__*/
211
211
  _react.default.createElement("div", { style: wrapperStyle, className: _Calendar.jsStyles.wrapper() },
212
212
  _this.state.months.
213
213
  map(function (x, i) {return [positions[i], x];}).