@semcore/base-trigger 17.0.0-prerelease.37 → 17.0.0-prerelease.42

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,10 +2,11 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [17.0.0] - 2026-04-13
5
+ ## [17.0.0] - 2026-04-15
6
6
 
7
7
  ### BREAK
8
8
 
9
+ - Removed old implementation for the `LinkTrigger`. This is a wrapper for the `ButtonLink` now.
9
10
  - New major version.
10
11
 
11
12
  ### Changed
@@ -9,6 +9,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
9
9
  var _core = require("@semcore/core");
10
10
  var _button = require("@semcore/button");
11
11
  var _addonTextChildren = _interopRequireDefault(require("@semcore/core/lib/utils/addonTextChildren"));
12
+ var _findComponent = require("@semcore/core/lib/utils/findComponent");
13
+ var _l = _interopRequireDefault(require("@semcore/icon/ChevronDown/l"));
12
14
  var _m = _interopRequireDefault(require("@semcore/icon/ChevronDown/m"));
13
15
  var _spin = _interopRequireDefault(require("@semcore/spin"));
14
16
  var _react = _interopRequireDefault(require("react"));
@@ -16,12 +18,17 @@ class RootLinkTrigger extends _core.Component {
16
18
  getTextProps(props) {
17
19
  const {
18
20
  placeholder,
19
- empty
21
+ empty,
22
+ Children,
23
+ size
20
24
  } = this.asProps;
21
25
  const content = empty ? placeholder : props.children;
26
+ const addons = (0, _findComponent.findAllComponents)(Children, [LinkTrigger.Addon.displayName]);
27
+ const addonWidth = size >= 600 ? 28 : 20;
22
28
  return {
23
29
  'use:children': content,
24
- empty
30
+ empty,
31
+ 'w': `calc(100% - ${addonWidth * (addons.length + 1)}px)`
25
32
  };
26
33
  }
27
34
  render() {
@@ -32,14 +39,15 @@ class RootLinkTrigger extends _core.Component {
32
39
  Children,
33
40
  loading,
34
41
  empty,
35
- disabled
42
+ disabled,
43
+ size
36
44
  } = this.asProps;
37
45
  return /*#__PURE__*/_react.default.createElement(SLinkTrigger, (0, _core.assignProps)({
38
46
  "use:disabled": disabled || loading
39
47
  }, _ref), (0, _addonTextChildren.default)(Children, LinkTrigger.Text, LinkTrigger.Addon, empty), /*#__PURE__*/_react.default.createElement(SLinkAddon, null, loading ? /*#__PURE__*/_react.default.createElement(_spin.default, {
40
- size: "xs",
48
+ size: size >= 600 ? 's' : 'xs',
41
49
  theme: "currentColor"
42
- }) : /*#__PURE__*/_react.default.createElement(_m.default, null)));
50
+ }) : size >= 600 ? /*#__PURE__*/_react.default.createElement(_l.default, null) : /*#__PURE__*/_react.default.createElement(_m.default, null)));
43
51
  }
44
52
  }
45
53
  (0, _defineProperty2.default)(RootLinkTrigger, "displayName", 'LinkTrigger');
@@ -1 +1 @@
1
- {"version":3,"file":"LinkTrigger.js","names":["_core","require","_button","_addonTextChildren","_interopRequireDefault","_m","_spin","_react","RootLinkTrigger","Component","getTextProps","props","placeholder","empty","asProps","content","children","render","_ref","SLinkTrigger","ButtonLink","SLinkAddon","LinkTrigger","Addon","Children","loading","disabled","default","createElement","assignProps","addonTextChildren","Text","size","theme","_defineProperty2","createComponent","parent","_default","exports"],"sources":["../../src/LinkTrigger.jsx"],"sourcesContent":["import { ButtonLink } from '@semcore/button';\nimport { createComponent, Component, Root } from '@semcore/core';\nimport addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';\nimport ChevronDown from '@semcore/icon/ChevronDown/m';\nimport Spin from '@semcore/spin';\nimport React from 'react';\n\nclass RootLinkTrigger extends Component {\n static displayName = 'LinkTrigger';\n\n getTextProps(props) {\n const { placeholder, empty } = this.asProps;\n const content = empty ? placeholder : props.children;\n\n return {\n 'use:children': content,\n empty,\n };\n }\n\n render() {\n const SLinkTrigger = Root;\n const SLinkAddon = LinkTrigger.Addon;\n const { Children, loading, empty, disabled } = this.asProps;\n\n return (\n <SLinkTrigger\n render={ButtonLink}\n use:disabled={disabled || loading}\n >\n {addonTextChildren(Children, LinkTrigger.Text, LinkTrigger.Addon, empty)}\n <SLinkAddon>\n {loading ? <Spin size='xs' theme='currentColor' /> : <ChevronDown />}\n </SLinkAddon>\n </SLinkTrigger>\n );\n }\n}\n\nconst LinkTrigger = createComponent(RootLinkTrigger, {\n Text: ButtonLink.Text,\n Addon: ButtonLink.Addon,\n}, {\n parent: ButtonLink,\n});\n\nexport default LinkTrigger;\n"],"mappings":";;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AADA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,kBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,EAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,KAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,MAAA,GAAAH,sBAAA,CAAAH,OAAA;AAEA,MAAMO,eAAe,SAASC,eAAS,CAAC;EAGtCC,YAAYA,CAACC,KAAK,EAAE;IAClB,MAAM;MAAEC,WAAW;MAAEC;IAAM,CAAC,GAAG,IAAI,CAACC,OAAO;IAC3C,MAAMC,OAAO,GAAGF,KAAK,GAAGD,WAAW,GAAGD,KAAK,CAACK,QAAQ;IAEpD,OAAO;MACL,cAAc,EAAED,OAAO;MACvBF;IACF,CAAC;EACH;EAEAI,MAAMA,CAAA,EAAG;IAAA,IAAAC,IAAA,QAAAJ,OAAA;IACP,MAAMK,YAAY,GAMNC,kBAAU;IALtB,MAAMC,UAAU,GAAGC,WAAW,CAACC,KAAK;IACpC,MAAM;MAAEC,QAAQ;MAAEC,OAAO;MAAEZ,KAAK;MAAEa;IAAS,CAAC,GAAG,IAAI,CAACZ,OAAO;IAE3D,oBACEP,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACT,YAAY,MAAAnB,KAAA,CAAA6B,WAAA;MAAA,gBAEGH,QAAQ,IAAID;IAAO,GAAAP,IAAA,GAEhC,IAAAY,0BAAiB,EAACN,QAAQ,EAAEF,WAAW,CAACS,IAAI,EAAET,WAAW,CAACC,KAAK,EAAEV,KAAK,CAAC,eACxEN,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACP,UAAU,QACRI,OAAO,gBAAGlB,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACtB,KAAA,CAAAqB,OAAI;MAACK,IAAI,EAAC,IAAI;MAACC,KAAK,EAAC;IAAc,CAAE,CAAC,gBAAG1B,MAAA,CAAAoB,OAAA,CAAAC,aAAA,CAACvB,EAAA,CAAAsB,OAAW,MAAE,CACzD,CACA,CAAC;EAEnB;AACF;AAAC,IAAAO,gBAAA,CAAAP,OAAA,EA9BKnB,eAAe,iBACE,aAAa;AA+BpC,MAAMc,WAAW,GAAG,IAAAa,qBAAe,EAAC3B,eAAe,EAAE;EACnDuB,IAAI,EAAEX,kBAAU,CAACW,IAAI;EACrBR,KAAK,EAAEH,kBAAU,CAACG;AACpB,CAAC,EAAE;EACDa,MAAM,EAAEhB;AACV,CAAC,CAAC;AAAC,IAAAiB,QAAA,GAAAC,OAAA,CAAAX,OAAA,GAEYL,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"LinkTrigger.js","names":["_core","require","_button","_addonTextChildren","_interopRequireDefault","_findComponent","_l","_m","_spin","_react","RootLinkTrigger","Component","getTextProps","props","placeholder","empty","Children","size","asProps","content","children","addons","findAllComponents","LinkTrigger","Addon","displayName","addonWidth","length","render","_ref","SLinkTrigger","ButtonLink","SLinkAddon","loading","disabled","default","createElement","assignProps","addonTextChildren","Text","theme","_defineProperty2","createComponent","parent","_default","exports"],"sources":["../../src/LinkTrigger.jsx"],"sourcesContent":["import { ButtonLink } from '@semcore/button';\nimport { createComponent, Component, Root } from '@semcore/core';\nimport addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';\nimport { findAllComponents } from '@semcore/core/lib/utils/findComponent';\nimport ChevronDownL from '@semcore/icon/ChevronDown/l';\nimport ChevronDownM from '@semcore/icon/ChevronDown/m';\nimport Spin from '@semcore/spin';\nimport React from 'react';\n\nclass RootLinkTrigger extends Component {\n static displayName = 'LinkTrigger';\n\n getTextProps(props) {\n const { placeholder, empty, Children, size } = this.asProps;\n const content = empty ? placeholder : props.children;\n const addons = findAllComponents(Children, [LinkTrigger.Addon.displayName]);\n const addonWidth = size >= 600 ? 28 : 20;\n\n return {\n 'use:children': content,\n empty,\n 'w': `calc(100% - ${addonWidth * (addons.length + 1)}px)`,\n };\n }\n\n render() {\n const SLinkTrigger = Root;\n const SLinkAddon = LinkTrigger.Addon;\n const { Children, loading, empty, disabled, size } = this.asProps;\n\n return (\n <SLinkTrigger\n render={ButtonLink}\n use:disabled={disabled || loading}\n >\n {addonTextChildren(Children, LinkTrigger.Text, LinkTrigger.Addon, empty)}\n <SLinkAddon>\n {loading\n ? <Spin size={size >= 600 ? 's' : 'xs'} theme='currentColor' />\n : size >= 600 ? <ChevronDownL /> : <ChevronDownM />}\n </SLinkAddon>\n </SLinkTrigger>\n );\n }\n}\n\nconst LinkTrigger = createComponent(RootLinkTrigger, {\n Text: ButtonLink.Text,\n Addon: ButtonLink.Addon,\n}, {\n parent: ButtonLink,\n});\n\nexport default LinkTrigger;\n"],"mappings":";;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AADA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,kBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,EAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,EAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,KAAA,GAAAJ,sBAAA,CAAAH,OAAA;AACA,IAAAQ,MAAA,GAAAL,sBAAA,CAAAH,OAAA;AAEA,MAAMS,eAAe,SAASC,eAAS,CAAC;EAGtCC,YAAYA,CAACC,KAAK,EAAE;IAClB,MAAM;MAAEC,WAAW;MAAEC,KAAK;MAAEC,QAAQ;MAAEC;IAAK,CAAC,GAAG,IAAI,CAACC,OAAO;IAC3D,MAAMC,OAAO,GAAGJ,KAAK,GAAGD,WAAW,GAAGD,KAAK,CAACO,QAAQ;IACpD,MAAMC,MAAM,GAAG,IAAAC,gCAAiB,EAACN,QAAQ,EAAE,CAACO,WAAW,CAACC,KAAK,CAACC,WAAW,CAAC,CAAC;IAC3E,MAAMC,UAAU,GAAGT,IAAI,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE;IAExC,OAAO;MACL,cAAc,EAAEE,OAAO;MACvBJ,KAAK;MACL,GAAG,EAAE,eAAeW,UAAU,IAAIL,MAAM,CAACM,MAAM,GAAG,CAAC,CAAC;IACtD,CAAC;EACH;EAEAC,MAAMA,CAAA,EAAG;IAAA,IAAAC,IAAA,QAAAX,OAAA;IACP,MAAMY,YAAY,GAMNC,kBAAU;IALtB,MAAMC,UAAU,GAAGT,WAAW,CAACC,KAAK;IACpC,MAAM;MAAER,QAAQ;MAAEiB,OAAO;MAAElB,KAAK;MAAEmB,QAAQ;MAAEjB;IAAK,CAAC,GAAG,IAAI,CAACC,OAAO;IAEjE,oBACET,MAAA,CAAA0B,OAAA,CAAAC,aAAA,CAACN,YAAY,MAAA9B,KAAA,CAAAqC,WAAA;MAAA,gBAEGH,QAAQ,IAAID;IAAO,GAAAJ,IAAA,GAEhC,IAAAS,0BAAiB,EAACtB,QAAQ,EAAEO,WAAW,CAACgB,IAAI,EAAEhB,WAAW,CAACC,KAAK,EAAET,KAAK,CAAC,eACxEN,MAAA,CAAA0B,OAAA,CAAAC,aAAA,CAACJ,UAAU,QACRC,OAAO,gBACJxB,MAAA,CAAA0B,OAAA,CAAAC,aAAA,CAAC5B,KAAA,CAAA2B,OAAI;MAAClB,IAAI,EAAEA,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAK;MAACuB,KAAK,EAAC;IAAc,CAAE,CAAC,GAC7DvB,IAAI,IAAI,GAAG,gBAAGR,MAAA,CAAA0B,OAAA,CAAAC,aAAA,CAAC9B,EAAA,CAAA6B,OAAY,MAAE,CAAC,gBAAG1B,MAAA,CAAA0B,OAAA,CAAAC,aAAA,CAAC7B,EAAA,CAAA4B,OAAY,MAAE,CAC1C,CACA,CAAC;EAEnB;AACF;AAAC,IAAAM,gBAAA,CAAAN,OAAA,EAnCKzB,eAAe,iBACE,aAAa;AAoCpC,MAAMa,WAAW,GAAG,IAAAmB,qBAAe,EAAChC,eAAe,EAAE;EACnD6B,IAAI,EAAER,kBAAU,CAACQ,IAAI;EACrBf,KAAK,EAAEO,kBAAU,CAACP;AACpB,CAAC,EAAE;EACDmB,MAAM,EAAEZ;AACV,CAAC,CAAC;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAAV,OAAA,GAEYZ,WAAW","ignoreList":[]}
@@ -3,19 +3,26 @@ import { assignProps as _assignProps } from "@semcore/core";
3
3
  import { ButtonLink } from '@semcore/button';
4
4
  import { createComponent, Component, Root } from '@semcore/core';
5
5
  import addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';
6
- import ChevronDown from '@semcore/icon/ChevronDown/m';
6
+ import { findAllComponents } from '@semcore/core/lib/utils/findComponent';
7
+ import ChevronDownL from '@semcore/icon/ChevronDown/l';
8
+ import ChevronDownM from '@semcore/icon/ChevronDown/m';
7
9
  import Spin from '@semcore/spin';
8
10
  import React from 'react';
9
11
  class RootLinkTrigger extends Component {
10
12
  getTextProps(props) {
11
13
  const {
12
14
  placeholder,
13
- empty
15
+ empty,
16
+ Children,
17
+ size
14
18
  } = this.asProps;
15
19
  const content = empty ? placeholder : props.children;
20
+ const addons = findAllComponents(Children, [LinkTrigger.Addon.displayName]);
21
+ const addonWidth = size >= 600 ? 28 : 20;
16
22
  return {
17
23
  'use:children': content,
18
- empty
24
+ empty,
25
+ 'w': `calc(100% - ${addonWidth * (addons.length + 1)}px)`
19
26
  };
20
27
  }
21
28
  render() {
@@ -26,14 +33,15 @@ class RootLinkTrigger extends Component {
26
33
  Children,
27
34
  loading,
28
35
  empty,
29
- disabled
36
+ disabled,
37
+ size
30
38
  } = this.asProps;
31
39
  return /*#__PURE__*/React.createElement(SLinkTrigger, _assignProps({
32
40
  "use:disabled": disabled || loading
33
41
  }, _ref), addonTextChildren(Children, LinkTrigger.Text, LinkTrigger.Addon, empty), /*#__PURE__*/React.createElement(SLinkAddon, null, loading ? /*#__PURE__*/React.createElement(Spin, {
34
- size: "xs",
42
+ size: size >= 600 ? 's' : 'xs',
35
43
  theme: "currentColor"
36
- }) : /*#__PURE__*/React.createElement(ChevronDown, null)));
44
+ }) : size >= 600 ? /*#__PURE__*/React.createElement(ChevronDownL, null) : /*#__PURE__*/React.createElement(ChevronDownM, null)));
37
45
  }
38
46
  }
39
47
  _defineProperty(RootLinkTrigger, "displayName", 'LinkTrigger');
@@ -1 +1 @@
1
- {"version":3,"file":"LinkTrigger.js","names":["ButtonLink","createComponent","Component","Root","addonTextChildren","ChevronDown","Spin","React","RootLinkTrigger","getTextProps","props","placeholder","empty","asProps","content","children","render","_ref","SLinkTrigger","SLinkAddon","LinkTrigger","Addon","Children","loading","disabled","createElement","_assignProps","Text","size","theme","_defineProperty","parent"],"sources":["../../src/LinkTrigger.jsx"],"sourcesContent":["import { ButtonLink } from '@semcore/button';\nimport { createComponent, Component, Root } from '@semcore/core';\nimport addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';\nimport ChevronDown from '@semcore/icon/ChevronDown/m';\nimport Spin from '@semcore/spin';\nimport React from 'react';\n\nclass RootLinkTrigger extends Component {\n static displayName = 'LinkTrigger';\n\n getTextProps(props) {\n const { placeholder, empty } = this.asProps;\n const content = empty ? placeholder : props.children;\n\n return {\n 'use:children': content,\n empty,\n };\n }\n\n render() {\n const SLinkTrigger = Root;\n const SLinkAddon = LinkTrigger.Addon;\n const { Children, loading, empty, disabled } = this.asProps;\n\n return (\n <SLinkTrigger\n render={ButtonLink}\n use:disabled={disabled || loading}\n >\n {addonTextChildren(Children, LinkTrigger.Text, LinkTrigger.Addon, empty)}\n <SLinkAddon>\n {loading ? <Spin size='xs' theme='currentColor' /> : <ChevronDown />}\n </SLinkAddon>\n </SLinkTrigger>\n );\n }\n}\n\nconst LinkTrigger = createComponent(RootLinkTrigger, {\n Text: ButtonLink.Text,\n Addon: ButtonLink.Addon,\n}, {\n parent: ButtonLink,\n});\n\nexport default LinkTrigger;\n"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,eAAe,EAAEC,SAAS,EAAEC,IAAI,QAAQ,eAAe;AAChE,OAAOC,iBAAiB,MAAM,2CAA2C;AACzE,OAAOC,WAAW,MAAM,6BAA6B;AACrD,OAAOC,IAAI,MAAM,eAAe;AAChC,OAAOC,KAAK,MAAM,OAAO;AAEzB,MAAMC,eAAe,SAASN,SAAS,CAAC;EAGtCO,YAAYA,CAACC,KAAK,EAAE;IAClB,MAAM;MAAEC,WAAW;MAAEC;IAAM,CAAC,GAAG,IAAI,CAACC,OAAO;IAC3C,MAAMC,OAAO,GAAGF,KAAK,GAAGD,WAAW,GAAGD,KAAK,CAACK,QAAQ;IAEpD,OAAO;MACL,cAAc,EAAED,OAAO;MACvBF;IACF,CAAC;EACH;EAEAI,MAAMA,CAAA,EAAG;IAAA,IAAAC,IAAA,QAAAJ,OAAA;IACP,MAAMK,YAAY,GAMNlB,UAAU;IALtB,MAAMmB,UAAU,GAAGC,WAAW,CAACC,KAAK;IACpC,MAAM;MAAEC,QAAQ;MAAEC,OAAO;MAAEX,KAAK;MAAEY;IAAS,CAAC,GAAG,IAAI,CAACX,OAAO;IAE3D,oBACEN,KAAA,CAAAkB,aAAA,CAACP,YAAY,EAAAQ,YAAA;MAAA,gBAEGF,QAAQ,IAAID;IAAO,GAAAN,IAAA,GAEhCb,iBAAiB,CAACkB,QAAQ,EAAEF,WAAW,CAACO,IAAI,EAAEP,WAAW,CAACC,KAAK,EAAET,KAAK,CAAC,eACxEL,KAAA,CAAAkB,aAAA,CAACN,UAAU,QACRI,OAAO,gBAAGhB,KAAA,CAAAkB,aAAA,CAACnB,IAAI;MAACsB,IAAI,EAAC,IAAI;MAACC,KAAK,EAAC;IAAc,CAAE,CAAC,gBAAGtB,KAAA,CAAAkB,aAAA,CAACpB,WAAW,MAAE,CACzD,CACA,CAAC;EAEnB;AACF;AAACyB,eAAA,CA9BKtB,eAAe,iBACE,aAAa;AA+BpC,MAAMY,WAAW,GAAGnB,eAAe,CAACO,eAAe,EAAE;EACnDmB,IAAI,EAAE3B,UAAU,CAAC2B,IAAI;EACrBN,KAAK,EAAErB,UAAU,CAACqB;AACpB,CAAC,EAAE;EACDU,MAAM,EAAE/B;AACV,CAAC,CAAC;AAEF,eAAeoB,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"LinkTrigger.js","names":["ButtonLink","createComponent","Component","Root","addonTextChildren","findAllComponents","ChevronDownL","ChevronDownM","Spin","React","RootLinkTrigger","getTextProps","props","placeholder","empty","Children","size","asProps","content","children","addons","LinkTrigger","Addon","displayName","addonWidth","length","render","_ref","SLinkTrigger","SLinkAddon","loading","disabled","createElement","_assignProps","Text","theme","_defineProperty","parent"],"sources":["../../src/LinkTrigger.jsx"],"sourcesContent":["import { ButtonLink } from '@semcore/button';\nimport { createComponent, Component, Root } from '@semcore/core';\nimport addonTextChildren from '@semcore/core/lib/utils/addonTextChildren';\nimport { findAllComponents } from '@semcore/core/lib/utils/findComponent';\nimport ChevronDownL from '@semcore/icon/ChevronDown/l';\nimport ChevronDownM from '@semcore/icon/ChevronDown/m';\nimport Spin from '@semcore/spin';\nimport React from 'react';\n\nclass RootLinkTrigger extends Component {\n static displayName = 'LinkTrigger';\n\n getTextProps(props) {\n const { placeholder, empty, Children, size } = this.asProps;\n const content = empty ? placeholder : props.children;\n const addons = findAllComponents(Children, [LinkTrigger.Addon.displayName]);\n const addonWidth = size >= 600 ? 28 : 20;\n\n return {\n 'use:children': content,\n empty,\n 'w': `calc(100% - ${addonWidth * (addons.length + 1)}px)`,\n };\n }\n\n render() {\n const SLinkTrigger = Root;\n const SLinkAddon = LinkTrigger.Addon;\n const { Children, loading, empty, disabled, size } = this.asProps;\n\n return (\n <SLinkTrigger\n render={ButtonLink}\n use:disabled={disabled || loading}\n >\n {addonTextChildren(Children, LinkTrigger.Text, LinkTrigger.Addon, empty)}\n <SLinkAddon>\n {loading\n ? <Spin size={size >= 600 ? 's' : 'xs'} theme='currentColor' />\n : size >= 600 ? <ChevronDownL /> : <ChevronDownM />}\n </SLinkAddon>\n </SLinkTrigger>\n );\n }\n}\n\nconst LinkTrigger = createComponent(RootLinkTrigger, {\n Text: ButtonLink.Text,\n Addon: ButtonLink.Addon,\n}, {\n parent: ButtonLink,\n});\n\nexport default LinkTrigger;\n"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,eAAe,EAAEC,SAAS,EAAEC,IAAI,QAAQ,eAAe;AAChE,OAAOC,iBAAiB,MAAM,2CAA2C;AACzE,SAASC,iBAAiB,QAAQ,uCAAuC;AACzE,OAAOC,YAAY,MAAM,6BAA6B;AACtD,OAAOC,YAAY,MAAM,6BAA6B;AACtD,OAAOC,IAAI,MAAM,eAAe;AAChC,OAAOC,KAAK,MAAM,OAAO;AAEzB,MAAMC,eAAe,SAASR,SAAS,CAAC;EAGtCS,YAAYA,CAACC,KAAK,EAAE;IAClB,MAAM;MAAEC,WAAW;MAAEC,KAAK;MAAEC,QAAQ;MAAEC;IAAK,CAAC,GAAG,IAAI,CAACC,OAAO;IAC3D,MAAMC,OAAO,GAAGJ,KAAK,GAAGD,WAAW,GAAGD,KAAK,CAACO,QAAQ;IACpD,MAAMC,MAAM,GAAGf,iBAAiB,CAACU,QAAQ,EAAE,CAACM,WAAW,CAACC,KAAK,CAACC,WAAW,CAAC,CAAC;IAC3E,MAAMC,UAAU,GAAGR,IAAI,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE;IAExC,OAAO;MACL,cAAc,EAAEE,OAAO;MACvBJ,KAAK;MACL,GAAG,EAAE,eAAeU,UAAU,IAAIJ,MAAM,CAACK,MAAM,GAAG,CAAC,CAAC;IACtD,CAAC;EACH;EAEAC,MAAMA,CAAA,EAAG;IAAA,IAAAC,IAAA,QAAAV,OAAA;IACP,MAAMW,YAAY,GAMN5B,UAAU;IALtB,MAAM6B,UAAU,GAAGR,WAAW,CAACC,KAAK;IACpC,MAAM;MAAEP,QAAQ;MAAEe,OAAO;MAAEhB,KAAK;MAAEiB,QAAQ;MAAEf;IAAK,CAAC,GAAG,IAAI,CAACC,OAAO;IAEjE,oBACER,KAAA,CAAAuB,aAAA,CAACJ,YAAY,EAAAK,YAAA;MAAA,gBAEGF,QAAQ,IAAID;IAAO,GAAAH,IAAA,GAEhCvB,iBAAiB,CAACW,QAAQ,EAAEM,WAAW,CAACa,IAAI,EAAEb,WAAW,CAACC,KAAK,EAAER,KAAK,CAAC,eACxEL,KAAA,CAAAuB,aAAA,CAACH,UAAU,QACRC,OAAO,gBACJrB,KAAA,CAAAuB,aAAA,CAACxB,IAAI;MAACQ,IAAI,EAAEA,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,IAAK;MAACmB,KAAK,EAAC;IAAc,CAAE,CAAC,GAC7DnB,IAAI,IAAI,GAAG,gBAAGP,KAAA,CAAAuB,aAAA,CAAC1B,YAAY,MAAE,CAAC,gBAAGG,KAAA,CAAAuB,aAAA,CAACzB,YAAY,MAAE,CAC1C,CACA,CAAC;EAEnB;AACF;AAAC6B,eAAA,CAnCK1B,eAAe,iBACE,aAAa;AAoCpC,MAAMW,WAAW,GAAGpB,eAAe,CAACS,eAAe,EAAE;EACnDwB,IAAI,EAAElC,UAAU,CAACkC,IAAI;EACrBZ,KAAK,EAAEtB,UAAU,CAACsB;AACpB,CAAC,EAAE;EACDe,MAAM,EAAErC;AACV,CAAC,CAAC;AAEF,eAAeqB,WAAW","ignoreList":[]}
@@ -2,6 +2,8 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import { Component, assignProps, createComponent } from "@semcore/core";
3
3
  import { ButtonLink } from "@semcore/button";
4
4
  import addonTextChildren from "@semcore/core/lib/utils/addonTextChildren";
5
+ import { findAllComponents } from "@semcore/core/lib/utils/findComponent";
6
+ import ChevronDownL from "@semcore/icon/ChevronDown/l";
5
7
  import ChevronDown from "@semcore/icon/ChevronDown/m";
6
8
  import Spin from "@semcore/spin";
7
9
  import React from "react";
@@ -9,12 +11,17 @@ class RootLinkTrigger extends Component {
9
11
  getTextProps(props) {
10
12
  const {
11
13
  placeholder,
12
- empty
14
+ empty,
15
+ Children,
16
+ size
13
17
  } = this.asProps;
14
18
  const content = empty ? placeholder : props.children;
19
+ const addons = findAllComponents(Children, [LinkTrigger.Addon.displayName]);
20
+ const addonWidth = size >= 600 ? 28 : 20;
15
21
  return {
16
22
  "use:children": content,
17
- empty
23
+ empty,
24
+ "w": `calc(100% - ${addonWidth * (addons.length + 1)}px)`
18
25
  };
19
26
  }
20
27
  render() {
@@ -25,14 +32,15 @@ class RootLinkTrigger extends Component {
25
32
  Children,
26
33
  loading,
27
34
  empty,
28
- disabled
35
+ disabled,
36
+ size
29
37
  } = this.asProps;
30
38
  return /* @__PURE__ */ React.createElement(SLinkTrigger, assignProps({
31
39
  "use:disabled": disabled || loading
32
40
  }, _ref), addonTextChildren(Children, LinkTrigger.Text, LinkTrigger.Addon, empty), /* @__PURE__ */ React.createElement(SLinkAddon, null, loading ? /* @__PURE__ */ React.createElement(Spin, {
33
- size: "xs",
41
+ size: size >= 600 ? "s" : "xs",
34
42
  theme: "currentColor"
35
- }) : /* @__PURE__ */ React.createElement(ChevronDown, null)));
43
+ }) : size >= 600 ? /* @__PURE__ */ React.createElement(ChevronDownL, null) : /* @__PURE__ */ React.createElement(ChevronDown, null)));
36
44
  }
37
45
  }
38
46
  _defineProperty(RootLinkTrigger, "displayName", "LinkTrigger");
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/base-trigger",
3
3
  "description": "Semrush BaseTrigger Component",
4
- "version": "17.0.0-prerelease.37",
4
+ "version": "17.0.0-prerelease.42",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -9,16 +9,16 @@
9
9
  "author": "UI-kit team <ui-kit-team@semrush.com>",
10
10
  "license": "MIT",
11
11
  "exports": {
12
- "require": "./lib/cjs/index.js",
12
+ "types": "./lib/types/index.d.ts",
13
13
  "import": "./lib/esm/index.mjs",
14
- "types": "./lib/types/index.d.ts"
14
+ "require": "./lib/cjs/index.js"
15
15
  },
16
16
  "dependencies": {
17
- "@semcore/counter": "^17.0.0-prerelease.37",
18
- "@semcore/spin": "^17.0.0-prerelease.37",
19
- "@semcore/tooltip": "^17.0.0-prerelease.37",
20
- "@semcore/typography": "^17.0.0-prerelease.37",
21
- "@semcore/button": "^17.0.0-prerelease.37"
17
+ "@semcore/counter": "^17.0.0-prerelease.42",
18
+ "@semcore/spin": "^17.0.0-prerelease.42",
19
+ "@semcore/tooltip": "^17.0.0-prerelease.42",
20
+ "@semcore/typography": "^17.0.0-prerelease.42",
21
+ "@semcore/button": "^17.0.0-prerelease.42"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "@semcore/base-components": "^17.0.0 || ^17.0.0-0",
@@ -30,11 +30,11 @@
30
30
  "directory": "semcore/base-trigger"
31
31
  },
32
32
  "devDependencies": {
33
- "@semcore/core": "17.0.0-prerelease.37",
34
- "@semcore/base-components": "17.0.0-prerelease.37",
33
+ "@semcore/base-components": "17.0.0-prerelease.42",
34
+ "@semcore/core": "17.0.0-prerelease.42",
35
35
  "@semcore/testing-utils": "1.0.0",
36
- "@semcore/tooltip": "17.0.0-prerelease.37",
37
- "@semcore/icon": "16.7.2-prerelease.37"
36
+ "@semcore/tooltip": "17.0.0-prerelease.42",
37
+ "@semcore/icon": "17.0.0-prerelease.42"
38
38
  },
39
39
  "scripts": {
40
40
  "build": "pnpm semcore-builder --source=js && pnpm vite build"