@jumpgroup/jump-design-system 0.2.2 → 0.2.4

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 (158) hide show
  1. package/dist/cjs/{index-79e97f36.js → index-41aaa52a.js} +181 -11
  2. package/dist/cjs/index-41aaa52a.js.map +1 -0
  3. package/dist/cjs/jump-badge.cjs.entry.js +6 -6
  4. package/dist/cjs/jump-badge.cjs.entry.js.map +1 -1
  5. package/dist/cjs/jump-button.cjs.entry.js +10 -6
  6. package/dist/cjs/jump-button.cjs.entry.js.map +1 -1
  7. package/dist/cjs/jump-card.cjs.entry.js +4 -4
  8. package/dist/cjs/jump-card.cjs.entry.js.map +1 -1
  9. package/dist/cjs/jump-design-system.cjs.js +3 -3
  10. package/dist/cjs/jump-design-system.cjs.js.map +1 -1
  11. package/dist/cjs/jump-icon.cjs.entry.js +5 -5
  12. package/dist/cjs/jump-icon.cjs.entry.js.map +1 -1
  13. package/dist/cjs/jump-pagination.cjs.entry.js +32 -10
  14. package/dist/cjs/jump-pagination.cjs.entry.js.map +1 -1
  15. package/dist/cjs/jump-tab.cjs.entry.js +29 -0
  16. package/dist/cjs/jump-tab.cjs.entry.js.map +1 -0
  17. package/dist/cjs/loader.cjs.js +2 -2
  18. package/dist/collection/collection-manifest.json +5 -4
  19. package/dist/collection/components/jump-badge/jump-badge.css +1 -1
  20. package/dist/collection/components/jump-badge/jump-badge.js +4 -4
  21. package/dist/collection/components/jump-badge/jump-badge.js.map +1 -1
  22. package/dist/collection/components/jump-badge/test/jump-badge.spec.js +2 -2
  23. package/dist/collection/components/jump-badge/test/jump-badge.spec.js.map +1 -1
  24. package/dist/collection/components/jump-button/jump-button-anchor.stories.js +87 -0
  25. package/dist/collection/components/jump-button/jump-button-anchor.stories.js.map +1 -0
  26. package/dist/collection/components/jump-button/jump-button-dimension.stories.js +74 -0
  27. package/dist/collection/components/jump-button/jump-button-dimension.stories.js.map +1 -0
  28. package/dist/collection/components/jump-button/jump-button-filled.stories.js +14 -482
  29. package/dist/collection/components/jump-button/jump-button-filled.stories.js.map +1 -1
  30. package/dist/collection/components/jump-button/jump-button-only-icon.stories.js +109 -0
  31. package/dist/collection/components/jump-button/jump-button-only-icon.stories.js.map +1 -0
  32. package/dist/collection/components/jump-button/jump-button-outline.stories.js +20 -285
  33. package/dist/collection/components/jump-button/jump-button-outline.stories.js.map +1 -1
  34. package/dist/collection/components/jump-button/jump-button-text.stories.js +83 -0
  35. package/dist/collection/components/jump-button/jump-button-text.stories.js.map +1 -0
  36. package/dist/collection/components/jump-button/jump-button.css +103 -50
  37. package/dist/collection/components/jump-button/jump-button.js +41 -19
  38. package/dist/collection/components/jump-button/jump-button.js.map +1 -1
  39. package/dist/collection/components/jump-button/test/jump-button.spec.js +2 -2
  40. package/dist/collection/components/jump-button/test/jump-button.spec.js.map +1 -1
  41. package/dist/collection/components/jump-card/jump-card-border-radius.stories.js +2 -14
  42. package/dist/collection/components/jump-card/jump-card-border-radius.stories.js.map +1 -1
  43. package/dist/collection/components/jump-card/jump-card-top-border-content-radius.stories.js +1 -2
  44. package/dist/collection/components/jump-card/jump-card-top-border-content-radius.stories.js.map +1 -1
  45. package/dist/collection/components/jump-card/jump-card.css +50 -1
  46. package/dist/collection/components/jump-card/jump-card.js +13 -13
  47. package/dist/collection/components/jump-card/jump-card.js.map +1 -1
  48. package/dist/collection/components/{app-icon → jump-icon}/jump-icon.js +2 -2
  49. package/dist/collection/components/jump-icon/jump-icon.js.map +1 -0
  50. package/dist/collection/components/{app-icon → jump-icon}/jump-icon.stories.js +1 -1
  51. package/dist/collection/components/jump-icon/jump-icon.stories.js.map +1 -0
  52. package/dist/collection/components/jump-icon/test/jump-icon.e2e.js.map +1 -0
  53. package/dist/collection/components/{app-icon → jump-icon}/test/jump-icon.spec.js +2 -2
  54. package/dist/collection/components/jump-icon/test/jump-icon.spec.js.map +1 -0
  55. package/dist/collection/components/jump-pagination/jump-pagination-pages.stories.js +41 -24
  56. package/dist/collection/components/jump-pagination/jump-pagination-pages.stories.js.map +1 -1
  57. package/dist/collection/components/jump-pagination/jump-pagination-products.stories.js +19 -40
  58. package/dist/collection/components/jump-pagination/jump-pagination-products.stories.js.map +1 -1
  59. package/dist/collection/components/jump-pagination/jump-pagination.css +13 -0
  60. package/dist/collection/components/jump-pagination/jump-pagination.js +64 -31
  61. package/dist/collection/components/jump-pagination/jump-pagination.js.map +1 -1
  62. package/dist/collection/components/jump-tab/jump-tab-inline.stories.js +28 -0
  63. package/dist/collection/components/jump-tab/jump-tab-inline.stories.js.map +1 -0
  64. package/dist/collection/components/jump-tab/jump-tab.css +3 -0
  65. package/dist/collection/components/jump-tab/jump-tab.js +71 -0
  66. package/dist/collection/components/jump-tab/jump-tab.js.map +1 -0
  67. package/dist/collection/components/jump-tab/test/jump-tab.e2e.js +10 -0
  68. package/dist/collection/components/jump-tab/test/jump-tab.e2e.js.map +1 -0
  69. package/dist/collection/components/jump-tab/test/jump-tab.spec.js +18 -0
  70. package/dist/collection/components/jump-tab/test/jump-tab.spec.js.map +1 -0
  71. package/dist/collection/utils/utils.js +29 -3
  72. package/dist/collection/utils/utils.js.map +1 -1
  73. package/dist/components/jump-badge.js +7 -7
  74. package/dist/components/jump-badge.js.map +1 -1
  75. package/dist/components/jump-button.js +26 -20
  76. package/dist/components/jump-button.js.map +1 -1
  77. package/dist/components/jump-card.js +14 -14
  78. package/dist/components/jump-card.js.map +1 -1
  79. package/dist/components/jump-icon.js +2 -2
  80. package/dist/components/jump-icon2.js +4 -4
  81. package/dist/components/jump-icon2.js.map +1 -1
  82. package/dist/components/jump-pagination.js +38 -13
  83. package/dist/components/jump-pagination.js.map +1 -1
  84. package/dist/components/jump-tab.d.ts +11 -0
  85. package/dist/components/jump-tab.js +46 -0
  86. package/dist/components/jump-tab.js.map +1 -0
  87. package/dist/esm/{index-7feee8ea.js → index-192aeaf1.js} +181 -12
  88. package/dist/esm/index-192aeaf1.js.map +1 -0
  89. package/dist/esm/jump-badge.entry.js +6 -6
  90. package/dist/esm/jump-badge.entry.js.map +1 -1
  91. package/dist/esm/jump-button.entry.js +10 -6
  92. package/dist/esm/jump-button.entry.js.map +1 -1
  93. package/dist/esm/jump-card.entry.js +4 -4
  94. package/dist/esm/jump-card.entry.js.map +1 -1
  95. package/dist/esm/jump-design-system.js +4 -4
  96. package/dist/esm/jump-design-system.js.map +1 -1
  97. package/dist/esm/jump-icon.entry.js +5 -5
  98. package/dist/esm/jump-icon.entry.js.map +1 -1
  99. package/dist/esm/jump-pagination.entry.js +32 -10
  100. package/dist/esm/jump-pagination.entry.js.map +1 -1
  101. package/dist/esm/jump-tab.entry.js +25 -0
  102. package/dist/esm/jump-tab.entry.js.map +1 -0
  103. package/dist/esm/loader.js +3 -3
  104. package/dist/jump-design-system/jump-design-system.esm.js +1 -1
  105. package/dist/jump-design-system/jump-design-system.esm.js.map +1 -1
  106. package/dist/jump-design-system/p-20ceb40c.js +3 -0
  107. package/dist/jump-design-system/p-20ceb40c.js.map +1 -0
  108. package/dist/jump-design-system/{p-bc02e346.entry.js → p-511d4425.entry.js} +3 -3
  109. package/dist/jump-design-system/p-511d4425.entry.js.map +1 -0
  110. package/dist/jump-design-system/p-61729377.entry.js +2 -0
  111. package/dist/jump-design-system/p-61729377.entry.js.map +1 -0
  112. package/dist/jump-design-system/p-700b96b4.entry.js +2 -0
  113. package/dist/jump-design-system/p-700b96b4.entry.js.map +1 -0
  114. package/dist/jump-design-system/p-87256ed6.entry.js +2 -0
  115. package/dist/jump-design-system/p-87256ed6.entry.js.map +1 -0
  116. package/dist/jump-design-system/{p-99238e3f.entry.js → p-8f5caf32.entry.js} +2 -2
  117. package/dist/jump-design-system/p-8f5caf32.entry.js.map +1 -0
  118. package/dist/jump-design-system/p-9e47f451.entry.js +2 -0
  119. package/dist/jump-design-system/p-9e47f451.entry.js.map +1 -0
  120. package/dist/jump-design-system-elements.json +20 -7
  121. package/dist/types/components/jump-badge/jump-badge.d.ts +1 -1
  122. package/dist/types/components/jump-button/jump-button-anchor.stories.d.ts +44 -0
  123. package/dist/types/components/jump-button/jump-button-dimension.stories.d.ts +43 -0
  124. package/dist/types/components/jump-button/jump-button-filled.stories.d.ts +1 -120
  125. package/dist/types/components/jump-button/jump-button-only-icon.stories.d.ts +53 -0
  126. package/dist/types/components/jump-button/jump-button-outline.stories.d.ts +4 -112
  127. package/dist/types/components/jump-button/jump-button-text.stories.d.ts +40 -0
  128. package/dist/types/components/jump-button/jump-button.d.ts +7 -2
  129. package/dist/types/components/{app-icon → jump-icon}/jump-icon.d.ts +1 -1
  130. package/dist/types/components/jump-pagination/jump-pagination-pages.stories.d.ts +2 -1
  131. package/dist/types/components/jump-pagination/jump-pagination-products.stories.d.ts +2 -2
  132. package/dist/types/components/jump-pagination/jump-pagination.d.ts +10 -8
  133. package/dist/types/components/jump-tab/jump-tab-inline.stories.d.ts +18 -0
  134. package/dist/types/components/jump-tab/jump-tab.d.ts +6 -0
  135. package/dist/types/components.d.ts +47 -14
  136. package/dist/types/utils/utils.d.ts +2 -1
  137. package/package.json +3 -2
  138. package/dist/cjs/index-79e97f36.js.map +0 -1
  139. package/dist/collection/components/app-icon/jump-icon.js.map +0 -1
  140. package/dist/collection/components/app-icon/jump-icon.stories.js.map +0 -1
  141. package/dist/collection/components/app-icon/test/jump-icon.e2e.js.map +0 -1
  142. package/dist/collection/components/app-icon/test/jump-icon.spec.js.map +0 -1
  143. package/dist/collection/utils/utils.spec.js +0 -16
  144. package/dist/collection/utils/utils.spec.js.map +0 -1
  145. package/dist/esm/index-7feee8ea.js.map +0 -1
  146. package/dist/jump-design-system/p-7cfed9c6.entry.js +0 -2
  147. package/dist/jump-design-system/p-7cfed9c6.entry.js.map +0 -1
  148. package/dist/jump-design-system/p-99238e3f.entry.js.map +0 -1
  149. package/dist/jump-design-system/p-9fd6e0a0.entry.js +0 -2
  150. package/dist/jump-design-system/p-9fd6e0a0.entry.js.map +0 -1
  151. package/dist/jump-design-system/p-bc02e346.entry.js.map +0 -1
  152. package/dist/jump-design-system/p-c560071a.js +0 -3
  153. package/dist/jump-design-system/p-c560071a.js.map +0 -1
  154. package/dist/jump-design-system/p-ddb6c98c.entry.js +0 -2
  155. package/dist/jump-design-system/p-ddb6c98c.entry.js.map +0 -1
  156. /package/dist/collection/components/{app-icon → jump-icon}/jump-icon.css +0 -0
  157. /package/dist/collection/components/{app-icon → jump-icon}/test/jump-icon.e2e.js +0 -0
  158. /package/dist/types/components/{app-icon → jump-icon}/jump-icon.stories.d.ts +0 -0
@@ -1,23 +1,41 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  export class JumpPagination {
3
3
  constructor() {
4
+ this.firstPage = 1;
5
+ this.currentPage = undefined;
4
6
  this.totalElements = undefined;
5
7
  this.pagLabel = 'di';
6
- this.currentPage = undefined;
7
- this.lastPage = undefined;
8
+ this.initialPage = 1;
9
+ this.lastPage = 10;
8
10
  this.labelElementsPerPage = 'Elementi per pagina';
9
11
  this.elementsRanges = [10, 20, 60, 100];
10
- this.firstPage = undefined;
11
12
  this.completeVersion = false;
12
- this.showAdditionalChrevrons = false;
13
+ this.showFirstAndLast = false;
14
+ }
15
+ watchCurrentPage(newValue, oldValue) {
16
+ let details = {
17
+ currentPage: newValue,
18
+ previousPage: oldValue,
19
+ firstPage: this.firstPage,
20
+ lastPage: this.lastPage,
21
+ direction: newValue > oldValue ? 'next' : 'prev'
22
+ };
23
+ this.jumpChangePage.emit(details);
24
+ }
25
+ /* ---------------------- @LIFECYCLE ------------------------- */
26
+ componentWillLoad() {
27
+ this.currentPage = this.initialPage;
13
28
  }
14
29
  render() {
15
30
  var _a;
16
- return (h(Host, { key: '97d153323192675905ef7efc310edd9544917194', class: "JumpPagination" }, h("div", { key: '706326dbd689f2250863df55db66a868deb98465', class: "JumpPagination__Wrapper" }, this.completeVersion &&
17
- h("div", { class: "elementsPerPage" }, h("label", { htmlFor: "elements" }, (_a = this.labelElementsPerPage) !== null && _a !== void 0 ? _a : 'Elements per page'), h("select", { name: "elements", id: "elements" }, this.elementsRanges.map((range) => (h("option", { value: range }, range))))), h("div", { key: 'ba6b84fcfc0cb4d2f0f52767f2be99386a6f004c', class: "indicators" }, h("div", { key: 'b0786315ca18db1608bd07c5658ec37ae9931802', class: "elements" }, this.completeVersion ?
18
- h("span", null, h("span", null, this.firstPage), " - ", h("span", null, this.currentPage), " di ", h("span", null, this.totalElements))
31
+ console.log('completeVersion', this.completeVersion);
32
+ return (h(Host, { key: '32e300881b3a78d25edf6480e9a8a6594f907c76', class: "JumpPagination" }, h("div", { key: '0c4e133e409740331083588fbb046d79c2878ea9', class: "JumpPagination__Wrapper" }, this.completeVersion &&
33
+ h("div", { key: '13daa8e819ec294b50823becc7e8d904eff66f32', class: "elementsPerPage" }, h("label", { key: '162555e0ebfc295d96d5ba358ec879eba1730746', htmlFor: "elements" }, (_a = this.labelElementsPerPage) !== null && _a !== void 0 ? _a : 'Elements per page'), h("select", { key: 'c4e99d784347a67c5616b3ed0ca25934dbdae55f', name: "elements", id: "elements" }, this.elementsRanges.map((range) => (h("option", { value: range }, range))))), h("div", { key: '5eb516226cf5bcb23e575109371c4f55ca235e04', class: "indicators" }, h("div", { key: '58a8655b582e8cdcd9f8c553343d9e407dd66971', class: "elements" }, this.completeVersion ?
34
+ h("span", null, h("span", null, this.firstPage), " - ", h("span", null, this.currentPage), " ", this.pagLabel, " ", h("span", null, this.totalElements))
19
35
  :
20
- h("span", null, h("span", null, this.currentPage), " di ", h("span", null, this.lastPage))), h("div", { key: '93343a7729d7bbd8512d65bc1877041c25f77cdf', class: "arrow" }, this.showAdditionalChrevrons && h("jump-icon", { id: "first-page", name: "chevrons-left" }), h("jump-icon", { key: 'ed735fb41710b632485cc9a24151590842fbdc48', id: "prev-page", name: "chevron-left" }), h("jump-icon", { key: 'fffdbf1d84cee94bf0d2ab561cb36d4de82cc763', id: "next-page", name: "chevron-right" }), this.showAdditionalChrevrons && h("jump-icon", { id: "last-page", name: "chevrons-right" }))))));
36
+ h("span", null, h("span", null, this.currentPage), " ", this.pagLabel, " ", h("span", null, this.lastPage))), h("div", { key: '92b5476c223e477532726304c282ed34e1acccc7', class: "arrow" }, this.showFirstAndLast &&
37
+ h("button", { key: '740c67ee4f73c5a55a022b2281913d8652deeed2', onClick: () => { this.currentPage = this.firstPage; }, disabled: (this.currentPage === this.firstPage) ? true : false }, " ", h("jump-icon", { key: '5a880ea7c01afcc8ae9a4e84934e386e0edab58c', slot: "prefix", name: "chevrons-left" }), " "), h("button", { key: '08fe7f7faa6c7645151ec3ea2b4bf4247f082a2d', onClick: () => { this.currentPage--; }, disabled: (this.currentPage === this.firstPage) ? true : false }, " ", h("jump-icon", { key: '04a972584533f1272b10c7e9068ce332aef77299', slot: "prefix", name: "chevron-left" }), " "), h("button", { key: '0ea012c03b06b587296c9190eece67351579b6e3', onClick: () => { this.currentPage++; }, disabled: (this.currentPage === this.lastPage) ? true : false }, " ", h("jump-icon", { key: '155d6a407989f9cc5d38832df8fb98a3505c3113', slot: "prefix", name: "chevron-right" }), " "), this.showFirstAndLast &&
38
+ h("button", { key: 'be46c67831f6d732d47e9340aca1a43a650af958', onClick: () => { this.currentPage = this.lastPage; }, disabled: (this.currentPage === this.lastPage) ? true : false }, " ", h("jump-icon", { key: 'b04a3d8a8726f945d5639761dde68a300e40f80a', slot: "prefix", name: "chevrons-right" }), " "))))));
21
39
  }
22
40
  static get is() { return "jump-pagination"; }
23
41
  static get originalStyleUrls() {
@@ -67,7 +85,7 @@ export class JumpPagination {
67
85
  "reflect": true,
68
86
  "defaultValue": "'di'"
69
87
  },
70
- "currentPage": {
88
+ "initialPage": {
71
89
  "type": "number",
72
90
  "mutable": false,
73
91
  "complexType": {
@@ -81,8 +99,9 @@ export class JumpPagination {
81
99
  "tags": [],
82
100
  "text": ""
83
101
  },
84
- "attribute": "current-page",
85
- "reflect": true
102
+ "attribute": "initial-page",
103
+ "reflect": true,
104
+ "defaultValue": "1"
86
105
  },
87
106
  "lastPage": {
88
107
  "type": "number",
@@ -99,7 +118,8 @@ export class JumpPagination {
99
118
  "text": ""
100
119
  },
101
120
  "attribute": "last-page",
102
- "reflect": true
121
+ "reflect": true,
122
+ "defaultValue": "10"
103
123
  },
104
124
  "labelElementsPerPage": {
105
125
  "type": "string",
@@ -140,23 +160,6 @@ export class JumpPagination {
140
160
  },
141
161
  "defaultValue": "[10, 20, 60, 100]"
142
162
  },
143
- "firstPage": {
144
- "type": "number",
145
- "mutable": false,
146
- "complexType": {
147
- "original": "number",
148
- "resolved": "number",
149
- "references": {}
150
- },
151
- "required": false,
152
- "optional": false,
153
- "docs": {
154
- "tags": [],
155
- "text": "Indicates the first page/product of the list"
156
- },
157
- "attribute": "first-page",
158
- "reflect": true
159
- },
160
163
  "completeVersion": {
161
164
  "type": "boolean",
162
165
  "mutable": false,
@@ -175,7 +178,7 @@ export class JumpPagination {
175
178
  "reflect": true,
176
179
  "defaultValue": "false"
177
180
  },
178
- "showAdditionalChrevrons": {
181
+ "showFirstAndLast": {
179
182
  "type": "boolean",
180
183
  "mutable": false,
181
184
  "complexType": {
@@ -189,11 +192,41 @@ export class JumpPagination {
189
192
  "tags": [],
190
193
  "text": ""
191
194
  },
192
- "attribute": "show-additional-chrevrons",
195
+ "attribute": "show-first-and-last",
193
196
  "reflect": true,
194
197
  "defaultValue": "false"
195
198
  }
196
199
  };
197
200
  }
201
+ static get states() {
202
+ return {
203
+ "firstPage": {},
204
+ "currentPage": {}
205
+ };
206
+ }
207
+ static get events() {
208
+ return [{
209
+ "method": "jumpChangePage",
210
+ "name": "jump-change-page",
211
+ "bubbles": true,
212
+ "cancelable": true,
213
+ "composed": true,
214
+ "docs": {
215
+ "tags": [],
216
+ "text": ""
217
+ },
218
+ "complexType": {
219
+ "original": "any",
220
+ "resolved": "any",
221
+ "references": {}
222
+ }
223
+ }];
224
+ }
225
+ static get watchers() {
226
+ return [{
227
+ "propName": "currentPage",
228
+ "methodName": "watchCurrentPage"
229
+ }];
230
+ }
198
231
  }
199
232
  //# sourceMappingURL=jump-pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jump-pagination.js","sourceRoot":"","sources":["../../../src/components/jump-pagination/jump-pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,cAAc;;;wBAMiB,IAAI;;;oCAWU,qBAAqB;8BAKpB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;;+BAUtB,KAAK;uCAEG,KAAK;;IAEjE,MAAM;;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAC,gBAAgB;YAC1B,4DAAK,KAAK,EAAC,yBAAyB;gBAChC,IAAI,CAAC,eAAe;oBACpB,WAAK,KAAK,EAAC,iBAAiB;wBAC1B,aAAO,OAAO,EAAC,UAAU,IAAE,MAAA,IAAI,CAAC,oBAAoB,mCAAI,mBAAmB,CAAS;wBAChF,cAAQ,IAAI,EAAC,UAAU,EAAC,EAAE,EAAC,UAAU,IAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAClC,cAAQ,KAAK,EAAE,KAAK,IAAG,KAAK,CAAU,CACvC,CAAC,CACK,CACT;gBAER,4DAAK,KAAK,EAAC,YAAY;oBACrB,4DAAK,KAAK,EAAC,UAAU,IAClB,IAAI,CAAC,eAAe,CAAC,CAAC;wBACrB;4BACE,gBAAO,IAAI,CAAC,SAAS,CAAQ;;4BAAG,gBAAO,IAAI,CAAC,WAAW,CAAQ;;4BAAI,gBAAO,IAAI,CAAC,aAAa,CAAQ,CAC/F;wBAET,CAAC;4BACC;gCACE,gBAAO,IAAI,CAAC,WAAW,CAAQ;;gCAAI,gBAAO,IAAI,CAAC,QAAQ,CAAQ,CAC1D,CAEL;oBACN,4DAAK,KAAK,EAAC,OAAO;wBACf,IAAI,CAAC,uBAAuB,IAAI,iBAAW,EAAE,EAAC,YAAY,EAAC,IAAI,EAAC,eAAe,GAAa;wBAC7F,kEAAW,EAAE,EAAC,WAAW,EAAC,IAAI,EAAC,cAAc,GAAa;wBAC1D,kEAAW,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,eAAe,GAAa;wBAC3D,IAAI,CAAC,uBAAuB,IAAI,iBAAW,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC,gBAAgB,GAAa,CAC1F,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEF","sourcesContent":["import { Component, Host, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'jump-pagination',\n styleUrl: 'jump-pagination.scss',\n shadow: false,\n})\nexport class JumpPagination {\n \n /* ---------------------- @PROPERTIES ------------------------- */\n\n @Prop({ reflect: true }) totalElements: number;\n\n @Prop({reflect: true}) pagLabel: string = 'di'; // Identifica la label testuale di pagination. \n\n /**\n * \n */\n @Prop({ reflect: true }) currentPage: number;\n @Prop({ reflect: true }) lastPage: number; \n\n /**\n * Label for the elements per page select\n */\n @Prop({ reflect: true }) labelElementsPerPage: string = 'Elementi per pagina';\n\n /**\n * Values for the elements per page select\n */\n @Prop({ reflect: true }) elementsRanges: Array<number> = [10, 20, 60, 100];\n\n /**\n * Indicates the first page/product of the list\n */\n @Prop({ reflect: true }) firstPage: number;\n\n /**\n * If true, the component will show the complete version of the pagination, with elements informations\n */\n @Prop({ reflect: true }) completeVersion: boolean = false;\n\n @Prop({ reflect: true }) showAdditionalChrevrons: boolean = false;\n\n render() {\n return (\n <Host class=\"JumpPagination\">\n <div class=\"JumpPagination__Wrapper\">\n { this.completeVersion && \n <div class=\"elementsPerPage\">\n <label htmlFor=\"elements\">{this.labelElementsPerPage ?? 'Elements per page'}</label>\n <select name=\"elements\" id=\"elements\">\n {this.elementsRanges.map((range) => (\n <option value={range}>{range}</option>\n ))}\n </select>\n </div> \n }\n <div class=\"indicators\"> \n <div class=\"elements\">\n {this.completeVersion ?\n <span>\n <span>{this.firstPage}</span> - <span>{this.currentPage}</span> di <span>{this.totalElements}</span>\n </span>\n \n :\n <span>\n <span>{this.currentPage}</span> di <span>{this.lastPage}</span>\n </span>\n }\n </div>\n <div class=\"arrow\">\n {this.showAdditionalChrevrons && <jump-icon id=\"first-page\" name=\"chevrons-left\"></jump-icon>}\n <jump-icon id=\"prev-page\" name=\"chevron-left\"></jump-icon>\n <jump-icon id=\"next-page\" name=\"chevron-right\"></jump-icon>\n {this.showAdditionalChrevrons && <jump-icon id=\"last-page\" name=\"chevrons-right\"></jump-icon>}\n </div> \n </div>\n </div>\n </Host>\n );\n }\n\n}\n"]}
1
+ {"version":3,"file":"jump-pagination.js","sourceRoot":"","sources":["../../../src/components/jump-pagination/jump-pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAgB,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAO5F,MAAM,OAAO,cAAc;;yBAMI,CAAC;;;wBAqBW,IAAI;2BAED,CAAC;wBAEJ,EAAE;oCAKU,qBAAqB;8BAKnB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;+BAMtB,KAAK;gCAEJ,KAAK;;IAtCxD,gBAAgB,CAAC,QAAgB,EAAE,QAAgB;QACjD,IAAI,OAAO,GAAG;YACZ,WAAW,EAAE,QAAQ;YACrB,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;SACjD,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAiCD,iEAAiE;IACjE,iBAAiB;QACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACtC,CAAC;IAED,MAAM;;QACJ,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACrD,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAC,gBAAgB;YAC1B,4DAAK,KAAK,EAAC,yBAAyB;gBAChC,IAAI,CAAC,eAAe;oBACpB,4DAAK,KAAK,EAAC,iBAAiB;wBAC1B,8DAAO,OAAO,EAAC,UAAU,IAAE,MAAA,IAAI,CAAC,oBAAoB,mCAAI,mBAAmB,CAAS;wBAChF,+DAAQ,IAAI,EAAC,UAAU,EAAC,EAAE,EAAC,UAAU,IAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAClC,cAAQ,KAAK,EAAE,KAAK,IAAG,KAAK,CAAU,CACvC,CAAC,CACK,CACT;gBAER,4DAAK,KAAK,EAAC,YAAY;oBACrB,4DAAK,KAAK,EAAC,UAAU,IAClB,IAAI,CAAC,eAAe,CAAC,CAAC;wBACrB;4BACE,gBAAO,IAAI,CAAC,SAAS,CAAQ;;4BAAG,gBAAO,IAAI,CAAC,WAAW,CAAQ;;4BAAE,IAAI,CAAC,QAAQ;;4BAAE,gBAAO,IAAI,CAAC,aAAa,CAAQ,CAC5G;wBAET,CAAC;4BACC;gCACE,gBAAO,IAAI,CAAC,WAAW,CAAQ;;gCAAE,IAAI,CAAC,QAAQ;;gCAAE,gBAAO,IAAI,CAAC,QAAQ,CAAQ,CACvE,CAEL;oBACN,4DAAK,KAAK,EAAC,OAAO;wBACf,IAAI,CAAC,gBAAgB;4BACpB,+DACE,OAAO,EAAE,GAAG,EAAE,GAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAA,CAAA,CAAC,EAClD,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;;gCAC9D,kEAAW,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,eAAe,GAAa;sCAAY;wBAE1E,+DACE,OAAO,EAAE,GAAG,EAAE,GAAE,IAAI,CAAC,WAAW,EAAE,CAAA,CAAA,CAAC,EACnC,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;;4BAC9D,kEAAW,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,cAAc,GAAa;kCAAY;wBACvE,+DACE,OAAO,EAAE,GAAG,EAAE,GAAE,IAAI,CAAC,WAAW,EAAE,CAAA,CAAA,CAAC,EACnC,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;;4BAC3D,kEAAW,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,eAAe,GAAa;kCAAY;wBACzE,IAAI,CAAC,gBAAgB;4BACpB,+DACE,OAAO,EAAE,GAAG,EAAE,GAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAA,CAAA,CAAC,EACjD,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;;gCAC3D,kEAAW,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,gBAAgB,GAAa;sCAAY,CAEzE,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEF","sourcesContent":["import { Component, Host, State, Event, EventEmitter, Prop, h, Watch } from '@stencil/core';\n\n@Component({\n tag: 'jump-pagination',\n styleUrl: 'jump-pagination.scss',\n shadow: false,\n})\nexport class JumpPagination {\n \n /* ---------------------- @STATE ------------------------- */\n /**\n * Indicates the first page/product of the list\n */\n @State() firstPage: number = 1;\n\n @State() currentPage: number;\n\n @Watch('currentPage')\n watchCurrentPage(newValue: number, oldValue: number) {\n let details = {\n currentPage: newValue,\n previousPage: oldValue,\n firstPage: this.firstPage,\n lastPage: this.lastPage,\n direction: newValue > oldValue ? 'next' : 'prev'\n };\n\n this.jumpChangePage.emit(details);\n }\n\n /* ---------------------- @PROPERTIES ------------------------- */\n\n @Prop({reflect:true}) totalElements: number;\n\n @Prop({reflect:true}) pagLabel: string = 'di'; // Identifica la label testuale di pagination. \n\n @Prop({reflect:true}) initialPage: number = 1;\n\n @Prop({reflect:true}) lastPage: number = 10; \n\n /**\n * Label for the elements per page select\n */\n @Prop({reflect:true}) labelElementsPerPage: string = 'Elementi per pagina';\n\n /**\n * Values for the elements per page select\n */\n @Prop({reflect:true}) elementsRanges: Array<number> = [10, 20, 60, 100];\n\n\n /**\n * If true, the component will show the complete version of the pagination, with elements informations\n */\n @Prop({reflect:true}) completeVersion: boolean = false;\n\n @Prop({reflect:true}) showFirstAndLast: boolean = false;\n\n /* ---------------------- @EVENTS ------------------------- */\n @Event({ eventName: 'jump-change-page' }) jumpChangePage: EventEmitter;\n\n /* ---------------------- @LIFECYCLE ------------------------- */\n componentWillLoad() {\n this.currentPage = this.initialPage;\n }\n\n render() {\n console.log('completeVersion', this.completeVersion);\n return (\n <Host class=\"JumpPagination\">\n <div class=\"JumpPagination__Wrapper\">\n { this.completeVersion && \n <div class=\"elementsPerPage\">\n <label htmlFor=\"elements\">{this.labelElementsPerPage ?? 'Elements per page'}</label>\n <select name=\"elements\" id=\"elements\">\n {this.elementsRanges.map((range) => (\n <option value={range}>{range}</option>\n ))}\n </select>\n </div> \n }\n <div class=\"indicators\"> \n <div class=\"elements\">\n {this.completeVersion ?\n <span>\n <span>{this.firstPage}</span> - <span>{this.currentPage}</span> {this.pagLabel} <span>{this.totalElements}</span>\n </span>\n \n :\n <span>\n <span>{this.currentPage}</span> {this.pagLabel} <span>{this.lastPage}</span>\n </span>\n }\n </div>\n <div class=\"arrow\">\n {this.showFirstAndLast &&\n <button \n onClick={() => {this.currentPage = this.firstPage} }\n disabled={(this.currentPage === this.firstPage) ? true : false}\n > <jump-icon slot=\"prefix\" name=\"chevrons-left\"></jump-icon> </button>\n }\n <button \n onClick={() => {this.currentPage--}} \n disabled={(this.currentPage === this.firstPage) ? true : false}\n > <jump-icon slot=\"prefix\" name=\"chevron-left\"></jump-icon> </button>\n <button \n onClick={() => {this.currentPage++}}\n disabled={(this.currentPage === this.lastPage) ? true : false}\n > <jump-icon slot=\"prefix\" name=\"chevron-right\"></jump-icon> </button>\n {this.showFirstAndLast &&\n <button \n onClick={() => {this.currentPage = this.lastPage}}\n disabled={(this.currentPage === this.lastPage) ? true : false}\n > <jump-icon slot=\"prefix\" name=\"chevrons-right\"></jump-icon> </button> \n }\n </div> \n </div>\n </div>\n </Host>\n );\n }\n\n}\n"]}
@@ -0,0 +1,28 @@
1
+ export default {
2
+ title: 'Components/Tab/Inline',
3
+ tags: ['autodocs'],
4
+ argTypes: {
5
+ activeTab: {
6
+ name: 'activeTab',
7
+ control: 'text',
8
+ description: 'Indica la tab attiva',
9
+ },
10
+ tabNames: {
11
+ name: 'tabNames',
12
+ control: 'array',
13
+ description: 'Array di stringhe contenente i nomi delle tab',
14
+ }
15
+ }
16
+ };
17
+ const Template = (args) => {
18
+ return `<jump-tab
19
+ active-tab="${args.activeTab}"
20
+ tab-names="${args.tabNames}">
21
+ </jump-tab>`;
22
+ };
23
+ export const TabInline = Template.bind({});
24
+ TabInline.args = {
25
+ activeTab: 'Tab 1',
26
+ tabNames: ['Tab 1', 'Tab 2', 'Tab 3']
27
+ };
28
+ //# sourceMappingURL=jump-tab-inline.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jump-tab-inline.stories.js","sourceRoot":"","sources":["../../../src/components/jump-tab/jump-tab-inline.stories.ts"],"names":[],"mappings":"AAAA,eAAe;IACX,KAAK,EAAE,uBAAuB;IAC9B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACN,SAAS,EAAE;YACP,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,sBAAsB;SACtC;QACD,QAAQ,EAAE;YACN,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,+CAA+C;SAC/D;KACJ;CACJ,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE;IACtB,OAAO;sBACW,IAAI,CAAC,SAAS;qBACf,IAAI,CAAC,QAAQ;gBAClB,CAAC;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAE3C,SAAS,CAAC,IAAI,GAAG;IACb,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;CACxC,CAAC","sourcesContent":["export default {\n title: 'Components/Tab/Inline',\n tags: ['autodocs'],\n argTypes: {\n activeTab: {\n name: 'activeTab',\n control: 'text',\n description: 'Indica la tab attiva',\n },\n tabNames: {\n name: 'tabNames',\n control: 'array',\n description: 'Array di stringhe contenente i nomi delle tab',\n }\n }\n}\n\nconst Template = (args) => {\n return `<jump-tab \n active-tab=\"${args.activeTab}\" \n tab-names=\"${args.tabNames}\">\n </jump-tab>`;\n}\n\nexport const TabInline = Template.bind({});\n\nTabInline.args = {\n activeTab: 'Tab 1',\n tabNames: ['Tab 1', 'Tab 2', 'Tab 3']\n};"]}
@@ -0,0 +1,3 @@
1
+ :host {
2
+ display: block;
3
+ }
@@ -0,0 +1,71 @@
1
+ import { Host, h } from "@stencil/core";
2
+ export class JumpTab {
3
+ constructor() {
4
+ this.activeTab = undefined;
5
+ this.tabNames = undefined;
6
+ }
7
+ componentWillLoad() {
8
+ console.log('Component is about to be rendered');
9
+ console.log('active', this.activeTab);
10
+ console.log('tabNames', this.tabNames);
11
+ }
12
+ render() {
13
+ return (h(Host, { key: '08d20c1e157286fd4034790df04c2f7113e57e43', class: "JumpTab" }, (this.tabNames && this.activeTab) && this.tabNames.map((tabName) => (h("div", { class: `JumpTab__Tab ${this.activeTab === tabName ? 'active' : ''}` }, tabName)))));
14
+ }
15
+ static get is() { return "jump-tab"; }
16
+ static get encapsulation() { return "shadow"; }
17
+ static get originalStyleUrls() {
18
+ return {
19
+ "$": ["jump-tab.scss"]
20
+ };
21
+ }
22
+ static get styleUrls() {
23
+ return {
24
+ "$": ["jump-tab.css"]
25
+ };
26
+ }
27
+ static get properties() {
28
+ return {
29
+ "activeTab": {
30
+ "type": "string",
31
+ "mutable": false,
32
+ "complexType": {
33
+ "original": "string",
34
+ "resolved": "string",
35
+ "references": {}
36
+ },
37
+ "required": false,
38
+ "optional": false,
39
+ "docs": {
40
+ "tags": [],
41
+ "text": ""
42
+ },
43
+ "attribute": "active-tab",
44
+ "reflect": false,
45
+ "defaultValue": "undefined"
46
+ },
47
+ "tabNames": {
48
+ "type": "unknown",
49
+ "mutable": false,
50
+ "complexType": {
51
+ "original": "Array<string>",
52
+ "resolved": "string[]",
53
+ "references": {
54
+ "Array": {
55
+ "location": "global",
56
+ "id": "global::Array"
57
+ }
58
+ }
59
+ },
60
+ "required": false,
61
+ "optional": false,
62
+ "docs": {
63
+ "tags": [],
64
+ "text": ""
65
+ },
66
+ "defaultValue": "undefined"
67
+ }
68
+ };
69
+ }
70
+ }
71
+ //# sourceMappingURL=jump-tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jump-tab.js","sourceRoot":"","sources":["../../../src/components/jump-tab/jump-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,OAAO;;yBAGU,SAAS;wBACH,SAAS;;IAE3C,iBAAiB;QACf,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAC,SAAS,IAClB,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CACnE,WAAK,KAAK,EAAE,gBAAgB,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,IACrE,OAAO,CACJ,CACP,CAAC,CACG,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEF","sourcesContent":["import { Component, Host, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'jump-tab',\n styleUrl: 'jump-tab.scss',\n shadow: true,\n})\nexport class JumpTab {\n\n /* ---------------------- @PROPERTIES ------------------------- */\n @Prop() activeTab: string = undefined;\n @Prop() tabNames: Array<string> = undefined;\n\n componentWillLoad() {\n console.log('Component is about to be rendered');\n console.log('active',this.activeTab);\n console.log('tabNames',this.tabNames);\n }\n\n render() {\n return (\n <Host class=\"JumpTab\">\n {(this.tabNames && this.activeTab) && this.tabNames.map((tabName) => (\n <div class={`JumpTab__Tab ${this.activeTab === tabName ? 'active' : ''}`}>\n {tabName}\n </div>\n ))}\n </Host>\n );\n }\n\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ describe('jump-tab', () => {
3
+ it('renders', async () => {
4
+ const page = await newE2EPage();
5
+ await page.setContent('<jump-tab></jump-tab>');
6
+ const element = await page.find('jump-tab');
7
+ expect(element).toHaveClass('hydrated');
8
+ });
9
+ });
10
+ //# sourceMappingURL=jump-tab.e2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jump-tab.e2e.js","sourceRoot":"","sources":["../../../../src/components/jump-tab/test/jump-tab.e2e.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\n\ndescribe('jump-tab', () => {\n it('renders', async () => {\n const page = await newE2EPage();\n await page.setContent('<jump-tab></jump-tab>');\n\n const element = await page.find('jump-tab');\n expect(element).toHaveClass('hydrated');\n });\n});\n"]}
@@ -0,0 +1,18 @@
1
+ import { newSpecPage } from "@stencil/core/testing";
2
+ import { JumpTab } from "../jump-tab";
3
+ describe('jump-tab', () => {
4
+ it('renders', async () => {
5
+ const page = await newSpecPage({
6
+ components: [JumpTab],
7
+ html: `<jump-tab></jump-tab>`,
8
+ });
9
+ expect(page.root).toEqualHtml(`
10
+ <jump-tab>
11
+ <mock:shadow-root>
12
+ <slot></slot>
13
+ </mock:shadow-root>
14
+ </jump-tab>
15
+ `);
16
+ });
17
+ });
18
+ //# sourceMappingURL=jump-tab.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jump-tab.spec.js","sourceRoot":"","sources":["../../../../src/components/jump-tab/test/jump-tab.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,uBAAuB;SAC9B,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;KAM7B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from '@stencil/core/testing';\nimport { JumpTab } from '../jump-tab';\n\ndescribe('jump-tab', () => {\n it('renders', async () => {\n const page = await newSpecPage({\n components: [JumpTab],\n html: `<jump-tab></jump-tab>`,\n });\n expect(page.root).toEqualHtml(`\n <jump-tab>\n <mock:shadow-root>\n <slot></slot>\n </mock:shadow-root>\n </jump-tab>\n `);\n });\n});\n"]}
@@ -1,4 +1,30 @@
1
- export function format(first, middle, last) {
2
- return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');
3
- }
1
+ import { html as beautifyHtml } from "js-beautify";
2
+ export const generateAttributesFromArgs = (arg) => {
3
+ // map attributes to strings. If the attribute is a boolean and is false, don't include it, otherwise include only the attribute name. otherwise include the attribute name and its value
4
+ console.log('arg', arg);
5
+ return Object.entries(arg).map(([name, value]) => {
6
+ name = camelToKebabCase(name);
7
+ //console.log('name', name);
8
+ if (typeof value === 'boolean') {
9
+ return value ? name : '';
10
+ }
11
+ else {
12
+ // take the snake case and convert it to kebab case
13
+ return `${name}="${value}"`;
14
+ }
15
+ }).join(' ')
16
+ // replace all the spaces with a single space
17
+ .replace(/\s+/g, ' ')
18
+ .trim();
19
+ };
20
+ const camelToKebabCase = (str) => {
21
+ return str.replace(/[A-Z]/g, function (match) {
22
+ return '-' + match.toLowerCase();
23
+ });
24
+ };
25
+ export const formatHtml = (html) => {
26
+ return beautifyHtml(html, {
27
+ indent_size: 2
28
+ });
29
+ };
4
30
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,MAAc,EAAE,IAAY;IAChE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACjF,CAAC","sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,GAAG,EAAE,EAAE;IAChD,yLAAyL;IACzL,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACxB,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/C,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC9B,4BAA4B;QAC5B,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,mDAAmD;YACnD,OAAO,GAAG,IAAI,KAAK,KAAK,GAAG,CAAA;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACZ,6CAA6C;SAC5C,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACV,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,EAAE;IAC/B,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAS,KAAK;QACzC,OAAO,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,EAAE;IACjC,OAAO,YAAY,CAAC,IAAI,EAAE;QACxB,WAAW,EAAE,CAAC;KACf,CAAC,CAAC;AACL,CAAC,CAAA","sourcesContent":["import { html as beautifyHtml } from 'js-beautify';\n\nexport const generateAttributesFromArgs = (arg) => {\n // map attributes to strings. If the attribute is a boolean and is false, don't include it, otherwise include only the attribute name. otherwise include the attribute name and its value\n console.log('arg', arg);\n return Object.entries(arg).map(([name, value]) => {\n name = camelToKebabCase(name);\n //console.log('name', name);\n if (typeof value === 'boolean') {\n return value ? name : ''\n } else {\n // take the snake case and convert it to kebab case\n return `${name}=\"${value}\"`\n }\n }).join(' ')\n // replace all the spaces with a single space\n .replace(/\\s+/g, ' ')\n .trim();\n};\n\nconst camelToKebabCase = (str) => {\n return str.replace(/[A-Z]/g, function(match) {\n return '-' + match.toLowerCase();\n });\n}\n\nexport const formatHtml = (html) => {\n return beautifyHtml(html, {\n indent_size: 2\n });\n} "]}
@@ -1,9 +1,9 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
 
3
- const jumpBadgeCss = "jump-badge{--jump-badge-background:var(--primary-standard);--jump-badge-color:#fff;--jump-bafge-border-radius:50px;display:inline-flex;color:var(--jump-badge-color);background-color:var(--jump-badge-background);align-items:center;justify-content:center;font-size:var(--fs-300);font-weight:var(--fw-900);line-height:1;border-radius:var(--jump-bafge-border-radius);border:solid 1px var(--jump-bafge-border-radius);white-space:nowrap;padding:0.35em 0.6em;user-select:none;cursor:inherit}jump-badge[variant=primary]{--jump-badge-background:var(--primary-standard)}jump-badge[variant=secondary]{--jump-badge-background:var(--secondary-standard)}";
3
+ const jumpBadgeCss = "jump-badge{--jump-badge-background:var(--primary-standard);--jump-badge-color:#fff;--jump-bafge-border-radius:50px;display:inline-flex;color:var(--jump-badge-color);background-color:var(--jump-badge-background);align-items:center;justify-content:center;font-size:var(--fs-300);font-weight:var(--fw-700);line-height:1;border-radius:var(--jump-bafge-border-radius);border:solid 1px var(--jump-bafge-border-radius);white-space:nowrap;padding:0.35em 0.6em;user-select:none;cursor:inherit}jump-badge[variant=primary]{--jump-badge-background:var(--primary-standard)}jump-badge[variant=secondary]{--jump-badge-background:var(--secondary-standard)}";
4
4
  const JumpBadgeStyle0 = jumpBadgeCss;
5
5
 
6
- const AppCard = /*@__PURE__*/ proxyCustomElement(class AppCard extends HTMLElement {
6
+ const AppBadge = /*@__PURE__*/ proxyCustomElement(class AppBadge extends HTMLElement {
7
7
  constructor() {
8
8
  super();
9
9
  this.__registerHost();
@@ -11,12 +11,12 @@ const AppCard = /*@__PURE__*/ proxyCustomElement(class AppCard extends HTMLEleme
11
11
  this.variant = 'primary';
12
12
  }
13
13
  render() {
14
- return (h(Host, { key: '8a7bf8245f0edf5aa45f70be833001e7c2899a5e', variant: this.variant }, this.label));
14
+ return (h(Host, { key: '1a0a2b2bf95c1217ca9546b19c4ff6b25ca2a86a', variant: this.variant }, this.label));
15
15
  }
16
16
  static get style() { return JumpBadgeStyle0; }
17
17
  }, [0, "jump-badge", {
18
- "label": [513],
19
- "variant": [513]
18
+ "label": [1],
19
+ "variant": [1]
20
20
  }]);
21
21
  function defineCustomElement$1() {
22
22
  if (typeof customElements === "undefined") {
@@ -26,13 +26,13 @@ function defineCustomElement$1() {
26
26
  components.forEach(tagName => { switch (tagName) {
27
27
  case "jump-badge":
28
28
  if (!customElements.get(tagName)) {
29
- customElements.define(tagName, AppCard);
29
+ customElements.define(tagName, AppBadge);
30
30
  }
31
31
  break;
32
32
  } });
33
33
  }
34
34
 
35
- const JumpBadge = AppCard;
35
+ const JumpBadge = AppBadge;
36
36
  const defineCustomElement = defineCustomElement$1;
37
37
 
38
38
  export { JumpBadge, defineCustomElement };
@@ -1 +1 @@
1
- {"file":"jump-badge.js","mappings":";;AAAA,MAAM,YAAY,GAAG,koBAAkoB,CAAC;AACxpB,wBAAe,YAAY;;MCMd,OAAO;;;;qBAIqB,EAAE;uBAKe,SAAS;;IAEjE,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,OAAO,EAAE,IAAI,CAAC,OAAO,IACxB,IAAI,CAAC,KAAK,CACN,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/jump-badge/jump-badge.scss?tag=jump-badge","src/components/jump-badge/jump-badge.tsx"],"sourcesContent":["jump-badge {\n --jump-badge-background: var(--primary-standard);\n --jump-badge-color: #fff;\n --jump-bafge-border-radius: 50px;\n\n display: inline-flex;\n color: var(--jump-badge-color);\n background-color: var(--jump-badge-background);\n align-items: center;\n justify-content: center;\n font-size: var(--fs-300);\n font-weight: var(--fw-900);\n line-height: 1;\n border-radius: var(--jump-bafge-border-radius);\n border: solid 1px var(--jump-bafge-border-radius);\n white-space: nowrap;\n padding: 0.35em 0.6em;\n user-select: none;\n cursor: inherit;\n\n &[variant='primary'] {\n --jump-badge-background: var(--primary-standard);\n }\n\n &[variant='secondary'] {\n --jump-badge-background: var(--secondary-standard);\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'jump-badge',\n styleUrl: 'jump-badge.scss',\n shadow: false,\n})\nexport class AppCard {\n /**\n * Indicates the label of the badge\n */\n @Prop({reflect: true}) label: string = '';\n\n /**\n * Indicates the variant of the badge\n */\n @Prop({reflect: true}) variant: 'primary'|'secondary' = 'primary';\n\n render() {\n return (\n <Host variant={this.variant}>\n {this.label}\n </Host>\n );\n }\n\n}\n"],"version":3}
1
+ {"file":"jump-badge.js","mappings":";;AAAA,MAAM,YAAY,GAAG,koBAAkoB,CAAC;AACxpB,wBAAe,YAAY;;MCMd,QAAQ;;;;qBAIK,EAAE;uBAKe,SAAS;;IAElD,MAAM;QACJ,QACE,EAAC,IAAI,qDAAC,OAAO,EAAE,IAAI,CAAC,OAAO,IACxB,IAAI,CAAC,KAAK,CACN,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/jump-badge/jump-badge.scss?tag=jump-badge","src/components/jump-badge/jump-badge.tsx"],"sourcesContent":["jump-badge {\n --jump-badge-background: var(--primary-standard);\n --jump-badge-color: #fff;\n --jump-bafge-border-radius: 50px;\n\n display: inline-flex;\n color: var(--jump-badge-color);\n background-color: var(--jump-badge-background);\n align-items: center;\n justify-content: center;\n font-size: var(--fs-300);\n font-weight: var(--fw-700);\n line-height: 1;\n border-radius: var(--jump-bafge-border-radius);\n border: solid 1px var(--jump-bafge-border-radius);\n white-space: nowrap;\n padding: 0.35em 0.6em;\n user-select: none;\n cursor: inherit;\n\n &[variant='primary'] {\n --jump-badge-background: var(--primary-standard);\n }\n\n &[variant='secondary'] {\n --jump-badge-background: var(--secondary-standard);\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'jump-badge',\n styleUrl: 'jump-badge.scss',\n shadow: false,\n})\nexport class AppBadge {\n /**\n * Indicates the label of the badge\n */\n @Prop() label: string = '';\n\n /**\n * Indicates the variant of the badge\n */\n @Prop() variant: 'primary'|'secondary' = 'primary';\n\n render() {\n return (\n <Host variant={this.variant}>\n {this.label}\n </Host>\n );\n }\n\n}\n"],"version":3}
@@ -1,16 +1,18 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
 
3
- const jumpButtonCss = "jump-button button,jump-button a{background-color:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}jump-button{display:inline-flex;align-items:center;--jump-button-color:#ffffff;--jump-button-color-disabled:#cbcbcb;--jump-button-background:var(--primary-standard);--jump-button-background-outline:transparent;--jump-button-color-hover:#ffffff;--jump-button-background-hover:var(--primary-hard);--jump-button-border-radius:var(--border-radius-1, 0.1875rem) var(--border-radius-1, 0.1875rem) var(--border-radius-1, 0.1875rem) var(--border-radius-1, 0.1875rem);--jump-button-padding:1rem 1.25rem}jump-button button,jump-button a{background-color:var(--jump-button-background);border-radius:var(--jump-button-border-radius);color:var(--jump-button-color);position:relative;font-family:var(--ff-primary, \"Arial\"), sans-serif;font-weight:var(--fw-700, 700);font-size:var(--fs-400, 1rem);line-height:var(--lh-400, 1.3);display:flex;align-items:center;gap:var(--jump-button-gap, 0.5rem);text-decoration:none;padding:var(--jump-button-padding)}jump-button button:hover,jump-button a:hover{background-color:var(--jump-button-background-hover);color:var(--jump-button-color-hover)}jump-button button[data-variant=primary],jump-button a[data-variant=primary]{--jump-button-color:var(--neutral-white);--jump-button-background:var(--primary-standard);--jump-button-color-hover:var(--neutral-white);--jump-button-background-hover:var(--primary-hard)}jump-button button[data-variant=secondary],jump-button a[data-variant=secondary]{--jump-button-color:var(--neutral-white);--jump-button-background:var(--secondary-standard);--jump-button-color-hover:var(--neutral-white);--jump-button-background-hover:var(--secondary-hard)}jump-button button[data-variant=neutral],jump-button a[data-variant=neutral]{--jump-button-color:var(--neutral-white);--jump-button-background:var(--neutral-grey-secondary);--jump-button-color-hover:var(--neutral-white);--jump-button-background-hover:var(--neutral-grey-primary)}jump-button button[data-variant=white],jump-button a[data-variant=white]{--jump-button-color:var(--neutral-grey-primary);--jump-button-background:var(--neutral-white);--jump-button-color-hover:var(--neutral-grey-primary);--jump-button-background-hover:var(--neutral-grey-background)}jump-button button[disabled],jump-button a[disabled]{--jump-button-background:var(--jump-button-color-disabled);--jump-button-background-hover:var(--jump-button-color-disabled);cursor:not-allowed}jump-button button[data-pill],jump-button a[data-pill]{border-radius:100rem}jump-button button[data-size=small],jump-button a[data-size=small]{font-size:var(--fs-300, 0.875rem);line-height:var(--lh-300, 1.2);--jump-button-padding:0.5rem 1rem}jump-button button[data-size=medium],jump-button a[data-size=medium]{font-size:var(--fs-400, 1rem);line-height:var(--lh-400, 1.3)}jump-button button[data-size=large],jump-button a[data-size=large]{font-size:var(--fs-500, 1.125rem);line-height:var(--lh-500, 1.4);--jump-button-padding:1.125rem 1.5rem}jump-button button[data-outline],jump-button a[data-outline]{background-color:var(--jump-button-background-outline);border:1px solid var(--jump-button-background);color:var(--jump-button-background)}jump-button button[data-outline]:hover,jump-button a[data-outline]:hover{background-color:var(--jump-button-background-hover);border:1px solid var(--jump-button-background-hover);color:var(--jump-button-color-hover)}jump-button button[data-text],jump-button a[data-text]{background-color:transparent;border:none;color:var(--jump-button-background);padding:0}jump-button button[data-text]:hover,jump-button a[data-text]:hover{background-color:transparent;border:none;color:var(--jump-button-background-hover)}jump-button button[data-only-icon],jump-button a[data-only-icon]{--jump-button-padding:1.125rem}jump-button button[data-only-icon][data-size=small],jump-button a[data-only-icon][data-size=small]{--jump-button-padding:0.5rem}jump-button button[data-only-icon][data-size=medium],jump-button a[data-only-icon][data-size=medium]{--jump-button-padding:1rem}jump-button button[data-only-icon][data-size=large],jump-button a[data-only-icon][data-size=large]{--jump-button-padding:1.125rem}jump-button button.chat,jump-button a.chat{--jump-button-color:var(--neutral-white);--jump-button-background:hsla(133, 54%, 58%, 1);--jump-button-color-hover:var(--neutral-white);--jump-button-background-hover:hsla(161, 63%, 31%, 1)}";
3
+ const jumpButtonCss = ":root{--neutral-grey-background:#eeeeee;--neutral-grey-disabled:#cbcbcb;--neutral-grey-primary:#282828;--neutral-grey-secondary:#707070;--neutral-white:#ffffff;--primary-hard:#e75a50;--primary-soft:#ffeae9;--primary-standard:#fa7268;--secondary-hard:#435171;--secondary-soft:#dde3ed;--secondary-standard:#5e79ba;--status-danger-hard:#ba250a;--status-danger-soft:#fdd3d1;--status-danger-standard:#d72c0d;--status-interaction-hard:#22559e;--status-interaction-soft:#f2f7fe;--status-interaction-standard:#2c6ecb;--status-success-hard:#156048;--status-success-soft:#f1f8f5;--status-success-standard:#1d7f60;--status-warning-hard:#987100;--status-warning-soft:#fef5ea;--status-warning-standard:#b98900;--ff-primary:\"Inter\";--ff-secondary:\"Prompt\";--lh-300:1.25rem;--lh-400:1.5rem;--lh-500:1.625rem;--lh-600:2rem;--lh-700:2.75rem;--lh-800:3.5rem;--lh-850:4.375rem;--lh-900:5.5rem;--fs-300:0.875rem;--fs-400:1rem;--fs-500:1.125rem;--fs-600:1.5rem;--fs-700:2.25rem;--fs-800:3rem;--fs-850:3.75rem;--fs-900:4.5rem;--fw-300:300;--fw-400:400;--fw-900:700}:host button,:host a{background-color:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}:host{--jump-button-color:#ffffff;--jump-button-color-disabled:#cbcbcb;--jump-button-background:var(--primary-standard);--jump-button-background-outline:transparent;--jump-button-color-hover:#ffffff;--jump-button-background-hover:var(--primary-hard);--jump-button-border-radius:var(--border-radius-1, 0.1875rem) var(--border-radius-1, 0.1875rem) var(--border-radius-1, 0.1875rem) var(--border-radius-1, 0.1875rem);--jump-button-padding:1rem 1.25rem}:host button,:host a{background-color:var(--jump-button-background);border-radius:var(--jump-button-border-radius);color:var(--jump-button-color);position:relative;font-family:var(--ff-primary, \"Arial\"), sans-serif;font-weight:var(--fw-700, 700);font-size:var(--fs-400, 1rem);line-height:var(--lh-400, 1.3);display:flex;align-items:center;gap:var(--jump-button-gap, 0.5rem);text-decoration:none;padding:var(--jump-button-padding)}:host button:hover,:host a:hover{background-color:var(--jump-button-background-hover);color:var(--jump-button-color-hover)}:host button[data-variant=primary],:host a[data-variant=primary]{--jump-button-color:var(--neutral-white);--jump-button-background:var(--primary-standard);--jump-button-color-hover:var(--neutral-white);--jump-button-background-hover:var(--primary-hard)}:host button[data-variant=secondary],:host a[data-variant=secondary]{--jump-button-color:var(--neutral-white);--jump-button-background:var(--secondary-standard);--jump-button-color-hover:var(--neutral-white);--jump-button-background-hover:var(--secondary-hard)}:host button[data-variant=neutral],:host a[data-variant=neutral]{--jump-button-color:var(--neutral-white);--jump-button-background:var(--neutral-grey-secondary);--jump-button-color-hover:var(--neutral-white);--jump-button-background-hover:var(--neutral-grey-primary)}:host button[data-variant=white],:host a[data-variant=white]{--jump-button-color:var(--neutral-grey-primary);--jump-button-background:var(--neutral-white);--jump-button-color-hover:var(--neutral-grey-primary);--jump-button-background-hover:var(--neutral-grey-background)}:host button[disabled],:host a[disabled]{--jump-button-background:var(--jump-button-color-disabled);--jump-button-background-hover:var(--jump-button-color-disabled);cursor:not-allowed}:host button[data-pill],:host a[data-pill]{border-radius:100rem}:host button[data-size=small],:host a[data-size=small]{font-size:var(--fs-300, 0.875rem);line-height:var(--lh-300, 1.2);--jump-button-padding:0.65rem 1rem}:host button[data-size=medium],:host a[data-size=medium]{font-size:var(--fs-400, 1rem);line-height:var(--lh-400, 1.3);--jump-button-padding:0.75rem 1.25rem}:host button[data-size=large],:host a[data-size=large]{font-size:var(--fs-500, 1.125rem);line-height:var(--lh-500, 1.4);--jump-button-padding:1rem 1.5rem}:host button[data-full],:host a[data-full]{width:100%;justify-content:center}:host button[data-outline],:host a[data-outline]{background-color:var(--jump-button-background-outline);border:1px solid var(--jump-button-background);color:var(--jump-button-background)}:host button[data-outline]:hover,:host a[data-outline]:hover{background-color:var(--jump-button-background-hover);border:1px solid var(--jump-button-background-hover);color:var(--jump-button-color-hover)}:host button[data-text],:host a[data-text]{background-color:transparent;border:none;color:var(--jump-button-background);padding:0}:host button[data-text]:hover,:host a[data-text]:hover{background-color:transparent;border:none;color:var(--jump-button-background-hover)}:host button[data-only-icon],:host a[data-only-icon]{--jump-button-padding:0.5rem}:host button[data-only-icon][data-size=small],:host a[data-only-icon][data-size=small]{--jump-button-padding:0.5rem}:host button[data-only-icon][data-size=medium],:host a[data-only-icon][data-size=medium]{--jump-button-padding:0.875rem}:host button[data-only-icon][data-size=large],:host a[data-only-icon][data-size=large]{--jump-button-padding:1rem}:host button.chat,:host a.chat{--jump-button-color:var(--neutral-white);--jump-button-background:hsla(133, 54%, 58%, 1);--jump-button-color-hover:var(--neutral-white);--jump-button-background-hover:hsla(161, 63%, 31%, 1)}";
4
4
  const JumpButtonStyle0 = jumpButtonCss;
5
5
 
6
- const AppButton = /*@__PURE__*/ proxyCustomElement(class AppButton extends HTMLElement {
6
+ const JumpButton$1 = /*@__PURE__*/ proxyCustomElement(class JumpButton extends HTMLElement {
7
7
  constructor() {
8
8
  super();
9
9
  this.__registerHost();
10
+ this.__attachShadow();
10
11
  this.disabled = false;
11
12
  this.variant = 'primary';
12
13
  this.outline = false;
13
14
  this.size = 'medium';
15
+ this.full = false;
14
16
  this.pill = false;
15
17
  this.text = false;
16
18
  this.onlyIcon = false;
@@ -23,26 +25,30 @@ const AppButton = /*@__PURE__*/ proxyCustomElement(class AppButton extends HTMLE
23
25
  this.class = undefined;
24
26
  this.buttonId = undefined;
25
27
  }
28
+ componentWillLoad() {
29
+ this.target = this.href ? this.target : '_self';
30
+ }
26
31
  render() {
27
- return (h(Host, { key: '21647cd89a0a179d5c035f5e7f533f54375311cf' }, this.href ? (h("a", { href: this.href, id: this.buttonId, class: this.class, "data-variant": this.variant, "data-outline": this.outline, "data-size": this.size, "data-pill": this.pill, "data-text": this.text, "data-only-icon": this.onlyIcon, "aria-label": this.ariaLabel, target: this.target }, h("slot", { name: "prefix" }), !this.onlyIcon && h("slot", null), h("slot", { name: "suffix" }))) : (h("button", { id: this.buttonId, class: this.class, "data-variant": this.variant, "data-outline": this.outline, "data-size": this.size, "data-pill": this.pill, "data-text": this.text, "data-only-icon": this.onlyIcon, disabled: this.disabled, "aria-label": this.ariaLabel, type: this.type, name: this.name, value: this.value }, h("slot", { name: "prefix" }), !this.onlyIcon && h("slot", null), h("slot", { name: "suffix" })))));
32
+ return (h(Host, { key: '2f1a96f504d7f273bfdf0b49d7a708aea570f59f' }, this.href ? (h("a", { href: this.href, id: this.buttonId, class: this.class, "data-variant": this.variant, "data-outline": this.outline, "data-size": this.size, "data-full": this.full, "data-pill": this.pill, "data-text": this.text, "data-only-icon": this.onlyIcon, "aria-label": this.ariaLabel, target: this.target }, h("slot", { name: "prefix" }), !this.onlyIcon && h("slot", null), h("slot", { name: "suffix" }))) : (h("button", { id: this.buttonId, class: this.class, "data-variant": this.variant, "data-outline": this.outline, "data-size": this.size, "data-full": this.full, "data-pill": this.pill, "data-text": this.text, "data-only-icon": this.onlyIcon, disabled: this.disabled, "aria-label": this.ariaLabel, type: this.type, name: this.name, value: this.value }, h("slot", { name: "prefix" }), !this.onlyIcon && h("slot", null), h("slot", { name: "suffix" })))));
28
33
  }
29
34
  static get style() { return JumpButtonStyle0; }
30
- }, [4, "jump-button", {
35
+ }, [1, "jump-button", {
31
36
  "disabled": [4],
32
- "variant": [513],
33
- "outline": [516],
34
- "size": [513],
35
- "pill": [516],
36
- "text": [516],
37
- "onlyIcon": [516, "only-icon"],
38
- "href": [513],
39
- "target": [513],
40
- "type": [513],
41
- "name": [513],
42
- "value": [513],
43
- "ariaLabel": [513, "aria-label"],
44
- "class": [513],
45
- "buttonId": [513, "button-id"]
37
+ "variant": [1],
38
+ "outline": [4],
39
+ "size": [1],
40
+ "full": [4],
41
+ "pill": [4],
42
+ "text": [4],
43
+ "onlyIcon": [4, "only-icon"],
44
+ "href": [1],
45
+ "target": [1],
46
+ "type": [1],
47
+ "name": [1],
48
+ "value": [1],
49
+ "ariaLabel": [1, "aria-label"],
50
+ "class": [1],
51
+ "buttonId": [1, "button-id"]
46
52
  }]);
47
53
  function defineCustomElement$1() {
48
54
  if (typeof customElements === "undefined") {
@@ -52,13 +58,13 @@ function defineCustomElement$1() {
52
58
  components.forEach(tagName => { switch (tagName) {
53
59
  case "jump-button":
54
60
  if (!customElements.get(tagName)) {
55
- customElements.define(tagName, AppButton);
61
+ customElements.define(tagName, JumpButton$1);
56
62
  }
57
63
  break;
58
64
  } });
59
65
  }
60
66
 
61
- const JumpButton = AppButton;
67
+ const JumpButton = JumpButton$1;
62
68
  const defineCustomElement = defineCustomElement$1;
63
69
 
64
70
  export { JumpButton, defineCustomElement };
@@ -1 +1 @@
1
- {"file":"jump-button.js","mappings":";;AAAA,MAAM,aAAa,GAAG,s3IAAs3I,CAAC;AAC74I,yBAAe,aAAa;;MCMf,SAAS;;;;wBAIQ,KAAK;uBAK4C,SAAS;uBAK5C,KAAK;oBAKT,QAAQ;oBAKP,KAAK;oBAKL,KAAK;wBAKD,KAAK;oBAKV,SAAS;;oBAUU,QAAQ;oBAK3B,SAAS;qBAKR,SAAS;yBAKL,SAAS;qBAKb,SAAS;wBAKN,SAAS;;IAEnD,MAAM;QACJ,QACE,EAAC,IAAI,uDACF,IAAI,CAAC,IAAI,IACR,SAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,kBAAgB,IAAI,CAAC,OAAO,kBAAgB,IAAI,CAAC,OAAO,eAAa,IAAI,CAAC,IAAI,eAAa,IAAI,CAAC,IAAI,eAAa,IAAI,CAAC,IAAI,oBAAkB,IAAI,CAAC,QAAQ,gBAAc,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAChQ,YAAM,IAAI,EAAC,QAAQ,GAAQ,EAC1B,CAAC,IAAI,CAAC,QAAQ,IAAI,eAAa,EAChC,YAAM,IAAI,EAAC,QAAQ,GAAQ,CACzB,KAEJ,cAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,kBAAgB,IAAI,CAAC,OAAO,kBAAgB,IAAI,CAAC,OAAO,eAAa,IAAI,CAAC,IAAI,eAAa,IAAI,CAAC,IAAI,eAAa,IAAI,CAAC,IAAI,oBAAkB,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,gBAAc,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAC7S,YAAM,IAAI,EAAC,QAAQ,GAAQ,EAC1B,CAAC,IAAI,CAAC,QAAQ,IAAI,eAAa,EAChC,YAAM,IAAI,EAAC,QAAQ,GAAQ,CACpB,CACV,CACI,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/jump-button/jump-button.scss?tag=jump-button","src/components/jump-button/jump-button.tsx"],"sourcesContent":["%reset-button {\n background-color: transparent;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n cursor: pointer;\n}\n\njump-button {\n display: inline-flex;\n align-items: center;\n --jump-button-color: #ffffff;\n --jump-button-color-disabled: #cbcbcb;\n --jump-button-background: var(--primary-standard);\n --jump-button-background-outline: transparent;\n --jump-button-color-hover: #ffffff;\n --jump-button-background-hover: var(--primary-hard);\n --jump-button-border-radius: var(--border-radius-1, 0.1875rem) var(--border-radius-1, 0.1875rem) var(--border-radius-1, 0.1875rem) var(--border-radius-1, 0.1875rem);\n --jump-button-padding: 1rem 1.25rem;\n\n button,\n a {\n @extend %reset-button;\n background-color: var(--jump-button-background);\n border-radius: var(--jump-button-border-radius);\n color: var(--jump-button-color);\n position: relative;\n font-family: var(--ff-primary, 'Arial'), sans-serif;\n font-weight: var(--fw-700, 700);\n font-size: var(--fs-400, 1rem);\n line-height: var(--lh-400, 1.3);\n display: flex;\n align-items: center;\n gap: var(--jump-button-gap, 0.5rem);\n text-decoration: none;\n\n //TODO: internal padding of the button\n padding: var(--jump-button-padding);\n\n // TODO: gestire il focus con un outline\n &:hover {\n background-color: var(--jump-button-background-hover);\n color: var(--jump-button-color-hover);\n }\n\n &[data-variant='primary'] {\n --jump-button-color: var(--neutral-white);\n --jump-button-background: var(--primary-standard);\n --jump-button-color-hover: var(--neutral-white);\n --jump-button-background-hover: var(--primary-hard);\n }\n\n &[data-variant='secondary'] {\n --jump-button-color: var(--neutral-white);\n --jump-button-background: var(--secondary-standard);\n --jump-button-color-hover: var(--neutral-white);\n --jump-button-background-hover: var(--secondary-hard);\n }\n\n &[data-variant='neutral'] {\n --jump-button-color: var(--neutral-white);\n --jump-button-background: var(--neutral-grey-secondary);\n --jump-button-color-hover: var(--neutral-white);\n --jump-button-background-hover: var(--neutral-grey-primary);\n }\n\n &[data-variant='white'] {\n --jump-button-color: var(--neutral-grey-primary);\n --jump-button-background: var(--neutral-white);\n --jump-button-color-hover: var(--neutral-grey-primary);\n --jump-button-background-hover: var(--neutral-grey-background);\n }\n\n &[disabled] {\n --jump-button-background: var(--jump-button-color-disabled);\n --jump-button-background-hover: var(--jump-button-color-disabled);\n cursor: not-allowed;\n }\n\n &[data-pill] {\n border-radius: 100rem;\n }\n\n &[data-size='small'] {\n font-size: var(--fs-300, 0.875rem);\n line-height: var(--lh-300, 1.2);\n --jump-button-padding: 0.5rem 1rem;\n }\n\n &[data-size='medium'] {\n font-size: var(--fs-400, 1rem);\n line-height: var(--lh-400, 1.3);\n }\n\n &[data-size='large'] {\n font-size: var(--fs-500, 1.125rem);\n line-height: var(--lh-500, 1.4);\n --jump-button-padding: 1.125rem 1.5rem;\n }\n\n &[data-outline] {\n background-color: var(--jump-button-background-outline);\n border: 1px solid var(--jump-button-background);\n color: var(--jump-button-background);\n &:hover {\n background-color: var(--jump-button-background-hover);\n border: 1px solid var(--jump-button-background-hover);\n color: var(--jump-button-color-hover);\n }\n }\n\n &[data-text] {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background);\n padding: 0;\n &:hover {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background-hover);\n }\n }\n\n &[data-only-icon] {\n --jump-button-padding: 1.125rem;\n }\n &[data-only-icon][data-size='small'] {\n --jump-button-padding: 0.5rem;\n }\n &[data-only-icon][data-size='medium'] {\n --jump-button-padding: 1rem;\n }\n &[data-only-icon][data-size='large'] {\n --jump-button-padding: 1.125rem;\n }\n\n &.chat {\n --jump-button-color: var(--neutral-white);\n --jump-button-background: hsla(133, 54%, 58%, 1);\n --jump-button-color-hover: var(--neutral-white);\n --jump-button-background-hover: hsla(161, 63%, 31%, 1);\n }\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'jump-button',\n styleUrl: 'jump-button.scss',\n shadow: false,\n})\nexport class AppButton {\n /**\n * Set the button as disabled; Vale solo per i bottoni\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Indicates the variant of the button\n */\n @Prop({reflect: true}) variant: 'primary'|'secondary'|'tertiary'|'neutral' = 'primary';\n\n /**\n * Indicates the button as outline\n */\n @Prop({reflect: true}) outline: boolean = false;\n\n /**\n * Indicates the size of the button\n */\n @Prop({reflect: true}) size: string = 'medium';\n\n /**\n * Indicates the button as pill\n */\n @Prop({reflect: true}) pill: boolean = false;\n\n /**\n * Indicates the button as text\n */\n @Prop({reflect: true}) text: boolean = false;\n\n /**\n * Indicates the button as only icon\n **/\n @Prop({reflect: true}) onlyIcon: boolean = false;\n\n /**\n * Indicates if button becames a anchor\n **/\n @Prop({reflect: true}) href: string = undefined;\n\n /**\n * Indicates the type of anchor's target \n **/\n @Prop({reflect: true}) target: '_blank' | '_parent' | '_self' | '_top'\n\n /**\n * Indicates type button\n **/\n @Prop({reflect: true}) type: 'button'|'submit'|'reset' = 'button';\n\n /**\n * Indicates the name that the sender button will send\n **/\n @Prop({reflect: true}) name: string = undefined;\n\n /**\n * Indicates the value that the sender button will send\n **/\n @Prop({reflect: true}) value: string = undefined;\n\n /**\n * Indicates the value of text alternative to an element that has no visible text on the screen\n **/\n @Prop({reflect: true}) ariaLabel: string = undefined;\n\n /**\n * Indicates classes of the component\n **/\n @Prop({reflect: true}) class: string = undefined;\n\n /**\n * Indicates classes of the component\n **/\n @Prop({reflect: true}) buttonId: string = undefined;\n\n render() {\n return (\n <Host>\n {this.href ? (\n <a href={this.href} id={this.buttonId} class={this.class} data-variant={this.variant} data-outline={this.outline} data-size={this.size} data-pill={this.pill} data-text={this.text} data-only-icon={this.onlyIcon} aria-label={this.ariaLabel} target={this.target}>\n <slot name=\"prefix\"></slot>\n {!this.onlyIcon && <slot></slot>}\n <slot name=\"suffix\"></slot>\n </a>\n ) : ( \n <button id={this.buttonId} class={this.class} data-variant={this.variant} data-outline={this.outline} data-size={this.size} data-pill={this.pill} data-text={this.text} data-only-icon={this.onlyIcon} disabled={this.disabled} aria-label={this.ariaLabel} type={this.type} name={this.name} value={this.value}>\n <slot name=\"prefix\"></slot>\n {!this.onlyIcon && <slot></slot> }\n <slot name=\"suffix\"></slot>\n </button>\n )}\n </Host>\n );\n }\n\n}\n"],"version":3}
1
+ {"file":"jump-button.js","mappings":";;AAAA,MAAM,aAAa,GAAG,ktKAAktK,CAAC;AACzuK,yBAAe,aAAa;;MCMfA,YAAU;;;;;wBAIO,KAAK;uBAK0B,SAAS;uBAKzC,KAAK;oBAKT,QAAQ;oBAKP,KAAK;oBAKL,KAAK;oBAKL,KAAK;wBAKD,KAAK;;;oBAeS,QAAQ;oBAK3B,SAAS;qBAKR,SAAS;yBAKL,SAAS;qBAKb,SAAS;wBAKN,SAAS;;IAEpC,iBAAiB;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;KACjD;IAED,MAAM;QAEJ,QACE,EAAC,IAAI,uDACF,IAAI,CAAC,IAAI,IACR,SAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,kBAAgB,IAAI,CAAC,OAAO,kBAAgB,IAAI,CAAC,OAAO,eAAa,IAAI,CAAC,IAAI,eAAa,IAAI,CAAC,IAAI,eAAa,IAAI,CAAC,IAAI,eAAa,IAAI,CAAC,IAAI,oBAAkB,IAAI,CAAC,QAAQ,gBAAc,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IACtR,YAAM,IAAI,EAAC,QAAQ,GAAQ,EAC1B,CAAC,IAAI,CAAC,QAAQ,IAAI,eAAa,EAChC,YAAM,IAAI,EAAC,QAAQ,GAAQ,CACzB,KAEJ,cAAQ,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,kBAAgB,IAAI,CAAC,OAAO,kBAAgB,IAAI,CAAC,OAAO,eAAa,IAAI,CAAC,IAAI,eAAa,IAAI,CAAC,IAAI,eAAa,IAAI,CAAC,IAAI,eAAa,IAAI,CAAC,IAAI,oBAAkB,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,gBAAc,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IACnU,YAAM,IAAI,EAAC,QAAQ,GAAQ,EAC1B,CAAC,IAAI,CAAC,QAAQ,IAAI,eAAa,EAChC,YAAM,IAAI,EAAC,QAAQ,GAAQ,CACpB,CACV,CACI,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["JumpButton"],"sources":["src/components/jump-button/jump-button.scss?tag=jump-button&encapsulation=shadow","src/components/jump-button/jump-button.tsx"],"sourcesContent":[":root {\n /*BASE COLOR RULES*/\n --neutral-grey-background: #eeeeee;\n --neutral-grey-disabled: #cbcbcb;\n --neutral-grey-primary: #282828;\n --neutral-grey-secondary: #707070;\n --neutral-white: #ffffff;\n --primary-hard: #e75a50;\n --primary-soft: #ffeae9;\n --primary-standard: #fa7268;\n --secondary-hard: #435171;\n --secondary-soft: #dde3ed;\n --secondary-standard: #5e79ba;\n --status-danger-hard: #ba250a;\n --status-danger-soft: #fdd3d1;\n --status-danger-standard: #d72c0d;\n --status-interaction-hard: #22559e;\n --status-interaction-soft: #f2f7fe;\n --status-interaction-standard: #2c6ecb;\n --status-success-hard: #156048;\n --status-success-soft: #f1f8f5;\n --status-success-standard: #1d7f60;\n --status-warning-hard: #987100;\n --status-warning-soft: #fef5ea;\n --status-warning-standard: #b98900;\n\n /*TYPOGRAPHY RULES*/\n --ff-primary: 'Inter';\n --ff-secondary: 'Prompt';\n\n --lh-300: 1.25rem;\n --lh-400: 1.5rem;\n --lh-500: 1.625rem;\n --lh-600: 2rem;\n --lh-700: 2.75rem;\n --lh-800: 3.5rem;\n --lh-850: 4.375rem;\n --lh-900: 5.5rem;\n --fs-300: 0.875rem;\n --fs-400: 1rem;\n --fs-500: 1.125rem;\n --fs-600: 1.5rem;\n --fs-700: 2.25rem;\n --fs-800: 3rem;\n --fs-850: 3.75rem;\n --fs-900: 4.5rem;\n --fw-300: 300;\n --fw-400: 400;\n --fw-900: 700;\n}\n\n%reset-button {\n background-color: transparent;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n color: inherit;\n cursor: pointer;\n}\n\n:host {\n // display: inline-flex;\n // align-items: center;\n --jump-button-color: #ffffff;\n --jump-button-color-disabled: #cbcbcb;\n --jump-button-background: var(--primary-standard);\n --jump-button-background-outline: transparent;\n --jump-button-color-hover: #ffffff;\n --jump-button-background-hover: var(--primary-hard);\n --jump-button-border-radius: var(--border-radius-1, 0.1875rem) var(--border-radius-1, 0.1875rem) var(--border-radius-1, 0.1875rem) var(--border-radius-1, 0.1875rem);\n --jump-button-padding: 1rem 1.25rem;\n\n button,\n a {\n @extend %reset-button;\n background-color: var(--jump-button-background);\n border-radius: var(--jump-button-border-radius);\n color: var(--jump-button-color);\n position: relative;\n font-family: var(--ff-primary, 'Arial'), sans-serif;\n font-weight: var(--fw-700, 700);\n font-size: var(--fs-400, 1rem);\n line-height: var(--lh-400, 1.3);\n display: flex;\n align-items: center;\n gap: var(--jump-button-gap, 0.5rem);\n text-decoration: none;\n\n //TODO: internal padding of the button\n padding: var(--jump-button-padding);\n\n // TODO: gestire il focus con un outline\n &:hover {\n background-color: var(--jump-button-background-hover);\n color: var(--jump-button-color-hover);\n }\n\n &[data-variant='primary'] {\n --jump-button-color: var(--neutral-white);\n --jump-button-background: var(--primary-standard);\n --jump-button-color-hover: var(--neutral-white);\n --jump-button-background-hover: var(--primary-hard);\n }\n\n &[data-variant='secondary'] {\n --jump-button-color: var(--neutral-white);\n --jump-button-background: var(--secondary-standard);\n --jump-button-color-hover: var(--neutral-white);\n --jump-button-background-hover: var(--secondary-hard);\n }\n\n &[data-variant='neutral'] {\n --jump-button-color: var(--neutral-white);\n --jump-button-background: var(--neutral-grey-secondary);\n --jump-button-color-hover: var(--neutral-white);\n --jump-button-background-hover: var(--neutral-grey-primary);\n }\n\n &[data-variant='white'] {\n --jump-button-color: var(--neutral-grey-primary);\n --jump-button-background: var(--neutral-white);\n --jump-button-color-hover: var(--neutral-grey-primary);\n --jump-button-background-hover: var(--neutral-grey-background);\n }\n\n &[disabled] {\n --jump-button-background: var(--jump-button-color-disabled);\n --jump-button-background-hover: var(--jump-button-color-disabled);\n cursor: not-allowed;\n }\n\n &[data-pill] {\n border-radius: 100rem;\n }\n\n &[data-size='small'] {\n font-size: var(--fs-300, 0.875rem);\n line-height: var(--lh-300, 1.2);\n --jump-button-padding: 0.65rem 1rem;\n }\n\n &[data-size='medium'] {\n font-size: var(--fs-400, 1rem);\n line-height: var(--lh-400, 1.3);\n --jump-button-padding: 0.75rem 1.25rem;\n }\n\n &[data-size='large'] {\n font-size: var(--fs-500, 1.125rem);\n line-height: var(--lh-500, 1.4);\n --jump-button-padding: 1rem 1.5rem;\n }\n\n &[data-full] {\n width: 100%;\n justify-content: center;\n }\n\n &[data-outline] {\n background-color: var(--jump-button-background-outline);\n border: 1px solid var(--jump-button-background);\n color: var(--jump-button-background);\n &:hover {\n background-color: var(--jump-button-background-hover);\n border: 1px solid var(--jump-button-background-hover);\n color: var(--jump-button-color-hover);\n }\n }\n\n &[data-text] {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background);\n padding: 0;\n &:hover {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background-hover);\n }\n }\n\n &[data-only-icon] {\n --jump-button-padding: 0.5rem;\n }\n\n &[data-only-icon][data-size='small'] {\n --jump-button-padding: 0.5rem;\n }\n &[data-only-icon][data-size='medium'] {\n --jump-button-padding: 0.875rem;\n }\n &[data-only-icon][data-size='large'] {\n --jump-button-padding: 1rem;\n }\n\n &.chat {\n --jump-button-color: var(--neutral-white);\n --jump-button-background: hsla(133, 54%, 58%, 1);\n --jump-button-color-hover: var(--neutral-white);\n --jump-button-background-hover: hsla(161, 63%, 31%, 1);\n }\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'jump-button',\n styleUrl: 'jump-button.scss',\n shadow: true,\n})\nexport class JumpButton {\n /**\n * Set the button as disabled; Vale solo per i bottoni\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Indicates the variant of the button\n */\n @Prop() variant: 'primary'|'secondary'|'white'|'neutral' = 'primary';\n\n /**\n * Indicates the button as outline\n */\n @Prop() outline: boolean = false;\n\n /**\n * Indicates the size of the button\n */\n @Prop() size: string = 'medium';\n\n /**\n * Indicates if the button is full width\n */\n @Prop() full: boolean = false;\n\n /**\n * Indicates the button as pill\n */\n @Prop() pill: boolean = false;\n\n /**\n * Indicates the button as text\n */\n @Prop() text: boolean = false;\n\n /**\n * Indicates the button as only icon\n **/\n @Prop() onlyIcon: boolean = false;\n\n /**\n * Indicates if button becames a anchor\n **/\n @Prop() href: string;\n\n /**\n * Indicates the type of anchor's target \n **/\n @Prop() target: '_blank' | '_parent' | '_self' | '_top'\n\n /**\n * Indicates type button\n **/\n @Prop() type: 'button'|'submit'|'reset' = 'button';\n\n /**\n * Indicates the name that the sender button will send\n **/\n @Prop() name: string = undefined;\n\n /**\n * Indicates the value that the sender button will send\n **/\n @Prop() value: string = undefined;\n\n /**\n * Indicates the value of text alternative to an element that has no visible text on the screen\n **/\n @Prop() ariaLabel: string = undefined;\n\n /**\n * Indicates classes of the component\n **/\n @Prop() class: string = undefined;\n\n /**\n * Indicates classes of the component\n **/\n @Prop() buttonId: string = undefined;\n\n componentWillLoad() {\n this.target = this.href ? this.target : '_self';\n }\n\n render() {\n \n return (\n <Host>\n {this.href ? (\n <a href={this.href} id={this.buttonId} class={this.class} data-variant={this.variant} data-outline={this.outline} data-size={this.size} data-full={this.full} data-pill={this.pill} data-text={this.text} data-only-icon={this.onlyIcon} aria-label={this.ariaLabel} target={this.target}>\n <slot name=\"prefix\"></slot>\n {!this.onlyIcon && <slot></slot>}\n <slot name=\"suffix\"></slot>\n </a>\n ) : ( \n <button id={this.buttonId} class={this.class} data-variant={this.variant} data-outline={this.outline} data-size={this.size} data-full={this.full} data-pill={this.pill} data-text={this.text} data-only-icon={this.onlyIcon} disabled={this.disabled} aria-label={this.ariaLabel} type={this.type} name={this.name} value={this.value}>\n <slot name=\"prefix\"></slot>\n {!this.onlyIcon && <slot></slot> }\n <slot name=\"suffix\"></slot>\n </button>\n )}\n </Host>\n );\n }\n\n}\n"],"version":3}