@semcore/button 5.35.1-prerelease.0 → 5.35.2-prerelease.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [5.35.2] - 2024-08-23
6
+
7
+ ### Changed
8
+
9
+ - Version patch update due to children dependencies update (`@semcore/tooltip` [6.40.3 ~> 6.40.4]).
10
+
5
11
  ## [5.35.1] - 2024-08-12
6
12
 
7
13
  ### Changed
package/lib/cjs/Button.js CHANGED
@@ -25,32 +25,32 @@ var _logger = _interopRequireDefault(require("@semcore/utils/lib/logger"));
25
25
  var _SpinButton = _interopRequireDefault(require("./SpinButton"));
26
26
  var _hasLabels = _interopRequireDefault(require("@semcore/utils/lib/hasLabels"));
27
27
  /*__reshadow-styles__:"./style/button.shadow.css"*/
28
- var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SButton_nfevg_gg_{position:relative;display:inline-block;align-items:center;justify-content:center;padding:0;margin:0;white-space:nowrap;font-family:inherit;line-height:normal;-webkit-text-decoration:none;text-decoration:none;text-align:center;vertical-align:middle;border:1px solid transparent;outline:0;box-shadow:none;cursor:pointer;box-sizing:border-box;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-weight:var(--intergalactic-medium, 500);color:var(--intergalactic-text-secondary, #6c6e79);min-width:-moz-fit-content;min-width:fit-content}.___SButton_nfevg_gg_::-moz-focus-inner{padding:0;border:0}.___SButton_nfevg_gg_:active,.___SButton_nfevg_gg_:focus{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SButton_nfevg_gg_:hover{outline:0;-webkit-text-decoration:none;text-decoration:none}}.___SButton_nfevg_gg_.__keyboardFocused_nfevg_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));z-index:1}.___SButton_nfevg_gg_.__disabled_nfevg_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none;box-shadow:none;z-index:0}.___SButton_nfevg_gg_._size_m_nfevg_gg_{height:var(--intergalactic-form-control-m, 28px);border-radius:var(--intergalactic-control-rounded, 6px);font-size:var(--intergalactic-fs-200, 14px)}.___SButton_nfevg_gg_._size_l_nfevg_gg_{height:var(--intergalactic-form-control-l, 40px);border-radius:var(--intergalactic-control-rounded, 6px);font-size:var(--intergalactic-fs-300, 16px)}.___SButton_nfevg_gg_._theme_primary-info_nfevg_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-info, #008ff8)}@media (hover:hover){.___SButton_nfevg_gg_._theme_primary-info_nfevg_gg_:hover{background-color:var(--intergalactic-control-primary-info-hover, #006dca)}}.___SButton_nfevg_gg_._theme_primary-info_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_primary-info_nfevg_gg_:active{background-color:var(--intergalactic-control-primary-info-active, #044792)}.___SButton_nfevg_gg_._theme_primary-success_nfevg_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-success, #009f81)}@media (hover:hover){.___SButton_nfevg_gg_._theme_primary-success_nfevg_gg_:hover{background-color:var(--intergalactic-control-primary-success-hover, #007c65)}}.___SButton_nfevg_gg_._theme_primary-success_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_primary-success_nfevg_gg_:active{background-color:var(--intergalactic-control-primary-success-active, #055345)}.___SButton_nfevg_gg_._theme_primary-warning_nfevg_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-brand, #ff642d)}@media (hover:hover){.___SButton_nfevg_gg_._theme_primary-warning_nfevg_gg_:hover{background-color:var(--intergalactic-control-primary-brand-hover, #c33909)}}.___SButton_nfevg_gg_._theme_primary-warning_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_primary-warning_nfevg_gg_:active{background-color:var(--intergalactic-control-primary-brand-active, #c33909)}.___SButton_nfevg_gg_._theme_primary-danger_nfevg_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-critical, #ff4953)}@media (hover:hover){.___SButton_nfevg_gg_._theme_primary-danger_nfevg_gg_:hover{background-color:var(--intergalactic-control-primary-critical-hover, #d1002f)}}.___SButton_nfevg_gg_._theme_primary-danger_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_primary-danger_nfevg_gg_:active{background-color:var(--intergalactic-control-primary-critical-active, #8e0016)}.___SButton_nfevg_gg_._theme_primary-invert_nfevg_gg_{color:var(--intergalactic-text-primary, #191b23);background-color:var(--intergalactic-control-primary-invert, #ffffff)}@media (hover:hover){.___SButton_nfevg_gg_._theme_primary-invert_nfevg_gg_:hover{background-color:var(--intergalactic-control-primary-invert-hover, #f4f5f9)}}.___SButton_nfevg_gg_._theme_primary-invert_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_primary-invert_nfevg_gg_:active{background-color:var(--intergalactic-control-primary-invert-active, #e0e1e9)}.___SButton_nfevg_gg_._theme_secondary-muted_nfevg_gg_{color:var(--intergalactic-text-secondary, #6c6e79);border-color:var(--intergalactic-border-primary, #c4c7cf);background-color:var(--intergalactic-control-secondary-neutral, rgba(138, 142, 155, 0.1))}@media (hover:hover){.___SButton_nfevg_gg_._theme_secondary-muted_nfevg_gg_:hover{background-color:var(--intergalactic-control-secondary-neutral-hover,\n rgba(138, 142, 155, 0.2));color:var(--intergalactic-text-primary, #191b23)}}.___SButton_nfevg_gg_._theme_secondary-muted_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_secondary-muted_nfevg_gg_:active{background-color:var(--intergalactic-control-secondary-neutral-active,\n rgba(138, 142, 155, 0.3));color:var(--intergalactic-text-primary, #191b23)}.___SButton_nfevg_gg_._theme_secondary-info_nfevg_gg_{background-color:var(--intergalactic-control-secondary-info, rgba(0, 143, 248, 0.1));color:var(--intergalactic-text-link, #006dca);border-color:var(--intergalactic-control-primary-info, #008ff8)}@media (hover:hover){.___SButton_nfevg_gg_._theme_secondary-info_nfevg_gg_:hover{background-color:var(--intergalactic-control-secondary-info-hover, rgba(0, 143, 248, 0.2))}}.___SButton_nfevg_gg_._theme_secondary-info_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_secondary-info_nfevg_gg_:active{background-color:var(--intergalactic-control-secondary-info-active, rgba(0, 143, 248, 0.3))}.___SButton_nfevg_gg_._theme_secondary-invert_nfevg_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);border-color:var(--intergalactic-border-primary-invert, #ffffff);background-color:var(--intergalactic-control-secondary-invert, rgba(255, 255, 255, 0.05))}@media (hover:hover){.___SButton_nfevg_gg_._theme_secondary-invert_nfevg_gg_:hover{background-color:var(--intergalactic-control-secondary-invert-hover, rgba(255, 255, 255, 0.1))}}.___SButton_nfevg_gg_._theme_secondary-invert_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_secondary-invert_nfevg_gg_:active{background-color:var(--intergalactic-control-secondary-invert-active,\n rgba(255, 255, 255, 0.3))}.___SButton_nfevg_gg_._theme_tertiary-info_nfevg_gg_{color:var(--intergalactic-text-link, #006dca);background-color:var(--intergalactic-control-tertiary-info, rgba(0, 143, 248, 0))}@media (hover:hover){.___SButton_nfevg_gg_._theme_tertiary-info_nfevg_gg_:hover{background-color:var(--intergalactic-control-tertiary-info-hover, rgba(0, 143, 248, 0.2))}}.___SButton_nfevg_gg_._theme_tertiary-info_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_tertiary-info_nfevg_gg_:active{background-color:var(--intergalactic-control-tertiary-info-active, rgba(0, 143, 248, 0.3))}.___SButton_nfevg_gg_._theme_tertiary-muted_nfevg_gg_{color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-control-tertiary-neutral, rgba(138, 142, 155, 0))}@media (hover:hover){.___SButton_nfevg_gg_._theme_tertiary-muted_nfevg_gg_:hover{background-color:var(--intergalactic-control-tertiary-neutral-hover, rgba(138, 142, 155, 0.2));color:var(--intergalactic-text-primary, #191b23)}}.___SButton_nfevg_gg_._theme_tertiary-muted_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_tertiary-muted_nfevg_gg_:active{background-color:var(--intergalactic-control-tertiary-neutral-active,\n rgba(138, 142, 155, 0.3));color:var(--intergalactic-text-primary, #191b23)}.___SButton_nfevg_gg_._theme_tertiary-invert_nfevg_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-tertiary-invert, rgba(255, 255, 255, 0))}@media (hover:hover){.___SButton_nfevg_gg_._theme_tertiary-invert_nfevg_gg_:hover{background-color:var(--intergalactic-control-tertiary-invert-hover, rgba(255, 255, 255, 0.1))}}.___SButton_nfevg_gg_._theme_tertiary-invert_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_tertiary-invert_nfevg_gg_:active{background-color:var(--intergalactic-control-tertiary-invert-active, rgba(255, 255, 255, 0.3))}.___SButton_nfevg_gg_._neighborLocation_right_nfevg_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SButton_nfevg_gg_._neighborLocation_both_nfevg_gg_{border-radius:0;margin-left:-1px}.___SButton_nfevg_gg_._neighborLocation_left_nfevg_gg_{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.___SButton_nfevg_gg_._neighborLocation_both_nfevg_gg_,.___SButton_nfevg_gg_._neighborLocation_left_nfevg_gg_{position:relative}.___SButton_nfevg_gg_._neighborLocation_both_nfevg_gg_:after,.___SButton_nfevg_gg_._neighborLocation_left_nfevg_gg_:after{background-color:var(--intergalactic-text-primary-invert, #ffffff)}.___SButton_nfevg_gg_._neighborLocation_both_nfevg_gg_._theme_secondary-muted_nfevg_gg_:after,.___SButton_nfevg_gg_._neighborLocation_left_nfevg_gg_._theme_secondary-muted_nfevg_gg_:after{background-color:var(--intergalactic-border-primary, #c4c7cf)}.___SButton_nfevg_gg_+.___SButton_nfevg_gg_._neighborLocation_both_nfevg_gg_:after,.___SButton_nfevg_gg_+.___SButton_nfevg_gg_._neighborLocation_left_nfevg_gg_:after{content:\"\";position:absolute;top:-1px;left:-1px;width:1px;height:calc(100% + 2px)}.___SSpin_nfevg_gg_{position:absolute;top:0;left:0;width:100%;height:100%;display:flex}.___SInner_nfevg_gg_{display:inline-flex;align-items:center;justify-content:center;height:100%;width:100%}.___SInner_nfevg_gg_.__loading_nfevg_gg_{visibility:hidden}.___SText_nfevg_gg_{display:inline-flex}.___SText_nfevg_gg_._size_l_nfevg_gg_,.___SText_nfevg_gg_._size_m_nfevg_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SText_nfevg_gg_._size_m_nfevg_gg_{line-height:var(--intergalactic-lh-200, 142%)}.___SText_nfevg_gg_._size_l_nfevg_gg_{line-height:var(--intergalactic-lh-300, 150%)}.___SText_nfevg_gg_._size_l_nfevg_gg_:only-child{margin-left:var(--intergalactic-spacing-3x, 12px);margin-right:var(--intergalactic-spacing-3x, 12px)}.___SText_nfevg_gg_._size_l_nfevg_gg_:first-child{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SText_nfevg_gg_._size_l_nfevg_gg_:last-child{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SAddon_nfevg_gg_{display:inline-flex;align-items:center;justify-content:center}.___SAddon_nfevg_gg_._size_m_nfevg_gg_:not(:only-child):first-child{margin-left:calc(var(--intergalactic-spacing-2x, 8px) - 1px)}.___SAddon_nfevg_gg_._size_m_nfevg_gg_:not(:only-child):last-child{margin-right:calc(var(--intergalactic-spacing-2x, 8px) - 1px)}.___SAddon_nfevg_gg_._size_m_nfevg_gg_:only-child{margin-left:calc(1.5*var(--intergalactic-spacing-1x, 4px) - 1px);margin-right:calc(1.5*var(--intergalactic-spacing-1x, 4px) - 1px)}.___SAddon_nfevg_gg_._size_l_nfevg_gg_:not(:only-child):first-child{margin-left:calc(var(--intergalactic-spacing-3x, 12px) - 1px)}.___SAddon_nfevg_gg_._size_l_nfevg_gg_:not(:only-child):last-child{margin-right:calc(var(--intergalactic-spacing-3x, 12px) - 1px)}.___SAddon_nfevg_gg_._size_l_nfevg_gg_:only-child{margin-left:calc(3*var(--intergalactic-spacing-1x, 4px) - 1px);margin-right:calc(3*var(--intergalactic-spacing-1x, 4px) - 1px)}" /*__inner_css_end__*/, "nfevg_gg_") /*__reshadow_css_end__*/, {
29
- "__SButton": "___SButton_nfevg_gg_",
30
- "_keyboardFocused": "__keyboardFocused_nfevg_gg_",
31
- "_disabled": "__disabled_nfevg_gg_",
32
- "_size_m": "_size_m_nfevg_gg_",
33
- "_size_l": "_size_l_nfevg_gg_",
34
- "_neighborLocation_right": "_neighborLocation_right_nfevg_gg_",
35
- "_neighborLocation_both": "_neighborLocation_both_nfevg_gg_",
36
- "_neighborLocation_left": "_neighborLocation_left_nfevg_gg_",
37
- "__SSpin": "___SSpin_nfevg_gg_",
38
- "__SInner": "___SInner_nfevg_gg_",
39
- "_loading": "__loading_nfevg_gg_",
40
- "__SText": "___SText_nfevg_gg_",
41
- "__SAddon": "___SAddon_nfevg_gg_",
42
- "_theme_primary-info": "_theme_primary-info_nfevg_gg_",
43
- "_active": "__active_nfevg_gg_",
44
- "_theme_primary-success": "_theme_primary-success_nfevg_gg_",
45
- "_theme_primary-warning": "_theme_primary-warning_nfevg_gg_",
46
- "_theme_primary-danger": "_theme_primary-danger_nfevg_gg_",
47
- "_theme_primary-invert": "_theme_primary-invert_nfevg_gg_",
48
- "_theme_secondary-muted": "_theme_secondary-muted_nfevg_gg_",
49
- "_theme_secondary-info": "_theme_secondary-info_nfevg_gg_",
50
- "_theme_secondary-invert": "_theme_secondary-invert_nfevg_gg_",
51
- "_theme_tertiary-info": "_theme_tertiary-info_nfevg_gg_",
52
- "_theme_tertiary-muted": "_theme_tertiary-muted_nfevg_gg_",
53
- "_theme_tertiary-invert": "_theme_tertiary-invert_nfevg_gg_"
28
+ var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SButton_1v3rj_gg_{position:relative;display:inline-block;align-items:center;justify-content:center;padding:0;margin:0;white-space:nowrap;font-family:inherit;line-height:normal;-webkit-text-decoration:none;text-decoration:none;text-align:center;vertical-align:middle;border:1px solid transparent;outline:0;box-shadow:none;cursor:pointer;box-sizing:border-box;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-weight:var(--intergalactic-medium, 500);color:var(--intergalactic-text-secondary, #6c6e79);min-width:-moz-fit-content;min-width:fit-content}.___SButton_1v3rj_gg_::-moz-focus-inner{padding:0;border:0}.___SButton_1v3rj_gg_:active,.___SButton_1v3rj_gg_:focus{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SButton_1v3rj_gg_:hover{outline:0;-webkit-text-decoration:none;text-decoration:none}}.___SButton_1v3rj_gg_.__keyboardFocused_1v3rj_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));z-index:1}.___SButton_1v3rj_gg_.__disabled_1v3rj_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none;box-shadow:none;z-index:0}.___SButton_1v3rj_gg_._size_m_1v3rj_gg_{height:var(--intergalactic-form-control-m, 28px);border-radius:var(--intergalactic-control-rounded, 6px);font-size:var(--intergalactic-fs-200, 14px)}.___SButton_1v3rj_gg_._size_l_1v3rj_gg_{height:var(--intergalactic-form-control-l, 40px);border-radius:var(--intergalactic-control-rounded, 6px);font-size:var(--intergalactic-fs-300, 16px)}.___SButton_1v3rj_gg_._theme_primary-info_1v3rj_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-info, #008ff8)}@media (hover:hover){.___SButton_1v3rj_gg_._theme_primary-info_1v3rj_gg_:hover{background-color:var(--intergalactic-control-primary-info-hover, #006dca)}}.___SButton_1v3rj_gg_._theme_primary-info_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_primary-info_1v3rj_gg_:active{background-color:var(--intergalactic-control-primary-info-active, #044792)}.___SButton_1v3rj_gg_._theme_primary-success_1v3rj_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-success, #009f81)}@media (hover:hover){.___SButton_1v3rj_gg_._theme_primary-success_1v3rj_gg_:hover{background-color:var(--intergalactic-control-primary-success-hover, #007c65)}}.___SButton_1v3rj_gg_._theme_primary-success_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_primary-success_1v3rj_gg_:active{background-color:var(--intergalactic-control-primary-success-active, #055345)}.___SButton_1v3rj_gg_._theme_primary-warning_1v3rj_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-brand, #ff642d)}@media (hover:hover){.___SButton_1v3rj_gg_._theme_primary-warning_1v3rj_gg_:hover{background-color:var(--intergalactic-control-primary-brand-hover, #c33909)}}.___SButton_1v3rj_gg_._theme_primary-warning_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_primary-warning_1v3rj_gg_:active{background-color:var(--intergalactic-control-primary-brand-active, #c33909)}.___SButton_1v3rj_gg_._theme_primary-danger_1v3rj_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-critical, #ff4953)}@media (hover:hover){.___SButton_1v3rj_gg_._theme_primary-danger_1v3rj_gg_:hover{background-color:var(--intergalactic-control-primary-critical-hover, #d1002f)}}.___SButton_1v3rj_gg_._theme_primary-danger_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_primary-danger_1v3rj_gg_:active{background-color:var(--intergalactic-control-primary-critical-active, #8e0016)}.___SButton_1v3rj_gg_._theme_primary-invert_1v3rj_gg_{color:var(--intergalactic-text-primary, #191b23);background-color:var(--intergalactic-control-primary-invert, #ffffff)}@media (hover:hover){.___SButton_1v3rj_gg_._theme_primary-invert_1v3rj_gg_:hover{background-color:var(--intergalactic-control-primary-invert-hover, #f4f5f9)}}.___SButton_1v3rj_gg_._theme_primary-invert_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_primary-invert_1v3rj_gg_:active{background-color:var(--intergalactic-control-primary-invert-active, #e0e1e9)}.___SButton_1v3rj_gg_._theme_secondary-muted_1v3rj_gg_{color:var(--intergalactic-text-secondary, #6c6e79);border-color:var(--intergalactic-border-primary, #c4c7cf);background-color:var(--intergalactic-control-secondary-neutral, rgba(138, 142, 155, 0.1))}@media (hover:hover){.___SButton_1v3rj_gg_._theme_secondary-muted_1v3rj_gg_:hover{background-color:var(--intergalactic-control-secondary-neutral-hover,\n rgba(138, 142, 155, 0.2));color:var(--intergalactic-text-primary, #191b23)}}.___SButton_1v3rj_gg_._theme_secondary-muted_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_secondary-muted_1v3rj_gg_:active{background-color:var(--intergalactic-control-secondary-neutral-active,\n rgba(138, 142, 155, 0.3));color:var(--intergalactic-text-primary, #191b23)}.___SButton_1v3rj_gg_._theme_secondary-info_1v3rj_gg_{background-color:var(--intergalactic-control-secondary-info, rgba(0, 143, 248, 0.1));color:var(--intergalactic-text-link, #006dca);border-color:var(--intergalactic-control-primary-info, #008ff8)}@media (hover:hover){.___SButton_1v3rj_gg_._theme_secondary-info_1v3rj_gg_:hover{background-color:var(--intergalactic-control-secondary-info-hover, rgba(0, 143, 248, 0.2))}}.___SButton_1v3rj_gg_._theme_secondary-info_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_secondary-info_1v3rj_gg_:active{background-color:var(--intergalactic-control-secondary-info-active, rgba(0, 143, 248, 0.3))}.___SButton_1v3rj_gg_._theme_secondary-invert_1v3rj_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);border-color:var(--intergalactic-border-primary-invert, #ffffff);background-color:var(--intergalactic-control-secondary-invert, rgba(255, 255, 255, 0.05))}@media (hover:hover){.___SButton_1v3rj_gg_._theme_secondary-invert_1v3rj_gg_:hover{background-color:var(--intergalactic-control-secondary-invert-hover, rgba(255, 255, 255, 0.1))}}.___SButton_1v3rj_gg_._theme_secondary-invert_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_secondary-invert_1v3rj_gg_:active{background-color:var(--intergalactic-control-secondary-invert-active,\n rgba(255, 255, 255, 0.3))}.___SButton_1v3rj_gg_._theme_tertiary-info_1v3rj_gg_{color:var(--intergalactic-text-link, #006dca);background-color:var(--intergalactic-control-tertiary-info, rgba(0, 143, 248, 0))}@media (hover:hover){.___SButton_1v3rj_gg_._theme_tertiary-info_1v3rj_gg_:hover{background-color:var(--intergalactic-control-tertiary-info-hover, rgba(0, 143, 248, 0.2))}}.___SButton_1v3rj_gg_._theme_tertiary-info_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_tertiary-info_1v3rj_gg_:active{background-color:var(--intergalactic-control-tertiary-info-active, rgba(0, 143, 248, 0.3))}.___SButton_1v3rj_gg_._theme_tertiary-muted_1v3rj_gg_{color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-control-tertiary-neutral, rgba(138, 142, 155, 0))}@media (hover:hover){.___SButton_1v3rj_gg_._theme_tertiary-muted_1v3rj_gg_:hover{background-color:var(--intergalactic-control-tertiary-neutral-hover, rgba(138, 142, 155, 0.2));color:var(--intergalactic-text-primary, #191b23)}}.___SButton_1v3rj_gg_._theme_tertiary-muted_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_tertiary-muted_1v3rj_gg_:active{background-color:var(--intergalactic-control-tertiary-neutral-active,\n rgba(138, 142, 155, 0.3));color:var(--intergalactic-text-primary, #191b23)}.___SButton_1v3rj_gg_._theme_tertiary-invert_1v3rj_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-tertiary-invert, rgba(255, 255, 255, 0))}@media (hover:hover){.___SButton_1v3rj_gg_._theme_tertiary-invert_1v3rj_gg_:hover{background-color:var(--intergalactic-control-tertiary-invert-hover, rgba(255, 255, 255, 0.1))}}.___SButton_1v3rj_gg_._theme_tertiary-invert_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_tertiary-invert_1v3rj_gg_:active{background-color:var(--intergalactic-control-tertiary-invert-active, rgba(255, 255, 255, 0.3))}.___SButton_1v3rj_gg_._neighborLocation_right_1v3rj_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SButton_1v3rj_gg_._neighborLocation_both_1v3rj_gg_{border-radius:0;margin-left:-1px}.___SButton_1v3rj_gg_._neighborLocation_left_1v3rj_gg_{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.___SButton_1v3rj_gg_._neighborLocation_both_1v3rj_gg_,.___SButton_1v3rj_gg_._neighborLocation_left_1v3rj_gg_{position:relative}.___SButton_1v3rj_gg_._neighborLocation_both_1v3rj_gg_:after,.___SButton_1v3rj_gg_._neighborLocation_left_1v3rj_gg_:after{background-color:var(--intergalactic-text-primary-invert, #ffffff)}.___SButton_1v3rj_gg_._neighborLocation_both_1v3rj_gg_._theme_secondary-muted_1v3rj_gg_:after,.___SButton_1v3rj_gg_._neighborLocation_left_1v3rj_gg_._theme_secondary-muted_1v3rj_gg_:after{background-color:var(--intergalactic-border-primary, #c4c7cf)}.___SButton_1v3rj_gg_+.___SButton_1v3rj_gg_._neighborLocation_both_1v3rj_gg_:after,.___SButton_1v3rj_gg_+.___SButton_1v3rj_gg_._neighborLocation_left_1v3rj_gg_:after{content:\"\";position:absolute;top:-1px;left:-1px;width:1px;height:calc(100% + 2px)}.___SSpin_1v3rj_gg_{position:absolute;top:0;left:0;width:100%;height:100%;display:flex}.___SInner_1v3rj_gg_{display:inline-flex;align-items:center;justify-content:center;height:100%;width:100%}.___SInner_1v3rj_gg_.__loading_1v3rj_gg_{visibility:hidden}.___SText_1v3rj_gg_{display:inline-flex}.___SText_1v3rj_gg_._size_l_1v3rj_gg_,.___SText_1v3rj_gg_._size_m_1v3rj_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SText_1v3rj_gg_._size_m_1v3rj_gg_{line-height:var(--intergalactic-lh-200, 142%)}.___SText_1v3rj_gg_._size_l_1v3rj_gg_{line-height:var(--intergalactic-lh-300, 150%)}.___SText_1v3rj_gg_._size_l_1v3rj_gg_:only-child{margin-left:var(--intergalactic-spacing-3x, 12px);margin-right:var(--intergalactic-spacing-3x, 12px)}.___SText_1v3rj_gg_._size_l_1v3rj_gg_:first-child{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SText_1v3rj_gg_._size_l_1v3rj_gg_:last-child{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SAddon_1v3rj_gg_{display:inline-flex;align-items:center;justify-content:center}.___SAddon_1v3rj_gg_._size_m_1v3rj_gg_:not(:only-child):first-child{margin-left:calc(var(--intergalactic-spacing-2x, 8px) - 1px)}.___SAddon_1v3rj_gg_._size_m_1v3rj_gg_:not(:only-child):last-child{margin-right:calc(var(--intergalactic-spacing-2x, 8px) - 1px)}.___SAddon_1v3rj_gg_._size_m_1v3rj_gg_:only-child{margin-left:calc(1.5*var(--intergalactic-spacing-1x, 4px) - 1px);margin-right:calc(1.5*var(--intergalactic-spacing-1x, 4px) - 1px)}.___SAddon_1v3rj_gg_._size_l_1v3rj_gg_:not(:only-child):first-child{margin-left:calc(var(--intergalactic-spacing-3x, 12px) - 1px)}.___SAddon_1v3rj_gg_._size_l_1v3rj_gg_:not(:only-child):last-child{margin-right:calc(var(--intergalactic-spacing-3x, 12px) - 1px)}.___SAddon_1v3rj_gg_._size_l_1v3rj_gg_:only-child{margin-left:calc(3*var(--intergalactic-spacing-1x, 4px) - 1px);margin-right:calc(3*var(--intergalactic-spacing-1x, 4px) - 1px)}" /*__inner_css_end__*/, "1v3rj_gg_") /*__reshadow_css_end__*/, {
29
+ "__SButton": "___SButton_1v3rj_gg_",
30
+ "_keyboardFocused": "__keyboardFocused_1v3rj_gg_",
31
+ "_disabled": "__disabled_1v3rj_gg_",
32
+ "_size_m": "_size_m_1v3rj_gg_",
33
+ "_size_l": "_size_l_1v3rj_gg_",
34
+ "_neighborLocation_right": "_neighborLocation_right_1v3rj_gg_",
35
+ "_neighborLocation_both": "_neighborLocation_both_1v3rj_gg_",
36
+ "_neighborLocation_left": "_neighborLocation_left_1v3rj_gg_",
37
+ "__SSpin": "___SSpin_1v3rj_gg_",
38
+ "__SInner": "___SInner_1v3rj_gg_",
39
+ "_loading": "__loading_1v3rj_gg_",
40
+ "__SText": "___SText_1v3rj_gg_",
41
+ "__SAddon": "___SAddon_1v3rj_gg_",
42
+ "_theme_primary-info": "_theme_primary-info_1v3rj_gg_",
43
+ "_active": "__active_1v3rj_gg_",
44
+ "_theme_primary-success": "_theme_primary-success_1v3rj_gg_",
45
+ "_theme_primary-warning": "_theme_primary-warning_1v3rj_gg_",
46
+ "_theme_primary-danger": "_theme_primary-danger_1v3rj_gg_",
47
+ "_theme_primary-invert": "_theme_primary-invert_1v3rj_gg_",
48
+ "_theme_secondary-muted": "_theme_secondary-muted_1v3rj_gg_",
49
+ "_theme_secondary-info": "_theme_secondary-info_1v3rj_gg_",
50
+ "_theme_secondary-invert": "_theme_secondary-invert_1v3rj_gg_",
51
+ "_theme_tertiary-info": "_theme_tertiary-info_1v3rj_gg_",
52
+ "_theme_tertiary-muted": "_theme_tertiary-muted_1v3rj_gg_",
53
+ "_theme_tertiary-invert": "_theme_tertiary-invert_1v3rj_gg_"
54
54
  });
55
55
  var MAP_USE_DEFAULT_THEME = {
56
56
  primary: 'info',
@@ -70,7 +70,7 @@ var RootButton = /*#__PURE__*/function (_Component) {
70
70
  _this = _super.call.apply(_super, [this].concat(args));
71
71
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "containerRef", /*#__PURE__*/_react["default"].createRef());
72
72
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
73
- ariaLabelledByContent: ''
73
+ ariaLabelledByContent: null
74
74
  });
75
75
  return _this;
76
76
  }
@@ -95,7 +95,7 @@ var RootButton = /*#__PURE__*/function (_Component) {
95
95
  value: function componentDidMount() {
96
96
  var _this2 = this;
97
97
  if (process.env.NODE_ENV !== 'production') {
98
- _logger["default"].warn(this.containerRef.current && !(0, _hasLabels["default"])(this.containerRef.current), "'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content", this.asProps['data-ui-name'] || RootButton.displayName);
98
+ _logger["default"].warn(this.containerRef.current && !(0, _hasLabels["default"])(this.containerRef.current) && !this.asProps.title, "'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content", this.asProps['data-ui-name'] || RootButton.displayName);
99
99
  }
100
100
  if (this.asProps['aria-labelledby']) {
101
101
  setTimeout(function () {
@@ -107,81 +107,98 @@ var RootButton = /*#__PURE__*/function (_Component) {
107
107
  }
108
108
  }
109
109
  }, {
110
- key: "renderChildren",
111
- value: function renderChildren() {
112
- var _ref4;
113
- var _this$asProps = this.asProps,
114
- Children = _this$asProps.Children,
115
- styles = _this$asProps.styles,
116
- AddonLeft = _this$asProps.addonLeft,
117
- AddonRight = _this$asProps.addonRight;
118
- return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, AddonLeft ? /*#__PURE__*/_react["default"].createElement(Button.Addon, {
119
- tag: AddonLeft
120
- }) : null, (0, _addonTextChildren["default"])(Children, Button.Text, Button.Addon), AddonRight ? /*#__PURE__*/_react["default"].createElement(Button.Addon, {
121
- tag: AddonRight
122
- }) : null);
110
+ key: "renderButton",
111
+ value: function renderButton(_ref10) {
112
+ var _ref = this.asProps,
113
+ _ref5;
114
+ var buttonProps = _ref10.buttonProps,
115
+ children = _ref10.children;
116
+ var styles = this.asProps.styles;
117
+ var SButton = _flexBox.Box;
118
+ return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SButton, _ref5.cn("SButton", (0, _objectSpread2["default"])({}, (0, _core.assignProps)((0, _objectSpread2["default"])({}, buttonProps), _ref))), children);
123
119
  }
124
120
  }, {
125
- key: "renderOnlyAddons",
126
- value: function renderOnlyAddons() {
127
- var _ref5, _ref9, _ref10;
128
- var _this$asProps2 = this.asProps,
129
- styles = _this$asProps2.styles,
130
- AddonLeft = _this$asProps2.addonLeft,
131
- AddonRight = _this$asProps2.addonRight,
132
- title = _this$asProps2.title,
133
- ariaLabel = _this$asProps2['aria-label'];
134
- var hintContent = (_ref9 = (_ref10 = title !== null && title !== void 0 ? title : ariaLabel) !== null && _ref10 !== void 0 ? _ref10 : this.state.ariaLabelledByContent) !== null && _ref9 !== void 0 ? _ref9 : '';
135
- return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_tooltip.Hint, _ref5.cn("Hint", {
136
- "tag": Button.Addon,
137
- "title": hintContent,
138
- "timeout": [250, 50],
139
- "__excludeProps": ['aria-label']
140
- }), AddonLeft && /*#__PURE__*/_react["default"].createElement(AddonLeft, _ref5.cn("AddonLeft", {})), AddonRight && /*#__PURE__*/_react["default"].createElement(AddonRight, _ref5.cn("AddonRight", {})));
121
+ key: "renderButtonWithHint",
122
+ value: function renderButtonWithHint(_ref11) {
123
+ var _ref2 = this.asProps,
124
+ _ref6;
125
+ var buttonProps = _ref11.buttonProps,
126
+ children = _ref11.children,
127
+ hintProps = _ref11.hintProps;
128
+ var styles = this.asProps.styles;
129
+ var SButton = _tooltip.Hint;
130
+ return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SButton, _ref6.cn("SButton", (0, _objectSpread2["default"])({}, (0, _core.assignProps)((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, buttonProps), hintProps), _ref2))), children);
141
131
  }
142
132
  }, {
143
133
  key: "render",
144
134
  value: function render() {
145
- var _ref = this.asProps,
135
+ var _ref12,
136
+ _ref13,
146
137
  _this3 = this;
147
- var SButton = _flexBox.Box;
138
+ var _this$asProps = this.asProps,
139
+ styles = _this$asProps.styles,
140
+ use = _this$asProps.use,
141
+ _this$asProps$theme = _this$asProps.theme,
142
+ theme = _this$asProps$theme === void 0 ? typeof use === 'string' && MAP_USE_DEFAULT_THEME[use] : _this$asProps$theme,
143
+ loading = _this$asProps.loading,
144
+ _this$asProps$disable = _this$asProps.disabled,
145
+ disabled = _this$asProps$disable === void 0 ? loading : _this$asProps$disable,
146
+ size = _this$asProps.size,
147
+ neighborLocation = _this$asProps.neighborLocation,
148
+ hasChildren = _this$asProps.children,
149
+ title = _this$asProps.title,
150
+ ariaLabel = _this$asProps['aria-label'],
151
+ Children = _this$asProps.Children,
152
+ AddonLeft = _this$asProps.addonLeft,
153
+ AddonRight = _this$asProps.addonRight,
154
+ hintPlacement = _this$asProps.hintPlacement;
155
+ var useTheme = use && theme ? "".concat(use, "-").concat(theme) : false;
148
156
  var SInner = _flexBox.Box;
149
157
  var SSpin = _flexBox.Box;
150
- var _this$asProps3 = this.asProps,
151
- styles = _this$asProps3.styles,
152
- use = _this$asProps3.use,
153
- _this$asProps3$theme = _this$asProps3.theme,
154
- theme = _this$asProps3$theme === void 0 ? typeof use === 'string' && MAP_USE_DEFAULT_THEME[use] : _this$asProps3$theme,
155
- loading = _this$asProps3.loading,
156
- _this$asProps3$disabl = _this$asProps3.disabled,
157
- disabled = _this$asProps3$disabl === void 0 ? loading : _this$asProps3$disabl,
158
- size = _this$asProps3.size,
159
- neighborLocation = _this$asProps3.neighborLocation,
160
- hasChildren = _this$asProps3.children;
161
- var useTheme = use && theme ? "".concat(use, "-").concat(theme) : false;
158
+ var buttonAriaLabel = (_ref12 = (_ref13 = title !== null && title !== void 0 ? title : ariaLabel) !== null && _ref13 !== void 0 ? _ref13 : this.state.ariaLabelledByContent) !== null && _ref12 !== void 0 ? _ref12 : '';
159
+ var buttonProps = {
160
+ type: 'button',
161
+ tag: 'button',
162
+ disabled: disabled,
163
+ 'use:theme': useTheme,
164
+ ref: this.containerRef,
165
+ 'aria-busy': loading,
166
+ 'aria-disabled': disabled,
167
+ __excludeProps: ['title']
168
+ };
169
+ var hintProps = {
170
+ title: buttonAriaLabel,
171
+ timeout: [250, 50],
172
+ placement: hintPlacement,
173
+ theme: theme === 'invert' ? 'invert' : undefined,
174
+ __excludeProps: []
175
+ };
162
176
  return /*#__PURE__*/_react["default"].createElement(_neighborLocation["default"].Detect, {
163
177
  neighborLocation: neighborLocation
164
178
  }, function (neighborLocation) {
165
- var _ref6;
166
- return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SButton, _ref6.cn("SButton", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
167
- "type": 'button',
168
- "tag": 'button',
169
- "disabled": disabled,
170
- "neighborLocation": neighborLocation,
171
- "use:theme": useTheme,
172
- "ref": _this3.containerRef,
173
- "aria-busy": loading,
174
- "aria-disabled": disabled
175
- }, _ref))), /*#__PURE__*/_react["default"].createElement(SInner, _ref6.cn("SInner", {
179
+ var _ref7;
180
+ var children = (_ref7 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SInner, _ref7.cn("SInner", {
176
181
  "tag": 'span',
177
182
  "loading": loading
178
- }), hasChildren ? _this3.renderChildren() : _this3.renderOnlyAddons()), loading && /*#__PURE__*/_react["default"].createElement(SSpin, _ref6.cn("SSpin", {
183
+ }), AddonLeft ? /*#__PURE__*/_react["default"].createElement(Button.Addon, null, /*#__PURE__*/_react["default"].createElement(AddonLeft, _ref7.cn("AddonLeft", {}))) : null, (0, _addonTextChildren["default"])(Children, Button.Text, Button.Addon), AddonRight ? /*#__PURE__*/_react["default"].createElement(Button.Addon, null, /*#__PURE__*/_react["default"].createElement(AddonRight, _ref7.cn("AddonRight", {}))) : null), loading && /*#__PURE__*/_react["default"].createElement(SSpin, _ref7.cn("SSpin", {
179
184
  "tag": 'span'
180
- }), /*#__PURE__*/_react["default"].createElement(_SpinButton["default"], _ref6.cn("SpinButton", {
185
+ }), /*#__PURE__*/_react["default"].createElement(_SpinButton["default"], _ref7.cn("SpinButton", {
181
186
  "centered": true,
182
187
  "size": size,
183
188
  "theme": useTheme
184
- }))));
189
+ })))));
190
+ buttonProps.neighborLocation = neighborLocation;
191
+ if (!hasChildren || title) {
192
+ return _this3.renderButtonWithHint({
193
+ buttonProps: buttonProps,
194
+ hintProps: hintProps,
195
+ children: children
196
+ });
197
+ }
198
+ return _this3.renderButton({
199
+ buttonProps: buttonProps,
200
+ children: children
201
+ });
185
202
  });
186
203
  }
187
204
  }]);
@@ -195,20 +212,20 @@ var RootButton = /*#__PURE__*/function (_Component) {
195
212
  size: 'm'
196
213
  });
197
214
  function Text(props) {
198
- var _ref2 = arguments[0],
199
- _ref7;
215
+ var _ref3 = arguments[0],
216
+ _ref8;
200
217
  var SText = _flexBox.Box;
201
- return _ref7 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SText, _ref7.cn("SText", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
218
+ return _ref8 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SText, _ref8.cn("SText", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
202
219
  "tag": 'span'
203
- }, _ref2))));
220
+ }, _ref3))));
204
221
  }
205
222
  function Addon(props) {
206
- var _ref3 = arguments[0],
207
- _ref8;
223
+ var _ref4 = arguments[0],
224
+ _ref9;
208
225
  var SAddon = _flexBox.Box;
209
- return _ref8 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SAddon, _ref8.cn("SAddon", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
226
+ return _ref9 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SAddon, _ref9.cn("SAddon", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
210
227
  "tag": 'span'
211
- }, _ref3))));
228
+ }, _ref4))));
212
229
  }
213
230
  var Button = (0, _core["default"])(RootButton, {
214
231
  Text: Text,
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_tooltip","_neighborLocation","_keyboardFocusEnhance","_addonTextChildren","_logger","_SpinButton","_hasLabels","style","_index","sstyled","insert","MAP_USE_DEFAULT_THEME","primary","secondary","tertiary","exports","RootButton","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","ariaLabelledByContent","_createClass2","key","value","getTextProps","size","asProps","getAddonProps","componentDidMount","_this2","process","env","NODE_ENV","logger","warn","containerRef","current","hasLabels","displayName","setTimeout","_document$getElementB","_document$getElementB2","setState","document","getElementById","textContent","renderChildren","_ref4","_this$asProps","Children","styles","AddonLeft","addonLeft","AddonRight","addonRight","createElement","Fragment","Button","Addon","tag","addonTextChildren","Text","renderOnlyAddons","_ref5","_ref9","_ref10","_this$asProps2","title","ariaLabel","hintContent","state","Hint","cn","render","_ref","_this3","SButton","Box","SInner","SSpin","_this$asProps3","use","_this$asProps3$theme","theme","loading","_this$asProps3$disabl","disabled","neighborLocation","hasChildren","children","useTheme","Detect","_ref6","_objectSpread2","assignProps","Component","keyboardFocusEnhance","props","_ref2","arguments[0]","_ref7","SText","_ref3","_ref8","SAddon","createComponent","_default"],"sources":["../../src/Button.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport { Hint } from '@semcore/tooltip';\nimport NeighborLocation from '@semcore/neighbor-location';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport logger from '@semcore/utils/lib/logger';\nimport SpinButton from './SpinButton';\n\nimport style from './style/button.shadow.css';\nimport hasLabels from '@semcore/utils/lib/hasLabels';\n\nexport const MAP_USE_DEFAULT_THEME = {\n primary: 'info',\n secondary: 'muted',\n tertiary: 'info',\n};\n\nclass RootButton extends Component {\n static displayName = 'Button';\n static enhance = [keyboardFocusEnhance()];\n static style = style;\n static defaultProps = {\n use: 'secondary',\n size: 'm',\n };\n containerRef = React.createRef();\n\n state = {\n ariaLabelledByContent: '',\n };\n\n getTextProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getAddonProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n componentDidMount() {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(\n this.containerRef.current && !hasLabels(this.containerRef.current),\n `'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content`,\n this.asProps['data-ui-name'] || RootButton.displayName,\n );\n }\n\n if (this.asProps['aria-labelledby']) {\n setTimeout(() => {\n this.setState({\n ariaLabelledByContent:\n document.getElementById(this.asProps['aria-labelledby'])?.textContent ?? '',\n });\n }, 0);\n }\n }\n\n renderChildren() {\n const { Children, styles, addonLeft: AddonLeft, addonRight: AddonRight } = this.asProps;\n\n return sstyled(styles)(\n <>\n {AddonLeft ? <Button.Addon tag={AddonLeft} /> : null}\n {addonTextChildren(Children, Button.Text, Button.Addon)}\n {AddonRight ? <Button.Addon tag={AddonRight} /> : null}\n </>,\n );\n }\n\n renderOnlyAddons() {\n const {\n styles,\n addonLeft: AddonLeft,\n addonRight: AddonRight,\n title,\n ['aria-label']: ariaLabel,\n } = this.asProps;\n\n const hintContent = title ?? ariaLabel ?? this.state.ariaLabelledByContent ?? '';\n\n return sstyled(styles)(\n <Hint\n tag={Button.Addon}\n title={hintContent}\n timeout={[250, 50]}\n __excludeProps={['aria-label']}\n >\n {AddonLeft && <AddonLeft />}\n {AddonRight && <AddonRight />}\n </Hint>,\n );\n }\n\n render() {\n const SButton = Root;\n const SInner = Box;\n const SSpin = Box;\n const {\n styles,\n use,\n theme = typeof use === 'string' && MAP_USE_DEFAULT_THEME[use],\n loading,\n disabled = loading,\n size,\n neighborLocation,\n children: hasChildren,\n } = this.asProps;\n const useTheme = use && theme ? `${use}-${theme}` : false;\n\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SButton\n render={Box}\n type='button'\n tag='button'\n disabled={disabled}\n neighborLocation={neighborLocation}\n use:theme={useTheme}\n ref={this.containerRef}\n aria-busy={loading}\n aria-disabled={disabled}\n >\n <SInner tag='span' loading={loading}>\n {hasChildren ? this.renderChildren() : this.renderOnlyAddons()}\n </SInner>\n {loading && (\n <SSpin tag='span'>\n <SpinButton centered size={size} theme={useTheme} />\n </SSpin>\n )}\n </SButton>,\n )\n }\n </NeighborLocation.Detect>\n );\n }\n}\n\nfunction Text(props) {\n const SText = Root;\n return sstyled(props.styles)(<SText render={Box} tag='span' />);\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} tag='span' />);\n}\n\nconst Button = createComponent(RootButton, {\n Text,\n Addon,\n});\n\nexport default Button;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_tooltip","_neighborLocation","_keyboardFocusEnhance","_addonTextChildren","_logger","_SpinButton","_hasLabels","style","_index","sstyled","insert","MAP_USE_DEFAULT_THEME","primary","secondary","tertiary","exports","RootButton","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","ariaLabelledByContent","_createClass2","key","value","getTextProps","size","asProps","getAddonProps","componentDidMount","_this2","process","env","NODE_ENV","logger","warn","containerRef","current","hasLabels","title","displayName","setTimeout","_document$getElementB","_document$getElementB2","setState","document","getElementById","textContent","renderButton","_ref10","_ref","_ref5","buttonProps","children","styles","SButton","Box","createElement","cn","_objectSpread2","assignProps","renderButtonWithHint","_ref11","_ref2","_ref6","hintProps","Hint","render","_ref12","_ref13","_this3","_this$asProps","use","_this$asProps$theme","theme","loading","_this$asProps$disable","disabled","neighborLocation","hasChildren","ariaLabel","Children","AddonLeft","addonLeft","AddonRight","addonRight","hintPlacement","useTheme","SInner","SSpin","buttonAriaLabel","state","type","tag","ref","__excludeProps","timeout","placement","undefined","Detect","_ref7","Fragment","Button","Addon","addonTextChildren","Text","Component","keyboardFocusEnhance","props","_ref3","arguments[0]","_ref8","SText","_ref4","_ref9","SAddon","createComponent","_default"],"sources":["../../src/Button.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport { Hint } from '@semcore/tooltip';\nimport NeighborLocation from '@semcore/neighbor-location';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport logger from '@semcore/utils/lib/logger';\nimport SpinButton from './SpinButton';\n\nimport style from './style/button.shadow.css';\nimport hasLabels from '@semcore/utils/lib/hasLabels';\n\nexport const MAP_USE_DEFAULT_THEME = {\n primary: 'info',\n secondary: 'muted',\n tertiary: 'info',\n};\n\nclass RootButton extends Component {\n static displayName = 'Button';\n static enhance = [keyboardFocusEnhance()];\n static style = style;\n static defaultProps = {\n use: 'secondary',\n size: 'm',\n };\n containerRef = React.createRef();\n\n state = {\n ariaLabelledByContent: null,\n };\n\n getTextProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getAddonProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n componentDidMount() {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(\n this.containerRef.current && !hasLabels(this.containerRef.current) && !this.asProps.title,\n `'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content`,\n this.asProps['data-ui-name'] || RootButton.displayName,\n );\n }\n\n if (this.asProps['aria-labelledby']) {\n setTimeout(() => {\n this.setState({\n ariaLabelledByContent:\n document.getElementById(this.asProps['aria-labelledby'])?.textContent ?? '',\n });\n }, 0);\n }\n }\n\n renderButton({ buttonProps, children }) {\n const { styles } = this.asProps;\n const SButton = Root;\n\n return sstyled(styles)(\n <SButton render={Box} {...buttonProps}>\n {children}\n </SButton>,\n );\n }\n\n renderButtonWithHint({ buttonProps, children, hintProps }) {\n const { styles } = this.asProps;\n const SButton = Root;\n\n return sstyled(styles)(\n <SButton render={Hint} {...buttonProps} {...hintProps}>\n {children}\n </SButton>,\n );\n }\n\n render() {\n const {\n styles,\n use,\n theme = typeof use === 'string' && MAP_USE_DEFAULT_THEME[use],\n loading,\n disabled = loading,\n size,\n neighborLocation,\n children: hasChildren,\n title,\n ['aria-label']: ariaLabel,\n Children,\n addonLeft: AddonLeft,\n addonRight: AddonRight,\n hintPlacement,\n } = this.asProps;\n const useTheme = use && theme ? `${use}-${theme}` : false;\n const SInner = Box;\n const SSpin = Box;\n const buttonAriaLabel = title ?? ariaLabel ?? this.state.ariaLabelledByContent ?? '';\n\n const buttonProps = {\n type: 'button',\n tag: 'button',\n disabled,\n 'use:theme': useTheme,\n ref: this.containerRef,\n 'aria-busy': loading,\n 'aria-disabled': disabled,\n __excludeProps: ['title'],\n };\n\n const hintProps = {\n title: buttonAriaLabel,\n timeout: [250, 50],\n placement: hintPlacement,\n theme: theme === 'invert' ? 'invert' : undefined,\n __excludeProps: [],\n };\n\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) => {\n const children = sstyled(styles)(\n <>\n <SInner tag='span' loading={loading}>\n {AddonLeft ? (\n <Button.Addon>\n <AddonLeft />\n </Button.Addon>\n ) : null}\n {addonTextChildren(Children, Button.Text, Button.Addon)}\n {AddonRight ? (\n <Button.Addon>\n <AddonRight />\n </Button.Addon>\n ) : null}\n </SInner>\n {loading && (\n <SSpin tag='span'>\n <SpinButton centered size={size} theme={useTheme} />\n </SSpin>\n )}\n </>,\n );\n buttonProps.neighborLocation = neighborLocation;\n\n if (!hasChildren || title) {\n return this.renderButtonWithHint({ buttonProps, hintProps, children });\n }\n\n return this.renderButton({ buttonProps, children });\n }}\n </NeighborLocation.Detect>\n );\n }\n}\n\nfunction Text(props) {\n const SText = Root;\n return sstyled(props.styles)(<SText render={Box} tag='span' />);\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} tag='span' />);\n}\n\nconst Button = createComponent(RootButton, {\n Text,\n Addon,\n});\n\nexport default Button;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { BoxProps } from '@semcore/flex-box';\nimport { NeighborItemProps } from '@semcore/neighbor-location';\n\nexport type ButtonSize = 'l' | 'm';\n\n/** @deprecated */\nexport interface IButtonProps extends ButtonProps, UnknownProperties {}\nexport type ButtonProps = BoxProps &\n NeighborItemProps &\n KeyboardFocusProps & {\n /**\n * Button type\n * @default secondary\n */\n use?: 'primary' | 'secondary' | 'tertiary';\n /** Button theme */\n theme?: 'info' | 'success' | 'warning' | 'danger' | 'muted' | 'invert';\n /** Button activity state */\n active?: boolean;\n /**\n * Button size\n * @default m\n */\n size?: ButtonSize;\n /** Disabled button state */\n disabled?: boolean;\n /** Loading button state */\n loading?: boolean;\n /** Tag for the left Addon */\n addonLeft?: React.ElementType;\n /** Tag for the right Addon */\n addonRight?: React.ElementType;\n };\n\n/** @deprecated */\nexport interface IButtonTextProps extends ButtonTextProps, UnknownProperties {}\nexport type ButtonTextProps = BoxProps & {\n size?: ButtonSize;\n};\n\n/** @deprecated */\nexport interface IButtonAddonProps extends ButtonAddonProps, UnknownProperties {}\nexport type ButtonAddonProps = BoxProps & {\n size?: ButtonSize;\n};\n\n/** @deprecated */\nexport interface IButtonContext extends ButtonContext, UnknownProperties {}\nexport type ButtonContext = {\n getTextProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const Button: Intergalactic.Component<'button', ButtonProps, ButtonContext> & {\n Text: Intergalactic.Component<'span', ButtonTextProps>;\n Addon: Intergalactic.Component<'span', ButtonAddonProps>;\n};\n\nexport default Button;\n"],"mappings":""}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { BoxProps } from '@semcore/flex-box';\nimport { NeighborItemProps } from '@semcore/neighbor-location';\nimport { TooltipHintProps } from '@semcore/tooltip';\n\nexport type ButtonSize = 'l' | 'm';\n\n/** @deprecated */\nexport interface IButtonProps extends ButtonProps, UnknownProperties {}\nexport type ButtonProps = BoxProps &\n NeighborItemProps &\n KeyboardFocusProps & {\n /**\n * Button type\n * @default secondary\n */\n use?: 'primary' | 'secondary' | 'tertiary';\n /** Button theme */\n theme?: 'info' | 'success' | 'warning' | 'danger' | 'muted' | 'invert';\n /** Button activity state */\n active?: boolean;\n /**\n * Button size\n * @default m\n */\n size?: ButtonSize;\n /** Disabled button state */\n disabled?: boolean;\n /** Loading button state */\n loading?: boolean;\n /** Tag for the left Addon */\n addonLeft?: React.ElementType;\n /** Tag for the right Addon */\n addonRight?: React.ElementType;\n /**\n * Placement for hint\n * @default top\n */\n hintPlacement?: TooltipHintProps['placement'];\n };\n\n/** @deprecated */\nexport interface IButtonTextProps extends ButtonTextProps, UnknownProperties {}\nexport type ButtonTextProps = BoxProps & {\n size?: ButtonSize;\n};\n\n/** @deprecated */\nexport interface IButtonAddonProps extends ButtonAddonProps, UnknownProperties {}\nexport type ButtonAddonProps = BoxProps & {\n size?: ButtonSize;\n};\n\n/** @deprecated */\nexport interface IButtonContext extends ButtonContext, UnknownProperties {}\nexport type ButtonContext = {\n getTextProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const Button: Intergalactic.Component<'button', ButtonProps, ButtonContext> & {\n Text: Intergalactic.Component<'span', ButtonTextProps>;\n Addon: Intergalactic.Component<'span', ButtonAddonProps>;\n};\n\nexport default Button;\n"],"mappings":""}
package/lib/es6/Button.js CHANGED
@@ -6,6 +6,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
6
6
  import _createSuper from "@babel/runtime/helpers/createSuper";
7
7
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
8
  import { sstyled as _sstyled } from "@semcore/utils/lib/core/index";
9
+ import { assignProps as _assignProps4 } from "@semcore/core";
9
10
  import { assignProps as _assignProps3 } from "@semcore/core";
10
11
  import { assignProps as _assignProps2 } from "@semcore/core";
11
12
  import { assignProps as _assignProps } from "@semcore/core";
@@ -19,32 +20,32 @@ import addonTextChildren from '@semcore/utils/lib/addonTextChildren';
19
20
  import logger from '@semcore/utils/lib/logger';
20
21
  import SpinButton from './SpinButton';
21
22
  /*__reshadow-styles__:"./style/button.shadow.css"*/
22
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SButton_nfevg_gg_{position:relative;display:inline-block;align-items:center;justify-content:center;padding:0;margin:0;white-space:nowrap;font-family:inherit;line-height:normal;-webkit-text-decoration:none;text-decoration:none;text-align:center;vertical-align:middle;border:1px solid transparent;outline:0;box-shadow:none;cursor:pointer;box-sizing:border-box;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-weight:var(--intergalactic-medium, 500);color:var(--intergalactic-text-secondary, #6c6e79);min-width:-moz-fit-content;min-width:fit-content}.___SButton_nfevg_gg_::-moz-focus-inner{padding:0;border:0}.___SButton_nfevg_gg_:active,.___SButton_nfevg_gg_:focus{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SButton_nfevg_gg_:hover{outline:0;-webkit-text-decoration:none;text-decoration:none}}.___SButton_nfevg_gg_.__keyboardFocused_nfevg_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));z-index:1}.___SButton_nfevg_gg_.__disabled_nfevg_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none;box-shadow:none;z-index:0}.___SButton_nfevg_gg_._size_m_nfevg_gg_{height:var(--intergalactic-form-control-m, 28px);border-radius:var(--intergalactic-control-rounded, 6px);font-size:var(--intergalactic-fs-200, 14px)}.___SButton_nfevg_gg_._size_l_nfevg_gg_{height:var(--intergalactic-form-control-l, 40px);border-radius:var(--intergalactic-control-rounded, 6px);font-size:var(--intergalactic-fs-300, 16px)}.___SButton_nfevg_gg_._theme_primary-info_nfevg_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-info, #008ff8)}@media (hover:hover){.___SButton_nfevg_gg_._theme_primary-info_nfevg_gg_:hover{background-color:var(--intergalactic-control-primary-info-hover, #006dca)}}.___SButton_nfevg_gg_._theme_primary-info_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_primary-info_nfevg_gg_:active{background-color:var(--intergalactic-control-primary-info-active, #044792)}.___SButton_nfevg_gg_._theme_primary-success_nfevg_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-success, #009f81)}@media (hover:hover){.___SButton_nfevg_gg_._theme_primary-success_nfevg_gg_:hover{background-color:var(--intergalactic-control-primary-success-hover, #007c65)}}.___SButton_nfevg_gg_._theme_primary-success_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_primary-success_nfevg_gg_:active{background-color:var(--intergalactic-control-primary-success-active, #055345)}.___SButton_nfevg_gg_._theme_primary-warning_nfevg_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-brand, #ff642d)}@media (hover:hover){.___SButton_nfevg_gg_._theme_primary-warning_nfevg_gg_:hover{background-color:var(--intergalactic-control-primary-brand-hover, #c33909)}}.___SButton_nfevg_gg_._theme_primary-warning_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_primary-warning_nfevg_gg_:active{background-color:var(--intergalactic-control-primary-brand-active, #c33909)}.___SButton_nfevg_gg_._theme_primary-danger_nfevg_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-critical, #ff4953)}@media (hover:hover){.___SButton_nfevg_gg_._theme_primary-danger_nfevg_gg_:hover{background-color:var(--intergalactic-control-primary-critical-hover, #d1002f)}}.___SButton_nfevg_gg_._theme_primary-danger_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_primary-danger_nfevg_gg_:active{background-color:var(--intergalactic-control-primary-critical-active, #8e0016)}.___SButton_nfevg_gg_._theme_primary-invert_nfevg_gg_{color:var(--intergalactic-text-primary, #191b23);background-color:var(--intergalactic-control-primary-invert, #ffffff)}@media (hover:hover){.___SButton_nfevg_gg_._theme_primary-invert_nfevg_gg_:hover{background-color:var(--intergalactic-control-primary-invert-hover, #f4f5f9)}}.___SButton_nfevg_gg_._theme_primary-invert_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_primary-invert_nfevg_gg_:active{background-color:var(--intergalactic-control-primary-invert-active, #e0e1e9)}.___SButton_nfevg_gg_._theme_secondary-muted_nfevg_gg_{color:var(--intergalactic-text-secondary, #6c6e79);border-color:var(--intergalactic-border-primary, #c4c7cf);background-color:var(--intergalactic-control-secondary-neutral, rgba(138, 142, 155, 0.1))}@media (hover:hover){.___SButton_nfevg_gg_._theme_secondary-muted_nfevg_gg_:hover{background-color:var(--intergalactic-control-secondary-neutral-hover,\n rgba(138, 142, 155, 0.2));color:var(--intergalactic-text-primary, #191b23)}}.___SButton_nfevg_gg_._theme_secondary-muted_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_secondary-muted_nfevg_gg_:active{background-color:var(--intergalactic-control-secondary-neutral-active,\n rgba(138, 142, 155, 0.3));color:var(--intergalactic-text-primary, #191b23)}.___SButton_nfevg_gg_._theme_secondary-info_nfevg_gg_{background-color:var(--intergalactic-control-secondary-info, rgba(0, 143, 248, 0.1));color:var(--intergalactic-text-link, #006dca);border-color:var(--intergalactic-control-primary-info, #008ff8)}@media (hover:hover){.___SButton_nfevg_gg_._theme_secondary-info_nfevg_gg_:hover{background-color:var(--intergalactic-control-secondary-info-hover, rgba(0, 143, 248, 0.2))}}.___SButton_nfevg_gg_._theme_secondary-info_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_secondary-info_nfevg_gg_:active{background-color:var(--intergalactic-control-secondary-info-active, rgba(0, 143, 248, 0.3))}.___SButton_nfevg_gg_._theme_secondary-invert_nfevg_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);border-color:var(--intergalactic-border-primary-invert, #ffffff);background-color:var(--intergalactic-control-secondary-invert, rgba(255, 255, 255, 0.05))}@media (hover:hover){.___SButton_nfevg_gg_._theme_secondary-invert_nfevg_gg_:hover{background-color:var(--intergalactic-control-secondary-invert-hover, rgba(255, 255, 255, 0.1))}}.___SButton_nfevg_gg_._theme_secondary-invert_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_secondary-invert_nfevg_gg_:active{background-color:var(--intergalactic-control-secondary-invert-active,\n rgba(255, 255, 255, 0.3))}.___SButton_nfevg_gg_._theme_tertiary-info_nfevg_gg_{color:var(--intergalactic-text-link, #006dca);background-color:var(--intergalactic-control-tertiary-info, rgba(0, 143, 248, 0))}@media (hover:hover){.___SButton_nfevg_gg_._theme_tertiary-info_nfevg_gg_:hover{background-color:var(--intergalactic-control-tertiary-info-hover, rgba(0, 143, 248, 0.2))}}.___SButton_nfevg_gg_._theme_tertiary-info_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_tertiary-info_nfevg_gg_:active{background-color:var(--intergalactic-control-tertiary-info-active, rgba(0, 143, 248, 0.3))}.___SButton_nfevg_gg_._theme_tertiary-muted_nfevg_gg_{color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-control-tertiary-neutral, rgba(138, 142, 155, 0))}@media (hover:hover){.___SButton_nfevg_gg_._theme_tertiary-muted_nfevg_gg_:hover{background-color:var(--intergalactic-control-tertiary-neutral-hover, rgba(138, 142, 155, 0.2));color:var(--intergalactic-text-primary, #191b23)}}.___SButton_nfevg_gg_._theme_tertiary-muted_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_tertiary-muted_nfevg_gg_:active{background-color:var(--intergalactic-control-tertiary-neutral-active,\n rgba(138, 142, 155, 0.3));color:var(--intergalactic-text-primary, #191b23)}.___SButton_nfevg_gg_._theme_tertiary-invert_nfevg_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-tertiary-invert, rgba(255, 255, 255, 0))}@media (hover:hover){.___SButton_nfevg_gg_._theme_tertiary-invert_nfevg_gg_:hover{background-color:var(--intergalactic-control-tertiary-invert-hover, rgba(255, 255, 255, 0.1))}}.___SButton_nfevg_gg_._theme_tertiary-invert_nfevg_gg_.__active_nfevg_gg_,.___SButton_nfevg_gg_._theme_tertiary-invert_nfevg_gg_:active{background-color:var(--intergalactic-control-tertiary-invert-active, rgba(255, 255, 255, 0.3))}.___SButton_nfevg_gg_._neighborLocation_right_nfevg_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SButton_nfevg_gg_._neighborLocation_both_nfevg_gg_{border-radius:0;margin-left:-1px}.___SButton_nfevg_gg_._neighborLocation_left_nfevg_gg_{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.___SButton_nfevg_gg_._neighborLocation_both_nfevg_gg_,.___SButton_nfevg_gg_._neighborLocation_left_nfevg_gg_{position:relative}.___SButton_nfevg_gg_._neighborLocation_both_nfevg_gg_:after,.___SButton_nfevg_gg_._neighborLocation_left_nfevg_gg_:after{background-color:var(--intergalactic-text-primary-invert, #ffffff)}.___SButton_nfevg_gg_._neighborLocation_both_nfevg_gg_._theme_secondary-muted_nfevg_gg_:after,.___SButton_nfevg_gg_._neighborLocation_left_nfevg_gg_._theme_secondary-muted_nfevg_gg_:after{background-color:var(--intergalactic-border-primary, #c4c7cf)}.___SButton_nfevg_gg_+.___SButton_nfevg_gg_._neighborLocation_both_nfevg_gg_:after,.___SButton_nfevg_gg_+.___SButton_nfevg_gg_._neighborLocation_left_nfevg_gg_:after{content:\"\";position:absolute;top:-1px;left:-1px;width:1px;height:calc(100% + 2px)}.___SSpin_nfevg_gg_{position:absolute;top:0;left:0;width:100%;height:100%;display:flex}.___SInner_nfevg_gg_{display:inline-flex;align-items:center;justify-content:center;height:100%;width:100%}.___SInner_nfevg_gg_.__loading_nfevg_gg_{visibility:hidden}.___SText_nfevg_gg_{display:inline-flex}.___SText_nfevg_gg_._size_l_nfevg_gg_,.___SText_nfevg_gg_._size_m_nfevg_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SText_nfevg_gg_._size_m_nfevg_gg_{line-height:var(--intergalactic-lh-200, 142%)}.___SText_nfevg_gg_._size_l_nfevg_gg_{line-height:var(--intergalactic-lh-300, 150%)}.___SText_nfevg_gg_._size_l_nfevg_gg_:only-child{margin-left:var(--intergalactic-spacing-3x, 12px);margin-right:var(--intergalactic-spacing-3x, 12px)}.___SText_nfevg_gg_._size_l_nfevg_gg_:first-child{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SText_nfevg_gg_._size_l_nfevg_gg_:last-child{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SAddon_nfevg_gg_{display:inline-flex;align-items:center;justify-content:center}.___SAddon_nfevg_gg_._size_m_nfevg_gg_:not(:only-child):first-child{margin-left:calc(var(--intergalactic-spacing-2x, 8px) - 1px)}.___SAddon_nfevg_gg_._size_m_nfevg_gg_:not(:only-child):last-child{margin-right:calc(var(--intergalactic-spacing-2x, 8px) - 1px)}.___SAddon_nfevg_gg_._size_m_nfevg_gg_:only-child{margin-left:calc(1.5*var(--intergalactic-spacing-1x, 4px) - 1px);margin-right:calc(1.5*var(--intergalactic-spacing-1x, 4px) - 1px)}.___SAddon_nfevg_gg_._size_l_nfevg_gg_:not(:only-child):first-child{margin-left:calc(var(--intergalactic-spacing-3x, 12px) - 1px)}.___SAddon_nfevg_gg_._size_l_nfevg_gg_:not(:only-child):last-child{margin-right:calc(var(--intergalactic-spacing-3x, 12px) - 1px)}.___SAddon_nfevg_gg_._size_l_nfevg_gg_:only-child{margin-left:calc(3*var(--intergalactic-spacing-1x, 4px) - 1px);margin-right:calc(3*var(--intergalactic-spacing-1x, 4px) - 1px)}" /*__inner_css_end__*/, "nfevg_gg_") /*__reshadow_css_end__*/, {
23
- "__SButton": "___SButton_nfevg_gg_",
24
- "_keyboardFocused": "__keyboardFocused_nfevg_gg_",
25
- "_disabled": "__disabled_nfevg_gg_",
26
- "_size_m": "_size_m_nfevg_gg_",
27
- "_size_l": "_size_l_nfevg_gg_",
28
- "_neighborLocation_right": "_neighborLocation_right_nfevg_gg_",
29
- "_neighborLocation_both": "_neighborLocation_both_nfevg_gg_",
30
- "_neighborLocation_left": "_neighborLocation_left_nfevg_gg_",
31
- "__SSpin": "___SSpin_nfevg_gg_",
32
- "__SInner": "___SInner_nfevg_gg_",
33
- "_loading": "__loading_nfevg_gg_",
34
- "__SText": "___SText_nfevg_gg_",
35
- "__SAddon": "___SAddon_nfevg_gg_",
36
- "_theme_primary-info": "_theme_primary-info_nfevg_gg_",
37
- "_active": "__active_nfevg_gg_",
38
- "_theme_primary-success": "_theme_primary-success_nfevg_gg_",
39
- "_theme_primary-warning": "_theme_primary-warning_nfevg_gg_",
40
- "_theme_primary-danger": "_theme_primary-danger_nfevg_gg_",
41
- "_theme_primary-invert": "_theme_primary-invert_nfevg_gg_",
42
- "_theme_secondary-muted": "_theme_secondary-muted_nfevg_gg_",
43
- "_theme_secondary-info": "_theme_secondary-info_nfevg_gg_",
44
- "_theme_secondary-invert": "_theme_secondary-invert_nfevg_gg_",
45
- "_theme_tertiary-info": "_theme_tertiary-info_nfevg_gg_",
46
- "_theme_tertiary-muted": "_theme_tertiary-muted_nfevg_gg_",
47
- "_theme_tertiary-invert": "_theme_tertiary-invert_nfevg_gg_"
23
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SButton_1v3rj_gg_{position:relative;display:inline-block;align-items:center;justify-content:center;padding:0;margin:0;white-space:nowrap;font-family:inherit;line-height:normal;-webkit-text-decoration:none;text-decoration:none;text-align:center;vertical-align:middle;border:1px solid transparent;outline:0;box-shadow:none;cursor:pointer;box-sizing:border-box;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-weight:var(--intergalactic-medium, 500);color:var(--intergalactic-text-secondary, #6c6e79);min-width:-moz-fit-content;min-width:fit-content}.___SButton_1v3rj_gg_::-moz-focus-inner{padding:0;border:0}.___SButton_1v3rj_gg_:active,.___SButton_1v3rj_gg_:focus{outline:0;-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SButton_1v3rj_gg_:hover{outline:0;-webkit-text-decoration:none;text-decoration:none}}.___SButton_1v3rj_gg_.__keyboardFocused_1v3rj_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));z-index:1}.___SButton_1v3rj_gg_.__disabled_1v3rj_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none;box-shadow:none;z-index:0}.___SButton_1v3rj_gg_._size_m_1v3rj_gg_{height:var(--intergalactic-form-control-m, 28px);border-radius:var(--intergalactic-control-rounded, 6px);font-size:var(--intergalactic-fs-200, 14px)}.___SButton_1v3rj_gg_._size_l_1v3rj_gg_{height:var(--intergalactic-form-control-l, 40px);border-radius:var(--intergalactic-control-rounded, 6px);font-size:var(--intergalactic-fs-300, 16px)}.___SButton_1v3rj_gg_._theme_primary-info_1v3rj_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-info, #008ff8)}@media (hover:hover){.___SButton_1v3rj_gg_._theme_primary-info_1v3rj_gg_:hover{background-color:var(--intergalactic-control-primary-info-hover, #006dca)}}.___SButton_1v3rj_gg_._theme_primary-info_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_primary-info_1v3rj_gg_:active{background-color:var(--intergalactic-control-primary-info-active, #044792)}.___SButton_1v3rj_gg_._theme_primary-success_1v3rj_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-success, #009f81)}@media (hover:hover){.___SButton_1v3rj_gg_._theme_primary-success_1v3rj_gg_:hover{background-color:var(--intergalactic-control-primary-success-hover, #007c65)}}.___SButton_1v3rj_gg_._theme_primary-success_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_primary-success_1v3rj_gg_:active{background-color:var(--intergalactic-control-primary-success-active, #055345)}.___SButton_1v3rj_gg_._theme_primary-warning_1v3rj_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-brand, #ff642d)}@media (hover:hover){.___SButton_1v3rj_gg_._theme_primary-warning_1v3rj_gg_:hover{background-color:var(--intergalactic-control-primary-brand-hover, #c33909)}}.___SButton_1v3rj_gg_._theme_primary-warning_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_primary-warning_1v3rj_gg_:active{background-color:var(--intergalactic-control-primary-brand-active, #c33909)}.___SButton_1v3rj_gg_._theme_primary-danger_1v3rj_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-primary-critical, #ff4953)}@media (hover:hover){.___SButton_1v3rj_gg_._theme_primary-danger_1v3rj_gg_:hover{background-color:var(--intergalactic-control-primary-critical-hover, #d1002f)}}.___SButton_1v3rj_gg_._theme_primary-danger_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_primary-danger_1v3rj_gg_:active{background-color:var(--intergalactic-control-primary-critical-active, #8e0016)}.___SButton_1v3rj_gg_._theme_primary-invert_1v3rj_gg_{color:var(--intergalactic-text-primary, #191b23);background-color:var(--intergalactic-control-primary-invert, #ffffff)}@media (hover:hover){.___SButton_1v3rj_gg_._theme_primary-invert_1v3rj_gg_:hover{background-color:var(--intergalactic-control-primary-invert-hover, #f4f5f9)}}.___SButton_1v3rj_gg_._theme_primary-invert_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_primary-invert_1v3rj_gg_:active{background-color:var(--intergalactic-control-primary-invert-active, #e0e1e9)}.___SButton_1v3rj_gg_._theme_secondary-muted_1v3rj_gg_{color:var(--intergalactic-text-secondary, #6c6e79);border-color:var(--intergalactic-border-primary, #c4c7cf);background-color:var(--intergalactic-control-secondary-neutral, rgba(138, 142, 155, 0.1))}@media (hover:hover){.___SButton_1v3rj_gg_._theme_secondary-muted_1v3rj_gg_:hover{background-color:var(--intergalactic-control-secondary-neutral-hover,\n rgba(138, 142, 155, 0.2));color:var(--intergalactic-text-primary, #191b23)}}.___SButton_1v3rj_gg_._theme_secondary-muted_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_secondary-muted_1v3rj_gg_:active{background-color:var(--intergalactic-control-secondary-neutral-active,\n rgba(138, 142, 155, 0.3));color:var(--intergalactic-text-primary, #191b23)}.___SButton_1v3rj_gg_._theme_secondary-info_1v3rj_gg_{background-color:var(--intergalactic-control-secondary-info, rgba(0, 143, 248, 0.1));color:var(--intergalactic-text-link, #006dca);border-color:var(--intergalactic-control-primary-info, #008ff8)}@media (hover:hover){.___SButton_1v3rj_gg_._theme_secondary-info_1v3rj_gg_:hover{background-color:var(--intergalactic-control-secondary-info-hover, rgba(0, 143, 248, 0.2))}}.___SButton_1v3rj_gg_._theme_secondary-info_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_secondary-info_1v3rj_gg_:active{background-color:var(--intergalactic-control-secondary-info-active, rgba(0, 143, 248, 0.3))}.___SButton_1v3rj_gg_._theme_secondary-invert_1v3rj_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);border-color:var(--intergalactic-border-primary-invert, #ffffff);background-color:var(--intergalactic-control-secondary-invert, rgba(255, 255, 255, 0.05))}@media (hover:hover){.___SButton_1v3rj_gg_._theme_secondary-invert_1v3rj_gg_:hover{background-color:var(--intergalactic-control-secondary-invert-hover, rgba(255, 255, 255, 0.1))}}.___SButton_1v3rj_gg_._theme_secondary-invert_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_secondary-invert_1v3rj_gg_:active{background-color:var(--intergalactic-control-secondary-invert-active,\n rgba(255, 255, 255, 0.3))}.___SButton_1v3rj_gg_._theme_tertiary-info_1v3rj_gg_{color:var(--intergalactic-text-link, #006dca);background-color:var(--intergalactic-control-tertiary-info, rgba(0, 143, 248, 0))}@media (hover:hover){.___SButton_1v3rj_gg_._theme_tertiary-info_1v3rj_gg_:hover{background-color:var(--intergalactic-control-tertiary-info-hover, rgba(0, 143, 248, 0.2))}}.___SButton_1v3rj_gg_._theme_tertiary-info_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_tertiary-info_1v3rj_gg_:active{background-color:var(--intergalactic-control-tertiary-info-active, rgba(0, 143, 248, 0.3))}.___SButton_1v3rj_gg_._theme_tertiary-muted_1v3rj_gg_{color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-control-tertiary-neutral, rgba(138, 142, 155, 0))}@media (hover:hover){.___SButton_1v3rj_gg_._theme_tertiary-muted_1v3rj_gg_:hover{background-color:var(--intergalactic-control-tertiary-neutral-hover, rgba(138, 142, 155, 0.2));color:var(--intergalactic-text-primary, #191b23)}}.___SButton_1v3rj_gg_._theme_tertiary-muted_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_tertiary-muted_1v3rj_gg_:active{background-color:var(--intergalactic-control-tertiary-neutral-active,\n rgba(138, 142, 155, 0.3));color:var(--intergalactic-text-primary, #191b23)}.___SButton_1v3rj_gg_._theme_tertiary-invert_1v3rj_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-control-tertiary-invert, rgba(255, 255, 255, 0))}@media (hover:hover){.___SButton_1v3rj_gg_._theme_tertiary-invert_1v3rj_gg_:hover{background-color:var(--intergalactic-control-tertiary-invert-hover, rgba(255, 255, 255, 0.1))}}.___SButton_1v3rj_gg_._theme_tertiary-invert_1v3rj_gg_.__active_1v3rj_gg_,.___SButton_1v3rj_gg_._theme_tertiary-invert_1v3rj_gg_:active{background-color:var(--intergalactic-control-tertiary-invert-active, rgba(255, 255, 255, 0.3))}.___SButton_1v3rj_gg_._neighborLocation_right_1v3rj_gg_{border-top-right-radius:0;border-bottom-right-radius:0}.___SButton_1v3rj_gg_._neighborLocation_both_1v3rj_gg_{border-radius:0;margin-left:-1px}.___SButton_1v3rj_gg_._neighborLocation_left_1v3rj_gg_{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.___SButton_1v3rj_gg_._neighborLocation_both_1v3rj_gg_,.___SButton_1v3rj_gg_._neighborLocation_left_1v3rj_gg_{position:relative}.___SButton_1v3rj_gg_._neighborLocation_both_1v3rj_gg_:after,.___SButton_1v3rj_gg_._neighborLocation_left_1v3rj_gg_:after{background-color:var(--intergalactic-text-primary-invert, #ffffff)}.___SButton_1v3rj_gg_._neighborLocation_both_1v3rj_gg_._theme_secondary-muted_1v3rj_gg_:after,.___SButton_1v3rj_gg_._neighborLocation_left_1v3rj_gg_._theme_secondary-muted_1v3rj_gg_:after{background-color:var(--intergalactic-border-primary, #c4c7cf)}.___SButton_1v3rj_gg_+.___SButton_1v3rj_gg_._neighborLocation_both_1v3rj_gg_:after,.___SButton_1v3rj_gg_+.___SButton_1v3rj_gg_._neighborLocation_left_1v3rj_gg_:after{content:\"\";position:absolute;top:-1px;left:-1px;width:1px;height:calc(100% + 2px)}.___SSpin_1v3rj_gg_{position:absolute;top:0;left:0;width:100%;height:100%;display:flex}.___SInner_1v3rj_gg_{display:inline-flex;align-items:center;justify-content:center;height:100%;width:100%}.___SInner_1v3rj_gg_.__loading_1v3rj_gg_{visibility:hidden}.___SText_1v3rj_gg_{display:inline-flex}.___SText_1v3rj_gg_._size_l_1v3rj_gg_,.___SText_1v3rj_gg_._size_m_1v3rj_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);margin-right:var(--intergalactic-spacing-2x, 8px)}.___SText_1v3rj_gg_._size_m_1v3rj_gg_{line-height:var(--intergalactic-lh-200, 142%)}.___SText_1v3rj_gg_._size_l_1v3rj_gg_{line-height:var(--intergalactic-lh-300, 150%)}.___SText_1v3rj_gg_._size_l_1v3rj_gg_:only-child{margin-left:var(--intergalactic-spacing-3x, 12px);margin-right:var(--intergalactic-spacing-3x, 12px)}.___SText_1v3rj_gg_._size_l_1v3rj_gg_:first-child{margin-left:var(--intergalactic-spacing-3x, 12px)}.___SText_1v3rj_gg_._size_l_1v3rj_gg_:last-child{margin-right:var(--intergalactic-spacing-3x, 12px)}.___SAddon_1v3rj_gg_{display:inline-flex;align-items:center;justify-content:center}.___SAddon_1v3rj_gg_._size_m_1v3rj_gg_:not(:only-child):first-child{margin-left:calc(var(--intergalactic-spacing-2x, 8px) - 1px)}.___SAddon_1v3rj_gg_._size_m_1v3rj_gg_:not(:only-child):last-child{margin-right:calc(var(--intergalactic-spacing-2x, 8px) - 1px)}.___SAddon_1v3rj_gg_._size_m_1v3rj_gg_:only-child{margin-left:calc(1.5*var(--intergalactic-spacing-1x, 4px) - 1px);margin-right:calc(1.5*var(--intergalactic-spacing-1x, 4px) - 1px)}.___SAddon_1v3rj_gg_._size_l_1v3rj_gg_:not(:only-child):first-child{margin-left:calc(var(--intergalactic-spacing-3x, 12px) - 1px)}.___SAddon_1v3rj_gg_._size_l_1v3rj_gg_:not(:only-child):last-child{margin-right:calc(var(--intergalactic-spacing-3x, 12px) - 1px)}.___SAddon_1v3rj_gg_._size_l_1v3rj_gg_:only-child{margin-left:calc(3*var(--intergalactic-spacing-1x, 4px) - 1px);margin-right:calc(3*var(--intergalactic-spacing-1x, 4px) - 1px)}" /*__inner_css_end__*/, "1v3rj_gg_") /*__reshadow_css_end__*/, {
24
+ "__SButton": "___SButton_1v3rj_gg_",
25
+ "_keyboardFocused": "__keyboardFocused_1v3rj_gg_",
26
+ "_disabled": "__disabled_1v3rj_gg_",
27
+ "_size_m": "_size_m_1v3rj_gg_",
28
+ "_size_l": "_size_l_1v3rj_gg_",
29
+ "_neighborLocation_right": "_neighborLocation_right_1v3rj_gg_",
30
+ "_neighborLocation_both": "_neighborLocation_both_1v3rj_gg_",
31
+ "_neighborLocation_left": "_neighborLocation_left_1v3rj_gg_",
32
+ "__SSpin": "___SSpin_1v3rj_gg_",
33
+ "__SInner": "___SInner_1v3rj_gg_",
34
+ "_loading": "__loading_1v3rj_gg_",
35
+ "__SText": "___SText_1v3rj_gg_",
36
+ "__SAddon": "___SAddon_1v3rj_gg_",
37
+ "_theme_primary-info": "_theme_primary-info_1v3rj_gg_",
38
+ "_active": "__active_1v3rj_gg_",
39
+ "_theme_primary-success": "_theme_primary-success_1v3rj_gg_",
40
+ "_theme_primary-warning": "_theme_primary-warning_1v3rj_gg_",
41
+ "_theme_primary-danger": "_theme_primary-danger_1v3rj_gg_",
42
+ "_theme_primary-invert": "_theme_primary-invert_1v3rj_gg_",
43
+ "_theme_secondary-muted": "_theme_secondary-muted_1v3rj_gg_",
44
+ "_theme_secondary-info": "_theme_secondary-info_1v3rj_gg_",
45
+ "_theme_secondary-invert": "_theme_secondary-invert_1v3rj_gg_",
46
+ "_theme_tertiary-info": "_theme_tertiary-info_1v3rj_gg_",
47
+ "_theme_tertiary-muted": "_theme_tertiary-muted_1v3rj_gg_",
48
+ "_theme_tertiary-invert": "_theme_tertiary-invert_1v3rj_gg_"
48
49
  });
49
50
  import hasLabels from '@semcore/utils/lib/hasLabels';
50
51
  export var MAP_USE_DEFAULT_THEME = {
@@ -64,7 +65,7 @@ var RootButton = /*#__PURE__*/function (_Component) {
64
65
  _this = _super.call.apply(_super, [this].concat(args));
65
66
  _defineProperty(_assertThisInitialized(_this), "containerRef", /*#__PURE__*/React.createRef());
66
67
  _defineProperty(_assertThisInitialized(_this), "state", {
67
- ariaLabelledByContent: ''
68
+ ariaLabelledByContent: null
68
69
  });
69
70
  return _this;
70
71
  }
@@ -89,7 +90,7 @@ var RootButton = /*#__PURE__*/function (_Component) {
89
90
  value: function componentDidMount() {
90
91
  var _this2 = this;
91
92
  if (process.env.NODE_ENV !== 'production') {
92
- logger.warn(this.containerRef.current && !hasLabels(this.containerRef.current), "'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content", this.asProps['data-ui-name'] || RootButton.displayName);
93
+ logger.warn(this.containerRef.current && !hasLabels(this.containerRef.current) && !this.asProps.title, "'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content", this.asProps['data-ui-name'] || RootButton.displayName);
93
94
  }
94
95
  if (this.asProps['aria-labelledby']) {
95
96
  setTimeout(function () {
@@ -101,81 +102,98 @@ var RootButton = /*#__PURE__*/function (_Component) {
101
102
  }
102
103
  }
103
104
  }, {
104
- key: "renderChildren",
105
- value: function renderChildren() {
106
- var _ref4;
107
- var _this$asProps = this.asProps,
108
- Children = _this$asProps.Children,
109
- styles = _this$asProps.styles,
110
- AddonLeft = _this$asProps.addonLeft,
111
- AddonRight = _this$asProps.addonRight;
112
- return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, AddonLeft ? /*#__PURE__*/React.createElement(Button.Addon, {
113
- tag: AddonLeft
114
- }) : null, addonTextChildren(Children, Button.Text, Button.Addon), AddonRight ? /*#__PURE__*/React.createElement(Button.Addon, {
115
- tag: AddonRight
116
- }) : null);
105
+ key: "renderButton",
106
+ value: function renderButton(_ref10) {
107
+ var _ref = this.asProps,
108
+ _ref5;
109
+ var buttonProps = _ref10.buttonProps,
110
+ children = _ref10.children;
111
+ var styles = this.asProps.styles;
112
+ var SButton = Box;
113
+ return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SButton, _ref5.cn("SButton", _objectSpread({}, _assignProps(_objectSpread({}, buttonProps), _ref))), children);
117
114
  }
118
115
  }, {
119
- key: "renderOnlyAddons",
120
- value: function renderOnlyAddons() {
121
- var _ref5, _ref9, _ref10;
122
- var _this$asProps2 = this.asProps,
123
- styles = _this$asProps2.styles,
124
- AddonLeft = _this$asProps2.addonLeft,
125
- AddonRight = _this$asProps2.addonRight,
126
- title = _this$asProps2.title,
127
- ariaLabel = _this$asProps2['aria-label'];
128
- var hintContent = (_ref9 = (_ref10 = title !== null && title !== void 0 ? title : ariaLabel) !== null && _ref10 !== void 0 ? _ref10 : this.state.ariaLabelledByContent) !== null && _ref9 !== void 0 ? _ref9 : '';
129
- return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(Hint, _ref5.cn("Hint", {
130
- "tag": Button.Addon,
131
- "title": hintContent,
132
- "timeout": [250, 50],
133
- "__excludeProps": ['aria-label']
134
- }), AddonLeft && /*#__PURE__*/React.createElement(AddonLeft, _ref5.cn("AddonLeft", {})), AddonRight && /*#__PURE__*/React.createElement(AddonRight, _ref5.cn("AddonRight", {})));
116
+ key: "renderButtonWithHint",
117
+ value: function renderButtonWithHint(_ref11) {
118
+ var _ref2 = this.asProps,
119
+ _ref6;
120
+ var buttonProps = _ref11.buttonProps,
121
+ children = _ref11.children,
122
+ hintProps = _ref11.hintProps;
123
+ var styles = this.asProps.styles;
124
+ var SButton = Hint;
125
+ return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(SButton, _ref6.cn("SButton", _objectSpread({}, _assignProps2(_objectSpread(_objectSpread({}, buttonProps), hintProps), _ref2))), children);
135
126
  }
136
127
  }, {
137
128
  key: "render",
138
129
  value: function render() {
139
- var _ref = this.asProps,
130
+ var _ref12,
131
+ _ref13,
140
132
  _this3 = this;
141
- var SButton = Box;
133
+ var _this$asProps = this.asProps,
134
+ styles = _this$asProps.styles,
135
+ use = _this$asProps.use,
136
+ _this$asProps$theme = _this$asProps.theme,
137
+ theme = _this$asProps$theme === void 0 ? typeof use === 'string' && MAP_USE_DEFAULT_THEME[use] : _this$asProps$theme,
138
+ loading = _this$asProps.loading,
139
+ _this$asProps$disable = _this$asProps.disabled,
140
+ disabled = _this$asProps$disable === void 0 ? loading : _this$asProps$disable,
141
+ size = _this$asProps.size,
142
+ neighborLocation = _this$asProps.neighborLocation,
143
+ hasChildren = _this$asProps.children,
144
+ title = _this$asProps.title,
145
+ ariaLabel = _this$asProps['aria-label'],
146
+ Children = _this$asProps.Children,
147
+ AddonLeft = _this$asProps.addonLeft,
148
+ AddonRight = _this$asProps.addonRight,
149
+ hintPlacement = _this$asProps.hintPlacement;
150
+ var useTheme = use && theme ? "".concat(use, "-").concat(theme) : false;
142
151
  var SInner = Box;
143
152
  var SSpin = Box;
144
- var _this$asProps3 = this.asProps,
145
- styles = _this$asProps3.styles,
146
- use = _this$asProps3.use,
147
- _this$asProps3$theme = _this$asProps3.theme,
148
- theme = _this$asProps3$theme === void 0 ? typeof use === 'string' && MAP_USE_DEFAULT_THEME[use] : _this$asProps3$theme,
149
- loading = _this$asProps3.loading,
150
- _this$asProps3$disabl = _this$asProps3.disabled,
151
- disabled = _this$asProps3$disabl === void 0 ? loading : _this$asProps3$disabl,
152
- size = _this$asProps3.size,
153
- neighborLocation = _this$asProps3.neighborLocation,
154
- hasChildren = _this$asProps3.children;
155
- var useTheme = use && theme ? "".concat(use, "-").concat(theme) : false;
153
+ var buttonAriaLabel = (_ref12 = (_ref13 = title !== null && title !== void 0 ? title : ariaLabel) !== null && _ref13 !== void 0 ? _ref13 : this.state.ariaLabelledByContent) !== null && _ref12 !== void 0 ? _ref12 : '';
154
+ var buttonProps = {
155
+ type: 'button',
156
+ tag: 'button',
157
+ disabled: disabled,
158
+ 'use:theme': useTheme,
159
+ ref: this.containerRef,
160
+ 'aria-busy': loading,
161
+ 'aria-disabled': disabled,
162
+ __excludeProps: ['title']
163
+ };
164
+ var hintProps = {
165
+ title: buttonAriaLabel,
166
+ timeout: [250, 50],
167
+ placement: hintPlacement,
168
+ theme: theme === 'invert' ? 'invert' : undefined,
169
+ __excludeProps: []
170
+ };
156
171
  return /*#__PURE__*/React.createElement(NeighborLocation.Detect, {
157
172
  neighborLocation: neighborLocation
158
173
  }, function (neighborLocation) {
159
- var _ref6;
160
- return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(SButton, _ref6.cn("SButton", _objectSpread({}, _assignProps({
161
- "type": 'button',
162
- "tag": 'button',
163
- "disabled": disabled,
164
- "neighborLocation": neighborLocation,
165
- "use:theme": useTheme,
166
- "ref": _this3.containerRef,
167
- "aria-busy": loading,
168
- "aria-disabled": disabled
169
- }, _ref))), /*#__PURE__*/React.createElement(SInner, _ref6.cn("SInner", {
174
+ var _ref7;
175
+ var children = (_ref7 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SInner, _ref7.cn("SInner", {
170
176
  "tag": 'span',
171
177
  "loading": loading
172
- }), hasChildren ? _this3.renderChildren() : _this3.renderOnlyAddons()), loading && /*#__PURE__*/React.createElement(SSpin, _ref6.cn("SSpin", {
178
+ }), AddonLeft ? /*#__PURE__*/React.createElement(Button.Addon, null, /*#__PURE__*/React.createElement(AddonLeft, _ref7.cn("AddonLeft", {}))) : null, addonTextChildren(Children, Button.Text, Button.Addon), AddonRight ? /*#__PURE__*/React.createElement(Button.Addon, null, /*#__PURE__*/React.createElement(AddonRight, _ref7.cn("AddonRight", {}))) : null), loading && /*#__PURE__*/React.createElement(SSpin, _ref7.cn("SSpin", {
173
179
  "tag": 'span'
174
- }), /*#__PURE__*/React.createElement(SpinButton, _ref6.cn("SpinButton", {
180
+ }), /*#__PURE__*/React.createElement(SpinButton, _ref7.cn("SpinButton", {
175
181
  "centered": true,
176
182
  "size": size,
177
183
  "theme": useTheme
178
- }))));
184
+ })))));
185
+ buttonProps.neighborLocation = neighborLocation;
186
+ if (!hasChildren || title) {
187
+ return _this3.renderButtonWithHint({
188
+ buttonProps: buttonProps,
189
+ hintProps: hintProps,
190
+ children: children
191
+ });
192
+ }
193
+ return _this3.renderButton({
194
+ buttonProps: buttonProps,
195
+ children: children
196
+ });
179
197
  });
180
198
  }
181
199
  }]);
@@ -189,20 +207,20 @@ _defineProperty(RootButton, "defaultProps", {
189
207
  size: 'm'
190
208
  });
191
209
  function Text(props) {
192
- var _ref2 = arguments[0],
193
- _ref7;
210
+ var _ref3 = arguments[0],
211
+ _ref8;
194
212
  var SText = Box;
195
- return _ref7 = sstyled(props.styles), /*#__PURE__*/React.createElement(SText, _ref7.cn("SText", _objectSpread({}, _assignProps2({
213
+ return _ref8 = sstyled(props.styles), /*#__PURE__*/React.createElement(SText, _ref8.cn("SText", _objectSpread({}, _assignProps3({
196
214
  "tag": 'span'
197
- }, _ref2))));
215
+ }, _ref3))));
198
216
  }
199
217
  function Addon(props) {
200
- var _ref3 = arguments[0],
201
- _ref8;
218
+ var _ref4 = arguments[0],
219
+ _ref9;
202
220
  var SAddon = Box;
203
- return _ref8 = sstyled(props.styles), /*#__PURE__*/React.createElement(SAddon, _ref8.cn("SAddon", _objectSpread({}, _assignProps3({
221
+ return _ref9 = sstyled(props.styles), /*#__PURE__*/React.createElement(SAddon, _ref9.cn("SAddon", _objectSpread({}, _assignProps4({
204
222
  "tag": 'span'
205
- }, _ref3))));
223
+ }, _ref4))));
206
224
  }
207
225
  var Button = createComponent(RootButton, {
208
226
  Text: Text,
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["React","createComponent","Component","sstyled","Root","Box","Hint","NeighborLocation","keyboardFocusEnhance","addonTextChildren","logger","SpinButton","style","_sstyled","insert","hasLabels","MAP_USE_DEFAULT_THEME","primary","secondary","tertiary","RootButton","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","ariaLabelledByContent","_createClass","key","value","getTextProps","size","asProps","getAddonProps","componentDidMount","_this2","process","env","NODE_ENV","warn","containerRef","current","displayName","setTimeout","_document$getElementB","_document$getElementB2","setState","document","getElementById","textContent","renderChildren","_ref4","_this$asProps","Children","styles","AddonLeft","addonLeft","AddonRight","addonRight","createElement","Fragment","Button","Addon","tag","Text","renderOnlyAddons","_ref5","_ref9","_ref10","_this$asProps2","title","ariaLabel","hintContent","state","cn","render","_ref","_this3","SButton","SInner","SSpin","_this$asProps3","use","_this$asProps3$theme","theme","loading","_this$asProps3$disabl","disabled","neighborLocation","hasChildren","children","useTheme","Detect","_ref6","_objectSpread","_assignProps","props","_ref2","arguments[0]","_ref7","SText","_assignProps2","_ref3","_ref8","SAddon","_assignProps3"],"sources":["../../src/Button.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport { Hint } from '@semcore/tooltip';\nimport NeighborLocation from '@semcore/neighbor-location';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport logger from '@semcore/utils/lib/logger';\nimport SpinButton from './SpinButton';\n\nimport style from './style/button.shadow.css';\nimport hasLabels from '@semcore/utils/lib/hasLabels';\n\nexport const MAP_USE_DEFAULT_THEME = {\n primary: 'info',\n secondary: 'muted',\n tertiary: 'info',\n};\n\nclass RootButton extends Component {\n static displayName = 'Button';\n static enhance = [keyboardFocusEnhance()];\n static style = style;\n static defaultProps = {\n use: 'secondary',\n size: 'm',\n };\n containerRef = React.createRef();\n\n state = {\n ariaLabelledByContent: '',\n };\n\n getTextProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getAddonProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n componentDidMount() {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(\n this.containerRef.current && !hasLabels(this.containerRef.current),\n `'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content`,\n this.asProps['data-ui-name'] || RootButton.displayName,\n );\n }\n\n if (this.asProps['aria-labelledby']) {\n setTimeout(() => {\n this.setState({\n ariaLabelledByContent:\n document.getElementById(this.asProps['aria-labelledby'])?.textContent ?? '',\n });\n }, 0);\n }\n }\n\n renderChildren() {\n const { Children, styles, addonLeft: AddonLeft, addonRight: AddonRight } = this.asProps;\n\n return sstyled(styles)(\n <>\n {AddonLeft ? <Button.Addon tag={AddonLeft} /> : null}\n {addonTextChildren(Children, Button.Text, Button.Addon)}\n {AddonRight ? <Button.Addon tag={AddonRight} /> : null}\n </>,\n );\n }\n\n renderOnlyAddons() {\n const {\n styles,\n addonLeft: AddonLeft,\n addonRight: AddonRight,\n title,\n ['aria-label']: ariaLabel,\n } = this.asProps;\n\n const hintContent = title ?? ariaLabel ?? this.state.ariaLabelledByContent ?? '';\n\n return sstyled(styles)(\n <Hint\n tag={Button.Addon}\n title={hintContent}\n timeout={[250, 50]}\n __excludeProps={['aria-label']}\n >\n {AddonLeft && <AddonLeft />}\n {AddonRight && <AddonRight />}\n </Hint>,\n );\n }\n\n render() {\n const SButton = Root;\n const SInner = Box;\n const SSpin = Box;\n const {\n styles,\n use,\n theme = typeof use === 'string' && MAP_USE_DEFAULT_THEME[use],\n loading,\n disabled = loading,\n size,\n neighborLocation,\n children: hasChildren,\n } = this.asProps;\n const useTheme = use && theme ? `${use}-${theme}` : false;\n\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SButton\n render={Box}\n type='button'\n tag='button'\n disabled={disabled}\n neighborLocation={neighborLocation}\n use:theme={useTheme}\n ref={this.containerRef}\n aria-busy={loading}\n aria-disabled={disabled}\n >\n <SInner tag='span' loading={loading}>\n {hasChildren ? this.renderChildren() : this.renderOnlyAddons()}\n </SInner>\n {loading && (\n <SSpin tag='span'>\n <SpinButton centered size={size} theme={useTheme} />\n </SSpin>\n )}\n </SButton>,\n )\n }\n </NeighborLocation.Detect>\n );\n }\n}\n\nfunction Text(props) {\n const SText = Root;\n return sstyled(props.styles)(<SText render={Box} tag='span' />);\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} tag='span' />);\n}\n\nconst Button = createComponent(RootButton, {\n Text,\n Addon,\n});\n\nexport default Button;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","names":["React","createComponent","Component","sstyled","Root","Box","Hint","NeighborLocation","keyboardFocusEnhance","addonTextChildren","logger","SpinButton","style","_sstyled","insert","hasLabels","MAP_USE_DEFAULT_THEME","primary","secondary","tertiary","RootButton","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","ariaLabelledByContent","_createClass","key","value","getTextProps","size","asProps","getAddonProps","componentDidMount","_this2","process","env","NODE_ENV","warn","containerRef","current","title","displayName","setTimeout","_document$getElementB","_document$getElementB2","setState","document","getElementById","textContent","renderButton","_ref10","_ref","_ref5","buttonProps","children","styles","SButton","createElement","cn","_objectSpread","_assignProps","renderButtonWithHint","_ref11","_ref2","_ref6","hintProps","_assignProps2","render","_ref12","_ref13","_this3","_this$asProps","use","_this$asProps$theme","theme","loading","_this$asProps$disable","disabled","neighborLocation","hasChildren","ariaLabel","Children","AddonLeft","addonLeft","AddonRight","addonRight","hintPlacement","useTheme","SInner","SSpin","buttonAriaLabel","state","type","tag","ref","__excludeProps","timeout","placement","undefined","Detect","_ref7","Fragment","Button","Addon","Text","props","_ref3","arguments[0]","_ref8","SText","_assignProps3","_ref4","_ref9","SAddon","_assignProps4"],"sources":["../../src/Button.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport { Hint } from '@semcore/tooltip';\nimport NeighborLocation from '@semcore/neighbor-location';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport logger from '@semcore/utils/lib/logger';\nimport SpinButton from './SpinButton';\n\nimport style from './style/button.shadow.css';\nimport hasLabels from '@semcore/utils/lib/hasLabels';\n\nexport const MAP_USE_DEFAULT_THEME = {\n primary: 'info',\n secondary: 'muted',\n tertiary: 'info',\n};\n\nclass RootButton extends Component {\n static displayName = 'Button';\n static enhance = [keyboardFocusEnhance()];\n static style = style;\n static defaultProps = {\n use: 'secondary',\n size: 'm',\n };\n containerRef = React.createRef();\n\n state = {\n ariaLabelledByContent: null,\n };\n\n getTextProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getAddonProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n componentDidMount() {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(\n this.containerRef.current && !hasLabels(this.containerRef.current) && !this.asProps.title,\n `'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content`,\n this.asProps['data-ui-name'] || RootButton.displayName,\n );\n }\n\n if (this.asProps['aria-labelledby']) {\n setTimeout(() => {\n this.setState({\n ariaLabelledByContent:\n document.getElementById(this.asProps['aria-labelledby'])?.textContent ?? '',\n });\n }, 0);\n }\n }\n\n renderButton({ buttonProps, children }) {\n const { styles } = this.asProps;\n const SButton = Root;\n\n return sstyled(styles)(\n <SButton render={Box} {...buttonProps}>\n {children}\n </SButton>,\n );\n }\n\n renderButtonWithHint({ buttonProps, children, hintProps }) {\n const { styles } = this.asProps;\n const SButton = Root;\n\n return sstyled(styles)(\n <SButton render={Hint} {...buttonProps} {...hintProps}>\n {children}\n </SButton>,\n );\n }\n\n render() {\n const {\n styles,\n use,\n theme = typeof use === 'string' && MAP_USE_DEFAULT_THEME[use],\n loading,\n disabled = loading,\n size,\n neighborLocation,\n children: hasChildren,\n title,\n ['aria-label']: ariaLabel,\n Children,\n addonLeft: AddonLeft,\n addonRight: AddonRight,\n hintPlacement,\n } = this.asProps;\n const useTheme = use && theme ? `${use}-${theme}` : false;\n const SInner = Box;\n const SSpin = Box;\n const buttonAriaLabel = title ?? ariaLabel ?? this.state.ariaLabelledByContent ?? '';\n\n const buttonProps = {\n type: 'button',\n tag: 'button',\n disabled,\n 'use:theme': useTheme,\n ref: this.containerRef,\n 'aria-busy': loading,\n 'aria-disabled': disabled,\n __excludeProps: ['title'],\n };\n\n const hintProps = {\n title: buttonAriaLabel,\n timeout: [250, 50],\n placement: hintPlacement,\n theme: theme === 'invert' ? 'invert' : undefined,\n __excludeProps: [],\n };\n\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) => {\n const children = sstyled(styles)(\n <>\n <SInner tag='span' loading={loading}>\n {AddonLeft ? (\n <Button.Addon>\n <AddonLeft />\n </Button.Addon>\n ) : null}\n {addonTextChildren(Children, Button.Text, Button.Addon)}\n {AddonRight ? (\n <Button.Addon>\n <AddonRight />\n </Button.Addon>\n ) : null}\n </SInner>\n {loading && (\n <SSpin tag='span'>\n <SpinButton centered size={size} theme={useTheme} />\n </SSpin>\n )}\n </>,\n );\n buttonProps.neighborLocation = neighborLocation;\n\n if (!hasChildren || title) {\n return this.renderButtonWithHint({ buttonProps, hintProps, children });\n }\n\n return this.renderButton({ buttonProps, children });\n }}\n </NeighborLocation.Detect>\n );\n }\n}\n\nfunction Text(props) {\n const SText = Root;\n return sstyled(props.styles)(<SText render={Box} tag='span' />);\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} tag='span' />);\n}\n\nconst Button = createComponent(RootButton, {\n Text,\n Addon,\n});\n\nexport default Button;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { BoxProps } from '@semcore/flex-box';\nimport { NeighborItemProps } from '@semcore/neighbor-location';\n\nexport type ButtonSize = 'l' | 'm';\n\n/** @deprecated */\nexport interface IButtonProps extends ButtonProps, UnknownProperties {}\nexport type ButtonProps = BoxProps &\n NeighborItemProps &\n KeyboardFocusProps & {\n /**\n * Button type\n * @default secondary\n */\n use?: 'primary' | 'secondary' | 'tertiary';\n /** Button theme */\n theme?: 'info' | 'success' | 'warning' | 'danger' | 'muted' | 'invert';\n /** Button activity state */\n active?: boolean;\n /**\n * Button size\n * @default m\n */\n size?: ButtonSize;\n /** Disabled button state */\n disabled?: boolean;\n /** Loading button state */\n loading?: boolean;\n /** Tag for the left Addon */\n addonLeft?: React.ElementType;\n /** Tag for the right Addon */\n addonRight?: React.ElementType;\n };\n\n/** @deprecated */\nexport interface IButtonTextProps extends ButtonTextProps, UnknownProperties {}\nexport type ButtonTextProps = BoxProps & {\n size?: ButtonSize;\n};\n\n/** @deprecated */\nexport interface IButtonAddonProps extends ButtonAddonProps, UnknownProperties {}\nexport type ButtonAddonProps = BoxProps & {\n size?: ButtonSize;\n};\n\n/** @deprecated */\nexport interface IButtonContext extends ButtonContext, UnknownProperties {}\nexport type ButtonContext = {\n getTextProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const Button: Intergalactic.Component<'button', ButtonProps, ButtonContext> & {\n Text: Intergalactic.Component<'span', ButtonTextProps>;\n Addon: Intergalactic.Component<'span', ButtonAddonProps>;\n};\n\nexport default Button;\n"],"mappings":""}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { BoxProps } from '@semcore/flex-box';\nimport { NeighborItemProps } from '@semcore/neighbor-location';\nimport { TooltipHintProps } from '@semcore/tooltip';\n\nexport type ButtonSize = 'l' | 'm';\n\n/** @deprecated */\nexport interface IButtonProps extends ButtonProps, UnknownProperties {}\nexport type ButtonProps = BoxProps &\n NeighborItemProps &\n KeyboardFocusProps & {\n /**\n * Button type\n * @default secondary\n */\n use?: 'primary' | 'secondary' | 'tertiary';\n /** Button theme */\n theme?: 'info' | 'success' | 'warning' | 'danger' | 'muted' | 'invert';\n /** Button activity state */\n active?: boolean;\n /**\n * Button size\n * @default m\n */\n size?: ButtonSize;\n /** Disabled button state */\n disabled?: boolean;\n /** Loading button state */\n loading?: boolean;\n /** Tag for the left Addon */\n addonLeft?: React.ElementType;\n /** Tag for the right Addon */\n addonRight?: React.ElementType;\n /**\n * Placement for hint\n * @default top\n */\n hintPlacement?: TooltipHintProps['placement'];\n };\n\n/** @deprecated */\nexport interface IButtonTextProps extends ButtonTextProps, UnknownProperties {}\nexport type ButtonTextProps = BoxProps & {\n size?: ButtonSize;\n};\n\n/** @deprecated */\nexport interface IButtonAddonProps extends ButtonAddonProps, UnknownProperties {}\nexport type ButtonAddonProps = BoxProps & {\n size?: ButtonSize;\n};\n\n/** @deprecated */\nexport interface IButtonContext extends ButtonContext, UnknownProperties {}\nexport type ButtonContext = {\n getTextProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const Button: Intergalactic.Component<'button', ButtonProps, ButtonContext> & {\n Text: Intergalactic.Component<'span', ButtonTextProps>;\n Addon: Intergalactic.Component<'span', ButtonAddonProps>;\n};\n\nexport default Button;\n"],"mappings":""}
@@ -3,6 +3,7 @@ import { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';
3
3
  import { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
4
4
  import { BoxProps } from '@semcore/flex-box';
5
5
  import { NeighborItemProps } from '@semcore/neighbor-location';
6
+ import { TooltipHintProps } from '@semcore/tooltip';
6
7
 
7
8
  export type ButtonSize = 'l' | 'm';
8
9
 
@@ -33,6 +34,11 @@ export type ButtonProps = BoxProps &
33
34
  addonLeft?: React.ElementType;
34
35
  /** Tag for the right Addon */
35
36
  addonRight?: React.ElementType;
37
+ /**
38
+ * Placement for hint
39
+ * @default top
40
+ */
41
+ hintPlacement?: TooltipHintProps['placement'];
36
42
  };
37
43
 
38
44
  /** @deprecated */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/button",
3
3
  "description": "Semrush Button Component",
4
- "version": "5.35.1-prerelease.0",
4
+ "version": "5.35.2-prerelease.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -12,7 +12,7 @@
12
12
  "@semcore/flex-box": "5.31.2",
13
13
  "@semcore/neighbor-location": "4.29.2",
14
14
  "@semcore/spin": "5.31.2",
15
- "@semcore/tooltip": "6.40.3-prerelease.0",
15
+ "@semcore/tooltip": "6.40.4-prerelease.0",
16
16
  "@semcore/utils": "4.32.2"
17
17
  },
18
18
  "peerDependencies": {
package/src/Button.jsx CHANGED
@@ -28,7 +28,7 @@ class RootButton extends Component {
28
28
  containerRef = React.createRef();
29
29
 
30
30
  state = {
31
- ariaLabelledByContent: '',
31
+ ariaLabelledByContent: null,
32
32
  };
33
33
 
34
34
  getTextProps() {
@@ -48,7 +48,7 @@ class RootButton extends Component {
48
48
  componentDidMount() {
49
49
  if (process.env.NODE_ENV !== 'production') {
50
50
  logger.warn(
51
- this.containerRef.current && !hasLabels(this.containerRef.current),
51
+ this.containerRef.current && !hasLabels(this.containerRef.current) && !this.asProps.title,
52
52
  `'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content`,
53
53
  this.asProps['data-ui-name'] || RootButton.displayName,
54
54
  );
@@ -64,46 +64,29 @@ class RootButton extends Component {
64
64
  }
65
65
  }
66
66
 
67
- renderChildren() {
68
- const { Children, styles, addonLeft: AddonLeft, addonRight: AddonRight } = this.asProps;
67
+ renderButton({ buttonProps, children }) {
68
+ const { styles } = this.asProps;
69
+ const SButton = Root;
69
70
 
70
71
  return sstyled(styles)(
71
- <>
72
- {AddonLeft ? <Button.Addon tag={AddonLeft} /> : null}
73
- {addonTextChildren(Children, Button.Text, Button.Addon)}
74
- {AddonRight ? <Button.Addon tag={AddonRight} /> : null}
75
- </>,
72
+ <SButton render={Box} {...buttonProps}>
73
+ {children}
74
+ </SButton>,
76
75
  );
77
76
  }
78
77
 
79
- renderOnlyAddons() {
80
- const {
81
- styles,
82
- addonLeft: AddonLeft,
83
- addonRight: AddonRight,
84
- title,
85
- ['aria-label']: ariaLabel,
86
- } = this.asProps;
87
-
88
- const hintContent = title ?? ariaLabel ?? this.state.ariaLabelledByContent ?? '';
78
+ renderButtonWithHint({ buttonProps, children, hintProps }) {
79
+ const { styles } = this.asProps;
80
+ const SButton = Root;
89
81
 
90
82
  return sstyled(styles)(
91
- <Hint
92
- tag={Button.Addon}
93
- title={hintContent}
94
- timeout={[250, 50]}
95
- __excludeProps={['aria-label']}
96
- >
97
- {AddonLeft && <AddonLeft />}
98
- {AddonRight && <AddonRight />}
99
- </Hint>,
83
+ <SButton render={Hint} {...buttonProps} {...hintProps}>
84
+ {children}
85
+ </SButton>,
100
86
  );
101
87
  }
102
88
 
103
89
  render() {
104
- const SButton = Root;
105
- const SInner = Box;
106
- const SSpin = Box;
107
90
  const {
108
91
  styles,
109
92
  use,
@@ -113,35 +96,70 @@ class RootButton extends Component {
113
96
  size,
114
97
  neighborLocation,
115
98
  children: hasChildren,
99
+ title,
100
+ ['aria-label']: ariaLabel,
101
+ Children,
102
+ addonLeft: AddonLeft,
103
+ addonRight: AddonRight,
104
+ hintPlacement,
116
105
  } = this.asProps;
117
106
  const useTheme = use && theme ? `${use}-${theme}` : false;
107
+ const SInner = Box;
108
+ const SSpin = Box;
109
+ const buttonAriaLabel = title ?? ariaLabel ?? this.state.ariaLabelledByContent ?? '';
110
+
111
+ const buttonProps = {
112
+ type: 'button',
113
+ tag: 'button',
114
+ disabled,
115
+ 'use:theme': useTheme,
116
+ ref: this.containerRef,
117
+ 'aria-busy': loading,
118
+ 'aria-disabled': disabled,
119
+ __excludeProps: ['title'],
120
+ };
121
+
122
+ const hintProps = {
123
+ title: buttonAriaLabel,
124
+ timeout: [250, 50],
125
+ placement: hintPlacement,
126
+ theme: theme === 'invert' ? 'invert' : undefined,
127
+ __excludeProps: [],
128
+ };
118
129
 
119
130
  return (
120
131
  <NeighborLocation.Detect neighborLocation={neighborLocation}>
121
- {(neighborLocation) =>
122
- sstyled(styles)(
123
- <SButton
124
- render={Box}
125
- type='button'
126
- tag='button'
127
- disabled={disabled}
128
- neighborLocation={neighborLocation}
129
- use:theme={useTheme}
130
- ref={this.containerRef}
131
- aria-busy={loading}
132
- aria-disabled={disabled}
133
- >
132
+ {(neighborLocation) => {
133
+ const children = sstyled(styles)(
134
+ <>
134
135
  <SInner tag='span' loading={loading}>
135
- {hasChildren ? this.renderChildren() : this.renderOnlyAddons()}
136
+ {AddonLeft ? (
137
+ <Button.Addon>
138
+ <AddonLeft />
139
+ </Button.Addon>
140
+ ) : null}
141
+ {addonTextChildren(Children, Button.Text, Button.Addon)}
142
+ {AddonRight ? (
143
+ <Button.Addon>
144
+ <AddonRight />
145
+ </Button.Addon>
146
+ ) : null}
136
147
  </SInner>
137
148
  {loading && (
138
149
  <SSpin tag='span'>
139
150
  <SpinButton centered size={size} theme={useTheme} />
140
151
  </SSpin>
141
152
  )}
142
- </SButton>,
143
- )
144
- }
153
+ </>,
154
+ );
155
+ buttonProps.neighborLocation = neighborLocation;
156
+
157
+ if (!hasChildren || title) {
158
+ return this.renderButtonWithHint({ buttonProps, hintProps, children });
159
+ }
160
+
161
+ return this.renderButton({ buttonProps, children });
162
+ }}
145
163
  </NeighborLocation.Detect>
146
164
  );
147
165
  }
package/src/index.d.ts CHANGED
@@ -3,6 +3,7 @@ import { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';
3
3
  import { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
4
4
  import { BoxProps } from '@semcore/flex-box';
5
5
  import { NeighborItemProps } from '@semcore/neighbor-location';
6
+ import { TooltipHintProps } from '@semcore/tooltip';
6
7
 
7
8
  export type ButtonSize = 'l' | 'm';
8
9
 
@@ -33,6 +34,11 @@ export type ButtonProps = BoxProps &
33
34
  addonLeft?: React.ElementType;
34
35
  /** Tag for the right Addon */
35
36
  addonRight?: React.ElementType;
37
+ /**
38
+ * Placement for hint
39
+ * @default top
40
+ */
41
+ hintPlacement?: TooltipHintProps['placement'];
36
42
  };
37
43
 
38
44
  /** @deprecated */