@jumpgroup/jump-design-system 0.3.51 → 0.3.52
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/jump-button_2.cjs.entry.js +1 -1
- package/dist/cjs/jump-button_2.cjs.entry.js.map +1 -1
- package/dist/collection/components/jump-button/jump-button.css +1 -1
- package/dist/components/jump-button2.js +1 -1
- package/dist/components/jump-button2.js.map +1 -1
- package/dist/esm/jump-button_2.entry.js +1 -1
- package/dist/esm/jump-button_2.entry.js.map +1 -1
- package/dist/jump-design-system/jump-design-system.esm.js +1 -1
- package/dist/jump-design-system/p-6f1c7238.entry.js +2 -0
- package/dist/jump-design-system/p-6f1c7238.entry.js.map +1 -0
- package/package.json +1 -1
- package/dist/jump-design-system/p-33882a98.entry.js +0 -2
- package/dist/jump-design-system/p-33882a98.entry.js.map +0 -1
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-97b3526b.js');
|
|
6
6
|
const chunk_H33C3MRM = require('./chunk.H33C3MRM-2c09acb5.js');
|
|
7
7
|
|
|
8
|
-
const jumpButtonCss = ":host button,:host a{background-color:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}:host{--button-color:#ffffff;--button-color-disabled:#cbcbcb;--button-background:var(--primary-standard);--button-background-outline:transparent;--button-color-hover:#ffffff;--button-background-hover:var(--primary-hard);--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);--button-padding:1rem 1.25rem;display:flex}:host button{display:flex}:host a{display:inline-flex;box-sizing:border-box}:host button,:host a{background-color:var(--jump-button-background, var(--button-background));border-radius:var(--button-border-radius);color:var(--jump-button-color, var(--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:1.2;align-items:center;gap:var(--button-gap, 0.5rem);text-decoration:none;padding:var(--button-padding)}:host button:hover,:host a:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-variant=primary],:host a[data-variant=primary]{--button-color:var(--neutral-white);--button-background:var(--primary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--primary-hard)}:host button[data-variant=secondary],:host a[data-variant=secondary]{--button-color:var(--neutral-white);--button-background:var(--secondary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--secondary-hard)}:host button[data-variant=neutral],:host a[data-variant=neutral]{--button-color:var(--neutral-white);--button-background:var(--neutral-grey-secondary);--button-color-hover:var(--neutral-white);--button-background-hover:var(--neutral-grey-primary)}:host button[data-variant=white],:host a[data-variant=white]{--button-color:var(--neutral-grey-primary);--button-background:var(--neutral-white);--button-color-hover:var(--neutral-grey-primary);--button-background-hover:var(--neutral-grey-background)}:host button[disabled],:host a[disabled]{--button-background:var(--button-color-disabled);--button-background-hover:var(--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);--button-padding:0.65rem 1rem}:host button[data-size=medium],:host a[data-size=medium]{font-size:var(--fs-400, 1rem);--button-padding:0.75rem 1.25rem}:host button[data-size=large],:host a[data-size=large]{font-size:var(--fs-500, 1.125rem);--button-padding:1rem 1.5rem}:host button[data-outline],:host a[data-outline]{background-color:var(--jump-background-outline, var(--button-background-outline));border:1px solid var(--jump-button-background, var(--button-background));color:var(--jump-button-background, var(--button-background))}:host button[data-outline]:hover,:host a[data-outline]:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));border:1px solid var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-text],:host a[data-text]{background-color:transparent;border:none;color:var(--jump-button-background, var(--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, var(--button-background-hover))}:host button[data-only-icon],:host a[data-only-icon]{--button-padding:0.5rem}:host button[data-only-icon][data-size=small],:host a[data-only-icon][data-size=small]{--button-padding:0.5rem}:host button[data-only-icon][data-size=medium],:host a[data-only-icon][data-size=medium]{--button-padding:0.875rem}:host button[data-only-icon][data-size=large],:host a[data-only-icon][data-size=large]{--button-padding:1rem}:host button[data-full],:host a[data-full]{width:100%;justify-content:center}:host button.chat,:host a.chat{--button-color:var(--neutral-white);--button-background:hsla(133, 54%, 58%, 1);--button-color-hover:var(--neutral-white);--button-background-hover:hsla(161, 63%, 31%, 1)}";
|
|
8
|
+
const jumpButtonCss = ":host button,:host a{background-color:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}:host{--button-color:#ffffff;--button-color-disabled:#cbcbcb;--button-background:var(--primary-standard);--button-background-outline:transparent;--button-color-hover:#ffffff;--button-background-hover:var(--primary-hard);--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);--button-padding:1rem 1.25rem;display:flex}:host button{display:flex}:host a{display:inline-flex;box-sizing:border-box}:host button,:host a{background-color:var(--jump-button-background, var(--button-background));border-radius:var(--button-border-radius);color:var(--jump-button-color, var(--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:1.2;align-items:center;gap:var(--button-gap, 0.5rem);text-decoration:none;padding:var(--jump-button-padding, var(--button-padding))}:host button:hover,:host a:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-variant=primary],:host a[data-variant=primary]{--button-color:var(--neutral-white);--button-background:var(--primary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--primary-hard)}:host button[data-variant=secondary],:host a[data-variant=secondary]{--button-color:var(--neutral-white);--button-background:var(--secondary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--secondary-hard)}:host button[data-variant=neutral],:host a[data-variant=neutral]{--button-color:var(--neutral-white);--button-background:var(--neutral-grey-secondary);--button-color-hover:var(--neutral-white);--button-background-hover:var(--neutral-grey-primary)}:host button[data-variant=white],:host a[data-variant=white]{--button-color:var(--neutral-grey-primary);--button-background:var(--neutral-white);--button-color-hover:var(--neutral-grey-primary);--button-background-hover:var(--neutral-grey-background)}:host button[disabled],:host a[disabled]{--button-background:var(--button-color-disabled);--button-background-hover:var(--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);--button-padding:0.65rem 1rem}:host button[data-size=medium],:host a[data-size=medium]{font-size:var(--fs-400, 1rem);--button-padding:0.75rem 1.25rem}:host button[data-size=large],:host a[data-size=large]{font-size:var(--fs-500, 1.125rem);--button-padding:1rem 1.5rem}:host button[data-outline],:host a[data-outline]{background-color:var(--jump-background-outline, var(--button-background-outline));border:1px solid var(--jump-button-background, var(--button-background));color:var(--jump-button-background, var(--button-background))}:host button[data-outline]:hover,:host a[data-outline]:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));border:1px solid var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-text],:host a[data-text]{background-color:transparent;border:none;color:var(--jump-button-background, var(--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, var(--button-background-hover))}:host button[data-only-icon],:host a[data-only-icon]{--button-padding:0.5rem}:host button[data-only-icon][data-size=small],:host a[data-only-icon][data-size=small]{--button-padding:0.5rem}:host button[data-only-icon][data-size=medium],:host a[data-only-icon][data-size=medium]{--button-padding:0.875rem}:host button[data-only-icon][data-size=large],:host a[data-only-icon][data-size=large]{--button-padding:1rem}:host button[data-full],:host a[data-full]{width:100%;justify-content:center}:host button.chat,:host a.chat{--button-color:var(--neutral-white);--button-background:hsla(133, 54%, 58%, 1);--button-color-hover:var(--neutral-white);--button-background-hover:hsla(161, 63%, 31%, 1)}";
|
|
9
9
|
const JumpButtonStyle0 = jumpButtonCss;
|
|
10
10
|
|
|
11
11
|
const JumpButton = class {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"jump-button.jump-icon.entry.cjs.js","mappings":"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","names":["h","Host","SlIcon","registerIconLibrary"],"sources":["src/components/jump-button/jump-button.scss?tag=jump-button&encapsulation=shadow","src/components/jump-button/jump-button.tsx","node_modules/@shoelace-style/shoelace/dist/chunks/chunk.22M42QYS.js","src/components/jump-icon/jump-icon.scss?tag=jump-icon&encapsulation=shadow","src/components/jump-icon/jump-icon.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\n:host {\n --button-color: #ffffff;\n --button-color-disabled: #cbcbcb;\n --button-background: var(--primary-standard);\n --button-background-outline: transparent;\n --button-color-hover: #ffffff;\n --button-background-hover: var(--primary-hard);\n --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 --button-padding: 1rem 1.25rem;\n\n display: flex;\n\n button {\n display: flex;\n }\n\n a {\n display: inline-flex;\n box-sizing: border-box;\n }\n\n button,\n a {\n @extend %reset-button;\n background-color: var(--jump-button-background, var(--button-background));\n border-radius: var(--button-border-radius);\n color: var(--jump-button-color, var(--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 line-height: 1.2;\n align-items: center;\n gap: var(--button-gap, 0.5rem);\n text-decoration: none;\n\n //TODO: internal padding of the button\n padding: var(--button-padding);\n\n // TODO: gestire il focus con un outline\n &:hover {\n background-color: var(--jump-button-background-hover, var(--button-background-hover));\n color: var(--jump-button-color-hover, var(--button-color-hover));\n }\n\n &[data-variant='primary'] {\n --button-color: var(--neutral-white);\n --button-background: var(--primary-standard);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--primary-hard);\n }\n\n &[data-variant='secondary'] {\n --button-color: var(--neutral-white);\n --button-background: var(--secondary-standard);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--secondary-hard);\n }\n\n &[data-variant='neutral'] {\n --button-color: var(--neutral-white);\n --button-background: var(--neutral-grey-secondary);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--neutral-grey-primary);\n }\n\n &[data-variant='white'] {\n --button-color: var(--neutral-grey-primary);\n --button-background: var(--neutral-white);\n --button-color-hover: var(--neutral-grey-primary);\n --button-background-hover: var(--neutral-grey-background);\n }\n\n &[disabled] {\n --button-background: var(--button-color-disabled);\n --button-background-hover: var(--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 --button-padding: 0.65rem 1rem;\n }\n\n &[data-size='medium'] {\n font-size: var(--fs-400, 1rem);\n --button-padding: 0.75rem 1.25rem;\n }\n\n &[data-size='large'] {\n font-size: var(--fs-500, 1.125rem);\n --button-padding: 1rem 1.5rem;\n }\n\n &[data-outline] {\n background-color: var(--jump-background-outline, var(--button-background-outline));\n border: 1px solid var(--jump-button-background, var(--button-background));\n color: var(--jump-button-background, var(--button-background));\n &:hover {\n background-color: var(--jump-button-background-hover, var(--button-background-hover));\n border: 1px solid var(--jump-button-background-hover, var(--button-background-hover));\n color: var(--jump-button-color-hover, var(--button-color-hover));\n }\n }\n\n &[data-text] {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background, var(--button-background));\n padding: 0;\n &:hover {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background-hover, var(--button-background-hover));\n }\n }\n\n &[data-only-icon] {\n --button-padding: 0.5rem;\n }\n\n &[data-only-icon][data-size='small'] {\n --button-padding: 0.5rem;\n }\n &[data-only-icon][data-size='medium'] {\n --button-padding: 0.875rem;\n }\n &[data-only-icon][data-size='large'] {\n --button-padding: 1rem;\n }\n\n &[data-full] {\n width: 100%;\n justify-content: center;\n }\n\n &.chat {\n --button-color: var(--neutral-white);\n --button-background: hsla(133, 54%, 58%, 1);\n --button-color-hover: var(--neutral-white);\n --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","import {\n SlIcon\n} from \"./chunk.H33C3MRM.js\";\n\n// src/components/icon/icon.ts\nvar icon_default = SlIcon;\nSlIcon.define(\"sl-icon\");\n\nexport {\n icon_default\n};\n",":host {\n display: inline-flex;\n}\n\nsl-icon {\n display: inline-flex;\n // --sl-icon-width: var(--fs-400, 1rem);\n // --sl-icon-height: var(--fs-400, 1rem);\n\n &[library='lucide'] {\n width: var(--sl-icon-width);\n height: var(--sl-icon-height);\n\n &[size='small'] {\n --sl-icon-width: var(--fs-400, 1rem);\n --sl-icon-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --sl-icon-width: var(--fs-500, 1.125rem);\n --sl-icon-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --sl-icon-width: var(--fs-600, 1.5rem);\n --sl-icon-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n width: 100%;\n height: 100%;\n }\n }\n\n &[library='custom'] {\n width: var(--sl-icon-width);\n height: var(--sl-icon-height);\n\n &[size='small'] {\n --sl-icon-width: var(--fs-400, 1rem);\n --sl-icon-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --sl-icon-width: var(--fs-500, 1.125rem);\n --sl-icon-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --sl-icon-width: var(--fs-600, 1.5rem);\n --sl-icon-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n width: inherit;\n height: inherit;\n }\n }\n\n &[library='fa'] {\n font-size: var(--font-size);\n line-height: var(--line-height);\n\n &[size='small'] {\n --font-size: var(--fs-400, 1rem);\n --line-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --font-size: var(--fs-500, 1.125rem);\n --line-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --font-size: var(--fs-600, 1.5rem);\n --line-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n font-size: inherit;\n line-height: inherit;\n }\n }\n\n // width: var(--sl-icon-width);\n // height: var(--sl-icon-height);\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport '@shoelace-style/shoelace/dist/components/icon/icon.js';\nimport { registerIconLibrary } from '@shoelace-style/shoelace/dist/utilities/icon-library';\n\n@Component({\n tag: 'jump-icon',\n styleUrl: 'jump-icon.scss',\n shadow: true,\n})\nexport class JumpIcon {\n /**\n * Class of the icon\n */\n @Prop() class: string;\n /**\n * Library of the icon\n */\n @Prop() library: string = 'fa';\n\n /**\n * Name of the icon\n **/\n @Prop() name: string = 'heart';\n\n /**\n * Category of the icon\n */\n @Prop() category: 'solid' | 'sharp-light' | 'sharp-regular' | 'sharp-solid' | 'sharp-thin' | 'brands' | 'regular' | 'light' | 'thin' | 'duotone' = 'solid';\n\n /**\n * Size of the icon\n **/\n @Prop() size: string;\n\n /**\n * Label for the icon\n */\n @Prop() label: string;\n\n /**\n * Src of the icon\n */\n @Prop() src: string;\n\n componentWillLoad() {\n let libraryConfig = this.lucideLibrary;\n this.size = this.size || 'inherit';\n switch (this.library) {\n case 'fa':\n libraryConfig = this.fontAwesomeLibrary;\n break;\n\n case 'lucide':\n libraryConfig = this.lucideLibrary;\n break;\n\n default:\n break;\n }\n\n registerIconLibrary(this.library, libraryConfig);\n }\n\n render() {\n if (!this.name && !this.src) {\n return `Please set the 'name' or 'src' property to display the icon`;\n }\n\n if (this.library === 'custom') {\n return <sl-icon library={this.library} src={this.src} size={this.size} label={this.label}></sl-icon>;\n }\n if (this.library === 'lucide') {\n return <sl-icon library={this.library} name={this.name} size={this.size} label={this.label}></sl-icon>;\n }\n if (this.library === 'fa') {\n return <sl-icon library={this.library} name={this.fontAwesomeClassGenerator(this.name, this.category)} class={this.class} size={this.size} label={this.label}></sl-icon>;\n }\n }\n\n fontAwesomeClassGenerator = (name: string, category: string) => {\n let fa_class = [];\n let category_class = !category ? 'category-classic' : `category-${category}`;\n category_class && fa_class.push(category_class);\n let name_class = `name-${name}`;\n name_class && fa_class.push(name_class);\n return fa_class.join(' ');\n };\n\n fontAwesomeLibrary = {\n resolver: name => {\n const found_classes = name.split(' ');\n const category = found_classes.find(c => c.startsWith('category-')).replace('category-', '');\n const icon_name = found_classes.find(c => c.startsWith('name-')).replace('name-', '');\n\n return `https://designsystem-media.jumpgroup.it/svgs/${category}/${icon_name}.svg`;\n },\n mutator: svg => svg.setAttribute('fill', 'currentColor'),\n };\n\n lucideLibrary = {\n resolver: name => `https://cdn.jsdelivr.net/npm/lucide-static@0.16.29/icons/${name}.svg`,\n };\n}\n"],"version":3}
|
|
1
|
+
{"file":"jump-button.jump-icon.entry.cjs.js","mappings":"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","names":["h","Host","SlIcon","registerIconLibrary"],"sources":["src/components/jump-button/jump-button.scss?tag=jump-button&encapsulation=shadow","src/components/jump-button/jump-button.tsx","node_modules/@shoelace-style/shoelace/dist/chunks/chunk.22M42QYS.js","src/components/jump-icon/jump-icon.scss?tag=jump-icon&encapsulation=shadow","src/components/jump-icon/jump-icon.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\n:host {\n --button-color: #ffffff;\n --button-color-disabled: #cbcbcb;\n --button-background: var(--primary-standard);\n --button-background-outline: transparent;\n --button-color-hover: #ffffff;\n --button-background-hover: var(--primary-hard);\n --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 --button-padding: 1rem 1.25rem;\n\n display: flex;\n\n button {\n display: flex;\n }\n\n a {\n display: inline-flex;\n box-sizing: border-box;\n }\n\n button,\n a {\n @extend %reset-button;\n background-color: var(--jump-button-background, var(--button-background));\n border-radius: var(--button-border-radius);\n color: var(--jump-button-color, var(--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 line-height: 1.2;\n align-items: center;\n gap: var(--button-gap, 0.5rem);\n text-decoration: none;\n\n padding: var(--jump-button-padding, var(--button-padding));\n\n // TODO: gestire il focus con un outline\n &:hover {\n background-color: var(--jump-button-background-hover, var(--button-background-hover));\n color: var(--jump-button-color-hover, var(--button-color-hover));\n }\n\n &[data-variant='primary'] {\n --button-color: var(--neutral-white);\n --button-background: var(--primary-standard);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--primary-hard);\n }\n\n &[data-variant='secondary'] {\n --button-color: var(--neutral-white);\n --button-background: var(--secondary-standard);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--secondary-hard);\n }\n\n &[data-variant='neutral'] {\n --button-color: var(--neutral-white);\n --button-background: var(--neutral-grey-secondary);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--neutral-grey-primary);\n }\n\n &[data-variant='white'] {\n --button-color: var(--neutral-grey-primary);\n --button-background: var(--neutral-white);\n --button-color-hover: var(--neutral-grey-primary);\n --button-background-hover: var(--neutral-grey-background);\n }\n\n &[disabled] {\n --button-background: var(--button-color-disabled);\n --button-background-hover: var(--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 --button-padding: 0.65rem 1rem;\n }\n\n &[data-size='medium'] {\n font-size: var(--fs-400, 1rem);\n --button-padding: 0.75rem 1.25rem;\n }\n\n &[data-size='large'] {\n font-size: var(--fs-500, 1.125rem);\n --button-padding: 1rem 1.5rem;\n }\n\n &[data-outline] {\n background-color: var(--jump-background-outline, var(--button-background-outline));\n border: 1px solid var(--jump-button-background, var(--button-background));\n color: var(--jump-button-background, var(--button-background));\n &:hover {\n background-color: var(--jump-button-background-hover, var(--button-background-hover));\n border: 1px solid var(--jump-button-background-hover, var(--button-background-hover));\n color: var(--jump-button-color-hover, var(--button-color-hover));\n }\n }\n\n &[data-text] {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background, var(--button-background));\n padding: 0;\n &:hover {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background-hover, var(--button-background-hover));\n }\n }\n\n &[data-only-icon] {\n --button-padding: 0.5rem;\n }\n\n &[data-only-icon][data-size='small'] {\n --button-padding: 0.5rem;\n }\n &[data-only-icon][data-size='medium'] {\n --button-padding: 0.875rem;\n }\n &[data-only-icon][data-size='large'] {\n --button-padding: 1rem;\n }\n\n &[data-full] {\n width: 100%;\n justify-content: center;\n }\n\n &.chat {\n --button-color: var(--neutral-white);\n --button-background: hsla(133, 54%, 58%, 1);\n --button-color-hover: var(--neutral-white);\n --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","import {\n SlIcon\n} from \"./chunk.H33C3MRM.js\";\n\n// src/components/icon/icon.ts\nvar icon_default = SlIcon;\nSlIcon.define(\"sl-icon\");\n\nexport {\n icon_default\n};\n",":host {\n display: inline-flex;\n}\n\nsl-icon {\n display: inline-flex;\n // --sl-icon-width: var(--fs-400, 1rem);\n // --sl-icon-height: var(--fs-400, 1rem);\n\n &[library='lucide'] {\n width: var(--sl-icon-width);\n height: var(--sl-icon-height);\n\n &[size='small'] {\n --sl-icon-width: var(--fs-400, 1rem);\n --sl-icon-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --sl-icon-width: var(--fs-500, 1.125rem);\n --sl-icon-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --sl-icon-width: var(--fs-600, 1.5rem);\n --sl-icon-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n width: 100%;\n height: 100%;\n }\n }\n\n &[library='custom'] {\n width: var(--sl-icon-width);\n height: var(--sl-icon-height);\n\n &[size='small'] {\n --sl-icon-width: var(--fs-400, 1rem);\n --sl-icon-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --sl-icon-width: var(--fs-500, 1.125rem);\n --sl-icon-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --sl-icon-width: var(--fs-600, 1.5rem);\n --sl-icon-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n width: inherit;\n height: inherit;\n }\n }\n\n &[library='fa'] {\n font-size: var(--font-size);\n line-height: var(--line-height);\n\n &[size='small'] {\n --font-size: var(--fs-400, 1rem);\n --line-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --font-size: var(--fs-500, 1.125rem);\n --line-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --font-size: var(--fs-600, 1.5rem);\n --line-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n font-size: inherit;\n line-height: inherit;\n }\n }\n\n // width: var(--sl-icon-width);\n // height: var(--sl-icon-height);\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport '@shoelace-style/shoelace/dist/components/icon/icon.js';\nimport { registerIconLibrary } from '@shoelace-style/shoelace/dist/utilities/icon-library';\n\n@Component({\n tag: 'jump-icon',\n styleUrl: 'jump-icon.scss',\n shadow: true,\n})\nexport class JumpIcon {\n /**\n * Class of the icon\n */\n @Prop() class: string;\n /**\n * Library of the icon\n */\n @Prop() library: string = 'fa';\n\n /**\n * Name of the icon\n **/\n @Prop() name: string = 'heart';\n\n /**\n * Category of the icon\n */\n @Prop() category: 'solid' | 'sharp-light' | 'sharp-regular' | 'sharp-solid' | 'sharp-thin' | 'brands' | 'regular' | 'light' | 'thin' | 'duotone' = 'solid';\n\n /**\n * Size of the icon\n **/\n @Prop() size: string;\n\n /**\n * Label for the icon\n */\n @Prop() label: string;\n\n /**\n * Src of the icon\n */\n @Prop() src: string;\n\n componentWillLoad() {\n let libraryConfig = this.lucideLibrary;\n this.size = this.size || 'inherit';\n switch (this.library) {\n case 'fa':\n libraryConfig = this.fontAwesomeLibrary;\n break;\n\n case 'lucide':\n libraryConfig = this.lucideLibrary;\n break;\n\n default:\n break;\n }\n\n registerIconLibrary(this.library, libraryConfig);\n }\n\n render() {\n if (!this.name && !this.src) {\n return `Please set the 'name' or 'src' property to display the icon`;\n }\n\n if (this.library === 'custom') {\n return <sl-icon library={this.library} src={this.src} size={this.size} label={this.label}></sl-icon>;\n }\n if (this.library === 'lucide') {\n return <sl-icon library={this.library} name={this.name} size={this.size} label={this.label}></sl-icon>;\n }\n if (this.library === 'fa') {\n return <sl-icon library={this.library} name={this.fontAwesomeClassGenerator(this.name, this.category)} class={this.class} size={this.size} label={this.label}></sl-icon>;\n }\n }\n\n fontAwesomeClassGenerator = (name: string, category: string) => {\n let fa_class = [];\n let category_class = !category ? 'category-classic' : `category-${category}`;\n category_class && fa_class.push(category_class);\n let name_class = `name-${name}`;\n name_class && fa_class.push(name_class);\n return fa_class.join(' ');\n };\n\n fontAwesomeLibrary = {\n resolver: name => {\n const found_classes = name.split(' ');\n const category = found_classes.find(c => c.startsWith('category-')).replace('category-', '');\n const icon_name = found_classes.find(c => c.startsWith('name-')).replace('name-', '');\n\n return `https://designsystem-media.jumpgroup.it/svgs/${category}/${icon_name}.svg`;\n },\n mutator: svg => svg.setAttribute('fill', 'currentColor'),\n };\n\n lucideLibrary = {\n resolver: name => `https://cdn.jsdelivr.net/npm/lucide-static@0.16.29/icons/${name}.svg`,\n };\n}\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
2
|
|
|
3
|
-
const jumpButtonCss = ":host button,:host a{background-color:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}:host{--button-color:#ffffff;--button-color-disabled:#cbcbcb;--button-background:var(--primary-standard);--button-background-outline:transparent;--button-color-hover:#ffffff;--button-background-hover:var(--primary-hard);--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);--button-padding:1rem 1.25rem;display:flex}:host button{display:flex}:host a{display:inline-flex;box-sizing:border-box}:host button,:host a{background-color:var(--jump-button-background, var(--button-background));border-radius:var(--button-border-radius);color:var(--jump-button-color, var(--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:1.2;align-items:center;gap:var(--button-gap, 0.5rem);text-decoration:none;padding:var(--button-padding)}:host button:hover,:host a:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-variant=primary],:host a[data-variant=primary]{--button-color:var(--neutral-white);--button-background:var(--primary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--primary-hard)}:host button[data-variant=secondary],:host a[data-variant=secondary]{--button-color:var(--neutral-white);--button-background:var(--secondary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--secondary-hard)}:host button[data-variant=neutral],:host a[data-variant=neutral]{--button-color:var(--neutral-white);--button-background:var(--neutral-grey-secondary);--button-color-hover:var(--neutral-white);--button-background-hover:var(--neutral-grey-primary)}:host button[data-variant=white],:host a[data-variant=white]{--button-color:var(--neutral-grey-primary);--button-background:var(--neutral-white);--button-color-hover:var(--neutral-grey-primary);--button-background-hover:var(--neutral-grey-background)}:host button[disabled],:host a[disabled]{--button-background:var(--button-color-disabled);--button-background-hover:var(--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);--button-padding:0.65rem 1rem}:host button[data-size=medium],:host a[data-size=medium]{font-size:var(--fs-400, 1rem);--button-padding:0.75rem 1.25rem}:host button[data-size=large],:host a[data-size=large]{font-size:var(--fs-500, 1.125rem);--button-padding:1rem 1.5rem}:host button[data-outline],:host a[data-outline]{background-color:var(--jump-background-outline, var(--button-background-outline));border:1px solid var(--jump-button-background, var(--button-background));color:var(--jump-button-background, var(--button-background))}:host button[data-outline]:hover,:host a[data-outline]:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));border:1px solid var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-text],:host a[data-text]{background-color:transparent;border:none;color:var(--jump-button-background, var(--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, var(--button-background-hover))}:host button[data-only-icon],:host a[data-only-icon]{--button-padding:0.5rem}:host button[data-only-icon][data-size=small],:host a[data-only-icon][data-size=small]{--button-padding:0.5rem}:host button[data-only-icon][data-size=medium],:host a[data-only-icon][data-size=medium]{--button-padding:0.875rem}:host button[data-only-icon][data-size=large],:host a[data-only-icon][data-size=large]{--button-padding:1rem}:host button[data-full],:host a[data-full]{width:100%;justify-content:center}:host button.chat,:host a.chat{--button-color:var(--neutral-white);--button-background:hsla(133, 54%, 58%, 1);--button-color-hover:var(--neutral-white);--button-background-hover:hsla(161, 63%, 31%, 1)}";
|
|
3
|
+
const jumpButtonCss = ":host button,:host a{background-color:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}:host{--button-color:#ffffff;--button-color-disabled:#cbcbcb;--button-background:var(--primary-standard);--button-background-outline:transparent;--button-color-hover:#ffffff;--button-background-hover:var(--primary-hard);--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);--button-padding:1rem 1.25rem;display:flex}:host button{display:flex}:host a{display:inline-flex;box-sizing:border-box}:host button,:host a{background-color:var(--jump-button-background, var(--button-background));border-radius:var(--button-border-radius);color:var(--jump-button-color, var(--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:1.2;align-items:center;gap:var(--button-gap, 0.5rem);text-decoration:none;padding:var(--jump-button-padding, var(--button-padding))}:host button:hover,:host a:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-variant=primary],:host a[data-variant=primary]{--button-color:var(--neutral-white);--button-background:var(--primary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--primary-hard)}:host button[data-variant=secondary],:host a[data-variant=secondary]{--button-color:var(--neutral-white);--button-background:var(--secondary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--secondary-hard)}:host button[data-variant=neutral],:host a[data-variant=neutral]{--button-color:var(--neutral-white);--button-background:var(--neutral-grey-secondary);--button-color-hover:var(--neutral-white);--button-background-hover:var(--neutral-grey-primary)}:host button[data-variant=white],:host a[data-variant=white]{--button-color:var(--neutral-grey-primary);--button-background:var(--neutral-white);--button-color-hover:var(--neutral-grey-primary);--button-background-hover:var(--neutral-grey-background)}:host button[disabled],:host a[disabled]{--button-background:var(--button-color-disabled);--button-background-hover:var(--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);--button-padding:0.65rem 1rem}:host button[data-size=medium],:host a[data-size=medium]{font-size:var(--fs-400, 1rem);--button-padding:0.75rem 1.25rem}:host button[data-size=large],:host a[data-size=large]{font-size:var(--fs-500, 1.125rem);--button-padding:1rem 1.5rem}:host button[data-outline],:host a[data-outline]{background-color:var(--jump-background-outline, var(--button-background-outline));border:1px solid var(--jump-button-background, var(--button-background));color:var(--jump-button-background, var(--button-background))}:host button[data-outline]:hover,:host a[data-outline]:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));border:1px solid var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-text],:host a[data-text]{background-color:transparent;border:none;color:var(--jump-button-background, var(--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, var(--button-background-hover))}:host button[data-only-icon],:host a[data-only-icon]{--button-padding:0.5rem}:host button[data-only-icon][data-size=small],:host a[data-only-icon][data-size=small]{--button-padding:0.5rem}:host button[data-only-icon][data-size=medium],:host a[data-only-icon][data-size=medium]{--button-padding:0.875rem}:host button[data-only-icon][data-size=large],:host a[data-only-icon][data-size=large]{--button-padding:1rem}:host button[data-full],:host a[data-full]{width:100%;justify-content:center}:host button.chat,:host a.chat{--button-color:var(--neutral-white);--button-background:hsla(133, 54%, 58%, 1);--button-color-hover:var(--neutral-white);--button-background-hover:hsla(161, 63%, 31%, 1)}";
|
|
4
4
|
const JumpButtonStyle0 = jumpButtonCss;
|
|
5
5
|
|
|
6
6
|
const JumpButton = /*@__PURE__*/ proxyCustomElement(class JumpButton extends HTMLElement {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"jump-button2.js","mappings":";;AAAA,MAAM,aAAa,GAAG,
|
|
1
|
+
{"file":"jump-button2.js","mappings":";;AAAA,MAAM,aAAa,GAAG,mzIAAmzI,CAAC;AAC10I,yBAAe,aAAa;;MCMf,UAAU;;;;;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":[],"sources":["src/components/jump-button/jump-button.scss?tag=jump-button&encapsulation=shadow","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\n:host {\n --button-color: #ffffff;\n --button-color-disabled: #cbcbcb;\n --button-background: var(--primary-standard);\n --button-background-outline: transparent;\n --button-color-hover: #ffffff;\n --button-background-hover: var(--primary-hard);\n --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 --button-padding: 1rem 1.25rem;\n\n display: flex;\n\n button {\n display: flex;\n }\n\n a {\n display: inline-flex;\n box-sizing: border-box;\n }\n\n button,\n a {\n @extend %reset-button;\n background-color: var(--jump-button-background, var(--button-background));\n border-radius: var(--button-border-radius);\n color: var(--jump-button-color, var(--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 line-height: 1.2;\n align-items: center;\n gap: var(--button-gap, 0.5rem);\n text-decoration: none;\n\n padding: var(--jump-button-padding, var(--button-padding));\n\n // TODO: gestire il focus con un outline\n &:hover {\n background-color: var(--jump-button-background-hover, var(--button-background-hover));\n color: var(--jump-button-color-hover, var(--button-color-hover));\n }\n\n &[data-variant='primary'] {\n --button-color: var(--neutral-white);\n --button-background: var(--primary-standard);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--primary-hard);\n }\n\n &[data-variant='secondary'] {\n --button-color: var(--neutral-white);\n --button-background: var(--secondary-standard);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--secondary-hard);\n }\n\n &[data-variant='neutral'] {\n --button-color: var(--neutral-white);\n --button-background: var(--neutral-grey-secondary);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--neutral-grey-primary);\n }\n\n &[data-variant='white'] {\n --button-color: var(--neutral-grey-primary);\n --button-background: var(--neutral-white);\n --button-color-hover: var(--neutral-grey-primary);\n --button-background-hover: var(--neutral-grey-background);\n }\n\n &[disabled] {\n --button-background: var(--button-color-disabled);\n --button-background-hover: var(--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 --button-padding: 0.65rem 1rem;\n }\n\n &[data-size='medium'] {\n font-size: var(--fs-400, 1rem);\n --button-padding: 0.75rem 1.25rem;\n }\n\n &[data-size='large'] {\n font-size: var(--fs-500, 1.125rem);\n --button-padding: 1rem 1.5rem;\n }\n\n &[data-outline] {\n background-color: var(--jump-background-outline, var(--button-background-outline));\n border: 1px solid var(--jump-button-background, var(--button-background));\n color: var(--jump-button-background, var(--button-background));\n &:hover {\n background-color: var(--jump-button-background-hover, var(--button-background-hover));\n border: 1px solid var(--jump-button-background-hover, var(--button-background-hover));\n color: var(--jump-button-color-hover, var(--button-color-hover));\n }\n }\n\n &[data-text] {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background, var(--button-background));\n padding: 0;\n &:hover {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background-hover, var(--button-background-hover));\n }\n }\n\n &[data-only-icon] {\n --button-padding: 0.5rem;\n }\n\n &[data-only-icon][data-size='small'] {\n --button-padding: 0.5rem;\n }\n &[data-only-icon][data-size='medium'] {\n --button-padding: 0.875rem;\n }\n &[data-only-icon][data-size='large'] {\n --button-padding: 1rem;\n }\n\n &[data-full] {\n width: 100%;\n justify-content: center;\n }\n\n &.chat {\n --button-color: var(--neutral-white);\n --button-background: hsla(133, 54%, 58%, 1);\n --button-color-hover: var(--neutral-white);\n --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}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host } from './index-14b73bd6.js';
|
|
2
2
|
import { S as SlIcon, g as registerIconLibrary } from './chunk.H33C3MRM-632f8755.js';
|
|
3
3
|
|
|
4
|
-
const jumpButtonCss = ":host button,:host a{background-color:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}:host{--button-color:#ffffff;--button-color-disabled:#cbcbcb;--button-background:var(--primary-standard);--button-background-outline:transparent;--button-color-hover:#ffffff;--button-background-hover:var(--primary-hard);--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);--button-padding:1rem 1.25rem;display:flex}:host button{display:flex}:host a{display:inline-flex;box-sizing:border-box}:host button,:host a{background-color:var(--jump-button-background, var(--button-background));border-radius:var(--button-border-radius);color:var(--jump-button-color, var(--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:1.2;align-items:center;gap:var(--button-gap, 0.5rem);text-decoration:none;padding:var(--button-padding)}:host button:hover,:host a:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-variant=primary],:host a[data-variant=primary]{--button-color:var(--neutral-white);--button-background:var(--primary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--primary-hard)}:host button[data-variant=secondary],:host a[data-variant=secondary]{--button-color:var(--neutral-white);--button-background:var(--secondary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--secondary-hard)}:host button[data-variant=neutral],:host a[data-variant=neutral]{--button-color:var(--neutral-white);--button-background:var(--neutral-grey-secondary);--button-color-hover:var(--neutral-white);--button-background-hover:var(--neutral-grey-primary)}:host button[data-variant=white],:host a[data-variant=white]{--button-color:var(--neutral-grey-primary);--button-background:var(--neutral-white);--button-color-hover:var(--neutral-grey-primary);--button-background-hover:var(--neutral-grey-background)}:host button[disabled],:host a[disabled]{--button-background:var(--button-color-disabled);--button-background-hover:var(--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);--button-padding:0.65rem 1rem}:host button[data-size=medium],:host a[data-size=medium]{font-size:var(--fs-400, 1rem);--button-padding:0.75rem 1.25rem}:host button[data-size=large],:host a[data-size=large]{font-size:var(--fs-500, 1.125rem);--button-padding:1rem 1.5rem}:host button[data-outline],:host a[data-outline]{background-color:var(--jump-background-outline, var(--button-background-outline));border:1px solid var(--jump-button-background, var(--button-background));color:var(--jump-button-background, var(--button-background))}:host button[data-outline]:hover,:host a[data-outline]:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));border:1px solid var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-text],:host a[data-text]{background-color:transparent;border:none;color:var(--jump-button-background, var(--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, var(--button-background-hover))}:host button[data-only-icon],:host a[data-only-icon]{--button-padding:0.5rem}:host button[data-only-icon][data-size=small],:host a[data-only-icon][data-size=small]{--button-padding:0.5rem}:host button[data-only-icon][data-size=medium],:host a[data-only-icon][data-size=medium]{--button-padding:0.875rem}:host button[data-only-icon][data-size=large],:host a[data-only-icon][data-size=large]{--button-padding:1rem}:host button[data-full],:host a[data-full]{width:100%;justify-content:center}:host button.chat,:host a.chat{--button-color:var(--neutral-white);--button-background:hsla(133, 54%, 58%, 1);--button-color-hover:var(--neutral-white);--button-background-hover:hsla(161, 63%, 31%, 1)}";
|
|
4
|
+
const jumpButtonCss = ":host button,:host a{background-color:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}:host{--button-color:#ffffff;--button-color-disabled:#cbcbcb;--button-background:var(--primary-standard);--button-background-outline:transparent;--button-color-hover:#ffffff;--button-background-hover:var(--primary-hard);--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);--button-padding:1rem 1.25rem;display:flex}:host button{display:flex}:host a{display:inline-flex;box-sizing:border-box}:host button,:host a{background-color:var(--jump-button-background, var(--button-background));border-radius:var(--button-border-radius);color:var(--jump-button-color, var(--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:1.2;align-items:center;gap:var(--button-gap, 0.5rem);text-decoration:none;padding:var(--jump-button-padding, var(--button-padding))}:host button:hover,:host a:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-variant=primary],:host a[data-variant=primary]{--button-color:var(--neutral-white);--button-background:var(--primary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--primary-hard)}:host button[data-variant=secondary],:host a[data-variant=secondary]{--button-color:var(--neutral-white);--button-background:var(--secondary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--secondary-hard)}:host button[data-variant=neutral],:host a[data-variant=neutral]{--button-color:var(--neutral-white);--button-background:var(--neutral-grey-secondary);--button-color-hover:var(--neutral-white);--button-background-hover:var(--neutral-grey-primary)}:host button[data-variant=white],:host a[data-variant=white]{--button-color:var(--neutral-grey-primary);--button-background:var(--neutral-white);--button-color-hover:var(--neutral-grey-primary);--button-background-hover:var(--neutral-grey-background)}:host button[disabled],:host a[disabled]{--button-background:var(--button-color-disabled);--button-background-hover:var(--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);--button-padding:0.65rem 1rem}:host button[data-size=medium],:host a[data-size=medium]{font-size:var(--fs-400, 1rem);--button-padding:0.75rem 1.25rem}:host button[data-size=large],:host a[data-size=large]{font-size:var(--fs-500, 1.125rem);--button-padding:1rem 1.5rem}:host button[data-outline],:host a[data-outline]{background-color:var(--jump-background-outline, var(--button-background-outline));border:1px solid var(--jump-button-background, var(--button-background));color:var(--jump-button-background, var(--button-background))}:host button[data-outline]:hover,:host a[data-outline]:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));border:1px solid var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-text],:host a[data-text]{background-color:transparent;border:none;color:var(--jump-button-background, var(--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, var(--button-background-hover))}:host button[data-only-icon],:host a[data-only-icon]{--button-padding:0.5rem}:host button[data-only-icon][data-size=small],:host a[data-only-icon][data-size=small]{--button-padding:0.5rem}:host button[data-only-icon][data-size=medium],:host a[data-only-icon][data-size=medium]{--button-padding:0.875rem}:host button[data-only-icon][data-size=large],:host a[data-only-icon][data-size=large]{--button-padding:1rem}:host button[data-full],:host a[data-full]{width:100%;justify-content:center}:host button.chat,:host a.chat{--button-color:var(--neutral-white);--button-background:hsla(133, 54%, 58%, 1);--button-color-hover:var(--neutral-white);--button-background-hover:hsla(161, 63%, 31%, 1)}";
|
|
5
5
|
const JumpButtonStyle0 = jumpButtonCss;
|
|
6
6
|
|
|
7
7
|
const JumpButton = class {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"jump-button.jump-icon.entry.js","mappings":"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","names":[],"sources":["src/components/jump-button/jump-button.scss?tag=jump-button&encapsulation=shadow","src/components/jump-button/jump-button.tsx","node_modules/@shoelace-style/shoelace/dist/chunks/chunk.22M42QYS.js","src/components/jump-icon/jump-icon.scss?tag=jump-icon&encapsulation=shadow","src/components/jump-icon/jump-icon.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\n:host {\n --button-color: #ffffff;\n --button-color-disabled: #cbcbcb;\n --button-background: var(--primary-standard);\n --button-background-outline: transparent;\n --button-color-hover: #ffffff;\n --button-background-hover: var(--primary-hard);\n --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 --button-padding: 1rem 1.25rem;\n\n display: flex;\n\n button {\n display: flex;\n }\n\n a {\n display: inline-flex;\n box-sizing: border-box;\n }\n\n button,\n a {\n @extend %reset-button;\n background-color: var(--jump-button-background, var(--button-background));\n border-radius: var(--button-border-radius);\n color: var(--jump-button-color, var(--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 line-height: 1.2;\n align-items: center;\n gap: var(--button-gap, 0.5rem);\n text-decoration: none;\n\n //TODO: internal padding of the button\n padding: var(--button-padding);\n\n // TODO: gestire il focus con un outline\n &:hover {\n background-color: var(--jump-button-background-hover, var(--button-background-hover));\n color: var(--jump-button-color-hover, var(--button-color-hover));\n }\n\n &[data-variant='primary'] {\n --button-color: var(--neutral-white);\n --button-background: var(--primary-standard);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--primary-hard);\n }\n\n &[data-variant='secondary'] {\n --button-color: var(--neutral-white);\n --button-background: var(--secondary-standard);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--secondary-hard);\n }\n\n &[data-variant='neutral'] {\n --button-color: var(--neutral-white);\n --button-background: var(--neutral-grey-secondary);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--neutral-grey-primary);\n }\n\n &[data-variant='white'] {\n --button-color: var(--neutral-grey-primary);\n --button-background: var(--neutral-white);\n --button-color-hover: var(--neutral-grey-primary);\n --button-background-hover: var(--neutral-grey-background);\n }\n\n &[disabled] {\n --button-background: var(--button-color-disabled);\n --button-background-hover: var(--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 --button-padding: 0.65rem 1rem;\n }\n\n &[data-size='medium'] {\n font-size: var(--fs-400, 1rem);\n --button-padding: 0.75rem 1.25rem;\n }\n\n &[data-size='large'] {\n font-size: var(--fs-500, 1.125rem);\n --button-padding: 1rem 1.5rem;\n }\n\n &[data-outline] {\n background-color: var(--jump-background-outline, var(--button-background-outline));\n border: 1px solid var(--jump-button-background, var(--button-background));\n color: var(--jump-button-background, var(--button-background));\n &:hover {\n background-color: var(--jump-button-background-hover, var(--button-background-hover));\n border: 1px solid var(--jump-button-background-hover, var(--button-background-hover));\n color: var(--jump-button-color-hover, var(--button-color-hover));\n }\n }\n\n &[data-text] {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background, var(--button-background));\n padding: 0;\n &:hover {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background-hover, var(--button-background-hover));\n }\n }\n\n &[data-only-icon] {\n --button-padding: 0.5rem;\n }\n\n &[data-only-icon][data-size='small'] {\n --button-padding: 0.5rem;\n }\n &[data-only-icon][data-size='medium'] {\n --button-padding: 0.875rem;\n }\n &[data-only-icon][data-size='large'] {\n --button-padding: 1rem;\n }\n\n &[data-full] {\n width: 100%;\n justify-content: center;\n }\n\n &.chat {\n --button-color: var(--neutral-white);\n --button-background: hsla(133, 54%, 58%, 1);\n --button-color-hover: var(--neutral-white);\n --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","import {\n SlIcon\n} from \"./chunk.H33C3MRM.js\";\n\n// src/components/icon/icon.ts\nvar icon_default = SlIcon;\nSlIcon.define(\"sl-icon\");\n\nexport {\n icon_default\n};\n",":host {\n display: inline-flex;\n}\n\nsl-icon {\n display: inline-flex;\n // --sl-icon-width: var(--fs-400, 1rem);\n // --sl-icon-height: var(--fs-400, 1rem);\n\n &[library='lucide'] {\n width: var(--sl-icon-width);\n height: var(--sl-icon-height);\n\n &[size='small'] {\n --sl-icon-width: var(--fs-400, 1rem);\n --sl-icon-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --sl-icon-width: var(--fs-500, 1.125rem);\n --sl-icon-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --sl-icon-width: var(--fs-600, 1.5rem);\n --sl-icon-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n width: 100%;\n height: 100%;\n }\n }\n\n &[library='custom'] {\n width: var(--sl-icon-width);\n height: var(--sl-icon-height);\n\n &[size='small'] {\n --sl-icon-width: var(--fs-400, 1rem);\n --sl-icon-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --sl-icon-width: var(--fs-500, 1.125rem);\n --sl-icon-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --sl-icon-width: var(--fs-600, 1.5rem);\n --sl-icon-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n width: inherit;\n height: inherit;\n }\n }\n\n &[library='fa'] {\n font-size: var(--font-size);\n line-height: var(--line-height);\n\n &[size='small'] {\n --font-size: var(--fs-400, 1rem);\n --line-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --font-size: var(--fs-500, 1.125rem);\n --line-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --font-size: var(--fs-600, 1.5rem);\n --line-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n font-size: inherit;\n line-height: inherit;\n }\n }\n\n // width: var(--sl-icon-width);\n // height: var(--sl-icon-height);\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport '@shoelace-style/shoelace/dist/components/icon/icon.js';\nimport { registerIconLibrary } from '@shoelace-style/shoelace/dist/utilities/icon-library';\n\n@Component({\n tag: 'jump-icon',\n styleUrl: 'jump-icon.scss',\n shadow: true,\n})\nexport class JumpIcon {\n /**\n * Class of the icon\n */\n @Prop() class: string;\n /**\n * Library of the icon\n */\n @Prop() library: string = 'fa';\n\n /**\n * Name of the icon\n **/\n @Prop() name: string = 'heart';\n\n /**\n * Category of the icon\n */\n @Prop() category: 'solid' | 'sharp-light' | 'sharp-regular' | 'sharp-solid' | 'sharp-thin' | 'brands' | 'regular' | 'light' | 'thin' | 'duotone' = 'solid';\n\n /**\n * Size of the icon\n **/\n @Prop() size: string;\n\n /**\n * Label for the icon\n */\n @Prop() label: string;\n\n /**\n * Src of the icon\n */\n @Prop() src: string;\n\n componentWillLoad() {\n let libraryConfig = this.lucideLibrary;\n this.size = this.size || 'inherit';\n switch (this.library) {\n case 'fa':\n libraryConfig = this.fontAwesomeLibrary;\n break;\n\n case 'lucide':\n libraryConfig = this.lucideLibrary;\n break;\n\n default:\n break;\n }\n\n registerIconLibrary(this.library, libraryConfig);\n }\n\n render() {\n if (!this.name && !this.src) {\n return `Please set the 'name' or 'src' property to display the icon`;\n }\n\n if (this.library === 'custom') {\n return <sl-icon library={this.library} src={this.src} size={this.size} label={this.label}></sl-icon>;\n }\n if (this.library === 'lucide') {\n return <sl-icon library={this.library} name={this.name} size={this.size} label={this.label}></sl-icon>;\n }\n if (this.library === 'fa') {\n return <sl-icon library={this.library} name={this.fontAwesomeClassGenerator(this.name, this.category)} class={this.class} size={this.size} label={this.label}></sl-icon>;\n }\n }\n\n fontAwesomeClassGenerator = (name: string, category: string) => {\n let fa_class = [];\n let category_class = !category ? 'category-classic' : `category-${category}`;\n category_class && fa_class.push(category_class);\n let name_class = `name-${name}`;\n name_class && fa_class.push(name_class);\n return fa_class.join(' ');\n };\n\n fontAwesomeLibrary = {\n resolver: name => {\n const found_classes = name.split(' ');\n const category = found_classes.find(c => c.startsWith('category-')).replace('category-', '');\n const icon_name = found_classes.find(c => c.startsWith('name-')).replace('name-', '');\n\n return `https://designsystem-media.jumpgroup.it/svgs/${category}/${icon_name}.svg`;\n },\n mutator: svg => svg.setAttribute('fill', 'currentColor'),\n };\n\n lucideLibrary = {\n resolver: name => `https://cdn.jsdelivr.net/npm/lucide-static@0.16.29/icons/${name}.svg`,\n };\n}\n"],"version":3}
|
|
1
|
+
{"file":"jump-button.jump-icon.entry.js","mappings":";;;AAAA,MAAM,aAAa,GAAG,mzIAAmzI,CAAC;AAC10I,yBAAe,aAAa;;MCMf,UAAU;;;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;;;;ACzGH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;;ACNxB,MAAM,WAAW,GAAG,y8CAAy8C,CAAC;AAC99C,uBAAe,WAAW;;MCQb,QAAQ;;;QAsEnB,8BAAyB,GAAG,CAAC,IAAY,EAAE,QAAgB;YACzD,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,cAAc,GAAG,CAAC,QAAQ,GAAG,kBAAkB,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC7E,cAAc,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAChD,IAAI,UAAU,GAAG,QAAQ,IAAI,EAAE,CAAC;YAChC,UAAU,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC3B,CAAC;QAEF,uBAAkB,GAAG;YACnB,QAAQ,EAAE,IAAI;gBACZ,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAC7F,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAEtF,OAAO,gDAAgD,QAAQ,IAAI,SAAS,MAAM,CAAC;aACpF;YACD,OAAO,EAAE,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC;SACzD,CAAC;QAEF,kBAAa,GAAG;YACd,QAAQ,EAAE,IAAI,IAAI,4DAA4D,IAAI,MAAM;SACzF,CAAC;;uBApFwB,IAAI;oBAKP,OAAO;wBAKqH,OAAO;;;;;IAiB1J,iBAAiB;QACf,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QACnC,QAAQ,IAAI,CAAC,OAAO;YAClB,KAAK,IAAI;gBACP,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBACxC,MAAM;YAER,KAAK,QAAQ;gBACX,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;gBACnC,MAAM;SAIT;QAED,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;KAClD;IAED,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YAC3B,OAAO,6DAA6D,CAAC;SACtE;QAED,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;YAC7B,OAAO,eAAS,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAY,CAAC;SACtG;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;YAC7B,OAAO,eAAS,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAY,CAAC;SACxG;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;YACzB,OAAO,eAAS,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAY,CAAC;SAC1K;KACF;;;;;;","names":[],"sources":["src/components/jump-button/jump-button.scss?tag=jump-button&encapsulation=shadow","src/components/jump-button/jump-button.tsx","node_modules/@shoelace-style/shoelace/dist/chunks/chunk.22M42QYS.js","src/components/jump-icon/jump-icon.scss?tag=jump-icon&encapsulation=shadow","src/components/jump-icon/jump-icon.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\n:host {\n --button-color: #ffffff;\n --button-color-disabled: #cbcbcb;\n --button-background: var(--primary-standard);\n --button-background-outline: transparent;\n --button-color-hover: #ffffff;\n --button-background-hover: var(--primary-hard);\n --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 --button-padding: 1rem 1.25rem;\n\n display: flex;\n\n button {\n display: flex;\n }\n\n a {\n display: inline-flex;\n box-sizing: border-box;\n }\n\n button,\n a {\n @extend %reset-button;\n background-color: var(--jump-button-background, var(--button-background));\n border-radius: var(--button-border-radius);\n color: var(--jump-button-color, var(--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 line-height: 1.2;\n align-items: center;\n gap: var(--button-gap, 0.5rem);\n text-decoration: none;\n\n padding: var(--jump-button-padding, var(--button-padding));\n\n // TODO: gestire il focus con un outline\n &:hover {\n background-color: var(--jump-button-background-hover, var(--button-background-hover));\n color: var(--jump-button-color-hover, var(--button-color-hover));\n }\n\n &[data-variant='primary'] {\n --button-color: var(--neutral-white);\n --button-background: var(--primary-standard);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--primary-hard);\n }\n\n &[data-variant='secondary'] {\n --button-color: var(--neutral-white);\n --button-background: var(--secondary-standard);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--secondary-hard);\n }\n\n &[data-variant='neutral'] {\n --button-color: var(--neutral-white);\n --button-background: var(--neutral-grey-secondary);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--neutral-grey-primary);\n }\n\n &[data-variant='white'] {\n --button-color: var(--neutral-grey-primary);\n --button-background: var(--neutral-white);\n --button-color-hover: var(--neutral-grey-primary);\n --button-background-hover: var(--neutral-grey-background);\n }\n\n &[disabled] {\n --button-background: var(--button-color-disabled);\n --button-background-hover: var(--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 --button-padding: 0.65rem 1rem;\n }\n\n &[data-size='medium'] {\n font-size: var(--fs-400, 1rem);\n --button-padding: 0.75rem 1.25rem;\n }\n\n &[data-size='large'] {\n font-size: var(--fs-500, 1.125rem);\n --button-padding: 1rem 1.5rem;\n }\n\n &[data-outline] {\n background-color: var(--jump-background-outline, var(--button-background-outline));\n border: 1px solid var(--jump-button-background, var(--button-background));\n color: var(--jump-button-background, var(--button-background));\n &:hover {\n background-color: var(--jump-button-background-hover, var(--button-background-hover));\n border: 1px solid var(--jump-button-background-hover, var(--button-background-hover));\n color: var(--jump-button-color-hover, var(--button-color-hover));\n }\n }\n\n &[data-text] {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background, var(--button-background));\n padding: 0;\n &:hover {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background-hover, var(--button-background-hover));\n }\n }\n\n &[data-only-icon] {\n --button-padding: 0.5rem;\n }\n\n &[data-only-icon][data-size='small'] {\n --button-padding: 0.5rem;\n }\n &[data-only-icon][data-size='medium'] {\n --button-padding: 0.875rem;\n }\n &[data-only-icon][data-size='large'] {\n --button-padding: 1rem;\n }\n\n &[data-full] {\n width: 100%;\n justify-content: center;\n }\n\n &.chat {\n --button-color: var(--neutral-white);\n --button-background: hsla(133, 54%, 58%, 1);\n --button-color-hover: var(--neutral-white);\n --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","import {\n SlIcon\n} from \"./chunk.H33C3MRM.js\";\n\n// src/components/icon/icon.ts\nvar icon_default = SlIcon;\nSlIcon.define(\"sl-icon\");\n\nexport {\n icon_default\n};\n",":host {\n display: inline-flex;\n}\n\nsl-icon {\n display: inline-flex;\n // --sl-icon-width: var(--fs-400, 1rem);\n // --sl-icon-height: var(--fs-400, 1rem);\n\n &[library='lucide'] {\n width: var(--sl-icon-width);\n height: var(--sl-icon-height);\n\n &[size='small'] {\n --sl-icon-width: var(--fs-400, 1rem);\n --sl-icon-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --sl-icon-width: var(--fs-500, 1.125rem);\n --sl-icon-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --sl-icon-width: var(--fs-600, 1.5rem);\n --sl-icon-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n width: 100%;\n height: 100%;\n }\n }\n\n &[library='custom'] {\n width: var(--sl-icon-width);\n height: var(--sl-icon-height);\n\n &[size='small'] {\n --sl-icon-width: var(--fs-400, 1rem);\n --sl-icon-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --sl-icon-width: var(--fs-500, 1.125rem);\n --sl-icon-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --sl-icon-width: var(--fs-600, 1.5rem);\n --sl-icon-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n width: inherit;\n height: inherit;\n }\n }\n\n &[library='fa'] {\n font-size: var(--font-size);\n line-height: var(--line-height);\n\n &[size='small'] {\n --font-size: var(--fs-400, 1rem);\n --line-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --font-size: var(--fs-500, 1.125rem);\n --line-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --font-size: var(--fs-600, 1.5rem);\n --line-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n font-size: inherit;\n line-height: inherit;\n }\n }\n\n // width: var(--sl-icon-width);\n // height: var(--sl-icon-height);\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport '@shoelace-style/shoelace/dist/components/icon/icon.js';\nimport { registerIconLibrary } from '@shoelace-style/shoelace/dist/utilities/icon-library';\n\n@Component({\n tag: 'jump-icon',\n styleUrl: 'jump-icon.scss',\n shadow: true,\n})\nexport class JumpIcon {\n /**\n * Class of the icon\n */\n @Prop() class: string;\n /**\n * Library of the icon\n */\n @Prop() library: string = 'fa';\n\n /**\n * Name of the icon\n **/\n @Prop() name: string = 'heart';\n\n /**\n * Category of the icon\n */\n @Prop() category: 'solid' | 'sharp-light' | 'sharp-regular' | 'sharp-solid' | 'sharp-thin' | 'brands' | 'regular' | 'light' | 'thin' | 'duotone' = 'solid';\n\n /**\n * Size of the icon\n **/\n @Prop() size: string;\n\n /**\n * Label for the icon\n */\n @Prop() label: string;\n\n /**\n * Src of the icon\n */\n @Prop() src: string;\n\n componentWillLoad() {\n let libraryConfig = this.lucideLibrary;\n this.size = this.size || 'inherit';\n switch (this.library) {\n case 'fa':\n libraryConfig = this.fontAwesomeLibrary;\n break;\n\n case 'lucide':\n libraryConfig = this.lucideLibrary;\n break;\n\n default:\n break;\n }\n\n registerIconLibrary(this.library, libraryConfig);\n }\n\n render() {\n if (!this.name && !this.src) {\n return `Please set the 'name' or 'src' property to display the icon`;\n }\n\n if (this.library === 'custom') {\n return <sl-icon library={this.library} src={this.src} size={this.size} label={this.label}></sl-icon>;\n }\n if (this.library === 'lucide') {\n return <sl-icon library={this.library} name={this.name} size={this.size} label={this.label}></sl-icon>;\n }\n if (this.library === 'fa') {\n return <sl-icon library={this.library} name={this.fontAwesomeClassGenerator(this.name, this.category)} class={this.class} size={this.size} label={this.label}></sl-icon>;\n }\n }\n\n fontAwesomeClassGenerator = (name: string, category: string) => {\n let fa_class = [];\n let category_class = !category ? 'category-classic' : `category-${category}`;\n category_class && fa_class.push(category_class);\n let name_class = `name-${name}`;\n name_class && fa_class.push(name_class);\n return fa_class.join(' ');\n };\n\n fontAwesomeLibrary = {\n resolver: name => {\n const found_classes = name.split(' ');\n const category = found_classes.find(c => c.startsWith('category-')).replace('category-', '');\n const icon_name = found_classes.find(c => c.startsWith('name-')).replace('name-', '');\n\n return `https://designsystem-media.jumpgroup.it/svgs/${category}/${icon_name}.svg`;\n },\n mutator: svg => svg.setAttribute('fill', 'currentColor'),\n };\n\n lucideLibrary = {\n resolver: name => `https://cdn.jsdelivr.net/npm/lucide-static@0.16.29/icons/${name}.svg`,\n };\n}\n"],"version":3}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as e,b as
|
|
1
|
+
import{p as e,b as t}from"./p-1c5db8d3.js";export{s as setNonce}from"./p-1c5db8d3.js";import{g as a}from"./p-e1255160.js";var o=()=>{const t=import.meta.url;const a={};if(t!==""){a.resourcesUrl=new URL(".",t).href}return e(a)};o().then((async e=>{await a();return t([["p-6f1c7238",[[1,"jump-button",{disabled:[4],variant:[1],outline:[4],size:[1],full:[4],pill:[4],text:[4],onlyIcon:[4,"only-icon"],href:[1],target:[1],type:[1],name:[1],value:[1],ariaLabel:[1,"aria-label"],class:[1],buttonId:[1,"button-id"]}],[1,"jump-icon",{class:[1],library:[1],name:[1],category:[1],size:[1],label:[1],src:[1]}]]],["p-6e26f3ef",[[1,"jump-card-ecommerce",{onlyIconButton:[4,"only-icon-button"],hasBackground:[4,"has-background"],badge:[1],favorite:[1540],hasFavorite:[4,"has-favorite"],hasSlotForFavorite:[4,"has-slot-for-favorite"],hasSlotAddToCart:[4,"has-slot-add-to-cart"],link:[1],img:[1],imgAlt:[1,"img-alt"],hoverImg:[1,"hover-img"],hoverImgAlt:[1,"hover-img-alt"],videoSrc:[1,"video-src"],notificationUrl:[1,"notification-url"],notificationText:[1,"notification-text"],productName:[1,"product-name"],subtitle:[1],productId:[1,"product-id"],price:[2],salePrice:[2,"sale-price"],currency:[1],addToCartColor:[1,"add-to-cart-color"],badgeColor:[1,"badge-color"],outOfStock:[1540,"out-of-stock"],outOfStockText:[1,"out-of-stock-text"],addToCartText:[1,"add-to-cart-text"],waitingListText:[1,"waiting-list-text"],addToWaitingList:[4,"add-to-waiting-list"],isMini:[4,"is-mini"],addedToCart:[4,"added-to-cart"],endAddedToCart:[4,"end-added-to-cart"],variations:[32],selectedVariation:[32],priceFormatted:[32],salePriceFormatted:[32],setPrice:[64]},[[0,"jump-card-ecommerce-option-connected","addOption"]]]]],["p-18df1585",[[1,"jump-filter",{direction:[1],filterHeading:[1,"filter-heading"],filterButtonLabel:[1,"filter-button-label"],filterButtonIcon:[1,"filter-button-icon"],mobileThreshold:[2,"mobile-threshold"],filters:[8],showCount:[4,"show-count"],offCanvasOverlay:[4,"off-canvas-overlay"],activeFilters:[32],showMobileFilters:[32],isMobile:[32],offCanvasClasses:[32],getFilters:[64]},[[0,"jump-filterchange","filterChangeHandler"],[9,"resize","handleResize"]],{showMobileFilters:["watchHandler"]}]]],["p-8bdb9702",[[1,"jump-filtergroup",{name:[1],heading:[1],otherLabel:[1,"other-label"],lessLabel:[1,"less-label"],maxElements:[2,"max-elements"],variant:[1],label:[32],values:[32],value:[32],slotItems:[32],inputs:[32],showMore:[32],getValues:[64],getActiveAmount:[64],getInputs:[64],getName:[64]},null,{showMore:["watchShowMore"]}]]],["p-1c882126",[[1,"jump-navbar",{logo:[16],navItems:[16],secondaryNavItems:[16],mobileThreshold:[2,"mobile-threshold"],type:[1],navPosition:[1,"nav-position"],megaMenuAlignment:[1,"mega-menu-alignment"],sticky:[4],stickyThreshold:[2,"sticky-threshold"],mobileLogo:[16],user:[16],isMobile:[32]},[[9,"resize","handleResize"]]]]],["p-f371718a",[[1,"jump-pagination",{pagLabel:[1,"pag-label"],last:[2],showFirstAndLast:[4,"show-first-and-last"],current:[32]},null,{current:["watchcurrent"]}]]],["p-174d297f",[[0,"jump-pagination-table",{elementsRanges:[1,"elements-ranges"],elPerPage:[2,"el-per-page"],pagLabel:[513,"pag-label"],labelElementsPerPage:[513,"label-elements-per-page"],total:[514],first:[514],last:[514],showFirstAndLast:[516,"show-first-and-last"],elementsRangesArray:[32]},null,{elementsRanges:["elementsRangesChanged"],elPerPage:["elPerPageChanged"]}]]],["p-396d2541",[[65,"jump-quantity",{min:[2],max:[2],step:[2],label:[1],type:[1],variant:[1],showButtons:[4,"show-buttons"],value:[2],currentValue:[32],getValue:[64],reset:[64]},null,{value:["onValueChange"]}]]],["p-134e548b",[[1,"jump-search-bar",{placeholder:[1],identifier:[1],debounceTime:[2,"debounce-time"],searchType:[1,"search-type"],variant:[1]}]]],["p-4b284def",[[1,"jump-accordion",{variant:[1],summary:[1],disabled:[4],open:[516],icon:[1],identifier:[1]},[[0,"sl-show","handleShow"]]]]],["p-6363b6ee",[[1,"jump-tab-item",{identifier:[1],iconName:[1,"icon-name"],iconPosition:[1,"icon-position"],label:[1],active:[4],disabled:[4],variant:[32]}]]],["p-e0e82d36",[[1,"jump-accordion-group",{variant:[1],groupIdentifier:[1,"group-identifier"]}]]],["p-7b6c9e01",[[4,"jump-card",{horizontal:[4],dark:[4],shadow:[4],border:[4],borderRadius:[4,"border-radius"],topBorderContentRadius:[4,"top-border-content-radius"],boxed:[4],roundedMedia:[4,"rounded-media"],imgSrc:[1,"img-src"],imgAlt:[1,"img-alt"],videoSrc:[1,"video-src"]}]]],["p-8873623c",[[1,"jump-card-ecommerce-option",{code:[1],imgUrl:[1,"img-url"],label:[1],sku:[1],taxonomy:[1]}]]],["p-30c9d7c7",[[1,"jump-filter-checkbox",{value:[1],label:[1],checked:[516],count:[8],isChecked:[64]}]]],["p-3dd1f9a0",[[1,"jump-tab",{disabled:[4],alignment:[1],fullBorder:[4,"full-border"],tabGroupName:[1,"tab-group-name"],variant:[1]},[[0,"jump-change-active-tab","changeActiveTabHandler"]]]]],["p-5f12bbbb",[[1,"jump-tab-panel",{identifier:[1],active:[4]}]]],["p-53129684",[[1,"jump-badge",{label:[1],variant:[513],dimension:[513],soft:[516],outline:[516]}]]]],e)}));
|
|
2
2
|
//# sourceMappingURL=jump-design-system.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,h as a,H as r}from"./p-1c5db8d3.js";import{S as o,g as i}from"./p-d33f4f1d.js";const n=':host button,:host a{background-color:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}:host{--button-color:#ffffff;--button-color-disabled:#cbcbcb;--button-background:var(--primary-standard);--button-background-outline:transparent;--button-color-hover:#ffffff;--button-background-hover:var(--primary-hard);--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);--button-padding:1rem 1.25rem;display:flex}:host button{display:flex}:host a{display:inline-flex;box-sizing:border-box}:host button,:host a{background-color:var(--jump-button-background, var(--button-background));border-radius:var(--button-border-radius);color:var(--jump-button-color, var(--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:1.2;align-items:center;gap:var(--button-gap, 0.5rem);text-decoration:none;padding:var(--jump-button-padding, var(--button-padding))}:host button:hover,:host a:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-variant=primary],:host a[data-variant=primary]{--button-color:var(--neutral-white);--button-background:var(--primary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--primary-hard)}:host button[data-variant=secondary],:host a[data-variant=secondary]{--button-color:var(--neutral-white);--button-background:var(--secondary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--secondary-hard)}:host button[data-variant=neutral],:host a[data-variant=neutral]{--button-color:var(--neutral-white);--button-background:var(--neutral-grey-secondary);--button-color-hover:var(--neutral-white);--button-background-hover:var(--neutral-grey-primary)}:host button[data-variant=white],:host a[data-variant=white]{--button-color:var(--neutral-grey-primary);--button-background:var(--neutral-white);--button-color-hover:var(--neutral-grey-primary);--button-background-hover:var(--neutral-grey-background)}:host button[disabled],:host a[disabled]{--button-background:var(--button-color-disabled);--button-background-hover:var(--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);--button-padding:0.65rem 1rem}:host button[data-size=medium],:host a[data-size=medium]{font-size:var(--fs-400, 1rem);--button-padding:0.75rem 1.25rem}:host button[data-size=large],:host a[data-size=large]{font-size:var(--fs-500, 1.125rem);--button-padding:1rem 1.5rem}:host button[data-outline],:host a[data-outline]{background-color:var(--jump-background-outline, var(--button-background-outline));border:1px solid var(--jump-button-background, var(--button-background));color:var(--jump-button-background, var(--button-background))}:host button[data-outline]:hover,:host a[data-outline]:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));border:1px solid var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-text],:host a[data-text]{background-color:transparent;border:none;color:var(--jump-button-background, var(--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, var(--button-background-hover))}:host button[data-only-icon],:host a[data-only-icon]{--button-padding:0.5rem}:host button[data-only-icon][data-size=small],:host a[data-only-icon][data-size=small]{--button-padding:0.5rem}:host button[data-only-icon][data-size=medium],:host a[data-only-icon][data-size=medium]{--button-padding:0.875rem}:host button[data-only-icon][data-size=large],:host a[data-only-icon][data-size=large]{--button-padding:1rem}:host button[data-full],:host a[data-full]{width:100%;justify-content:center}:host button.chat,:host a.chat{--button-color:var(--neutral-white);--button-background:hsla(133, 54%, 58%, 1);--button-color-hover:var(--neutral-white);--button-background-hover:hsla(161, 63%, 31%, 1)}';const e=n;const s=class{constructor(a){t(this,a);this.disabled=false;this.variant="primary";this.outline=false;this.size="medium";this.full=false;this.pill=false;this.text=false;this.onlyIcon=false;this.href=undefined;this.target=undefined;this.type="button";this.name=undefined;this.value=undefined;this.ariaLabel=undefined;this.class=undefined;this.buttonId=undefined}componentWillLoad(){this.target=this.href?this.target:"_self"}render(){return a(r,{key:"6f99ae1db5d06b5c93d406abc2d33f7e6724b21e"},this.href?a("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},a("slot",{name:"prefix"}),!this.onlyIcon&&a("slot",null),a("slot",{name:"suffix"})):a("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},a("slot",{name:"prefix"}),!this.onlyIcon&&a("slot",null),a("slot",{name:"suffix"})))}};s.style=e;o.define("sl-icon");const l=":host{display:inline-flex}sl-icon{display:inline-flex}sl-icon[library=lucide]{width:var(--sl-icon-width);height:var(--sl-icon-height)}sl-icon[library=lucide][size=small]{--sl-icon-width:var(--fs-400, 1rem);--sl-icon-height:var(--fs-400, 1rem)}sl-icon[library=lucide][size=medium]{--sl-icon-width:var(--fs-500, 1.125rem);--sl-icon-height:var(--fs-500, 1.125rem)}sl-icon[library=lucide][size=large]{--sl-icon-width:var(--fs-600, 1.5rem);--sl-icon-height:var(--fs-600, 1.5rem)}sl-icon[library=lucide][size=inherit]{width:100%;height:100%}sl-icon[library=custom]{width:var(--sl-icon-width);height:var(--sl-icon-height)}sl-icon[library=custom][size=small]{--sl-icon-width:var(--fs-400, 1rem);--sl-icon-height:var(--fs-400, 1rem)}sl-icon[library=custom][size=medium]{--sl-icon-width:var(--fs-500, 1.125rem);--sl-icon-height:var(--fs-500, 1.125rem)}sl-icon[library=custom][size=large]{--sl-icon-width:var(--fs-600, 1.5rem);--sl-icon-height:var(--fs-600, 1.5rem)}sl-icon[library=custom][size=inherit]{width:inherit;height:inherit}sl-icon[library=fa]{font-size:var(--font-size);line-height:var(--line-height)}sl-icon[library=fa][size=small]{--font-size:var(--fs-400, 1rem);--line-height:var(--fs-400, 1rem)}sl-icon[library=fa][size=medium]{--font-size:var(--fs-500, 1.125rem);--line-height:var(--fs-500, 1.125rem)}sl-icon[library=fa][size=large]{--font-size:var(--fs-600, 1.5rem);--line-height:var(--fs-600, 1.5rem)}sl-icon[library=fa][size=inherit]{font-size:inherit;line-height:inherit}";const h=l;const d=class{constructor(a){t(this,a);this.fontAwesomeClassGenerator=(t,a)=>{let r=[];let o=!a?"category-classic":`category-${a}`;o&&r.push(o);let i=`name-${t}`;i&&r.push(i);return r.join(" ")};this.fontAwesomeLibrary={resolver:t=>{const a=t.split(" ");const r=a.find((t=>t.startsWith("category-"))).replace("category-","");const o=a.find((t=>t.startsWith("name-"))).replace("name-","");return`https://designsystem-media.jumpgroup.it/svgs/${r}/${o}.svg`},mutator:t=>t.setAttribute("fill","currentColor")};this.lucideLibrary={resolver:t=>`https://cdn.jsdelivr.net/npm/lucide-static@0.16.29/icons/${t}.svg`};this.class=undefined;this.library="fa";this.name="heart";this.category="solid";this.size=undefined;this.label=undefined;this.src=undefined}componentWillLoad(){let t=this.lucideLibrary;this.size=this.size||"inherit";switch(this.library){case"fa":t=this.fontAwesomeLibrary;break;case"lucide":t=this.lucideLibrary;break}i(this.library,t)}render(){if(!this.name&&!this.src){return`Please set the 'name' or 'src' property to display the icon`}if(this.library==="custom"){return a("sl-icon",{library:this.library,src:this.src,size:this.size,label:this.label})}if(this.library==="lucide"){return a("sl-icon",{library:this.library,name:this.name,size:this.size,label:this.label})}if(this.library==="fa"){return a("sl-icon",{library:this.library,name:this.fontAwesomeClassGenerator(this.name,this.category),class:this.class,size:this.size,label:this.label})}}};d.style=h;export{s as jump_button,d as jump_icon};
|
|
2
|
+
//# sourceMappingURL=p-6f1c7238.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["jumpButtonCss","JumpButtonStyle0","JumpButton","undefined","componentWillLoad","this","target","href","render","h","Host","key","id","buttonId","class","variant","outline","size","full","pill","text","onlyIcon","ariaLabel","name","disabled","type","value","SlIcon","define","jumpIconCss","JumpIconStyle0","JumpIcon","fontAwesomeClassGenerator","category","fa_class","category_class","push","name_class","join","fontAwesomeLibrary","resolver","found_classes","split","find","c","startsWith","replace","icon_name","mutator","svg","setAttribute","lucideLibrary","libraryConfig","library","registerIconLibrary","src","label"],"sources":["src/components/jump-button/jump-button.scss?tag=jump-button&encapsulation=shadow","src/components/jump-button/jump-button.tsx","node_modules/@shoelace-style/shoelace/dist/chunks/chunk.22M42QYS.js","src/components/jump-icon/jump-icon.scss?tag=jump-icon&encapsulation=shadow","src/components/jump-icon/jump-icon.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\n:host {\n --button-color: #ffffff;\n --button-color-disabled: #cbcbcb;\n --button-background: var(--primary-standard);\n --button-background-outline: transparent;\n --button-color-hover: #ffffff;\n --button-background-hover: var(--primary-hard);\n --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 --button-padding: 1rem 1.25rem;\n\n display: flex;\n\n button {\n display: flex;\n }\n\n a {\n display: inline-flex;\n box-sizing: border-box;\n }\n\n button,\n a {\n @extend %reset-button;\n background-color: var(--jump-button-background, var(--button-background));\n border-radius: var(--button-border-radius);\n color: var(--jump-button-color, var(--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 line-height: 1.2;\n align-items: center;\n gap: var(--button-gap, 0.5rem);\n text-decoration: none;\n\n padding: var(--jump-button-padding, var(--button-padding));\n\n // TODO: gestire il focus con un outline\n &:hover {\n background-color: var(--jump-button-background-hover, var(--button-background-hover));\n color: var(--jump-button-color-hover, var(--button-color-hover));\n }\n\n &[data-variant='primary'] {\n --button-color: var(--neutral-white);\n --button-background: var(--primary-standard);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--primary-hard);\n }\n\n &[data-variant='secondary'] {\n --button-color: var(--neutral-white);\n --button-background: var(--secondary-standard);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--secondary-hard);\n }\n\n &[data-variant='neutral'] {\n --button-color: var(--neutral-white);\n --button-background: var(--neutral-grey-secondary);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--neutral-grey-primary);\n }\n\n &[data-variant='white'] {\n --button-color: var(--neutral-grey-primary);\n --button-background: var(--neutral-white);\n --button-color-hover: var(--neutral-grey-primary);\n --button-background-hover: var(--neutral-grey-background);\n }\n\n &[disabled] {\n --button-background: var(--button-color-disabled);\n --button-background-hover: var(--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 --button-padding: 0.65rem 1rem;\n }\n\n &[data-size='medium'] {\n font-size: var(--fs-400, 1rem);\n --button-padding: 0.75rem 1.25rem;\n }\n\n &[data-size='large'] {\n font-size: var(--fs-500, 1.125rem);\n --button-padding: 1rem 1.5rem;\n }\n\n &[data-outline] {\n background-color: var(--jump-background-outline, var(--button-background-outline));\n border: 1px solid var(--jump-button-background, var(--button-background));\n color: var(--jump-button-background, var(--button-background));\n &:hover {\n background-color: var(--jump-button-background-hover, var(--button-background-hover));\n border: 1px solid var(--jump-button-background-hover, var(--button-background-hover));\n color: var(--jump-button-color-hover, var(--button-color-hover));\n }\n }\n\n &[data-text] {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background, var(--button-background));\n padding: 0;\n &:hover {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background-hover, var(--button-background-hover));\n }\n }\n\n &[data-only-icon] {\n --button-padding: 0.5rem;\n }\n\n &[data-only-icon][data-size='small'] {\n --button-padding: 0.5rem;\n }\n &[data-only-icon][data-size='medium'] {\n --button-padding: 0.875rem;\n }\n &[data-only-icon][data-size='large'] {\n --button-padding: 1rem;\n }\n\n &[data-full] {\n width: 100%;\n justify-content: center;\n }\n\n &.chat {\n --button-color: var(--neutral-white);\n --button-background: hsla(133, 54%, 58%, 1);\n --button-color-hover: var(--neutral-white);\n --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","import {\n SlIcon\n} from \"./chunk.H33C3MRM.js\";\n\n// src/components/icon/icon.ts\nvar icon_default = SlIcon;\nSlIcon.define(\"sl-icon\");\n\nexport {\n icon_default\n};\n",":host {\n display: inline-flex;\n}\n\nsl-icon {\n display: inline-flex;\n // --sl-icon-width: var(--fs-400, 1rem);\n // --sl-icon-height: var(--fs-400, 1rem);\n\n &[library='lucide'] {\n width: var(--sl-icon-width);\n height: var(--sl-icon-height);\n\n &[size='small'] {\n --sl-icon-width: var(--fs-400, 1rem);\n --sl-icon-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --sl-icon-width: var(--fs-500, 1.125rem);\n --sl-icon-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --sl-icon-width: var(--fs-600, 1.5rem);\n --sl-icon-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n width: 100%;\n height: 100%;\n }\n }\n\n &[library='custom'] {\n width: var(--sl-icon-width);\n height: var(--sl-icon-height);\n\n &[size='small'] {\n --sl-icon-width: var(--fs-400, 1rem);\n --sl-icon-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --sl-icon-width: var(--fs-500, 1.125rem);\n --sl-icon-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --sl-icon-width: var(--fs-600, 1.5rem);\n --sl-icon-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n width: inherit;\n height: inherit;\n }\n }\n\n &[library='fa'] {\n font-size: var(--font-size);\n line-height: var(--line-height);\n\n &[size='small'] {\n --font-size: var(--fs-400, 1rem);\n --line-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --font-size: var(--fs-500, 1.125rem);\n --line-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --font-size: var(--fs-600, 1.5rem);\n --line-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n font-size: inherit;\n line-height: inherit;\n }\n }\n\n // width: var(--sl-icon-width);\n // height: var(--sl-icon-height);\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport '@shoelace-style/shoelace/dist/components/icon/icon.js';\nimport { registerIconLibrary } from '@shoelace-style/shoelace/dist/utilities/icon-library';\n\n@Component({\n tag: 'jump-icon',\n styleUrl: 'jump-icon.scss',\n shadow: true,\n})\nexport class JumpIcon {\n /**\n * Class of the icon\n */\n @Prop() class: string;\n /**\n * Library of the icon\n */\n @Prop() library: string = 'fa';\n\n /**\n * Name of the icon\n **/\n @Prop() name: string = 'heart';\n\n /**\n * Category of the icon\n */\n @Prop() category: 'solid' | 'sharp-light' | 'sharp-regular' | 'sharp-solid' | 'sharp-thin' | 'brands' | 'regular' | 'light' | 'thin' | 'duotone' = 'solid';\n\n /**\n * Size of the icon\n **/\n @Prop() size: string;\n\n /**\n * Label for the icon\n */\n @Prop() label: string;\n\n /**\n * Src of the icon\n */\n @Prop() src: string;\n\n componentWillLoad() {\n let libraryConfig = this.lucideLibrary;\n this.size = this.size || 'inherit';\n switch (this.library) {\n case 'fa':\n libraryConfig = this.fontAwesomeLibrary;\n break;\n\n case 'lucide':\n libraryConfig = this.lucideLibrary;\n break;\n\n default:\n break;\n }\n\n registerIconLibrary(this.library, libraryConfig);\n }\n\n render() {\n if (!this.name && !this.src) {\n return `Please set the 'name' or 'src' property to display the icon`;\n }\n\n if (this.library === 'custom') {\n return <sl-icon library={this.library} src={this.src} size={this.size} label={this.label}></sl-icon>;\n }\n if (this.library === 'lucide') {\n return <sl-icon library={this.library} name={this.name} size={this.size} label={this.label}></sl-icon>;\n }\n if (this.library === 'fa') {\n return <sl-icon library={this.library} name={this.fontAwesomeClassGenerator(this.name, this.category)} class={this.class} size={this.size} label={this.label}></sl-icon>;\n }\n }\n\n fontAwesomeClassGenerator = (name: string, category: string) => {\n let fa_class = [];\n let category_class = !category ? 'category-classic' : `category-${category}`;\n category_class && fa_class.push(category_class);\n let name_class = `name-${name}`;\n name_class && fa_class.push(name_class);\n return fa_class.join(' ');\n };\n\n fontAwesomeLibrary = {\n resolver: name => {\n const found_classes = name.split(' ');\n const category = found_classes.find(c => c.startsWith('category-')).replace('category-', '');\n const icon_name = found_classes.find(c => c.startsWith('name-')).replace('name-', '');\n\n return `https://designsystem-media.jumpgroup.it/svgs/${category}/${icon_name}.svg`;\n },\n mutator: svg => svg.setAttribute('fill', 'currentColor'),\n };\n\n lucideLibrary = {\n resolver: name => `https://cdn.jsdelivr.net/npm/lucide-static@0.16.29/icons/${name}.svg`,\n };\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,h as a,H as r}from"./p-1c5db8d3.js";import{S as o,g as i}from"./p-d33f4f1d.js";const n=':host button,:host a{background-color:transparent;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}:host{--button-color:#ffffff;--button-color-disabled:#cbcbcb;--button-background:var(--primary-standard);--button-background-outline:transparent;--button-color-hover:#ffffff;--button-background-hover:var(--primary-hard);--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);--button-padding:1rem 1.25rem;display:flex}:host button{display:flex}:host a{display:inline-flex;box-sizing:border-box}:host button,:host a{background-color:var(--jump-button-background, var(--button-background));border-radius:var(--button-border-radius);color:var(--jump-button-color, var(--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:1.2;align-items:center;gap:var(--button-gap, 0.5rem);text-decoration:none;padding:var(--button-padding)}:host button:hover,:host a:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-variant=primary],:host a[data-variant=primary]{--button-color:var(--neutral-white);--button-background:var(--primary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--primary-hard)}:host button[data-variant=secondary],:host a[data-variant=secondary]{--button-color:var(--neutral-white);--button-background:var(--secondary-standard);--button-color-hover:var(--neutral-white);--button-background-hover:var(--secondary-hard)}:host button[data-variant=neutral],:host a[data-variant=neutral]{--button-color:var(--neutral-white);--button-background:var(--neutral-grey-secondary);--button-color-hover:var(--neutral-white);--button-background-hover:var(--neutral-grey-primary)}:host button[data-variant=white],:host a[data-variant=white]{--button-color:var(--neutral-grey-primary);--button-background:var(--neutral-white);--button-color-hover:var(--neutral-grey-primary);--button-background-hover:var(--neutral-grey-background)}:host button[disabled],:host a[disabled]{--button-background:var(--button-color-disabled);--button-background-hover:var(--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);--button-padding:0.65rem 1rem}:host button[data-size=medium],:host a[data-size=medium]{font-size:var(--fs-400, 1rem);--button-padding:0.75rem 1.25rem}:host button[data-size=large],:host a[data-size=large]{font-size:var(--fs-500, 1.125rem);--button-padding:1rem 1.5rem}:host button[data-outline],:host a[data-outline]{background-color:var(--jump-background-outline, var(--button-background-outline));border:1px solid var(--jump-button-background, var(--button-background));color:var(--jump-button-background, var(--button-background))}:host button[data-outline]:hover,:host a[data-outline]:hover{background-color:var(--jump-button-background-hover, var(--button-background-hover));border:1px solid var(--jump-button-background-hover, var(--button-background-hover));color:var(--jump-button-color-hover, var(--button-color-hover))}:host button[data-text],:host a[data-text]{background-color:transparent;border:none;color:var(--jump-button-background, var(--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, var(--button-background-hover))}:host button[data-only-icon],:host a[data-only-icon]{--button-padding:0.5rem}:host button[data-only-icon][data-size=small],:host a[data-only-icon][data-size=small]{--button-padding:0.5rem}:host button[data-only-icon][data-size=medium],:host a[data-only-icon][data-size=medium]{--button-padding:0.875rem}:host button[data-only-icon][data-size=large],:host a[data-only-icon][data-size=large]{--button-padding:1rem}:host button[data-full],:host a[data-full]{width:100%;justify-content:center}:host button.chat,:host a.chat{--button-color:var(--neutral-white);--button-background:hsla(133, 54%, 58%, 1);--button-color-hover:var(--neutral-white);--button-background-hover:hsla(161, 63%, 31%, 1)}';const e=n;const s=class{constructor(a){t(this,a);this.disabled=false;this.variant="primary";this.outline=false;this.size="medium";this.full=false;this.pill=false;this.text=false;this.onlyIcon=false;this.href=undefined;this.target=undefined;this.type="button";this.name=undefined;this.value=undefined;this.ariaLabel=undefined;this.class=undefined;this.buttonId=undefined}componentWillLoad(){this.target=this.href?this.target:"_self"}render(){return a(r,{key:"6f99ae1db5d06b5c93d406abc2d33f7e6724b21e"},this.href?a("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},a("slot",{name:"prefix"}),!this.onlyIcon&&a("slot",null),a("slot",{name:"suffix"})):a("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},a("slot",{name:"prefix"}),!this.onlyIcon&&a("slot",null),a("slot",{name:"suffix"})))}};s.style=e;o.define("sl-icon");const l=":host{display:inline-flex}sl-icon{display:inline-flex}sl-icon[library=lucide]{width:var(--sl-icon-width);height:var(--sl-icon-height)}sl-icon[library=lucide][size=small]{--sl-icon-width:var(--fs-400, 1rem);--sl-icon-height:var(--fs-400, 1rem)}sl-icon[library=lucide][size=medium]{--sl-icon-width:var(--fs-500, 1.125rem);--sl-icon-height:var(--fs-500, 1.125rem)}sl-icon[library=lucide][size=large]{--sl-icon-width:var(--fs-600, 1.5rem);--sl-icon-height:var(--fs-600, 1.5rem)}sl-icon[library=lucide][size=inherit]{width:100%;height:100%}sl-icon[library=custom]{width:var(--sl-icon-width);height:var(--sl-icon-height)}sl-icon[library=custom][size=small]{--sl-icon-width:var(--fs-400, 1rem);--sl-icon-height:var(--fs-400, 1rem)}sl-icon[library=custom][size=medium]{--sl-icon-width:var(--fs-500, 1.125rem);--sl-icon-height:var(--fs-500, 1.125rem)}sl-icon[library=custom][size=large]{--sl-icon-width:var(--fs-600, 1.5rem);--sl-icon-height:var(--fs-600, 1.5rem)}sl-icon[library=custom][size=inherit]{width:inherit;height:inherit}sl-icon[library=fa]{font-size:var(--font-size);line-height:var(--line-height)}sl-icon[library=fa][size=small]{--font-size:var(--fs-400, 1rem);--line-height:var(--fs-400, 1rem)}sl-icon[library=fa][size=medium]{--font-size:var(--fs-500, 1.125rem);--line-height:var(--fs-500, 1.125rem)}sl-icon[library=fa][size=large]{--font-size:var(--fs-600, 1.5rem);--line-height:var(--fs-600, 1.5rem)}sl-icon[library=fa][size=inherit]{font-size:inherit;line-height:inherit}";const h=l;const d=class{constructor(a){t(this,a);this.fontAwesomeClassGenerator=(t,a)=>{let r=[];let o=!a?"category-classic":`category-${a}`;o&&r.push(o);let i=`name-${t}`;i&&r.push(i);return r.join(" ")};this.fontAwesomeLibrary={resolver:t=>{const a=t.split(" ");const r=a.find((t=>t.startsWith("category-"))).replace("category-","");const o=a.find((t=>t.startsWith("name-"))).replace("name-","");return`https://designsystem-media.jumpgroup.it/svgs/${r}/${o}.svg`},mutator:t=>t.setAttribute("fill","currentColor")};this.lucideLibrary={resolver:t=>`https://cdn.jsdelivr.net/npm/lucide-static@0.16.29/icons/${t}.svg`};this.class=undefined;this.library="fa";this.name="heart";this.category="solid";this.size=undefined;this.label=undefined;this.src=undefined}componentWillLoad(){let t=this.lucideLibrary;this.size=this.size||"inherit";switch(this.library){case"fa":t=this.fontAwesomeLibrary;break;case"lucide":t=this.lucideLibrary;break}i(this.library,t)}render(){if(!this.name&&!this.src){return`Please set the 'name' or 'src' property to display the icon`}if(this.library==="custom"){return a("sl-icon",{library:this.library,src:this.src,size:this.size,label:this.label})}if(this.library==="lucide"){return a("sl-icon",{library:this.library,name:this.name,size:this.size,label:this.label})}if(this.library==="fa"){return a("sl-icon",{library:this.library,name:this.fontAwesomeClassGenerator(this.name,this.category),class:this.class,size:this.size,label:this.label})}}};d.style=h;export{s as jump_button,d as jump_icon};
|
|
2
|
-
//# sourceMappingURL=p-33882a98.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["jumpButtonCss","JumpButtonStyle0","JumpButton","undefined","componentWillLoad","this","target","href","render","h","Host","key","id","buttonId","class","variant","outline","size","full","pill","text","onlyIcon","ariaLabel","name","disabled","type","value","SlIcon","define","jumpIconCss","JumpIconStyle0","JumpIcon","fontAwesomeClassGenerator","category","fa_class","category_class","push","name_class","join","fontAwesomeLibrary","resolver","found_classes","split","find","c","startsWith","replace","icon_name","mutator","svg","setAttribute","lucideLibrary","libraryConfig","library","registerIconLibrary","src","label"],"sources":["src/components/jump-button/jump-button.scss?tag=jump-button&encapsulation=shadow","src/components/jump-button/jump-button.tsx","node_modules/@shoelace-style/shoelace/dist/chunks/chunk.22M42QYS.js","src/components/jump-icon/jump-icon.scss?tag=jump-icon&encapsulation=shadow","src/components/jump-icon/jump-icon.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\n:host {\n --button-color: #ffffff;\n --button-color-disabled: #cbcbcb;\n --button-background: var(--primary-standard);\n --button-background-outline: transparent;\n --button-color-hover: #ffffff;\n --button-background-hover: var(--primary-hard);\n --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 --button-padding: 1rem 1.25rem;\n\n display: flex;\n\n button {\n display: flex;\n }\n\n a {\n display: inline-flex;\n box-sizing: border-box;\n }\n\n button,\n a {\n @extend %reset-button;\n background-color: var(--jump-button-background, var(--button-background));\n border-radius: var(--button-border-radius);\n color: var(--jump-button-color, var(--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 line-height: 1.2;\n align-items: center;\n gap: var(--button-gap, 0.5rem);\n text-decoration: none;\n\n //TODO: internal padding of the button\n padding: var(--button-padding);\n\n // TODO: gestire il focus con un outline\n &:hover {\n background-color: var(--jump-button-background-hover, var(--button-background-hover));\n color: var(--jump-button-color-hover, var(--button-color-hover));\n }\n\n &[data-variant='primary'] {\n --button-color: var(--neutral-white);\n --button-background: var(--primary-standard);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--primary-hard);\n }\n\n &[data-variant='secondary'] {\n --button-color: var(--neutral-white);\n --button-background: var(--secondary-standard);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--secondary-hard);\n }\n\n &[data-variant='neutral'] {\n --button-color: var(--neutral-white);\n --button-background: var(--neutral-grey-secondary);\n --button-color-hover: var(--neutral-white);\n --button-background-hover: var(--neutral-grey-primary);\n }\n\n &[data-variant='white'] {\n --button-color: var(--neutral-grey-primary);\n --button-background: var(--neutral-white);\n --button-color-hover: var(--neutral-grey-primary);\n --button-background-hover: var(--neutral-grey-background);\n }\n\n &[disabled] {\n --button-background: var(--button-color-disabled);\n --button-background-hover: var(--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 --button-padding: 0.65rem 1rem;\n }\n\n &[data-size='medium'] {\n font-size: var(--fs-400, 1rem);\n --button-padding: 0.75rem 1.25rem;\n }\n\n &[data-size='large'] {\n font-size: var(--fs-500, 1.125rem);\n --button-padding: 1rem 1.5rem;\n }\n\n &[data-outline] {\n background-color: var(--jump-background-outline, var(--button-background-outline));\n border: 1px solid var(--jump-button-background, var(--button-background));\n color: var(--jump-button-background, var(--button-background));\n &:hover {\n background-color: var(--jump-button-background-hover, var(--button-background-hover));\n border: 1px solid var(--jump-button-background-hover, var(--button-background-hover));\n color: var(--jump-button-color-hover, var(--button-color-hover));\n }\n }\n\n &[data-text] {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background, var(--button-background));\n padding: 0;\n &:hover {\n background-color: transparent;\n border: none;\n color: var(--jump-button-background-hover, var(--button-background-hover));\n }\n }\n\n &[data-only-icon] {\n --button-padding: 0.5rem;\n }\n\n &[data-only-icon][data-size='small'] {\n --button-padding: 0.5rem;\n }\n &[data-only-icon][data-size='medium'] {\n --button-padding: 0.875rem;\n }\n &[data-only-icon][data-size='large'] {\n --button-padding: 1rem;\n }\n\n &[data-full] {\n width: 100%;\n justify-content: center;\n }\n\n &.chat {\n --button-color: var(--neutral-white);\n --button-background: hsla(133, 54%, 58%, 1);\n --button-color-hover: var(--neutral-white);\n --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","import {\n SlIcon\n} from \"./chunk.H33C3MRM.js\";\n\n// src/components/icon/icon.ts\nvar icon_default = SlIcon;\nSlIcon.define(\"sl-icon\");\n\nexport {\n icon_default\n};\n",":host {\n display: inline-flex;\n}\n\nsl-icon {\n display: inline-flex;\n // --sl-icon-width: var(--fs-400, 1rem);\n // --sl-icon-height: var(--fs-400, 1rem);\n\n &[library='lucide'] {\n width: var(--sl-icon-width);\n height: var(--sl-icon-height);\n\n &[size='small'] {\n --sl-icon-width: var(--fs-400, 1rem);\n --sl-icon-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --sl-icon-width: var(--fs-500, 1.125rem);\n --sl-icon-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --sl-icon-width: var(--fs-600, 1.5rem);\n --sl-icon-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n width: 100%;\n height: 100%;\n }\n }\n\n &[library='custom'] {\n width: var(--sl-icon-width);\n height: var(--sl-icon-height);\n\n &[size='small'] {\n --sl-icon-width: var(--fs-400, 1rem);\n --sl-icon-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --sl-icon-width: var(--fs-500, 1.125rem);\n --sl-icon-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --sl-icon-width: var(--fs-600, 1.5rem);\n --sl-icon-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n width: inherit;\n height: inherit;\n }\n }\n\n &[library='fa'] {\n font-size: var(--font-size);\n line-height: var(--line-height);\n\n &[size='small'] {\n --font-size: var(--fs-400, 1rem);\n --line-height: var(--fs-400, 1rem);\n }\n\n &[size='medium'] {\n --font-size: var(--fs-500, 1.125rem);\n --line-height: var(--fs-500, 1.125rem);\n }\n\n &[size='large'] {\n --font-size: var(--fs-600, 1.5rem);\n --line-height: var(--fs-600, 1.5rem);\n }\n\n &[size='inherit'] {\n font-size: inherit;\n line-height: inherit;\n }\n }\n\n // width: var(--sl-icon-width);\n // height: var(--sl-icon-height);\n}\n","import { Component, Prop, h } from '@stencil/core';\nimport '@shoelace-style/shoelace/dist/components/icon/icon.js';\nimport { registerIconLibrary } from '@shoelace-style/shoelace/dist/utilities/icon-library';\n\n@Component({\n tag: 'jump-icon',\n styleUrl: 'jump-icon.scss',\n shadow: true,\n})\nexport class JumpIcon {\n /**\n * Class of the icon\n */\n @Prop() class: string;\n /**\n * Library of the icon\n */\n @Prop() library: string = 'fa';\n\n /**\n * Name of the icon\n **/\n @Prop() name: string = 'heart';\n\n /**\n * Category of the icon\n */\n @Prop() category: 'solid' | 'sharp-light' | 'sharp-regular' | 'sharp-solid' | 'sharp-thin' | 'brands' | 'regular' | 'light' | 'thin' | 'duotone' = 'solid';\n\n /**\n * Size of the icon\n **/\n @Prop() size: string;\n\n /**\n * Label for the icon\n */\n @Prop() label: string;\n\n /**\n * Src of the icon\n */\n @Prop() src: string;\n\n componentWillLoad() {\n let libraryConfig = this.lucideLibrary;\n this.size = this.size || 'inherit';\n switch (this.library) {\n case 'fa':\n libraryConfig = this.fontAwesomeLibrary;\n break;\n\n case 'lucide':\n libraryConfig = this.lucideLibrary;\n break;\n\n default:\n break;\n }\n\n registerIconLibrary(this.library, libraryConfig);\n }\n\n render() {\n if (!this.name && !this.src) {\n return `Please set the 'name' or 'src' property to display the icon`;\n }\n\n if (this.library === 'custom') {\n return <sl-icon library={this.library} src={this.src} size={this.size} label={this.label}></sl-icon>;\n }\n if (this.library === 'lucide') {\n return <sl-icon library={this.library} name={this.name} size={this.size} label={this.label}></sl-icon>;\n }\n if (this.library === 'fa') {\n return <sl-icon library={this.library} name={this.fontAwesomeClassGenerator(this.name, this.category)} class={this.class} size={this.size} label={this.label}></sl-icon>;\n }\n }\n\n fontAwesomeClassGenerator = (name: string, category: string) => {\n let fa_class = [];\n let category_class = !category ? 'category-classic' : `category-${category}`;\n category_class && fa_class.push(category_class);\n let name_class = `name-${name}`;\n name_class && fa_class.push(name_class);\n return fa_class.join(' ');\n };\n\n fontAwesomeLibrary = {\n resolver: name => {\n const found_classes = name.split(' ');\n const category = found_classes.find(c => c.startsWith('category-')).replace('category-', '');\n const icon_name = found_classes.find(c => c.startsWith('name-')).replace('name-', '');\n\n return `https://designsystem-media.jumpgroup.it/svgs/${category}/${icon_name}.svg`;\n },\n mutator: svg => svg.setAttribute('fill', 'currentColor'),\n };\n\n lucideLibrary = {\n resolver: name => `https://cdn.jsdelivr.net/npm/lucide-static@0.16.29/icons/${name}.svg`,\n };\n}\n"],"mappings":"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"}
|