@skbkontur/react-ui 4.0.0 → 4.0.3

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 (54) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/cjs/components/Button/Button.js +1 -1
  3. package/cjs/components/Button/Button.js.map +1 -1
  4. package/cjs/components/DatePicker/DatePicker.d.ts +0 -3
  5. package/cjs/components/DatePicker/DatePicker.js +14 -9
  6. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  7. package/cjs/components/Modal/Modal.js +2 -2
  8. package/cjs/components/Modal/Modal.js.map +1 -1
  9. package/cjs/components/Modal/ModalFooter.js +1 -0
  10. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  11. package/cjs/components/Modal/ModalHeader.js +1 -0
  12. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  13. package/cjs/components/SidePage/SidePage.styles.js +2 -2
  14. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  15. package/cjs/components/Textarea/TextareaCounter.js +3 -4
  16. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  17. package/cjs/components/Toast/Toast.styles.js +2 -2
  18. package/cjs/components/Toast/Toast.styles.js.map +1 -1
  19. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +1 -1
  20. package/cjs/internal/DropdownContainer/DropdownContainer.js +15 -13
  21. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  22. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +29 -29
  23. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  24. package/cjs/internal/ThemeShowcase/VariablesCollector.js +14 -9
  25. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  26. package/cjs/internal/icons/SpinnerIcon.js +2 -2
  27. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  28. package/components/Button/Button/Button.js +1 -2
  29. package/components/Button/Button/Button.js.map +1 -1
  30. package/components/DatePicker/DatePicker/DatePicker.js +19 -15
  31. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  32. package/components/DatePicker/DatePicker.d.ts +0 -3
  33. package/components/Modal/Modal/Modal.js +1 -1
  34. package/components/Modal/Modal/Modal.js.map +1 -1
  35. package/components/Modal/ModalFooter/ModalFooter.js +1 -1
  36. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  37. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  38. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  39. package/components/SidePage/SidePage.styles/SidePage.styles.js +2 -2
  40. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  41. package/components/Textarea/TextareaCounter/TextareaCounter.js +4 -6
  42. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  43. package/components/Toast/Toast.styles/Toast.styles.js +2 -2
  44. package/components/Toast/Toast.styles/Toast.styles.js.map +1 -1
  45. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +18 -21
  46. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  47. package/internal/DropdownContainer/DropdownContainer.d.ts +1 -1
  48. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +2 -2
  49. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  50. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +18 -10
  51. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  52. package/internal/icons/SpinnerIcon/SpinnerIcon.js +2 -3
  53. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  54. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["SidePage.styles.ts"],"names":["css","memoizeStyle","resetButton","styles","root","mobileRoot","overlay","body","t","modalBodyTextColor","mobileBody","container","sidePagePaddingLeft","sidePagePaddingRight","mobileContainer","mobileSidePagePaddingLeft","mobileSidePagePaddingRight","mobileSidePagePaddingBottom","containerWithoutHeader","sidePagePaddingTop","mobileContainerWithoutHeader","mobileSidePagePaddingTop","containerWithoutFooter","sidePagePaddingBottom","containerWithPanel","focusLock","wrapper","sidePageBgDefault","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","headerWrapper","header","sidePageHeaderFontSize","sidePageHeaderLineHeight","sidePageHeaderPaddingTop","sidePageHeaderPaddingBottom","sidePageHeaderTextColor","mobileHeader","mobileSidePageHeaderFontSize","mobileSidePageHeaderLineHeight","mobileSidePageHeaderPaddingTop","mobileSidePageHeaderPaddingBottom","headerFixed","sidePageHeaderFixedFontSize","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","sidePageFixedHeaderShadow","title","paddingRight","parseInt","sidePageCloseButtonPadding","sidePageCloseButtonLegacyPaddingLeft","sidePageCloseIconSize","mobileTitle","mobileSidePageCloseButtonPadding","titleFixed","background","backgroundGray","sidePageBackingBg","sidePageBackingBgOpacity","shadow","sidePageContainerShadow","close","sidePageCloseButtonColor","sidePageCloseButtonClickArea","sidePageCloseButtonHoverColor","mobileClose","mobileSidePageCloseButtonClickArea","closeFocus","borderColorFocus","wrapperClose","mobileWrapperClose","panel","sidePageFooterPanelBg","sidePageFooterPanelPaddingTop","sidePageFooterPanelPaddingBottom","wrapperCloseFixed","footerWrapper","footer","sidePageFooterTextColor","positionStatic","footerContent","sidePageFooterPaddingTop","sidePageFooterPaddingBottom","mobileFooterContent","mobileSidePageFooterPadding","footerFixed","sidePageFixedFooterShadow","panelFixed","sidePageFixedPanelShadow","transitionLeft","transitionRight","transitionActive","transitionLeave","transitionLeaveActive"],"mappings":"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","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n height: 100%;\n position: fixed;\n top: 0;\n `;\n },\n\n mobileRoot() {\n return css`\n width: 100%;\n `;\n },\n\n overlay() {\n return css`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n `;\n },\n\n body(t: Theme) {\n return css`\n flex: 1 0 auto;\n z-index: 0;\n color: ${t.modalBodyTextColor};\n `;\n },\n\n mobileBody() {\n return css`\n font-size: 16px;\n line-height: 22px;\n `;\n },\n\n container(t: Theme) {\n return css`\n padding-left: ${t.sidePagePaddingLeft};\n padding-right: ${t.sidePagePaddingRight};\n `;\n },\n\n mobileContainer(t: Theme) {\n return css`\n padding-left: ${t.mobileSidePagePaddingLeft};\n padding-right: ${t.mobileSidePagePaddingRight};\n padding-bottom: ${t.mobileSidePagePaddingBottom};\n `;\n },\n\n containerWithoutHeader(t: Theme) {\n return css`\n padding-top: ${t.sidePagePaddingTop};\n `;\n },\n\n mobileContainerWithoutHeader(t: Theme) {\n return css`\n padding-top: ${t.mobileSidePagePaddingTop};\n `;\n },\n\n containerWithoutFooter(t: Theme) {\n return css`\n padding-bottom: ${t.sidePagePaddingBottom};\n `;\n },\n\n containerWithPanel(t: Theme) {\n return css`\n padding-bottom: ${t.sidePagePaddingBottom};\n `;\n },\n\n focusLock() {\n return css`\n height: 100%;\n `;\n },\n\n wrapper(t: Theme) {\n return css`\n background: ${t.sidePageBgDefault};\n float: right;\n height: 100%;\n width: 100%;\n overflow-y: auto;\n position: relative;\n white-space: normal;\n align-items: stretch;\n display: flex;\n flex-direction: column;\n `;\n },\n\n wrapperLeft() {\n return css`\n float: left;\n `;\n },\n\n wrapperMarginLeft() {\n return css`\n margin-left: 20px;\n `;\n },\n\n wrapperMarginRight() {\n return css`\n margin-right: 20px;\n `;\n },\n\n headerWrapper() {\n return css`\n flex: 0 0 auto;\n `;\n },\n\n header(t: Theme) {\n return css`\n font-size: ${t.sidePageHeaderFontSize};\n line-height: ${t.sidePageHeaderLineHeight};\n padding: ${t.sidePageHeaderPaddingTop} 0 ${t.sidePageHeaderPaddingBottom};\n width: 100%;\n position: relative;\n color: ${t.sidePageHeaderTextColor};\n `;\n },\n\n mobileHeader(t: Theme) {\n return css`\n font-size: ${t.mobileSidePageHeaderFontSize};\n line-height: ${t.mobileSidePageHeaderLineHeight};\n padding: ${t.mobileSidePageHeaderPaddingTop} 0 ${t.mobileSidePageHeaderPaddingBottom};\n `;\n },\n\n headerFixed(t: Theme) {\n return css`\n background: ${t.sidePageBgDefault};\n font-size: ${t.sidePageHeaderFixedFontSize};\n line-height: ${t.sidePageHeaderFixedLineHeight};\n padding: ${t.sidePageHeaderFixedPaddingY} 0;\n\n &:after {\n bottom: 0px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.sidePageFixedHeaderShadow};\n }\n `;\n },\n\n title(t: Theme) {\n const paddingRight =\n parseInt(t.sidePageCloseButtonPadding) +\n parseInt(t.sidePageCloseButtonLegacyPaddingLeft) +\n parseInt(t.sidePageCloseIconSize);\n return css`\n padding-left: ${t.sidePagePaddingLeft};\n padding-right: ${paddingRight}px;\n `;\n },\n\n mobileTitle(t: Theme) {\n const paddingRight = parseInt(t.mobileSidePageCloseButtonPadding) * 2 + parseInt(t.sidePageCloseIconSize);\n return css`\n padding-left: ${t.mobileSidePagePaddingLeft};\n padding-right: ${paddingRight}px;\n `;\n },\n\n titleFixed() {\n return css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `;\n },\n\n background() {\n return css`\n height: 100%;\n position: absolute;\n width: 100%;\n `;\n },\n\n backgroundGray(t: Theme) {\n return css`\n background: ${t.sidePageBackingBg};\n opacity: ${t.sidePageBackingBgOpacity};\n `;\n },\n\n shadow(t: Theme) {\n return css`\n box-shadow: ${t.sidePageContainerShadow};\n `;\n },\n\n close(t: Theme) {\n return css`\n ${resetButton()};\n cursor: pointer;\n color: ${t.sidePageCloseButtonColor};\n padding: ${t.sidePageCloseButtonClickArea};\n margin: -${t.sidePageCloseButtonClickArea};\n font-size: 0;\n\n &:focus,\n &:hover {\n color: ${t.sidePageCloseButtonHoverColor};\n }\n\n & > svg {\n width: ${t.sidePageCloseIconSize};\n height: ${t.sidePageCloseIconSize};\n box-sizing: content-box;\n }\n `;\n },\n\n mobileClose(t: Theme) {\n return css`\n padding: ${t.mobileSidePageCloseButtonClickArea};\n margin: -${t.mobileSidePageCloseButtonClickArea};\n font-size: 0;\n `;\n },\n\n closeFocus(t: Theme) {\n return css`\n outline: 2px solid ${t.borderColorFocus};\n `;\n },\n\n wrapperClose(t: Theme) {\n return css`\n box-sizing: border-box;\n height: 100%;\n line-height: ${t.sidePageHeaderLineHeight};\n padding: ${t.sidePageHeaderPaddingTop} 0 ${t.sidePageHeaderPaddingBottom};\n position: absolute;\n right: ${t.sidePageCloseButtonPadding};\n top: 0;\n `;\n },\n\n mobileWrapperClose(t: Theme) {\n return css`\n line-height: ${t.mobileSidePageHeaderLineHeight};\n padding: ${t.mobileSidePageHeaderPaddingTop} 0 ${t.mobileSidePageHeaderPaddingBottom};\n right: ${t.mobileSidePageCloseButtonPadding};\n `;\n },\n\n panel(t: Theme) {\n return css`\n background: ${t.sidePageFooterPanelBg};\n padding: ${t.sidePageFooterPanelPaddingTop} ${t.sidePagePaddingRight} ${t.sidePageFooterPanelPaddingBottom}\n ${t.sidePagePaddingLeft};\n `;\n },\n\n wrapperCloseFixed(t: Theme) {\n return css`\n line-height: ${t.sidePageHeaderFixedLineHeight};\n padding: ${t.sidePageHeaderFixedPaddingY} 0;\n `;\n },\n\n footerWrapper() {\n return css`\n flex: 0 0 auto;\n `;\n },\n\n footer(t: Theme) {\n return css`\n bottom: 0;\n position: fixed;\n z-index: 10;\n color: ${t.sidePageFooterTextColor};\n `;\n },\n\n positionStatic() {\n return css`\n position: static;\n `;\n },\n\n footerContent(t: Theme) {\n return css`\n padding: ${t.sidePageFooterPaddingTop} ${t.sidePagePaddingRight} ${t.sidePageFooterPaddingBottom}\n ${t.sidePagePaddingLeft};\n `;\n },\n\n mobileFooterContent(t: Theme) {\n return css`\n display: flex;\n flex-flow: column nowrap;\n padding: ${t.mobileSidePageFooterPadding};\n `;\n },\n\n footerFixed(t: Theme) {\n return css`\n background: ${t.sidePageBgDefault};\n\n &:before {\n top: 0px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.sidePageFixedFooterShadow};\n }\n `;\n },\n\n panelFixed(t: Theme) {\n return css`\n &:before {\n box-shadow: ${t.sidePageFixedPanelShadow};\n }\n `;\n },\n\n transitionLeft() {\n return css`\n transform: translateX(100px);\n `;\n },\n\n transitionRight() {\n return css`\n transform: translateX(-100px);\n `;\n },\n\n transitionActive() {\n return css`\n transition: transform 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);\n opacity: 1;\n transform: translate(0, 0);\n `;\n },\n\n transitionLeave() {\n return css`\n opacity: 1;\n `;\n },\n\n transitionLeaveActive() {\n return css`\n opacity: 0.01;\n transition: opacity 0.15s ease-out;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["SidePage.styles.ts"],"names":["css","memoizeStyle","resetButton","styles","root","mobileRoot","overlay","body","t","modalBodyTextColor","mobileBody","container","sidePagePaddingLeft","sidePagePaddingRight","mobileContainer","mobileSidePagePaddingLeft","mobileSidePagePaddingRight","mobileSidePagePaddingBottom","containerWithoutHeader","sidePagePaddingTop","mobileContainerWithoutHeader","mobileSidePagePaddingTop","containerWithoutFooter","sidePagePaddingBottom","containerWithPanel","focusLock","wrapper","sidePageBgDefault","wrapperLeft","wrapperMarginLeft","wrapperMarginRight","headerWrapper","header","sidePageHeaderFontSize","sidePageHeaderLineHeight","sidePageHeaderPaddingTop","sidePageHeaderPaddingBottom","sidePageHeaderTextColor","mobileHeader","mobileSidePageHeaderFontSize","mobileSidePageHeaderLineHeight","mobileSidePageHeaderPaddingTop","mobileSidePageHeaderPaddingBottom","headerFixed","sidePageHeaderFixedFontSize","sidePageHeaderFixedLineHeight","sidePageHeaderFixedPaddingY","sidePageFixedHeaderShadow","title","paddingRight","parseInt","sidePageCloseButtonPadding","sidePageCloseButtonLegacyPaddingLeft","sidePageCloseIconSize","mobileTitle","mobileSidePageCloseButtonPadding","titleFixed","background","backgroundGray","sidePageBackingBg","sidePageBackingBgOpacity","shadow","sidePageContainerShadow","close","sidePageCloseButtonColor","sidePageCloseButtonClickArea","sidePageCloseButtonHoverColor","mobileClose","mobileSidePageCloseButtonClickArea","closeFocus","borderColorFocus","wrapperClose","mobileWrapperClose","panel","sidePageFooterPanelBg","sidePageFooterPanelPaddingTop","sidePageFooterPanelPaddingBottom","wrapperCloseFixed","footerWrapper","footer","sidePageFooterTextColor","positionStatic","footerContent","sidePageFooterPaddingTop","sidePageFooterPaddingBottom","mobileFooterContent","mobileSidePageFooterPadding","footerFixed","sidePageFixedFooterShadow","panelFixed","sidePageFixedPanelShadow","transitionLeft","transitionRight","transitionActive","transitionLeave","transitionLeaveActive"],"mappings":"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","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nexport const styles = memoizeStyle({\n root() {\n return css`\n height: 100%;\n position: fixed;\n top: 0;\n `;\n },\n\n mobileRoot() {\n return css`\n width: 100%;\n `;\n },\n\n overlay() {\n return css`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n `;\n },\n\n body(t: Theme) {\n return css`\n flex: 1 0 auto;\n z-index: 0;\n color: ${t.modalBodyTextColor};\n `;\n },\n\n mobileBody() {\n return css`\n font-size: 16px;\n line-height: 22px;\n `;\n },\n\n container(t: Theme) {\n return css`\n padding-left: ${t.sidePagePaddingLeft};\n padding-right: ${t.sidePagePaddingRight};\n `;\n },\n\n mobileContainer(t: Theme) {\n return css`\n padding-left: ${t.mobileSidePagePaddingLeft};\n padding-right: ${t.mobileSidePagePaddingRight};\n padding-bottom: ${t.mobileSidePagePaddingBottom};\n `;\n },\n\n containerWithoutHeader(t: Theme) {\n return css`\n padding-top: ${t.sidePagePaddingTop};\n `;\n },\n\n mobileContainerWithoutHeader(t: Theme) {\n return css`\n padding-top: ${t.mobileSidePagePaddingTop};\n `;\n },\n\n containerWithoutFooter(t: Theme) {\n return css`\n padding-bottom: ${t.sidePagePaddingBottom};\n `;\n },\n\n containerWithPanel(t: Theme) {\n return css`\n padding-bottom: ${t.sidePagePaddingBottom};\n `;\n },\n\n focusLock() {\n return css`\n height: 100%;\n `;\n },\n\n wrapper(t: Theme) {\n return css`\n background: ${t.sidePageBgDefault};\n float: right;\n height: 100%;\n width: 100%;\n overflow-y: auto;\n position: relative;\n white-space: normal;\n align-items: stretch;\n display: flex;\n flex-direction: column;\n `;\n },\n\n wrapperLeft() {\n return css`\n float: left;\n `;\n },\n\n wrapperMarginLeft() {\n return css`\n margin-left: 20px;\n `;\n },\n\n wrapperMarginRight() {\n return css`\n margin-right: 20px;\n `;\n },\n\n headerWrapper() {\n return css`\n flex: 0 0 auto;\n `;\n },\n\n header(t: Theme) {\n return css`\n font-size: ${t.sidePageHeaderFontSize};\n line-height: ${t.sidePageHeaderLineHeight};\n padding: ${t.sidePageHeaderPaddingTop} 0 ${t.sidePageHeaderPaddingBottom};\n width: 100%;\n position: relative;\n color: ${t.sidePageHeaderTextColor};\n `;\n },\n\n mobileHeader(t: Theme) {\n return css`\n font-size: ${t.mobileSidePageHeaderFontSize};\n line-height: ${t.mobileSidePageHeaderLineHeight};\n padding: ${t.mobileSidePageHeaderPaddingTop} 0 ${t.mobileSidePageHeaderPaddingBottom};\n `;\n },\n\n headerFixed(t: Theme) {\n return css`\n background: ${t.sidePageBgDefault};\n font-size: ${t.sidePageHeaderFixedFontSize};\n line-height: ${t.sidePageHeaderFixedLineHeight};\n padding: ${t.sidePageHeaderFixedPaddingY} 0;\n\n &:after {\n bottom: 0px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.sidePageFixedHeaderShadow};\n }\n `;\n },\n\n title(t: Theme) {\n const paddingRight =\n parseInt(t.sidePageCloseButtonPadding) +\n parseInt(t.sidePageCloseButtonLegacyPaddingLeft) +\n parseInt(t.sidePageCloseIconSize);\n return css`\n padding-left: ${t.sidePagePaddingLeft};\n padding-right: ${paddingRight}px;\n `;\n },\n\n mobileTitle(t: Theme) {\n const paddingRight = parseInt(t.mobileSidePageCloseButtonPadding) * 2 + parseInt(t.sidePageCloseIconSize);\n return css`\n padding-left: ${t.mobileSidePagePaddingLeft};\n padding-right: ${paddingRight}px;\n `;\n },\n\n titleFixed() {\n return css`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `;\n },\n\n background() {\n return css`\n height: 100%;\n position: absolute;\n width: 100%;\n `;\n },\n\n backgroundGray(t: Theme) {\n return css`\n background: ${t.sidePageBackingBg};\n opacity: ${t.sidePageBackingBgOpacity};\n `;\n },\n\n shadow(t: Theme) {\n return css`\n box-shadow: ${t.sidePageContainerShadow};\n `;\n },\n\n close(t: Theme) {\n return css`\n ${resetButton()};\n cursor: pointer;\n color: ${t.sidePageCloseButtonColor};\n padding: ${t.sidePageCloseButtonClickArea};\n margin: -${t.sidePageCloseButtonClickArea};\n font-size: 0;\n\n &:focus,\n &:hover {\n color: ${t.sidePageCloseButtonHoverColor};\n }\n\n & > svg {\n width: ${t.sidePageCloseIconSize};\n height: ${t.sidePageCloseIconSize};\n box-sizing: content-box;\n }\n `;\n },\n\n mobileClose(t: Theme) {\n return css`\n padding: ${t.mobileSidePageCloseButtonClickArea};\n margin: -${t.mobileSidePageCloseButtonClickArea};\n font-size: 0;\n `;\n },\n\n closeFocus(t: Theme) {\n return css`\n outline: 2px solid ${t.borderColorFocus};\n `;\n },\n\n wrapperClose(t: Theme) {\n return css`\n box-sizing: border-box;\n height: 100%;\n line-height: ${t.sidePageHeaderLineHeight};\n padding: ${t.sidePageHeaderPaddingTop} 0 ${t.sidePageHeaderPaddingBottom};\n position: absolute;\n right: ${t.sidePageCloseButtonPadding};\n top: 0;\n `;\n },\n\n mobileWrapperClose(t: Theme) {\n return css`\n line-height: ${t.mobileSidePageHeaderLineHeight};\n padding: ${t.mobileSidePageHeaderPaddingTop} 0 ${t.mobileSidePageHeaderPaddingBottom};\n right: ${t.mobileSidePageCloseButtonPadding};\n `;\n },\n\n panel(t: Theme) {\n return css`\n background: ${t.sidePageFooterPanelBg};\n padding: ${t.sidePageFooterPanelPaddingTop} ${t.sidePagePaddingRight} ${t.sidePageFooterPanelPaddingBottom}\n ${t.sidePagePaddingLeft};\n `;\n },\n\n wrapperCloseFixed(t: Theme) {\n return css`\n line-height: ${t.sidePageHeaderFixedLineHeight};\n padding: ${t.sidePageHeaderFixedPaddingY} 0;\n `;\n },\n\n footerWrapper() {\n return css`\n flex: 0 0 auto;\n `;\n },\n\n footer(t: Theme) {\n return css`\n bottom: 0;\n position: fixed;\n z-index: 10;\n color: ${t.sidePageFooterTextColor};\n `;\n },\n\n positionStatic() {\n return css`\n position: static;\n `;\n },\n\n footerContent(t: Theme) {\n return css`\n padding: ${t.sidePageFooterPaddingTop} ${t.sidePagePaddingRight} ${t.sidePageFooterPaddingBottom}\n ${t.sidePagePaddingLeft};\n `;\n },\n\n mobileFooterContent(t: Theme) {\n return css`\n display: flex;\n flex-flow: column nowrap;\n padding: ${t.mobileSidePageFooterPadding};\n `;\n },\n\n footerFixed(t: Theme) {\n return css`\n background: ${t.sidePageBgDefault};\n\n &:before {\n top: 0px;\n content: '';\n position: absolute;\n height: 1px;\n width: 100%;\n left: 0;\n z-index: -1;\n box-shadow: ${t.sidePageFixedFooterShadow};\n }\n `;\n },\n\n panelFixed(t: Theme) {\n return css`\n &:before {\n box-shadow: ${t.sidePageFixedPanelShadow};\n }\n `;\n },\n\n transitionLeft() {\n return css`\n transform: translateX(100px);\n `;\n },\n\n transitionRight() {\n return css`\n transform: translateX(-100px);\n `;\n },\n\n transitionActive() {\n return css`\n transition: transform 0.18s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.18s cubic-bezier(0.22, 0.61, 0.36, 1);\n opacity: 1 !important;\n transform: translate(0, 0) !important;\n `;\n },\n\n transitionLeave() {\n return css`\n opacity: 1;\n `;\n },\n\n transitionLeaveActive() {\n return css`\n opacity: 0.01 !important;\n transition: opacity 0.15s ease-out;\n `;\n },\n});\n"]}
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useContext, useCallback, useImperativeHandle, useState } from 'react';
1
+ import React, { useContext, useCallback, useImperativeHandle, useState } from 'react';
2
2
  import { HelpDotIcon } from "../../../internal/icons/16px";
3
3
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
4
4
  import { isFunction } from "../../../lib/utils";
@@ -28,19 +28,17 @@ export var TextareaCounter = /*#__PURE__*/React.forwardRef(function TextareaCoun
28
28
  height = _useState2[0],
29
29
  setHeight = _useState2[1];
30
30
 
31
- var reflow = function reflow() {
31
+ var reflow = useCallback(function () {
32
32
  var clientWidth = textarea.clientWidth,
33
33
  clientHeight = textarea.clientHeight;
34
34
  setWidth(clientWidth);
35
35
  setHeight(clientHeight);
36
- };
37
-
38
- useEffect(reflow, [textarea]);
36
+ }, [textarea]);
39
37
  useImperativeHandle(ref, function () {
40
38
  return {
41
39
  reflow: reflow
42
40
  };
43
- }, [ref]);
41
+ }, [reflow]);
44
42
  var renderTooltipContent = useCallback(function () {
45
43
  return help;
46
44
  }, [help]);
@@ -1 +1 @@
1
- {"version":3,"sources":["TextareaCounter.tsx"],"names":["React","useEffect","useContext","useCallback","useImperativeHandle","useState","HelpDotIcon","ThemeContext","isFunction","Tooltip","cx","styles","handleHelpMouseDown","e","preventDefault","TextareaCounter","forwardRef","ref","length","value","help","onCloseHelp","textarea","theme","clientWidth","width","setWidth","clientHeight","height","setHeight","reflow","renderTooltipContent","textareaValue","toString","counterValue","counterHelp","textareaCounterHelpIconColor","counterContainer","counter","counterError"],"mappings":"AAAA,OAAOA,KAAP,IAAgCC,SAAhC,EAA2CC,UAA3C,EAAuDC,WAAvD,EAAoEC,mBAApE,EAAyFC,QAAzF,QAAyG,OAAzG;;AAEA,SAASC,WAAT,QAA4B,2BAA5B;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,UAAT,QAA2B,iBAA3B;AACA,SAASC,OAAT,QAAwB,YAAxB;AACA,SAASC,EAAT,QAAmB,2BAAnB;;;AAGA,SAASC,MAAT,QAAuB,mBAAvB;;;;;;;;;;;;;;AAcA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,CAAD,UAAuBA,CAAC,CAACC,cAAF,EAAvB,EAA5B;;AAEA,OAAO,IAAMC,eAAe,gBAAGf,KAAK,CAACgB,UAAN,CAA2D,SAASD,eAAT;;AAExFE,GAFwF;AAGxF,aAFEC,MAEF,QAFEA,MAEF,CAFUC,KAEV,QAFUA,KAEV,CAFiBC,IAEjB,QAFiBA,IAEjB,CAFuBC,WAEvB,QAFuBA,WAEvB,CAFoCC,QAEpC,QAFoCA,QAEpC;AACA,MAAMC,KAAK,GAAGrB,UAAU,CAACK,YAAD,CAAxB;AACA,kBAA0BF,QAAQ,CAACiB,QAAQ,CAACE,WAAV,CAAlC,CAAOC,KAAP,gBAAcC,QAAd;AACA,mBAA4BrB,QAAQ,CAACiB,QAAQ,CAACK,YAAV,CAApC,CAAOC,MAAP,iBAAeC,SAAf;AACA,MAAMC,MAAM,GAAG,SAATA,MAAS,GAAM;AACnB,QAAQN,WAAR,GAAsCF,QAAtC,CAAQE,WAAR,CAAqBG,YAArB,GAAsCL,QAAtC,CAAqBK,YAArB;AACAD,IAAAA,QAAQ,CAACF,WAAD,CAAR;AACAK,IAAAA,SAAS,CAACF,YAAD,CAAT;AACD,GAJD;AAKA1B,EAAAA,SAAS,CAAC6B,MAAD,EAAS,CAACR,QAAD,CAAT,CAAT;AACAlB,EAAAA,mBAAmB,CAACa,GAAD,EAAM,oBAAO,EAAEa,MAAM,EAANA,MAAF,EAAP,EAAN,EAA0B,CAACb,GAAD,CAA1B,CAAnB;AACA,MAAMc,oBAAoB,GAAG5B,WAAW,CAAC,oBAAMiB,IAAN,EAAD,EAAa,CAACA,IAAD,CAAb,CAAxC;AACA,MAAMY,aAAa,GAAGb,KAAK,GAAGA,KAAK,CAACc,QAAN,GAAiBf,MAApB,GAA6B,CAAxD;AACA,MAAMgB,YAAY,GAAGhB,MAAM,GAAGc,aAA9B;AACA,MAAMG,WAAW,GAAG3B,UAAU,CAACY,IAAD,CAAV;AAClBA,EAAAA,IAAI,EADc;;AAGlB,sBAAC,OAAD,IAAS,GAAG,EAAE,cAAd,EAA8B,OAAO,EAAE,OAAvC,EAAgD,MAAM,EAAEW,oBAAxD,EAA8E,YAAY,EAAEV,WAA5F;AACE,sBAAC,WAAD,IAAa,WAAW,EAAET,mBAA1B,EAA+C,KAAK,EAAEW,KAAK,CAACa,4BAA5D,GADF,CAHF;;;;AAQA;AACE,iCAAK,SAAS,EAAEzB,MAAM,CAAC0B,gBAAP,CAAwBd,KAAxB,CAAhB,EAAgD,KAAK,EAAE,EAAEE,KAAK,EAALA,KAAF,EAASG,MAAM,EAANA,MAAT,EAAvD;AACE;AACE,MAAA,SAAS,EAAElB,EAAE,CAACC,MAAM,CAAC2B,OAAP,CAAef,KAAf,CAAD;AACVZ,MAAAA,MAAM,CAAC4B,YAAP,CAAoBhB,KAApB,CADU,IACmBW,YAAY,GAAG,CADlC,OADf;;;AAKGA,IAAAA,YALH;AAMGd,IAAAA,IAAI,iBAAI,8BAAM,SAAS,EAAET,MAAM,CAACwB,WAAP,EAAjB,IAAwCA,WAAxC,CANX,CADF,CADF;;;;AAYD,CArC8B,CAAxB","sourcesContent":["import React, { SyntheticEvent, useEffect, useContext, useCallback, useImperativeHandle, useState } from 'react';\n\nimport { HelpDotIcon } from '../../internal/icons/16px';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isFunction } from '../../lib/utils';\nimport { Tooltip } from '../Tooltip';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { TextareaProps } from './Textarea';\nimport { styles } from './Textarea.styles';\n\nexport type TextareaCounterProps = {\n value: TextareaProps['value'];\n length: number;\n help: TextareaProps['counterHelp'];\n onCloseHelp: () => void;\n textarea: HTMLTextAreaElement;\n};\n\nexport interface TextareaCounterRef {\n reflow: () => void;\n}\n\nconst handleHelpMouseDown = (e: SyntheticEvent) => e.preventDefault();\n\nexport const TextareaCounter = React.forwardRef<TextareaCounterRef, TextareaCounterProps>(function TextareaCounter(\n { length, value, help, onCloseHelp, textarea },\n ref,\n) {\n const theme = useContext(ThemeContext);\n const [width, setWidth] = useState(textarea.clientWidth);\n const [height, setHeight] = useState(textarea.clientHeight);\n const reflow = () => {\n const { clientWidth, clientHeight } = textarea;\n setWidth(clientWidth);\n setHeight(clientHeight);\n };\n useEffect(reflow, [textarea]);\n useImperativeHandle(ref, () => ({ reflow }), [ref]);\n const renderTooltipContent = useCallback(() => help, [help]);\n const textareaValue = value ? value.toString().length : 0;\n const counterValue = length - textareaValue;\n const counterHelp = isFunction(help) ? (\n help()\n ) : (\n <Tooltip pos={'right bottom'} trigger={'click'} render={renderTooltipContent} onCloseClick={onCloseHelp}>\n <HelpDotIcon onMouseDown={handleHelpMouseDown} color={theme.textareaCounterHelpIconColor} />\n </Tooltip>\n );\n\n return (\n <div className={styles.counterContainer(theme)} style={{ width, height }}>\n <span\n className={cx(styles.counter(theme), {\n [styles.counterError(theme)]: counterValue < 0,\n })}\n >\n {counterValue}\n {help && <span className={styles.counterHelp()}>{counterHelp}</span>}\n </span>\n </div>\n );\n});\n"]}
1
+ {"version":3,"sources":["TextareaCounter.tsx"],"names":["React","useContext","useCallback","useImperativeHandle","useState","HelpDotIcon","ThemeContext","isFunction","Tooltip","cx","styles","handleHelpMouseDown","e","preventDefault","TextareaCounter","forwardRef","ref","length","value","help","onCloseHelp","textarea","theme","clientWidth","width","setWidth","clientHeight","height","setHeight","reflow","renderTooltipContent","textareaValue","toString","counterValue","counterHelp","textareaCounterHelpIconColor","counterContainer","counter","counterError"],"mappings":"AAAA,OAAOA,KAAP,IAAgCC,UAAhC,EAA4CC,WAA5C,EAAyDC,mBAAzD,EAA8EC,QAA9E,QAA8F,OAA9F;;AAEA,SAASC,WAAT,QAA4B,2BAA5B;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,UAAT,QAA2B,iBAA3B;AACA,SAASC,OAAT,QAAwB,YAAxB;AACA,SAASC,EAAT,QAAmB,2BAAnB;;;AAGA,SAASC,MAAT,QAAuB,mBAAvB;;;;;;;;;;;;;;AAcA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,CAAD,UAAuBA,CAAC,CAACC,cAAF,EAAvB,EAA5B;;AAEA,OAAO,IAAMC,eAAe,gBAAGd,KAAK,CAACe,UAAN,CAA2D,SAASD,eAAT;;AAExFE,GAFwF;AAGxF,aAFEC,MAEF,QAFEA,MAEF,CAFUC,KAEV,QAFUA,KAEV,CAFiBC,IAEjB,QAFiBA,IAEjB,CAFuBC,WAEvB,QAFuBA,WAEvB,CAFoCC,QAEpC,QAFoCA,QAEpC;AACA,MAAMC,KAAK,GAAGrB,UAAU,CAACK,YAAD,CAAxB;AACA,kBAA0BF,QAAQ,CAACiB,QAAQ,CAACE,WAAV,CAAlC,CAAOC,KAAP,gBAAcC,QAAd;AACA,mBAA4BrB,QAAQ,CAACiB,QAAQ,CAACK,YAAV,CAApC,CAAOC,MAAP,iBAAeC,SAAf;AACA,MAAMC,MAAM,GAAG3B,WAAW,CAAC,YAAM;AAC/B,QAAQqB,WAAR,GAAsCF,QAAtC,CAAQE,WAAR,CAAqBG,YAArB,GAAsCL,QAAtC,CAAqBK,YAArB;AACAD,IAAAA,QAAQ,CAACF,WAAD,CAAR;AACAK,IAAAA,SAAS,CAACF,YAAD,CAAT;AACD,GAJyB,EAIvB,CAACL,QAAD,CAJuB,CAA1B;AAKAlB,EAAAA,mBAAmB,CAACa,GAAD,EAAM,oBAAO,EAAEa,MAAM,EAANA,MAAF,EAAP,EAAN,EAA0B,CAACA,MAAD,CAA1B,CAAnB;AACA,MAAMC,oBAAoB,GAAG5B,WAAW,CAAC,oBAAMiB,IAAN,EAAD,EAAa,CAACA,IAAD,CAAb,CAAxC;AACA,MAAMY,aAAa,GAAGb,KAAK,GAAGA,KAAK,CAACc,QAAN,GAAiBf,MAApB,GAA6B,CAAxD;AACA,MAAMgB,YAAY,GAAGhB,MAAM,GAAGc,aAA9B;AACA,MAAMG,WAAW,GAAG3B,UAAU,CAACY,IAAD,CAAV;AAClBA,EAAAA,IAAI,EADc;;AAGlB,sBAAC,OAAD,IAAS,GAAG,EAAE,cAAd,EAA8B,OAAO,EAAE,OAAvC,EAAgD,MAAM,EAAEW,oBAAxD,EAA8E,YAAY,EAAEV,WAA5F;AACE,sBAAC,WAAD,IAAa,WAAW,EAAET,mBAA1B,EAA+C,KAAK,EAAEW,KAAK,CAACa,4BAA5D,GADF,CAHF;;;;AAQA;AACE,iCAAK,SAAS,EAAEzB,MAAM,CAAC0B,gBAAP,CAAwBd,KAAxB,CAAhB,EAAgD,KAAK,EAAE,EAAEE,KAAK,EAALA,KAAF,EAASG,MAAM,EAANA,MAAT,EAAvD;AACE;AACE,MAAA,SAAS,EAAElB,EAAE,CAACC,MAAM,CAAC2B,OAAP,CAAef,KAAf,CAAD;AACVZ,MAAAA,MAAM,CAAC4B,YAAP,CAAoBhB,KAApB,CADU,IACmBW,YAAY,GAAG,CADlC,OADf;;;AAKGA,IAAAA,YALH;AAMGd,IAAAA,IAAI,iBAAI,8BAAM,SAAS,EAAET,MAAM,CAACwB,WAAP,EAAjB,IAAwCA,WAAxC,CANX,CADF,CADF;;;;AAYD,CApC8B,CAAxB","sourcesContent":["import React, { SyntheticEvent, useContext, useCallback, useImperativeHandle, useState } from 'react';\n\nimport { HelpDotIcon } from '../../internal/icons/16px';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isFunction } from '../../lib/utils';\nimport { Tooltip } from '../Tooltip';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { TextareaProps } from './Textarea';\nimport { styles } from './Textarea.styles';\n\nexport type TextareaCounterProps = {\n value: TextareaProps['value'];\n length: number;\n help: TextareaProps['counterHelp'];\n onCloseHelp: () => void;\n textarea: HTMLTextAreaElement;\n};\n\nexport interface TextareaCounterRef {\n reflow: () => void;\n}\n\nconst handleHelpMouseDown = (e: SyntheticEvent) => e.preventDefault();\n\nexport const TextareaCounter = React.forwardRef<TextareaCounterRef, TextareaCounterProps>(function TextareaCounter(\n { length, value, help, onCloseHelp, textarea },\n ref,\n) {\n const theme = useContext(ThemeContext);\n const [width, setWidth] = useState(textarea.clientWidth);\n const [height, setHeight] = useState(textarea.clientHeight);\n const reflow = useCallback(() => {\n const { clientWidth, clientHeight } = textarea;\n setWidth(clientWidth);\n setHeight(clientHeight);\n }, [textarea]);\n useImperativeHandle(ref, () => ({ reflow }), [reflow]);\n const renderTooltipContent = useCallback(() => help, [help]);\n const textareaValue = value ? value.toString().length : 0;\n const counterValue = length - textareaValue;\n const counterHelp = isFunction(help) ? (\n help()\n ) : (\n <Tooltip pos={'right bottom'} trigger={'click'} render={renderTooltipContent} onCloseClick={onCloseHelp}>\n <HelpDotIcon onMouseDown={handleHelpMouseDown} color={theme.textareaCounterHelpIconColor} />\n </Tooltip>\n );\n\n return (\n <div className={styles.counterContainer(theme)} style={{ width, height }}>\n <span\n className={cx(styles.counter(theme), {\n [styles.counterError(theme)]: counterValue < 0,\n })}\n >\n {counterValue}\n {help && <span className={styles.counterHelp()}>{counterHelp}</span>}\n </span>\n </div>\n );\n});\n"]}
@@ -8,12 +8,12 @@ export var styles = memoizeStyle({
8
8
  return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n transform: translateY(-40px);\n "])));
9
9
  },
10
10
  enterActive: function enterActive() {
11
- return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n transition: transform 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);\n transform: translateY(0);\n "])));
11
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n transition: transform 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);\n transform: translateY(0) !important;\n "])));
12
12
  },
13
13
  exit: function exit() {
14
14
  return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n transform: translateY(0);\n opacity: 1;\n "])));
15
15
  },
16
16
  exitActive: function exitActive() {
17
- return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n opacity: 0.01;\n transition: opacity 0.15s ease-out;\n "])));
17
+ return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n opacity: 0.01 !important;\n transition: opacity 0.15s ease-out;\n "])));
18
18
  }
19
19
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["Toast.styles.ts"],"names":["css","memoizeStyle","styles","enter","enterActive","exit","exitActive"],"mappings":"0KAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;AAEA,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;AACjCE,EAAAA,KADiC,mBACzB;AACN,WAAOH,GAAP;;;AAGD,GALgC;AAMjCI,EAAAA,WANiC,yBAMnB;AACZ,WAAOJ,GAAP;;;;AAID,GAXgC;AAYjCK,EAAAA,IAZiC,kBAY1B;AACL,WAAOL,GAAP;;;;AAID,GAjBgC;AAkBjCM,EAAAA,UAlBiC,wBAkBpB;AACX,WAAON,GAAP;;;;AAID,GAvBgC,EAAD,CAA3B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n enter() {\n return css`\n transform: translateY(-40px);\n `;\n },\n enterActive() {\n return css`\n transition: transform 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);\n transform: translateY(0);\n `;\n },\n exit() {\n return css`\n transform: translateY(0);\n opacity: 1;\n `;\n },\n exitActive() {\n return css`\n opacity: 0.01;\n transition: opacity 0.15s ease-out;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Toast.styles.ts"],"names":["css","memoizeStyle","styles","enter","enterActive","exit","exitActive"],"mappings":"0KAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;AAEA,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;AACjCE,EAAAA,KADiC,mBACzB;AACN,WAAOH,GAAP;;;AAGD,GALgC;AAMjCI,EAAAA,WANiC,yBAMnB;AACZ,WAAOJ,GAAP;;;;AAID,GAXgC;AAYjCK,EAAAA,IAZiC,kBAY1B;AACL,WAAOL,GAAP;;;;AAID,GAjBgC;AAkBjCM,EAAAA,UAlBiC,wBAkBpB;AACX,WAAON,GAAP;;;;AAID,GAvBgC,EAAD,CAA3B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n enter() {\n return css`\n transform: translateY(-40px);\n `;\n },\n enterActive() {\n return css`\n transition: transform 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);\n transform: translateY(0) !important;\n `;\n },\n exit() {\n return css`\n transform: translateY(0);\n opacity: 1;\n `;\n },\n exitActive() {\n return css`\n opacity: 0.01 !important;\n transition: opacity 0.15s ease-out;\n `;\n },\n});\n"]}
@@ -11,19 +11,10 @@ import { styles } from "../DropdownContainer.styles";
11
11
  export var DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {
12
12
  _inheritsLoose(DropdownContainer, _React$PureComponent);
13
13
 
14
- function DropdownContainer() {
14
+ function DropdownContainer(props) {
15
15
  var _this;
16
16
 
17
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
18
- args[_key] = arguments[_key];
19
- }
20
-
21
- _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
22
- _this.state = {
23
- position: null,
24
- minWidth: 0,
25
- isDocumentElementRoot: true
26
- };
17
+ _this = _React$PureComponent.call(this, props) || this;
27
18
  _this.getProps = createPropsGetter(DropdownContainer.defaultProps);
28
19
 
29
20
  _this.ZIndexRef = function (element) {
@@ -144,6 +135,11 @@ export var DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {
144
135
  };
145
136
  };
146
137
 
138
+ _this.state = {
139
+ position: null,
140
+ minWidth: 0,
141
+ isDocumentElementRoot: getIsDocumentElementRoot()
142
+ };
147
143
  return _this;
148
144
  }
149
145
 
@@ -152,16 +148,6 @@ export var DropdownContainer = /*#__PURE__*/function (_React$PureComponent) {
152
148
  _proto.componentDidMount = function componentDidMount() {
153
149
  this.position();
154
150
  this.layoutSub = LayoutEvents.addListener(this.position);
155
- var _document2 = document,
156
- body = _document2.body,
157
- docEl = _document2.documentElement;
158
- var htmlPosition = getComputedStyle(docEl).position;
159
- var bodyPosition = getComputedStyle(body).position;
160
- var hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;
161
- var hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';
162
- this.setState({
163
- isDocumentElementRoot: hasLimitedHeightRoot || hasStaticRoot
164
- });
165
151
  };
166
152
 
167
153
  _proto.componentWillUnmount = function componentWillUnmount() {
@@ -211,4 +197,15 @@ DropdownContainer.defaultProps = {
211
197
  disablePortal: false,
212
198
  offsetX: 0,
213
199
  offsetY: -1
200
+ };
201
+
202
+ var getIsDocumentElementRoot = function getIsDocumentElementRoot() {
203
+ var _document2 = document,
204
+ body = _document2.body,
205
+ documentElement = _document2.documentElement;
206
+ var htmlPosition = getComputedStyle(documentElement).position;
207
+ var bodyPosition = getComputedStyle(body).position;
208
+ var hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;
209
+ var hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';
210
+ return hasLimitedHeightRoot || hasStaticRoot;
214
211
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["DropdownContainer.tsx"],"names":["React","LayoutEvents","RenderContainer","ZIndex","createPropsGetter","cx","isIE11","styles","DropdownContainer","state","position","minWidth","isDocumentElementRoot","getProps","defaultProps","ZIndexRef","element","dom","isElement","node","Element","target","props","getParent","targetRect","getBoundingClientRect","document","body","docEl","documentElement","Error","scrollX","window","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","left","right","align","docWidth","offsetWidth","offsetX","offsetY","bottom","top","distanceToBottom","clientHeight","dropdownHeight","getHeight","scrollHeight","setState","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","componentDidMount","layoutSub","addListener","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot","componentWillUnmount","remove","render","style","undefined","maxWidth","hasFixedWidth","content","alignRight","PureComponent","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../RenderContainer';\nimport { ZIndex } from '../ZIndex';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\n\nimport { styles } from './DropdownContainer.styles';\n\nexport interface DropdownContainerPosition {\n top: Nullable<number>;\n bottom: Nullable<number>;\n left: Nullable<number>;\n right: Nullable<number>;\n}\n\nexport interface DropdownContainerProps {\n align?: 'left' | 'right';\n getParent: () => Nullable<HTMLElement>;\n children?: React.ReactNode;\n disablePortal?: boolean;\n offsetY?: number;\n offsetX?: number;\n hasFixedWidth?: boolean;\n}\n\nexport interface DropdownContainerState {\n position: Nullable<DropdownContainerPosition>;\n minWidth: number;\n isDocumentElementRoot?: boolean;\n}\n\nexport class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {\n public static __KONTUR_REACT_UI__ = 'DropdownContainer';\n\n public static defaultProps = {\n align: 'left',\n disablePortal: false,\n offsetX: 0,\n offsetY: -1,\n };\n\n public state: DropdownContainerState = {\n position: null,\n minWidth: 0,\n isDocumentElementRoot: true,\n };\n\n private getProps = createPropsGetter(DropdownContainer.defaultProps);\n\n private dom: Nullable<HTMLDivElement>;\n private layoutSub: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n\n public componentDidMount() {\n this.position();\n this.layoutSub = LayoutEvents.addListener(this.position);\n\n const { body, documentElement: docEl } = document;\n const htmlPosition = getComputedStyle(docEl).position;\n const bodyPosition = getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n\n this.setState({ isDocumentElementRoot: hasLimitedHeightRoot || hasStaticRoot });\n }\n\n public componentWillUnmount() {\n if (this.layoutSub) {\n this.layoutSub.remove();\n }\n }\n\n public render() {\n let style: React.CSSProperties = {\n position: 'absolute',\n top: '0',\n };\n if (this.state.position) {\n const { top, bottom, left, right } = this.state.position;\n style = {\n ...style,\n top: top !== null ? top : undefined,\n bottom: bottom !== null ? bottom : undefined,\n left: left !== null ? left : undefined,\n right: right !== null ? right : undefined,\n minWidth: this.state.minWidth,\n maxWidth: this.props.hasFixedWidth ? this.state.minWidth : undefined,\n };\n }\n\n const content = (\n <ZIndex\n priority={'DropdownContainer'}\n wrapperRef={this.ZIndexRef}\n style={style}\n className={cx({\n [styles.alignRight()]: this.props.align === 'right' && !isIE11,\n })}\n >\n {this.props.children}\n </ZIndex>\n );\n\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\n }\n\n private ZIndexRef = (element: Nullable<HTMLDivElement>) => {\n this.dom = element;\n };\n\n private isElement = (node: Nullable<Element>): node is Element => {\n return node instanceof Element;\n };\n\n public position = () => {\n const target = this.props.getParent();\n const dom = this.dom;\n\n if (target && this.isElement(target) && dom) {\n const targetRect = target.getBoundingClientRect();\n const { body, documentElement: docEl } = document;\n\n if (!docEl) {\n throw Error('There is no \"documentElement\" in \"document\"');\n }\n\n const scrollX = window.pageXOffset || docEl.scrollLeft || 0;\n const scrollY = window.pageYOffset || docEl.scrollTop || 0;\n\n let left = null;\n let right = null;\n\n if (this.props.align === 'right') {\n const docWidth = docEl.offsetWidth || 0;\n right = docWidth - (targetRect.right + scrollX) + this.getProps().offsetX;\n } else {\n left = targetRect.left + scrollX + this.getProps().offsetX;\n }\n\n const { offsetY = 0 } = this.props;\n let bottom = null;\n let top: number | null = targetRect.bottom + scrollY + offsetY;\n\n const distanceToBottom = docEl.clientHeight - targetRect.bottom;\n const dropdownHeight = this.getHeight();\n\n if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {\n const clientHeight = this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;\n\n top = null;\n bottom = clientHeight + offsetY - scrollY - targetRect.top;\n }\n\n const position = {\n top,\n left,\n right,\n bottom,\n };\n\n this.setState({\n minWidth: this.getMinWidth(),\n position: this.props.disablePortal ? this.convertToRelativePosition(position) : position,\n });\n }\n };\n\n private getHeight = () => {\n if (!this.isElement(this.dom)) {\n return 0;\n }\n const child = this.dom.children.item(0);\n if (!child) {\n return 0;\n }\n return child.getBoundingClientRect().height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n if (!target || !this.isElement(target)) {\n return 0;\n }\n return target.getBoundingClientRect().width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const { offsetX = 0, offsetY = 0 } = this.props;\n const { top, bottom, left, right } = position;\n if (target && this.isElement(target)) {\n const targetHeight = target.getBoundingClientRect().height;\n return {\n top: top !== null ? targetHeight + offsetY : null,\n bottom: bottom !== null ? targetHeight + offsetY : null,\n left: left !== null ? offsetX : null,\n right: right !== null ? offsetX : null,\n };\n }\n return {\n top: offsetY,\n bottom: null,\n left: offsetX,\n right: null,\n };\n };\n}\n"]}
1
+ {"version":3,"sources":["DropdownContainer.tsx"],"names":["React","LayoutEvents","RenderContainer","ZIndex","createPropsGetter","cx","isIE11","styles","DropdownContainer","props","getProps","defaultProps","ZIndexRef","element","dom","isElement","node","Element","position","target","getParent","targetRect","getBoundingClientRect","document","body","docEl","documentElement","Error","scrollX","window","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","left","right","align","docWidth","offsetWidth","offsetX","offsetY","bottom","top","distanceToBottom","clientHeight","dropdownHeight","getHeight","state","isDocumentElementRoot","scrollHeight","setState","minWidth","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","getIsDocumentElementRoot","componentDidMount","layoutSub","addListener","componentWillUnmount","remove","render","style","undefined","maxWidth","hasFixedWidth","content","alignRight","PureComponent","__KONTUR_REACT_UI__","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../RenderContainer';\nimport { ZIndex } from '../ZIndex';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isIE11 } from '../../lib/client';\n\nimport { styles } from './DropdownContainer.styles';\n\nexport interface DropdownContainerPosition {\n top: Nullable<number>;\n bottom: Nullable<number>;\n left: Nullable<number>;\n right: Nullable<number>;\n}\n\nexport interface DropdownContainerProps {\n align?: 'left' | 'right';\n getParent: () => Nullable<HTMLElement>;\n children?: React.ReactNode;\n disablePortal?: boolean;\n offsetY?: number;\n offsetX?: number;\n hasFixedWidth?: boolean;\n}\n\nexport interface DropdownContainerState {\n position: Nullable<DropdownContainerPosition>;\n minWidth: number;\n isDocumentElementRoot?: boolean;\n}\n\nexport class DropdownContainer extends React.PureComponent<DropdownContainerProps, DropdownContainerState> {\n public static __KONTUR_REACT_UI__ = 'DropdownContainer';\n\n public static defaultProps = {\n align: 'left',\n disablePortal: false,\n offsetX: 0,\n offsetY: -1,\n };\n\n private getProps = createPropsGetter(DropdownContainer.defaultProps);\n\n private dom: Nullable<HTMLDivElement>;\n private layoutSub: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n\n constructor(props: DropdownContainerProps) {\n super(props);\n\n this.state = { position: null, minWidth: 0, isDocumentElementRoot: getIsDocumentElementRoot() };\n }\n\n public componentDidMount() {\n this.position();\n this.layoutSub = LayoutEvents.addListener(this.position);\n }\n\n public componentWillUnmount() {\n if (this.layoutSub) {\n this.layoutSub.remove();\n }\n }\n\n public render() {\n let style: React.CSSProperties = {\n position: 'absolute',\n top: '0',\n };\n if (this.state.position) {\n const { top, bottom, left, right } = this.state.position;\n style = {\n ...style,\n top: top !== null ? top : undefined,\n bottom: bottom !== null ? bottom : undefined,\n left: left !== null ? left : undefined,\n right: right !== null ? right : undefined,\n minWidth: this.state.minWidth,\n maxWidth: this.props.hasFixedWidth ? this.state.minWidth : undefined,\n };\n }\n\n const content = (\n <ZIndex\n priority={'DropdownContainer'}\n wrapperRef={this.ZIndexRef}\n style={style}\n className={cx({\n [styles.alignRight()]: this.props.align === 'right' && !isIE11,\n })}\n >\n {this.props.children}\n </ZIndex>\n );\n\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\n }\n\n private ZIndexRef = (element: Nullable<HTMLDivElement>) => {\n this.dom = element;\n };\n\n private isElement = (node: Nullable<Element>): node is Element => {\n return node instanceof Element;\n };\n\n public position = () => {\n const target = this.props.getParent();\n const dom = this.dom;\n\n if (target && this.isElement(target) && dom) {\n const targetRect = target.getBoundingClientRect();\n const { body, documentElement: docEl } = document;\n\n if (!docEl) {\n throw Error('There is no \"documentElement\" in \"document\"');\n }\n\n const scrollX = window.pageXOffset || docEl.scrollLeft || 0;\n const scrollY = window.pageYOffset || docEl.scrollTop || 0;\n\n let left = null;\n let right = null;\n\n if (this.props.align === 'right') {\n const docWidth = docEl.offsetWidth || 0;\n right = docWidth - (targetRect.right + scrollX) + this.getProps().offsetX;\n } else {\n left = targetRect.left + scrollX + this.getProps().offsetX;\n }\n\n const { offsetY = 0 } = this.props;\n let bottom = null;\n let top: number | null = targetRect.bottom + scrollY + offsetY;\n\n const distanceToBottom = docEl.clientHeight - targetRect.bottom;\n const dropdownHeight = this.getHeight();\n\n if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {\n const clientHeight = this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;\n\n top = null;\n bottom = clientHeight + offsetY - scrollY - targetRect.top;\n }\n\n const position = {\n top,\n left,\n right,\n bottom,\n };\n\n this.setState({\n minWidth: this.getMinWidth(),\n position: this.props.disablePortal ? this.convertToRelativePosition(position) : position,\n });\n }\n };\n\n private getHeight = () => {\n if (!this.isElement(this.dom)) {\n return 0;\n }\n const child = this.dom.children.item(0);\n if (!child) {\n return 0;\n }\n return child.getBoundingClientRect().height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n if (!target || !this.isElement(target)) {\n return 0;\n }\n return target.getBoundingClientRect().width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const { offsetX = 0, offsetY = 0 } = this.props;\n const { top, bottom, left, right } = position;\n if (target && this.isElement(target)) {\n const targetHeight = target.getBoundingClientRect().height;\n return {\n top: top !== null ? targetHeight + offsetY : null,\n bottom: bottom !== null ? targetHeight + offsetY : null,\n left: left !== null ? offsetX : null,\n right: right !== null ? offsetX : null,\n };\n }\n return {\n top: offsetY,\n bottom: null,\n left: offsetX,\n right: null,\n };\n };\n}\n\nconst getIsDocumentElementRoot = () => {\n const { body, documentElement } = document;\n const htmlPosition = getComputedStyle(documentElement).position;\n const bodyPosition = getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n return hasLimitedHeightRoot || hasStaticRoot;\n};\n"]}
@@ -28,10 +28,10 @@ export declare class DropdownContainer extends React.PureComponent<DropdownConta
28
28
  offsetX: number;
29
29
  offsetY: number;
30
30
  };
31
- state: DropdownContainerState;
32
31
  private getProps;
33
32
  private dom;
34
33
  private layoutSub;
34
+ constructor(props: DropdownContainerProps);
35
35
  componentDidMount(): void;
36
36
  componentWillUnmount(): void;
37
37
  render(): JSX.Element;
@@ -163,7 +163,7 @@ var ComponentShowcase = /*#__PURE__*/function (_React$Component2) {
163
163
  onVariableSelect = _this$props.onVariableSelect,
164
164
  isDebugMode = _this$props.isDebugMode;
165
165
  var elements = Object.keys(description);
166
- return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
166
+ return elements.length ? /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
167
167
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Sticky, {
168
168
  side: 'top',
169
169
  offset: 40
@@ -204,7 +204,7 @@ var ComponentShowcase = /*#__PURE__*/function (_React$Component2) {
204
204
  isDebugMode: isDebugMode
205
205
  });
206
206
  }))));
207
- });
207
+ }) : null;
208
208
  };
209
209
 
210
210
  return ComponentShowcase;
@@ -1 +1 @@
1
- {"version":3,"sources":["ThemeShowcase.tsx"],"names":["React","DEFAULT_THEME","defaultVariables","DARK_THEME","darkVariables","ComboBox","Gapped","Link","Sticky","ColorFunctions","Tooltip","IS_PROXY_SUPPORTED","cx","ThemeContext","ALL_USED_VARIABLES","CALLS_COUNT","COMPONENT_DESCRIPTIONS","COMPONENT_DESCRIPTIONS_BY_VARIABLE","EXECUTION_TIME","styles","EMPTY_ARRAY","ALL_VARIABLES","Object","keys","ThemeShowcase","props","state","isUnmounting","variablesDiff","getItems","query","Promise","resolve","getValues","handleVariableChange","item","setState","selectedVariable","handleUnexpectedVariableInput","values","length","resetVariable","undefined","isDebugMode","forEach","variable","found","includes","push","render","descriptionsToRender","value","callsCount","executionTime","toFixed","theme","searchBar","sort","map","componentName","componentWillUnmount","lowerCaseQuery","toLowerCase","trim","allItems","filter","usedVariable","startsWith","usedVariableName","label","Component","ComponentShowcase","name","description","onVariableSelect","elements","isSticky","heading","headingSticky","table","headerCell","width","el","ComponentShowcaseRow","element","row","rowSpan","variables","invisibleRow","invisibleDarkRow","cell","majorCell","elementName","invisibleCell","varName","dependencies","variableDefault","variableDark","hasNoVariables","suspiciousRow","darkRow","VariableName","handleVariableSelect","variableName","renderDependencies","dependency","DependencyName","dependencyName","dependencyDefault","dependencyDark","handleDependencySelect","onDependencySelect","VariableValue","valueIsColor","isColor","valueIsGradient","isGradient","hasExample","borderColor","contrast","colorExample","background","ShowUnusedVariables","diff","unusedVariablesWarning","v","input"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { DEFAULT_THEME as defaultVariables } from '../../lib/theming/themes/DefaultTheme';\nimport { DARK_THEME as darkVariables } from '../../lib/theming/themes/DarkTheme';\nimport { ComboBox, ComboBoxItem } from '../../components/ComboBox';\nimport { Gapped } from '../../components/Gapped';\nimport { Link } from '../../components/Link';\nimport { Sticky } from '../../components/Sticky';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { Tooltip } from '../../components/Tooltip';\nimport { IS_PROXY_SUPPORTED } from '../../lib/Supports';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport {\n ALL_USED_VARIABLES,\n CALLS_COUNT,\n COMPONENT_DESCRIPTIONS,\n COMPONENT_DESCRIPTIONS_BY_VARIABLE,\n ComponentDescriptionType,\n ComponentRowDescriptionType,\n EXECUTION_TIME,\n} from './VariablesCollector';\nimport { styles } from './ThemeShowcase.styles';\n\nconst EMPTY_ARRAY: string[] = [];\n\nconst ALL_VARIABLES = Object.keys(defaultVariables) as Array<keyof Theme>;\n\ninterface ShowcaseProps {\n isDebugMode?: boolean;\n}\ninterface ShowcaseState {\n selectedVariable?: ComboBoxItem;\n}\n\nexport class ThemeShowcase extends React.Component<ShowcaseProps, ShowcaseState> {\n public state: ShowcaseState = {};\n\n private isUnmounting = false;\n private variablesDiff: string[] = [];\n\n constructor(props: ShowcaseProps) {\n super(props);\n if (props.isDebugMode) {\n ALL_VARIABLES.forEach((variable) => {\n const found = ALL_USED_VARIABLES.includes(variable);\n if (!found) {\n this.variablesDiff.push(variable);\n }\n });\n }\n }\n\n public render() {\n if (!IS_PROXY_SUPPORTED) {\n return (\n <div>\n Таблица использования переменных доступна только в{' '}\n <Link href={'https://caniuse.com/#feat=proxy'} target={'_blank'}>\n браузерах с поддержкой Proxy\n </Link>\n .\n </div>\n );\n }\n\n const selectedVariable = this.state.selectedVariable;\n const descriptionsToRender = selectedVariable\n ? COMPONENT_DESCRIPTIONS_BY_VARIABLE[selectedVariable.value] || {}\n : COMPONENT_DESCRIPTIONS;\n\n const isDebugMode = this.props.isDebugMode;\n const callsCount = isDebugMode ? `(${CALLS_COUNT} вызовов)` : '';\n const executionTime = isDebugMode ? `Сгенерировано за ${EXECUTION_TIME.toFixed(3)}ms` : '';\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <Gapped wrap gap={30} verticalAlign={'top'}>\n <div>\n <Sticky side={'top'}>\n <div className={styles.searchBar(theme)} data-perf-info={`${executionTime} ${callsCount}`}>\n <Gapped gap={15}>\n <ComboBox\n getItems={this.getItems}\n value={selectedVariable}\n onValueChange={this.handleVariableChange}\n onUnexpectedInput={this.handleUnexpectedVariableInput}\n placeholder={'поиск по названию переменной'}\n />\n {!!selectedVariable && <Link onClick={this.resetVariable}>сбросить</Link>}\n </Gapped>\n </div>\n </Sticky>\n {Object.keys(descriptionsToRender)\n .sort()\n .map((componentName) => (\n <ComponentShowcase\n key={componentName}\n name={componentName}\n description={descriptionsToRender[componentName]}\n isDebugMode={isDebugMode}\n onVariableSelect={this.handleVariableChange}\n />\n ))}\n </div>\n <ShowUnusedVariables diff={this.variablesDiff} />\n </Gapped>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public componentWillUnmount(): void {\n this.isUnmounting = true;\n }\n\n private getValues(query: string) {\n const lowerCaseQuery = query && query.toLowerCase().trim();\n let allItems = ALL_USED_VARIABLES;\n if (lowerCaseQuery) {\n allItems = ALL_USED_VARIABLES.filter((usedVariable) => usedVariable.toLowerCase().startsWith(lowerCaseQuery));\n }\n return allItems.map((usedVariableName) => ({\n value: usedVariableName,\n label: usedVariableName,\n }));\n }\n private getItems = (query: string) => {\n return Promise.resolve(this.getValues(query));\n };\n private handleVariableChange = (item: ComboBoxItem) => {\n if (!this.isUnmounting) {\n this.setState({ selectedVariable: item });\n }\n };\n private handleUnexpectedVariableInput = (query: string) => {\n const values = this.getValues(query);\n if (values.length > 0) {\n return values[0];\n } else {\n return this.resetVariable();\n }\n };\n private resetVariable = () => {\n if (!this.isUnmounting) {\n this.setState({ selectedVariable: undefined });\n }\n };\n}\n\ninterface ComponentShowcaseProps {\n name: string;\n description: ComponentDescriptionType;\n isDebugMode?: boolean;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\nclass ComponentShowcase extends React.Component<ComponentShowcaseProps, {}> {\n public render() {\n const { name, description, onVariableSelect, isDebugMode } = this.props;\n const elements = Object.keys(description);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <React.Fragment>\n <Sticky side={'top'} offset={40}>\n {(isSticky) => (\n <h2\n className={cx({\n [styles.heading(theme)]: true,\n [styles.headingSticky()]: isSticky,\n })}\n >\n {this.props.name}\n </h2>\n )}\n </Sticky>\n <table className={styles.table()}>\n <thead>\n <tr>\n <th className={styles.headerCell()} style={{ width: 170 }}>\n ClassName\n </th>\n <th className={styles.headerCell()} style={{ width: 210 }}>\n Variable Name\n </th>\n <th className={styles.headerCell()} style={{ width: 250 }}>\n Default Value\n </th>\n <th className={styles.headerCell()} style={{ width: 250 }}>\n Dark Value\n </th>\n </tr>\n </thead>\n <tbody>\n {elements.map((el) => (\n <ComponentShowcaseRow\n key={`${name}_${el}`}\n element={el}\n row={description[el]}\n onVariableSelect={onVariableSelect}\n isDebugMode={isDebugMode}\n />\n ))}\n </tbody>\n </table>\n </React.Fragment>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n}\n\ninterface ComponentShowcaseRowProps {\n element: string;\n row: ComponentRowDescriptionType;\n isDebugMode?: boolean;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nclass ComponentShowcaseRow extends React.Component<ComponentShowcaseRowProps> {\n public render() {\n const { element: el, row, isDebugMode } = this.props;\n const rowSpan = row.variables.length + 1;\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <React.Fragment>\n <tr className={cx(styles.invisibleRow(), { [styles.invisibleDarkRow()]: theme === darkVariables })}>\n <td className={cx(styles.cell(), styles.majorCell())} rowSpan={rowSpan}>\n <span className={styles.elementName()}>.{el}</span>\n </td>\n <td className={styles.invisibleCell()} />\n <td className={styles.invisibleCell()} />\n <td className={styles.invisibleCell()} />\n </tr>\n {row.variables.map((varName) => {\n const dependencies = row.dependencies[varName] || EMPTY_ARRAY;\n const variableDefault = defaultVariables[varName] as string;\n const variableDark = darkVariables[varName] as string;\n const hasNoVariables = isDebugMode && !variableDefault;\n return (\n <tr\n key={`${el}_${varName}`}\n className={cx(styles.row(), {\n [styles.suspiciousRow()]: hasNoVariables,\n [styles.darkRow()]: theme === darkVariables,\n })}\n >\n <td className={styles.cell()}>\n <VariableName\n variableName={varName as string}\n dependencies={dependencies}\n onVariableSelect={this.props.onVariableSelect}\n />\n </td>\n <td className={styles.cell()}>\n <VariableValue value={variableDefault} />\n </td>\n <td className={styles.cell()}>\n <VariableValue value={variableDark} />\n </td>\n </tr>\n );\n })}\n </React.Fragment>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n}\n\ninterface VariableNameProps {\n variableName: string;\n dependencies: Array<keyof Theme>;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nclass VariableName extends React.Component<VariableNameProps> {\n public render() {\n return (\n <span>\n <span className={styles.variableName()} onClick={this.handleVariableSelect}>\n {this.props.variableName}\n </span>\n {this.props.dependencies.length > 0 && this.renderDependencies()}\n </span>\n );\n }\n\n private renderDependencies() {\n const { dependencies, onVariableSelect } = this.props;\n return (\n <React.Fragment>\n <br />\n <br />\n зависит от:\n {dependencies.map((dependency) => (\n <DependencyName\n key={`dependency_${dependency}`}\n dependencyName={dependency}\n onDependencySelect={onVariableSelect}\n />\n ))}\n </React.Fragment>\n );\n }\n\n private handleVariableSelect = () => {\n const { variableName, onVariableSelect } = this.props;\n if (onVariableSelect) {\n onVariableSelect({ value: variableName, label: variableName });\n }\n };\n}\n\ninterface DependencyNameProps {\n dependencyName: keyof Theme;\n onDependencySelect: (item: ComboBoxItem) => void;\n}\nclass DependencyName extends React.Component<DependencyNameProps> {\n public render() {\n return (\n <React.Fragment>\n <br />\n &ndash;{' '}\n <Tooltip trigger={'hover'} render={this.getValues} pos={'right middle'}>\n <span className={styles.variableName()} onClick={this.handleDependencySelect}>\n {this.props.dependencyName}\n </span>\n </Tooltip>\n </React.Fragment>\n );\n }\n\n private getValues = () => {\n const dependencyName = this.props.dependencyName;\n const dependencyDefault = defaultVariables[dependencyName] as string;\n const dependencyDark = darkVariables[dependencyName] as string;\n return (\n <React.Fragment>\n <span>Default value: {<VariableValue value={dependencyDefault} />}</span>\n <span>Dark value: {<VariableValue value={dependencyDark} />}</span>\n </React.Fragment>\n );\n };\n\n private handleDependencySelect = () => {\n const { dependencyName, onDependencySelect } = this.props;\n if (onDependencySelect) {\n onDependencySelect({ value: dependencyName, label: dependencyName });\n }\n };\n}\n\nconst VariableValue = (props: { value: string }) => {\n const value = props.value;\n const valueIsColor = isColor(value);\n const valueIsGradient = isGradient(value);\n const hasExample = valueIsColor || valueIsGradient;\n let borderColor = 'transparent';\n if (hasExample) {\n borderColor = valueIsColor ? ColorFunctions.contrast(value) : '#000';\n }\n\n return (\n <span className={cx({ [styles.undefined()]: !value })}>\n {hasExample && <span className={styles.colorExample()} style={{ background: value, borderColor }} />}\n {value || 'undefined'}\n </span>\n );\n};\n\nconst ShowUnusedVariables = (props: { diff: string[] }) => {\n if (props.diff.length === 0) {\n return null;\n }\n\n return (\n <div className={styles.unusedVariablesWarning()}>\n Неиспользованные переменные ({props.diff.length}\n ):\n <ul>\n {props.diff.sort().map((v) => (\n <li key={v}>{v}</li>\n ))}\n </ul>\n </div>\n );\n};\n\nfunction isColor(input: string) {\n return !!input && (input.startsWith('#') || input.startsWith('rgb') || input.startsWith('hsl'));\n}\n\nfunction isGradient(input: string) {\n return !!input && input.startsWith('linear-gradient');\n}\n"]}
1
+ {"version":3,"sources":["ThemeShowcase.tsx"],"names":["React","DEFAULT_THEME","defaultVariables","DARK_THEME","darkVariables","ComboBox","Gapped","Link","Sticky","ColorFunctions","Tooltip","IS_PROXY_SUPPORTED","cx","ThemeContext","ALL_USED_VARIABLES","CALLS_COUNT","COMPONENT_DESCRIPTIONS","COMPONENT_DESCRIPTIONS_BY_VARIABLE","EXECUTION_TIME","styles","EMPTY_ARRAY","ALL_VARIABLES","Object","keys","ThemeShowcase","props","state","isUnmounting","variablesDiff","getItems","query","Promise","resolve","getValues","handleVariableChange","item","setState","selectedVariable","handleUnexpectedVariableInput","values","length","resetVariable","undefined","isDebugMode","forEach","variable","found","includes","push","render","descriptionsToRender","value","callsCount","executionTime","toFixed","theme","searchBar","sort","map","componentName","componentWillUnmount","lowerCaseQuery","toLowerCase","trim","allItems","filter","usedVariable","startsWith","usedVariableName","label","Component","ComponentShowcase","name","description","onVariableSelect","elements","isSticky","heading","headingSticky","table","headerCell","width","el","ComponentShowcaseRow","element","row","rowSpan","variables","invisibleRow","invisibleDarkRow","cell","majorCell","elementName","invisibleCell","varName","dependencies","variableDefault","variableDark","hasNoVariables","suspiciousRow","darkRow","VariableName","handleVariableSelect","variableName","renderDependencies","dependency","DependencyName","dependencyName","dependencyDefault","dependencyDark","handleDependencySelect","onDependencySelect","VariableValue","valueIsColor","isColor","valueIsGradient","isGradient","hasExample","borderColor","contrast","colorExample","background","ShowUnusedVariables","diff","unusedVariablesWarning","v","input"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { DEFAULT_THEME as defaultVariables } from '../../lib/theming/themes/DefaultTheme';\nimport { DARK_THEME as darkVariables } from '../../lib/theming/themes/DarkTheme';\nimport { ComboBox, ComboBoxItem } from '../../components/ComboBox';\nimport { Gapped } from '../../components/Gapped';\nimport { Link } from '../../components/Link';\nimport { Sticky } from '../../components/Sticky';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { Tooltip } from '../../components/Tooltip';\nimport { IS_PROXY_SUPPORTED } from '../../lib/Supports';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport {\n ALL_USED_VARIABLES,\n CALLS_COUNT,\n COMPONENT_DESCRIPTIONS,\n COMPONENT_DESCRIPTIONS_BY_VARIABLE,\n ComponentDescriptionType,\n ComponentRowDescriptionType,\n EXECUTION_TIME,\n} from './VariablesCollector';\nimport { styles } from './ThemeShowcase.styles';\n\nconst EMPTY_ARRAY: string[] = [];\n\nconst ALL_VARIABLES = Object.keys(defaultVariables) as Array<keyof Theme>;\n\ninterface ShowcaseProps {\n isDebugMode?: boolean;\n}\ninterface ShowcaseState {\n selectedVariable?: ComboBoxItem;\n}\n\nexport class ThemeShowcase extends React.Component<ShowcaseProps, ShowcaseState> {\n public state: ShowcaseState = {};\n\n private isUnmounting = false;\n private variablesDiff: string[] = [];\n\n constructor(props: ShowcaseProps) {\n super(props);\n if (props.isDebugMode) {\n ALL_VARIABLES.forEach((variable) => {\n const found = ALL_USED_VARIABLES.includes(variable);\n if (!found) {\n this.variablesDiff.push(variable);\n }\n });\n }\n }\n\n public render() {\n if (!IS_PROXY_SUPPORTED) {\n return (\n <div>\n Таблица использования переменных доступна только в{' '}\n <Link href={'https://caniuse.com/#feat=proxy'} target={'_blank'}>\n браузерах с поддержкой Proxy\n </Link>\n .\n </div>\n );\n }\n\n const selectedVariable = this.state.selectedVariable;\n const descriptionsToRender = selectedVariable\n ? COMPONENT_DESCRIPTIONS_BY_VARIABLE[selectedVariable.value] || {}\n : COMPONENT_DESCRIPTIONS;\n\n const isDebugMode = this.props.isDebugMode;\n const callsCount = isDebugMode ? `(${CALLS_COUNT} вызовов)` : '';\n const executionTime = isDebugMode ? `Сгенерировано за ${EXECUTION_TIME.toFixed(3)}ms` : '';\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <Gapped wrap gap={30} verticalAlign={'top'}>\n <div>\n <Sticky side={'top'}>\n <div className={styles.searchBar(theme)} data-perf-info={`${executionTime} ${callsCount}`}>\n <Gapped gap={15}>\n <ComboBox\n getItems={this.getItems}\n value={selectedVariable}\n onValueChange={this.handleVariableChange}\n onUnexpectedInput={this.handleUnexpectedVariableInput}\n placeholder={'поиск по названию переменной'}\n />\n {!!selectedVariable && <Link onClick={this.resetVariable}>сбросить</Link>}\n </Gapped>\n </div>\n </Sticky>\n {Object.keys(descriptionsToRender)\n .sort()\n .map((componentName) => (\n <ComponentShowcase\n key={componentName}\n name={componentName}\n description={descriptionsToRender[componentName]}\n isDebugMode={isDebugMode}\n onVariableSelect={this.handleVariableChange}\n />\n ))}\n </div>\n <ShowUnusedVariables diff={this.variablesDiff} />\n </Gapped>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n public componentWillUnmount(): void {\n this.isUnmounting = true;\n }\n\n private getValues(query: string) {\n const lowerCaseQuery = query && query.toLowerCase().trim();\n let allItems = ALL_USED_VARIABLES;\n if (lowerCaseQuery) {\n allItems = ALL_USED_VARIABLES.filter((usedVariable) => usedVariable.toLowerCase().startsWith(lowerCaseQuery));\n }\n return allItems.map((usedVariableName) => ({\n value: usedVariableName,\n label: usedVariableName,\n }));\n }\n private getItems = (query: string) => {\n return Promise.resolve(this.getValues(query));\n };\n private handleVariableChange = (item: ComboBoxItem) => {\n if (!this.isUnmounting) {\n this.setState({ selectedVariable: item });\n }\n };\n private handleUnexpectedVariableInput = (query: string) => {\n const values = this.getValues(query);\n if (values.length > 0) {\n return values[0];\n } else {\n return this.resetVariable();\n }\n };\n private resetVariable = () => {\n if (!this.isUnmounting) {\n this.setState({ selectedVariable: undefined });\n }\n };\n}\n\ninterface ComponentShowcaseProps {\n name: string;\n description: ComponentDescriptionType;\n isDebugMode?: boolean;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\nclass ComponentShowcase extends React.Component<ComponentShowcaseProps, {}> {\n public render() {\n const { name, description, onVariableSelect, isDebugMode } = this.props;\n const elements = Object.keys(description);\n\n return elements.length ? (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <React.Fragment>\n <Sticky side={'top'} offset={40}>\n {(isSticky) => (\n <h2\n className={cx({\n [styles.heading(theme)]: true,\n [styles.headingSticky()]: isSticky,\n })}\n >\n {this.props.name}\n </h2>\n )}\n </Sticky>\n <table className={styles.table()}>\n <thead>\n <tr>\n <th className={styles.headerCell()} style={{ width: 170 }}>\n ClassName\n </th>\n <th className={styles.headerCell()} style={{ width: 210 }}>\n Variable Name\n </th>\n <th className={styles.headerCell()} style={{ width: 250 }}>\n Default Value\n </th>\n <th className={styles.headerCell()} style={{ width: 250 }}>\n Dark Value\n </th>\n </tr>\n </thead>\n <tbody>\n {elements.map((el) => (\n <ComponentShowcaseRow\n key={`${name}_${el}`}\n element={el}\n row={description[el]}\n onVariableSelect={onVariableSelect}\n isDebugMode={isDebugMode}\n />\n ))}\n </tbody>\n </table>\n </React.Fragment>\n );\n }}\n </ThemeContext.Consumer>\n ) : null;\n }\n}\n\ninterface ComponentShowcaseRowProps {\n element: string;\n row: ComponentRowDescriptionType;\n isDebugMode?: boolean;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nclass ComponentShowcaseRow extends React.Component<ComponentShowcaseRowProps> {\n public render() {\n const { element: el, row, isDebugMode } = this.props;\n const rowSpan = row.variables.length + 1;\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <React.Fragment>\n <tr className={cx(styles.invisibleRow(), { [styles.invisibleDarkRow()]: theme === darkVariables })}>\n <td className={cx(styles.cell(), styles.majorCell())} rowSpan={rowSpan}>\n <span className={styles.elementName()}>.{el}</span>\n </td>\n <td className={styles.invisibleCell()} />\n <td className={styles.invisibleCell()} />\n <td className={styles.invisibleCell()} />\n </tr>\n {row.variables.map((varName) => {\n const dependencies = row.dependencies[varName] || EMPTY_ARRAY;\n const variableDefault = defaultVariables[varName] as string;\n const variableDark = darkVariables[varName] as string;\n const hasNoVariables = isDebugMode && !variableDefault;\n return (\n <tr\n key={`${el}_${varName}`}\n className={cx(styles.row(), {\n [styles.suspiciousRow()]: hasNoVariables,\n [styles.darkRow()]: theme === darkVariables,\n })}\n >\n <td className={styles.cell()}>\n <VariableName\n variableName={varName as string}\n dependencies={dependencies}\n onVariableSelect={this.props.onVariableSelect}\n />\n </td>\n <td className={styles.cell()}>\n <VariableValue value={variableDefault} />\n </td>\n <td className={styles.cell()}>\n <VariableValue value={variableDark} />\n </td>\n </tr>\n );\n })}\n </React.Fragment>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n}\n\ninterface VariableNameProps {\n variableName: string;\n dependencies: Array<keyof Theme>;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nclass VariableName extends React.Component<VariableNameProps> {\n public render() {\n return (\n <span>\n <span className={styles.variableName()} onClick={this.handleVariableSelect}>\n {this.props.variableName}\n </span>\n {this.props.dependencies.length > 0 && this.renderDependencies()}\n </span>\n );\n }\n\n private renderDependencies() {\n const { dependencies, onVariableSelect } = this.props;\n return (\n <React.Fragment>\n <br />\n <br />\n зависит от:\n {dependencies.map((dependency) => (\n <DependencyName\n key={`dependency_${dependency}`}\n dependencyName={dependency}\n onDependencySelect={onVariableSelect}\n />\n ))}\n </React.Fragment>\n );\n }\n\n private handleVariableSelect = () => {\n const { variableName, onVariableSelect } = this.props;\n if (onVariableSelect) {\n onVariableSelect({ value: variableName, label: variableName });\n }\n };\n}\n\ninterface DependencyNameProps {\n dependencyName: keyof Theme;\n onDependencySelect: (item: ComboBoxItem) => void;\n}\nclass DependencyName extends React.Component<DependencyNameProps> {\n public render() {\n return (\n <React.Fragment>\n <br />\n &ndash;{' '}\n <Tooltip trigger={'hover'} render={this.getValues} pos={'right middle'}>\n <span className={styles.variableName()} onClick={this.handleDependencySelect}>\n {this.props.dependencyName}\n </span>\n </Tooltip>\n </React.Fragment>\n );\n }\n\n private getValues = () => {\n const dependencyName = this.props.dependencyName;\n const dependencyDefault = defaultVariables[dependencyName] as string;\n const dependencyDark = darkVariables[dependencyName] as string;\n return (\n <React.Fragment>\n <span>Default value: {<VariableValue value={dependencyDefault} />}</span>\n <span>Dark value: {<VariableValue value={dependencyDark} />}</span>\n </React.Fragment>\n );\n };\n\n private handleDependencySelect = () => {\n const { dependencyName, onDependencySelect } = this.props;\n if (onDependencySelect) {\n onDependencySelect({ value: dependencyName, label: dependencyName });\n }\n };\n}\n\nconst VariableValue = (props: { value: string }) => {\n const value = props.value;\n const valueIsColor = isColor(value);\n const valueIsGradient = isGradient(value);\n const hasExample = valueIsColor || valueIsGradient;\n let borderColor = 'transparent';\n if (hasExample) {\n borderColor = valueIsColor ? ColorFunctions.contrast(value) : '#000';\n }\n\n return (\n <span className={cx({ [styles.undefined()]: !value })}>\n {hasExample && <span className={styles.colorExample()} style={{ background: value, borderColor }} />}\n {value || 'undefined'}\n </span>\n );\n};\n\nconst ShowUnusedVariables = (props: { diff: string[] }) => {\n if (props.diff.length === 0) {\n return null;\n }\n\n return (\n <div className={styles.unusedVariablesWarning()}>\n Неиспользованные переменные ({props.diff.length}\n ):\n <ul>\n {props.diff.sort().map((v) => (\n <li key={v}>{v}</li>\n ))}\n </ul>\n </div>\n );\n};\n\nfunction isColor(input: string) {\n return !!input && (input.startsWith('#') || input.startsWith('rgb') || input.startsWith('hsl'));\n}\n\nfunction isGradient(input: string) {\n return !!input && input.startsWith('linear-gradient');\n}\n"]}
@@ -92,19 +92,27 @@ if (IS_PROXY_SUPPORTED) {
92
92
  function getProxyHandler(accumulator, dependencies) {
93
93
  var accessLevel = 0;
94
94
  var rootProp = '';
95
+
96
+ function isThemeVariable(theme, name) {
97
+ return typeof theme[name] === 'string';
98
+ }
99
+
95
100
  return {
96
101
  get: function get(target, prop, receiver) {
97
102
  var propName = prop;
98
- ALL_USED_VARIABLES_SET.add(propName);
99
-
100
- if (accessLevel === 0) {
101
- rootProp = propName;
102
- accumulator.add(propName);
103
- } else {
104
- if (!dependencies[rootProp]) {
105
- dependencies[rootProp] = [propName];
106
- } else if (!dependencies[rootProp].includes(propName)) {
107
- dependencies[rootProp].push(propName);
103
+
104
+ if (isThemeVariable(target, propName)) {
105
+ ALL_USED_VARIABLES_SET.add(propName);
106
+
107
+ if (accessLevel === 0) {
108
+ rootProp = propName;
109
+ accumulator.add(propName);
110
+ } else {
111
+ if (!dependencies[rootProp]) {
112
+ dependencies[rootProp] = [propName];
113
+ } else if (!dependencies[rootProp].includes(propName)) {
114
+ dependencies[rootProp].push(propName);
115
+ }
108
116
  }
109
117
  }
110
118
 
@@ -1 +1 @@
1
- {"version":3,"sources":["VariablesCollector.ts"],"names":["DEFAULT_THEME","DARK_THEME","IS_PROXY_SUPPORTED","callsCount","executionTime","ALL_USED_VARIABLES_SET","Set","COMPONENT_DESCRIPTIONS","COMPONENT_DESCRIPTIONS_BY_VARIABLE","baseThemes","push","componentsContext","require","context","keys","forEach","fileName","fileNameStart","lastIndexOf","componentName","substring","replace","componentDescription","Object","exportName","styles","elementName","jsStyle","variablesAccumulator","dependencies","elementProxyHandler","getProxyHandler","themes","map","t","Proxy","variables","Array","from","length","variableName","variableNode","componentNode","includes","dependenciesList","dependencyName","dependencyNode","accumulator","accessLevel","rootProp","get","target","prop","receiver","propName","add","start","performance","now","result","Reflect","ALL_USED_VARIABLES","CALLS_COUNT","EXECUTION_TIME"],"mappings":"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","sourcesContent":["import { Theme } from '../../lib/theming/Theme';\nimport { DEFAULT_THEME } from '../../lib/theming/themes/DefaultTheme';\nimport { DARK_THEME } from '../../lib/theming/themes/DarkTheme';\nimport { IS_PROXY_SUPPORTED } from '../../lib/Supports';\n\nexport interface DescriptionsType {\n [componentName: string]: ComponentDescriptionType;\n}\n\nexport interface ComponentDescriptionType {\n [elementName: string]: ComponentRowDescriptionType;\n}\n\nexport interface ComponentRowDescriptionType {\n variables: Array<keyof Theme>;\n dependencies: VariableDependencies;\n}\n\nexport interface VariableNameToComponentsMap {\n [variableName: string]: DescriptionsType;\n}\n\nexport interface VariableDependencies {\n [variableName: string]: Array<keyof Theme>;\n}\n\nlet callsCount = 0;\nlet executionTime = 0;\nconst ALL_USED_VARIABLES_SET = new Set<keyof Theme>();\n\nexport const COMPONENT_DESCRIPTIONS: DescriptionsType = {};\nexport const COMPONENT_DESCRIPTIONS_BY_VARIABLE: VariableNameToComponentsMap = {};\n\nif (IS_PROXY_SUPPORTED) {\n const baseThemes: Theme[] = [];\n baseThemes.push(DEFAULT_THEME);\n baseThemes.push(DARK_THEME);\n\n const componentsContext = require.context('../../../', true, /\\.styles.ts$/);\n componentsContext.keys().forEach((fileName) => {\n const fileNameStart = fileName.lastIndexOf('/') + 1;\n const componentName = fileName.substring(fileNameStart).replace('.styles.ts', '');\n const componentDescription: ComponentDescriptionType = {};\n Object.keys(componentsContext(fileName)).forEach((exportName) => {\n const styles = componentsContext(fileName)[exportName];\n\n Object.keys(styles).forEach((elementName) => {\n const jsStyle = styles[elementName];\n if (typeof jsStyle !== 'function') {\n return;\n }\n const variablesAccumulator = new Set<keyof Theme>();\n const dependencies: VariableDependencies = {};\n const elementProxyHandler = getProxyHandler(variablesAccumulator, dependencies);\n const themes = baseThemes.map((t) => new Proxy(t, elementProxyHandler));\n themes.forEach((t) => jsStyle(t));\n\n const variables = Array.from(variablesAccumulator);\n\n if (variables.length > 0) {\n componentDescription[elementName] = { variables, dependencies };\n\n variables.forEach((variableName) => {\n if (!COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName]) {\n COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName] = {};\n }\n\n const variableNode = COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName];\n if (!variableNode[componentName]) {\n variableNode[componentName] = {};\n }\n\n const componentNode = variableNode[componentName];\n if (!componentNode[elementName]) {\n componentNode[elementName] = {\n dependencies,\n variables: [variableName],\n };\n } else if (!componentNode[elementName].variables.includes(variableName)) {\n componentNode[elementName].dependencies = dependencies;\n componentNode[elementName].variables.push(variableName);\n }\n\n const dependenciesList = dependencies[variableName];\n if (dependenciesList) {\n dependenciesList.forEach((dependencyName) => {\n if (!COMPONENT_DESCRIPTIONS_BY_VARIABLE[dependencyName]) {\n COMPONENT_DESCRIPTIONS_BY_VARIABLE[dependencyName] = {};\n }\n\n const dependencyNode = COMPONENT_DESCRIPTIONS_BY_VARIABLE[dependencyName];\n if (!dependencyNode[componentName]) {\n dependencyNode[componentName] = COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName][componentName];\n }\n });\n }\n });\n }\n });\n });\n\n COMPONENT_DESCRIPTIONS[componentName] = componentDescription;\n });\n}\n\nfunction getProxyHandler(accumulator: Set<keyof Theme>, dependencies: VariableDependencies): ProxyHandler<Theme> {\n let accessLevel = 0;\n let rootProp = '';\n return {\n get(target, prop, receiver) {\n const propName = prop as keyof Theme;\n ALL_USED_VARIABLES_SET.add(propName);\n if (accessLevel === 0) {\n rootProp = propName;\n accumulator.add(propName);\n } else {\n if (!dependencies[rootProp]) {\n dependencies[rootProp] = [propName];\n } else if (!dependencies[rootProp].includes(propName)) {\n dependencies[rootProp].push(propName);\n }\n }\n accessLevel++;\n const start = performance.now();\n const result = Reflect.get(target, prop, receiver);\n executionTime += performance.now() - start;\n callsCount++;\n accessLevel--;\n return result;\n },\n };\n}\n\nexport const ALL_USED_VARIABLES = Array.from(ALL_USED_VARIABLES_SET);\nexport const CALLS_COUNT = callsCount;\nexport const EXECUTION_TIME = executionTime;\n"]}
1
+ {"version":3,"sources":["VariablesCollector.ts"],"names":["DEFAULT_THEME","DARK_THEME","IS_PROXY_SUPPORTED","callsCount","executionTime","ALL_USED_VARIABLES_SET","Set","COMPONENT_DESCRIPTIONS","COMPONENT_DESCRIPTIONS_BY_VARIABLE","baseThemes","push","componentsContext","require","context","keys","forEach","fileName","fileNameStart","lastIndexOf","componentName","substring","replace","componentDescription","Object","exportName","styles","elementName","jsStyle","variablesAccumulator","dependencies","elementProxyHandler","getProxyHandler","themes","map","t","Proxy","variables","Array","from","length","variableName","variableNode","componentNode","includes","dependenciesList","dependencyName","dependencyNode","accumulator","accessLevel","rootProp","isThemeVariable","theme","name","get","target","prop","receiver","propName","add","start","performance","now","result","Reflect","ALL_USED_VARIABLES","CALLS_COUNT","EXECUTION_TIME"],"mappings":"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","sourcesContent":["import { Theme } from '../../lib/theming/Theme';\nimport { DEFAULT_THEME } from '../../lib/theming/themes/DefaultTheme';\nimport { DARK_THEME } from '../../lib/theming/themes/DarkTheme';\nimport { IS_PROXY_SUPPORTED } from '../../lib/Supports';\n\nexport interface DescriptionsType {\n [componentName: string]: ComponentDescriptionType;\n}\n\nexport interface ComponentDescriptionType {\n [elementName: string]: ComponentRowDescriptionType;\n}\n\nexport interface ComponentRowDescriptionType {\n variables: Array<keyof Theme>;\n dependencies: VariableDependencies;\n}\n\nexport interface VariableNameToComponentsMap {\n [variableName: string]: DescriptionsType;\n}\n\nexport interface VariableDependencies {\n [variableName: string]: Array<keyof Theme>;\n}\n\nlet callsCount = 0;\nlet executionTime = 0;\nconst ALL_USED_VARIABLES_SET = new Set<keyof Theme>();\n\nexport const COMPONENT_DESCRIPTIONS: DescriptionsType = {};\nexport const COMPONENT_DESCRIPTIONS_BY_VARIABLE: VariableNameToComponentsMap = {};\n\nif (IS_PROXY_SUPPORTED) {\n const baseThemes: Theme[] = [];\n baseThemes.push(DEFAULT_THEME);\n baseThemes.push(DARK_THEME);\n\n const componentsContext = require.context('../../../', true, /\\.styles.ts$/);\n componentsContext.keys().forEach((fileName) => {\n const fileNameStart = fileName.lastIndexOf('/') + 1;\n const componentName = fileName.substring(fileNameStart).replace('.styles.ts', '');\n const componentDescription: ComponentDescriptionType = {};\n Object.keys(componentsContext(fileName)).forEach((exportName) => {\n const styles = componentsContext(fileName)[exportName];\n\n Object.keys(styles).forEach((elementName) => {\n const jsStyle = styles[elementName];\n if (typeof jsStyle !== 'function') {\n return;\n }\n const variablesAccumulator = new Set<keyof Theme>();\n const dependencies: VariableDependencies = {};\n const elementProxyHandler = getProxyHandler(variablesAccumulator, dependencies);\n const themes = baseThemes.map((t) => new Proxy(t, elementProxyHandler));\n themes.forEach((t) => jsStyle(t));\n\n const variables = Array.from(variablesAccumulator);\n\n if (variables.length > 0) {\n componentDescription[elementName] = { variables, dependencies };\n\n variables.forEach((variableName) => {\n if (!COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName]) {\n COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName] = {};\n }\n\n const variableNode = COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName];\n if (!variableNode[componentName]) {\n variableNode[componentName] = {};\n }\n\n const componentNode = variableNode[componentName];\n if (!componentNode[elementName]) {\n componentNode[elementName] = {\n dependencies,\n variables: [variableName],\n };\n } else if (!componentNode[elementName].variables.includes(variableName)) {\n componentNode[elementName].dependencies = dependencies;\n componentNode[elementName].variables.push(variableName);\n }\n\n const dependenciesList = dependencies[variableName];\n if (dependenciesList) {\n dependenciesList.forEach((dependencyName) => {\n if (!COMPONENT_DESCRIPTIONS_BY_VARIABLE[dependencyName]) {\n COMPONENT_DESCRIPTIONS_BY_VARIABLE[dependencyName] = {};\n }\n\n const dependencyNode = COMPONENT_DESCRIPTIONS_BY_VARIABLE[dependencyName];\n if (!dependencyNode[componentName]) {\n dependencyNode[componentName] = COMPONENT_DESCRIPTIONS_BY_VARIABLE[variableName][componentName];\n }\n });\n }\n });\n }\n });\n });\n\n COMPONENT_DESCRIPTIONS[componentName] = componentDescription;\n });\n}\n\nfunction getProxyHandler(accumulator: Set<keyof Theme>, dependencies: VariableDependencies): ProxyHandler<Theme> {\n let accessLevel = 0;\n let rootProp = '';\n function isThemeVariable<T extends Theme>(theme: T, name: keyof T) {\n return typeof theme[name] === 'string';\n }\n return {\n get(target, prop, receiver) {\n const propName = prop as keyof Theme;\n if (isThemeVariable(target, propName)) {\n ALL_USED_VARIABLES_SET.add(propName);\n if (accessLevel === 0) {\n rootProp = propName;\n accumulator.add(propName);\n } else {\n if (!dependencies[rootProp]) {\n dependencies[rootProp] = [propName];\n } else if (!dependencies[rootProp].includes(propName)) {\n dependencies[rootProp].push(propName);\n }\n }\n }\n accessLevel++;\n const start = performance.now();\n const result = Reflect.get(target, prop, receiver);\n executionTime += performance.now() - start;\n callsCount++;\n accessLevel--;\n return result;\n },\n };\n}\n\nexport const ALL_USED_VARIABLES = Array.from(ALL_USED_VARIABLES_SET);\nexport const CALLS_COUNT = callsCount;\nexport const EXECUTION_TIME = executionTime;\n"]}
@@ -49,9 +49,9 @@ export var SpinnerIcon = function SpinnerIcon(_ref) {
49
49
 
50
50
 
51
51
  React.useEffect(function () {
52
- var setStyleProperty = function setStyleProperty() {
53
- var svg = svgRef.current;
52
+ var svg = svgRef.current;
54
53
 
54
+ var setStyleProperty = function setStyleProperty() {
55
55
  if (svg) {
56
56
  var _svg$style;
57
57
 
@@ -62,7 +62,6 @@ export var SpinnerIcon = function SpinnerIcon(_ref) {
62
62
  fallbackAnimationRef.current = new SpinnerFallbackAnimationRunner([createOffsetAnimation(0, -230, 1000, setStyleProperty, '%'), createLengthAnimation([62, 168], [187, 43], 2000, setStyleProperty, '%'), createRotationAnimation(0, 360, 2000, setStyleProperty)].concat(dimmed ? [] : [createColorAnimation([red, yellow, green, brand], 1500, setStyleProperty)]), 1000 / 60);
63
63
  return function () {
64
64
  var fallbackAnimation = fallbackAnimationRef.current;
65
- var svg = svgRef.current;
66
65
 
67
66
  if (fallbackAnimation) {
68
67
  fallbackAnimation.stop();