@semcore/base-trigger 2.6.3 → 3.0.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 +19 -0
- package/lib/cjs/BaseTrigger.js +22 -24
- package/lib/cjs/BaseTrigger.js.map +1 -1
- package/lib/cjs/ButtonTrigger.js +8 -6
- package/lib/cjs/ButtonTrigger.js.map +1 -1
- package/lib/cjs/FilterTrigger.js +18 -20
- package/lib/cjs/FilterTrigger.js.map +1 -1
- package/lib/cjs/LinkTrigger.js +17 -19
- package/lib/cjs/LinkTrigger.js.map +1 -1
- package/lib/cjs/index.d.ts +81 -0
- package/lib/cjs/index.js +3 -50
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/base-trigger.shadow.css +31 -88
- package/lib/cjs/style/button-trigger.shadow.css +4 -0
- package/lib/cjs/style/filter-trigger.shadow.css +19 -32
- package/lib/cjs/style/link-trigger.shadow.css +9 -19
- package/lib/es6/BaseTrigger.js +22 -24
- package/lib/es6/BaseTrigger.js.map +1 -1
- package/lib/es6/ButtonTrigger.js +8 -6
- package/lib/es6/ButtonTrigger.js.map +1 -1
- package/lib/es6/FilterTrigger.js +18 -20
- package/lib/es6/FilterTrigger.js.map +1 -1
- package/lib/es6/LinkTrigger.js +17 -19
- package/lib/es6/LinkTrigger.js.map +1 -1
- package/lib/es6/index.d.ts +81 -0
- package/lib/es6/index.js +0 -3
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/base-trigger.shadow.css +31 -88
- package/lib/es6/style/button-trigger.shadow.css +4 -0
- package/lib/es6/style/filter-trigger.shadow.css +19 -32
- package/lib/es6/style/link-trigger.shadow.css +9 -19
- package/lib/types/index.d.ts +1 -1
- package/package.json +5 -2
- package/src/ButtonTrigger.jsx +2 -1
- package/src/index.d.ts +1 -1
- package/src/index.js +0 -3
- package/src/style/base-trigger.shadow.css +31 -88
- package/src/style/button-trigger.shadow.css +4 -0
- package/src/style/filter-trigger.shadow.css +19 -32
- package/src/style/link-trigger.shadow.css +9 -19
package/lib/es6/LinkTrigger.js
CHANGED
|
@@ -31,25 +31,23 @@ var style = (
|
|
|
31
31
|
/*__reshadow_css_start__*/
|
|
32
32
|
_sstyled.insert(
|
|
33
33
|
/*__inner_css_start__*/
|
|
34
|
-
".
|
|
34
|
+
".___SLinkTrigger_1lk11_gg_{display:inline-flex;align-items:center;line-height:normal;position:relative;touch-action:manipulation;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;box-sizing:border-box;padding:0;margin:0;outline:none;text-decoration:none;-webkit-tap-highlight-color:transparent;overflow:visible;outline:0;vertical-align:middle;font-family:Inter,sans-serif;cursor:pointer;color:#006dca;background:none;transition:color .15s ease-in-out}.___SLinkTrigger_1lk11_gg_:active,.___SLinkTrigger_1lk11_gg_:hover,.___SLinkTrigger_1lk11_gg_.__active_1lk11_gg_{color:#044792}.___SLinkTrigger_1lk11_gg_:active .___SText_1lk11_gg_,.___SLinkTrigger_1lk11_gg_:hover .___SText_1lk11_gg_,.___SLinkTrigger_1lk11_gg_.__active_1lk11_gg_ .___SText_1lk11_gg_{border-color:currentColor}.___SLinkTrigger_1lk11_gg_ .___SText_1lk11_gg_{border-bottom-width:1px;border-bottom-style:solid;border-color:transparent;transition:border-bottom-color .15s ease-in-out;line-height:1.42}.___SLinkTrigger_1lk11_gg_.__color_1lk11_gg_{color:var(--color_klk89u)}.___SLinkTrigger_1lk11_gg_.__color_1lk11_gg_:hover{color:var(--color-hover_klk89u)}.___SLinkTrigger_1lk11_gg_.__disabled_1lk11_gg_{opacity:0.3;cursor:default;pointer-events:none}.___SLinkTrigger_1lk11_gg_.__keyboardFocused_1lk11_gg_{box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2);z-index:1}.___SAddon_1lk11_gg_,.___SLinkAddon_1lk11_gg_{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.___SAddon_1lk11_gg_:not(:only-child):first-child,.___SLinkAddon_1lk11_gg_:not(:only-child):first-child{margin-right:4px}.___SAddon_1lk11_gg_:not(:only-child):last-child,.___SLinkAddon_1lk11_gg_:not(:only-child):last-child{margin-left:4px}.___SLinkAddon_1lk11_gg_{width:16px;height:16px}.___SLinkTrigger_1lk11_gg_._size_m_1lk11_gg_{font-size:14px}.___SLinkTrigger_1lk11_gg_._size_l_1lk11_gg_{font-size:16px}@media (prefers-reduced-motion){.___SLinkTrigger_1lk11_gg_{transition:none}.___SLinkTrigger_1lk11_gg_ .___SText_1lk11_gg_{transition:none}}"
|
|
35
35
|
/*__inner_css_end__*/
|
|
36
|
-
, "
|
|
36
|
+
, "klk89u_gg_")
|
|
37
37
|
/*__reshadow_css_end__*/
|
|
38
38
|
, {
|
|
39
|
-
"__SLinkTrigger": "
|
|
40
|
-
"_active": "
|
|
41
|
-
"__SText": "
|
|
42
|
-
"_color": "
|
|
43
|
-
"--color": "--
|
|
44
|
-
"--color-hover": "--color-
|
|
45
|
-
"_disabled": "
|
|
46
|
-
"_keyboardFocused": "
|
|
47
|
-
"__SAddon": "
|
|
48
|
-
"__SLinkAddon": "
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"_size_l": "_size_l_qt3iv_gg_",
|
|
52
|
-
"_size_xl": "_size_xl_qt3iv_gg_"
|
|
39
|
+
"__SLinkTrigger": "___SLinkTrigger_1lk11_gg_",
|
|
40
|
+
"_active": "__active_1lk11_gg_",
|
|
41
|
+
"__SText": "___SText_1lk11_gg_",
|
|
42
|
+
"_color": "__color_1lk11_gg_",
|
|
43
|
+
"--color": "--color_klk89u",
|
|
44
|
+
"--color-hover": "--color-hover_klk89u",
|
|
45
|
+
"_disabled": "__disabled_1lk11_gg_",
|
|
46
|
+
"_keyboardFocused": "__keyboardFocused_1lk11_gg_",
|
|
47
|
+
"__SAddon": "___SAddon_1lk11_gg_",
|
|
48
|
+
"__SLinkAddon": "___SLinkAddon_1lk11_gg_",
|
|
49
|
+
"_size_m": "_size_m_1lk11_gg_",
|
|
50
|
+
"_size_l": "_size_l_1lk11_gg_"
|
|
53
51
|
});
|
|
54
52
|
|
|
55
53
|
var RootLinkTrigger = /*#__PURE__*/function (_Component) {
|
|
@@ -77,7 +75,7 @@ var RootLinkTrigger = /*#__PURE__*/function (_Component) {
|
|
|
77
75
|
}, {
|
|
78
76
|
key: "render",
|
|
79
77
|
value: function render() {
|
|
80
|
-
var _ref = this
|
|
78
|
+
var _ref = this.asProps,
|
|
81
79
|
_ref4;
|
|
82
80
|
|
|
83
81
|
var SLinkTrigger = Box;
|
|
@@ -113,7 +111,7 @@ _defineProperty(RootLinkTrigger, "defaultProps", {
|
|
|
113
111
|
_defineProperty(RootLinkTrigger, "enhance", [keyboardFocusEnhance()]);
|
|
114
112
|
|
|
115
113
|
function Text(props) {
|
|
116
|
-
var _ref2 =
|
|
114
|
+
var _ref2 = arguments[0],
|
|
117
115
|
_ref5;
|
|
118
116
|
|
|
119
117
|
var SText = Box;
|
|
@@ -131,7 +129,7 @@ function Text(props) {
|
|
|
131
129
|
}
|
|
132
130
|
|
|
133
131
|
function Addon(props) {
|
|
134
|
-
var _ref3 =
|
|
132
|
+
var _ref3 = arguments[0],
|
|
135
133
|
_ref6;
|
|
136
134
|
|
|
137
135
|
var SAddon = Box;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/LinkTrigger.jsx"],"names":["React","createComponent","Component","Root","sstyled","addonTextChildren","ChevronDown","Spin","Box","resolveColor","shade","keyboardFocusEnhance","RootLinkTrigger","asProps","placeholder","empty","SLinkTrigger","SLinkAddon","LinkTrigger","Addon","Children","loading","styles","providedColor","color","colorHover","Text","style","size","props","SText","children","SAddon"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,eAAP,IAA0BC,SAA1B,EAAqCC,IAArC,EAA2CC,OAA3C,QAA0D,eAA1D;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AACA,OAAOC,WAAP,MAAwB,6BAAxB;AACA,OAAOC,IAAP,MAAiB,eAAjB;AACA,SAASC,GAAT,QAAoB,mBAApB;AACA,OAAOC,YAAP,IAAuBC,KAAvB,QAAoC,0BAApC;AACA,OAAOC,oBAAP,MAAiC,kDAAjC
|
|
1
|
+
{"version":3,"sources":["../../src/LinkTrigger.jsx"],"names":["React","createComponent","Component","Root","sstyled","addonTextChildren","ChevronDown","Spin","Box","resolveColor","shade","keyboardFocusEnhance","RootLinkTrigger","asProps","placeholder","empty","SLinkTrigger","SLinkAddon","LinkTrigger","Addon","Children","loading","styles","providedColor","color","colorHover","Text","style","size","props","SText","children","SAddon"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,eAAP,IAA0BC,SAA1B,EAAqCC,IAArC,EAA2CC,OAA3C,QAA0D,eAA1D;AACA,OAAOC,iBAAP,MAA8B,sCAA9B;AACA,OAAOC,WAAP,MAAwB,6BAAxB;AACA,OAAOC,IAAP,MAAiB,eAAjB;AACA,SAASC,GAAT,QAAoB,mBAApB;AACA,OAAOC,YAAP,IAAuBC,KAAvB,QAAoC,0BAApC;AACA,OAAOC,oBAAP,MAAiC,kDAAjC;;;;;;;;;;;;;;;;;;;;;;;;;;IAIMC,e;;;;;;;;;;;;;WAQJ,wBAAe;AACb,0BAA+B,KAAKC,OAApC;AAAA,UAAQC,WAAR,iBAAQA,WAAR;AAAA,UAAqBC,KAArB,iBAAqBA,KAArB;AACA,aAAO;AACLD,QAAAA,WAAW,EAAXA,WADK;AAELC,QAAAA,KAAK,EAALA;AAFK,OAAP;AAID;;;WAED,kBAAS;AAAA;AAAA;;AACP,UAAMC,YAAY,GAQMR,GARxB;AACA,UAAMS,UAAU,GAAGC,WAAW,CAACC,KAA/B;AACA,2BAA4D,KAAKN,OAAjE;AAAA,UAAQO,QAAR,kBAAQA,QAAR;AAAA,UAAkBC,OAAlB,kBAAkBA,OAAlB;AAAA,UAA2BC,MAA3B,kBAA2BA,MAA3B;AAAA,UAA0CC,aAA1C,kBAAmCC,KAAnC;AAEA,UAAMA,KAAK,GAAGf,YAAY,CAACc,aAAD,CAA1B;AACA,UAAME,UAAU,GAAGf,KAAK,CAACc,KAAD,EAAQ,CAAC,IAAT,CAAxB;AAEA,qBAAOpB,OAAO,CAACkB,MAAD,CAAd,eACE,oBAAC,YAAD;AAAA,qBAAsCE,KAAtC;AAAA,2BAA8DC;AAA9D,kBACGpB,iBAAiB,CAACe,QAAD,EAAWF,WAAW,CAACQ,IAAvB,EAA6BR,WAAW,CAACC,KAAzC,CADpB,eAEE,oBAAC,UAAD,8BACGE,OAAO,gBAAG,oBAAC,IAAD;AAAA,gBAAW,IAAX;AAAA,iBAAsB;AAAtB,SAAH,gBAA6C,oBAAC,WAAD,8BADvD,CAFF,CADF;AAQD;;;;EAhC2BnB,S;;gBAAxBU,e,iBACiB,a;;gBADjBA,e,WAEWe,K;;gBAFXf,e,kBAGkB;AACpBgB,EAAAA,IAAI,EAAE;AADc,C;;gBAHlBhB,e,aAMa,CAACD,oBAAoB,EAArB,C;;AA6BnB,SAASe,IAAT,CAAcG,KAAd,EAAqB;AAAA;AAAA;;AACnB,MAAMC,KAAK,GAKMtB,GALjB;AACA,MAAQuB,QAAR,GAAiDF,KAAjD,CAAQE,QAAR;AAAA,MAAkBT,MAAlB,GAAiDO,KAAjD,CAAkBP,MAAlB;AAAA,MAA0BP,KAA1B,GAAiDc,KAAjD,CAA0Bd,KAA1B;AAAA,MAAiCD,WAAjC,GAAiDe,KAAjD,CAAiCf,WAAjC;AAEA,iBAAOV,OAAO,CAACkB,MAAD,CAAd;AAAA;;AACE;AACA,sBAAC,KAAD;AAAA,uBAAqCP;AAArC,eACGA,KAAK,GAAGD,WAAH,GAAiBiB,QADzB,CAFF;AAMD;;AAED,SAASZ,KAAT,CAAeU,KAAf,EAAsB;AAAA;AAAA;;AACpB,MAAMG,MAAM,GACiCxB,GAD7C;AACA,iBAAOJ,OAAO,CAACyB,KAAK,CAACP,MAAP,CAAd,eAA6B,oBAAC,MAAD,kEAA7B;AACD;;AAED,IAAMJ,WAAW,GAAGjB,eAAe,CAACW,eAAD,EAAkB;AACnDc,EAAAA,IAAI,EAAJA,IADmD;AAEnDP,EAAAA,KAAK,EAALA;AAFmD,CAAlB,CAAnC;AAKA,eAAeD,WAAf","sourcesContent":["import React from 'react';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport ChevronDown from '@semcore/icon/ChevronDown/m';\nimport Spin from '@semcore/spin';\nimport { Box } from '@semcore/flex-box';\nimport resolveColor, { shade } from '@semcore/utils/lib/color';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nimport style from './style/link-trigger.shadow.css';\n\nclass RootLinkTrigger extends Component {\n static displayName = 'LinkTrigger';\n static style = style;\n static defaultProps = {\n size: 'm',\n };\n static enhance = [keyboardFocusEnhance()];\n\n getTextProps() {\n const { placeholder, empty } = this.asProps;\n return {\n placeholder,\n empty,\n };\n }\n\n render() {\n const SLinkTrigger = Root;\n const SLinkAddon = LinkTrigger.Addon;\n const { Children, loading, styles, color: providedColor } = this.asProps;\n\n const color = resolveColor(providedColor);\n const colorHover = shade(color, -0.12);\n\n return sstyled(styles)(\n <SLinkTrigger render={Box} use:color={color} use:color-hover={colorHover}>\n {addonTextChildren(Children, LinkTrigger.Text, LinkTrigger.Addon)}\n <SLinkAddon>\n {loading ? <Spin size=\"xs\" theme=\"currentColor\" /> : <ChevronDown />}\n </SLinkAddon>\n </SLinkTrigger>,\n );\n }\n}\n\nfunction Text(props) {\n const SText = Root;\n const { children, styles, empty, placeholder } = props;\n\n return sstyled(styles)(\n /* что бы не ломать обратную совместимость пришлось юзать use */\n <SText render={Box} use:placeholder={empty}>\n {empty ? placeholder : children}\n </SText>,\n );\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} />);\n}\n\nconst LinkTrigger = createComponent(RootLinkTrigger, {\n Text,\n Addon,\n});\n\nexport default LinkTrigger;\n"],"file":"LinkTrigger.js"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import React, { ComponentProps } from 'react';
|
|
2
|
+
import { CProps, ReturnEl } from '@semcore/core';
|
|
3
|
+
import { Box, IBoxProps } from '@semcore/flex-box';
|
|
4
|
+
import Dot from '@semcore/dot';
|
|
5
|
+
import { INeighborItemProps } from '@semcore/neighbor-location';
|
|
6
|
+
import { IKeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
|
|
7
|
+
|
|
8
|
+
export interface IBaseTriggerProps extends IBoxProps, INeighborItemProps, IKeyboardFocusProps {
|
|
9
|
+
/**
|
|
10
|
+
* Trigger size
|
|
11
|
+
* @default m
|
|
12
|
+
*/
|
|
13
|
+
size?: 'm' | 'l';
|
|
14
|
+
/**
|
|
15
|
+
* Trigger state
|
|
16
|
+
*/
|
|
17
|
+
state?: 'normal' | 'valid' | 'invalid';
|
|
18
|
+
/**
|
|
19
|
+
* Sets active state to trigger
|
|
20
|
+
*/
|
|
21
|
+
active?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Responsible for placeholder displaying
|
|
24
|
+
*/
|
|
25
|
+
empty?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Placeholder text
|
|
28
|
+
*/
|
|
29
|
+
placeholder?: React.ReactNode;
|
|
30
|
+
/**
|
|
31
|
+
* Sets disabled state to trigger
|
|
32
|
+
*/
|
|
33
|
+
disabled?: boolean;
|
|
34
|
+
/** Trigger theme
|
|
35
|
+
* @deprecated {@link IBaseTriggerProps.state}
|
|
36
|
+
* */
|
|
37
|
+
theme?: 'normal' | 'valid' | 'invalid' | false;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface IButtonTriggerProps extends Omit<IBaseTriggerProps, 'theme'> {
|
|
41
|
+
/** Sets the loading state */
|
|
42
|
+
loading?: boolean;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface ILinkTriggerProps extends Omit<IBaseTriggerProps, 'theme'> {
|
|
46
|
+
/** Sets the loading state */
|
|
47
|
+
loading?: boolean;
|
|
48
|
+
/** Text color */
|
|
49
|
+
color?: string;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface IFilterTriggerProps extends IBaseTriggerProps {
|
|
53
|
+
/** Click on the filter cleaning cross */
|
|
54
|
+
onClear?: (event: React.SyntheticEvent) => void;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
declare const BaseTrigger: (<T>(props: CProps<IBaseTriggerProps & T>) => ReturnEl) & {
|
|
58
|
+
Text: typeof Box;
|
|
59
|
+
Addon: typeof Box;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
declare const ButtonTrigger: (<T>(props: CProps<IButtonTriggerProps & T>) => ReturnEl) & {
|
|
63
|
+
Text: typeof BaseTrigger.Text;
|
|
64
|
+
Addon: typeof BaseTrigger.Addon;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
declare const LinkTrigger: (<T>(props: CProps<ILinkTriggerProps & T>) => ReturnEl) & {
|
|
68
|
+
Text: typeof BaseTrigger.Text;
|
|
69
|
+
Addon: typeof BaseTrigger.Addon;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
declare const FilterTrigger: (<T>(props: CProps<ILinkTriggerProps & T>) => ReturnEl) & {
|
|
73
|
+
Text: typeof BaseTrigger.Text;
|
|
74
|
+
Addon: typeof BaseTrigger.Addon;
|
|
75
|
+
Counter: <T>(
|
|
76
|
+
props: ComponentProps<typeof BaseTrigger.Addon> & ComponentProps<typeof Dot> & T,
|
|
77
|
+
) => ReturnEl;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
export default BaseTrigger;
|
|
81
|
+
export { ButtonTrigger, LinkTrigger, FilterTrigger };
|
package/lib/es6/index.js
CHANGED
|
@@ -2,7 +2,4 @@ export { default } from './BaseTrigger';
|
|
|
2
2
|
export { default as ButtonTrigger } from './ButtonTrigger';
|
|
3
3
|
export { default as FilterTrigger } from './FilterTrigger';
|
|
4
4
|
export { default as LinkTrigger } from './LinkTrigger';
|
|
5
|
-
export * from './BaseTrigger';
|
|
6
|
-
export * from './FilterTrigger';
|
|
7
|
-
export * from './LinkTrigger';
|
|
8
5
|
//# sourceMappingURL=index.js.map
|
package/lib/es6/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.js"],"names":["default","ButtonTrigger","FilterTrigger","LinkTrigger"],"mappings":"AAAA,SAASA,OAAT,QAAwB,eAAxB;AACA,SAASA,OAAO,IAAIC,aAApB,QAAyC,iBAAzC;AACA,SAASD,OAAO,IAAIE,aAApB,QAAyC,iBAAzC;AACA,SAASF,OAAO,IAAIG,WAApB,QAAuC,eAAvC
|
|
1
|
+
{"version":3,"sources":["../../src/index.js"],"names":["default","ButtonTrigger","FilterTrigger","LinkTrigger"],"mappings":"AAAA,SAASA,OAAT,QAAwB,eAAxB;AACA,SAASA,OAAO,IAAIC,aAApB,QAAyC,iBAAzC;AACA,SAASD,OAAO,IAAIE,aAApB,QAAyC,iBAAzC;AACA,SAASF,OAAO,IAAIG,WAApB,QAAuC,eAAvC","sourcesContent":["export { default } from './BaseTrigger';\nexport { default as ButtonTrigger } from './ButtonTrigger';\nexport { default as FilterTrigger } from './FilterTrigger';\nexport { default as LinkTrigger } from './LinkTrigger';\n"],"file":"index.js"}
|
|
@@ -20,12 +20,14 @@ SBaseTrigger {
|
|
|
20
20
|
outline: 0;
|
|
21
21
|
text-align: center;
|
|
22
22
|
vertical-align: middle;
|
|
23
|
-
font-family:
|
|
23
|
+
font-family: Inter, sans-serif;
|
|
24
24
|
cursor: pointer;
|
|
25
25
|
|
|
26
|
-
border: 1px solid var(--stone);
|
|
27
26
|
background: #ffffff;
|
|
28
|
-
|
|
27
|
+
|
|
28
|
+
font-weight: 400;
|
|
29
|
+
border: 1px solid var(--gray-200);
|
|
30
|
+
color: var(--gray-800);
|
|
29
31
|
|
|
30
32
|
&::-moz-focus-inner {
|
|
31
33
|
border: none;
|
|
@@ -40,14 +42,17 @@ SBaseTrigger {
|
|
|
40
42
|
}
|
|
41
43
|
|
|
42
44
|
&[keyboardFocused] {
|
|
43
|
-
border: 1px solid var(--
|
|
44
|
-
box-shadow: var(--
|
|
45
|
+
border: 1px solid var(--blue-400);
|
|
46
|
+
box-shadow: var(--keyboard-focus);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&:hover {
|
|
50
|
+
background-color: color-mod(var(--gray-400) a(20%));
|
|
45
51
|
}
|
|
46
52
|
|
|
47
53
|
&:active,
|
|
48
|
-
&:hover,
|
|
49
54
|
&[active] {
|
|
50
|
-
background-color: color-mod(var(--
|
|
55
|
+
background-color: color-mod(var(--gray-400) a(30%));
|
|
51
56
|
}
|
|
52
57
|
}
|
|
53
58
|
|
|
@@ -75,7 +80,7 @@ SText {
|
|
|
75
80
|
overflow: hidden;
|
|
76
81
|
white-space: nowrap;
|
|
77
82
|
text-overflow: ellipsis;
|
|
78
|
-
line-height:
|
|
83
|
+
line-height: var(--lh-200);
|
|
79
84
|
flex-grow: 1;
|
|
80
85
|
text-align: left;
|
|
81
86
|
}
|
|
@@ -92,51 +97,20 @@ SBaseAddon {
|
|
|
92
97
|
height: 12px;
|
|
93
98
|
}
|
|
94
99
|
|
|
95
|
-
SBaseTrigger[size='s'] {
|
|
96
|
-
height: 18px;
|
|
97
|
-
min-width: 18px;
|
|
98
|
-
border-radius: 2px;
|
|
99
|
-
font-size: 10px;
|
|
100
|
-
|
|
101
|
-
& SText {
|
|
102
|
-
margin-left: 4px;
|
|
103
|
-
margin-right: 4px;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
& SAddon {
|
|
107
|
-
&:not(:only-child):first-child {
|
|
108
|
-
margin-left: 4px;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
&:not(:only-child):last-child {
|
|
112
|
-
margin-right: 4px;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
&:only-child {
|
|
116
|
-
margin-left: -2px;
|
|
117
|
-
margin-right: -2px;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
100
|
SBaseTrigger[size='m'] {
|
|
123
|
-
height: 26px;
|
|
124
101
|
min-width: 26px;
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
margin-left: 8px;
|
|
130
|
-
margin-right: 8px;
|
|
131
|
-
}
|
|
102
|
+
height: 28px;
|
|
103
|
+
border-radius: var(--rounded-m);
|
|
104
|
+
padding: 0 8px;
|
|
105
|
+
font-size: var(--fs-200);
|
|
132
106
|
|
|
133
107
|
& SAddon {
|
|
134
108
|
&:not(:only-child):first-child {
|
|
135
|
-
margin-
|
|
109
|
+
margin-right: 8px;
|
|
136
110
|
}
|
|
137
111
|
|
|
138
112
|
&:not(:only-child):last-child {
|
|
139
|
-
margin-
|
|
113
|
+
margin-left: 8px;
|
|
140
114
|
}
|
|
141
115
|
|
|
142
116
|
&:only-child {
|
|
@@ -147,23 +121,19 @@ SBaseTrigger[size='m'] {
|
|
|
147
121
|
}
|
|
148
122
|
|
|
149
123
|
SBaseTrigger[size='l'] {
|
|
150
|
-
height: 32px;
|
|
151
124
|
min-width: 32px;
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
margin-left: 8px;
|
|
157
|
-
margin-right: 8px;
|
|
158
|
-
}
|
|
125
|
+
height: 40px;
|
|
126
|
+
border-radius: var(--rounded-m);
|
|
127
|
+
padding: 0 12px;
|
|
128
|
+
font-size: var(--fs-300);
|
|
159
129
|
|
|
160
130
|
& SAddon {
|
|
161
131
|
&:not(:only-child):first-child {
|
|
162
|
-
margin-
|
|
132
|
+
margin-right: 8px;
|
|
163
133
|
}
|
|
164
134
|
|
|
165
135
|
&:not(:only-child):last-child {
|
|
166
|
-
margin-
|
|
136
|
+
margin-left: 8px;
|
|
167
137
|
}
|
|
168
138
|
|
|
169
139
|
&:only-child {
|
|
@@ -173,33 +143,6 @@ SBaseTrigger[size='l'] {
|
|
|
173
143
|
}
|
|
174
144
|
}
|
|
175
145
|
|
|
176
|
-
SBaseTrigger[size='xl'] {
|
|
177
|
-
height: 42px;
|
|
178
|
-
min-width: 42px;
|
|
179
|
-
border-radius: 5px;
|
|
180
|
-
font-size: 16px;
|
|
181
|
-
|
|
182
|
-
& SText {
|
|
183
|
-
margin-left: 12px;
|
|
184
|
-
margin-right: 12px;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
& SAddon {
|
|
188
|
-
&:not(:only-child):first-child {
|
|
189
|
-
margin-left: 12px;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
&:not(:only-child):last-child {
|
|
193
|
-
margin-right: 12px;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
&:only-child {
|
|
197
|
-
margin-left: -6px;
|
|
198
|
-
margin-right: -6px;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
|
|
203
146
|
SBaseTrigger[neighborLocation='right'] {
|
|
204
147
|
border-top-right-radius: 0;
|
|
205
148
|
border-bottom-right-radius: 0;
|
|
@@ -217,22 +160,22 @@ SBaseTrigger[neighborLocation='left'] {
|
|
|
217
160
|
}
|
|
218
161
|
|
|
219
162
|
SText[placeholder] {
|
|
220
|
-
color: var(--
|
|
163
|
+
color: var(--gray-300);
|
|
221
164
|
}
|
|
222
165
|
|
|
223
166
|
SBaseTrigger[state='normal'] {
|
|
224
|
-
border-color: var(--
|
|
167
|
+
border-color: var(--gray-200);
|
|
225
168
|
}
|
|
226
169
|
|
|
227
170
|
SBaseTrigger[state='valid'] {
|
|
228
|
-
border-color: var(--green);
|
|
171
|
+
border-color: var(--green-200);
|
|
229
172
|
}
|
|
230
173
|
|
|
231
174
|
SBaseTrigger[state='invalid'] {
|
|
232
|
-
border-color: var(--
|
|
175
|
+
border-color: var(--red-200);
|
|
233
176
|
|
|
234
177
|
&[keyboardFocused] {
|
|
235
|
-
border-color: var(--orange);
|
|
236
|
-
box-shadow: 0 0 0 3px color-mod(var(--orange) a(30%));
|
|
178
|
+
border-color: var(--orange-400);
|
|
179
|
+
box-shadow: 0 0 0 3px color-mod(var(--orange-400) a(30%));
|
|
237
180
|
}
|
|
238
181
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
@import '@semcore/utils/style/var.css';
|
|
2
2
|
|
|
3
3
|
SButtonTrigger {
|
|
4
|
-
border: 1px solid var(--
|
|
4
|
+
border: 1px solid var(--gray-200);
|
|
5
5
|
background: #ffffff;
|
|
6
|
-
color: var(--
|
|
6
|
+
color: var(--gray-800);
|
|
7
7
|
|
|
8
8
|
&::-moz-focus-inner {
|
|
9
9
|
border: none;
|
|
@@ -20,61 +20,48 @@ SButtonTrigger {
|
|
|
20
20
|
&:active,
|
|
21
21
|
&:hover,
|
|
22
22
|
&[active] {
|
|
23
|
-
background-color: color-mod(var(--
|
|
23
|
+
background-color: color-mod(var(--gray-400) a(20%));
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
SButtonTrigger[size='s'] {
|
|
28
|
-
height: 18px;
|
|
29
|
-
min-width: 18px;
|
|
30
|
-
border-radius: 2px;
|
|
31
|
-
font-size: 10px;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
27
|
SButtonTrigger[size='m'] {
|
|
35
|
-
height: 26px;
|
|
36
28
|
min-width: 26px;
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
height: 28px;
|
|
30
|
+
border-radius: var(--rounded-m);
|
|
31
|
+
font-size: var(--fs-200);
|
|
39
32
|
}
|
|
40
33
|
|
|
41
34
|
SButtonTrigger[size='l'] {
|
|
42
|
-
height: 32px;
|
|
43
35
|
min-width: 32px;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
SButtonTrigger[size='xl'] {
|
|
49
|
-
height: 42px;
|
|
50
|
-
min-width: 42px;
|
|
51
|
-
border-radius: 5px;
|
|
52
|
-
font-size: 16px;
|
|
36
|
+
height: 40px;
|
|
37
|
+
border-radius: var(--rounded-m);
|
|
38
|
+
font-size: var(--fs-300);
|
|
53
39
|
}
|
|
54
40
|
|
|
55
41
|
SText[placeholder] {
|
|
56
|
-
color: var(--
|
|
42
|
+
color: var(--gray-300);
|
|
57
43
|
}
|
|
58
44
|
|
|
59
45
|
SButtonTrigger[state='normal'] {
|
|
60
|
-
border-color: var(--
|
|
46
|
+
border-color: var(--gray-200);
|
|
61
47
|
}
|
|
62
48
|
|
|
63
49
|
SButtonTrigger[state='valid'] {
|
|
64
|
-
border-color: var(--green);
|
|
50
|
+
border-color: var(--green-200);
|
|
65
51
|
}
|
|
66
52
|
|
|
67
53
|
SButtonTrigger[state='invalid'] {
|
|
68
|
-
border-color: var(--
|
|
54
|
+
border-color: var(--red-200);
|
|
69
55
|
}
|
|
70
56
|
|
|
71
57
|
SFilterTrigger[selected] {
|
|
72
|
-
border-color: var(--
|
|
73
|
-
background-color: color-mod(var(--
|
|
58
|
+
border-color: var(--blue-400);
|
|
59
|
+
background-color: color-mod(var(--blue-400) a(20%));
|
|
60
|
+
color: var(--gray-800);
|
|
74
61
|
|
|
75
62
|
&[active],
|
|
76
63
|
&:hover {
|
|
77
|
-
background: color-mod(var(--
|
|
64
|
+
background: color-mod(var(--blue-400) a(30%));
|
|
78
65
|
}
|
|
79
66
|
}
|
|
80
67
|
|
|
@@ -87,9 +74,9 @@ SWrapper {
|
|
|
87
74
|
}
|
|
88
75
|
|
|
89
76
|
SWrapper[keyboardFocused] {
|
|
90
|
-
box-shadow: var(--
|
|
77
|
+
box-shadow: var(--keyboard-focus);
|
|
91
78
|
}
|
|
92
79
|
|
|
93
80
|
SCounter {
|
|
94
|
-
background-color: var(--
|
|
81
|
+
background-color: var(--blue-400);
|
|
95
82
|
}
|
|
@@ -17,19 +17,16 @@ SLinkTrigger {
|
|
|
17
17
|
overflow: visible;
|
|
18
18
|
outline: 0;
|
|
19
19
|
vertical-align: middle;
|
|
20
|
-
font-family:
|
|
20
|
+
font-family: Inter, sans-serif;
|
|
21
21
|
cursor: pointer;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
SLinkTrigger {
|
|
25
|
-
color: var(--denim-blue);
|
|
22
|
+
color: var(--blue-500);
|
|
26
23
|
background: none;
|
|
27
24
|
transition: color 0.15s ease-in-out;
|
|
28
25
|
|
|
29
26
|
&[active],
|
|
30
27
|
&:hover,
|
|
31
28
|
&:active {
|
|
32
|
-
color:
|
|
29
|
+
color: var(--blue-600);
|
|
33
30
|
|
|
34
31
|
& SText {
|
|
35
32
|
border-color: currentColor;
|
|
@@ -41,6 +38,7 @@ SLinkTrigger {
|
|
|
41
38
|
border-bottom-style: solid;
|
|
42
39
|
border-color: transparent;
|
|
43
40
|
transition: border-bottom-color 0.15s ease-in-out;
|
|
41
|
+
line-height: var(--lh-200);
|
|
44
42
|
}
|
|
45
43
|
}
|
|
46
44
|
|
|
@@ -59,7 +57,7 @@ SLinkTrigger[disabled] {
|
|
|
59
57
|
}
|
|
60
58
|
|
|
61
59
|
SLinkTrigger[keyboardFocused] {
|
|
62
|
-
box-shadow: var(--
|
|
60
|
+
box-shadow: var(--keyboard-focus);
|
|
63
61
|
z-index: 1;
|
|
64
62
|
}
|
|
65
63
|
|
|
@@ -80,24 +78,16 @@ SLinkAddon {
|
|
|
80
78
|
}
|
|
81
79
|
|
|
82
80
|
SLinkAddon {
|
|
83
|
-
width:
|
|
84
|
-
height:
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
SLinkTrigger[size='s'] {
|
|
88
|
-
font-size: 10px;
|
|
81
|
+
width: 16px;
|
|
82
|
+
height: 16px;
|
|
89
83
|
}
|
|
90
84
|
|
|
91
85
|
SLinkTrigger[size='m'] {
|
|
92
|
-
font-size:
|
|
86
|
+
font-size: var(--fs-200);
|
|
93
87
|
}
|
|
94
88
|
|
|
95
89
|
SLinkTrigger[size='l'] {
|
|
96
|
-
font-size:
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
SLinkTrigger[size='xl'] {
|
|
100
|
-
font-size: 16px;
|
|
90
|
+
font-size: var(--fs-300);
|
|
101
91
|
}
|
|
102
92
|
|
|
103
93
|
@media (prefers-reduced-motion) {
|
package/lib/types/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/base-trigger",
|
|
3
3
|
"description": "SEMRush BaseTrigger Component",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "3.0.0",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@semcore/utils": "^3.15",
|
|
17
|
-
"@semcore/dot": "^
|
|
17
|
+
"@semcore/dot": "^4.0.0",
|
|
18
18
|
"@semcore/flex-box": "^4",
|
|
19
19
|
"@semcore/icon": "^2.16",
|
|
20
20
|
"@semcore/neighbor-location": "^2",
|
|
@@ -31,5 +31,8 @@
|
|
|
31
31
|
"type": "git",
|
|
32
32
|
"url": "https://github.com/semrush/intergalactic.git",
|
|
33
33
|
"directory": "semcore/base-trigger"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@semcore/jest-preset-ui": "1.0.0"
|
|
34
37
|
}
|
|
35
38
|
}
|
package/src/ButtonTrigger.jsx
CHANGED
|
@@ -13,13 +13,14 @@ class RootButtonTrigger extends Component {
|
|
|
13
13
|
|
|
14
14
|
render() {
|
|
15
15
|
const SButtonAddon = ButtonTrigger.Addon;
|
|
16
|
+
const SButtonTriggerSpin = Spin;
|
|
16
17
|
const { Children, styles, loading } = this.asProps;
|
|
17
18
|
|
|
18
19
|
return sstyled(styles)(
|
|
19
20
|
<Root render={BaseTrigger}>
|
|
20
21
|
{addonTextChildren(Children, ButtonTrigger.Text, ButtonTrigger.Addon)}
|
|
21
22
|
<SButtonAddon>
|
|
22
|
-
{loading ? <
|
|
23
|
+
{loading ? <SButtonTriggerSpin size="xs" theme={false} /> : <ChevronDown />}
|
|
23
24
|
</SButtonAddon>
|
|
24
25
|
</Root>,
|
|
25
26
|
);
|
package/src/index.d.ts
CHANGED
package/src/index.js
CHANGED
|
@@ -2,6 +2,3 @@ export { default } from './BaseTrigger';
|
|
|
2
2
|
export { default as ButtonTrigger } from './ButtonTrigger';
|
|
3
3
|
export { default as FilterTrigger } from './FilterTrigger';
|
|
4
4
|
export { default as LinkTrigger } from './LinkTrigger';
|
|
5
|
-
export * from './BaseTrigger';
|
|
6
|
-
export * from './FilterTrigger';
|
|
7
|
-
export * from './LinkTrigger';
|