@skbkontur/react-ui 6.1.4-35aaa.0 → 6.1.4-5ebac.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 (236) hide show
  1. package/components/Button/Button.mixins.js +1 -1
  2. package/components/Button/Button.mixins.js.map +1 -1
  3. package/components/Button/Button.styles.d.ts +8 -2
  4. package/components/Button/Button.styles.js +9 -3
  5. package/components/Button/Button.styles.js.map +1 -1
  6. package/components/Calendar/Calendar.d.ts +8 -2
  7. package/components/Calendar/Calendar.js +7 -2
  8. package/components/Calendar/Calendar.js.map +1 -1
  9. package/components/Calendar/CalendarDay.js +1 -1
  10. package/components/Calendar/CalendarDay.js.map +1 -1
  11. package/components/Calendar/MonthView.js +1 -1
  12. package/components/Calendar/MonthView.js.map +1 -1
  13. package/components/Calendar/MonthViewModel.js +2 -1
  14. package/components/Calendar/MonthViewModel.js.map +1 -1
  15. package/components/FxInput/FxInput.d.ts +1 -1
  16. package/components/FxInput/FxInput.js.map +1 -1
  17. package/components/MaskedInput/MaskedInput.d.ts +3 -2
  18. package/components/MaskedInput/MaskedInput.js +10 -126
  19. package/components/MaskedInput/MaskedInput.js.map +1 -1
  20. package/components/MaskedInput/MaskedInputLegacy.d.ts +3 -0
  21. package/components/MaskedInput/MaskedInputLegacy.js +142 -0
  22. package/components/MaskedInput/MaskedInputLegacy.js.map +1 -0
  23. package/components/MaskedInputV2/MaskedInputV2.d.ts +58 -0
  24. package/components/MaskedInputV2/MaskedInputV2.helpers.d.ts +9 -0
  25. package/components/MaskedInputV2/MaskedInputV2.helpers.js +17 -0
  26. package/components/MaskedInputV2/MaskedInputV2.helpers.js.map +1 -0
  27. package/components/MaskedInputV2/MaskedInputV2.js +286 -0
  28. package/components/MaskedInputV2/MaskedInputV2.js.map +1 -0
  29. package/components/MaskedInputV2/MaskedInputV2.styles.d.ts +7 -0
  30. package/components/MaskedInputV2/MaskedInputV2.styles.js +19 -0
  31. package/components/MaskedInputV2/MaskedInputV2.styles.js.map +1 -0
  32. package/components/MaskedInputV2/index.d.ts +1 -0
  33. package/components/MaskedInputV2/index.js +2 -0
  34. package/components/MaskedInputV2/index.js.map +1 -0
  35. package/components/MaskedInputV2/internal/MaskOverlay.d.ts +19 -0
  36. package/components/MaskedInputV2/internal/MaskOverlay.js +54 -0
  37. package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -0
  38. package/components/MaskedInputV2/internal/MaskedCore.d.ts +8 -0
  39. package/components/MaskedInputV2/internal/MaskedCore.js +186 -0
  40. package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -0
  41. package/components/MaskedInputV2/internal/MaskedCore.types.d.ts +37 -0
  42. package/components/MaskedInputV2/internal/MaskedCore.types.js +2 -0
  43. package/components/MaskedInputV2/internal/MaskedCore.types.js.map +1 -0
  44. package/components/MaskedInputV2/internal/MaskedInternal.styles.d.ts +15 -0
  45. package/components/MaskedInputV2/internal/MaskedInternal.styles.js +34 -0
  46. package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +1 -0
  47. package/components/MaskedInputV2/internal/buildSlotMap.d.ts +11 -0
  48. package/components/MaskedInputV2/internal/buildSlotMap.js +37 -0
  49. package/components/MaskedInputV2/internal/buildSlotMap.js.map +1 -0
  50. package/components/MaskedInputV2/internal/computeMaskAlignPadding.d.ts +6 -0
  51. package/components/MaskedInputV2/internal/computeMaskAlignPadding.js +47 -0
  52. package/components/MaskedInputV2/internal/computeMaskAlignPadding.js.map +1 -0
  53. package/components/MaskedInputV2/internal/computePasteMaskedCursor.d.ts +3 -0
  54. package/components/MaskedInputV2/internal/computePasteMaskedCursor.js +11 -0
  55. package/components/MaskedInputV2/internal/computePasteMaskedCursor.js.map +1 -0
  56. package/components/MaskedInputV2/internal/extractRaw.d.ts +10 -0
  57. package/components/MaskedInputV2/internal/extractRaw.js +16 -0
  58. package/components/MaskedInputV2/internal/extractRaw.js.map +1 -0
  59. package/components/MaskedInputV2/internal/findNearestRawLeft.d.ts +10 -0
  60. package/components/MaskedInputV2/internal/findNearestRawLeft.js +18 -0
  61. package/components/MaskedInputV2/internal/findNearestRawLeft.js.map +1 -0
  62. package/components/MaskedInputV2/internal/helpers.d.ts +8 -0
  63. package/components/MaskedInputV2/internal/helpers.js +9 -0
  64. package/components/MaskedInputV2/internal/helpers.js.map +1 -0
  65. package/components/MaskedInputV2/internal/maskedCoreClipboard.d.ts +25 -0
  66. package/components/MaskedInputV2/internal/maskedCoreClipboard.js +30 -0
  67. package/components/MaskedInputV2/internal/maskedCoreClipboard.js.map +1 -0
  68. package/components/MaskedInputV2/internal/maskedCoreDeletion.d.ts +28 -0
  69. package/components/MaskedInputV2/internal/maskedCoreDeletion.js +70 -0
  70. package/components/MaskedInputV2/internal/maskedCoreDeletion.js.map +1 -0
  71. package/components/MaskedInputV2/internal/maskedCoreInputChange.d.ts +35 -0
  72. package/components/MaskedInputV2/internal/maskedCoreInputChange.js +31 -0
  73. package/components/MaskedInputV2/internal/maskedCoreInputChange.js.map +1 -0
  74. package/components/MaskedInputV2/internal/maskedCoreNavigation.d.ts +13 -0
  75. package/components/MaskedInputV2/internal/maskedCoreNavigation.js +79 -0
  76. package/components/MaskedInputV2/internal/maskedCoreNavigation.js.map +1 -0
  77. package/components/MaskedInputV2/internal/measureInputTextWidth.d.ts +2 -0
  78. package/components/MaskedInputV2/internal/measureInputTextWidth.js +30 -0
  79. package/components/MaskedInputV2/internal/measureInputTextWidth.js.map +1 -0
  80. package/components/MaskedInputV2/internal/setMaskInputSelectionRange.d.ts +2 -0
  81. package/components/MaskedInputV2/internal/setMaskInputSelectionRange.js +25 -0
  82. package/components/MaskedInputV2/internal/setMaskInputSelectionRange.js.map +1 -0
  83. package/components/MaskedInputV2/internal/showOverlay.d.ts +3 -0
  84. package/components/MaskedInputV2/internal/showOverlay.js +16 -0
  85. package/components/MaskedInputV2/internal/showOverlay.js.map +1 -0
  86. package/components/MaskedInputV2/internal/stripMaskChars.d.ts +11 -0
  87. package/components/MaskedInputV2/internal/stripMaskChars.js +20 -0
  88. package/components/MaskedInputV2/internal/stripMaskChars.js.map +1 -0
  89. package/components/MaskedInputV2/internal/types.d.ts +74 -0
  90. package/components/MaskedInputV2/internal/types.js +2 -0
  91. package/components/MaskedInputV2/internal/types.js.map +1 -0
  92. package/components/MaskedInputV2/internal/useInputOverflow.d.ts +4 -0
  93. package/components/MaskedInputV2/internal/useInputOverflow.js +34 -0
  94. package/components/MaskedInputV2/internal/useInputOverflow.js.map +1 -0
  95. package/components/MaskedInputV2/internal/useMaskAlignPadding.d.ts +2 -0
  96. package/components/MaskedInputV2/internal/useMaskAlignPadding.js +33 -0
  97. package/components/MaskedInputV2/internal/useMaskAlignPadding.js.map +1 -0
  98. package/components/MaskedInputV2/internal/useMaskEngine.d.ts +42 -0
  99. package/components/MaskedInputV2/internal/useMaskEngine.js +82 -0
  100. package/components/MaskedInputV2/internal/useMaskEngine.js.map +1 -0
  101. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.d.ts +33 -0
  102. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js +250 -0
  103. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js.map +1 -0
  104. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.d.ts +16 -0
  105. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js +59 -0
  106. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js.map +1 -0
  107. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.d.ts +20 -0
  108. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js +106 -0
  109. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js.map +1 -0
  110. package/components/MaskedInputV2/react-imask/imask/controls/input-history.d.ts +17 -0
  111. package/components/MaskedInputV2/react-imask/imask/controls/input-history.js +49 -0
  112. package/components/MaskedInputV2/react-imask/imask/controls/input-history.js.map +1 -0
  113. package/components/MaskedInputV2/react-imask/imask/controls/input.d.ts +95 -0
  114. package/components/MaskedInputV2/react-imask/imask/controls/input.js +420 -0
  115. package/components/MaskedInputV2/react-imask/imask/controls/input.js.map +1 -0
  116. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.d.ts +30 -0
  117. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js +59 -0
  118. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js.map +1 -0
  119. package/components/MaskedInputV2/react-imask/imask/core/action-details.d.ts +30 -0
  120. package/components/MaskedInputV2/react-imask/imask/core/action-details.js +100 -0
  121. package/components/MaskedInputV2/react-imask/imask/core/action-details.js.map +1 -0
  122. package/components/MaskedInputV2/react-imask/imask/core/change-details.d.ts +20 -0
  123. package/components/MaskedInputV2/react-imask/imask/core/change-details.js +46 -0
  124. package/components/MaskedInputV2/react-imask/imask/core/change-details.js.map +1 -0
  125. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.d.ts +21 -0
  126. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js +52 -0
  127. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js.map +1 -0
  128. package/components/MaskedInputV2/react-imask/imask/core/holder.d.ts +34 -0
  129. package/components/MaskedInputV2/react-imask/imask/core/holder.js +38 -0
  130. package/components/MaskedInputV2/react-imask/imask/core/holder.js.map +1 -0
  131. package/components/MaskedInputV2/react-imask/imask/core/tail-details.d.ts +20 -0
  132. package/components/MaskedInputV2/react-imask/imask/core/tail-details.js +2 -0
  133. package/components/MaskedInputV2/react-imask/imask/core/tail-details.js.map +1 -0
  134. package/components/MaskedInputV2/react-imask/imask/core/utils.d.ts +24 -0
  135. package/components/MaskedInputV2/react-imask/imask/core/utils.js +100 -0
  136. package/components/MaskedInputV2/react-imask/imask/core/utils.js.map +1 -0
  137. package/components/MaskedInputV2/react-imask/imask/imask.d.ts +5 -0
  138. package/components/MaskedInputV2/react-imask/imask/imask.js +7 -0
  139. package/components/MaskedInputV2/react-imask/imask/imask.js.map +1 -0
  140. package/components/MaskedInputV2/react-imask/imask/index.d.ts +17 -0
  141. package/components/MaskedInputV2/react-imask/imask/index.js +16 -0
  142. package/components/MaskedInputV2/react-imask/imask/index.js.map +1 -0
  143. package/components/MaskedInputV2/react-imask/imask/masked/base.d.ts +114 -0
  144. package/components/MaskedInputV2/react-imask/imask/masked/base.js +411 -0
  145. package/components/MaskedInputV2/react-imask/imask/masked/base.js.map +1 -0
  146. package/components/MaskedInputV2/react-imask/imask/masked/factory.d.ts +62 -0
  147. package/components/MaskedInputV2/react-imask/imask/masked/factory.js +96 -0
  148. package/components/MaskedInputV2/react-imask/imask/masked/factory.js.map +1 -0
  149. package/components/MaskedInputV2/react-imask/imask/masked/pattern.d.ts +101 -0
  150. package/components/MaskedInputV2/react-imask/imask/masked/pattern.js +543 -0
  151. package/components/MaskedInputV2/react-imask/imask/masked/pattern.js.map +1 -0
  152. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.d.ts +30 -0
  153. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js +2 -0
  154. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js.map +1 -0
  155. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.d.ts +21 -0
  156. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js +180 -0
  157. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js.map +1 -0
  158. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.d.ts +31 -0
  159. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js +163 -0
  160. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js.map +1 -0
  161. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.d.ts +42 -0
  162. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js +158 -0
  163. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js.map +1 -0
  164. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.d.ts +56 -0
  165. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js +185 -0
  166. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js.map +1 -0
  167. package/components/MaskedInputV2/react-imask/imask/masked/regexp.d.ts +17 -0
  168. package/components/MaskedInputV2/react-imask/imask/masked/regexp.js +36 -0
  169. package/components/MaskedInputV2/react-imask/imask/masked/regexp.js.map +1 -0
  170. package/components/MaskedInputV2/react-imask/index.d.ts +3 -0
  171. package/components/MaskedInputV2/react-imask/index.js +4 -0
  172. package/components/MaskedInputV2/react-imask/index.js.map +1 -0
  173. package/components/MaskedInputV2/react-imask/input.d.ts +8 -0
  174. package/components/MaskedInputV2/react-imask/input.js +35 -0
  175. package/components/MaskedInputV2/react-imask/input.js.map +1 -0
  176. package/components/MaskedInputV2/react-imask/mixin.d.ts +31 -0
  177. package/components/MaskedInputV2/react-imask/mixin.js +246 -0
  178. package/components/MaskedInputV2/react-imask/mixin.js.map +1 -0
  179. package/components/MenuItem/MenuItem.mixins.d.ts +0 -1
  180. package/components/MenuItem/MenuItem.mixins.js +1 -6
  181. package/components/MenuItem/MenuItem.mixins.js.map +1 -1
  182. package/components/MenuItem/MenuItem.styles.d.ts +1 -2
  183. package/components/MenuItem/MenuItem.styles.js +7 -2
  184. package/components/MenuItem/MenuItem.styles.js.map +1 -1
  185. package/components/MiniModal/MiniModal.d.ts +7 -2
  186. package/components/MiniModal/MiniModal.js +7 -2
  187. package/components/MiniModal/MiniModal.js.map +1 -1
  188. package/components/MiniModal/MiniModalBody.js +1 -1
  189. package/components/MiniModal/MiniModalBody.js.map +1 -1
  190. package/components/MiniModal/MiniModalFooter.js +1 -1
  191. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  192. package/components/MiniModal/MiniModalHeader.js +1 -1
  193. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  194. package/components/MiniModal/MiniModalIndent.js +1 -1
  195. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  196. package/components/Modal/Modal.d.ts +10 -2
  197. package/components/Modal/Modal.js +9 -2
  198. package/components/Modal/Modal.js.map +1 -1
  199. package/components/Modal/ModalBody.js +1 -1
  200. package/components/Modal/ModalBody.js.map +1 -1
  201. package/components/Modal/ModalClose.js +1 -1
  202. package/components/Modal/ModalClose.js.map +1 -1
  203. package/components/Toggle/Toggle.mixins.js +1 -1
  204. package/components/Toggle/Toggle.mixins.js.map +1 -1
  205. package/components/Toggle/Toggle.styles.d.ts +8 -2
  206. package/components/Toggle/Toggle.styles.js +9 -3
  207. package/components/Toggle/Toggle.styles.js.map +1 -1
  208. package/lib/date/InternalDateValidator.js +2 -1
  209. package/lib/date/InternalDateValidator.js.map +1 -1
  210. package/lib/events/keyboard/KeyboardEventCodes.d.ts +2 -0
  211. package/lib/events/keyboard/KeyboardEventCodes.js +2 -0
  212. package/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  213. package/lib/events/keyboard/KeyboardMapKeys.js +2 -0
  214. package/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  215. package/lib/events/keyboard/identifiers.d.ts +2 -0
  216. package/lib/events/keyboard/identifiers.js +6 -0
  217. package/lib/events/keyboard/identifiers.js.map +1 -1
  218. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  219. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +1 -0
  220. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  221. package/package.json +4 -1
  222. package/components/Button/Button.classes.d.ts +0 -8
  223. package/components/Button/Button.classes.js +0 -10
  224. package/components/Button/Button.classes.js.map +0 -1
  225. package/components/Calendar/tids.d.ts +0 -7
  226. package/components/Calendar/tids.js +0 -8
  227. package/components/Calendar/tids.js.map +0 -1
  228. package/components/MiniModal/tids.d.ts +0 -7
  229. package/components/MiniModal/tids.js +0 -8
  230. package/components/MiniModal/tids.js.map +0 -1
  231. package/components/Modal/Modal.constants.d.ts +0 -9
  232. package/components/Modal/Modal.constants.js +0 -10
  233. package/components/Modal/Modal.constants.js.map +0 -1
  234. package/components/Toggle/Toggle.classes.d.ts +0 -8
  235. package/components/Toggle/Toggle.classes.js +0 -10
  236. package/components/Toggle/Toggle.classes.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { globalClasses } from './Button.classes.js';
1
+ import { globalClasses } from './Button.styles.js';
2
2
  var getBtnPadding = function (paddingY, paddingX) {
3
3
  return "".concat(paddingY, " ").concat(paddingX, " ").concat(paddingY);
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Button.mixins.js","sourceRoot":"","sources":["Button.mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,IAAM,aAAa,GAAG,UAAC,QAAgB,EAAE,QAAgB;IACvD,OAAO,UAAG,QAAQ,cAAI,QAAQ,cAAI,QAAQ,CAAE,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,cAAc,GAAG,UAC5B,aAAqB,EACrB,kBAA0B,EAC1B,gBAAwB,EACxB,KAAa,EACb,WAAmB,EACnB,WAAmB;IAEnB,IAAM,WAAW,GAAG,kBAAkB,KAAK,gBAAgB,CAAC;IAC5D,OAAO,kCACe,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,sCACvC,WAAW,CAAC,CAAC,CAAC,0BAAmB,kBAAkB,eAAK,gBAAgB,MAAG,CAAC,CAAC,CAAC,MAAM,2BAC/F,KAAK,sCACM,WAAW,cAAI,WAAW,8DAIzC,aAAa,CAAC,KAAK,oCACX,KAAK,0BAGnB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAC9B,aAAqB,EACrB,kBAA0B,EAC1B,gBAAwB,EACxB,KAAa,EACb,WAAmB,EACnB,WAAmB;IAEnB,IAAM,WAAW,GAAG,kBAAkB,KAAK,gBAAgB,CAAC;IAC5D,IAAM,eAAe,GAAG,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,aAAa,CAAC;IAC5E,OAAO,kCACe,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,sCACvC,WAAW,CAAC,CAAC,CAAC,0BAAmB,kBAAkB,eAAK,gBAAgB,MAAG,CAAC,CAAC,CAAC,MAAM,sCACpF,WAAW,cAAI,WAAW,SAAG,eAAe,CAAC,CAAC,CAAC,kBAAW,WAAW,cAAI,aAAa,CAAE,CAAC,CAAC,CAAC,EAAE,2BACxG,KAAK,UACf,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAC/B,aAAqB,EACrB,SAAiB,EACjB,WAAmB,EACnB,WAAmB;IAEnB,IAAM,eAAe,GAAG,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,aAAa,CAAC;IAC5E,OAAO,+HAIiB,aAAa,6EACb,WAAW,cAAI,WAAW,SAAG,eAAe,CAAC,CAAC,CAAC,kBAAW,WAAW,cAAI,aAAa,CAAE,CAAC,CAAC,CAAC,EAAE,8DAE9G,aAAa,CAAC,WAAW,qCACZ,SAAS,0BAG5B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,QAAgB,EAAE,UAAkB,EAAE,QAAgB,EAAE,QAAgB;IACtG,OAAO,2BACQ,QAAQ,0DAEV,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,iCAC7B,UAAU,UAC1B,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { globalClasses } from './Button.classes.js';\n\nconst getBtnPadding = (paddingY: string, paddingX: string): string => {\n return `${paddingY} ${paddingX} ${paddingY}`;\n};\n\nexport const buttonUseMixin = (\n btnBackground: string,\n btnBackgroundStart: string,\n btnBackgroundEnd: string,\n color: string,\n borderColor: string,\n borderWidth: string,\n): string => {\n const hasGradient = btnBackgroundStart !== btnBackgroundEnd;\n return `\n background-color: ${hasGradient ? `initial` : btnBackground};\n background-image: ${hasGradient ? `linear-gradient(${btnBackgroundStart}, ${btnBackgroundEnd})` : `none`};\n color: ${color};\n box-shadow: 0 0 0 ${borderWidth} ${borderColor};\n\n :enabled:hover,\n :enabled {\n .${globalClasses.arrow} svg {\n color: ${color};\n }\n }\n `;\n};\n\nexport const buttonHoverMixin = (\n btnBackground: string,\n btnBackgroundStart: string,\n btnBackgroundEnd: string,\n color: string,\n borderColor: string,\n borderWidth: string,\n): string => {\n const hasGradient = btnBackgroundStart !== btnBackgroundEnd;\n const isBorderAboveBg = borderColor !== '' && borderColor !== btnBackground;\n return `\n background-color: ${hasGradient ? `initial` : btnBackground};\n background-image: ${hasGradient ? `linear-gradient(${btnBackgroundStart}, ${btnBackgroundEnd})` : `none`};\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${isBorderAboveBg ? `, 0 0 0 ${borderWidth} ${btnBackground}` : ''};\n color: ${color};\n `;\n};\n\nexport const buttonActiveMixin = (\n btnBackground: string,\n btnShadow: string,\n borderColor: string,\n borderWidth: string,\n): string => {\n const isBorderAboveBg = borderColor !== '' && borderColor !== btnBackground;\n return `\n &,\n &:hover {\n background-image: none !important; // override :hover styles\n background-color: ${btnBackground} !important; // override :hover styles\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${isBorderAboveBg ? `, 0 0 0 ${borderWidth} ${btnBackground}` : ''} !important; // override :hover styles\n\n .${globalClasses.innerShadow} {\n box-shadow: ${btnShadow};\n }\n }\n `;\n};\n\nexport const buttonSizeMixin = (fontSize: string, lineHeight: string, paddingX: string, paddingY: string): string => {\n return `\n font-size: ${fontSize};\n box-sizing: border-box;\n padding: ${getBtnPadding(paddingY, paddingX)};\n line-height: ${lineHeight};\n `;\n};\n"]}
1
+ {"version":3,"file":"Button.mixins.js","sourceRoot":"","sources":["Button.mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,IAAM,aAAa,GAAG,UAAC,QAAgB,EAAE,QAAgB;IACvD,OAAO,UAAG,QAAQ,cAAI,QAAQ,cAAI,QAAQ,CAAE,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,cAAc,GAAG,UAC5B,aAAqB,EACrB,kBAA0B,EAC1B,gBAAwB,EACxB,KAAa,EACb,WAAmB,EACnB,WAAmB;IAEnB,IAAM,WAAW,GAAG,kBAAkB,KAAK,gBAAgB,CAAC;IAC5D,OAAO,kCACe,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,sCACvC,WAAW,CAAC,CAAC,CAAC,0BAAmB,kBAAkB,eAAK,gBAAgB,MAAG,CAAC,CAAC,CAAC,MAAM,2BAC/F,KAAK,sCACM,WAAW,cAAI,WAAW,8DAIzC,aAAa,CAAC,KAAK,oCACX,KAAK,0BAGnB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAC9B,aAAqB,EACrB,kBAA0B,EAC1B,gBAAwB,EACxB,KAAa,EACb,WAAmB,EACnB,WAAmB;IAEnB,IAAM,WAAW,GAAG,kBAAkB,KAAK,gBAAgB,CAAC;IAC5D,IAAM,eAAe,GAAG,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,aAAa,CAAC;IAC5E,OAAO,kCACe,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,sCACvC,WAAW,CAAC,CAAC,CAAC,0BAAmB,kBAAkB,eAAK,gBAAgB,MAAG,CAAC,CAAC,CAAC,MAAM,sCACpF,WAAW,cAAI,WAAW,SAAG,eAAe,CAAC,CAAC,CAAC,kBAAW,WAAW,cAAI,aAAa,CAAE,CAAC,CAAC,CAAC,EAAE,2BACxG,KAAK,UACf,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAC/B,aAAqB,EACrB,SAAiB,EACjB,WAAmB,EACnB,WAAmB;IAEnB,IAAM,eAAe,GAAG,WAAW,KAAK,EAAE,IAAI,WAAW,KAAK,aAAa,CAAC;IAC5E,OAAO,+HAIiB,aAAa,6EACb,WAAW,cAAI,WAAW,SAAG,eAAe,CAAC,CAAC,CAAC,kBAAW,WAAW,cAAI,aAAa,CAAE,CAAC,CAAC,CAAC,EAAE,8DAE9G,aAAa,CAAC,WAAW,qCACZ,SAAS,0BAG5B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,QAAgB,EAAE,UAAkB,EAAE,QAAgB,EAAE,QAAgB;IACtG,OAAO,2BACQ,QAAQ,0DAEV,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,iCAC7B,UAAU,UAC1B,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { globalClasses } from './Button.styles.js';\n\nconst getBtnPadding = (paddingY: string, paddingX: string): string => {\n return `${paddingY} ${paddingX} ${paddingY}`;\n};\n\nexport const buttonUseMixin = (\n btnBackground: string,\n btnBackgroundStart: string,\n btnBackgroundEnd: string,\n color: string,\n borderColor: string,\n borderWidth: string,\n): string => {\n const hasGradient = btnBackgroundStart !== btnBackgroundEnd;\n return `\n background-color: ${hasGradient ? `initial` : btnBackground};\n background-image: ${hasGradient ? `linear-gradient(${btnBackgroundStart}, ${btnBackgroundEnd})` : `none`};\n color: ${color};\n box-shadow: 0 0 0 ${borderWidth} ${borderColor};\n\n :enabled:hover,\n :enabled {\n .${globalClasses.arrow} svg {\n color: ${color};\n }\n }\n `;\n};\n\nexport const buttonHoverMixin = (\n btnBackground: string,\n btnBackgroundStart: string,\n btnBackgroundEnd: string,\n color: string,\n borderColor: string,\n borderWidth: string,\n): string => {\n const hasGradient = btnBackgroundStart !== btnBackgroundEnd;\n const isBorderAboveBg = borderColor !== '' && borderColor !== btnBackground;\n return `\n background-color: ${hasGradient ? `initial` : btnBackground};\n background-image: ${hasGradient ? `linear-gradient(${btnBackgroundStart}, ${btnBackgroundEnd})` : `none`};\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${isBorderAboveBg ? `, 0 0 0 ${borderWidth} ${btnBackground}` : ''};\n color: ${color};\n `;\n};\n\nexport const buttonActiveMixin = (\n btnBackground: string,\n btnShadow: string,\n borderColor: string,\n borderWidth: string,\n): string => {\n const isBorderAboveBg = borderColor !== '' && borderColor !== btnBackground;\n return `\n &,\n &:hover {\n background-image: none !important; // override :hover styles\n background-color: ${btnBackground} !important; // override :hover styles\n box-shadow: 0 0 0 ${borderWidth} ${borderColor}${isBorderAboveBg ? `, 0 0 0 ${borderWidth} ${btnBackground}` : ''} !important; // override :hover styles\n\n .${globalClasses.innerShadow} {\n box-shadow: ${btnShadow};\n }\n }\n `;\n};\n\nexport const buttonSizeMixin = (fontSize: string, lineHeight: string, paddingX: string, paddingY: string): string => {\n return `\n font-size: ${fontSize};\n box-sizing: border-box;\n padding: ${getBtnPadding(paddingY, paddingX)};\n line-height: ${lineHeight};\n `;\n};\n"]}
@@ -1,6 +1,12 @@
1
1
  import type { Theme } from '../../lib/theming/Theme.js';
2
- import { globalClasses } from './Button.classes.js';
3
- export { globalClasses };
2
+ export declare const globalClasses: {
3
+ root: string;
4
+ arrow: string;
5
+ caption: string;
6
+ text: string;
7
+ innerShadow: string;
8
+ disabled: string;
9
+ };
4
10
  export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
5
11
  root(t: Theme): string;
6
12
  withArrowIconRightSmall(t: Theme): string;
@@ -3,10 +3,16 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
3
3
  return cooked;
4
4
  };
5
5
  import { resetButton, resetText } from '../../lib/styles/Mixins.js';
6
- import { memoizeGetStyles } from '../../lib/theming/Emotion.js';
7
- import { globalClasses } from './Button.classes.js';
6
+ import { memoizeGetStyles, prefix } from '../../lib/theming/Emotion.js';
8
7
  import { buttonActiveMixin, buttonHoverMixin, buttonSizeMixin, buttonUseMixin } from './Button.mixins.js';
9
- export { globalClasses };
8
+ export var globalClasses = prefix('button')({
9
+ root: 'root',
10
+ arrow: 'arrow',
11
+ caption: 'caption',
12
+ text: 'text',
13
+ innerShadow: 'inner-shadow',
14
+ disabled: 'disabled',
15
+ });
10
16
  export var getStyles = memoizeGetStyles(function (emotion) {
11
17
  var activeStyles = getActiveStyles(emotion);
12
18
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"Button.styles.js","sourceRoot":"","sources":["Button.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { resetButton, resetText } from '../../lib/styles/Mixins.js';\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { globalClasses } from './Button.classes.js';\nimport { buttonActiveMixin, buttonHoverMixin, buttonSizeMixin, buttonUseMixin } from './Button.mixins.js';\n\nexport { globalClasses };\n\nexport const getStyles = memoizeGetStyles((emotion: Emotion) => {\n const activeStyles = getActiveStyles(emotion);\n return {\n root(t: Theme) {\n return emotion.css`\n ${resetButton()};\n ${resetText()};\n\n transition: background-color ${t.transitionDuration} ${t.transitionTimingFunction}\n ${t.btnBorderColorTransition ? `, ${t.btnBorderColorTransition}` : ''};\n\n background-clip: ${t.btnBackgroundClip};\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n cursor: pointer;\n display: inline-block;\n position: relative;\n text-align: center;\n width: 100%;\n height: 100%;\n\n .${globalClasses.innerShadow} {\n content: '';\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n &::after {\n content: '';\n display: inline-block;\n vertical-align: baseline;\n width: 0;\n }\n\n &:hover svg {\n color: ${t.btnIconHoverColor};\n }\n &.${globalClasses.disabled} svg {\n color: ${t.btnIconDisabledColor};\n }\n & svg {\n color: ${t.btnIconColor};\n }\n `;\n },\n\n withArrowIconRightSmall(t: Theme) {\n return emotion.css`\n padding-right: calc(${t.btnIconSizeSmall} + ${t.btnWithIconPaddingSmall} + ${t.btnWithIconPaddingSmall});\n `;\n },\n\n withArrowIconRightMedium(t: Theme) {\n return emotion.css`\n padding-right: calc(${t.btnIconSizeMedium} + ${t.btnWithIconPaddingMedium} + ${t.btnWithIconPaddingMedium});\n `;\n },\n\n withArrowIconRightLarge(t: Theme) {\n return emotion.css`\n padding-right: calc(${t.btnIconSizeLarge} + ${t.btnWithIconPaddingLarge} + ${t.btnWithIconPaddingLarge});\n `;\n },\n\n withArrowIconLeftSmall(t: Theme) {\n return emotion.css`\n padding-left: calc(${t.btnIconSizeSmall} + ${t.btnWithIconPaddingSmall} + ${t.btnWithIconPaddingSmall});\n `;\n },\n\n withArrowIconLeftMedium(t: Theme) {\n return emotion.css`\n padding-left: calc(${t.btnIconSizeMedium} + ${t.btnWithIconPaddingMedium} + ${t.btnWithIconPaddingMedium});\n `;\n },\n\n withArrowIconLeftLarge(t: Theme) {\n return emotion.css`\n padding-left: calc(${t.btnIconSizeLarge} + ${t.btnWithIconPaddingLarge} + ${t.btnWithIconPaddingLarge});\n `;\n },\n\n simulatedPress() {\n return emotion.css`\n &:active .${globalClasses.caption} {\n transform: translateY(1px);\n }\n `;\n },\n\n /** @deprecated */\n outlineDefault() {\n return emotion.css`\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n `;\n },\n\n /** @deprecated */\n outlineWarning(t: Theme) {\n return emotion.css`\n box-shadow:\n 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorWarning},\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n /** @deprecated */\n outlineError(t: Theme) {\n return emotion.css`\n box-shadow:\n 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorError},\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n /** @deprecated */\n outlineLink() {\n return emotion.css`\n cursor: default;\n box-shadow: none;\n left: -2px;\n right: -2px;\n bottom: -2px;\n top: -2px;\n `;\n },\n\n /** @deprecated */\n outlineLinkWarning(t: Theme) {\n return emotion.css`\n background-color: ${t.btnWarningSecondary};\n `;\n },\n\n /** @deprecated */\n outlineLinkError(t: Theme) {\n return emotion.css`\n background-color: ${t.btnErrorSecondary};\n `;\n },\n\n sizeSmall(t: Theme) {\n return emotion.css`\n border-radius: ${t.btnBorderRadiusSmall};\n\n ${buttonSizeMixin(t.btnFontSizeSmall, t.btnLineHeightSmall, t.btnPaddingXSmall, t.btnPaddingYSmall)};\n `;\n },\n\n sizeMedium(t: Theme) {\n return emotion.css`\n border-radius: ${t.btnBorderRadiusMedium};\n\n ${buttonSizeMixin(t.btnFontSizeMedium, t.btnLineHeightMedium, t.btnPaddingXMedium, t.btnPaddingYMedium)};\n `;\n },\n\n sizeLarge(t: Theme) {\n return emotion.css`\n border-radius: ${t.btnBorderRadiusLarge};\n\n ${buttonSizeMixin(t.btnFontSizeLarge, t.btnLineHeightLarge, t.btnPaddingXLarge, t.btnPaddingYLarge)};\n `;\n },\n\n sizeSmallWithIcon(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingSmall};\n `;\n },\n\n sizeMediumWithIcon(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingMedium};\n `;\n },\n\n sizeLargeWithIcon(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingLarge};\n `;\n },\n\n sizeSmallWithRightIcon(t: Theme) {\n return emotion.css`\n padding-right: ${t.btnWithIconPaddingSmall};\n `;\n },\n\n sizeMediumWithRightIcon(t: Theme) {\n return emotion.css`\n padding-right: ${t.btnWithIconPaddingMedium};\n `;\n },\n\n sizeLargeWithRightIcon(t: Theme) {\n return emotion.css`\n padding-right: ${t.btnWithIconPaddingLarge};\n `;\n },\n\n sizeSmallWithIconWithoutText(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingSmall};\n padding-right: ${t.btnWithIconPaddingSmall};\n `;\n },\n\n sizeMediumWithIconWithoutText(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingMedium};\n padding-right: ${t.btnWithIconPaddingMedium};\n `;\n },\n\n sizeLargeWithIconWithoutText(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingLarge};\n padding-right: ${t.btnWithIconPaddingLarge};\n `;\n },\n\n /** @deprecated */\n link(t: Theme) {\n return emotion.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 margin: 0;\n padding: 0 !important; // override size mixin\n height: auto !important; // override size mixin\n\n &:hover:enabled,\n &:active:enabled {\n color: ${t.btnLinkHoverColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n }\n\n &:active:enabled {\n ${activeStyles.link(t)}\n }\n `;\n },\n\n /** @deprecated */\n linkLineHeight() {\n return emotion.css`\n line-height: inherit !important; // override size mixin\n `;\n },\n\n /** @deprecated */\n linkLineHeightSafariFallback() {\n return emotion.css`\n /* Safari overrides 'underline' and 'border' if 'line-height' is used */\n margin: -1px 0 -2px;\n `;\n },\n\n /** @deprecated */\n linkFocus(t: Theme) {\n return emotion.css`\n & {\n color: ${t.btnLinkColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n }\n `;\n },\n\n /** @deprecated */\n linkDisabled(t: Theme) {\n return emotion.css`\n cursor: default;\n\n &,\n &:hover:enabled,\n &:active:enabled {\n color: ${t.btnLinkDisabledColor};\n }\n `;\n },\n\n focus(t: Theme) {\n return emotion.css`\n position: relative;\n z-index: 2;\n\n &,\n &:hover:enabled,\n &:active:enabled,\n &:active:hover:enabled {\n box-shadow:\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus} !important; // override root:hover style\n }\n `;\n },\n\n disabled(t: Theme) {\n return emotion.css`\n cursor: default;\n pointer-events: none;\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDisabledBorderColor};\n\n background-image: none;\n background-color: ${t.btnDisabledBg};\n color: ${t.btnDisabledTextColor};\n `;\n },\n\n disabledWithoutOutline(t: Theme) {\n return emotion.css`\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDisabledBg};\n `;\n },\n\n arrowIconRoot() {\n return emotion.css`\n position: absolute;\n height: 100%;\n top: 0;\n right: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: content-box;\n `;\n },\n\n arrowIconRootSmall(t: Theme) {\n return emotion.css`\n padding: 0 ${t.btnWithIconPaddingSmall} 0 ${t.btnWithIconPaddingSmall};\n width: ${t.btnIconSizeSmall};\n `;\n },\n\n arrowIconRootMedium(t: Theme) {\n return emotion.css`\n padding: 0 ${t.btnWithIconPaddingMedium} 0 ${t.btnWithIconPaddingMedium};\n width: ${t.btnIconSizeMedium};\n `;\n },\n\n arrowIconRootLarge(t: Theme) {\n return emotion.css`\n padding: 0 ${t.btnWithIconPaddingLarge} 0 ${t.btnWithIconPaddingLarge};\n width: ${t.btnIconSizeLarge};\n `;\n },\n\n arrowIconLeft() {\n return emotion.css`\n left: 0;\n `;\n },\n\n default(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnDefaultBg,\n t.btnDefaultBgStart,\n t.btnDefaultBgEnd,\n t.btnDefaultTextColor,\n t.btnDefaultBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnDefaultHoverBg,\n t.btnDefaultHoverBgStart,\n t.btnDefaultHoverBgEnd,\n t.btnDefaultHoverTextColor,\n t.btnDefaultHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.default(t)};\n }\n `;\n },\n\n accent(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnPrimaryBg,\n t.btnPrimaryBgStart,\n t.btnPrimaryBgEnd,\n t.btnPrimaryTextColor,\n t.btnPrimaryBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnPrimaryHoverBg,\n t.btnPrimaryHoverBgStart,\n t.btnPrimaryHoverBgEnd,\n t.btnPrimaryHoverTextColor,\n t.btnPrimaryHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.accent(t)}\n }\n `;\n },\n\n success(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnSuccessBg,\n t.btnSuccessBgStart,\n t.btnSuccessBgEnd,\n t.btnSuccessTextColor,\n t.btnSuccessBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnSuccessHoverBg,\n t.btnSuccessHoverBgStart,\n t.btnSuccessHoverBgEnd,\n t.btnSuccessHoverTextColor,\n t.btnSuccessHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.success(t)}\n }\n `;\n },\n\n danger(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnDangerBg,\n t.btnDangerBgStart,\n t.btnDangerBgEnd,\n t.btnDangerTextColor,\n t.btnDangerBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnDangerHoverBg,\n t.btnDangerHoverBgStart,\n t.btnDangerHoverBgEnd,\n t.btnDangerHoverTextColor,\n t.btnDangerHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.danger(t)}\n }\n `;\n },\n\n pay(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnPayBg,\n t.btnPayBgStart,\n t.btnPayBgEnd,\n t.btnPayTextColor,\n t.btnPayBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnPayHoverBg,\n t.btnPayHoverBgStart,\n t.btnPayHoverBgEnd,\n t.btnPayHoverTextColor,\n t.btnPayHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.pay(t)}\n }\n `;\n },\n\n text(t: Theme) {\n return emotion.css`\n &,\n &:enabled,\n &:hover {\n box-shadow: none;\n }\n\n ${buttonUseMixin(t.btnTextBg, '', '', t.btnTextTextColor, t.btnTextBorderColor, t.btnBorderWidth)};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnTextHoverBg,\n '',\n '',\n t.btnTextHoverTextColor,\n t.btnTextHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.text(t)}\n }\n `;\n },\n\n outline(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(t.btnBacklessBg, '', '', t.btnBacklessTextColor, t.btnBacklessBorderColor, t.btnBorderWidth)};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnBacklessHoverBg,\n '',\n '',\n t.btnBacklessHoverTextColor,\n t.btnBacklessHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.outline(t)}\n }\n `;\n },\n\n fill(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(t.btnFillBg, '', '', t.btnDefaultTextColor, '', '')};\n\n &:hover {\n ${buttonHoverMixin(t.btnFillHoverBg, '', '', t.btnDefaultHoverTextColor, '', '')};\n }\n\n &:active {\n ${activeStyles.fill(t)};\n }\n `;\n },\n\n checked(t: Theme) {\n const checkedStyles = `\n background-image: none;\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDefaultCheckedBorderColor} !important;\n background-color: ${t.btnCheckedBg} !important;\n color: ${t.btnCheckedTextColor} !important;\n\n .${globalClasses.innerShadow} {\n box-shadow: ${t.btnCheckedShadow};\n }\n\n :enabled svg {\n color: ${t.btnCheckedTextColor} !important;\n }\n :hover:enabled svg {\n color: ${t.btnCheckedTextColor} !important;\n }\n `;\n\n return emotion.css`\n ${checkedStyles}\n\n &:hover:enabled,\n &:active:enabled,\n &:hover:active:enabled {\n ${checkedStyles}\n }\n `;\n },\n\n checkedFocused(t: Theme) {\n return emotion.css`\n &:hover:enabled,\n &:hover:active:enabled {\n box-shadow:\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus} !important;\n border-color: ${t.btnBorderColorFocus} !important;\n }\n `;\n },\n\n checkedDisabled(t: Theme) {\n return emotion.css`\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnCheckedDisabledBorderColor};\n background-color: ${t.btnCheckedDisabledBg};\n color: ${t.btnCheckedDisabledColor};\n\n .${globalClasses.innerShadow} {\n box-shadow: ${t.btnCheckedDisabledShadow};\n }\n\n svg {\n color: ${t.btnCheckedDisabledColor} !important;\n }\n `;\n },\n\n caption() {\n return emotion.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 emotion.css`\n display: inline;\n transform: none !important; // override root:active style\n `;\n },\n\n captionDisabled() {\n return emotion.css`\n transform: none !important; // override root:active style\n `;\n },\n\n wrap(t: Theme) {\n return emotion.css`\n box-sizing: border-box;\n display: inline-block;\n line-height: normal;\n padding: ${t.btnBorderWidth};\n `;\n },\n\n wrapSmall(t: Theme) {\n return emotion.css`\n height: ${t.btnHeightSmall};\n `;\n },\n\n wrapMedium(t: Theme) {\n return emotion.css`\n height: ${t.btnHeightMedium};\n `;\n },\n\n wrapLarge(t: Theme) {\n return emotion.css`\n height: ${t.btnHeightLarge};\n `;\n },\n\n /** @deprecated */\n narrow() {\n return emotion.css`\n padding-left: 5px;\n padding-right: 5px;\n `;\n },\n\n noPadding() {\n return emotion.css`\n padding-left: 0;\n padding-right: 0;\n `;\n },\n\n noRightPadding() {\n return emotion.css`\n padding-right: 0;\n `;\n },\n\n wrapLink() {\n return emotion.css`\n padding: 0;\n `;\n },\n\n /** @deprecated */\n borderless() {\n return emotion.css`\n &,\n &:active:hover,\n &:hover {\n box-shadow: none !important; // override root:hover style\n }\n `;\n },\n\n backlessDisabled(t: Theme) {\n return emotion.css`\n box-shadow: 0 0 0 1px ${t.btnBacklessDisabledBorderColor};\n background-color: transparent;\n `;\n },\n\n textDisabled() {\n return emotion.css`\n background-color: transparent;\n `;\n },\n\n loading() {\n return emotion.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 emotion.css`\n visibility: hidden;\n `;\n },\n };\n});\n\nexport const getActiveStyles = memoizeGetStyles(({ css }: Emotion) => ({\n default(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(\n t.btnDefaultActiveBg,\n t.btnDefaultActiveShadow,\n t.btnDefaultActiveBorderColor,\n t.btnBorderWidth,\n )};\n }\n `;\n },\n\n accent(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(\n t.btnPrimaryActiveBg,\n t.btnPrimaryActiveShadow,\n t.btnPrimaryActiveBorderColor,\n t.btnBorderWidth,\n )};\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(\n t.btnSuccessActiveBg,\n t.btnSuccessActiveShadow,\n t.btnSuccessActiveBorderColor,\n t.btnBorderWidth,\n )};\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(\n t.btnDangerActiveBg,\n t.btnDangerActiveShadow,\n t.btnDangerActiveBorderColor,\n t.btnBorderWidth,\n )};\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(t.btnPayActiveBg, t.btnPayActiveShadow, t.btnPayActiveBorderColor, t.btnBorderWidth)};\n }\n `;\n },\n\n link(t: Theme) {\n return css`\n & {\n color: ${t.btnLinkActiveColor};\n }\n `;\n },\n\n text(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(t.btnTextActiveBg, '', t.btnTextActiveBg, t.btnBorderWidth)};\n }\n `;\n },\n\n outline(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(t.btnBacklessActiveBg, '', t.btnBacklessActiveBorderColor, t.btnBorderWidth)};\n }\n `;\n },\n\n fill(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(t.btnFillActiveBg, '', '', '')};\n }\n `;\n },\n}));\n"]}
1
+ {"version":3,"file":"Button.styles.js","sourceRoot":"","sources":["Button.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { resetButton, resetText } from '../../lib/styles/Mixins.js';\nimport { memoizeGetStyles, prefix } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { buttonActiveMixin, buttonHoverMixin, buttonSizeMixin, buttonUseMixin } from './Button.mixins.js';\n\nexport const globalClasses = prefix('button')({\n root: 'root',\n arrow: 'arrow',\n caption: 'caption',\n text: 'text',\n innerShadow: 'inner-shadow',\n disabled: 'disabled',\n});\n\nexport const getStyles = memoizeGetStyles((emotion: Emotion) => {\n const activeStyles = getActiveStyles(emotion);\n return {\n root(t: Theme) {\n return emotion.css`\n ${resetButton()};\n ${resetText()};\n\n transition: background-color ${t.transitionDuration} ${t.transitionTimingFunction}\n ${t.btnBorderColorTransition ? `, ${t.btnBorderColorTransition}` : ''};\n\n background-clip: ${t.btnBackgroundClip};\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n cursor: pointer;\n display: inline-block;\n position: relative;\n text-align: center;\n width: 100%;\n height: 100%;\n\n .${globalClasses.innerShadow} {\n content: '';\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n }\n\n &::-moz-focus-inner {\n border: 0;\n padding: 0;\n }\n &::after {\n content: '';\n display: inline-block;\n vertical-align: baseline;\n width: 0;\n }\n\n &:hover svg {\n color: ${t.btnIconHoverColor};\n }\n &.${globalClasses.disabled} svg {\n color: ${t.btnIconDisabledColor};\n }\n & svg {\n color: ${t.btnIconColor};\n }\n `;\n },\n\n withArrowIconRightSmall(t: Theme) {\n return emotion.css`\n padding-right: calc(${t.btnIconSizeSmall} + ${t.btnWithIconPaddingSmall} + ${t.btnWithIconPaddingSmall});\n `;\n },\n\n withArrowIconRightMedium(t: Theme) {\n return emotion.css`\n padding-right: calc(${t.btnIconSizeMedium} + ${t.btnWithIconPaddingMedium} + ${t.btnWithIconPaddingMedium});\n `;\n },\n\n withArrowIconRightLarge(t: Theme) {\n return emotion.css`\n padding-right: calc(${t.btnIconSizeLarge} + ${t.btnWithIconPaddingLarge} + ${t.btnWithIconPaddingLarge});\n `;\n },\n\n withArrowIconLeftSmall(t: Theme) {\n return emotion.css`\n padding-left: calc(${t.btnIconSizeSmall} + ${t.btnWithIconPaddingSmall} + ${t.btnWithIconPaddingSmall});\n `;\n },\n\n withArrowIconLeftMedium(t: Theme) {\n return emotion.css`\n padding-left: calc(${t.btnIconSizeMedium} + ${t.btnWithIconPaddingMedium} + ${t.btnWithIconPaddingMedium});\n `;\n },\n\n withArrowIconLeftLarge(t: Theme) {\n return emotion.css`\n padding-left: calc(${t.btnIconSizeLarge} + ${t.btnWithIconPaddingLarge} + ${t.btnWithIconPaddingLarge});\n `;\n },\n\n simulatedPress() {\n return emotion.css`\n &:active .${globalClasses.caption} {\n transform: translateY(1px);\n }\n `;\n },\n\n /** @deprecated */\n outlineDefault() {\n return emotion.css`\n border-radius: inherit;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n `;\n },\n\n /** @deprecated */\n outlineWarning(t: Theme) {\n return emotion.css`\n box-shadow:\n 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorWarning},\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n /** @deprecated */\n outlineError(t: Theme) {\n return emotion.css`\n box-shadow:\n 0 0 0 ${t.btnOutlineWidth} ${t.btnBorderColorError},\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnInsetColor};\n `;\n },\n\n /** @deprecated */\n outlineLink() {\n return emotion.css`\n cursor: default;\n box-shadow: none;\n left: -2px;\n right: -2px;\n bottom: -2px;\n top: -2px;\n `;\n },\n\n /** @deprecated */\n outlineLinkWarning(t: Theme) {\n return emotion.css`\n background-color: ${t.btnWarningSecondary};\n `;\n },\n\n /** @deprecated */\n outlineLinkError(t: Theme) {\n return emotion.css`\n background-color: ${t.btnErrorSecondary};\n `;\n },\n\n sizeSmall(t: Theme) {\n return emotion.css`\n border-radius: ${t.btnBorderRadiusSmall};\n\n ${buttonSizeMixin(t.btnFontSizeSmall, t.btnLineHeightSmall, t.btnPaddingXSmall, t.btnPaddingYSmall)};\n `;\n },\n\n sizeMedium(t: Theme) {\n return emotion.css`\n border-radius: ${t.btnBorderRadiusMedium};\n\n ${buttonSizeMixin(t.btnFontSizeMedium, t.btnLineHeightMedium, t.btnPaddingXMedium, t.btnPaddingYMedium)};\n `;\n },\n\n sizeLarge(t: Theme) {\n return emotion.css`\n border-radius: ${t.btnBorderRadiusLarge};\n\n ${buttonSizeMixin(t.btnFontSizeLarge, t.btnLineHeightLarge, t.btnPaddingXLarge, t.btnPaddingYLarge)};\n `;\n },\n\n sizeSmallWithIcon(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingSmall};\n `;\n },\n\n sizeMediumWithIcon(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingMedium};\n `;\n },\n\n sizeLargeWithIcon(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingLarge};\n `;\n },\n\n sizeSmallWithRightIcon(t: Theme) {\n return emotion.css`\n padding-right: ${t.btnWithIconPaddingSmall};\n `;\n },\n\n sizeMediumWithRightIcon(t: Theme) {\n return emotion.css`\n padding-right: ${t.btnWithIconPaddingMedium};\n `;\n },\n\n sizeLargeWithRightIcon(t: Theme) {\n return emotion.css`\n padding-right: ${t.btnWithIconPaddingLarge};\n `;\n },\n\n sizeSmallWithIconWithoutText(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingSmall};\n padding-right: ${t.btnWithIconPaddingSmall};\n `;\n },\n\n sizeMediumWithIconWithoutText(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingMedium};\n padding-right: ${t.btnWithIconPaddingMedium};\n `;\n },\n\n sizeLargeWithIconWithoutText(t: Theme) {\n return emotion.css`\n padding-left: ${t.btnWithIconPaddingLarge};\n padding-right: ${t.btnWithIconPaddingLarge};\n `;\n },\n\n /** @deprecated */\n link(t: Theme) {\n return emotion.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 margin: 0;\n padding: 0 !important; // override size mixin\n height: auto !important; // override size mixin\n\n &:hover:enabled,\n &:active:enabled {\n color: ${t.btnLinkHoverColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n }\n\n &:active:enabled {\n ${activeStyles.link(t)}\n }\n `;\n },\n\n /** @deprecated */\n linkLineHeight() {\n return emotion.css`\n line-height: inherit !important; // override size mixin\n `;\n },\n\n /** @deprecated */\n linkLineHeightSafariFallback() {\n return emotion.css`\n /* Safari overrides 'underline' and 'border' if 'line-height' is used */\n margin: -1px 0 -2px;\n `;\n },\n\n /** @deprecated */\n linkFocus(t: Theme) {\n return emotion.css`\n & {\n color: ${t.btnLinkColor};\n text-decoration: ${t.btnLinkHoverTextDecoration};\n }\n `;\n },\n\n /** @deprecated */\n linkDisabled(t: Theme) {\n return emotion.css`\n cursor: default;\n\n &,\n &:hover:enabled,\n &:active:enabled {\n color: ${t.btnLinkDisabledColor};\n }\n `;\n },\n\n focus(t: Theme) {\n return emotion.css`\n position: relative;\n z-index: 2;\n\n &,\n &:hover:enabled,\n &:active:enabled,\n &:active:hover:enabled {\n box-shadow:\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus} !important; // override root:hover style\n }\n `;\n },\n\n disabled(t: Theme) {\n return emotion.css`\n cursor: default;\n pointer-events: none;\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDisabledBorderColor};\n\n background-image: none;\n background-color: ${t.btnDisabledBg};\n color: ${t.btnDisabledTextColor};\n `;\n },\n\n disabledWithoutOutline(t: Theme) {\n return emotion.css`\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDisabledBg};\n `;\n },\n\n arrowIconRoot() {\n return emotion.css`\n position: absolute;\n height: 100%;\n top: 0;\n right: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: content-box;\n `;\n },\n\n arrowIconRootSmall(t: Theme) {\n return emotion.css`\n padding: 0 ${t.btnWithIconPaddingSmall} 0 ${t.btnWithIconPaddingSmall};\n width: ${t.btnIconSizeSmall};\n `;\n },\n\n arrowIconRootMedium(t: Theme) {\n return emotion.css`\n padding: 0 ${t.btnWithIconPaddingMedium} 0 ${t.btnWithIconPaddingMedium};\n width: ${t.btnIconSizeMedium};\n `;\n },\n\n arrowIconRootLarge(t: Theme) {\n return emotion.css`\n padding: 0 ${t.btnWithIconPaddingLarge} 0 ${t.btnWithIconPaddingLarge};\n width: ${t.btnIconSizeLarge};\n `;\n },\n\n arrowIconLeft() {\n return emotion.css`\n left: 0;\n `;\n },\n\n default(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnDefaultBg,\n t.btnDefaultBgStart,\n t.btnDefaultBgEnd,\n t.btnDefaultTextColor,\n t.btnDefaultBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnDefaultHoverBg,\n t.btnDefaultHoverBgStart,\n t.btnDefaultHoverBgEnd,\n t.btnDefaultHoverTextColor,\n t.btnDefaultHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.default(t)};\n }\n `;\n },\n\n accent(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnPrimaryBg,\n t.btnPrimaryBgStart,\n t.btnPrimaryBgEnd,\n t.btnPrimaryTextColor,\n t.btnPrimaryBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnPrimaryHoverBg,\n t.btnPrimaryHoverBgStart,\n t.btnPrimaryHoverBgEnd,\n t.btnPrimaryHoverTextColor,\n t.btnPrimaryHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.accent(t)}\n }\n `;\n },\n\n success(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnSuccessBg,\n t.btnSuccessBgStart,\n t.btnSuccessBgEnd,\n t.btnSuccessTextColor,\n t.btnSuccessBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnSuccessHoverBg,\n t.btnSuccessHoverBgStart,\n t.btnSuccessHoverBgEnd,\n t.btnSuccessHoverTextColor,\n t.btnSuccessHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.success(t)}\n }\n `;\n },\n\n danger(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnDangerBg,\n t.btnDangerBgStart,\n t.btnDangerBgEnd,\n t.btnDangerTextColor,\n t.btnDangerBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnDangerHoverBg,\n t.btnDangerHoverBgStart,\n t.btnDangerHoverBgEnd,\n t.btnDangerHoverTextColor,\n t.btnDangerHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.danger(t)}\n }\n `;\n },\n\n pay(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(\n t.btnPayBg,\n t.btnPayBgStart,\n t.btnPayBgEnd,\n t.btnPayTextColor,\n t.btnPayBorderColor,\n t.btnBorderWidth,\n )};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnPayHoverBg,\n t.btnPayHoverBgStart,\n t.btnPayHoverBgEnd,\n t.btnPayHoverTextColor,\n t.btnPayHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.pay(t)}\n }\n `;\n },\n\n text(t: Theme) {\n return emotion.css`\n &,\n &:enabled,\n &:hover {\n box-shadow: none;\n }\n\n ${buttonUseMixin(t.btnTextBg, '', '', t.btnTextTextColor, t.btnTextBorderColor, t.btnBorderWidth)};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnTextHoverBg,\n '',\n '',\n t.btnTextHoverTextColor,\n t.btnTextHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.text(t)}\n }\n `;\n },\n\n outline(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(t.btnBacklessBg, '', '', t.btnBacklessTextColor, t.btnBacklessBorderColor, t.btnBorderWidth)};\n\n &:hover {\n ${buttonHoverMixin(\n t.btnBacklessHoverBg,\n '',\n '',\n t.btnBacklessHoverTextColor,\n t.btnBacklessHoverBorderColor,\n t.btnBorderWidth,\n )};\n }\n\n &:active {\n ${activeStyles.outline(t)}\n }\n `;\n },\n\n fill(t: Theme) {\n return emotion.css`\n ${buttonUseMixin(t.btnFillBg, '', '', t.btnDefaultTextColor, '', '')};\n\n &:hover {\n ${buttonHoverMixin(t.btnFillHoverBg, '', '', t.btnDefaultHoverTextColor, '', '')};\n }\n\n &:active {\n ${activeStyles.fill(t)};\n }\n `;\n },\n\n checked(t: Theme) {\n const checkedStyles = `\n background-image: none;\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnDefaultCheckedBorderColor} !important;\n background-color: ${t.btnCheckedBg} !important;\n color: ${t.btnCheckedTextColor} !important;\n\n .${globalClasses.innerShadow} {\n box-shadow: ${t.btnCheckedShadow};\n }\n\n :enabled svg {\n color: ${t.btnCheckedTextColor} !important;\n }\n :hover:enabled svg {\n color: ${t.btnCheckedTextColor} !important;\n }\n `;\n\n return emotion.css`\n ${checkedStyles}\n\n &:hover:enabled,\n &:active:enabled,\n &:hover:active:enabled {\n ${checkedStyles}\n }\n `;\n },\n\n checkedFocused(t: Theme) {\n return emotion.css`\n &:hover:enabled,\n &:hover:active:enabled {\n box-shadow:\n inset 0 0 0 ${t.btnInsetWidth} ${t.btnOutlineColorFocus},\n 0 0 0 ${t.btnFocusShadowWidth} ${t.btnBorderColorFocus} !important;\n border-color: ${t.btnBorderColorFocus} !important;\n }\n `;\n },\n\n checkedDisabled(t: Theme) {\n return emotion.css`\n box-shadow: 0 0 0 ${t.btnBorderWidth} ${t.btnCheckedDisabledBorderColor};\n background-color: ${t.btnCheckedDisabledBg};\n color: ${t.btnCheckedDisabledColor};\n\n .${globalClasses.innerShadow} {\n box-shadow: ${t.btnCheckedDisabledShadow};\n }\n\n svg {\n color: ${t.btnCheckedDisabledColor} !important;\n }\n `;\n },\n\n caption() {\n return emotion.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 emotion.css`\n display: inline;\n transform: none !important; // override root:active style\n `;\n },\n\n captionDisabled() {\n return emotion.css`\n transform: none !important; // override root:active style\n `;\n },\n\n wrap(t: Theme) {\n return emotion.css`\n box-sizing: border-box;\n display: inline-block;\n line-height: normal;\n padding: ${t.btnBorderWidth};\n `;\n },\n\n wrapSmall(t: Theme) {\n return emotion.css`\n height: ${t.btnHeightSmall};\n `;\n },\n\n wrapMedium(t: Theme) {\n return emotion.css`\n height: ${t.btnHeightMedium};\n `;\n },\n\n wrapLarge(t: Theme) {\n return emotion.css`\n height: ${t.btnHeightLarge};\n `;\n },\n\n /** @deprecated */\n narrow() {\n return emotion.css`\n padding-left: 5px;\n padding-right: 5px;\n `;\n },\n\n noPadding() {\n return emotion.css`\n padding-left: 0;\n padding-right: 0;\n `;\n },\n\n noRightPadding() {\n return emotion.css`\n padding-right: 0;\n `;\n },\n\n wrapLink() {\n return emotion.css`\n padding: 0;\n `;\n },\n\n /** @deprecated */\n borderless() {\n return emotion.css`\n &,\n &:active:hover,\n &:hover {\n box-shadow: none !important; // override root:hover style\n }\n `;\n },\n\n backlessDisabled(t: Theme) {\n return emotion.css`\n box-shadow: 0 0 0 1px ${t.btnBacklessDisabledBorderColor};\n background-color: transparent;\n `;\n },\n\n textDisabled() {\n return emotion.css`\n background-color: transparent;\n `;\n },\n\n loading() {\n return emotion.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 emotion.css`\n visibility: hidden;\n `;\n },\n };\n});\n\nexport const getActiveStyles = memoizeGetStyles(({ css }: Emotion) => ({\n default(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(\n t.btnDefaultActiveBg,\n t.btnDefaultActiveShadow,\n t.btnDefaultActiveBorderColor,\n t.btnBorderWidth,\n )};\n }\n `;\n },\n\n accent(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(\n t.btnPrimaryActiveBg,\n t.btnPrimaryActiveShadow,\n t.btnPrimaryActiveBorderColor,\n t.btnBorderWidth,\n )};\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(\n t.btnSuccessActiveBg,\n t.btnSuccessActiveShadow,\n t.btnSuccessActiveBorderColor,\n t.btnBorderWidth,\n )};\n }\n `;\n },\n\n danger(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(\n t.btnDangerActiveBg,\n t.btnDangerActiveShadow,\n t.btnDangerActiveBorderColor,\n t.btnBorderWidth,\n )};\n }\n `;\n },\n\n pay(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(t.btnPayActiveBg, t.btnPayActiveShadow, t.btnPayActiveBorderColor, t.btnBorderWidth)};\n }\n `;\n },\n\n link(t: Theme) {\n return css`\n & {\n color: ${t.btnLinkActiveColor};\n }\n `;\n },\n\n text(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(t.btnTextActiveBg, '', t.btnTextActiveBg, t.btnBorderWidth)};\n }\n `;\n },\n\n outline(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(t.btnBacklessActiveBg, '', t.btnBacklessActiveBorderColor, t.btnBorderWidth)};\n }\n `;\n },\n\n fill(t: Theme) {\n return css`\n & {\n ${buttonActiveMixin(t.btnFillActiveBg, '', '', '')};\n }\n `;\n },\n}));\n"]}
@@ -4,8 +4,6 @@ import type { TGetRootNode } from '../../lib/rootNode/index.js';
4
4
  import type { Nullable, Range } from '../../typings/utility-types.js';
5
5
  import type { CalendarDayProps } from './CalendarDay.js';
6
6
  import { MonthViewModel } from './MonthViewModel.js';
7
- import { CalendarDataTids } from './tids.js';
8
- export { CalendarDataTids };
9
7
  export interface CalendarProps extends CommonProps {
10
8
  /** Событие изменения value.
11
9
  * @param {string} date - строка в формате `dd.mm.yyyy`. */
@@ -51,6 +49,13 @@ export interface CalendarMonthChangeInfo {
51
49
  month: number;
52
50
  year: number;
53
51
  }
52
+ export declare const CalendarDataTids: {
53
+ readonly root: "Calendar__root";
54
+ readonly month: "MonthView__month";
55
+ readonly dayCell: "DayCellView__root";
56
+ readonly headerMonth: "MonthView__headerMonth";
57
+ readonly headerYear: "MonthView__headerYear";
58
+ };
54
59
  type DefaultProps = Required<Pick<CalendarProps, 'minDate' | 'maxDate' | 'isHoliday'>>;
55
60
  /**
56
61
  * Блок календаря для выбора даты с помощью мыши. Используется в [поле с датой](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-datepicker--docs).
@@ -102,3 +107,4 @@ export declare class Calendar extends React.Component<CalendarProps, CalendarSta
102
107
  private scrollTo;
103
108
  private scrollAmount;
104
109
  }
110
+ export {};
@@ -90,8 +90,13 @@ import * as CalendarUtils from './CalendarUtils.js';
90
90
  import { themeConfig } from './config.js';
91
91
  import { Month } from './Month.js';
92
92
  import { MonthViewModel } from './MonthViewModel.js';
93
- import { CalendarDataTids } from './tids.js';
94
- export { CalendarDataTids };
93
+ export var CalendarDataTids = {
94
+ root: 'Calendar__root',
95
+ month: 'MonthView__month',
96
+ dayCell: 'DayCellView__root',
97
+ headerMonth: 'MonthView__headerMonth',
98
+ headerYear: 'MonthView__headerYear',
99
+ };
95
100
  /**
96
101
  * Блок календаря для выбора даты с помощью мыши. Используется в [поле с датой](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-datepicker--docs).
97
102
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["Calendar.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport throttle from 'lodash.throttle';\nimport normalizeWheel from 'normalize-wheel';\nimport React from 'react';\nimport shallowEqual from 'shallowequal';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { animation } from '../../lib/animation/index.js';\nimport { isMobile } from '../../lib/client.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from '../../lib/date/constants.js';\nimport { InternalDate } from '../../lib/date/InternalDate.js';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer.js';\nimport type { GlobalObject, SafeTimer } from '../../lib/globalObject.js';\nimport { isInstanceOf } from '../../lib/isInstanceOf.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { Nullable, Range } from '../../typings/utility-types.js';\nimport { getStyles } from './Calendar.styles.js';\nimport { CalendarContext } from './CalendarContext.js';\nimport type { CalendarContextProps } from './CalendarContext.js';\nimport { create, isGreater, isLess } from './CalendarDateShape.js';\nimport type { CalendarDateShape } from './CalendarDateShape.js';\nimport { CalendarDay } from './CalendarDay.js';\nimport type { CalendarDayProps } from './CalendarDay.js';\nimport * as CalendarScrollEvents from './CalendarScrollEvents.js';\nimport * as CalendarUtils from './CalendarUtils.js';\nimport { themeConfig } from './config.js';\nimport { Month } from './Month.js';\nimport { MonthViewModel } from './MonthViewModel.js';\nimport { CalendarDataTids } from './tids.js';\n\nexport { CalendarDataTids };\n\nexport interface CalendarProps extends CommonProps {\n /** Событие изменения value.\n * @param {string} date - строка в формате `dd.mm.yyyy`. */\n onValueChange?: (date: string) => void;\n\n /** Текущая дата в формате `dd.mm.yyyy`. */\n value: Nullable<string>;\n\n /** Максимальная дата в формате `dd.mm.yyyy`. */\n maxDate?: string;\n\n /** Минимальная дата в формате `dd.mm.yyyy`. */\n minDate?: string;\n\n /** Начальная дата периода в формате `dd.mm.yyyy`. */\n periodStartDate?: string;\n\n /** Конечная дата периода в формате `dd.mm.yyyy`. */\n periodEndDate?: string;\n\n /** Определение праздничных дней.\n * @default (_day, isWeekend) => isWeekend.\n * @param {string} day - строка в формате `dd.mm.yyyy`.\n * @param {boolean} isWeekend - флаг выходного (суббота или воскресенье).\n * @returns {boolean} `true` для выходного или `false` для рабочего дня. */\n isHoliday?: (day: string, isWeekend: boolean) => boolean;\n\n /** Начальный месяц. */\n initialMonth?: Range<1, 13>;\n\n /** Начальный год. */\n initialYear?: number;\n\n /** Отрисовка дат в календаре.\n * @default (props: CalendarDayProps) => <CalendarDay {...props} />\n * @param {CalendarDayProps} props - параметры дня.\n * @returns {ReactElement} элемент, который отрисовывает контент числа месяца. */\n renderDay?: (props: CalendarDayProps) => React.ReactElement<unknown>;\n\n /** Событие изменения месяца.\n * @param {CalendarMonthChangeInfo} changeInfo - информация об изменении отображаемого месяца, где\n * `month: number` - номер текущего отображаемого месяца от 1 до 12,\n * `year: number` - отображаемый год. */\n onMonthChange?: (changeInfo: CalendarMonthChangeInfo) => void;\n}\n\nexport interface CalendarState {\n scrollPosition: number;\n months: MonthViewModel[];\n scrollDirection: number;\n scrollTarget: number;\n}\n\nexport interface CalendarMonthChangeInfo {\n month: number;\n year: number;\n}\n\ntype DefaultProps = Required<Pick<CalendarProps, 'minDate' | 'maxDate' | 'isHoliday'>>;\n\n/**\n * Блок календаря для выбора даты с помощью мыши. Используется в [поле с датой](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-datepicker--docs).\n */\n@withRenderEnvironment\n@rootNode\nexport class Calendar extends React.Component<CalendarProps, CalendarState> {\n public static __KONTUR_REACT_UI__ = 'Calendar';\n public static displayName = 'Calendar';\n\n public static Day = CalendarDay;\n\n private static formatDate(date: number, month: number, year: number) {\n return new InternalDate().setComponents({ date, month, year }).toString({ withPad: true });\n }\n\n public static defaultProps: DefaultProps = {\n minDate: Calendar.formatDate(MIN_DATE, MIN_MONTH, MIN_YEAR),\n maxDate: Calendar.formatDate(MAX_DATE, MAX_MONTH, MAX_YEAR),\n isHoliday: (_day: string, isWeekend: boolean) => isWeekend,\n };\n\n private getProps = createPropsGetter(Calendar.defaultProps);\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private wheelEndTimeout: SafeTimer;\n private root: Nullable<HTMLElement>;\n private animation!: ReturnType<typeof animation>;\n private touchStartY: Nullable<number> = null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n constructor(props: CalendarProps) {\n super(props);\n\n const { minDate, maxDate, value } = this.getProps();\n\n const minDateShape = this.getDateInNativeFormat(minDate);\n const maxDateShape = this.getDateInNativeFormat(maxDate);\n const dateShape = this.getDateInNativeFormat(value);\n\n const today = CalendarUtils.getTodayDate();\n const initialDate = CalendarUtils.getInitialDate({\n today,\n date: dateShape,\n minDate: minDateShape,\n maxDate: maxDateShape,\n });\n\n const initialMonth = this.props.initialMonth\n ? CalendarUtils.getMonthInNativeFormat(this.props.initialMonth)\n : initialDate.month;\n const initialYear = this.props.initialYear ?? initialDate.year;\n\n this.state = {\n scrollPosition: 0,\n months: CalendarUtils.getMonths(initialMonth, initialYear),\n scrollDirection: 1,\n scrollTarget: 0,\n };\n }\n\n public componentDidUpdate(prevProps: Readonly<CalendarProps>, prevState: Readonly<CalendarState>): void {\n const { value, onMonthChange } = this.props;\n if (value && !shallowEqual(value, prevProps.value)) {\n const date = new InternalDate().parseValue(value).getComponentsLikeNumber();\n this.scrollToMonth(date.month, date.year);\n }\n\n if (onMonthChange) {\n const visibleMonthsModels = this.getVisibleMonths(this.state).map(this.getViewModel);\n const prevFirstVisibleMonthModels = this.getVisibleMonths(prevState).map(this.getViewModel);\n\n if (visibleMonthsModels.length > 0 && prevFirstVisibleMonthModels.length > 0) {\n const currentMonth = visibleMonthsModels[0].month;\n const prevCurrentMonth = prevFirstVisibleMonthModels[0].month;\n\n if (currentMonth !== prevCurrentMonth) {\n this.handleMonthChange(visibleMonthsModels);\n }\n }\n }\n }\n\n public componentWillUnmount() {\n if (this.animation.inProgress()) {\n this.animation.cancel();\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n this.animation = animation(this.globalObject);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Прокручивает календарь до переданной даты.\n * @public\n */\n public scrollToMonth = async (month: number, year: number): Promise<void> => {\n const monthNative = CalendarUtils.getMonthInNativeFormat(month);\n\n if (this.animation.inProgress()) {\n this.animation.finish();\n // FIXME: Dirty hack to await batched updates\n await new Promise((r) => setTimeout(r, 0));\n }\n\n const minDate = this.getDateInNativeFormat(this.getProps().minDate);\n const maxDate = this.getDateInNativeFormat(this.getProps().maxDate);\n\n if (minDate && isGreater(minDate, create(32, monthNative, year))) {\n const minMonth = CalendarUtils.getMonthInHumanFormat(minDate.month);\n this.scrollToMonth(minMonth, minDate.year);\n return;\n }\n\n if (maxDate && isLess(maxDate, create(0, monthNative, year))) {\n const maxMonth = CalendarUtils.getMonthInHumanFormat(maxDate.month);\n this.scrollToMonth(maxMonth, maxDate.year);\n return;\n }\n\n const currentMonth = this.state.months[1];\n const diffInMonths = currentMonth.month + currentMonth.year * 12 - monthNative - year * 12;\n\n if (diffInMonths === 0) {\n this.scrollTo(0);\n return;\n }\n\n const maxMonthsToAdd = themeConfig(this.theme).MAX_MONTHS_TO_APPEND_ON_SCROLL;\n\n const onEnd = () => {\n this.setState({\n months: CalendarUtils.getMonths(monthNative, year),\n scrollPosition: 0,\n });\n };\n\n // If scrolling upwards, prepend maximum maxMonthsToAdd months\n // and scroll to the first month\n if (diffInMonths > 0) {\n const monthsToPrependCount = Math.min(Math.abs(diffInMonths) - 1, maxMonthsToAdd);\n const monthsToPrepend = Array.from({ length: monthsToPrependCount }, (_, index) => {\n return MonthViewModel.create(monthNative + index, year);\n });\n this.setState(\n (state) => {\n return {\n months: monthsToPrepend.concat(state.months),\n scrollPosition: -CalendarUtils.getMonthsHeight(monthsToPrepend, this.theme),\n };\n },\n () => {\n const targetPosition = this.state.months[0].getHeight(this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n\n // If scrolling downwards, append maximum maxMonthsToAdd months\n // and scroll to the last but one month\n if (diffInMonths < 0) {\n const monthsToAppendCount = Math.min(Math.abs(diffInMonths), maxMonthsToAdd);\n const monthsToAppend = Array.from({ length: monthsToAppendCount }, (_, index) => {\n return MonthViewModel.create(monthNative + index - monthsToAppendCount + 2, year);\n });\n this.setState(\n (state) => {\n return { months: state.months.concat(monthsToAppend) };\n },\n () => {\n const targetPosition = -1 * CalendarUtils.getMonthsHeight(this.state.months.slice(1, -2), this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n };\n\n private handleMonthChange = (visibleMonths: MonthViewModel[]): void => {\n const currentMonth = visibleMonths[0];\n const changeInfo = {\n month: CalendarUtils.getMonthInHumanFormat(currentMonth.month),\n year: currentMonth.year,\n };\n\n this.props.onMonthChange?.(changeInfo);\n };\n\n private getViewModel = (item: [number, MonthViewModel]): MonthViewModel => item[1];\n\n private renderMain = () => {\n const monthsForRender = this.getVisibleMonths(this.state);\n const wrapperStyle = { height: themeConfig(this.theme).WRAPPER_HEIGHT };\n\n const props = this.getProps();\n\n const context: CalendarContextProps = {\n value: this.getDateInNativeFormat(props.value),\n minDate: this.getDateInNativeFormat(props.minDate),\n maxDate: this.getDateInNativeFormat(props.maxDate),\n isHoliday: props.isHoliday,\n renderDay: props.renderDay,\n today: CalendarUtils.getTodayDate(),\n onDateClick: this.handleDateClick,\n };\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...props}>\n <div ref={this.refRoot} data-tid={CalendarDataTids.root} className={this.cx(this.styles.root(this.theme))}>\n <div style={wrapperStyle} className={this.styles.wrapper()}>\n <CalendarContext.Provider value={context}>\n {monthsForRender.map(this.renderMonth, this)}\n </CalendarContext.Provider>\n </div>\n <div className={this.styles.separator(this.theme)} />\n </div>\n </CommonWrapper>\n );\n };\n\n private refRoot = (element: HTMLElement | null) => {\n if (!this.root && element) {\n if (isMobile) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n }\n if (this.root && !element) {\n if (isMobile) {\n this.root.removeEventListener('touchstart', this.handleTouchStart);\n this.root.removeEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n this.root.removeEventListener('wheel', this.handleWheel);\n }\n }\n this.root = element;\n };\n\n private renderMonth([top, month]: [number, MonthViewModel]) {\n return (\n <Month\n key={month.month + '-' + month.year}\n top={top}\n month={month}\n onMonthYearChange={this.handleMonthYearChange}\n />\n );\n }\n\n private handleDateClick = (dateShape: CalendarDateShape) => {\n const value = InternalDateTransformer.dateToHumanString(dateShape);\n\n this.props.onValueChange?.(value);\n };\n\n private getDateInNativeFormat(date: Nullable<string>) {\n return new InternalDate().parseValue(date).toNativeFormat();\n }\n\n private getMonthPositions(months: MonthViewModel[], scrollPosition: number) {\n const positions = [scrollPosition - months[0].getHeight(this.theme)];\n for (let i = 1; i < months.length; i++) {\n const position = positions[i - 1] + months[i - 1].getHeight(this.theme);\n positions.push(position);\n }\n return positions;\n }\n\n private getVisibleMonths(state: Readonly<CalendarState>): Array<[number, MonthViewModel]> {\n const { months, scrollPosition } = state;\n const positions = this.getMonthPositions(months, scrollPosition);\n\n return months\n .map<[number, MonthViewModel]>((x, i) => [positions[i], x])\n .filter(([top, month]) => CalendarUtils.isMonthVisible(top, month, this.theme));\n }\n\n private handleMonthYearChange = (monthNative: number, year: number) => {\n const month = CalendarUtils.getMonthInHumanFormat(monthNative);\n this.scrollToMonth(month, year);\n };\n\n private executeAnimations = (pixelY: number) => {\n this.setState(({ months, scrollPosition }) => {\n const targetPosition = CalendarUtils.calculateScrollPosition(\n months,\n scrollPosition,\n pixelY,\n this.theme,\n ).scrollPosition;\n return { scrollTarget: targetPosition };\n }, this.handleWheelEnd);\n\n this.animation.animate(pixelY, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n\n CalendarScrollEvents.emit();\n };\n\n private handleTouchStart = (event: Event) => {\n if (!isInstanceOf(event, this.globalObject.TouchEvent)) {\n return;\n }\n\n const clientY = event.targetTouches[0].clientY;\n this.touchStartY = clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!isInstanceOf(event, this.globalObject.TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n\n const deltaY = (this.touchStartY || 0) - clientY;\n this.touchStartY = clientY;\n\n this.executeAnimations(deltaY);\n };\n\n private throttledHandleTouchMove = throttle(this.handleTouchMove, 10);\n\n private handleWheel = (event: Event) => {\n if (!isInstanceOf(event, this.globalObject.WheelEvent)) {\n return;\n }\n event.preventDefault();\n const { pixelY } = normalizeWheel(event);\n\n this.executeAnimations(pixelY);\n };\n\n private handleWheelEnd = () => {\n if (this.wheelEndTimeout) {\n clearTimeout(this.wheelEndTimeout);\n }\n this.wheelEndTimeout = setTimeout(this.scrollToNearestWeek, 300);\n };\n private scrollToNearestWeek = () => {\n const { scrollTarget, scrollDirection } = this.state;\n\n const thresholdHeight = themeConfig(this.theme).MONTH_TITLE_OFFSET_HEIGHT + themeConfig(this.theme).DAY_HEIGHT;\n\n if (scrollTarget < thresholdHeight) {\n let targetPosition = 0;\n if (scrollDirection < 0) {\n targetPosition = thresholdHeight;\n }\n\n this.setState({ scrollTarget: targetPosition }, () => {\n const amount = scrollTarget - targetPosition;\n this.animation.animate(amount, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n });\n }\n };\n\n private scrollTo = (pos: number, onEnd?: () => void) => {\n const scrollAmmount = pos - this.state.scrollPosition;\n return this.scrollAmount(scrollAmmount, onEnd);\n };\n\n private scrollAmount = (scrollAmmount: number, onEnd?: () => void) => {\n return this.animation.animate(\n scrollAmmount,\n (deltaY) => {\n this.setState(({ scrollPosition }) => ({\n scrollPosition: scrollPosition + deltaY,\n }));\n },\n onEnd,\n );\n };\n}\n"]}
1
+ {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["Calendar.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport throttle from 'lodash.throttle';\nimport normalizeWheel from 'normalize-wheel';\nimport React from 'react';\nimport shallowEqual from 'shallowequal';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { animation } from '../../lib/animation/index.js';\nimport { isMobile } from '../../lib/client.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { MAX_DATE, MAX_MONTH, MAX_YEAR, MIN_DATE, MIN_MONTH, MIN_YEAR } from '../../lib/date/constants.js';\nimport { InternalDate } from '../../lib/date/InternalDate.js';\nimport { InternalDateTransformer } from '../../lib/date/InternalDateTransformer.js';\nimport type { GlobalObject, SafeTimer } from '../../lib/globalObject.js';\nimport { isInstanceOf } from '../../lib/isInstanceOf.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { Nullable, Range } from '../../typings/utility-types.js';\nimport { getStyles } from './Calendar.styles.js';\nimport { CalendarContext } from './CalendarContext.js';\nimport type { CalendarContextProps } from './CalendarContext.js';\nimport { create, isGreater, isLess } from './CalendarDateShape.js';\nimport type { CalendarDateShape } from './CalendarDateShape.js';\nimport { CalendarDay } from './CalendarDay.js';\nimport type { CalendarDayProps } from './CalendarDay.js';\nimport * as CalendarScrollEvents from './CalendarScrollEvents.js';\nimport * as CalendarUtils from './CalendarUtils.js';\nimport { themeConfig } from './config.js';\nimport { Month } from './Month.js';\nimport { MonthViewModel } from './MonthViewModel.js';\n\nexport interface CalendarProps extends CommonProps {\n /** Событие изменения value.\n * @param {string} date - строка в формате `dd.mm.yyyy`. */\n onValueChange?: (date: string) => void;\n\n /** Текущая дата в формате `dd.mm.yyyy`. */\n value: Nullable<string>;\n\n /** Максимальная дата в формате `dd.mm.yyyy`. */\n maxDate?: string;\n\n /** Минимальная дата в формате `dd.mm.yyyy`. */\n minDate?: string;\n\n /** Начальная дата периода в формате `dd.mm.yyyy`. */\n periodStartDate?: string;\n\n /** Конечная дата периода в формате `dd.mm.yyyy`. */\n periodEndDate?: string;\n\n /** Определение праздничных дней.\n * @default (_day, isWeekend) => isWeekend.\n * @param {string} day - строка в формате `dd.mm.yyyy`.\n * @param {boolean} isWeekend - флаг выходного (суббота или воскресенье).\n * @returns {boolean} `true` для выходного или `false` для рабочего дня. */\n isHoliday?: (day: string, isWeekend: boolean) => boolean;\n\n /** Начальный месяц. */\n initialMonth?: Range<1, 13>;\n\n /** Начальный год. */\n initialYear?: number;\n\n /** Отрисовка дат в календаре.\n * @default (props: CalendarDayProps) => <CalendarDay {...props} />\n * @param {CalendarDayProps} props - параметры дня.\n * @returns {ReactElement} элемент, который отрисовывает контент числа месяца. */\n renderDay?: (props: CalendarDayProps) => React.ReactElement<unknown>;\n\n /** Событие изменения месяца.\n * @param {CalendarMonthChangeInfo} changeInfo - информация об изменении отображаемого месяца, где\n * `month: number` - номер текущего отображаемого месяца от 1 до 12,\n * `year: number` - отображаемый год. */\n onMonthChange?: (changeInfo: CalendarMonthChangeInfo) => void;\n}\n\nexport interface CalendarState {\n scrollPosition: number;\n months: MonthViewModel[];\n scrollDirection: number;\n scrollTarget: number;\n}\n\nexport interface CalendarMonthChangeInfo {\n month: number;\n year: number;\n}\n\nexport const CalendarDataTids = {\n root: 'Calendar__root',\n month: 'MonthView__month',\n dayCell: 'DayCellView__root',\n headerMonth: 'MonthView__headerMonth',\n headerYear: 'MonthView__headerYear',\n} as const;\n\ntype DefaultProps = Required<Pick<CalendarProps, 'minDate' | 'maxDate' | 'isHoliday'>>;\n\n/**\n * Блок календаря для выбора даты с помощью мыши. Используется в [поле с датой](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-datepicker--docs).\n */\n@withRenderEnvironment\n@rootNode\nexport class Calendar extends React.Component<CalendarProps, CalendarState> {\n public static __KONTUR_REACT_UI__ = 'Calendar';\n public static displayName = 'Calendar';\n\n public static Day = CalendarDay;\n\n private static formatDate(date: number, month: number, year: number) {\n return new InternalDate().setComponents({ date, month, year }).toString({ withPad: true });\n }\n\n public static defaultProps: DefaultProps = {\n minDate: Calendar.formatDate(MIN_DATE, MIN_MONTH, MIN_YEAR),\n maxDate: Calendar.formatDate(MAX_DATE, MAX_MONTH, MAX_YEAR),\n isHoliday: (_day: string, isWeekend: boolean) => isWeekend,\n };\n\n private getProps = createPropsGetter(Calendar.defaultProps);\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n private wheelEndTimeout: SafeTimer;\n private root: Nullable<HTMLElement>;\n private animation!: ReturnType<typeof animation>;\n private touchStartY: Nullable<number> = null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n constructor(props: CalendarProps) {\n super(props);\n\n const { minDate, maxDate, value } = this.getProps();\n\n const minDateShape = this.getDateInNativeFormat(minDate);\n const maxDateShape = this.getDateInNativeFormat(maxDate);\n const dateShape = this.getDateInNativeFormat(value);\n\n const today = CalendarUtils.getTodayDate();\n const initialDate = CalendarUtils.getInitialDate({\n today,\n date: dateShape,\n minDate: minDateShape,\n maxDate: maxDateShape,\n });\n\n const initialMonth = this.props.initialMonth\n ? CalendarUtils.getMonthInNativeFormat(this.props.initialMonth)\n : initialDate.month;\n const initialYear = this.props.initialYear ?? initialDate.year;\n\n this.state = {\n scrollPosition: 0,\n months: CalendarUtils.getMonths(initialMonth, initialYear),\n scrollDirection: 1,\n scrollTarget: 0,\n };\n }\n\n public componentDidUpdate(prevProps: Readonly<CalendarProps>, prevState: Readonly<CalendarState>): void {\n const { value, onMonthChange } = this.props;\n if (value && !shallowEqual(value, prevProps.value)) {\n const date = new InternalDate().parseValue(value).getComponentsLikeNumber();\n this.scrollToMonth(date.month, date.year);\n }\n\n if (onMonthChange) {\n const visibleMonthsModels = this.getVisibleMonths(this.state).map(this.getViewModel);\n const prevFirstVisibleMonthModels = this.getVisibleMonths(prevState).map(this.getViewModel);\n\n if (visibleMonthsModels.length > 0 && prevFirstVisibleMonthModels.length > 0) {\n const currentMonth = visibleMonthsModels[0].month;\n const prevCurrentMonth = prevFirstVisibleMonthModels[0].month;\n\n if (currentMonth !== prevCurrentMonth) {\n this.handleMonthChange(visibleMonthsModels);\n }\n }\n }\n }\n\n public componentWillUnmount() {\n if (this.animation.inProgress()) {\n this.animation.cancel();\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n this.animation = animation(this.globalObject);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Прокручивает календарь до переданной даты.\n * @public\n */\n public scrollToMonth = async (month: number, year: number): Promise<void> => {\n const monthNative = CalendarUtils.getMonthInNativeFormat(month);\n\n if (this.animation.inProgress()) {\n this.animation.finish();\n // FIXME: Dirty hack to await batched updates\n await new Promise((r) => setTimeout(r, 0));\n }\n\n const minDate = this.getDateInNativeFormat(this.getProps().minDate);\n const maxDate = this.getDateInNativeFormat(this.getProps().maxDate);\n\n if (minDate && isGreater(minDate, create(32, monthNative, year))) {\n const minMonth = CalendarUtils.getMonthInHumanFormat(minDate.month);\n this.scrollToMonth(minMonth, minDate.year);\n return;\n }\n\n if (maxDate && isLess(maxDate, create(0, monthNative, year))) {\n const maxMonth = CalendarUtils.getMonthInHumanFormat(maxDate.month);\n this.scrollToMonth(maxMonth, maxDate.year);\n return;\n }\n\n const currentMonth = this.state.months[1];\n const diffInMonths = currentMonth.month + currentMonth.year * 12 - monthNative - year * 12;\n\n if (diffInMonths === 0) {\n this.scrollTo(0);\n return;\n }\n\n const maxMonthsToAdd = themeConfig(this.theme).MAX_MONTHS_TO_APPEND_ON_SCROLL;\n\n const onEnd = () => {\n this.setState({\n months: CalendarUtils.getMonths(monthNative, year),\n scrollPosition: 0,\n });\n };\n\n // If scrolling upwards, prepend maximum maxMonthsToAdd months\n // and scroll to the first month\n if (diffInMonths > 0) {\n const monthsToPrependCount = Math.min(Math.abs(diffInMonths) - 1, maxMonthsToAdd);\n const monthsToPrepend = Array.from({ length: monthsToPrependCount }, (_, index) => {\n return MonthViewModel.create(monthNative + index, year);\n });\n this.setState(\n (state) => {\n return {\n months: monthsToPrepend.concat(state.months),\n scrollPosition: -CalendarUtils.getMonthsHeight(monthsToPrepend, this.theme),\n };\n },\n () => {\n const targetPosition = this.state.months[0].getHeight(this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n\n // If scrolling downwards, append maximum maxMonthsToAdd months\n // and scroll to the last but one month\n if (diffInMonths < 0) {\n const monthsToAppendCount = Math.min(Math.abs(diffInMonths), maxMonthsToAdd);\n const monthsToAppend = Array.from({ length: monthsToAppendCount }, (_, index) => {\n return MonthViewModel.create(monthNative + index - monthsToAppendCount + 2, year);\n });\n this.setState(\n (state) => {\n return { months: state.months.concat(monthsToAppend) };\n },\n () => {\n const targetPosition = -1 * CalendarUtils.getMonthsHeight(this.state.months.slice(1, -2), this.theme);\n this.scrollTo(targetPosition, onEnd);\n },\n );\n }\n };\n\n private handleMonthChange = (visibleMonths: MonthViewModel[]): void => {\n const currentMonth = visibleMonths[0];\n const changeInfo = {\n month: CalendarUtils.getMonthInHumanFormat(currentMonth.month),\n year: currentMonth.year,\n };\n\n this.props.onMonthChange?.(changeInfo);\n };\n\n private getViewModel = (item: [number, MonthViewModel]): MonthViewModel => item[1];\n\n private renderMain = () => {\n const monthsForRender = this.getVisibleMonths(this.state);\n const wrapperStyle = { height: themeConfig(this.theme).WRAPPER_HEIGHT };\n\n const props = this.getProps();\n\n const context: CalendarContextProps = {\n value: this.getDateInNativeFormat(props.value),\n minDate: this.getDateInNativeFormat(props.minDate),\n maxDate: this.getDateInNativeFormat(props.maxDate),\n isHoliday: props.isHoliday,\n renderDay: props.renderDay,\n today: CalendarUtils.getTodayDate(),\n onDateClick: this.handleDateClick,\n };\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...props}>\n <div ref={this.refRoot} data-tid={CalendarDataTids.root} className={this.cx(this.styles.root(this.theme))}>\n <div style={wrapperStyle} className={this.styles.wrapper()}>\n <CalendarContext.Provider value={context}>\n {monthsForRender.map(this.renderMonth, this)}\n </CalendarContext.Provider>\n </div>\n <div className={this.styles.separator(this.theme)} />\n </div>\n </CommonWrapper>\n );\n };\n\n private refRoot = (element: HTMLElement | null) => {\n if (!this.root && element) {\n if (isMobile) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n }\n if (this.root && !element) {\n if (isMobile) {\n this.root.removeEventListener('touchstart', this.handleTouchStart);\n this.root.removeEventListener('touchmove', this.throttledHandleTouchMove);\n } else {\n this.root.removeEventListener('wheel', this.handleWheel);\n }\n }\n this.root = element;\n };\n\n private renderMonth([top, month]: [number, MonthViewModel]) {\n return (\n <Month\n key={month.month + '-' + month.year}\n top={top}\n month={month}\n onMonthYearChange={this.handleMonthYearChange}\n />\n );\n }\n\n private handleDateClick = (dateShape: CalendarDateShape) => {\n const value = InternalDateTransformer.dateToHumanString(dateShape);\n\n this.props.onValueChange?.(value);\n };\n\n private getDateInNativeFormat(date: Nullable<string>) {\n return new InternalDate().parseValue(date).toNativeFormat();\n }\n\n private getMonthPositions(months: MonthViewModel[], scrollPosition: number) {\n const positions = [scrollPosition - months[0].getHeight(this.theme)];\n for (let i = 1; i < months.length; i++) {\n const position = positions[i - 1] + months[i - 1].getHeight(this.theme);\n positions.push(position);\n }\n return positions;\n }\n\n private getVisibleMonths(state: Readonly<CalendarState>): Array<[number, MonthViewModel]> {\n const { months, scrollPosition } = state;\n const positions = this.getMonthPositions(months, scrollPosition);\n\n return months\n .map<[number, MonthViewModel]>((x, i) => [positions[i], x])\n .filter(([top, month]) => CalendarUtils.isMonthVisible(top, month, this.theme));\n }\n\n private handleMonthYearChange = (monthNative: number, year: number) => {\n const month = CalendarUtils.getMonthInHumanFormat(monthNative);\n this.scrollToMonth(month, year);\n };\n\n private executeAnimations = (pixelY: number) => {\n this.setState(({ months, scrollPosition }) => {\n const targetPosition = CalendarUtils.calculateScrollPosition(\n months,\n scrollPosition,\n pixelY,\n this.theme,\n ).scrollPosition;\n return { scrollTarget: targetPosition };\n }, this.handleWheelEnd);\n\n this.animation.animate(pixelY, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n\n CalendarScrollEvents.emit();\n };\n\n private handleTouchStart = (event: Event) => {\n if (!isInstanceOf(event, this.globalObject.TouchEvent)) {\n return;\n }\n\n const clientY = event.targetTouches[0].clientY;\n this.touchStartY = clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!isInstanceOf(event, this.globalObject.TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n\n const deltaY = (this.touchStartY || 0) - clientY;\n this.touchStartY = clientY;\n\n this.executeAnimations(deltaY);\n };\n\n private throttledHandleTouchMove = throttle(this.handleTouchMove, 10);\n\n private handleWheel = (event: Event) => {\n if (!isInstanceOf(event, this.globalObject.WheelEvent)) {\n return;\n }\n event.preventDefault();\n const { pixelY } = normalizeWheel(event);\n\n this.executeAnimations(pixelY);\n };\n\n private handleWheelEnd = () => {\n if (this.wheelEndTimeout) {\n clearTimeout(this.wheelEndTimeout);\n }\n this.wheelEndTimeout = setTimeout(this.scrollToNearestWeek, 300);\n };\n private scrollToNearestWeek = () => {\n const { scrollTarget, scrollDirection } = this.state;\n\n const thresholdHeight = themeConfig(this.theme).MONTH_TITLE_OFFSET_HEIGHT + themeConfig(this.theme).DAY_HEIGHT;\n\n if (scrollTarget < thresholdHeight) {\n let targetPosition = 0;\n if (scrollDirection < 0) {\n targetPosition = thresholdHeight;\n }\n\n this.setState({ scrollTarget: targetPosition }, () => {\n const amount = scrollTarget - targetPosition;\n this.animation.animate(amount, (deltaY) => {\n // FIXME: Typescript not resolving setState cb type\n this.setState(CalendarUtils.applyDelta(deltaY, this.theme) as any);\n });\n });\n }\n };\n\n private scrollTo = (pos: number, onEnd?: () => void) => {\n const scrollAmmount = pos - this.state.scrollPosition;\n return this.scrollAmount(scrollAmmount, onEnd);\n };\n\n private scrollAmount = (scrollAmmount: number, onEnd?: () => void) => {\n return this.animation.animate(\n scrollAmmount,\n (deltaY) => {\n this.setState(({ scrollPosition }) => ({\n scrollPosition: scrollPosition + deltaY,\n }));\n },\n onEnd,\n );\n };\n}\n"]}
@@ -30,8 +30,8 @@ import { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
30
30
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
31
31
  import { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';
32
32
  import { DatePickerLocaleHelper } from '../DatePicker/locale/index.js';
33
+ import { CalendarDataTids } from './Calendar.js';
33
34
  import { getStyles } from './DayCellView.styles.js';
34
- import { CalendarDataTids } from './tids.js';
35
35
  /**
36
36
  * Компонент дня из [блока календаря](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-calendar--docs).
37
37
  *
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarDay.js","sourceRoot":"","sources":["CalendarDay.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { memo, useCallback, useContext } from 'react';\nimport type { PropsWithChildren } from 'react';\n\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes.js';\nimport { InternalDate } from '../../lib/date/InternalDate.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { LocaleContext } from '../../lib/locale/index.js';\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale/index.js';\nimport { getStyles } from './DayCellView.styles.js';\nimport { CalendarDataTids } from './tids.js';\n\nexport interface CalendarDayProps extends React.HTMLAttributes<HTMLButtonElement> {\n /** Устанавливает, является ли день текущим. */\n isToday?: boolean;\n\n /** Устанавливает, является ли день выбранным. */\n isSelected?: boolean;\n\n /** Устанавливает, является ли день недоступным. */\n isDisabled?: boolean;\n\n /** Устанавливает, является ли день выходным. */\n isWeekend?: boolean;\n\n /** Задаёт день. */\n date: string;\n\n /** Событие нажатия на день. Необходима для внутренней работы [календаря](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-calendar--docs). Не предназначена для переопределения. Вместо этого, следует использовать стандартный `onClick`.\n * @internal @ignore\n */\n onDayClick: () => void;\n}\n\n/**\n * Компонент дня из [блока календаря](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-calendar--docs).\n *\n * @visibleName Calendar.Day\n */\nexport const CalendarDay = memo(\n forwardRefAndName(\n 'CalendarDay',\n function CalendarDay(\n {\n isToday,\n isSelected,\n isDisabled,\n isWeekend,\n date,\n onDayClick,\n onClick,\n children,\n className,\n ...rest\n }: PropsWithChildren<CalendarDayProps>,\n ref: React.Ref<HTMLButtonElement>,\n ) {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const themeGTE6_1 = isThemeGTE(theme, '6.1');\n\n const { langCode } = useContext(LocaleContext);\n const internalDate = new InternalDate({ langCode, value: date });\n\n const locale = useLocaleForControl('Calendar', DatePickerLocaleHelper);\n const ariaLabel = `${locale.dayCellChooseDateAriaLabel}: ${internalDate.toA11YFormat()}`;\n\n const handleClick = useCallback<React.MouseEventHandler<HTMLButtonElement>>(\n (e) => {\n onDayClick();\n onClick?.(e);\n },\n [onDayClick, onClick],\n );\n\n const { date: day } = internalDate.getComponentsLikeNumber();\n const caption = children ?? day;\n\n return (\n <button\n ref={ref}\n data-tid={CalendarDataTids.dayCell}\n aria-label={ariaLabel}\n tabIndex={-1}\n disabled={isDisabled}\n onClick={handleClick}\n className={cx(\n {\n [styles.day(theme)]: true,\n [styles.weekend(theme)]: isWeekend,\n [styles.selected(theme)]: isSelected,\n [styles.selected6_1(theme)]: isSelected && themeGTE6_1,\n },\n className,\n )}\n {...getVisualStateDataAttributes({ selected: isSelected })}\n {...rest}\n >\n <span className={cx({ [styles.todayCaption(theme)]: isToday })}>{caption}</span>\n </button>\n );\n },\n ),\n);\n"]}
1
+ {"version":3,"file":"CalendarDay.js","sourceRoot":"","sources":["CalendarDay.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { memo, useCallback, useContext } from 'react';\nimport type { PropsWithChildren } from 'react';\n\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes.js';\nimport { InternalDate } from '../../lib/date/InternalDate.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { LocaleContext } from '../../lib/locale/index.js';\nimport { useLocaleForControl } from '../../lib/locale/useLocaleForControl.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport { DatePickerLocaleHelper } from '../DatePicker/locale/index.js';\nimport { CalendarDataTids } from './Calendar.js';\nimport { getStyles } from './DayCellView.styles.js';\n\nexport interface CalendarDayProps extends React.HTMLAttributes<HTMLButtonElement> {\n /** Устанавливает, является ли день текущим. */\n isToday?: boolean;\n\n /** Устанавливает, является ли день выбранным. */\n isSelected?: boolean;\n\n /** Устанавливает, является ли день недоступным. */\n isDisabled?: boolean;\n\n /** Устанавливает, является ли день выходным. */\n isWeekend?: boolean;\n\n /** Задаёт день. */\n date: string;\n\n /** Событие нажатия на день. Необходима для внутренней работы [календаря](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-calendar--docs). Не предназначена для переопределения. Вместо этого, следует использовать стандартный `onClick`.\n * @internal @ignore\n */\n onDayClick: () => void;\n}\n\n/**\n * Компонент дня из [блока календаря](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_date-components-calendar--docs).\n *\n * @visibleName Calendar.Day\n */\nexport const CalendarDay = memo(\n forwardRefAndName(\n 'CalendarDay',\n function CalendarDay(\n {\n isToday,\n isSelected,\n isDisabled,\n isWeekend,\n date,\n onDayClick,\n onClick,\n children,\n className,\n ...rest\n }: PropsWithChildren<CalendarDayProps>,\n ref: React.Ref<HTMLButtonElement>,\n ) {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const themeGTE6_1 = isThemeGTE(theme, '6.1');\n\n const { langCode } = useContext(LocaleContext);\n const internalDate = new InternalDate({ langCode, value: date });\n\n const locale = useLocaleForControl('Calendar', DatePickerLocaleHelper);\n const ariaLabel = `${locale.dayCellChooseDateAriaLabel}: ${internalDate.toA11YFormat()}`;\n\n const handleClick = useCallback<React.MouseEventHandler<HTMLButtonElement>>(\n (e) => {\n onDayClick();\n onClick?.(e);\n },\n [onDayClick, onClick],\n );\n\n const { date: day } = internalDate.getComponentsLikeNumber();\n const caption = children ?? day;\n\n return (\n <button\n ref={ref}\n data-tid={CalendarDataTids.dayCell}\n aria-label={ariaLabel}\n tabIndex={-1}\n disabled={isDisabled}\n onClick={handleClick}\n className={cx(\n {\n [styles.day(theme)]: true,\n [styles.weekend(theme)]: isWeekend,\n [styles.selected(theme)]: isSelected,\n [styles.selected6_1(theme)]: isSelected && themeGTE6_1,\n },\n className,\n )}\n {...getVisualStateDataAttributes({ selected: isSelected })}\n {...rest}\n >\n <span className={cx({ [styles.todayCaption(theme)]: isToday })}>{caption}</span>\n </button>\n );\n },\n ),\n);\n"]}
@@ -3,11 +3,11 @@ import { useResponsiveLayout } from '../../components/ResponsiveLayout/index.js'
3
3
  import { DateSelect } from '../../internal/DateSelect/index.js';
4
4
  import { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
5
5
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
6
+ import { CalendarDataTids } from './Calendar.js';
6
7
  import { CalendarContext } from './CalendarContext.js';
7
8
  import * as CDS from './CalendarDateShape.js';
8
9
  import { themeConfig } from './config.js';
9
10
  import { getStyles } from './MonthView.styles.js';
10
- import { CalendarDataTids } from './tids.js';
11
11
  export var getMinMonth = function (year, minDate) {
12
12
  var min = 0;
13
13
  for (var i = 0; i < 12; ++i) {
@@ -1 +1 @@
1
- {"version":3,"file":"MonthView.js","sourceRoot":"","sources":["MonthView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport type { Nullable } from '../..//typings/utility-types.js';\nimport { useResponsiveLayout } from '../../components/ResponsiveLayout/index.js';\nimport { DateSelect } from '../../internal/DateSelect/index.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { CalendarContext } from './CalendarContext.js';\nimport * as CDS from './CalendarDateShape.js';\nimport { themeConfig } from './config.js';\nimport { getStyles } from './MonthView.styles.js';\nimport { CalendarDataTids } from './tids.js';\n\nexport const getMinMonth = (year: number, minDate: Nullable<CDS.CalendarDateShape>): number => {\n let min = 0;\n for (let i = 0; i < 12; ++i) {\n if (minDate && CDS.isGreaterOrEqual({ date: 31, month: i, year }, minDate)) {\n min = i;\n break;\n }\n }\n return min;\n};\n\nexport const getMaxMonth = (year: number, maxDate: Nullable<CDS.CalendarDateShape>): number => {\n let max = 11;\n for (let i = 11; i >= 0; --i) {\n if (maxDate && CDS.isLessOrEqual({ date: 1, month: i, year }, maxDate)) {\n max = i;\n break;\n }\n }\n return max;\n};\n\ninterface MonthViewProps {\n children: React.ReactNode;\n firstDayOffset: number;\n height: number;\n isFirstInYear?: boolean;\n isLastInYear?: boolean;\n month: number;\n top: number;\n year: number;\n onMonthSelect: (month: number) => void;\n onYearSelect: (month: number) => void;\n monthSelectRef: (select: DateSelect | null) => void;\n yearSelectRef: (select: DateSelect | null) => void;\n}\n\nexport function MonthView(props: MonthViewProps): React.JSX.Element {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const { minDate, maxDate } = useContext(CalendarContext);\n const { isMobile } = useResponsiveLayout();\n\n const {\n children,\n height,\n isFirstInYear,\n isLastInYear,\n month,\n top,\n year,\n onMonthSelect,\n onYearSelect,\n monthSelectRef,\n yearSelectRef,\n } = props;\n\n const isTopNegative = top <= 0;\n const isHeaderSticky = isTopNegative && height >= -top;\n const headerTop = isHeaderSticky ? Math.min(-top, height - themeConfig(theme).MONTH_TITLE_HEIGHT) : 0;\n const alpha = isHeaderSticky ? (height + top - themeConfig(theme).MONTH_TITLE_HEIGHT) / 10 : 1;\n const borderBottomColor = `color-mix(in srgb, ${theme.calendarMonthTitleBorderBottomColor}, transparent ${Math.max(alpha, 0)}%)`;\n const isYearVisible = isFirstInYear || isHeaderSticky;\n const yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;\n const monthSelectDisabled = top > 52 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;\n const yearSelectDisabled = top > 52 || (isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT);\n\n return (\n <div\n data-tid={CalendarDataTids.month}\n className={cx({ [styles.month(theme)]: true, [styles.monthMobile()]: isMobile })}\n style={{ top }}\n key={month + '-' + year}\n >\n <div\n style={{ top: headerTop }}\n className={cx({\n [styles.header()]: true,\n [styles.headerSticky(theme)]: isHeaderSticky,\n })}\n >\n <div style={{ borderBottomColor }} className={styles.monthTitle(theme)}>\n <div data-tid={CalendarDataTids.headerMonth} className={styles.headerMonth(theme)}>\n <DateSelect\n disabled={monthSelectDisabled}\n width={isMobile ? '6em' : 85}\n type=\"month\"\n value={month}\n onValueChange={onMonthSelect}\n ref={!monthSelectDisabled ? monthSelectRef : undefined}\n minValue={getMinMonth(year, minDate)}\n maxValue={getMaxMonth(year, maxDate)}\n />\n </div>\n {isYearVisible && (\n <div data-tid={CalendarDataTids.headerYear} className={styles.headerYear(theme)} style={{ top: yearTop }}>\n <DateSelect\n disabled={yearSelectDisabled}\n width={isMobile ? '3.5em' : 50}\n type=\"year\"\n value={year}\n minValue={minDate ? minDate.year : undefined}\n maxValue={maxDate ? maxDate.year : undefined}\n onValueChange={onYearSelect}\n ref={!yearSelectDisabled ? yearSelectRef : undefined}\n />\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"MonthView.js","sourceRoot":"","sources":["MonthView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport type { Nullable } from '../..//typings/utility-types.js';\nimport { useResponsiveLayout } from '../../components/ResponsiveLayout/index.js';\nimport { DateSelect } from '../../internal/DateSelect/index.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { CalendarDataTids } from './Calendar.js';\nimport { CalendarContext } from './CalendarContext.js';\nimport * as CDS from './CalendarDateShape.js';\nimport { themeConfig } from './config.js';\nimport { getStyles } from './MonthView.styles.js';\n\nexport const getMinMonth = (year: number, minDate: Nullable<CDS.CalendarDateShape>): number => {\n let min = 0;\n for (let i = 0; i < 12; ++i) {\n if (minDate && CDS.isGreaterOrEqual({ date: 31, month: i, year }, minDate)) {\n min = i;\n break;\n }\n }\n return min;\n};\n\nexport const getMaxMonth = (year: number, maxDate: Nullable<CDS.CalendarDateShape>): number => {\n let max = 11;\n for (let i = 11; i >= 0; --i) {\n if (maxDate && CDS.isLessOrEqual({ date: 1, month: i, year }, maxDate)) {\n max = i;\n break;\n }\n }\n return max;\n};\n\ninterface MonthViewProps {\n children: React.ReactNode;\n firstDayOffset: number;\n height: number;\n isFirstInYear?: boolean;\n isLastInYear?: boolean;\n month: number;\n top: number;\n year: number;\n onMonthSelect: (month: number) => void;\n onYearSelect: (month: number) => void;\n monthSelectRef: (select: DateSelect | null) => void;\n yearSelectRef: (select: DateSelect | null) => void;\n}\n\nexport function MonthView(props: MonthViewProps): React.JSX.Element {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const { minDate, maxDate } = useContext(CalendarContext);\n const { isMobile } = useResponsiveLayout();\n\n const {\n children,\n height,\n isFirstInYear,\n isLastInYear,\n month,\n top,\n year,\n onMonthSelect,\n onYearSelect,\n monthSelectRef,\n yearSelectRef,\n } = props;\n\n const isTopNegative = top <= 0;\n const isHeaderSticky = isTopNegative && height >= -top;\n const headerTop = isHeaderSticky ? Math.min(-top, height - themeConfig(theme).MONTH_TITLE_HEIGHT) : 0;\n const alpha = isHeaderSticky ? (height + top - themeConfig(theme).MONTH_TITLE_HEIGHT) / 10 : 1;\n const borderBottomColor = `color-mix(in srgb, ${theme.calendarMonthTitleBorderBottomColor}, transparent ${Math.max(alpha, 0)}%)`;\n const isYearVisible = isFirstInYear || isHeaderSticky;\n const yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;\n const monthSelectDisabled = top > 52 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;\n const yearSelectDisabled = top > 52 || (isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT);\n\n return (\n <div\n data-tid={CalendarDataTids.month}\n className={cx({ [styles.month(theme)]: true, [styles.monthMobile()]: isMobile })}\n style={{ top }}\n key={month + '-' + year}\n >\n <div\n style={{ top: headerTop }}\n className={cx({\n [styles.header()]: true,\n [styles.headerSticky(theme)]: isHeaderSticky,\n })}\n >\n <div style={{ borderBottomColor }} className={styles.monthTitle(theme)}>\n <div data-tid={CalendarDataTids.headerMonth} className={styles.headerMonth(theme)}>\n <DateSelect\n disabled={monthSelectDisabled}\n width={isMobile ? '6em' : 85}\n type=\"month\"\n value={month}\n onValueChange={onMonthSelect}\n ref={!monthSelectDisabled ? monthSelectRef : undefined}\n minValue={getMinMonth(year, minDate)}\n maxValue={getMaxMonth(year, maxDate)}\n />\n </div>\n {isYearVisible && (\n <div data-tid={CalendarDataTids.headerYear} className={styles.headerYear(theme)} style={{ top: yearTop }}>\n <DateSelect\n disabled={yearSelectDisabled}\n width={isMobile ? '3.5em' : 50}\n type=\"year\"\n value={year}\n minValue={minDate ? minDate.year : undefined}\n maxValue={maxDate ? maxDate.year : undefined}\n onValueChange={onYearSelect}\n ref={!yearSelectDisabled ? yearSelectRef : undefined}\n />\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import { memo } from '../../lib/memo.js';
2
+ import { getMonthInHumanFormat } from './CalendarUtils.js';
2
3
  import { themeConfig } from './config.js';
3
4
  import { DayCellViewModel } from './DayCellViewModel.js';
4
5
  var getCurrentYear = function (month, year) {
@@ -48,7 +49,7 @@ var getMonthHeight = memo(function (daysCount, offset, dayHeight, titleHeight, m
48
49
  var weeks = Math.ceil((daysCount + offset) / 7);
49
50
  return weeks * dayHeight + titleHeight + marginBottom + rowSpacing * 2 + rowSpacing * (weeks - 1);
50
51
  });
51
- var getMonthsDays = memo(function (month, year) { return new Date(year, month + 1, 0).getDate(); });
52
+ var getMonthsDays = memo(function (month, year) { return new Date(year, getMonthInHumanFormat(month), 0).getDate(); });
52
53
  var getMonthOffset = memo(function (month, year) {
53
54
  var day = new Date(year, month, 1).getDay() - 1;
54
55
  if (day === -1) {
@@ -1 +1 @@
1
- {"version":3,"file":"MonthViewModel.js","sourceRoot":"","sources":["MonthViewModel.ts"],"names":[],"mappings":"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","sourcesContent":["import { memo } from '../../lib/memo.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { themeConfig } from './config.js';\nimport { DayCellViewModel } from './DayCellViewModel.js';\n\nconst getCurrentYear = (month: number, year: number) => {\n if (month < 0) {\n return year - Math.ceil(-month / 12);\n }\n\n if (month > 11) {\n return year + Math.floor(month / 12);\n }\n\n return year;\n};\n\nconst getCurrentMonth = (month: number) => {\n if (month < 0) {\n return 12 + (month % 12);\n }\n\n if (month > 11) {\n return month % 12;\n }\n\n return month;\n};\n\nexport class MonthViewModel {\n public static create = memo((month: number, year: number): MonthViewModel => new MonthViewModel(month, year));\n\n public readonly daysCount: number;\n\n public readonly offset: number;\n\n public readonly month: number;\n\n public readonly year: number;\n\n public readonly days: DayCellViewModel[];\n\n // FIXME: shouldbe readonly\n public isLastInYear: boolean;\n\n // FIXME: shouldbe readonly\n public isFirstInYear: boolean;\n\n public getHeight(theme: Theme): number {\n const { DAY_HEIGHT, MONTH_TITLE_OFFSET_HEIGHT, MONTH_BOTTOM_MARGIN, CALENDAR_GRID_ROW_SPACING } =\n themeConfig(theme);\n return getMonthHeight(\n this.daysCount,\n this.offset,\n DAY_HEIGHT,\n MONTH_TITLE_OFFSET_HEIGHT,\n MONTH_BOTTOM_MARGIN,\n CALENDAR_GRID_ROW_SPACING,\n );\n }\n\n private constructor(month: number, year: number) {\n const currentYear = getCurrentYear(month, year);\n const currentMonth = getCurrentMonth(month);\n\n const daysCount = getMonthsDays(currentMonth, currentYear);\n const offset = getMonthOffset(currentMonth, currentYear);\n this.daysCount = daysCount;\n this.offset = offset;\n this.month = currentMonth;\n this.year = currentYear;\n this.isLastInYear = currentMonth === 11;\n this.isFirstInYear = currentMonth === 0;\n this.days = Array.from({ length: daysCount }, (_, i) => {\n const isWeekend = (i + getMonthOffset(currentMonth, currentYear)) % 7 >= 5;\n return DayCellViewModel.create(i + 1, currentMonth, currentYear, isWeekend);\n });\n }\n}\n\nconst getMonthHeight = memo(\n (\n daysCount: number,\n offset: number,\n dayHeight: number,\n titleHeight: number,\n marginBottom: number,\n rowSpacing: number,\n ) => {\n const weeks = Math.ceil((daysCount + offset) / 7);\n return weeks * dayHeight + titleHeight + marginBottom + rowSpacing * 2 + rowSpacing * (weeks - 1);\n },\n);\nconst getMonthsDays = memo((month: number, year: number) => new Date(year, month + 1, 0).getDate());\n\nconst getMonthOffset = memo((month: number, year: number) => {\n const day = new Date(year, month, 1).getDay() - 1;\n if (day === -1) {\n return 6;\n }\n return day;\n});\n"]}
1
+ {"version":3,"file":"MonthViewModel.js","sourceRoot":"","sources":["MonthViewModel.ts"],"names":[],"mappings":"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","sourcesContent":["import { memo } from '../../lib/memo.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { getMonthInHumanFormat } from './CalendarUtils.js';\nimport { themeConfig } from './config.js';\nimport { DayCellViewModel } from './DayCellViewModel.js';\n\nconst getCurrentYear = (month: number, year: number) => {\n if (month < 0) {\n return year - Math.ceil(-month / 12);\n }\n\n if (month > 11) {\n return year + Math.floor(month / 12);\n }\n\n return year;\n};\n\nconst getCurrentMonth = (month: number) => {\n if (month < 0) {\n return 12 + (month % 12);\n }\n\n if (month > 11) {\n return month % 12;\n }\n\n return month;\n};\n\nexport class MonthViewModel {\n public static create = memo((month: number, year: number): MonthViewModel => new MonthViewModel(month, year));\n\n public readonly daysCount: number;\n\n public readonly offset: number;\n\n public readonly month: number;\n\n public readonly year: number;\n\n public readonly days: DayCellViewModel[];\n\n // FIXME: shouldbe readonly\n public isLastInYear: boolean;\n\n // FIXME: shouldbe readonly\n public isFirstInYear: boolean;\n\n public getHeight(theme: Theme): number {\n const { DAY_HEIGHT, MONTH_TITLE_OFFSET_HEIGHT, MONTH_BOTTOM_MARGIN, CALENDAR_GRID_ROW_SPACING } =\n themeConfig(theme);\n return getMonthHeight(\n this.daysCount,\n this.offset,\n DAY_HEIGHT,\n MONTH_TITLE_OFFSET_HEIGHT,\n MONTH_BOTTOM_MARGIN,\n CALENDAR_GRID_ROW_SPACING,\n );\n }\n\n private constructor(month: number, year: number) {\n const currentYear = getCurrentYear(month, year);\n const currentMonth = getCurrentMonth(month);\n\n const daysCount = getMonthsDays(currentMonth, currentYear);\n const offset = getMonthOffset(currentMonth, currentYear);\n this.daysCount = daysCount;\n this.offset = offset;\n this.month = currentMonth;\n this.year = currentYear;\n this.isLastInYear = currentMonth === 11;\n this.isFirstInYear = currentMonth === 0;\n this.days = Array.from({ length: daysCount }, (_, i) => {\n const isWeekend = (i + getMonthOffset(currentMonth, currentYear)) % 7 >= 5;\n return DayCellViewModel.create(i + 1, currentMonth, currentYear, isWeekend);\n });\n }\n}\n\nconst getMonthHeight = memo(\n (\n daysCount: number,\n offset: number,\n dayHeight: number,\n titleHeight: number,\n marginBottom: number,\n rowSpacing: number,\n ) => {\n const weeks = Math.ceil((daysCount + offset) / 7);\n return weeks * dayHeight + titleHeight + marginBottom + rowSpacing * 2 + rowSpacing * (weeks - 1);\n },\n);\nconst getMonthsDays = memo((month: number, year: number) => new Date(year, getMonthInHumanFormat(month), 0).getDate());\n\nconst getMonthOffset = memo((month: number, year: number) => {\n const day = new Date(year, month, 1).getDay() - 1;\n if (day === -1) {\n return 6;\n }\n return day;\n});\n"]}