@skbkontur/react-ui 3.10.0 → 3.11.0

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 (152) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/cjs/components/Button/Button.d.ts +1 -1
  3. package/cjs/components/Button/Button.js +4 -3
  4. package/cjs/components/Button/Button.js.map +1 -1
  5. package/cjs/components/Button/Button.styles.d.ts +1 -0
  6. package/cjs/components/Button/Button.styles.js +38 -28
  7. package/cjs/components/Button/Button.styles.js.map +1 -1
  8. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  9. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  10. package/cjs/components/Hint/Hint.d.ts +2 -1
  11. package/cjs/components/Hint/Hint.js +0 -16
  12. package/cjs/components/Hint/Hint.js.map +1 -1
  13. package/cjs/components/Kebab/Kebab.d.ts +2 -2
  14. package/cjs/components/Kebab/Kebab.js.map +1 -1
  15. package/cjs/components/MenuItem/MenuItem.d.ts +1 -1
  16. package/cjs/components/MenuItem/MenuItem.js +1 -4
  17. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  18. package/cjs/components/ScrollContainer/ScrollBar.js +4 -2
  19. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  20. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -1
  21. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  22. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
  23. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +12 -8
  24. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  25. package/cjs/components/SidePage/SidePage.d.ts +1 -0
  26. package/cjs/components/SidePage/SidePage.js +14 -1
  27. package/cjs/components/SidePage/SidePage.js.map +1 -1
  28. package/cjs/components/Spinner/Spinner.d.ts +8 -0
  29. package/cjs/components/Spinner/Spinner.js +21 -3
  30. package/cjs/components/Spinner/Spinner.js.map +1 -1
  31. package/cjs/components/Spinner/Spinner.md +1 -0
  32. package/cjs/components/Spinner/Spinner.styles.d.ts +2 -1
  33. package/cjs/components/Spinner/Spinner.styles.js +13 -10
  34. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  35. package/cjs/components/Switcher/Switcher.styles.js +4 -2
  36. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  37. package/cjs/components/Tooltip/Tooltip.d.ts +8 -21
  38. package/cjs/components/Tooltip/Tooltip.js +14 -27
  39. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  40. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +2 -2
  41. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  42. package/cjs/index.d.ts +1 -0
  43. package/cjs/index.js +2 -1
  44. package/cjs/index.js.map +1 -1
  45. package/cjs/internal/Popup/Popup.d.ts +5 -4
  46. package/cjs/internal/Popup/Popup.js +13 -24
  47. package/cjs/internal/Popup/Popup.js.map +1 -1
  48. package/cjs/internal/Popup/PopupHelper.d.ts +2 -2
  49. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  50. package/cjs/internal/Popup/types.d.ts +1 -0
  51. package/cjs/internal/Popup/types.js +1 -0
  52. package/cjs/internal/Popup/types.js.map +1 -0
  53. package/cjs/internal/PopupMenu/PopupMenu.d.ts +3 -3
  54. package/cjs/internal/PopupMenu/PopupMenu.js +17 -3
  55. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  56. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  57. package/cjs/internal/PopupMenu/validatePositions.js +2 -4
  58. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  59. package/cjs/internal/icons/SpinnerIcon.d.ts +4 -1
  60. package/cjs/internal/icons/SpinnerIcon.js +5 -2
  61. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  62. package/cjs/lib/ModalStack.js +16 -17
  63. package/cjs/lib/ModalStack.js.map +1 -1
  64. package/cjs/lib/theming/AnimationKeyframes.js +1 -1
  65. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  66. package/cjs/lib/theming/useTheme.d.ts +1 -0
  67. package/cjs/lib/theming/useTheme.js +7 -0
  68. package/cjs/lib/theming/useTheme.js.map +1 -0
  69. package/cjs/lib/utils.d.ts +32 -0
  70. package/cjs/lib/utils.js +62 -2
  71. package/cjs/lib/utils.js.map +1 -1
  72. package/cjs/typings/html-props.d.ts +123 -0
  73. package/components/Button/Button/Button.js +3 -7
  74. package/components/Button/Button/Button.js.map +1 -1
  75. package/components/Button/Button.d.ts +1 -1
  76. package/components/Button/Button.styles/Button.styles.js +31 -28
  77. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  78. package/components/Button/Button.styles.d.ts +1 -0
  79. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  80. package/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  81. package/components/Hint/Hint/Hint.js.map +1 -1
  82. package/components/Hint/Hint.d.ts +2 -1
  83. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  84. package/components/Kebab/Kebab.d.ts +2 -2
  85. package/components/MenuItem/MenuItem/MenuItem.js +2 -7
  86. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  87. package/components/MenuItem/MenuItem.d.ts +1 -1
  88. package/components/ScrollContainer/ScrollBar/ScrollBar.js +6 -2
  89. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  90. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +2 -1
  91. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  92. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +11 -8
  93. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  94. package/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
  95. package/components/SidePage/SidePage/SidePage.js +19 -0
  96. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  97. package/components/SidePage/SidePage.d.ts +1 -0
  98. package/components/Spinner/Spinner/Spinner.js +6 -3
  99. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  100. package/components/Spinner/Spinner.d.ts +8 -0
  101. package/components/Spinner/Spinner.md +1 -0
  102. package/components/Spinner/Spinner.styles/Spinner.styles.js +12 -9
  103. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  104. package/components/Spinner/Spinner.styles.d.ts +2 -1
  105. package/components/Switcher/Switcher.styles/Switcher.styles.js +3 -1
  106. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  107. package/components/Tooltip/Tooltip/Tooltip.js +2 -2
  108. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  109. package/components/Tooltip/Tooltip.d.ts +8 -21
  110. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  111. package/components/TooltipMenu/TooltipMenu.d.ts +2 -2
  112. package/index.d.ts +1 -0
  113. package/index.js +2 -1
  114. package/index.js.map +1 -1
  115. package/internal/Popup/Popup/Popup.js +3 -2
  116. package/internal/Popup/Popup/Popup.js.map +1 -1
  117. package/internal/Popup/Popup.d.ts +5 -4
  118. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  119. package/internal/Popup/PopupHelper.d.ts +2 -2
  120. package/internal/Popup/types/package.json +6 -0
  121. package/internal/Popup/types/types.js +0 -0
  122. package/internal/Popup/types/types.js.map +1 -0
  123. package/internal/Popup/types.d.ts +1 -0
  124. package/internal/PopupMenu/PopupMenu/PopupMenu.js +3 -3
  125. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  126. package/internal/PopupMenu/PopupMenu.d.ts +3 -3
  127. package/internal/PopupMenu/validatePositions/validatePositions.js +2 -2
  128. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  129. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  130. package/internal/icons/SpinnerIcon/SpinnerIcon.js +5 -2
  131. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  132. package/internal/icons/SpinnerIcon.d.ts +4 -1
  133. package/lib/ModalStack/ModalStack.js +9 -13
  134. package/lib/ModalStack/ModalStack.js.map +1 -1
  135. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +1 -1
  136. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  137. package/lib/theming/useTheme/package.json +6 -0
  138. package/lib/theming/useTheme/useTheme.js +5 -0
  139. package/lib/theming/useTheme/useTheme.js.map +1 -0
  140. package/lib/theming/useTheme.d.ts +1 -0
  141. package/lib/utils/utils.js +66 -0
  142. package/lib/utils/utils.js.map +1 -1
  143. package/lib/utils.d.ts +32 -0
  144. package/package.json +5 -2
  145. package/typings/html-props.d.ts +123 -0
  146. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  147. package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
  148. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
  149. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
  150. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
  151. package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
  152. package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
@@ -1,6 +1,6 @@
1
1
  import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
2
 
3
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51, _templateObject52, _templateObject53, _templateObject54, _templateObject55, _templateObject56;
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51, _templateObject52, _templateObject53, _templateObject54, _templateObject55, _templateObject56, _templateObject57;
4
4
 
5
5
  import { css, memoizeStyle, prefix } from "../../../lib/theming/Emotion";
6
6
  import { resetButton, resetText } from "../../../lib/styles/Mixins";
@@ -101,87 +101,90 @@ export var styles = memoizeStyle({
101
101
  var checkedStyles = "\n background-image: none;\n box-shadow: " + t.btnCheckedShadow + ";\n background-color: " + t.btnCheckedBg + ";\n color: " + t.btnCheckedTextColor + ";\n border-color: " + t.btnDefaultCheckedBorderColor + ";\n\n ." + globalClasses.arrowHelper + " {\n box-shadow: " + t.btnBorderWidth + " 0 0 " + t.btnDefaultCheckedBorderColor + ";\n\n &." + globalClasses.arrowHelperTop + " {\n background-image: " + t.btnArrowBgImageChecked + ";\n }\n }\n ";
102
102
  return css(_templateObject29 || (_templateObject29 = _taggedTemplateLiteralLoose(["\n ", "\n\n &:hover,\n &:active,\n &:hover:active {\n ", "\n }\n "])), checkedStyles, checkedStyles);
103
103
  },
104
+ checkedFocused: function checkedFocused(t) {
105
+ return css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteralLoose(["\n &:hover {\n box-shadow: inset 0 0 0 ", " ", ",\n 0 0 0 ", " ", ";\n border-color: ", ";\n }\n "])), t.btnInsetWidth, t.btnOutlineColorFocus, t.btnFocusShadowWidth, t.btnBorderColorFocus, t.btnBorderColorFocus);
106
+ },
104
107
  checkedDisabled: function checkedDisabled(t) {
105
- return css(_templateObject30 || (_templateObject30 = _taggedTemplateLiteralLoose(["\n box-shadow: ", ";\n background-color: ", ";\n color: ", ";\n border-color: ", ";\n\n .", " {\n box-shadow: ", " 0 0 ", ";\n\n &.", " {\n background-image: none;\n }\n }\n "])), t.btnCheckedDisabledShadow, t.btnCheckedDisabledBg, t.btnCheckedDisabledColor, t.btnCheckedDisabledBorderColor, globalClasses.arrowHelper, t.btnBorderWidth, t.btnCheckedDisabledBorderColor, globalClasses.arrowHelperTop);
108
+ return css(_templateObject31 || (_templateObject31 = _taggedTemplateLiteralLoose(["\n box-shadow: ", ";\n background-color: ", ";\n color: ", ";\n border-color: ", ";\n\n .", " {\n box-shadow: ", " 0 0 ", ";\n\n &.", " {\n background-image: none;\n }\n }\n "])), t.btnCheckedDisabledShadow, t.btnCheckedDisabledBg, t.btnCheckedDisabledColor, t.btnCheckedDisabledBorderColor, globalClasses.arrowHelper, t.btnBorderWidth, t.btnCheckedDisabledBorderColor, globalClasses.arrowHelperTop);
106
109
  },
107
110
  caption: function caption() {
108
- return css(_templateObject31 || (_templateObject31 = _taggedTemplateLiteralLoose(["\n position: relative;\n white-space: nowrap;\n display: inline-block;\n width: 100%;\n vertical-align: top;\n "])));
111
+ return css(_templateObject32 || (_templateObject32 = _taggedTemplateLiteralLoose(["\n position: relative;\n white-space: nowrap;\n display: inline-block;\n width: 100%;\n vertical-align: top;\n "])));
109
112
  },
110
113
  captionLink: function captionLink() {
111
- return css(_templateObject32 || (_templateObject32 = _taggedTemplateLiteralLoose(["\n display: inline;\n transform: none !important; // override root:active style\n "])));
114
+ return css(_templateObject33 || (_templateObject33 = _taggedTemplateLiteralLoose(["\n display: inline;\n transform: none !important; // override root:active style\n "])));
112
115
  },
113
116
  captionTranslated: function captionTranslated() {
114
- return css(_templateObject33 || (_templateObject33 = _taggedTemplateLiteralLoose(["\n transform: translateY(1px);\n "])));
117
+ return css(_templateObject34 || (_templateObject34 = _taggedTemplateLiteralLoose(["\n transform: translateY(1px);\n "])));
115
118
  },
116
119
  captionDisabled: function captionDisabled() {
117
- return css(_templateObject34 || (_templateObject34 = _taggedTemplateLiteralLoose(["\n transform: none !important; // override root:active style\n "])));
120
+ return css(_templateObject35 || (_templateObject35 = _taggedTemplateLiteralLoose(["\n transform: none !important; // override root:active style\n "])));
118
121
  },
119
122
  wrap: function wrap() {
120
- return css(_templateObject35 || (_templateObject35 = _taggedTemplateLiteralLoose(["\n box-sizing: border-box;\n display: inline-block;\n "])));
123
+ return css(_templateObject36 || (_templateObject36 = _taggedTemplateLiteralLoose(["\n box-sizing: border-box;\n display: inline-block;\n "])));
121
124
  },
122
125
  narrow: function narrow() {
123
- return css(_templateObject36 || (_templateObject36 = _taggedTemplateLiteralLoose(["\n padding-left: 5px;\n padding-right: 5px;\n "])));
126
+ return css(_templateObject37 || (_templateObject37 = _taggedTemplateLiteralLoose(["\n padding-left: 5px;\n padding-right: 5px;\n "])));
124
127
  },
125
128
  noPadding: function noPadding() {
126
- return css(_templateObject37 || (_templateObject37 = _taggedTemplateLiteralLoose(["\n padding-left: 0;\n padding-right: 0;\n "])));
129
+ return css(_templateObject38 || (_templateObject38 = _taggedTemplateLiteralLoose(["\n padding-left: 0;\n padding-right: 0;\n "])));
127
130
  },
128
131
  noRightPadding: function noRightPadding() {
129
- return css(_templateObject38 || (_templateObject38 = _taggedTemplateLiteralLoose(["\n padding-right: 0;\n "])));
132
+ return css(_templateObject39 || (_templateObject39 = _taggedTemplateLiteralLoose(["\n padding-right: 0;\n "])));
130
133
  },
131
134
  iconNoRightPadding: function iconNoRightPadding() {
132
- return css(_templateObject39 || (_templateObject39 = _taggedTemplateLiteralLoose(["\n padding-right: 0;\n "])));
135
+ return css(_templateObject40 || (_templateObject40 = _taggedTemplateLiteralLoose(["\n padding-right: 0;\n "])));
133
136
  },
134
137
  iconLink: function iconLink(t) {
135
- return css(_templateObject40 || (_templateObject40 = _taggedTemplateLiteralLoose(["\n padding-right: ", ";\n "])), t.btnLinkIconMarginRight);
138
+ return css(_templateObject41 || (_templateObject41 = _taggedTemplateLiteralLoose(["\n padding-right: ", ";\n "])), t.btnLinkIconMarginRight);
136
139
  },
137
140
  wrapLink: function wrapLink() {
138
- return css(_templateObject41 || (_templateObject41 = _taggedTemplateLiteralLoose(["\n padding: 0;\n "])));
141
+ return css(_templateObject42 || (_templateObject42 = _taggedTemplateLiteralLoose(["\n padding: 0;\n "])));
139
142
  },
140
143
  wrapArrow: function wrapArrow() {
141
- return css(_templateObject42 || (_templateObject42 = _taggedTemplateLiteralLoose(["\n margin-right: 10px;\n "])));
144
+ return css(_templateObject43 || (_templateObject43 = _taggedTemplateLiteralLoose(["\n margin-right: 10px;\n "])));
142
145
  },
143
146
  wrapArrowLeft: function wrapArrowLeft() {
144
- return css(_templateObject43 || (_templateObject43 = _taggedTemplateLiteralLoose(["\n margin-right: 0;\n margin-left: 10px;\n "])));
147
+ return css(_templateObject44 || (_templateObject44 = _taggedTemplateLiteralLoose(["\n margin-right: 0;\n margin-left: 10px;\n "])));
145
148
  },
146
149
  icon: function icon() {
147
- return css(_templateObject44 || (_templateObject44 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n "])));
150
+ return css(_templateObject45 || (_templateObject45 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n "])));
148
151
  },
149
152
  iconSmall: function iconSmall(t) {
150
- return css(_templateObject45 || (_templateObject45 = _taggedTemplateLiteralLoose(["\n width: ", ";\n padding-right: ", ";\n "])), t.btnIconSizeSmall, t.btnIconGapSmall);
153
+ return css(_templateObject46 || (_templateObject46 = _taggedTemplateLiteralLoose(["\n width: ", ";\n padding-right: ", ";\n "])), t.btnIconSizeSmall, t.btnIconGapSmall);
151
154
  },
152
155
  iconMedium: function iconMedium(t) {
153
- return css(_templateObject46 || (_templateObject46 = _taggedTemplateLiteralLoose(["\n width: ", ";\n padding-right: ", ";\n "])), t.btnIconSizeMedium, t.btnIconGapMedium);
156
+ return css(_templateObject47 || (_templateObject47 = _taggedTemplateLiteralLoose(["\n width: ", ";\n padding-right: ", ";\n "])), t.btnIconSizeMedium, t.btnIconGapMedium);
154
157
  },
155
158
  iconLarge: function iconLarge(t) {
156
- return css(_templateObject47 || (_templateObject47 = _taggedTemplateLiteralLoose(["\n width: ", ";\n padding-right: ", ";\n "])), t.btnIconSizeLarge, t.btnIconGapLarge);
159
+ return css(_templateObject48 || (_templateObject48 = _taggedTemplateLiteralLoose(["\n width: ", ";\n padding-right: ", ";\n "])), t.btnIconSizeLarge, t.btnIconGapLarge);
157
160
  },
158
161
  borderless: function borderless() {
159
- return css(_templateObject48 || (_templateObject48 = _taggedTemplateLiteralLoose(["\n &,\n &:hover,\n &:active {\n border-color: transparent;\n .", ", .", " {\n box-shadow: none;\n }\n }\n "])), globalClasses.arrowHelperTop, globalClasses.arrowHelperBottom);
162
+ return css(_templateObject49 || (_templateObject49 = _taggedTemplateLiteralLoose(["\n &,\n &:hover,\n &:active {\n border-color: transparent;\n .", ", .", " {\n box-shadow: none;\n }\n }\n "])), globalClasses.arrowHelperTop, globalClasses.arrowHelperBottom);
160
163
  },
161
164
  loading: function loading() {
162
- return css(_templateObject49 || (_templateObject49 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n "])));
165
+ return css(_templateObject50 || (_templateObject50 = _taggedTemplateLiteralLoose(["\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n "])));
163
166
  },
164
167
  visibilityHidden: function visibilityHidden() {
165
- return css(_templateObject50 || (_templateObject50 = _taggedTemplateLiteralLoose(["\n visibility: hidden;\n "])));
168
+ return css(_templateObject51 || (_templateObject51 = _taggedTemplateLiteralLoose(["\n visibility: hidden;\n "])));
166
169
  }
167
170
  });
168
171
  export var activeStyles = memoizeStyle({
169
172
  "default": function _default(t) {
170
- return css(_templateObject51 || (_templateObject51 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n ", ";\n }\n "])), buttonActiveMixin(t.btnDefaultActiveBg, t.btnDefaultActiveShadow, t.btnDefaultActiveBorderColor, t.btnDefaultActiveBorderTopColor, t.btnBorderWidth, t.btnArrowBgImageActive));
173
+ return css(_templateObject52 || (_templateObject52 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n ", ";\n }\n "])), buttonActiveMixin(t.btnDefaultActiveBg, t.btnDefaultActiveShadow, t.btnDefaultActiveBorderColor, t.btnDefaultActiveBorderTopColor, t.btnBorderWidth, t.btnArrowBgImageActive));
171
174
  },
172
175
  primary: function primary(t) {
173
- return css(_templateObject52 || (_templateObject52 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n ", ";\n }\n "])), buttonActiveMixin(t.btnPrimaryActiveBg, t.btnPrimaryActiveShadow, t.btnPrimaryActiveBorderColor, t.btnPrimaryActiveBorderTopColor, t.btnBorderWidth, t.btnArrowBgImageActive));
176
+ return css(_templateObject53 || (_templateObject53 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n ", ";\n }\n "])), buttonActiveMixin(t.btnPrimaryActiveBg, t.btnPrimaryActiveShadow, t.btnPrimaryActiveBorderColor, t.btnPrimaryActiveBorderTopColor, t.btnBorderWidth, t.btnArrowBgImageActive));
174
177
  },
175
178
  success: function success(t) {
176
- return css(_templateObject53 || (_templateObject53 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n ", ";\n }\n "])), buttonActiveMixin(t.btnSuccessActiveBg, t.btnSuccessActiveShadow, t.btnSuccessActiveBorderColor, t.btnSuccessActiveBorderTopColor, t.btnBorderWidth, t.btnArrowBgImageActive));
179
+ return css(_templateObject54 || (_templateObject54 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n ", ";\n }\n "])), buttonActiveMixin(t.btnSuccessActiveBg, t.btnSuccessActiveShadow, t.btnSuccessActiveBorderColor, t.btnSuccessActiveBorderTopColor, t.btnBorderWidth, t.btnArrowBgImageActive));
177
180
  },
178
181
  danger: function danger(t) {
179
- return css(_templateObject54 || (_templateObject54 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n ", ";\n }\n "])), buttonActiveMixin(t.btnDangerActiveBg, t.btnDangerActiveShadow, t.btnDangerActiveBorderColor, t.btnDangerActiveBorderTopColor, t.btnBorderWidth, t.btnArrowBgImageActive));
182
+ return css(_templateObject55 || (_templateObject55 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n ", ";\n }\n "])), buttonActiveMixin(t.btnDangerActiveBg, t.btnDangerActiveShadow, t.btnDangerActiveBorderColor, t.btnDangerActiveBorderTopColor, t.btnBorderWidth, t.btnArrowBgImageActive));
180
183
  },
181
184
  pay: function pay(t) {
182
- return css(_templateObject55 || (_templateObject55 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n ", ";\n }\n "])), buttonActiveMixin(t.btnPayActiveBg, t.btnPayActiveShadow, t.btnPayActiveBorderColor, t.btnPayActiveBorderTopColor, t.btnBorderWidth, t.btnArrowBgImageActive));
185
+ return css(_templateObject56 || (_templateObject56 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n ", ";\n }\n "])), buttonActiveMixin(t.btnPayActiveBg, t.btnPayActiveShadow, t.btnPayActiveBorderColor, t.btnPayActiveBorderTopColor, t.btnBorderWidth, t.btnArrowBgImageActive));
183
186
  },
184
187
  link: function link(t) {
185
- return css(_templateObject56 || (_templateObject56 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n color: ", ";\n }\n "])), t.linkActiveColor);
188
+ return css(_templateObject57 || (_templateObject57 = _taggedTemplateLiteralLoose(["\n &,\n &:hover {\n color: ", ";\n }\n "])), t.linkActiveColor);
186
189
  }
187
190
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["Button.styles.ts"],"names":["css","memoizeStyle","prefix","resetButton","resetText","isFirefox","buttonUseMixin","buttonHoverMixin","buttonActiveMixin","buttonSizeMixin","arrowOutlineMixin","buttonSizeMixinIE11","globalClasses","arrowHelper","arrowHelperTop","arrowHelperBottom","caption","styles","root","t","btnBackgroundClip","btnBorderWidth","outline","outlineWarning","btnOutlineWidth","btnBorderColorWarning","btnInsetWidth","btnInsetColor","outlineError","btnBorderColorError","outlineLink","outlineLinkWarning","btnWarningSecondary","outlineLinkError","btnErrorSecondary","sizeSmall","btnBorderRadiusSmall","btnFontSizeSmall","btnHeightSmall","btnLineHeightSmall","btnPaddingXSmall","btnPaddingYSmall","fontFamilyCompensationBaseline","sizeSmallIE11","sizeMedium","btnBorderRadiusMedium","btnFontSizeMedium","btnHeightMedium","btnLineHeightMedium","btnPaddingXMedium","btnPaddingYMedium","sizeMediumIE11","sizeLarge","btnBorderRadiusLarge","btnFontSizeLarge","btnHeightLarge","btnLineHeightLarge","btnPaddingXLarge","btnPaddingYLarge","sizeLargeIE11","link","btnLinkBorderRadius","btnLinkColor","btnLinkHoverColor","btnLinkHoverTextDecoration","activeStyles","linkFocus","linkDisabled","btnLinkDisabledColor","focus","btnOutlineColorFocus","btnFocusShadowWidth","btnBorderColorFocus","disabled","btnDisabledBorderColor","btnDisabledBg","btnDisabledTextColor","arrowWarning","arrowError","arrowFocus","arrow","arrowLeft","btnDefaultBg","btnDefaultBgStart","btnDefaultBgEnd","btnDefaultTextColor","btnDefaultBorderColor","btnDefaultBorderBottomColor","btnDefaultHoverBg","btnDefaultHoverBgStart","btnDefaultHoverBgEnd","btnDefaultHoverBorderColor","btnDefaultHoverBorderBottomColor","primary","btnPrimaryBg","btnPrimaryBgStart","btnPrimaryBgEnd","btnPrimaryTextColor","btnPrimaryBorderColor","btnPrimaryBorderBottomColor","btnPrimaryHoverBg","btnPrimaryHoverBgStart","btnPrimaryHoverBgEnd","btnPrimaryHoverBorderColor","btnPrimaryHoverBorderBottomColor","success","btnSuccessBg","btnSuccessBgStart","btnSuccessBgEnd","btnSuccessTextColor","btnSuccessBorderColor","btnSuccessBorderBottomColor","btnSuccessHoverBg","btnSuccessHoverBgStart","btnSuccessHoverBgEnd","btnSuccessHoverBorderColor","btnSuccessHoverBorderBottomColor","danger","btnDangerBg","btnDangerBgStart","btnDangerBgEnd","btnDangerTextColor","btnDangerBorderColor","btnDangerBorderBottomColor","btnDangerHoverBg","btnDangerHoverBgStart","btnDangerHoverBgEnd","btnDangerHoverBorderColor","btnDangerHoverBorderBottomColor","pay","btnPayBg","btnPayBgStart","btnPayBgEnd","btnPayTextColor","btnPayBorderColor","btnPayBorderBottomColor","btnPayHoverBg","btnPayHoverBgStart","btnPayHoverBgEnd","btnPayHoverBorderColor","btnPayHoverBorderBottomColor","checked","checkedStyles","btnCheckedShadow","btnCheckedBg","btnCheckedTextColor","btnDefaultCheckedBorderColor","btnArrowBgImageChecked","checkedDisabled","btnCheckedDisabledShadow","btnCheckedDisabledBg","btnCheckedDisabledColor","btnCheckedDisabledBorderColor","captionLink","captionTranslated","captionDisabled","wrap","narrow","noPadding","noRightPadding","iconNoRightPadding","iconLink","btnLinkIconMarginRight","wrapLink","wrapArrow","wrapArrowLeft","icon","iconSmall","btnIconSizeSmall","btnIconGapSmall","iconMedium","btnIconSizeMedium","btnIconGapMedium","iconLarge","btnIconSizeLarge","btnIconGapLarge","borderless","loading","visibilityHidden","btnDefaultActiveBg","btnDefaultActiveShadow","btnDefaultActiveBorderColor","btnDefaultActiveBorderTopColor","btnArrowBgImageActive","btnPrimaryActiveBg","btnPrimaryActiveShadow","btnPrimaryActiveBorderColor","btnPrimaryActiveBorderTopColor","btnSuccessActiveBg","btnSuccessActiveShadow","btnSuccessActiveBorderColor","btnSuccessActiveBorderTopColor","btnDangerActiveBg","btnDangerActiveShadow","btnDangerActiveBorderColor","btnDangerActiveBorderTopColor","btnPayActiveBg","btnPayActiveShadow","btnPayActiveBorderColor","btnPayActiveBorderTopColor","linkActiveColor"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton, resetText } from '../../lib/styles/Mixins';\nimport { isFirefox } from '../../lib/client';\n\nimport {\n buttonUseMixin,\n buttonHoverMixin,\n buttonActiveMixin,\n buttonSizeMixin,\n arrowOutlineMixin,\n buttonSizeMixinIE11,\n} from './Button.mixins';\n\nexport const globalClasses = prefix('button')({\n arrowHelper: 'arrow-helper',\n arrowHelperTop: 'arrow-helper-top',\n arrowHelperBottom: 'arrow-helper-bottom',\n caption: 'caption',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n ${resetButton()};\n ${resetText()};\n\n background-clip: ${t.btnBackgroundClip};\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n cursor: pointer;\n display: inline-block;\n position: relative;\n text-align: center;\n width: 100%;\n border: ${t.btnBorderWidth} solid transparent;\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n &::after {\n content: '';\n display: inline-block;\n vertical-align: baseline;\n width: 0;\n }\n\n &:active .${globalClasses.caption} {\n transform: translateY(1px);\n }\n `;\n },\n\n outline() {\n return css`\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n `;\n },\n\n outlineWarning(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorWarning},\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n outlineError(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorError}, inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n outlineLink() {\n return css`\n box-shadow: none;\n left: -2px;\n right: -2px;\n bottom: -2px;\n `;\n },\n\n outlineLinkWarning(t: Theme) {\n return css`\n background-color: ${t.btnWarningSecondary};\n `;\n },\n\n outlineLinkError(t: Theme) {\n return css`\n background-color: ${t.btnErrorSecondary};\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusSmall};\n\n ${buttonSizeMixin(\n t.btnFontSizeSmall,\n t.btnHeightSmall,\n t.btnLineHeightSmall,\n t.btnPaddingXSmall,\n t.btnPaddingYSmall,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeSmallIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeSmall,\n t.btnPaddingXSmall,\n t.btnPaddingYSmall,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusMedium};\n\n ${buttonSizeMixin(\n t.btnFontSizeMedium,\n t.btnHeightMedium,\n t.btnLineHeightMedium,\n t.btnPaddingXMedium,\n t.btnPaddingYMedium,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeMediumIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeMedium,\n t.btnPaddingXMedium,\n t.btnPaddingYMedium,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusLarge};\n\n ${buttonSizeMixin(\n t.btnFontSizeLarge,\n t.btnHeightLarge,\n t.btnLineHeightLarge,\n t.btnPaddingXLarge,\n t.btnPaddingYLarge,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeLargeIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeLarge,\n t.btnPaddingXLarge,\n t.btnPaddingYLarge,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n link(t: Theme) {\n return css`\n background: none;\n border-radius: ${t.btnLinkBorderRadius};\n border: none;\n box-shadow: none;\n white-space: nowrap;\n color: ${t.btnLinkColor};\n display: inline;\n line-height: inherit !important; // override size mixin\n margin: 0;\n padding: 0 !important; // override size mixin\n height: auto !important; // override size mixin\n\n &:hover {\n color: ${t.btnLinkHoverColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n }\n &:active {\n ${activeStyles.link(t)}\n }\n `;\n },\n\n linkFocus(t: Theme) {\n return css`\n color: ${t.btnLinkColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n `;\n },\n\n linkDisabled(t: Theme) {\n return css`\n cursor: default;\n pointer-events: none;\n\n &,\n &:hover,\n &:active {\n color: ${t.btnLinkDisabledColor};\n }\n `;\n },\n\n focus(t: Theme) {\n return css`\n position: relative;\n z-index: 2;\n\n &,\n &:hover,\n &:active,\n &:active:hover {\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus};\n border-color: ${t.btnBorderColorFocus};\n }\n `;\n },\n\n disabled(t: Theme) {\n return css`\n cursor: default;\n pointer-events: none;\n border-color: ${t.btnDisabledBorderColor};\n\n background-image: none;\n background-color: ${t.btnDisabledBg};\n color: ${t.btnDisabledTextColor};\n box-shadow: none;\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 0 ${t.btnDisabledBorderColor};\n }\n `;\n },\n\n arrowWarning(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorWarning, t.btnOutlineWidth, t.btnInsetColor)}\n `;\n },\n\n arrowError(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorError, t.btnOutlineWidth, t.btnInsetColor)}\n `;\n },\n\n arrowFocus(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorFocus, t.btnOutlineWidth, t.btnOutlineColorFocus)}\n `;\n },\n\n arrow() {\n return css`\n background: inherit;\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n\n .${globalClasses.arrowHelper} {\n width: 100%;\n height: 50%;\n position: absolute;\n left: 0;\n background: inherit;\n background-size: 200% 200%;\n border-radius: inherit;\n background-clip: padding-box;\n\n // fix ugly arrow edge\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: inherit;\n border-radius: inherit;\n transform: translateX(${isFirefox ? `0.2px` : `0.3px`});\n }\n }\n\n .${globalClasses.arrowHelperTop} {\n top: 0;\n transform: skewX(30deg);\n transform-origin: top;\n background-position-y: top;\n border-bottom-right-radius: 1px;\n\n // fix ugly line in the\n // middle of the button\n &:before {\n bottom: -1px;\n }\n }\n\n .${globalClasses.arrowHelperBottom} {\n bottom: 0;\n transform: skewX(-30deg);\n transform-origin: bottom;\n background-position-y: bottom;\n border-top-right-radius: 1px;\n\n // fix ugly line in the\n // middle of the button\n &:before {\n top: -1px;\n }\n }\n `;\n },\n\n arrowLeft() {\n return css`\n transform: scaleX(-1);\n `;\n },\n\n default(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnDefaultBg,\n t.btnDefaultBgStart,\n t.btnDefaultBgEnd,\n t.btnDefaultTextColor,\n t.btnDefaultBorderColor,\n t.btnDefaultBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnDefaultHoverBg,\n t.btnDefaultHoverBgStart,\n t.btnDefaultHoverBgEnd,\n t.btnDefaultHoverBorderColor,\n t.btnDefaultHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.default(t)}\n }\n `;\n },\n\n primary(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnPrimaryBg,\n t.btnPrimaryBgStart,\n t.btnPrimaryBgEnd,\n t.btnPrimaryTextColor,\n t.btnPrimaryBorderColor,\n t.btnPrimaryBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnPrimaryHoverBg,\n t.btnPrimaryHoverBgStart,\n t.btnPrimaryHoverBgEnd,\n t.btnPrimaryHoverBorderColor,\n t.btnPrimaryHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.primary(t)}\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnSuccessBg,\n t.btnSuccessBgStart,\n t.btnSuccessBgEnd,\n t.btnSuccessTextColor,\n t.btnSuccessBorderColor,\n t.btnSuccessBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnSuccessHoverBg,\n t.btnSuccessHoverBgStart,\n t.btnSuccessHoverBgEnd,\n t.btnSuccessHoverBorderColor,\n t.btnSuccessHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.success(t)}\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnDangerBg,\n t.btnDangerBgStart,\n t.btnDangerBgEnd,\n t.btnDangerTextColor,\n t.btnDangerBorderColor,\n t.btnDangerBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnDangerHoverBg,\n t.btnDangerHoverBgStart,\n t.btnDangerHoverBgEnd,\n t.btnDangerHoverBorderColor,\n t.btnDangerHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.danger(t)}\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnPayBg,\n t.btnPayBgStart,\n t.btnPayBgEnd,\n t.btnPayTextColor,\n t.btnPayBorderColor,\n t.btnPayBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnPayHoverBg,\n t.btnPayHoverBgStart,\n t.btnPayHoverBgEnd,\n t.btnPayHoverBorderColor,\n t.btnPayHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.pay(t)}\n }\n `;\n },\n\n checked(t: Theme) {\n const checkedStyles = `\n background-image: none;\n box-shadow: ${t.btnCheckedShadow};\n background-color: ${t.btnCheckedBg};\n color: ${t.btnCheckedTextColor};\n border-color: ${t.btnDefaultCheckedBorderColor};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 ${t.btnDefaultCheckedBorderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: ${t.btnArrowBgImageChecked};\n }\n }\n `;\n\n return css`\n ${checkedStyles}\n\n &:hover,\n &:active,\n &:hover:active {\n ${checkedStyles}\n }\n `;\n },\n\n checkedDisabled(t: Theme) {\n return css`\n box-shadow: ${t.btnCheckedDisabledShadow};\n background-color: ${t.btnCheckedDisabledBg};\n color: ${t.btnCheckedDisabledColor};\n border-color: ${t.btnCheckedDisabledBorderColor};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 ${t.btnCheckedDisabledBorderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: none;\n }\n }\n `;\n },\n\n caption() {\n return css`\n position: relative;\n white-space: nowrap;\n display: inline-block;\n width: 100%;\n vertical-align: top;\n `;\n },\n\n captionLink() {\n return css`\n display: inline;\n transform: none !important; // override root:active style\n `;\n },\n\n captionTranslated() {\n return css`\n transform: translateY(1px);\n `;\n },\n\n captionDisabled() {\n return css`\n transform: none !important; // override root:active style\n `;\n },\n\n wrap() {\n return css`\n box-sizing: border-box;\n display: inline-block;\n `;\n },\n\n narrow() {\n return css`\n padding-left: 5px;\n padding-right: 5px;\n `;\n },\n\n noPadding() {\n return css`\n padding-left: 0;\n padding-right: 0;\n `;\n },\n\n noRightPadding() {\n return css`\n padding-right: 0;\n `;\n },\n\n iconNoRightPadding() {\n return css`\n padding-right: 0;\n `;\n },\n\n iconLink(t: Theme) {\n return css`\n padding-right: ${t.btnLinkIconMarginRight};\n `;\n },\n\n wrapLink() {\n return css`\n padding: 0;\n `;\n },\n\n wrapArrow() {\n return css`\n margin-right: 10px;\n `;\n },\n\n wrapArrowLeft() {\n return css`\n margin-right: 0;\n margin-left: 10px;\n `;\n },\n\n icon() {\n return css`\n display: inline-block;\n `;\n },\n iconSmall(t: Theme) {\n return css`\n width: ${t.btnIconSizeSmall};\n padding-right: ${t.btnIconGapSmall};\n `;\n },\n iconMedium(t: Theme) {\n return css`\n width: ${t.btnIconSizeMedium};\n padding-right: ${t.btnIconGapMedium};\n `;\n },\n iconLarge(t: Theme) {\n return css`\n width: ${t.btnIconSizeLarge};\n padding-right: ${t.btnIconGapLarge};\n `;\n },\n\n borderless() {\n return css`\n &,\n &:hover,\n &:active {\n border-color: transparent;\n .${globalClasses.arrowHelperTop}, .${globalClasses.arrowHelperBottom} {\n box-shadow: none;\n }\n }\n `;\n },\n\n loading() {\n return css`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n `;\n },\n\n visibilityHidden() {\n return css`\n visibility: hidden;\n `;\n },\n});\n\nexport const activeStyles = memoizeStyle({\n default(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnDefaultActiveBg,\n t.btnDefaultActiveShadow,\n t.btnDefaultActiveBorderColor,\n t.btnDefaultActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n primary(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnPrimaryActiveBg,\n t.btnPrimaryActiveShadow,\n t.btnPrimaryActiveBorderColor,\n t.btnPrimaryActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnSuccessActiveBg,\n t.btnSuccessActiveShadow,\n t.btnSuccessActiveBorderColor,\n t.btnSuccessActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnDangerActiveBg,\n t.btnDangerActiveShadow,\n t.btnDangerActiveBorderColor,\n t.btnDangerActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnPayActiveBg,\n t.btnPayActiveShadow,\n t.btnPayActiveBorderColor,\n t.btnPayActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n link(t: Theme) {\n return css`\n &,\n &:hover {\n color: ${t.linkActiveColor};\n }\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Button.styles.ts"],"names":["css","memoizeStyle","prefix","resetButton","resetText","isFirefox","buttonUseMixin","buttonHoverMixin","buttonActiveMixin","buttonSizeMixin","arrowOutlineMixin","buttonSizeMixinIE11","globalClasses","arrowHelper","arrowHelperTop","arrowHelperBottom","caption","styles","root","t","btnBackgroundClip","btnBorderWidth","outline","outlineWarning","btnOutlineWidth","btnBorderColorWarning","btnInsetWidth","btnInsetColor","outlineError","btnBorderColorError","outlineLink","outlineLinkWarning","btnWarningSecondary","outlineLinkError","btnErrorSecondary","sizeSmall","btnBorderRadiusSmall","btnFontSizeSmall","btnHeightSmall","btnLineHeightSmall","btnPaddingXSmall","btnPaddingYSmall","fontFamilyCompensationBaseline","sizeSmallIE11","sizeMedium","btnBorderRadiusMedium","btnFontSizeMedium","btnHeightMedium","btnLineHeightMedium","btnPaddingXMedium","btnPaddingYMedium","sizeMediumIE11","sizeLarge","btnBorderRadiusLarge","btnFontSizeLarge","btnHeightLarge","btnLineHeightLarge","btnPaddingXLarge","btnPaddingYLarge","sizeLargeIE11","link","btnLinkBorderRadius","btnLinkColor","btnLinkHoverColor","btnLinkHoverTextDecoration","activeStyles","linkFocus","linkDisabled","btnLinkDisabledColor","focus","btnOutlineColorFocus","btnFocusShadowWidth","btnBorderColorFocus","disabled","btnDisabledBorderColor","btnDisabledBg","btnDisabledTextColor","arrowWarning","arrowError","arrowFocus","arrow","arrowLeft","btnDefaultBg","btnDefaultBgStart","btnDefaultBgEnd","btnDefaultTextColor","btnDefaultBorderColor","btnDefaultBorderBottomColor","btnDefaultHoverBg","btnDefaultHoverBgStart","btnDefaultHoverBgEnd","btnDefaultHoverBorderColor","btnDefaultHoverBorderBottomColor","primary","btnPrimaryBg","btnPrimaryBgStart","btnPrimaryBgEnd","btnPrimaryTextColor","btnPrimaryBorderColor","btnPrimaryBorderBottomColor","btnPrimaryHoverBg","btnPrimaryHoverBgStart","btnPrimaryHoverBgEnd","btnPrimaryHoverBorderColor","btnPrimaryHoverBorderBottomColor","success","btnSuccessBg","btnSuccessBgStart","btnSuccessBgEnd","btnSuccessTextColor","btnSuccessBorderColor","btnSuccessBorderBottomColor","btnSuccessHoverBg","btnSuccessHoverBgStart","btnSuccessHoverBgEnd","btnSuccessHoverBorderColor","btnSuccessHoverBorderBottomColor","danger","btnDangerBg","btnDangerBgStart","btnDangerBgEnd","btnDangerTextColor","btnDangerBorderColor","btnDangerBorderBottomColor","btnDangerHoverBg","btnDangerHoverBgStart","btnDangerHoverBgEnd","btnDangerHoverBorderColor","btnDangerHoverBorderBottomColor","pay","btnPayBg","btnPayBgStart","btnPayBgEnd","btnPayTextColor","btnPayBorderColor","btnPayBorderBottomColor","btnPayHoverBg","btnPayHoverBgStart","btnPayHoverBgEnd","btnPayHoverBorderColor","btnPayHoverBorderBottomColor","checked","checkedStyles","btnCheckedShadow","btnCheckedBg","btnCheckedTextColor","btnDefaultCheckedBorderColor","btnArrowBgImageChecked","checkedFocused","checkedDisabled","btnCheckedDisabledShadow","btnCheckedDisabledBg","btnCheckedDisabledColor","btnCheckedDisabledBorderColor","captionLink","captionTranslated","captionDisabled","wrap","narrow","noPadding","noRightPadding","iconNoRightPadding","iconLink","btnLinkIconMarginRight","wrapLink","wrapArrow","wrapArrowLeft","icon","iconSmall","btnIconSizeSmall","btnIconGapSmall","iconMedium","btnIconSizeMedium","btnIconGapMedium","iconLarge","btnIconSizeLarge","btnIconGapLarge","borderless","loading","visibilityHidden","btnDefaultActiveBg","btnDefaultActiveShadow","btnDefaultActiveBorderColor","btnDefaultActiveBorderTopColor","btnArrowBgImageActive","btnPrimaryActiveBg","btnPrimaryActiveShadow","btnPrimaryActiveBorderColor","btnPrimaryActiveBorderTopColor","btnSuccessActiveBg","btnSuccessActiveShadow","btnSuccessActiveBorderColor","btnSuccessActiveBorderTopColor","btnDangerActiveBg","btnDangerActiveShadow","btnDangerActiveBorderColor","btnDangerActiveBorderTopColor","btnPayActiveBg","btnPayActiveShadow","btnPayActiveBorderColor","btnPayActiveBorderTopColor","linkActiveColor"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton, resetText } from '../../lib/styles/Mixins';\nimport { isFirefox } from '../../lib/client';\n\nimport {\n buttonUseMixin,\n buttonHoverMixin,\n buttonActiveMixin,\n buttonSizeMixin,\n arrowOutlineMixin,\n buttonSizeMixinIE11,\n} from './Button.mixins';\n\nexport const globalClasses = prefix('button')({\n arrowHelper: 'arrow-helper',\n arrowHelperTop: 'arrow-helper-top',\n arrowHelperBottom: 'arrow-helper-bottom',\n caption: 'caption',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n ${resetButton()};\n ${resetText()};\n\n background-clip: ${t.btnBackgroundClip};\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n cursor: pointer;\n display: inline-block;\n position: relative;\n text-align: center;\n width: 100%;\n border: ${t.btnBorderWidth} solid transparent;\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n &::after {\n content: '';\n display: inline-block;\n vertical-align: baseline;\n width: 0;\n }\n\n &:active .${globalClasses.caption} {\n transform: translateY(1px);\n }\n `;\n },\n\n outline() {\n return css`\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n `;\n },\n\n outlineWarning(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorWarning},\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n outlineError(t: Theme) {\n return css`\n box-shadow: 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorError}, inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n outlineLink() {\n return css`\n box-shadow: none;\n left: -2px;\n right: -2px;\n bottom: -2px;\n `;\n },\n\n outlineLinkWarning(t: Theme) {\n return css`\n background-color: ${t.btnWarningSecondary};\n `;\n },\n\n outlineLinkError(t: Theme) {\n return css`\n background-color: ${t.btnErrorSecondary};\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusSmall};\n\n ${buttonSizeMixin(\n t.btnFontSizeSmall,\n t.btnHeightSmall,\n t.btnLineHeightSmall,\n t.btnPaddingXSmall,\n t.btnPaddingYSmall,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeSmallIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeSmall,\n t.btnPaddingXSmall,\n t.btnPaddingYSmall,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusMedium};\n\n ${buttonSizeMixin(\n t.btnFontSizeMedium,\n t.btnHeightMedium,\n t.btnLineHeightMedium,\n t.btnPaddingXMedium,\n t.btnPaddingYMedium,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeMediumIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeMedium,\n t.btnPaddingXMedium,\n t.btnPaddingYMedium,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n border-radius: ${t.btnBorderRadiusLarge};\n\n ${buttonSizeMixin(\n t.btnFontSizeLarge,\n t.btnHeightLarge,\n t.btnLineHeightLarge,\n t.btnPaddingXLarge,\n t.btnPaddingYLarge,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n sizeLargeIE11(t: Theme) {\n return css`\n ${buttonSizeMixinIE11(\n t.btnFontSizeLarge,\n t.btnPaddingXLarge,\n t.btnPaddingYLarge,\n t.fontFamilyCompensationBaseline,\n )};\n `;\n },\n\n link(t: Theme) {\n return css`\n background: none;\n border-radius: ${t.btnLinkBorderRadius};\n border: none;\n box-shadow: none;\n white-space: nowrap;\n color: ${t.btnLinkColor};\n display: inline;\n line-height: inherit !important; // override size mixin\n margin: 0;\n padding: 0 !important; // override size mixin\n height: auto !important; // override size mixin\n\n &:hover {\n color: ${t.btnLinkHoverColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n }\n &:active {\n ${activeStyles.link(t)}\n }\n `;\n },\n\n linkFocus(t: Theme) {\n return css`\n color: ${t.btnLinkColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n `;\n },\n\n linkDisabled(t: Theme) {\n return css`\n cursor: default;\n pointer-events: none;\n\n &,\n &:hover,\n &:active {\n color: ${t.btnLinkDisabledColor};\n }\n `;\n },\n\n focus(t: Theme) {\n return css`\n position: relative;\n z-index: 2;\n\n &,\n &:hover,\n &:active,\n &:active:hover {\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus};\n border-color: ${t.btnBorderColorFocus};\n }\n `;\n },\n\n disabled(t: Theme) {\n return css`\n cursor: default;\n pointer-events: none;\n border-color: ${t.btnDisabledBorderColor};\n\n background-image: none;\n background-color: ${t.btnDisabledBg};\n color: ${t.btnDisabledTextColor};\n box-shadow: none;\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 0 ${t.btnDisabledBorderColor};\n }\n `;\n },\n\n arrowWarning(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorWarning, t.btnOutlineWidth, t.btnInsetColor)}\n `;\n },\n\n arrowError(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorError, t.btnOutlineWidth, t.btnInsetColor)}\n `;\n },\n\n arrowFocus(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus};\n\n ${arrowOutlineMixin(t.btnInsetWidth, t.btnBorderColorFocus, t.btnOutlineWidth, t.btnOutlineColorFocus)}\n `;\n },\n\n arrow() {\n return css`\n background: inherit;\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n\n .${globalClasses.arrowHelper} {\n width: 100%;\n height: 50%;\n position: absolute;\n left: 0;\n background: inherit;\n background-size: 200% 200%;\n border-radius: inherit;\n background-clip: padding-box;\n\n // fix ugly arrow edge\n &:before {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: inherit;\n border-radius: inherit;\n transform: translateX(${isFirefox ? `0.2px` : `0.3px`});\n }\n }\n\n .${globalClasses.arrowHelperTop} {\n top: 0;\n transform: skewX(30deg);\n transform-origin: top;\n background-position-y: top;\n border-bottom-right-radius: 1px;\n\n // fix ugly line in the\n // middle of the button\n &:before {\n bottom: -1px;\n }\n }\n\n .${globalClasses.arrowHelperBottom} {\n bottom: 0;\n transform: skewX(-30deg);\n transform-origin: bottom;\n background-position-y: bottom;\n border-top-right-radius: 1px;\n\n // fix ugly line in the\n // middle of the button\n &:before {\n top: -1px;\n }\n }\n `;\n },\n\n arrowLeft() {\n return css`\n transform: scaleX(-1);\n `;\n },\n\n default(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnDefaultBg,\n t.btnDefaultBgStart,\n t.btnDefaultBgEnd,\n t.btnDefaultTextColor,\n t.btnDefaultBorderColor,\n t.btnDefaultBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnDefaultHoverBg,\n t.btnDefaultHoverBgStart,\n t.btnDefaultHoverBgEnd,\n t.btnDefaultHoverBorderColor,\n t.btnDefaultHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.default(t)}\n }\n `;\n },\n\n primary(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnPrimaryBg,\n t.btnPrimaryBgStart,\n t.btnPrimaryBgEnd,\n t.btnPrimaryTextColor,\n t.btnPrimaryBorderColor,\n t.btnPrimaryBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnPrimaryHoverBg,\n t.btnPrimaryHoverBgStart,\n t.btnPrimaryHoverBgEnd,\n t.btnPrimaryHoverBorderColor,\n t.btnPrimaryHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.primary(t)}\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnSuccessBg,\n t.btnSuccessBgStart,\n t.btnSuccessBgEnd,\n t.btnSuccessTextColor,\n t.btnSuccessBorderColor,\n t.btnSuccessBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnSuccessHoverBg,\n t.btnSuccessHoverBgStart,\n t.btnSuccessHoverBgEnd,\n t.btnSuccessHoverBorderColor,\n t.btnSuccessHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.success(t)}\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnDangerBg,\n t.btnDangerBgStart,\n t.btnDangerBgEnd,\n t.btnDangerTextColor,\n t.btnDangerBorderColor,\n t.btnDangerBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnDangerHoverBg,\n t.btnDangerHoverBgStart,\n t.btnDangerHoverBgEnd,\n t.btnDangerHoverBorderColor,\n t.btnDangerHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.danger(t)}\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n ${buttonUseMixin(\n t.btnPayBg,\n t.btnPayBgStart,\n t.btnPayBgEnd,\n t.btnPayTextColor,\n t.btnPayBorderColor,\n t.btnPayBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n ${buttonHoverMixin(\n t.btnPayHoverBg,\n t.btnPayHoverBgStart,\n t.btnPayHoverBgEnd,\n t.btnPayHoverBorderColor,\n t.btnPayHoverBorderBottomColor,\n t.btnBorderWidth,\n )};\n\n &:active {\n ${activeStyles.pay(t)}\n }\n `;\n },\n\n checked(t: Theme) {\n const checkedStyles = `\n background-image: none;\n box-shadow: ${t.btnCheckedShadow};\n background-color: ${t.btnCheckedBg};\n color: ${t.btnCheckedTextColor};\n border-color: ${t.btnDefaultCheckedBorderColor};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 ${t.btnDefaultCheckedBorderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: ${t.btnArrowBgImageChecked};\n }\n }\n `;\n\n return css`\n ${checkedStyles}\n\n &:hover,\n &:active,\n &:hover:active {\n ${checkedStyles}\n }\n `;\n },\n\n checkedFocused(t: Theme) {\n return css`\n &:hover {\n box-shadow: inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus};\n border-color: ${t.btnBorderColorFocus};\n }\n `;\n },\n\n checkedDisabled(t: Theme) {\n return css`\n box-shadow: ${t.btnCheckedDisabledShadow};\n background-color: ${t.btnCheckedDisabledBg};\n color: ${t.btnCheckedDisabledColor};\n border-color: ${t.btnCheckedDisabledBorderColor};\n\n .${globalClasses.arrowHelper} {\n box-shadow: ${t.btnBorderWidth} 0 0 ${t.btnCheckedDisabledBorderColor};\n\n &.${globalClasses.arrowHelperTop} {\n background-image: none;\n }\n }\n `;\n },\n\n caption() {\n return css`\n position: relative;\n white-space: nowrap;\n display: inline-block;\n width: 100%;\n vertical-align: top;\n `;\n },\n\n captionLink() {\n return css`\n display: inline;\n transform: none !important; // override root:active style\n `;\n },\n\n captionTranslated() {\n return css`\n transform: translateY(1px);\n `;\n },\n\n captionDisabled() {\n return css`\n transform: none !important; // override root:active style\n `;\n },\n\n wrap() {\n return css`\n box-sizing: border-box;\n display: inline-block;\n `;\n },\n\n narrow() {\n return css`\n padding-left: 5px;\n padding-right: 5px;\n `;\n },\n\n noPadding() {\n return css`\n padding-left: 0;\n padding-right: 0;\n `;\n },\n\n noRightPadding() {\n return css`\n padding-right: 0;\n `;\n },\n\n iconNoRightPadding() {\n return css`\n padding-right: 0;\n `;\n },\n\n iconLink(t: Theme) {\n return css`\n padding-right: ${t.btnLinkIconMarginRight};\n `;\n },\n\n wrapLink() {\n return css`\n padding: 0;\n `;\n },\n\n wrapArrow() {\n return css`\n margin-right: 10px;\n `;\n },\n\n wrapArrowLeft() {\n return css`\n margin-right: 0;\n margin-left: 10px;\n `;\n },\n\n icon() {\n return css`\n display: inline-block;\n `;\n },\n iconSmall(t: Theme) {\n return css`\n width: ${t.btnIconSizeSmall};\n padding-right: ${t.btnIconGapSmall};\n `;\n },\n iconMedium(t: Theme) {\n return css`\n width: ${t.btnIconSizeMedium};\n padding-right: ${t.btnIconGapMedium};\n `;\n },\n iconLarge(t: Theme) {\n return css`\n width: ${t.btnIconSizeLarge};\n padding-right: ${t.btnIconGapLarge};\n `;\n },\n\n borderless() {\n return css`\n &,\n &:hover,\n &:active {\n border-color: transparent;\n .${globalClasses.arrowHelperTop}, .${globalClasses.arrowHelperBottom} {\n box-shadow: none;\n }\n }\n `;\n },\n\n loading() {\n return css`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n border-radius: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n `;\n },\n\n visibilityHidden() {\n return css`\n visibility: hidden;\n `;\n },\n});\n\nexport const activeStyles = memoizeStyle({\n default(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnDefaultActiveBg,\n t.btnDefaultActiveShadow,\n t.btnDefaultActiveBorderColor,\n t.btnDefaultActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n primary(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnPrimaryActiveBg,\n t.btnPrimaryActiveShadow,\n t.btnPrimaryActiveBorderColor,\n t.btnPrimaryActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnSuccessActiveBg,\n t.btnSuccessActiveShadow,\n t.btnSuccessActiveBorderColor,\n t.btnSuccessActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnDangerActiveBg,\n t.btnDangerActiveShadow,\n t.btnDangerActiveBorderColor,\n t.btnDangerActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n &,\n &:hover {\n ${buttonActiveMixin(\n t.btnPayActiveBg,\n t.btnPayActiveShadow,\n t.btnPayActiveBorderColor,\n t.btnPayActiveBorderTopColor,\n t.btnBorderWidth,\n t.btnArrowBgImageActive,\n )};\n }\n `;\n },\n\n link(t: Theme) {\n return css`\n &,\n &:hover {\n color: ${t.linkActiveColor};\n }\n `;\n },\n});\n"]}
@@ -35,6 +35,7 @@ export declare const styles: {
35
35
  danger(t: Theme): string;
36
36
  pay(t: Theme): string;
37
37
  checked(t: Theme): string;
38
+ checkedFocused(t: Theme): string;
38
39
  checkedDisabled(t: Theme): string;
39
40
  caption(): string;
40
41
  captionLink(): string;
@@ -1 +1 @@
1
- {"version":3,"sources":["DropdownMenu.tsx"],"names":["React","ThemeContext","ThemeFactory","PopupMenu","isProductionEnv","isTestEnv","CommonWrapper","rootNode","DropdownMenu","props","popupMenu","setRootNode","open","close","refPopupMenu","ref","handleChangeMenuState","menuVisible","onOpen","onClose","caption","Error","render","theme","create","popupMargin","renderMain","menuMaxHeight","menuWidth","positions","disableAnimations","header","footer","width","children","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { PopupPosition } from '../../internal/Popup';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport interface DropdownMenuProps extends CommonProps {\n /** Максимальная высота меню */\n menuMaxHeight?: React.CSSProperties['maxWidth'];\n /** Ширина меню */\n menuWidth?: React.CSSProperties['width'];\n /** Ширина caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [`MenuHeader`](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [`MenuSeparator`](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /**\n * Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPosition[];\n\n onOpen?: () => void;\n onClose?: () => void;\n\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n}\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент\n */\n@rootNode\nexport class DropdownMenu extends React.Component<DropdownMenuProps> {\n public static __KONTUR_REACT_UI__ = 'DropdownMenu';\n\n public static defaultProps = {\n disableAnimations: isTestEnv,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n };\n\n private popupMenu: Nullable<PopupMenu> = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: DropdownMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: '0px',\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n ref={this.refPopupMenu}\n caption={this.props.caption}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n onChangeMenuState={this.handleChangeMenuState}\n popupHasPin={false}\n positions={this.props.positions}\n disableAnimations={this.props.disableAnimations}\n header={this.props.header}\n footer={this.props.footer}\n width={this.props.width}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n public open = (): void => {\n if (this.popupMenu) {\n this.popupMenu.open();\n }\n };\n\n public close = (): void => {\n if (this.popupMenu) {\n this.popupMenu.close();\n }\n };\n\n private refPopupMenu = (ref: Nullable<PopupMenu>) => (this.popupMenu = ref);\n\n private handleChangeMenuState = (menuVisible: boolean) => {\n if (menuVisible && this.props.onOpen) {\n this.props.onOpen();\n return;\n }\n\n if (!menuVisible && this.props.onClose) {\n this.props.onClose();\n return;\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["DropdownMenu.tsx"],"names":["React","ThemeContext","ThemeFactory","PopupMenu","isProductionEnv","isTestEnv","CommonWrapper","rootNode","DropdownMenu","props","popupMenu","setRootNode","open","close","refPopupMenu","ref","handleChangeMenuState","menuVisible","onOpen","onClose","caption","Error","render","theme","create","popupMargin","renderMain","menuMaxHeight","menuWidth","positions","disableAnimations","header","footer","width","children","Component","__KONTUR_REACT_UI__","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nexport interface DropdownMenuProps extends CommonProps {\n /** Максимальная высота меню */\n menuMaxHeight?: React.CSSProperties['maxWidth'];\n /** Ширина меню */\n menuWidth?: React.CSSProperties['width'];\n /** Ширина caption */\n width?: React.CSSProperties['width'];\n\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [`MenuHeader`](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [`MenuSeparator`](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /**\n * Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions?: PopupPositionsType[];\n\n onOpen?: () => void;\n onClose?: () => void;\n\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n}\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент\n */\n@rootNode\nexport class DropdownMenu extends React.Component<DropdownMenuProps> {\n public static __KONTUR_REACT_UI__ = 'DropdownMenu';\n\n public static defaultProps = {\n disableAnimations: isTestEnv,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n };\n\n private popupMenu: Nullable<PopupMenu> = null;\n private setRootNode!: TSetRootNode;\n\n constructor(props: DropdownMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: '0px',\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n ref={this.refPopupMenu}\n caption={this.props.caption}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n onChangeMenuState={this.handleChangeMenuState}\n popupHasPin={false}\n positions={this.props.positions}\n disableAnimations={this.props.disableAnimations}\n header={this.props.header}\n footer={this.props.footer}\n width={this.props.width}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n public open = (): void => {\n if (this.popupMenu) {\n this.popupMenu.open();\n }\n };\n\n public close = (): void => {\n if (this.popupMenu) {\n this.popupMenu.close();\n }\n };\n\n private refPopupMenu = (ref: Nullable<PopupMenu>) => (this.popupMenu = ref);\n\n private handleChangeMenuState = (menuVisible: boolean) => {\n if (menuVisible && this.props.onOpen) {\n this.props.onOpen();\n return;\n }\n\n if (!menuVisible && this.props.onClose) {\n this.props.onClose();\n return;\n }\n };\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { PopupMenuProps } from '../../internal/PopupMenu';
3
- import { PopupPosition } from '../../internal/Popup';
3
+ import { PopupPositionsType } from '../../internal/Popup';
4
4
  import { CommonProps } from '../../internal/CommonWrapper';
5
5
  export interface DropdownMenuProps extends CommonProps {
6
6
  /** Максимальная высота меню */
@@ -36,7 +36,7 @@ export interface DropdownMenuProps extends CommonProps {
36
36
  * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`
37
37
  * @default ['bottom left', 'bottom right', 'top left', 'top right']
38
38
  */
39
- positions?: PopupPosition[];
39
+ positions?: PopupPositionsType[];
40
40
  onOpen?: () => void;
41
41
  onClose?: () => void;
42
42
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["Hint.tsx"],"names":["React","ThemeContext","ThemeFactory","Popup","isTestEnv","CommonWrapper","cx","rootNode","styles","HINT_BORDER_COLOR","Positions","Hint","state","opened","props","manual","timer","theme","setRootNode","getPositions","filter","x","startsWith","pos","handleMouseEnter","e","window","setTimeout","open","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","componentDidUpdate","prevProps","componentWillUnmount","render","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","children","hintBgColor","disableAnimations","useWrapper","renderContent","text","maxWidth","className","content","contentCenter","PureComponent","__KONTUR_REACT_UI__","defaultProps"],"mappings":"2JAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,KAAT,QAAqC,sBAArC;;;AAGA,SAASC,SAAT,QAA0B,8BAA1B;AACA,SAASC,aAAT,QAA2C,8BAA3C;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,QAAT,QAAuC,oBAAvC;;AAEA,SAASC,MAAT,QAAuB,eAAvB;;AAEA,IAAMC,iBAAiB,GAAG,aAA1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEA,IAAMC,SAA0B,GAAG;AACjC,YADiC;AAEjC,UAFiC;AAGjC,WAHiC;AAIjC,eAJiC;AAKjC,aALiC;AAMjC,cANiC;AAOjC,aAPiC;AAQjC,UARiC;AASjC,aATiC;AAUjC,cAViC;AAWjC,WAXiC;AAYjC,cAZiC,CAAnC;;;AAeA;AACA;AACA;;AAEA,WAAaC,IAAb,GADCJ,QACD;;;;;;;;;;;;AAYSK,IAAAA,KAZT,GAY4B;AACxBC,MAAAA,MAAM,EAAE,MAAKC,KAAL,CAAWC,MAAX,GAAoB,CAAC,CAAC,MAAKD,KAAL,CAAWD,MAAjC,GAA0C,KAD1B,EAZ5B;;;AAgBUG,IAAAA,KAhBV,GAgBoC,IAhBpC;AAiBUC,IAAAA,KAjBV;AAkBUC,IAAAA,WAlBV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuGUC,IAAAA,YAvGV,GAuGyB,YAAuB;AAC5C,aAAOT,SAAS,CAACU,MAAV,CAAiB,UAACC,CAAD,UAAOA,CAAC,CAACC,UAAF,CAAa,MAAKR,KAAL,CAAWS,GAAxB,CAAP,EAAjB,CAAP;AACD,KAzGH;;AA2GUC,IAAAA,gBA3GV,GA2G6B,UAACC,CAAD,EAAuB;AAChD,UAAI,CAAC,MAAKX,KAAL,CAAWC,MAAZ,IAAsB,CAAC,MAAKC,KAAhC,EAAuC;AACrC,cAAKA,KAAL,GAAaU,MAAM,CAACC,UAAP,CAAkB,MAAKC,IAAvB,EAA6B,GAA7B,CAAb;AACD;;AAED,UAAI,MAAKd,KAAL,CAAWe,YAAf,EAA6B;AAC3B,cAAKf,KAAL,CAAWe,YAAX,CAAwBJ,CAAxB;AACD;AACF,KAnHH;;AAqHUK,IAAAA,gBArHV,GAqH6B,UAACL,CAAD,EAAuB;AAChD,UAAI,CAAC,MAAKX,KAAL,CAAWC,MAAZ,IAAsB,MAAKC,KAA/B,EAAsC;AACpCe,QAAAA,YAAY,CAAC,MAAKf,KAAN,CAAZ;AACA,cAAKA,KAAL,GAAa,IAAb;AACA,cAAKgB,QAAL,CAAc,EAAEnB,MAAM,EAAE,KAAV,EAAd;AACD;;AAED,UAAI,MAAKC,KAAL,CAAWmB,YAAf,EAA6B;AAC3B,cAAKnB,KAAL,CAAWmB,YAAX,CAAwBR,CAAxB;AACD;AACF,KA/HH;;AAiIUG,IAAAA,IAjIV,GAiIiB,YAAM;AACnB,YAAKI,QAAL,CAAc,EAAEnB,MAAM,EAAE,IAAV,EAAd;AACD,KAnIH,kDAoBSqB,kBApBT,GAoBE,4BAA0BC,SAA1B,EAAgD,CAC9C,IAAI,CAAC,KAAKrB,KAAL,CAAWC,MAAhB,EAAwB,CACtB,OACD,CACD,IAAI,KAAKC,KAAT,EAAgB,CACde,YAAY,CAAC,KAAKf,KAAN,CAAZ,CACA,KAAKA,KAAL,GAAa,IAAb,CACD,CACD,IAAI,KAAKF,KAAL,CAAWD,MAAX,KAAsBsB,SAAS,CAACtB,MAApC,EAA4C,CAC1C,KAAKmB,QAAL,CAAc,EAAEnB,MAAM,EAAE,CAAC,CAAC,KAAKC,KAAL,CAAWD,MAAvB,EAAd,EACD,CACF,CA/BH,QAiCSuB,oBAjCT,GAiCE,gCAA8B,CAC5B,IAAI,KAAKpB,KAAT,EAAgB,CACde,YAAY,CAAC,KAAKf,KAAN,CAAZ,CACA,KAAKA,KAAL,GAAa,IAAb,CACD,CACF,CAtCH,QAwCSqB,MAxCT,GAwCE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACpB,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,oBAAC,YAAD,CAAc,QAAd,IACE,KAAK,EAAEf,YAAY,CAACoC,MAAb,CACL,EACEC,cAAc,EAAEtB,KAAK,CAACuB,aADxB,EAEEC,WAAW,EAAExB,KAAK,CAACyB,UAFrB,EAGEC,WAAW,EAAE1B,KAAK,CAAC2B,UAHrB,EAIEC,iBAAiB,EAAE5B,KAAK,CAAC6B,gBAJ3B,EADK,EAOL,MAAI,CAAC7B,KAPA,CADT,IAWG,MAAI,CAAC8B,UAAL,EAXH,CADF,CAeD,CAlBH,CADF,CAsBD,CA/DH,QAiESA,UAjET,GAiEE,sBAAoB,CAClB,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAK7B,WAAjC,IAAkD,KAAKJ,KAAvD,gBACE,oBAAC,KAAD,IACE,MAAM,MADR,EAEE,MAAM,EAAE,KAAKF,KAAL,CAAWC,MAFrB,EAGE,aAAa,EAAE,KAAKC,KAAL,CAAWkC,QAH5B,EAIE,SAAS,EAAE,KAAK7B,YAAL,EAJb,EAKE,eAAe,EAAE,KAAKF,KAAL,CAAWgC,WAL9B,EAME,WAAW,EAAExC,iBANf,EAOE,iBAAiB,EAAE,KAAKK,KAAL,CAAWoC,iBAPhC,EAQE,YAAY,EAAE,KAAK1B,gBARrB,EASE,YAAY,EAAE,KAAKM,gBATrB,EAUE,UAAU,EAAE,KAAKhB,KAAL,CAAWqC,UAVzB,IAYG,KAAKC,aAAL,EAZH,CADF,CADF,CAkBD,CApFH,QAsFUA,aAtFV,GAsFE,yBAAwB,SACtB,IAAI,CAAC,KAAKtC,KAAL,CAAWuC,IAAhB,EAAsB,CACpB,OAAO,IAAP,CACD,CAHqB,kBAKI,KAAKvC,KALT,CAKdS,GALc,eAKdA,GALc,CAKT+B,QALS,eAKTA,QALS,CAMtB,IAAMC,SAAS,GAAGjD,EAAE,gBACjBE,MAAM,CAACgD,OAAP,CAAe,KAAKvC,KAApB,CADiB,IACY,IADZ,MAEjBT,MAAM,CAACiD,aAAP,CAAqB,KAAKxC,KAA1B,CAFiB,IAEkBM,GAAG,KAAK,KAAR,IAAiBA,GAAG,KAAK,QAF3C,OAApB,CAIA,oBACE,6BAAK,SAAS,EAAEgC,SAAhB,EAA2B,KAAK,EAAE,EAAED,QAAQ,EAARA,QAAF,EAAlC,IACG,KAAKxC,KAAL,CAAWuC,IADd,CADF,CAKD,CArGH,eAA0BrD,KAAK,CAAC0D,aAAhC,WACgBC,mBADhB,GACsC,MADtC,UAGgBC,YAHhB,GAG+B,EAC3BrC,GAAG,EAAE,KADsB,EAE3BR,MAAM,EAAE,KAFmB,EAG3BF,MAAM,EAAE,KAHmB,EAI3ByC,QAAQ,EAAE,GAJiB,EAK3BJ,iBAAiB,EAAE9C,SALQ,EAM3B+C,UAAU,EAAE,KANe,EAH/B","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Popup, PopupPosition } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подcказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n */\n pos:\n | 'top'\n | 'right'\n | 'bottom'\n | 'left'\n | 'top left'\n | 'top center'\n | 'top right'\n | 'bottom left'\n | 'bottom center'\n | 'bottom right'\n | 'left top'\n | 'left middle'\n | 'left bottom'\n | 'right top'\n | 'right middle'\n | 'right bottom';\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Отключает анимацию.\n */\n disableAnimations: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n}\n\nconst Positions: PopupPosition[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> {\n public static __KONTUR_REACT_UI__ = 'Hint';\n\n public static defaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n public state: HintState = {\n opened: this.props.manual ? !!this.props.opened : false,\n };\n\n private timer: Nullable<number> = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: HintProps) {\n if (!this.props.manual) {\n return;\n }\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n if (this.props.opened !== prevProps.opened) {\n this.setState({ opened: !!this.props.opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n disableAnimations={this.props.disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={this.props.useWrapper}\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { pos, maxWidth } = this.props;\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: pos === 'top' || pos === 'bottom',\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPosition[] => {\n return Positions.filter((x) => x.startsWith(this.props.pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.props.manual && !this.timer) {\n this.timer = window.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.props.manual && this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
1
+ {"version":3,"sources":["Hint.tsx"],"names":["React","ThemeContext","ThemeFactory","Popup","isTestEnv","CommonWrapper","cx","rootNode","styles","HINT_BORDER_COLOR","Positions","Hint","state","opened","props","manual","timer","theme","setRootNode","getPositions","filter","x","startsWith","pos","handleMouseEnter","e","window","setTimeout","open","onMouseEnter","handleMouseLeave","clearTimeout","setState","onMouseLeave","componentDidUpdate","prevProps","componentWillUnmount","render","create","popupPinOffset","hintPinOffset","popupMargin","hintMargin","popupBorder","hintBorder","popupBorderRadius","hintBorderRadius","renderMain","children","hintBgColor","disableAnimations","useWrapper","renderContent","text","maxWidth","className","content","contentCenter","PureComponent","__KONTUR_REACT_UI__","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Theme } from '../../lib/theming/Theme';\nimport { Popup, PopupPositionsType } from '../../internal/Popup';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Hint.styles';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n children?: React.ReactNode;\n /**\n * Переводит отображение подсказки в _\"ручной режим\"_.\n *\n * В _\"ручном режиме\"_ подcказку можно активировать только задав значение пропу `opened`.\n */\n manual?: boolean;\n /**\n * Задаёт максимальную ширину подсказки.\n */\n maxWidth?: React.CSSProperties['maxWidth'];\n /**\n * HTML-событие `mouseenter`.\n */\n onMouseEnter?: (event: MouseEventType) => void;\n /**\n * HTML-событие `mouseleave`.\n */\n onMouseLeave?: (event: MouseEventType) => void;\n /**\n * Если `true` - подсказка будет открыта.\n *\n * _Примечание_: работает только при `manual=true`.\n */\n opened?: boolean;\n /**\n * Расположение подсказки относительно текста.\n *\n * **Допустимые значения**: `\"top\"`, `\"right\"`, `\"bottom\"`, `\"left\"`, `\"top left\"`, `\"top center\"`, `\"top right\"`, `\"right top\"`, `\"right middle\"`, `\"right bottom\"`, `\"bottom left\"`, `\"bottom center\"`, `\"bottom right\"`, `\"left top\"`, `\"left middle\"`, `\"left bottom\"`.\n */\n pos: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;\n /**\n * Текст подсказки.\n */\n text: React.ReactNode;\n /**\n * Отключает анимацию.\n */\n disableAnimations: boolean;\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'top center',\n 'top left',\n 'top right',\n 'bottom center',\n 'bottom left',\n 'bottom right',\n 'left middle',\n 'left top',\n 'left bottom',\n 'right middle',\n 'right top',\n 'right bottom',\n];\n\n/**\n * Всплывающая подсказка, которая по умолчанию отображается при наведении на элемент. <br/> Можно задать другие условия отображения.\n */\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> {\n public static __KONTUR_REACT_UI__ = 'Hint';\n\n public static defaultProps = {\n pos: 'top',\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n public state: HintState = {\n opened: this.props.manual ? !!this.props.opened : false,\n };\n\n private timer: Nullable<number> = null;\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: HintProps) {\n if (!this.props.manual) {\n return;\n }\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n if (this.props.opened !== prevProps.opened) {\n this.setState({ opened: !!this.props.opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.hintPinOffset,\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n disableAnimations={this.props.disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={this.props.useWrapper}\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { pos, maxWidth } = this.props;\n const className = cx({\n [styles.content(this.theme)]: true,\n [styles.contentCenter(this.theme)]: pos === 'top' || pos === 'bottom',\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPositionsType[] => {\n return Positions.filter((x) => x.startsWith(this.props.pos));\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.props.manual && !this.timer) {\n this.timer = window.setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.props.manual && this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { PopupPositionsType } from '../../internal/Popup';
2
3
  import { MouseEventType } from '../../typings/event-types';
3
4
  import { CommonProps } from '../../internal/CommonWrapper';
4
5
  export interface HintProps extends CommonProps {
@@ -32,7 +33,7 @@ export interface HintProps extends CommonProps {
32
33
  *
33
34
  * **Допустимые значения**: `"top"`, `"right"`, `"bottom"`, `"left"`, `"top left"`, `"top center"`, `"top right"`, `"right top"`, `"right middle"`, `"right bottom"`, `"bottom left"`, `"bottom center"`, `"bottom right"`, `"left top"`, `"left middle"`, `"left bottom"`.
34
35
  */
35
- pos: 'top' | 'right' | 'bottom' | 'left' | 'top left' | 'top center' | 'top right' | 'bottom left' | 'bottom center' | 'bottom right' | 'left top' | 'left middle' | 'left bottom' | 'right top' | 'right middle' | 'right bottom';
36
+ pos: 'top' | 'right' | 'bottom' | 'left' | PopupPositionsType;
36
37
  /**
37
38
  * Текст подсказки.
38
39
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["Kebab.tsx"],"names":["React","PropTypes","isKeyArrowVertical","isKeyEnter","isKeySpace","someKeys","LayoutEvents","keyListener","PopupMenu","ThemeContext","MenuKebabIcon","isTestEnv","ThemeFactory","CommonWrapper","cx","rootNode","styles","Kebab","state","opened","focusedByTab","anchor","theme","setRootNode","listener","remove","undefined","renderCaption","captionProps","disabled","props","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","handleFocus","handleBlur","kebab","focused","renderIcon","e","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","onOpen","onClose","requestAnimationFrame","isTabPressed","componentDidMount","addListener","componentWillUnmount","render","create","popupPinOffset","kebabPinOffset","popupMargin","kebabMargin","popupPinSize","kebabPinSize","renderMain","positions","disableAnimations","menuMaxHeight","children","icon","iconsmall","size","iconmedium","iconlarge","Component","__KONTUR_REACT_UI__","propTypes","defaultProps","node","bool","oneOfType","string","number","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPosition } from '../../internal/Popup';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MenuKebabIcon } from '../../internal/icons/16px';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Kebab.styles';\n\nexport interface KebabProps extends CommonProps {\n disabled?: boolean;\n /**\n * Функция вызываемая при закрытии выпадашки\n * @default () => undefined\n */\n onClose: () => void;\n /**\n * Функция вызываемая при открытии выпадашки\n * @default () => undefined\n */\n onOpen: () => void;\n size: 'small' | 'medium' | 'large';\n /**\n * Список позиций доступных для расположения выпадашки.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions: PopupPosition[];\n menuMaxHeight?: number | string;\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n /**\n * Кастомная иконка\n */\n icon?: React.ReactNode;\n}\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n opened: boolean;\n}\n\n@rootNode\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n icon: <MenuKebabIcon />,\n };\n\n public state = {\n opened: false,\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.kebabPinOffset,\n popupMargin: theme.kebabMargin,\n popupPinSize: theme.kebabPinSize,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled, positions } = this.props;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n popupHasPin\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={this.props.disableAnimations}\n menuMaxHeight={this.props.menuMaxHeight}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled } = this.props;\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n\n return (\n <span\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx({\n [styles.kebab(this.theme)]: true,\n [styles.opened(this.theme)]: captionProps.opened,\n [styles.disabled()]: disabled,\n [styles.focused(this.theme)]: this.state.focusedByTab,\n })}\n >\n {this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState(\n {\n opened: isOpened,\n focusedByTab: !isOpened && restoreFocus,\n },\n () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n this.props.onOpen();\n } else {\n this.props.onClose();\n }\n },\n );\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n return (\n <div\n className={cx({\n [styles.icon()]: true,\n [styles.iconsmall()]: this.props.size === 'small',\n [styles.iconmedium()]: this.props.size === 'medium',\n [styles.iconlarge()]: this.props.size === 'large',\n })}\n >\n {this.props.icon}\n </div>\n );\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"]}
1
+ {"version":3,"sources":["Kebab.tsx"],"names":["React","PropTypes","isKeyArrowVertical","isKeyEnter","isKeySpace","someKeys","LayoutEvents","keyListener","PopupMenu","ThemeContext","MenuKebabIcon","isTestEnv","ThemeFactory","CommonWrapper","cx","rootNode","styles","Kebab","state","opened","focusedByTab","anchor","theme","setRootNode","listener","remove","undefined","renderCaption","captionProps","disabled","props","handleCaptionKeyDown","event","openMenu","handleCaptionClick","toggleMenu","handleFocus","handleBlur","kebab","focused","renderIcon","e","preventDefault","handleChangeMenuState","isOpened","restoreFocus","setState","onOpen","onClose","requestAnimationFrame","isTabPressed","componentDidMount","addListener","componentWillUnmount","render","create","popupPinOffset","kebabPinOffset","popupMargin","kebabMargin","popupPinSize","kebabPinSize","renderMain","positions","disableAnimations","menuMaxHeight","children","icon","iconsmall","size","iconmedium","iconlarge","Component","__KONTUR_REACT_UI__","propTypes","defaultProps","node","bool","oneOfType","string","number","func"],"mappings":"2JAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAEA,SAASC,kBAAT,EAA6BC,UAA7B,EAAyCC,UAAzC,EAAqDC,QAArD,QAAqE,uCAArE;AACA,OAAO,KAAKC,YAAZ,MAA8B,wBAA9B;AACA,SAASC,WAAT,QAA4B,8BAA5B;AACA,SAASC,SAAT,QAAiD,0BAAjD;;;AAGA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAASC,aAAT,QAA8B,2BAA9B;AACA,SAASC,SAAT,QAA0B,8BAA1B;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,aAAT,QAA2C,8BAA3C;AACA,SAASC,EAAT,QAAmB,2BAAnB;AACA,SAASC,QAAT,QAAuC,oBAAvC;;AAEA,SAASC,MAAT,QAAuB,gBAAvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,WAAaC,KAAb,GADCF,QACD;;;;;;;;;;;;;;AAcSG,IAAAA,KAdT,GAciB;AACbC,MAAAA,MAAM,EAAE,KADK;AAEbC,MAAAA,YAAY,EAAE,KAFD;AAGbC,MAAAA,MAAM,EAAE,IAHK,EAdjB;;;AAoBUC,IAAAA,KApBV;AAqBUC,IAAAA,WArBV;;AAuBUC,IAAAA,QAvBV;;AAyBM;AACFC,MAAAA,MAAM,EAAE,0BAAMC,SAAN,EADN,EAzBN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgFUC,IAAAA,aAhFV,GAgF0B,UAACC,YAAD,EAAyC;AACvDC,MAAAA,QADuD,GAC1C,MAAKC,KADqC,CACvDD,QADuD;AAE/D,UAAME,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,KAAD,EAAgD;AAC3E,YAAI,CAACH,QAAL,EAAe;AACb,gBAAKE,oBAAL,CAA0BC,KAA1B,EAAiCJ,YAAY,CAACK,QAA9C;AACD;AACF,OAJD;;AAMA,UAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,GAAM;AAC/B,YAAI,CAACL,QAAL,EAAe;AACbD,UAAAA,YAAY,CAACO,UAAb;AACD;AACF,OAJD;;AAMA;AACE;AACE,UAAA,QAAQ,EAAEN,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAD5B;AAEE,UAAA,OAAO,EAAEK,kBAFX;AAGE,UAAA,SAAS,EAAEH,oBAHb;AAIE,UAAA,OAAO,EAAE,MAAKK,WAJhB;AAKE,UAAA,MAAM,EAAE,MAAKC,UALf;AAME,UAAA,SAAS,EAAEvB,EAAE;AACVE,UAAAA,MAAM,CAACsB,KAAP,CAAa,MAAKhB,KAAlB,CADU,IACiB,IADjB;AAEVN,UAAAA,MAAM,CAACG,MAAP,CAAc,MAAKG,KAAnB,CAFU,IAEkBM,YAAY,CAACT,MAF/B;AAGVH,UAAAA,MAAM,CAACa,QAAP,EAHU,IAGUA,QAHV;AAIVb,UAAAA,MAAM,CAACuB,OAAP,CAAe,MAAKjB,KAApB,CAJU,IAImB,MAAKJ,KAAL,CAAWE,YAJ9B,OANf;;;AAaG,cAAKoB,UAAL,EAbH,CADF;;;AAiBD,KA/GH;;AAiHUT,IAAAA,oBAjHV,GAiHiC;AAC7BU,IAAAA,CAD6B;AAE7BR,IAAAA,QAF6B;AAG1B;AACH,UAAI5B,QAAQ,CAACF,UAAD,EAAaC,UAAb,EAAyBF,kBAAzB,CAAR,CAAqDuC,CAArD,CAAJ,EAA6D;AAC3DA,QAAAA,CAAC,CAACC,cAAF;AACAT,QAAAA,QAAQ,CAAC,IAAD,CAAR;AACD;AACF,KAzHH;;AA2HUU,IAAAA,qBA3HV,GA2HkC,UAACC,QAAD,EAAoBC,YAApB,EAAoD;AAClF,YAAKC,QAAL;AACE;AACE3B,QAAAA,MAAM,EAAEyB,QADV;AAEExB,QAAAA,YAAY,EAAE,CAACwB,QAAD,IAAaC,YAF7B,EADF;;AAKE,kBAAM;AACJ,YAAI,MAAKf,KAAL,CAAWD,QAAf,EAAyB;AACvB;AACD;;AAED,YAAI,MAAKX,KAAL,CAAWC,MAAf,EAAuB;AACrB,gBAAKW,KAAL,CAAWiB,MAAX;AACD,SAFD,MAEO;AACL,gBAAKjB,KAAL,CAAWkB,OAAX;AACD;AACF,OAfH;;AAiBD,KA7IH;;AA+IUZ,IAAAA,WA/IV,GA+IwB,YAAM;AAC1B,UAAI,CAAC,MAAKN,KAAL,CAAWD,QAAhB,EAA0B;AACxB;AACA;AACAoB,QAAAA,qBAAqB,CAAC,YAAM;AAC1B,cAAI1C,WAAW,CAAC2C,YAAhB,EAA8B;AAC5B,kBAAKJ,QAAL,CAAc,EAAE1B,YAAY,EAAE,IAAhB,EAAd;AACD;AACF,SAJoB,CAArB;AAKD;AACF,KAzJH;;AA2JUiB,IAAAA,UA3JV,GA2JuB,YAAM;AACzB,YAAKS,QAAL,CAAc;AACZ1B,QAAAA,YAAY,EAAE,KADF,EAAd;;AAGD,KA/JH,mDA6BS+B,iBA7BT,GA6BE,6BAA2B,CACzB,4CACA,KAAK3B,QAAL,GAAgBlB,YAAY,CAAC8C,WAAb,CAAyB,oBAAM1B,SAAN,EAAzB,CAAhB,CACD,CAhCH,QAkCS2B,oBAlCT,GAkCE,gCAA8B,CAC5B,KAAK7B,QAAL,CAAcC,MAAd,GACD,CApCH,QAsCS6B,MAtCT,GAsCE,kBAA6B,mBAC3B,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAAChC,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,oBAAC,YAAD,CAAc,QAAd,IACE,KAAK,EAAEV,YAAY,CAAC2C,MAAb,CACL,EACEC,cAAc,EAAElC,KAAK,CAACmC,cADxB,EAEEC,WAAW,EAAEpC,KAAK,CAACqC,WAFrB,EAGEC,YAAY,EAAEtC,KAAK,CAACuC,YAHtB,EADK,EAMLvC,KANK,CADT,IAUG,MAAI,CAACwC,UAAL,EAVH,CADF,CAcD,CAjBH,CADF,CAqBD,CA5DH,QA8DUA,UA9DV,GA8DE,sBAAqB,mBACa,KAAKhC,KADlB,CACXD,QADW,eACXA,QADW,CACDkC,SADC,eACDA,SADC,CAEnB,oBACE,oBAAC,aAAD,aAAe,WAAW,EAAE,KAAKxC,WAAjC,IAAkD,KAAKO,KAAvD,gBACE,oBAAC,SAAD,IACE,WAAW,MADb,EAEE,SAAS,EAAEiC,SAFb,EAGE,iBAAiB,EAAE,KAAKpB,qBAH1B,EAIE,OAAO,EAAE,KAAKhB,aAJhB,EAKE,iBAAiB,EAAE,KAAKG,KAAL,CAAWkC,iBALhC,EAME,aAAa,EAAE,KAAKlC,KAAL,CAAWmC,aAN5B,IAQG,CAACpC,QAAD,IAAa,KAAKC,KAAL,CAAWoC,QAR3B,CADF,CADF,CAcD,CA9EH;;AAiKU1B,EAAAA,UAjKV,GAiKE,sBAAqB;AACnB;AACE;AACE,QAAA,SAAS,EAAE1B,EAAE;AACVE,QAAAA,MAAM,CAACmD,IAAP,EADU,IACM,IADN;AAEVnD,QAAAA,MAAM,CAACoD,SAAP,EAFU,IAEW,KAAKtC,KAAL,CAAWuC,IAAX,KAAoB,OAF/B;AAGVrD,QAAAA,MAAM,CAACsD,UAAP,EAHU,IAGY,KAAKxC,KAAL,CAAWuC,IAAX,KAAoB,QAHhC;AAIVrD,QAAAA,MAAM,CAACuD,SAAP,EAJU,IAIW,KAAKzC,KAAL,CAAWuC,IAAX,KAAoB,OAJ/B,QADf;;;AAQG,WAAKvC,KAAL,CAAWqC,IARd,CADF;;;AAYD,GA9KH,gBAA2BnE,KAAK,CAACwE,SAAjC,WACgBC,mBADhB,GACsC,OADtC,UAGgBC,SAHhB,GAG4B,EAH5B,UAKgBC,YALhB,GAK+B,EAC3B5B,MAAM,EAAE,0BAAMrB,SAAN,EADmB,EAE3BsB,OAAO,EAAE,2BAAMtB,SAAN,EAFkB,EAG3BqC,SAAS,EAAE,CAAC,aAAD,EAAgB,cAAhB,EAAgC,UAAhC,EAA4C,WAA5C,CAHgB,EAI3BM,IAAI,EAAE,OAJqB,EAK3BL,iBAAiB,EAAErD,SALQ,EAM3BwD,IAAI,eAAE,oBAAC,aAAD,OANqB,EAL/B;;;AAiLAlD,KAAK,CAACyD,SAAN,GAAkB;AAChBR,EAAAA,QAAQ,EAAEjE,SAAS,CAAC2E,IADJ;AAEhB/C,EAAAA,QAAQ,EAAE5B,SAAS,CAAC4E,IAFJ;AAGhBZ,EAAAA,aAAa,EAAEhE,SAAS,CAAC6E,SAAV,CAAoB,CAAC7E,SAAS,CAAC8E,MAAX,EAAmB9E,SAAS,CAAC+E,MAA7B,CAApB,CAHC;;AAKhB;AACF;AACA;AACEX,EAAAA,IAAI,EAAEpE,SAAS,CAAC8E,MARA;;AAUhB;AACF;AACA;AACE/B,EAAAA,OAAO,EAAE/C,SAAS,CAACgF,IAbH;;AAehB;AACF;AACA;AACElC,EAAAA,MAAM,EAAE9C,SAAS,CAACgF,IAlBF,EAAlB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyArrowVertical, isKeyEnter, isKeySpace, someKeys } from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { keyListener } from '../../lib/events/keyListener';\nimport { PopupMenu, PopupMenuCaptionProps } from '../../internal/PopupMenu';\nimport { Nullable } from '../../typings/utility-types';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { MenuKebabIcon } from '../../internal/icons/16px';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Kebab.styles';\n\nexport interface KebabProps extends CommonProps {\n disabled?: boolean;\n /**\n * Функция вызываемая при закрытии выпадашки\n * @default () => undefined\n */\n onClose: () => void;\n /**\n * Функция вызываемая при открытии выпадашки\n * @default () => undefined\n */\n onOpen: () => void;\n size: 'small' | 'medium' | 'large';\n /**\n * Список позиций доступных для расположения выпадашки.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n * @default ['bottom left', 'bottom right', 'top left', 'top right']\n */\n positions: PopupPositionsType[];\n menuMaxHeight?: number | string;\n /**\n * Не показывать анимацию\n */\n disableAnimations: boolean;\n /**\n * Кастомная иконка\n */\n icon?: React.ReactNode;\n}\n\nexport interface KebabState {\n anchor: Nullable<HTMLElement>;\n focusedByTab: boolean;\n opened: boolean;\n}\n\n@rootNode\nexport class Kebab extends React.Component<KebabProps, KebabState> {\n public static __KONTUR_REACT_UI__ = 'Kebab';\n\n public static propTypes = {};\n\n public static defaultProps = {\n onOpen: () => undefined,\n onClose: () => undefined,\n positions: ['bottom left', 'bottom right', 'top left', 'top right'],\n size: 'small',\n disableAnimations: isTestEnv,\n icon: <MenuKebabIcon />,\n };\n\n public state = {\n opened: false,\n focusedByTab: false,\n anchor: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n private listener: {\n remove: () => void;\n } = {\n remove: () => undefined,\n };\n\n public componentDidMount() {\n /** addListener'у нужен колбэк в аргумент */\n this.listener = LayoutEvents.addListener(() => undefined);\n }\n\n public componentWillUnmount() {\n this.listener.remove();\n }\n\n public render(): JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.kebabPinOffset,\n popupMargin: theme.kebabMargin,\n popupPinSize: theme.kebabPinSize,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { disabled, positions } = this.props;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n popupHasPin\n positions={positions}\n onChangeMenuState={this.handleChangeMenuState}\n caption={this.renderCaption}\n disableAnimations={this.props.disableAnimations}\n menuMaxHeight={this.props.menuMaxHeight}\n >\n {!disabled && this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n\n private renderCaption = (captionProps: PopupMenuCaptionProps) => {\n const { disabled } = this.props;\n const handleCaptionKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!disabled) {\n this.handleCaptionKeyDown(event, captionProps.openMenu);\n }\n };\n\n const handleCaptionClick = () => {\n if (!disabled) {\n captionProps.toggleMenu();\n }\n };\n\n return (\n <span\n tabIndex={disabled ? -1 : 0}\n onClick={handleCaptionClick}\n onKeyDown={handleCaptionKeyDown}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className={cx({\n [styles.kebab(this.theme)]: true,\n [styles.opened(this.theme)]: captionProps.opened,\n [styles.disabled()]: disabled,\n [styles.focused(this.theme)]: this.state.focusedByTab,\n })}\n >\n {this.renderIcon()}\n </span>\n );\n };\n\n private handleCaptionKeyDown = (\n e: React.KeyboardEvent<HTMLDivElement>,\n openMenu: PopupMenuCaptionProps['openMenu'],\n ) => {\n if (someKeys(isKeyEnter, isKeySpace, isKeyArrowVertical)(e)) {\n e.preventDefault();\n openMenu(true);\n }\n };\n\n private handleChangeMenuState = (isOpened: boolean, restoreFocus: boolean): void => {\n this.setState(\n {\n opened: isOpened,\n focusedByTab: !isOpened && restoreFocus,\n },\n () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n this.props.onOpen();\n } else {\n this.props.onClose();\n }\n },\n );\n };\n\n private handleFocus = () => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n requestAnimationFrame(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n }\n };\n\n private handleBlur = () => {\n this.setState({\n focusedByTab: false,\n });\n };\n\n private renderIcon() {\n return (\n <div\n className={cx({\n [styles.icon()]: true,\n [styles.iconsmall()]: this.props.size === 'small',\n [styles.iconmedium()]: this.props.size === 'medium',\n [styles.iconlarge()]: this.props.size === 'large',\n })}\n >\n {this.props.icon}\n </div>\n );\n }\n}\n\nKebab.propTypes = {\n children: PropTypes.node,\n disabled: PropTypes.bool,\n menuMaxHeight: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /**\n * Размер кебаба small 14px | large 20px\n */\n size: PropTypes.string,\n\n /**\n * Коллбек, вызывающийся перед закрытием кебаба\n */\n onClose: PropTypes.func,\n\n /**\n * Коллбек, вызывающийся перед открытием кебаба\n */\n onOpen: PropTypes.func,\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Nullable } from '../../typings/utility-types';
3
- import { PopupPosition } from '../../internal/Popup';
3
+ import { PopupPositionsType } from '../../internal/Popup';
4
4
  import { CommonProps } from '../../internal/CommonWrapper';
5
5
  export interface KebabProps extends CommonProps {
6
6
  disabled?: boolean;
@@ -23,7 +23,7 @@ export interface KebabProps extends CommonProps {
23
23
  * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`
24
24
  * @default ['bottom left', 'bottom right', 'top left', 'top right']
25
25
  */
26
- positions: PopupPosition[];
26
+ positions: PopupPositionsType[];
27
27
  menuMaxHeight?: number | string;
28
28
  /**
29
29
  * Не показывать анимацию
@@ -6,7 +6,7 @@ var _class, _class2, _temp;
6
6
 
7
7
  import React from 'react';
8
8
  import PropTypes from 'prop-types';
9
- import { isFunction } from "../../../lib/utils";
9
+ import { isFunction, isReactUIComponent } from "../../../lib/utils";
10
10
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
11
11
  import { CommonWrapper } from "../../../internal/CommonWrapper";
12
12
  import { cx } from "../../../lib/theming/Emotion";
@@ -143,9 +143,4 @@ var MenuItem = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_Reac
143
143
  target: PropTypes.string,
144
144
  onClick: PropTypes.func
145
145
  }, _temp)) || _class;
146
- export var isMenuItem = function isMenuItem(child) {
147
- var _child$type; // @ts-ignore
148
-
149
-
150
- return (child == null ? void 0 : (_child$type = child.type) == null ? void 0 : _child$type.__KONTUR_REACT_UI__) === 'MenuItem';
151
- };
146
+ export var isMenuItem = isReactUIComponent('MenuItem');