globuswebcomponents 2.18.6 → 2.18.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. package/dist/cjs/{gb-accordion-card_78.cjs.entry.js → gb-accordion-card_87.cjs.entry.js} +3547 -39
  2. package/dist/cjs/globuscomponents.cjs.js +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/collection/assets/icons/bookmark-03/bulk/rounded.svg +4 -0
  5. package/dist/collection/assets/icons/bookmark-03/duotone/rounded.svg +4 -0
  6. package/dist/collection/assets/icons/bookmark-03/solid/rounded.svg +3 -0
  7. package/dist/collection/assets/icons/bookmark-03/solid/sharp.svg +3 -0
  8. package/dist/collection/assets/icons/bookmark-03/stroke/rounded.svg +3 -0
  9. package/dist/collection/assets/icons/bookmark-03/stroke/sharp.svg +3 -0
  10. package/dist/collection/assets/icons/bookmark-03/two-tone/rounded.svg +4 -0
  11. package/dist/collection/assets/icons/bookmark-add-02/bulk/rounded.svg +4 -0
  12. package/dist/collection/assets/icons/bookmark-add-02/duotone/rounded.svg +4 -0
  13. package/dist/collection/assets/icons/bookmark-add-02/solid/rounded.svg +4 -0
  14. package/dist/collection/assets/icons/bookmark-add-02/solid/sharp.svg +4 -0
  15. package/dist/collection/assets/icons/bookmark-add-02/stroke/rounded.svg +3 -0
  16. package/dist/collection/assets/icons/bookmark-add-02/stroke/sharp.svg +3 -0
  17. package/dist/collection/assets/icons/bookmark-add-02/two-tone/rounded.svg +4 -0
  18. package/dist/collection/assets/icons/bookmark-block-02/bulk/rounded.svg +4 -0
  19. package/dist/collection/assets/icons/bookmark-block-02/duotone/rounded.svg +4 -0
  20. package/dist/collection/assets/icons/bookmark-block-02/solid/rounded.svg +4 -0
  21. package/dist/collection/assets/icons/bookmark-block-02/solid/sharp.svg +4 -0
  22. package/dist/collection/assets/icons/bookmark-block-02/stroke/rounded.svg +3 -0
  23. package/dist/collection/assets/icons/bookmark-block-02/stroke/sharp.svg +3 -0
  24. package/dist/collection/assets/icons/bookmark-block-02/two-tone/rounded.svg +4 -0
  25. package/dist/collection/assets/icons/bookmark-minus-02/bulk/rounded.svg +4 -0
  26. package/dist/collection/assets/icons/bookmark-minus-02/duotone/rounded.svg +4 -0
  27. package/dist/collection/assets/icons/bookmark-minus-02/solid/rounded.svg +4 -0
  28. package/dist/collection/assets/icons/bookmark-minus-02/solid/sharp.svg +4 -0
  29. package/dist/collection/assets/icons/bookmark-minus-02/stroke/rounded.svg +3 -0
  30. package/dist/collection/assets/icons/bookmark-minus-02/stroke/sharp.svg +3 -0
  31. package/dist/collection/assets/icons/bookmark-minus-02/two-tone/rounded.svg +4 -0
  32. package/dist/collection/assets/icons/bookmark-remove-02/bulk/rounded.svg +4 -0
  33. package/dist/collection/assets/icons/bookmark-remove-02/duotone/rounded.svg +4 -0
  34. package/dist/collection/assets/icons/bookmark-remove-02/solid/rounded.svg +4 -0
  35. package/dist/collection/assets/icons/bookmark-remove-02/solid/sharp.svg +4 -0
  36. package/dist/collection/assets/icons/bookmark-remove-02/stroke/rounded.svg +3 -0
  37. package/dist/collection/assets/icons/bookmark-remove-02/stroke/sharp.svg +3 -0
  38. package/dist/collection/assets/icons/bookmark-remove-02/two-tone/rounded.svg +4 -0
  39. package/dist/collection/assets/icons/collections-bookmark/bulk/rounded.svg +5 -0
  40. package/dist/collection/assets/icons/collections-bookmark/duotone/rounded.svg +4 -0
  41. package/dist/collection/assets/icons/collections-bookmark/solid/rounded.svg +4 -0
  42. package/dist/collection/assets/icons/collections-bookmark/solid/sharp.svg +4 -0
  43. package/dist/collection/assets/icons/collections-bookmark/stroke/rounded.svg +3 -0
  44. package/dist/collection/assets/icons/collections-bookmark/stroke/sharp.svg +3 -0
  45. package/dist/collection/assets/icons/collections-bookmark/two-tone/rounded.svg +4 -0
  46. package/dist/collection/assets/icons/favourite/bulk/rounded.svg +4 -0
  47. package/dist/collection/assets/icons/favourite/duotone/rounded.svg +4 -0
  48. package/dist/collection/assets/icons/favourite/solid/rounded.svg +3 -0
  49. package/dist/collection/assets/icons/favourite/solid/sharp.svg +3 -0
  50. package/dist/collection/assets/icons/favourite/stroke/rounded.svg +3 -0
  51. package/dist/collection/assets/icons/favourite/stroke/sharp.svg +3 -0
  52. package/dist/collection/assets/icons/favourite/two-tone/rounded.svg +4 -0
  53. package/dist/collection/assets/icons/favourite-square/bulk/rounded.svg +4 -0
  54. package/dist/collection/assets/icons/favourite-square/duotone/rounded.svg +5 -0
  55. package/dist/collection/assets/icons/favourite-square/solid/rounded.svg +3 -0
  56. package/dist/collection/assets/icons/favourite-square/solid/sharp.svg +3 -0
  57. package/dist/collection/assets/icons/favourite-square/stroke/rounded.svg +3 -0
  58. package/dist/collection/assets/icons/favourite-square/stroke/sharp.svg +3 -0
  59. package/dist/collection/assets/icons/favourite-square/two-tone/rounded.svg +4 -0
  60. package/dist/collection/components/gb-button/gb-button.js +96 -31
  61. package/dist/collection/components/gb-button/gb-button.js.map +1 -1
  62. package/dist/collection/components/gb-button/gb-button.tsx +29 -17
  63. package/dist/collection/components/gb-button/readme.md +6 -5
  64. package/dist/collection/components/gb-sidebar/gb-sidebar.js +23 -23
  65. package/dist/collection/components/gb-sidebar/gb-sidebar.js.map +1 -1
  66. package/dist/collection/components/gb-table/gb-table.css +1 -0
  67. package/dist/collection/components/gb-table/gb-table.js +25 -14
  68. package/dist/collection/components/gb-table/gb-table.js.map +1 -1
  69. package/dist/components/gb-action-panel.js +1 -1
  70. package/dist/components/gb-approval-modal.js +2 -2
  71. package/dist/components/gb-button.js +1 -1
  72. package/dist/components/gb-checkbox-group-item.js +1 -1
  73. package/dist/components/gb-checkbox-group.js +2 -2
  74. package/dist/components/gb-comment.js +1 -1
  75. package/dist/components/gb-date-picker.js +1 -1
  76. package/dist/components/gb-detail-cell.js +1 -1
  77. package/dist/components/gb-empty-state.js +1 -1
  78. package/dist/components/gb-file-upload-item-base.js +1 -1
  79. package/dist/components/gb-file-upload.js +2 -2
  80. package/dist/components/gb-filter-button.js +1 -1
  81. package/dist/components/gb-filter-modal.js +1 -1
  82. package/dist/components/gb-header.js +4 -4
  83. package/dist/components/gb-input-dropdown-test.js +3 -3
  84. package/dist/components/gb-input-dropdown.js +1 -1
  85. package/dist/components/gb-input-field.js +1 -1
  86. package/dist/components/gb-modal-action.js +1 -1
  87. package/dist/components/gb-modal.js +2 -2
  88. package/dist/components/gb-notification-pane.js +1 -1
  89. package/dist/components/gb-pagination.js +1 -1
  90. package/dist/components/gb-password-button.js +1 -1
  91. package/dist/components/gb-prompt-modal.js +1 -1
  92. package/dist/components/gb-rich-text.js +5 -5
  93. package/dist/components/gb-sidebar.js +22 -22
  94. package/dist/components/gb-sidebar.js.map +1 -1
  95. package/dist/components/gb-table-header.js +1 -1
  96. package/dist/components/gb-table.js +1 -1
  97. package/dist/components/gb-toast.js +1 -1
  98. package/dist/components/gb-wysiwyg-toolbar.js +1 -1
  99. package/dist/components/{p-BI0Ex54P.js → p-2-ReMaeh.js} +3 -3
  100. package/dist/components/{p-BI0Ex54P.js.map → p-2-ReMaeh.js.map} +1 -1
  101. package/dist/components/{p-WXjkXlUF.js → p-5qmO-l_B.js} +3 -3
  102. package/dist/components/{p-WXjkXlUF.js.map → p-5qmO-l_B.js.map} +1 -1
  103. package/dist/components/{p-By402klS.js → p-BK5yReBS.js} +3 -3
  104. package/dist/components/{p-By402klS.js.map → p-BK5yReBS.js.map} +1 -1
  105. package/dist/components/{p-CI0hL2FD.js → p-BlXVy-Sk.js} +6 -6
  106. package/dist/components/{p-CI0hL2FD.js.map → p-BlXVy-Sk.js.map} +1 -1
  107. package/dist/components/{p-DHXR9Sxk.js → p-Bl_5_lD7.js} +3 -3
  108. package/dist/components/{p-DHXR9Sxk.js.map → p-Bl_5_lD7.js.map} +1 -1
  109. package/dist/components/{p-D1fnUzqW.js → p-BwGYY38l.js} +34 -15
  110. package/dist/components/p-BwGYY38l.js.map +1 -0
  111. package/dist/components/{p-CTisVkYS.js → p-C-g-JRze.js} +3 -3
  112. package/dist/components/{p-CTisVkYS.js.map → p-C-g-JRze.js.map} +1 -1
  113. package/dist/components/{p-dJxSwAlJ.js → p-CE-hAyqa.js} +4 -4
  114. package/dist/components/{p-dJxSwAlJ.js.map → p-CE-hAyqa.js.map} +1 -1
  115. package/dist/components/{p-BiVW1b5P.js → p-CT9m_YAo.js} +5 -5
  116. package/dist/components/{p-BiVW1b5P.js.map → p-CT9m_YAo.js.map} +1 -1
  117. package/dist/components/{p-B2cesIns.js → p-CnyS0R-Z.js} +3 -3
  118. package/dist/components/{p-B2cesIns.js.map → p-CnyS0R-Z.js.map} +1 -1
  119. package/dist/components/{p-gCnf8M-P.js → p-D-ksQb0i.js} +7 -7
  120. package/dist/components/{p-gCnf8M-P.js.map → p-D-ksQb0i.js.map} +1 -1
  121. package/dist/components/{p-DTmhoRrl.js → p-D7yyPEXU.js} +6 -6
  122. package/dist/components/{p-DTmhoRrl.js.map → p-D7yyPEXU.js.map} +1 -1
  123. package/dist/components/{p-DIFK2uPX.js → p-D9K58rye.js} +3 -3
  124. package/dist/components/{p-DIFK2uPX.js.map → p-D9K58rye.js.map} +1 -1
  125. package/dist/components/{p-B-eg7Ble.js → p-DyUQxVF2.js} +3 -3
  126. package/dist/components/{p-B-eg7Ble.js.map → p-DyUQxVF2.js.map} +1 -1
  127. package/dist/components/{p-6aww0fa8.js → p-XLmf4Wa9.js} +4 -4
  128. package/dist/components/{p-6aww0fa8.js.map → p-XLmf4Wa9.js.map} +1 -1
  129. package/dist/components/{p-D9DcC7pf.js → p-kR-8qSSj.js} +39 -28
  130. package/dist/components/p-kR-8qSSj.js.map +1 -0
  131. package/dist/components/{p-jUlrLXgu.js → p-tlvcPh6E.js} +3 -3
  132. package/dist/components/{p-jUlrLXgu.js.map → p-tlvcPh6E.js.map} +1 -1
  133. package/dist/components/test-wrapper.js +12 -12
  134. package/dist/docs.json +152 -48
  135. package/dist/esm/{gb-accordion-card_78.entry.js → gb-accordion-card_87.entry.js} +3539 -40
  136. package/dist/esm/globuscomponents.js +1 -1
  137. package/dist/esm/loader.js +1 -1
  138. package/dist/globuscomponents/assets/icons/bookmark-03/bulk/rounded.svg +4 -0
  139. package/dist/globuscomponents/assets/icons/bookmark-03/duotone/rounded.svg +4 -0
  140. package/dist/globuscomponents/assets/icons/bookmark-03/solid/rounded.svg +3 -0
  141. package/dist/globuscomponents/assets/icons/bookmark-03/solid/sharp.svg +3 -0
  142. package/dist/globuscomponents/assets/icons/bookmark-03/stroke/rounded.svg +3 -0
  143. package/dist/globuscomponents/assets/icons/bookmark-03/stroke/sharp.svg +3 -0
  144. package/dist/globuscomponents/assets/icons/bookmark-03/two-tone/rounded.svg +4 -0
  145. package/dist/globuscomponents/assets/icons/bookmark-add-02/bulk/rounded.svg +4 -0
  146. package/dist/globuscomponents/assets/icons/bookmark-add-02/duotone/rounded.svg +4 -0
  147. package/dist/globuscomponents/assets/icons/bookmark-add-02/solid/rounded.svg +4 -0
  148. package/dist/globuscomponents/assets/icons/bookmark-add-02/solid/sharp.svg +4 -0
  149. package/dist/globuscomponents/assets/icons/bookmark-add-02/stroke/rounded.svg +3 -0
  150. package/dist/globuscomponents/assets/icons/bookmark-add-02/stroke/sharp.svg +3 -0
  151. package/dist/globuscomponents/assets/icons/bookmark-add-02/two-tone/rounded.svg +4 -0
  152. package/dist/globuscomponents/assets/icons/bookmark-block-02/bulk/rounded.svg +4 -0
  153. package/dist/globuscomponents/assets/icons/bookmark-block-02/duotone/rounded.svg +4 -0
  154. package/dist/globuscomponents/assets/icons/bookmark-block-02/solid/rounded.svg +4 -0
  155. package/dist/globuscomponents/assets/icons/bookmark-block-02/solid/sharp.svg +4 -0
  156. package/dist/globuscomponents/assets/icons/bookmark-block-02/stroke/rounded.svg +3 -0
  157. package/dist/globuscomponents/assets/icons/bookmark-block-02/stroke/sharp.svg +3 -0
  158. package/dist/globuscomponents/assets/icons/bookmark-block-02/two-tone/rounded.svg +4 -0
  159. package/dist/globuscomponents/assets/icons/bookmark-minus-02/bulk/rounded.svg +4 -0
  160. package/dist/globuscomponents/assets/icons/bookmark-minus-02/duotone/rounded.svg +4 -0
  161. package/dist/globuscomponents/assets/icons/bookmark-minus-02/solid/rounded.svg +4 -0
  162. package/dist/globuscomponents/assets/icons/bookmark-minus-02/solid/sharp.svg +4 -0
  163. package/dist/globuscomponents/assets/icons/bookmark-minus-02/stroke/rounded.svg +3 -0
  164. package/dist/globuscomponents/assets/icons/bookmark-minus-02/stroke/sharp.svg +3 -0
  165. package/dist/globuscomponents/assets/icons/bookmark-minus-02/two-tone/rounded.svg +4 -0
  166. package/dist/globuscomponents/assets/icons/bookmark-remove-02/bulk/rounded.svg +4 -0
  167. package/dist/globuscomponents/assets/icons/bookmark-remove-02/duotone/rounded.svg +4 -0
  168. package/dist/globuscomponents/assets/icons/bookmark-remove-02/solid/rounded.svg +4 -0
  169. package/dist/globuscomponents/assets/icons/bookmark-remove-02/solid/sharp.svg +4 -0
  170. package/dist/globuscomponents/assets/icons/bookmark-remove-02/stroke/rounded.svg +3 -0
  171. package/dist/globuscomponents/assets/icons/bookmark-remove-02/stroke/sharp.svg +3 -0
  172. package/dist/globuscomponents/assets/icons/bookmark-remove-02/two-tone/rounded.svg +4 -0
  173. package/dist/globuscomponents/assets/icons/collections-bookmark/bulk/rounded.svg +5 -0
  174. package/dist/globuscomponents/assets/icons/collections-bookmark/duotone/rounded.svg +4 -0
  175. package/dist/globuscomponents/assets/icons/collections-bookmark/solid/rounded.svg +4 -0
  176. package/dist/globuscomponents/assets/icons/collections-bookmark/solid/sharp.svg +4 -0
  177. package/dist/globuscomponents/assets/icons/collections-bookmark/stroke/rounded.svg +3 -0
  178. package/dist/globuscomponents/assets/icons/collections-bookmark/stroke/sharp.svg +3 -0
  179. package/dist/globuscomponents/assets/icons/collections-bookmark/two-tone/rounded.svg +4 -0
  180. package/dist/globuscomponents/assets/icons/favourite/bulk/rounded.svg +4 -0
  181. package/dist/globuscomponents/assets/icons/favourite/duotone/rounded.svg +4 -0
  182. package/dist/globuscomponents/assets/icons/favourite/solid/rounded.svg +3 -0
  183. package/dist/globuscomponents/assets/icons/favourite/solid/sharp.svg +3 -0
  184. package/dist/globuscomponents/assets/icons/favourite/stroke/rounded.svg +3 -0
  185. package/dist/globuscomponents/assets/icons/favourite/stroke/sharp.svg +3 -0
  186. package/dist/globuscomponents/assets/icons/favourite/two-tone/rounded.svg +4 -0
  187. package/dist/globuscomponents/assets/icons/favourite-square/bulk/rounded.svg +4 -0
  188. package/dist/globuscomponents/assets/icons/favourite-square/duotone/rounded.svg +5 -0
  189. package/dist/globuscomponents/assets/icons/favourite-square/solid/rounded.svg +3 -0
  190. package/dist/globuscomponents/assets/icons/favourite-square/solid/sharp.svg +3 -0
  191. package/dist/globuscomponents/assets/icons/favourite-square/stroke/rounded.svg +3 -0
  192. package/dist/globuscomponents/assets/icons/favourite-square/stroke/sharp.svg +3 -0
  193. package/dist/globuscomponents/assets/icons/favourite-square/two-tone/rounded.svg +4 -0
  194. package/dist/globuscomponents/gb-button.tsx +29 -17
  195. package/dist/globuscomponents/globuscomponents.esm.js +1 -1
  196. package/dist/globuscomponents/{p-72b3be60.entry.js → p-6e89b968.entry.js} +2 -2
  197. package/dist/globuscomponents/p-6e89b968.entry.js.map +1 -0
  198. package/dist/globuscomponents/readme.md +6 -5
  199. package/dist/types/components/gb-button/gb-button.d.ts +9 -10
  200. package/dist/types/components/gb-table/gb-table.d.ts +1 -0
  201. package/dist/types/components.d.ts +30 -22
  202. package/package.json +1 -1
  203. package/dist/cjs/gb-filter-modal.gb-pagination.gb-pagination-button-group-base.gb-pagination-number-base.gb-portal.gb-table-header.gb-toggle.gb-toggle-base.entry.cjs.js.map +0 -1
  204. package/dist/cjs/gb-filter-modal_8.cjs.entry.js +0 -2253
  205. package/dist/cjs/gb-table.cjs.entry.js +0 -1240
  206. package/dist/cjs/gb-table.entry.cjs.js.map +0 -1
  207. package/dist/components/p-D1fnUzqW.js.map +0 -1
  208. package/dist/components/p-D9DcC7pf.js.map +0 -1
  209. package/dist/esm/gb-filter-modal.gb-pagination.gb-pagination-button-group-base.gb-pagination-number-base.gb-portal.gb-table-header.gb-toggle.gb-toggle-base.entry.js.map +0 -1
  210. package/dist/esm/gb-filter-modal_8.entry.js +0 -2244
  211. package/dist/esm/gb-table.entry.js +0 -1238
  212. package/dist/esm/gb-table.entry.js.map +0 -1
  213. package/dist/globuscomponents/gb-filter-modal.gb-pagination.gb-pagination-button-group-base.gb-pagination-number-base.gb-portal.gb-table-header.gb-toggle.gb-toggle-base.entry.esm.js.map +0 -1
  214. package/dist/globuscomponents/gb-table.entry.esm.js.map +0 -1
  215. package/dist/globuscomponents/p-72b3be60.entry.js.map +0 -1
  216. package/dist/globuscomponents/p-7b3bf29c.entry.js +0 -2
  217. package/dist/globuscomponents/p-7b3bf29c.entry.js.map +0 -1
  218. package/dist/globuscomponents/p-dbc76ebb.entry.js +0 -2
  219. package/dist/globuscomponents/p-dbc76ebb.entry.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import { getAssetPath, h, Fragment } from "@stencil/core";
2
+ import { getIconPath } from "../../utils/icons";
2
3
  export class GbButton {
3
4
  constructor() {
4
5
  this.size = 'xl';
@@ -14,11 +15,14 @@ export class GbButton {
14
15
  this.arrow = 'bottom_center';
15
16
  this.event = false;
16
17
  this.rounded = false;
17
- this.iconLeadingStyle = '';
18
- this.iconLeadingType = '';
19
- this.iconTrailingStyle = '';
20
- this.iconTrailingType = '';
18
+ this.iconLeadingStyle = 'stroke';
19
+ this.iconLeadingType = 'rounded';
20
+ this.iconTrailingStyle = 'stroke';
21
+ this.iconTrailingType = 'rounded';
22
+ this.iconLeadingName = '';
23
+ this.iconTrailingName = '';
21
24
  this.fullWidth = true;
25
+ this.iconPath = '';
22
26
  this.leadingIconSvg = '';
23
27
  this.trailingIconSvg = '';
24
28
  this.internalButtonState = '';
@@ -32,11 +36,17 @@ export class GbButton {
32
36
  }
33
37
  componentWillLoad() {
34
38
  var _a;
35
- if (this.iconLeading && this.iconLeadingSwap) {
36
- this.loadIcon(this.iconLeadingSwap, 'leading');
39
+ if (this.iconLeadingSwap) {
40
+ this.loadIcon(this.iconLeadingSwap, 'leading', 'swap');
37
41
  }
38
- if (this.iconTrailing && this.iconTrailingSwap) {
39
- this.loadIcon(this.iconTrailingSwap, 'trailing');
42
+ else if (this.iconLeadingName) {
43
+ this.loadIcon(this.iconLeadingName, 'leading', 'name');
44
+ }
45
+ if (this.iconTrailingSwap) {
46
+ this.loadIcon(this.iconTrailingSwap, 'trailing', 'swap');
47
+ }
48
+ else if (this.iconTrailingName) {
49
+ this.loadIcon(this.iconTrailingName, 'trailing', 'name');
40
50
  }
41
51
  const buttonSlot = (_a = this.el) === null || _a === void 0 ? void 0 : _a.querySelector('p');
42
52
  if (this.state === 'loading') {
@@ -47,9 +57,16 @@ export class GbButton {
47
57
  buttonSlot.classList.add('nowrap');
48
58
  }
49
59
  }
50
- async loadIcon(iconName, type) {
51
- const iconPath = getAssetPath(`${iconName}`);
52
- const response = await fetch(iconPath);
60
+ async loadIcon(iconName, type, mode) {
61
+ if (mode === 'name') {
62
+ const style = type === 'leading' ? this.iconLeadingStyle : this.iconTrailingStyle;
63
+ const iconType = type === 'leading' ? this.iconLeadingType : this.iconTrailingType;
64
+ this.iconPath = getAssetPath(getIconPath(iconName, style, iconType));
65
+ }
66
+ else {
67
+ this.iconPath = getAssetPath(`${iconName}`);
68
+ }
69
+ const response = await fetch(this.iconPath);
53
70
  const svg = await response.text();
54
71
  if (type === 'leading') {
55
72
  this.leadingIconSvg = svg;
@@ -94,7 +111,7 @@ export class GbButton {
94
111
  this.buttonClicked.emit();
95
112
  }
96
113
  render() {
97
- return (h("div", { key: 'fd9dacc4a9e22b47faf99a8ff63c0655c2817149', class: `button_wrapper ${this.fullWidth ? 'full_width' : ''}`, onClick: () => this.emitButtonEvent() }, h("button", { key: '7f643aed374f2df3aab26476230ab87ced037953', disabled: this.state === 'disabled', class: this.getButtonClasses(), onMouseEnter: () => (this.tooltipShown = true), onMouseLeave: () => (this.tooltipShown = false) }, this.state === 'loading' && h("div", { key: 'a2057ee45cadbd314ef35f761e430b5ad83450e9', class: `loader ${this.hierarchy} ${this.size} ${this.icon} ${this.destructive ? 'destructive' : ''}` }), this.state !== 'loading' && (h(Fragment, null, this.iconLeading && this.icon === 'default' && this.renderLeadingIcon(), this.icon === 'default' && (h("div", { key: 'b5a28562daa46f120c1d11385b0aa09f82f3d6e0', class: `btn_text` }, h("slot", { key: '9a046982747755c6a652e7490dcf8c346f1a95d4' }))), this.iconTrailing && this.renderTrailingIcon(), this.icon === 'only' && this.renderLeadingIcon()))), this.tooltipText && this.icon === 'only' && this.tooltipShown && (h("gb-tooltip", { key: 'ce85fdaed53700e9318981fd219b40390c87ecd7', "show-arrow": true, arrow: this.arrow, class: `tooltip ${this.size}` }, h("p", { key: '3312175445c9981986ffd180e4bd44ac7efed89d', slot: "label" }, this.tooltipText)))));
114
+ return (h("div", { key: 'f456fd93837e9cf6162f8a009333b8fb05a68ec6', class: `button_wrapper ${this.fullWidth ? 'full_width' : ''}`, onClick: () => this.emitButtonEvent() }, h("button", { key: 'f4971fcf213f675d213dcdfa1daf0201ecd584d8', disabled: this.state === 'disabled', class: this.getButtonClasses(), onMouseEnter: () => (this.tooltipShown = true), onMouseLeave: () => (this.tooltipShown = false) }, this.state === 'loading' && h("div", { key: '95d2d607b600384ba07dfc3cac51bae7e8e6ef86', class: `loader ${this.hierarchy} ${this.size} ${this.icon} ${this.destructive ? 'destructive' : ''}` }), this.state !== 'loading' && (h(Fragment, null, this.iconLeading && this.icon === 'default' && this.renderLeadingIcon(), this.icon === 'default' && (h("div", { key: '6b8251dfd4507cbfc495f261bbca531b8c782954', class: `btn_text` }, h("slot", { key: 'c73983e48f284706c1219e2ab010aac8ac44be30' }))), this.iconTrailing && this.icon === 'default' && this.renderTrailingIcon(), this.icon === 'only' && this.renderLeadingIcon()))), this.tooltipText && this.icon === 'only' && this.tooltipShown && (h("gb-tooltip", { key: '5333f9805b40d1066e12d231953e906331b466c5', "show-arrow": true, arrow: this.arrow, class: `tooltip ${this.size}` }, h("p", { key: '387a4d8493d1c5fe0c15d8a3c7d2bd268dfd7376', slot: "label" }, this.tooltipText)))));
98
115
  }
99
116
  static get is() { return "gb-button"; }
100
117
  static get encapsulation() { return "shadow"; }
@@ -399,9 +416,15 @@ export class GbButton {
399
416
  "type": "string",
400
417
  "mutable": false,
401
418
  "complexType": {
402
- "original": "string",
403
- "resolved": "string",
404
- "references": {}
419
+ "original": "IconStyles",
420
+ "resolved": "\"bulk\" | \"duotone\" | \"solid\" | \"stroke\" | \"two-tone\"",
421
+ "references": {
422
+ "IconStyles": {
423
+ "location": "import",
424
+ "path": "../../models/reusableModels",
425
+ "id": "src/models/reusableModels.ts::IconStyles"
426
+ }
427
+ }
405
428
  },
406
429
  "required": false,
407
430
  "optional": false,
@@ -413,15 +436,21 @@ export class GbButton {
413
436
  "setter": false,
414
437
  "reflect": false,
415
438
  "attribute": "icon-leading-style",
416
- "defaultValue": "''"
439
+ "defaultValue": "'stroke'"
417
440
  },
418
441
  "iconLeadingType": {
419
442
  "type": "string",
420
443
  "mutable": false,
421
444
  "complexType": {
422
- "original": "string",
423
- "resolved": "string",
424
- "references": {}
445
+ "original": "IconTypes",
446
+ "resolved": "\"rounded\" | \"sharp\"",
447
+ "references": {
448
+ "IconTypes": {
449
+ "location": "import",
450
+ "path": "../../models/reusableModels",
451
+ "id": "src/models/reusableModels.ts::IconTypes"
452
+ }
453
+ }
425
454
  },
426
455
  "required": false,
427
456
  "optional": false,
@@ -433,15 +462,21 @@ export class GbButton {
433
462
  "setter": false,
434
463
  "reflect": false,
435
464
  "attribute": "icon-leading-type",
436
- "defaultValue": "''"
465
+ "defaultValue": "'rounded'"
437
466
  },
438
467
  "iconTrailingStyle": {
439
468
  "type": "string",
440
469
  "mutable": false,
441
470
  "complexType": {
442
- "original": "string",
443
- "resolved": "string",
444
- "references": {}
471
+ "original": "IconStyles",
472
+ "resolved": "\"bulk\" | \"duotone\" | \"solid\" | \"stroke\" | \"two-tone\"",
473
+ "references": {
474
+ "IconStyles": {
475
+ "location": "import",
476
+ "path": "../../models/reusableModels",
477
+ "id": "src/models/reusableModels.ts::IconStyles"
478
+ }
479
+ }
445
480
  },
446
481
  "required": false,
447
482
  "optional": false,
@@ -453,9 +488,35 @@ export class GbButton {
453
488
  "setter": false,
454
489
  "reflect": false,
455
490
  "attribute": "icon-trailing-style",
456
- "defaultValue": "''"
491
+ "defaultValue": "'stroke'"
457
492
  },
458
493
  "iconTrailingType": {
494
+ "type": "string",
495
+ "mutable": false,
496
+ "complexType": {
497
+ "original": "IconTypes",
498
+ "resolved": "\"rounded\" | \"sharp\"",
499
+ "references": {
500
+ "IconTypes": {
501
+ "location": "import",
502
+ "path": "../../models/reusableModels",
503
+ "id": "src/models/reusableModels.ts::IconTypes"
504
+ }
505
+ }
506
+ },
507
+ "required": false,
508
+ "optional": false,
509
+ "docs": {
510
+ "tags": [],
511
+ "text": ""
512
+ },
513
+ "getter": false,
514
+ "setter": false,
515
+ "reflect": false,
516
+ "attribute": "icon-trailing-type",
517
+ "defaultValue": "'rounded'"
518
+ },
519
+ "iconLeadingName": {
459
520
  "type": "string",
460
521
  "mutable": false,
461
522
  "complexType": {
@@ -472,25 +533,28 @@ export class GbButton {
472
533
  "getter": false,
473
534
  "setter": false,
474
535
  "reflect": false,
475
- "attribute": "icon-trailing-type",
536
+ "attribute": "icon-leading-name",
476
537
  "defaultValue": "''"
477
538
  },
478
- "iconConfig": {
479
- "type": "unknown",
539
+ "iconTrailingName": {
540
+ "type": "string",
480
541
  "mutable": false,
481
542
  "complexType": {
482
- "original": "{\r\n iconLeadingStyle: string,\r\n iconLeadingType: string\r\n }",
483
- "resolved": "{ iconLeadingStyle: string; iconLeadingType: string; }",
543
+ "original": "string",
544
+ "resolved": "string",
484
545
  "references": {}
485
546
  },
486
547
  "required": false,
487
- "optional": true,
548
+ "optional": false,
488
549
  "docs": {
489
550
  "tags": [],
490
551
  "text": ""
491
552
  },
492
553
  "getter": false,
493
- "setter": false
554
+ "setter": false,
555
+ "reflect": false,
556
+ "attribute": "icon-trailing-name",
557
+ "defaultValue": "''"
494
558
  },
495
559
  "fullWidth": {
496
560
  "type": "boolean",
@@ -516,6 +580,7 @@ export class GbButton {
516
580
  }
517
581
  static get states() {
518
582
  return {
583
+ "iconPath": {},
519
584
  "leadingIconSvg": {},
520
585
  "trailingIconSvg": {},
521
586
  "internalButtonState": {},
@@ -1 +1 @@
1
- {"version":3,"file":"gb-button.js","sourceRoot":"","sources":["../../../src/components/gb-button/gb-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, getAssetPath, h, Prop, State, Fragment, Method, Event, EventEmitter } from '@stencil/core';\r\nimport { ArrowPositions, GeneralHierarchies, GeneralSizes, StateType } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-button',\r\n styleUrl: 'gb-button.css',\r\n shadow: true,\r\n assetsDirs: [''],\r\n})\r\nexport class GbButton {\r\n @Prop() size: GeneralSizes = 'xl';\r\n @Prop() hierarchy: GeneralHierarchies = 'primary';\r\n @Prop() icon: 'default' | 'only' = 'default';\r\n @Prop() destructive: boolean = false;\r\n @Prop() state: StateType = 'default';\r\n @Prop() iconLeading: boolean = false;\r\n @Prop() iconLeadingSwap: string = '';\r\n @Prop() iconTrailing: boolean = false;\r\n @Prop() iconTrailingSwap: string = '';\r\n @Prop() tooltipText: string = '';\r\n @Prop() arrow: ArrowPositions = 'bottom_center';\r\n @Prop() event: boolean = false;\r\n @Prop() rounded: boolean = false;\r\n @Prop() iconLeadingStyle: string = '';\r\n @Prop() iconLeadingType: string = '';\r\n @Prop() iconTrailingStyle: string = '';\r\n @Prop() iconTrailingType: string = '';\r\n @Prop() iconConfig?: {\r\n iconLeadingStyle: string,\r\n iconLeadingType: string\r\n }\r\n @Prop() fullWidth: boolean = true;\r\n @Element() el: HTMLElement;\r\n @State() leadingIconSvg: string = '';\r\n @State() trailingIconSvg: string = '';\r\n @State() internalButtonState: string = '';\r\n @State() internalIconLeadingState: string = '';\r\n @State() internalIconTrailingState: string = '';\r\n @State() tooltipShown: boolean = false;\r\n @Event() buttonClicked: EventEmitter<void>;\r\n\r\n @Method()\r\n async getNativeButton(): Promise<HTMLButtonElement | null> {\r\n return this.el.shadowRoot.querySelector('button') ?? null;\r\n }\r\n\r\n componentWillLoad() {\r\n if (this.iconLeading && this.iconLeadingSwap) {\r\n this.loadIcon(this.iconLeadingSwap, 'leading');\r\n }\r\n if (this.iconTrailing && this.iconTrailingSwap) {\r\n this.loadIcon(this.iconTrailingSwap, 'trailing');\r\n }\r\n\r\n const buttonSlot = this.el?.querySelector('p');\r\n\r\n if (this.state === 'loading') {\r\n buttonSlot.style.display = 'none';\r\n }\r\n\r\n if (buttonSlot) {\r\n buttonSlot.classList.add(this.getButtonTextClasses() || '');\r\n buttonSlot.classList.add('nowrap');\r\n }\r\n }\r\n\r\n async loadIcon(iconName: string, type: 'leading' | 'trailing') {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n if (type === 'leading') {\r\n this.leadingIconSvg = svg;\r\n } else {\r\n this.trailingIconSvg = svg;\r\n }\r\n }\r\n\r\n // Helper to apply color styles based on the button state\r\n getButtonClasses() {\r\n return {\r\n button: true,\r\n [this.size]: true,\r\n [this.hierarchy]: true,\r\n destructive: this.destructive,\r\n disabled: this.state === 'disabled',\r\n only: this.icon === 'only',\r\n rounded: this.rounded && this.icon === 'only',\r\n };\r\n }\r\n\r\n getButtonTextClasses() {\r\n switch (this.size) {\r\n case 'xxl':\r\n return 'text-md-semi-bold';\r\n case 'xl':\r\n return 'text-md-semi-bold';\r\n case 'lg':\r\n return 'text-md-semi-bold';\r\n case 'md':\r\n return 'text-sm-semi-bold';\r\n case 'sm':\r\n return 'text-sm-semi-bold';\r\n }\r\n }\r\n\r\n renderLeadingIcon() {\r\n return <div class={`icon left-icon ${this.size}`} innerHTML={this.leadingIconSvg}></div>;\r\n }\r\n\r\n renderTrailingIcon() {\r\n return <div class=\"icon right-icon\" innerHTML={this.trailingIconSvg}></div>;\r\n }\r\n\r\n emitButtonEvent() {\r\n this.buttonClicked.emit();\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`button_wrapper ${this.fullWidth ? 'full_width' : ''}`} onClick={() => this.emitButtonEvent()}>\r\n <button\r\n disabled={this.state === 'disabled'}\r\n class={this.getButtonClasses()}\r\n onMouseEnter={() => (this.tooltipShown = true)}\r\n onMouseLeave={() => (this.tooltipShown = false)}\r\n >\r\n {this.state === 'loading' && <div class={`loader ${this.hierarchy} ${this.size} ${this.icon} ${this.destructive ? 'destructive' : ''}`}></div>}\r\n {this.state !== 'loading' && (\r\n <>\r\n {this.iconLeading && this.icon === 'default' && this.renderLeadingIcon()}\r\n {this.icon === 'default' && (\r\n <div class={`btn_text`}>\r\n <slot></slot>\r\n </div>\r\n )}\r\n {this.iconTrailing && this.renderTrailingIcon()}\r\n {this.icon === 'only' && this.renderLeadingIcon()}\r\n </>\r\n )}\r\n </button>\r\n {this.tooltipText && this.icon === 'only' && this.tooltipShown && (\r\n <gb-tooltip show-arrow={true} arrow={this.arrow} class={`tooltip ${this.size}`}>\r\n <p slot=\"label\">{this.tooltipText}</p>\r\n </gb-tooltip>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"gb-button.js","sourceRoot":"","sources":["../../../src/components/gb-button/gb-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, getAssetPath, h, Prop, State, Fragment, Method, Event, EventEmitter } from '@stencil/core';\r\nimport { ArrowPositions, GeneralHierarchies, GeneralSizes, IconStyles, IconTypes, StateType } from '../../models/reusableModels';\r\nimport { getIconPath } from '../../utils/icons';\r\n\r\n@Component({\r\n tag: 'gb-button',\r\n styleUrl: 'gb-button.css',\r\n shadow: true,\r\n assetsDirs: [''],\r\n})\r\nexport class GbButton {\r\n @Prop() size: GeneralSizes = 'xl';\r\n @Prop() hierarchy: GeneralHierarchies = 'primary';\r\n @Prop() icon: 'default' | 'only' = 'default';\r\n @Prop() destructive: boolean = false;\r\n @Prop() state: StateType = 'default';\r\n @Prop() iconLeading: boolean = false;\r\n @Prop() iconLeadingSwap: string = '';\r\n @Prop() iconTrailing: boolean = false;\r\n @Prop() iconTrailingSwap: string = '';\r\n @Prop() tooltipText: string = '';\r\n @Prop() arrow: ArrowPositions = 'bottom_center';\r\n @Prop() event: boolean = false;\r\n @Prop() rounded: boolean = false;\r\n @Prop() iconLeadingStyle: IconStyles = 'stroke';\r\n @Prop() iconLeadingType: IconTypes = 'rounded';\r\n @Prop() iconTrailingStyle: IconStyles = 'stroke';\r\n @Prop() iconTrailingType: IconTypes = 'rounded';\r\n @Prop() iconLeadingName: string = '';\r\n @Prop() iconTrailingName: string = '';\r\n @Prop() fullWidth: boolean = true;\r\n @Element() el: HTMLElement;\r\n @State() iconPath: string = '';\r\n @State() leadingIconSvg: string = '';\r\n @State() trailingIconSvg: string = '';\r\n @State() internalButtonState: string = '';\r\n @State() internalIconLeadingState: string = '';\r\n @State() internalIconTrailingState: string = '';\r\n @State() tooltipShown: boolean = false;\r\n @Event() buttonClicked: EventEmitter<void>;\r\n\r\n @Method()\r\n async getNativeButton(): Promise<HTMLButtonElement | null> {\r\n return this.el.shadowRoot.querySelector('button') ?? null;\r\n }\r\n\r\n componentWillLoad() {\r\n if (this.iconLeadingSwap) {\r\n this.loadIcon(this.iconLeadingSwap, 'leading', 'swap');\r\n } else if (this.iconLeadingName) {\r\n this.loadIcon(this.iconLeadingName, 'leading', 'name');\r\n }\r\n\r\n if (this.iconTrailingSwap) {\r\n this.loadIcon(this.iconTrailingSwap, 'trailing', 'swap');\r\n } else if (this.iconTrailingName) {\r\n this.loadIcon(this.iconTrailingName, 'trailing', 'name');\r\n }\r\n\r\n const buttonSlot = this.el?.querySelector('p');\r\n\r\n if (this.state === 'loading') {\r\n buttonSlot.style.display = 'none';\r\n }\r\n\r\n if (buttonSlot) {\r\n buttonSlot.classList.add(this.getButtonTextClasses() || '');\r\n buttonSlot.classList.add('nowrap');\r\n }\r\n }\r\n\r\n async loadIcon(iconName: string, type: 'leading' | 'trailing', mode: 'swap' | 'name') {\r\n if (mode === 'name') {\r\n const style = type === 'leading' ? this.iconLeadingStyle : this.iconTrailingStyle;\r\n const iconType = type === 'leading' ? this.iconLeadingType : this.iconTrailingType;\r\n this.iconPath = getAssetPath(getIconPath(iconName, style, iconType));\r\n } else {\r\n this.iconPath = getAssetPath(`${iconName}`);\r\n }\r\n\r\n const response = await fetch(this.iconPath);\r\n const svg = await response.text();\r\n if (type === 'leading') {\r\n this.leadingIconSvg = svg;\r\n } else {\r\n this.trailingIconSvg = svg;\r\n }\r\n }\r\n\r\n // Helper to apply color styles based on the button state\r\n getButtonClasses() {\r\n return {\r\n button: true,\r\n [this.size]: true,\r\n [this.hierarchy]: true,\r\n destructive: this.destructive,\r\n disabled: this.state === 'disabled',\r\n only: this.icon === 'only',\r\n rounded: this.rounded && this.icon === 'only',\r\n };\r\n }\r\n\r\n getButtonTextClasses() {\r\n switch (this.size) {\r\n case 'xxl':\r\n return 'text-md-semi-bold';\r\n case 'xl':\r\n return 'text-md-semi-bold';\r\n case 'lg':\r\n return 'text-md-semi-bold';\r\n case 'md':\r\n return 'text-sm-semi-bold';\r\n case 'sm':\r\n return 'text-sm-semi-bold';\r\n }\r\n }\r\n\r\n renderLeadingIcon() {\r\n return <div class={`icon left-icon ${this.size}`} innerHTML={this.leadingIconSvg}></div>;\r\n }\r\n\r\n renderTrailingIcon() {\r\n return <div class=\"icon right-icon\" innerHTML={this.trailingIconSvg}></div>;\r\n }\r\n\r\n emitButtonEvent() {\r\n this.buttonClicked.emit();\r\n }\r\n\r\n render() {\r\n return (\r\n <div class={`button_wrapper ${this.fullWidth ? 'full_width' : ''}`} onClick={() => this.emitButtonEvent()}>\r\n <button\r\n disabled={this.state === 'disabled'}\r\n class={this.getButtonClasses()}\r\n onMouseEnter={() => (this.tooltipShown = true)}\r\n onMouseLeave={() => (this.tooltipShown = false)}\r\n >\r\n {this.state === 'loading' && <div class={`loader ${this.hierarchy} ${this.size} ${this.icon} ${this.destructive ? 'destructive' : ''}`}></div>}\r\n {this.state !== 'loading' && (\r\n <>\r\n {this.iconLeading && this.icon === 'default' && this.renderLeadingIcon()}\r\n {this.icon === 'default' && (\r\n <div class={`btn_text`}>\r\n <slot></slot>\r\n </div>\r\n )}\r\n {this.iconTrailing && this.icon === 'default' && this.renderTrailingIcon()}\r\n {this.icon === 'only' && this.renderLeadingIcon()}\r\n </>\r\n )}\r\n </button>\r\n {this.tooltipText && this.icon === 'only' && this.tooltipShown && (\r\n <gb-tooltip show-arrow={true} arrow={this.arrow} class={`tooltip ${this.size}`}>\r\n <p slot=\"label\">{this.tooltipText}</p>\r\n </gb-tooltip>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
@@ -1,5 +1,6 @@
1
1
  import { Component, Element, getAssetPath, h, Prop, State, Fragment, Method, Event, EventEmitter } from '@stencil/core';
2
- import { ArrowPositions, GeneralHierarchies, GeneralSizes, StateType } from '../../models/reusableModels';
2
+ import { ArrowPositions, GeneralHierarchies, GeneralSizes, IconStyles, IconTypes, StateType } from '../../models/reusableModels';
3
+ import { getIconPath } from '../../utils/icons';
3
4
 
4
5
  @Component({
5
6
  tag: 'gb-button',
@@ -21,16 +22,15 @@ export class GbButton {
21
22
  @Prop() arrow: ArrowPositions = 'bottom_center';
22
23
  @Prop() event: boolean = false;
23
24
  @Prop() rounded: boolean = false;
24
- @Prop() iconLeadingStyle: string = '';
25
- @Prop() iconLeadingType: string = '';
26
- @Prop() iconTrailingStyle: string = '';
27
- @Prop() iconTrailingType: string = '';
28
- @Prop() iconConfig?: {
29
- iconLeadingStyle: string,
30
- iconLeadingType: string
31
- }
25
+ @Prop() iconLeadingStyle: IconStyles = 'stroke';
26
+ @Prop() iconLeadingType: IconTypes = 'rounded';
27
+ @Prop() iconTrailingStyle: IconStyles = 'stroke';
28
+ @Prop() iconTrailingType: IconTypes = 'rounded';
29
+ @Prop() iconLeadingName: string = '';
30
+ @Prop() iconTrailingName: string = '';
32
31
  @Prop() fullWidth: boolean = true;
33
32
  @Element() el: HTMLElement;
33
+ @State() iconPath: string = '';
34
34
  @State() leadingIconSvg: string = '';
35
35
  @State() trailingIconSvg: string = '';
36
36
  @State() internalButtonState: string = '';
@@ -45,11 +45,16 @@ export class GbButton {
45
45
  }
46
46
 
47
47
  componentWillLoad() {
48
- if (this.iconLeading && this.iconLeadingSwap) {
49
- this.loadIcon(this.iconLeadingSwap, 'leading');
48
+ if (this.iconLeadingSwap) {
49
+ this.loadIcon(this.iconLeadingSwap, 'leading', 'swap');
50
+ } else if (this.iconLeadingName) {
51
+ this.loadIcon(this.iconLeadingName, 'leading', 'name');
50
52
  }
51
- if (this.iconTrailing && this.iconTrailingSwap) {
52
- this.loadIcon(this.iconTrailingSwap, 'trailing');
53
+
54
+ if (this.iconTrailingSwap) {
55
+ this.loadIcon(this.iconTrailingSwap, 'trailing', 'swap');
56
+ } else if (this.iconTrailingName) {
57
+ this.loadIcon(this.iconTrailingName, 'trailing', 'name');
53
58
  }
54
59
 
55
60
  const buttonSlot = this.el?.querySelector('p');
@@ -64,9 +69,16 @@ export class GbButton {
64
69
  }
65
70
  }
66
71
 
67
- async loadIcon(iconName: string, type: 'leading' | 'trailing') {
68
- const iconPath = getAssetPath(`${iconName}`);
69
- const response = await fetch(iconPath);
72
+ async loadIcon(iconName: string, type: 'leading' | 'trailing', mode: 'swap' | 'name') {
73
+ if (mode === 'name') {
74
+ const style = type === 'leading' ? this.iconLeadingStyle : this.iconTrailingStyle;
75
+ const iconType = type === 'leading' ? this.iconLeadingType : this.iconTrailingType;
76
+ this.iconPath = getAssetPath(getIconPath(iconName, style, iconType));
77
+ } else {
78
+ this.iconPath = getAssetPath(`${iconName}`);
79
+ }
80
+
81
+ const response = await fetch(this.iconPath);
70
82
  const svg = await response.text();
71
83
  if (type === 'leading') {
72
84
  this.leadingIconSvg = svg;
@@ -133,7 +145,7 @@ export class GbButton {
133
145
  <slot></slot>
134
146
  </div>
135
147
  )}
136
- {this.iconTrailing && this.renderTrailingIcon()}
148
+ {this.iconTrailing && this.icon === 'default' && this.renderTrailingIcon()}
137
149
  {this.icon === 'only' && this.renderLeadingIcon()}
138
150
  </>
139
151
  )}
@@ -13,15 +13,16 @@
13
13
  | `fullWidth` | `full-width` | | `boolean` | `true` |
14
14
  | `hierarchy` | `hierarchy` | | `"link_color" \| "link_gray" \| "primary" \| "secondary_color" \| "secondary_gray" \| "tertiary_color" \| "tertiary_gray"` | `'primary'` |
15
15
  | `icon` | `icon` | | `"default" \| "only"` | `'default'` |
16
- | `iconConfig` | -- | | `{ iconLeadingStyle: string; iconLeadingType: string; }` | `undefined` |
17
16
  | `iconLeading` | `icon-leading` | | `boolean` | `false` |
18
- | `iconLeadingStyle` | `icon-leading-style` | | `string` | `''` |
17
+ | `iconLeadingName` | `icon-leading-name` | | `string` | `''` |
18
+ | `iconLeadingStyle` | `icon-leading-style` | | `"bulk" \| "duotone" \| "solid" \| "stroke" \| "two-tone"` | `'stroke'` |
19
19
  | `iconLeadingSwap` | `icon-leading-swap` | | `string` | `''` |
20
- | `iconLeadingType` | `icon-leading-type` | | `string` | `''` |
20
+ | `iconLeadingType` | `icon-leading-type` | | `"rounded" \| "sharp"` | `'rounded'` |
21
21
  | `iconTrailing` | `icon-trailing` | | `boolean` | `false` |
22
- | `iconTrailingStyle` | `icon-trailing-style` | | `string` | `''` |
22
+ | `iconTrailingName` | `icon-trailing-name` | | `string` | `''` |
23
+ | `iconTrailingStyle` | `icon-trailing-style` | | `"bulk" \| "duotone" \| "solid" \| "stroke" \| "two-tone"` | `'stroke'` |
23
24
  | `iconTrailingSwap` | `icon-trailing-swap` | | `string` | `''` |
24
- | `iconTrailingType` | `icon-trailing-type` | | `string` | `''` |
25
+ | `iconTrailingType` | `icon-trailing-type` | | `"rounded" \| "sharp"` | `'rounded'` |
25
26
  | `rounded` | `rounded` | | `boolean` | `false` |
26
27
  | `size` | `size` | | `"lg" \| "md" \| "profile_lg" \| "profile_md" \| "profile_sm" \| "sm" \| "xl" \| "xs" \| "xxl" \| "xxs" \| "xxxl" \| "xxxxl"` | `'xl'` |
27
28
  | `state` | `state` | | `"applied" \| "default" \| "disabled" \| "loading" \| "open"` | `'default'` |