@jumpgroup/jump-design-system 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/app-button.cjs.entry.js +0 -1
- package/dist/cjs/app-button.cjs.entry.js.map +1 -1
- package/dist/collection/components/app-button/app-button.js +0 -1
- package/dist/collection/components/app-button/app-button.js.map +1 -1
- package/dist/collection/stories/Colors.js +46 -14
- package/dist/collection/stories/RootStyles.js +12 -0
- package/dist/components/app-button.js +0 -1
- package/dist/components/app-button.js.map +1 -1
- package/dist/esm/app-button.entry.js +0 -1
- package/dist/esm/app-button.entry.js.map +1 -1
- package/dist/jump-design-system/jump-design-system.esm.js +1 -1
- package/dist/jump-design-system/{p-90bb231d.entry.js → p-da4d9423.entry.js} +2 -2
- package/dist/jump-design-system/p-da4d9423.entry.js.map +1 -0
- package/package.json +1 -1
- package/dist/jump-design-system/p-90bb231d.entry.js.map +0 -1
|
@@ -18,7 +18,6 @@ const AppButton = class {
|
|
|
18
18
|
this.onlyIcon = false;
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
|
-
console.log(this);
|
|
22
21
|
return (index.h(index.Host, null, index.h("button", { "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 }, index.h("slot", { name: "prefix" }), !this.onlyIcon && index.h("slot", null), index.h("slot", { name: "suffix" }))));
|
|
23
22
|
}
|
|
24
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"app-button.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,YAAY,GAAG,s8FAAs8F;;MCO98F,SAAS;;;oBAIQ,KAAK;mBAKkC,SAAS;mBAKlC,KAAK;gBAKT,QAAQ;gBAKP,KAAK;gBAKL,KAAK;oBAKD,KAAK;;EAEhD,MAAM;IACJ,
|
|
1
|
+
{"file":"app-button.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,YAAY,GAAG,s8FAAs8F;;MCO98F,SAAS;;;oBAIQ,KAAK;mBAKkC,SAAS;mBAKlC,KAAK;gBAKT,QAAQ;gBAKP,KAAK;gBAKL,KAAK;oBAKD,KAAK;;EAEhD,MAAM;IACJ,QACEA,QAACC,UAAI,QACHD,oCAAsB,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,IACtLA,kBAAM,IAAI,EAAC,QAAQ,GAAQ,EAEzB,CAAC,IAAI,CAAC,QAAQ,IAAIA,qBAAa,EAEjCA,kBAAM,IAAI,EAAC,QAAQ,GAAQ,CACpB,CACJ,EACP;GACH;;;;;;","names":["h","Host"],"sources":["src/components/app-button/app-button.scss?tag=app-button","src/components/app-button/app-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\napp-button {\n display: inline-flex;\n align-items: center;\n --app-button-color: #ffffff;\n --app-button-color-disabled: #cbcbcb;\n --app-button-background: blue;\n --app-button-background-outline: transparent;\n --app-button-color-hover: #ffffff;\n --app-button-background-hover: darkblue;\n --app-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 --app-button-padding: 1rem 1.25rem;\n\n button {\n @extend %reset-button;\n background-color: var(--app-button-background);\n border-radius: var(--app-button-border-radius);\n color: var(--app-button-color);\n position: relative;\n font-family: var(--ff-primary, 'Arial'), sans-serif;\n font-weight: var(--fw-400, 400);\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(--app-button-gap, 0.5rem);\n\n //TODO: internal padding of the button\n padding: var(--app-button-padding);\n\n // TODO: gestire il focus con un outline\n &:hover {\n background-color: var(--app-button-background-hover);\n color: var(--app-button-color-hover);\n }\n\n &[data-variant='primary'] {\n --app-button-color: var(--neutral-white);\n --app-button-background: var(--primary-standard);\n --app-button-color-hover: var(--neutral-white);\n --app-button-background-hover: var(--primary-hard);\n }\n\n &[data-variant='secondary'] {\n --app-button-color: var(--neutral-white);\n --app-button-background: var(--secondary-standard);\n --app-button-color-hover: var(--neutral-white);\n --app-button-background-hover: var(--secondary-hard);\n }\n\n &[disabled] {\n --app-button-background: var(--app-button-color-disabled);\n --app-button-background-hover: var(--app-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 --app-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 --app-button-padding: 1.125rem 1.5rem;\n }\n\n &[data-outline] {\n background-color: var(--app-button-background-outline);\n border: 1px solid var(--app-button-background);\n color: var(--app-button-background);\n &:hover {\n background-color: var(--app-button-background-hover);\n border: 1px solid var(--app-button-background-hover);\n color: var(--app-button-background-hover);\n }\n }\n\n &[data-text] {\n background-color: transparent;\n border: none;\n color: var(--app-button-background);\n padding: 0;\n &:hover {\n background-color: transparent;\n border: none;\n color: var(--app-button-background-hover);\n }\n }\n\n &[data-only-icon] {\n --app-button-padding: 1.125rem;\n }\n &[data-only-icon][data-size='small'] {\n --app-button-padding: 0.5rem;\n }\n &[data-only-icon][data-size='medium'] {\n --app-button-padding: 1rem;\n }\n &[data-only-icon][data-size='large'] {\n --app-button-padding: 1.125rem;\n }\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'app-button',\n styleUrl: 'app-button.scss',\n shadow: false,\n})\nexport class AppButton {\n /**\n * Set the button as disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Indicates the variant of the button\n */\n @Prop({reflect: true}) variant: 'primary'|'secondary'|'tertiary' = '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 render() {\n return (\n <Host>\n <button 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} >\n <slot name=\"prefix\"></slot>\n {\n !this.onlyIcon && <slot></slot>\n }\n <slot name=\"suffix\"></slot>\n </button>\n </Host>\n );\n }\n\n}\n"],"version":3}
|
|
@@ -10,7 +10,6 @@ export class AppButton {
|
|
|
10
10
|
this.onlyIcon = false;
|
|
11
11
|
}
|
|
12
12
|
render() {
|
|
13
|
-
console.log(this);
|
|
14
13
|
return (h(Host, null, h("button", { "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 }, h("slot", { name: "prefix" }), !this.onlyIcon && h("slot", null), h("slot", { name: "suffix" }))));
|
|
15
14
|
}
|
|
16
15
|
static get is() { return "app-button"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-button.js","sourceRoot":"","sources":["../../../src/components/app-button/app-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,SAAS;;oBAIQ,KAAK;mBAKkC,SAAS;mBAKlC,KAAK;gBAKT,QAAQ;gBAKP,KAAK;gBAKL,KAAK;oBAKD,KAAK;;EAEhD,MAAM;IACJ,OAAO,
|
|
1
|
+
{"version":3,"file":"app-button.js","sourceRoot":"","sources":["../../../src/components/app-button/app-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,SAAS;;oBAIQ,KAAK;mBAKkC,SAAS;mBAKlC,KAAK;gBAKT,QAAQ;gBAKP,KAAK;gBAKL,KAAK;oBAKD,KAAK;;EAEhD,MAAM;IACJ,OAAO,CACL,EAAC,IAAI;MACH,8BAAsB,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;QACtL,YAAM,IAAI,EAAC,QAAQ,GAAQ;QAEzB,CAAC,IAAI,CAAC,QAAQ,IAAI,eAAa;QAEjC,YAAM,IAAI,EAAC,QAAQ,GAAQ,CACpB,CACJ,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEF","sourcesContent":["import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'app-button',\n styleUrl: 'app-button.scss',\n shadow: false,\n})\nexport class AppButton {\n /**\n * Set the button as disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Indicates the variant of the button\n */\n @Prop({reflect: true}) variant: 'primary'|'secondary'|'tertiary' = '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 render() {\n return (\n <Host>\n <button 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} >\n <slot name=\"prefix\"></slot>\n {\n !this.onlyIcon && <slot></slot>\n }\n <slot name=\"suffix\"></slot>\n </button>\n </Host>\n );\n }\n\n}\n"]}
|
|
@@ -1,14 +1,46 @@
|
|
|
1
|
-
import { colorGroupFromPalette } from '../../utils.mjs';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
let
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { getStyles, colorGroupFromPalette } from '../../utils.mjs';
|
|
2
|
+
|
|
3
|
+
let urlParams = new URLSearchParams(document.location.search);
|
|
4
|
+
let figmaBoardParam = urlParams.get("figma-board") || localStorage.getItem('figmaBoard');
|
|
5
|
+
let overrideRootStyle = urlParams.get("override-root-styles") ? true : false;
|
|
6
|
+
|
|
7
|
+
export const colorPalette = await new Promise((resolve) => {
|
|
8
|
+
resolve(getStyles(figmaBoardParam, {}, overrideRootStyle ).then( styles => {
|
|
9
|
+
const colors = styles.colors;
|
|
10
|
+
const primaryColors = colors ? colorGroupFromPalette( colors.flat_palette , 'primary') ?? [] : [];
|
|
11
|
+
const secondaryColors = colors ? colorGroupFromPalette( colors.flat_palette , 'secondary') ?? [] : [];
|
|
12
|
+
const neutralColors = colors ? colorGroupFromPalette( colors.flat_palette , 'neutral') ?? [] : [];
|
|
13
|
+
const statusColors = colors ? colorGroupFromPalette( colors.flat_palette , 'status') ?? [] : [];
|
|
14
|
+
|
|
15
|
+
return {
|
|
16
|
+
primary: primaryColors,
|
|
17
|
+
secondary: secondaryColors,
|
|
18
|
+
neutral: neutralColors,
|
|
19
|
+
status: statusColors
|
|
20
|
+
}
|
|
21
|
+
}));
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
// import { colorGroupFromPalette } from '../../utils.mjs';
|
|
25
|
+
|
|
26
|
+
// const figmaBoardId = localStorage.getItem('figmaBoard');
|
|
27
|
+
// const storedFigmaBoards = localStorage.getItem('figmaBoardList');
|
|
28
|
+
// let colors = [];
|
|
29
|
+
// if (storedFigmaBoards && figmaBoardId) {
|
|
30
|
+
// const parsedFigmaBoards = JSON.parse(storedFigmaBoards);
|
|
31
|
+
// colors = parsedFigmaBoards[figmaBoardId].colors;
|
|
32
|
+
// }
|
|
33
|
+
|
|
34
|
+
// export const primaryColors = colors ? colorGroupFromPalette( colors.flat_palette , 'primary') ?? [] : [];
|
|
35
|
+
// export const secondaryColors = colors ? colorGroupFromPalette( colors.flat_palette , 'secondary') ?? [] : [];
|
|
36
|
+
// export const neutralColors = colors ? colorGroupFromPalette( colors.flat_palette , 'neutral') ?? [] : [];
|
|
37
|
+
// export const statusColors = colors ? colorGroupFromPalette( colors.flat_palette , 'status') ?? [] : [];
|
|
38
|
+
|
|
39
|
+
// export const colorPalette = await new Promise((resolve) => {
|
|
40
|
+
// resolve({
|
|
41
|
+
// primary: primaryColors,
|
|
42
|
+
// secondary: secondaryColors,
|
|
43
|
+
// neutral: neutralColors,
|
|
44
|
+
// status: statusColors
|
|
45
|
+
// });
|
|
46
|
+
// });
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { getStyles } from '../../utils.mjs';
|
|
2
|
+
// import fs from 'fs';
|
|
3
|
+
|
|
4
|
+
let urlParams = new URLSearchParams(document.location.search);
|
|
5
|
+
let figmaBoardParam = urlParams.get("figma-board") || localStorage.getItem('figmaBoard');
|
|
6
|
+
let overrideRootStyle = urlParams.get("override-root-styles") ? true : false;
|
|
7
|
+
|
|
8
|
+
export const rootStyles = await new Promise((resolve) => {
|
|
9
|
+
resolve(getStyles(figmaBoardParam, {}, overrideRootStyle ).then( styles => {
|
|
10
|
+
return styles.rootstyles;
|
|
11
|
+
}));
|
|
12
|
+
});
|
|
@@ -15,7 +15,6 @@ const AppButton$1 = /*@__PURE__*/ proxyCustomElement(class AppButton extends HTM
|
|
|
15
15
|
this.onlyIcon = false;
|
|
16
16
|
}
|
|
17
17
|
render() {
|
|
18
|
-
console.log(this);
|
|
19
18
|
return (h(Host, null, h("button", { "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 }, h("slot", { name: "prefix" }), !this.onlyIcon && h("slot", null), h("slot", { name: "suffix" }))));
|
|
20
19
|
}
|
|
21
20
|
static get style() { return appButtonCss; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"app-button.js","mappings":";;AAAA,MAAM,YAAY,GAAG,s8FAAs8F;;MCO98FA,WAAS;;;;oBAIQ,KAAK;mBAKkC,SAAS;mBAKlC,KAAK;gBAKT,QAAQ;gBAKP,KAAK;gBAKL,KAAK;oBAKD,KAAK;;EAEhD,MAAM;IACJ,
|
|
1
|
+
{"file":"app-button.js","mappings":";;AAAA,MAAM,YAAY,GAAG,s8FAAs8F;;MCO98FA,WAAS;;;;oBAIQ,KAAK;mBAKkC,SAAS;mBAKlC,KAAK;gBAKT,QAAQ;gBAKP,KAAK;gBAKL,KAAK;oBAKD,KAAK;;EAEhD,MAAM;IACJ,QACE,EAAC,IAAI,QACH,8BAAsB,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,IACtL,YAAM,IAAI,EAAC,QAAQ,GAAQ,EAEzB,CAAC,IAAI,CAAC,QAAQ,IAAI,eAAa,EAEjC,YAAM,IAAI,EAAC,QAAQ,GAAQ,CACpB,CACJ,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AppButton"],"sources":["src/components/app-button/app-button.scss?tag=app-button","src/components/app-button/app-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\napp-button {\n display: inline-flex;\n align-items: center;\n --app-button-color: #ffffff;\n --app-button-color-disabled: #cbcbcb;\n --app-button-background: blue;\n --app-button-background-outline: transparent;\n --app-button-color-hover: #ffffff;\n --app-button-background-hover: darkblue;\n --app-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 --app-button-padding: 1rem 1.25rem;\n\n button {\n @extend %reset-button;\n background-color: var(--app-button-background);\n border-radius: var(--app-button-border-radius);\n color: var(--app-button-color);\n position: relative;\n font-family: var(--ff-primary, 'Arial'), sans-serif;\n font-weight: var(--fw-400, 400);\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(--app-button-gap, 0.5rem);\n\n //TODO: internal padding of the button\n padding: var(--app-button-padding);\n\n // TODO: gestire il focus con un outline\n &:hover {\n background-color: var(--app-button-background-hover);\n color: var(--app-button-color-hover);\n }\n\n &[data-variant='primary'] {\n --app-button-color: var(--neutral-white);\n --app-button-background: var(--primary-standard);\n --app-button-color-hover: var(--neutral-white);\n --app-button-background-hover: var(--primary-hard);\n }\n\n &[data-variant='secondary'] {\n --app-button-color: var(--neutral-white);\n --app-button-background: var(--secondary-standard);\n --app-button-color-hover: var(--neutral-white);\n --app-button-background-hover: var(--secondary-hard);\n }\n\n &[disabled] {\n --app-button-background: var(--app-button-color-disabled);\n --app-button-background-hover: var(--app-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 --app-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 --app-button-padding: 1.125rem 1.5rem;\n }\n\n &[data-outline] {\n background-color: var(--app-button-background-outline);\n border: 1px solid var(--app-button-background);\n color: var(--app-button-background);\n &:hover {\n background-color: var(--app-button-background-hover);\n border: 1px solid var(--app-button-background-hover);\n color: var(--app-button-background-hover);\n }\n }\n\n &[data-text] {\n background-color: transparent;\n border: none;\n color: var(--app-button-background);\n padding: 0;\n &:hover {\n background-color: transparent;\n border: none;\n color: var(--app-button-background-hover);\n }\n }\n\n &[data-only-icon] {\n --app-button-padding: 1.125rem;\n }\n &[data-only-icon][data-size='small'] {\n --app-button-padding: 0.5rem;\n }\n &[data-only-icon][data-size='medium'] {\n --app-button-padding: 1rem;\n }\n &[data-only-icon][data-size='large'] {\n --app-button-padding: 1.125rem;\n }\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'app-button',\n styleUrl: 'app-button.scss',\n shadow: false,\n})\nexport class AppButton {\n /**\n * Set the button as disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Indicates the variant of the button\n */\n @Prop({reflect: true}) variant: 'primary'|'secondary'|'tertiary' = '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 render() {\n return (\n <Host>\n <button 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} >\n <slot name=\"prefix\"></slot>\n {\n !this.onlyIcon && <slot></slot>\n }\n <slot name=\"suffix\"></slot>\n </button>\n </Host>\n );\n }\n\n}\n"],"version":3}
|
|
@@ -14,7 +14,6 @@ const AppButton = class {
|
|
|
14
14
|
this.onlyIcon = false;
|
|
15
15
|
}
|
|
16
16
|
render() {
|
|
17
|
-
console.log(this);
|
|
18
17
|
return (h(Host, null, h("button", { "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 }, h("slot", { name: "prefix" }), !this.onlyIcon && h("slot", null), h("slot", { name: "suffix" }))));
|
|
19
18
|
}
|
|
20
19
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"app-button.entry.js","mappings":";;AAAA,MAAM,YAAY,GAAG,s8FAAs8F;;MCO98F,SAAS;;;oBAIQ,KAAK;mBAKkC,SAAS;mBAKlC,KAAK;gBAKT,QAAQ;gBAKP,KAAK;gBAKL,KAAK;oBAKD,KAAK;;EAEhD,MAAM;IACJ,
|
|
1
|
+
{"file":"app-button.entry.js","mappings":";;AAAA,MAAM,YAAY,GAAG,s8FAAs8F;;MCO98F,SAAS;;;oBAIQ,KAAK;mBAKkC,SAAS;mBAKlC,KAAK;gBAKT,QAAQ;gBAKP,KAAK;gBAKL,KAAK;oBAKD,KAAK;;EAEhD,MAAM;IACJ,QACE,EAAC,IAAI,QACH,8BAAsB,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,IACtL,YAAM,IAAI,EAAC,QAAQ,GAAQ,EAEzB,CAAC,IAAI,CAAC,QAAQ,IAAI,eAAa,EAEjC,YAAM,IAAI,EAAC,QAAQ,GAAQ,CACpB,CACJ,EACP;GACH;;;;;;","names":[],"sources":["src/components/app-button/app-button.scss?tag=app-button","src/components/app-button/app-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\napp-button {\n display: inline-flex;\n align-items: center;\n --app-button-color: #ffffff;\n --app-button-color-disabled: #cbcbcb;\n --app-button-background: blue;\n --app-button-background-outline: transparent;\n --app-button-color-hover: #ffffff;\n --app-button-background-hover: darkblue;\n --app-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 --app-button-padding: 1rem 1.25rem;\n\n button {\n @extend %reset-button;\n background-color: var(--app-button-background);\n border-radius: var(--app-button-border-radius);\n color: var(--app-button-color);\n position: relative;\n font-family: var(--ff-primary, 'Arial'), sans-serif;\n font-weight: var(--fw-400, 400);\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(--app-button-gap, 0.5rem);\n\n //TODO: internal padding of the button\n padding: var(--app-button-padding);\n\n // TODO: gestire il focus con un outline\n &:hover {\n background-color: var(--app-button-background-hover);\n color: var(--app-button-color-hover);\n }\n\n &[data-variant='primary'] {\n --app-button-color: var(--neutral-white);\n --app-button-background: var(--primary-standard);\n --app-button-color-hover: var(--neutral-white);\n --app-button-background-hover: var(--primary-hard);\n }\n\n &[data-variant='secondary'] {\n --app-button-color: var(--neutral-white);\n --app-button-background: var(--secondary-standard);\n --app-button-color-hover: var(--neutral-white);\n --app-button-background-hover: var(--secondary-hard);\n }\n\n &[disabled] {\n --app-button-background: var(--app-button-color-disabled);\n --app-button-background-hover: var(--app-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 --app-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 --app-button-padding: 1.125rem 1.5rem;\n }\n\n &[data-outline] {\n background-color: var(--app-button-background-outline);\n border: 1px solid var(--app-button-background);\n color: var(--app-button-background);\n &:hover {\n background-color: var(--app-button-background-hover);\n border: 1px solid var(--app-button-background-hover);\n color: var(--app-button-background-hover);\n }\n }\n\n &[data-text] {\n background-color: transparent;\n border: none;\n color: var(--app-button-background);\n padding: 0;\n &:hover {\n background-color: transparent;\n border: none;\n color: var(--app-button-background-hover);\n }\n }\n\n &[data-only-icon] {\n --app-button-padding: 1.125rem;\n }\n &[data-only-icon][data-size='small'] {\n --app-button-padding: 0.5rem;\n }\n &[data-only-icon][data-size='medium'] {\n --app-button-padding: 1rem;\n }\n &[data-only-icon][data-size='large'] {\n --app-button-padding: 1.125rem;\n }\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'app-button',\n styleUrl: 'app-button.scss',\n shadow: false,\n})\nexport class AppButton {\n /**\n * Set the button as disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Indicates the variant of the button\n */\n @Prop({reflect: true}) variant: 'primary'|'secondary'|'tertiary' = '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 render() {\n return (\n <Host>\n <button 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} >\n <slot name=\"prefix\"></slot>\n {\n !this.onlyIcon && <slot></slot>\n }\n <slot name=\"suffix\"></slot>\n </button>\n </Host>\n );\n }\n\n}\n"],"version":3}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as o,b as n}from"./p-28b9ffd5.js";export{s as setNonce}from"./p-28b9ffd5.js";const t=()=>{const n=import.meta.url;const t={};if(n!==""){t.resourcesUrl=new URL(".",n).href}return o(t)};t().then((o=>n([["p-
|
|
1
|
+
import{p as o,b as n}from"./p-28b9ffd5.js";export{s as setNonce}from"./p-28b9ffd5.js";const t=()=>{const n=import.meta.url;const t={};if(n!==""){t.resourcesUrl=new URL(".",n).href}return o(t)};t().then((o=>n([["p-da4d9423",[[4,"app-button",{disabled:[4],variant:[513],outline:[516],size:[513],pill:[516],text:[516],onlyIcon:[516,"only-icon"]}]]],["p-e8515cce",[[0,"app-icon",{name:[1],class:[1]}]]]],o)));
|
|
2
2
|
//# sourceMappingURL=jump-design-system.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,h as a,H as o}from"./p-28b9ffd5.js";const r='app-button button{background-color:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}app-button{display:inline-flex;align-items:center;--app-button-color:#ffffff;--app-button-color-disabled:#cbcbcb;--app-button-background:blue;--app-button-background-outline:transparent;--app-button-color-hover:#ffffff;--app-button-background-hover:darkblue;--app-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);--app-button-padding:1rem 1.25rem}app-button button{background-color:var(--app-button-background);border-radius:var(--app-button-border-radius);color:var(--app-button-color);position:relative;font-family:var(--ff-primary, "Arial"), sans-serif;font-weight:var(--fw-400, 400);font-size:var(--fs-400, 1rem);line-height:var(--lh-400, 1.3);display:flex;align-items:center;gap:var(--app-button-gap, 0.5rem);padding:var(--app-button-padding)}app-button button:hover{background-color:var(--app-button-background-hover);color:var(--app-button-color-hover)}app-button button[data-variant=primary]{--app-button-color:var(--neutral-white);--app-button-background:var(--primary-standard);--app-button-color-hover:var(--neutral-white);--app-button-background-hover:var(--primary-hard)}app-button button[data-variant=secondary]{--app-button-color:var(--neutral-white);--app-button-background:var(--secondary-standard);--app-button-color-hover:var(--neutral-white);--app-button-background-hover:var(--secondary-hard)}app-button button[disabled]{--app-button-background:var(--app-button-color-disabled);--app-button-background-hover:var(--app-button-color-disabled);cursor:not-allowed}app-button button[data-pill]{border-radius:100rem}app-button button[data-size=small]{font-size:var(--fs-300, 0.875rem);line-height:var(--lh-300, 1.2);--app-button-padding:0.5rem 1rem}app-button button[data-size=medium]{font-size:var(--fs-400, 1rem);line-height:var(--lh-400, 1.3)}app-button button[data-size=large]{font-size:var(--fs-500, 1.125rem);line-height:var(--lh-500, 1.4);--app-button-padding:1.125rem 1.5rem}app-button button[data-outline]{background-color:var(--app-button-background-outline);border:1px solid var(--app-button-background);color:var(--app-button-background)}app-button button[data-outline]:hover{background-color:var(--app-button-background-hover);border:1px solid var(--app-button-background-hover);color:var(--app-button-background-hover)}app-button button[data-text]{background-color:transparent;border:none;color:var(--app-button-background);padding:0}app-button button[data-text]:hover{background-color:transparent;border:none;color:var(--app-button-background-hover)}app-button button[data-only-icon]{--app-button-padding:1.125rem}app-button button[data-only-icon][data-size=small]{--app-button-padding:0.5rem}app-button button[data-only-icon][data-size=medium]{--app-button-padding:1rem}app-button button[data-only-icon][data-size=large]{--app-button-padding:1.125rem}';const n=class{constructor(a){t(this,a);this.disabled=false;this.variant="primary";this.outline=false;this.size="medium";this.pill=false;this.text=false;this.onlyIcon=false}render(){
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,h as a,H as o}from"./p-28b9ffd5.js";const r='app-button button{background-color:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}app-button{display:inline-flex;align-items:center;--app-button-color:#ffffff;--app-button-color-disabled:#cbcbcb;--app-button-background:blue;--app-button-background-outline:transparent;--app-button-color-hover:#ffffff;--app-button-background-hover:darkblue;--app-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);--app-button-padding:1rem 1.25rem}app-button button{background-color:var(--app-button-background);border-radius:var(--app-button-border-radius);color:var(--app-button-color);position:relative;font-family:var(--ff-primary, "Arial"), sans-serif;font-weight:var(--fw-400, 400);font-size:var(--fs-400, 1rem);line-height:var(--lh-400, 1.3);display:flex;align-items:center;gap:var(--app-button-gap, 0.5rem);padding:var(--app-button-padding)}app-button button:hover{background-color:var(--app-button-background-hover);color:var(--app-button-color-hover)}app-button button[data-variant=primary]{--app-button-color:var(--neutral-white);--app-button-background:var(--primary-standard);--app-button-color-hover:var(--neutral-white);--app-button-background-hover:var(--primary-hard)}app-button button[data-variant=secondary]{--app-button-color:var(--neutral-white);--app-button-background:var(--secondary-standard);--app-button-color-hover:var(--neutral-white);--app-button-background-hover:var(--secondary-hard)}app-button button[disabled]{--app-button-background:var(--app-button-color-disabled);--app-button-background-hover:var(--app-button-color-disabled);cursor:not-allowed}app-button button[data-pill]{border-radius:100rem}app-button button[data-size=small]{font-size:var(--fs-300, 0.875rem);line-height:var(--lh-300, 1.2);--app-button-padding:0.5rem 1rem}app-button button[data-size=medium]{font-size:var(--fs-400, 1rem);line-height:var(--lh-400, 1.3)}app-button button[data-size=large]{font-size:var(--fs-500, 1.125rem);line-height:var(--lh-500, 1.4);--app-button-padding:1.125rem 1.5rem}app-button button[data-outline]{background-color:var(--app-button-background-outline);border:1px solid var(--app-button-background);color:var(--app-button-background)}app-button button[data-outline]:hover{background-color:var(--app-button-background-hover);border:1px solid var(--app-button-background-hover);color:var(--app-button-background-hover)}app-button button[data-text]{background-color:transparent;border:none;color:var(--app-button-background);padding:0}app-button button[data-text]:hover{background-color:transparent;border:none;color:var(--app-button-background-hover)}app-button button[data-only-icon]{--app-button-padding:1.125rem}app-button button[data-only-icon][data-size=small]{--app-button-padding:0.5rem}app-button button[data-only-icon][data-size=medium]{--app-button-padding:1rem}app-button button[data-only-icon][data-size=large]{--app-button-padding:1.125rem}';const n=class{constructor(a){t(this,a);this.disabled=false;this.variant="primary";this.outline=false;this.size="medium";this.pill=false;this.text=false;this.onlyIcon=false}render(){return a(o,null,a("button",{"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},a("slot",{name:"prefix"}),!this.onlyIcon&&a("slot",null),a("slot",{name:"suffix"})))}};n.style=r;export{n as app_button};
|
|
2
|
+
//# sourceMappingURL=p-da4d9423.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["appButtonCss","AppButton","render","h","Host","this","variant","outline","size","pill","text","onlyIcon","disabled","name"],"sources":["src/components/app-button/app-button.scss?tag=app-button","src/components/app-button/app-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\napp-button {\n display: inline-flex;\n align-items: center;\n --app-button-color: #ffffff;\n --app-button-color-disabled: #cbcbcb;\n --app-button-background: blue;\n --app-button-background-outline: transparent;\n --app-button-color-hover: #ffffff;\n --app-button-background-hover: darkblue;\n --app-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 --app-button-padding: 1rem 1.25rem;\n\n button {\n @extend %reset-button;\n background-color: var(--app-button-background);\n border-radius: var(--app-button-border-radius);\n color: var(--app-button-color);\n position: relative;\n font-family: var(--ff-primary, 'Arial'), sans-serif;\n font-weight: var(--fw-400, 400);\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(--app-button-gap, 0.5rem);\n\n //TODO: internal padding of the button\n padding: var(--app-button-padding);\n\n // TODO: gestire il focus con un outline\n &:hover {\n background-color: var(--app-button-background-hover);\n color: var(--app-button-color-hover);\n }\n\n &[data-variant='primary'] {\n --app-button-color: var(--neutral-white);\n --app-button-background: var(--primary-standard);\n --app-button-color-hover: var(--neutral-white);\n --app-button-background-hover: var(--primary-hard);\n }\n\n &[data-variant='secondary'] {\n --app-button-color: var(--neutral-white);\n --app-button-background: var(--secondary-standard);\n --app-button-color-hover: var(--neutral-white);\n --app-button-background-hover: var(--secondary-hard);\n }\n\n &[disabled] {\n --app-button-background: var(--app-button-color-disabled);\n --app-button-background-hover: var(--app-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 --app-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 --app-button-padding: 1.125rem 1.5rem;\n }\n\n &[data-outline] {\n background-color: var(--app-button-background-outline);\n border: 1px solid var(--app-button-background);\n color: var(--app-button-background);\n &:hover {\n background-color: var(--app-button-background-hover);\n border: 1px solid var(--app-button-background-hover);\n color: var(--app-button-background-hover);\n }\n }\n\n &[data-text] {\n background-color: transparent;\n border: none;\n color: var(--app-button-background);\n padding: 0;\n &:hover {\n background-color: transparent;\n border: none;\n color: var(--app-button-background-hover);\n }\n }\n\n &[data-only-icon] {\n --app-button-padding: 1.125rem;\n }\n &[data-only-icon][data-size='small'] {\n --app-button-padding: 0.5rem;\n }\n &[data-only-icon][data-size='medium'] {\n --app-button-padding: 1rem;\n }\n &[data-only-icon][data-size='large'] {\n --app-button-padding: 1.125rem;\n }\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'app-button',\n styleUrl: 'app-button.scss',\n shadow: false,\n})\nexport class AppButton {\n /**\n * Set the button as disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Indicates the variant of the button\n */\n @Prop({reflect: true}) variant: 'primary'|'secondary'|'tertiary' = '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 render() {\n return (\n <Host>\n <button 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} >\n <slot name=\"prefix\"></slot>\n {\n !this.onlyIcon && <slot></slot>\n }\n <slot name=\"suffix\"></slot>\n </button>\n </Host>\n );\n }\n\n}\n"],"mappings":"kDAAA,MAAMA,EAAe,q8F,MCORC,EAAS,M,uCAIQ,M,aAKuC,U,aAKzB,M,UAKJ,S,UAKC,M,UAKA,M,cAKI,K,CAE3CC,SACE,OACEC,EAACC,EAAI,KACHD,EAAA,yBAAsBE,KAAKC,QAAO,eAAgBD,KAAKE,QAAO,YAAaF,KAAKG,KAAI,YAAaH,KAAKI,KAAI,YAAaJ,KAAKK,KAAI,iBAAkBL,KAAKM,SAAUC,SAAUP,KAAKO,UAC9KT,EAAA,QAAMU,KAAK,YAERR,KAAKM,UAAYR,EAAA,aAEpBA,EAAA,QAAMU,KAAK,Y"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["appButtonCss","AppButton","render","console","log","this","h","Host","variant","outline","size","pill","text","onlyIcon","disabled","name"],"sources":["src/components/app-button/app-button.scss?tag=app-button","src/components/app-button/app-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\napp-button {\n display: inline-flex;\n align-items: center;\n --app-button-color: #ffffff;\n --app-button-color-disabled: #cbcbcb;\n --app-button-background: blue;\n --app-button-background-outline: transparent;\n --app-button-color-hover: #ffffff;\n --app-button-background-hover: darkblue;\n --app-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 --app-button-padding: 1rem 1.25rem;\n\n button {\n @extend %reset-button;\n background-color: var(--app-button-background);\n border-radius: var(--app-button-border-radius);\n color: var(--app-button-color);\n position: relative;\n font-family: var(--ff-primary, 'Arial'), sans-serif;\n font-weight: var(--fw-400, 400);\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(--app-button-gap, 0.5rem);\n\n //TODO: internal padding of the button\n padding: var(--app-button-padding);\n\n // TODO: gestire il focus con un outline\n &:hover {\n background-color: var(--app-button-background-hover);\n color: var(--app-button-color-hover);\n }\n\n &[data-variant='primary'] {\n --app-button-color: var(--neutral-white);\n --app-button-background: var(--primary-standard);\n --app-button-color-hover: var(--neutral-white);\n --app-button-background-hover: var(--primary-hard);\n }\n\n &[data-variant='secondary'] {\n --app-button-color: var(--neutral-white);\n --app-button-background: var(--secondary-standard);\n --app-button-color-hover: var(--neutral-white);\n --app-button-background-hover: var(--secondary-hard);\n }\n\n &[disabled] {\n --app-button-background: var(--app-button-color-disabled);\n --app-button-background-hover: var(--app-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 --app-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 --app-button-padding: 1.125rem 1.5rem;\n }\n\n &[data-outline] {\n background-color: var(--app-button-background-outline);\n border: 1px solid var(--app-button-background);\n color: var(--app-button-background);\n &:hover {\n background-color: var(--app-button-background-hover);\n border: 1px solid var(--app-button-background-hover);\n color: var(--app-button-background-hover);\n }\n }\n\n &[data-text] {\n background-color: transparent;\n border: none;\n color: var(--app-button-background);\n padding: 0;\n &:hover {\n background-color: transparent;\n border: none;\n color: var(--app-button-background-hover);\n }\n }\n\n &[data-only-icon] {\n --app-button-padding: 1.125rem;\n }\n &[data-only-icon][data-size='small'] {\n --app-button-padding: 0.5rem;\n }\n &[data-only-icon][data-size='medium'] {\n --app-button-padding: 1rem;\n }\n &[data-only-icon][data-size='large'] {\n --app-button-padding: 1.125rem;\n }\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'app-button',\n styleUrl: 'app-button.scss',\n shadow: false,\n})\nexport class AppButton {\n /**\n * Set the button as disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Indicates the variant of the button\n */\n @Prop({reflect: true}) variant: 'primary'|'secondary'|'tertiary' = '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 render() {\n console.log(this);\n return (\n <Host>\n <button 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} >\n <slot name=\"prefix\"></slot>\n {\n !this.onlyIcon && <slot></slot>\n }\n <slot name=\"suffix\"></slot>\n </button>\n </Host>\n );\n }\n\n}\n"],"mappings":"kDAAA,MAAMA,EAAe,q8F,MCORC,EAAS,M,uCAIQ,M,aAKuC,U,aAKzB,M,UAKJ,S,UAKC,M,UAKA,M,cAKI,K,CAE3CC,SACEC,QAAQC,IAAIC,MACZ,OACEC,EAACC,EAAI,KACHD,EAAA,yBAAsBD,KAAKG,QAAO,eAAgBH,KAAKI,QAAO,YAAaJ,KAAKK,KAAI,YAAaL,KAAKM,KAAI,YAAaN,KAAKO,KAAI,iBAAkBP,KAAKQ,SAAUC,SAAUT,KAAKS,UAC9KR,EAAA,QAAMS,KAAK,YAERV,KAAKQ,UAAYP,EAAA,aAEpBA,EAAA,QAAMS,KAAK,Y"}
|