@jumpgroup/jump-design-system 0.3.63 → 0.3.67
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-design-system.cjs.js +1 -1
- package/dist/cjs/jump-filter-select.cjs.entry.js +4 -1
- package/dist/cjs/jump-filter-select.cjs.entry.js.map +1 -1
- package/dist/cjs/jump-filter-switch.cjs.entry.js +3 -1
- package/dist/cjs/jump-filter-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/jump-quantity.cjs.entry.js +16 -15
- package/dist/cjs/jump-quantity.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/jump-card-ecommerce/jump-card-ecommerce.stories.js +6 -11
- package/dist/collection/components/jump-card-ecommerce/jump-card-ecommerce.stories.js.map +1 -1
- package/dist/collection/components/jump-filter-select/jump-filter-select.js +18 -1
- package/dist/collection/components/jump-filter-select/jump-filter-select.js.map +1 -1
- package/dist/collection/components/jump-filter-switch/jump-filter-switch.js +17 -1
- package/dist/collection/components/jump-filter-switch/jump-filter-switch.js.map +1 -1
- package/dist/collection/components/jump-quantity/jump-quantity.js +19 -17
- package/dist/collection/components/jump-quantity/jump-quantity.js.map +1 -1
- package/dist/collection/components/jump-quantity/jump-quantity.stories.js +6 -1
- package/dist/collection/components/jump-quantity/jump-quantity.stories.js.map +1 -1
- package/dist/components/jump-filter-select.js +4 -1
- package/dist/components/jump-filter-select.js.map +1 -1
- package/dist/components/jump-filter-switch.js +3 -1
- package/dist/components/jump-filter-switch.js.map +1 -1
- package/dist/components/jump-quantity.js +17 -16
- package/dist/components/jump-quantity.js.map +1 -1
- package/dist/esm/jump-design-system.js +1 -1
- package/dist/esm/jump-filter-select.entry.js +4 -1
- package/dist/esm/jump-filter-select.entry.js.map +1 -1
- package/dist/esm/jump-filter-switch.entry.js +3 -1
- package/dist/esm/jump-filter-switch.entry.js.map +1 -1
- package/dist/esm/jump-quantity.entry.js +16 -15
- package/dist/esm/jump-quantity.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/jump-design-system/jump-design-system.esm.js +1 -1
- package/dist/jump-design-system/jump-design-system.esm.js.map +1 -1
- package/dist/jump-design-system/p-3c1076e0.entry.js +2 -0
- package/dist/jump-design-system/p-3c1076e0.entry.js.map +1 -0
- package/dist/jump-design-system/{p-35633b03.entry.js → p-469ccf77.entry.js} +2 -2
- package/dist/jump-design-system/p-469ccf77.entry.js.map +1 -0
- package/dist/jump-design-system/{p-53bf2958.entry.js → p-7c06855a.entry.js} +2 -2
- package/dist/jump-design-system/p-7c06855a.entry.js.map +1 -0
- package/dist/types/components/jump-filter-select/jump-filter-select.d.ts +1 -0
- package/dist/types/components/jump-filter-switch/jump-filter-switch.d.ts +1 -0
- package/dist/types/components/jump-quantity/jump-quantity.d.ts +1 -1
- package/dist/types/components/jump-quantity/jump-quantity.stories.d.ts +5 -0
- package/dist/types/components.d.ts +4 -0
- package/package.json +1 -1
- package/dist/jump-design-system/p-35633b03.entry.js.map +0 -1
- package/dist/jump-design-system/p-53bf2958.entry.js.map +0 -1
- package/dist/jump-design-system/p-fa0dcb05.entry.js +0 -2
- package/dist/jump-design-system/p-fa0dcb05.entry.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["switch_styles_default","css","SlSwitch","ShoelaceElement","constructor","super","arguments","this","formControlController","FormControlController","value","control","checked","defaultValue","defaultChecked","setValue","hasSlotController","HasSlotController","hasFocus","title","name","size","disabled","form","required","helpText","validity","input","validationMessage","firstUpdated","updateValidity","handleBlur","emit","handleInput","handleInvalid","event","setValidity","emitInvalidEvent","handleClick","handleFocus","handleKeyDown","key","preventDefault","handleCheckedChange","handleDisabledChange","click","focus","options","blur","checkValidity","getForm","reportValidity","setCustomValidity","message","render","hasHelpTextSlot","test","hasHelpText","html","classMap","switch","ifDefined","live","styles","component_styles_default","form_control_styles_default","__decorateClass","query","prototype","state","property","reflect","type","Boolean","attribute","watch","waitUntilFirstUpdate","define","jumpFilterSwitchCss","JumpFilterSwitchStyle0","JumpFilterSwitch","componentDidLoad","listenSLChange","host","addEventListener","eventData","toggleCheckbox","isChecked","h","Host","ref","label","el"],"sources":["node_modules/@shoelace-style/shoelace/dist/chunks/chunk.EU44RQUN.js","node_modules/@shoelace-style/shoelace/dist/chunks/chunk.S33XS33R.js","node_modules/@shoelace-style/shoelace/dist/chunks/chunk.TUJRSXNR.js","src/components/jump-filter-switch/jump-filter-switch.scss?tag=jump-filter-switch&encapsulation=shadow","src/components/jump-filter-switch/jump-filter-switch.tsx"],"sourcesContent":["// src/components/switch/switch.styles.ts\nimport { css } from \"lit\";\nvar switch_styles_default = css`\n :host {\n display: inline-block;\n }\n\n :host([size='small']) {\n --height: var(--sl-toggle-size-small);\n --thumb-size: calc(var(--sl-toggle-size-small) + 4px);\n --width: calc(var(--height) * 2);\n\n font-size: var(--sl-input-font-size-small);\n }\n\n :host([size='medium']) {\n --height: var(--sl-toggle-size-medium);\n --thumb-size: calc(var(--sl-toggle-size-medium) + 4px);\n --width: calc(var(--height) * 2);\n\n font-size: var(--sl-input-font-size-medium);\n }\n\n :host([size='large']) {\n --height: var(--sl-toggle-size-large);\n --thumb-size: calc(var(--sl-toggle-size-large) + 4px);\n --width: calc(var(--height) * 2);\n\n font-size: var(--sl-input-font-size-large);\n }\n\n .switch {\n position: relative;\n display: inline-flex;\n align-items: center;\n font-family: var(--sl-input-font-family);\n font-size: inherit;\n font-weight: var(--sl-input-font-weight);\n color: var(--sl-input-label-color);\n vertical-align: middle;\n cursor: pointer;\n }\n\n .switch__control {\n flex: 0 0 auto;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--width);\n height: var(--height);\n background-color: var(--sl-color-neutral-400);\n border: solid var(--sl-input-border-width) var(--sl-color-neutral-400);\n border-radius: var(--height);\n transition:\n var(--sl-transition-fast) border-color,\n var(--sl-transition-fast) background-color;\n }\n\n .switch__control .switch__thumb {\n width: var(--thumb-size);\n height: var(--thumb-size);\n background-color: var(--sl-color-neutral-0);\n border-radius: 50%;\n border: solid var(--sl-input-border-width) var(--sl-color-neutral-400);\n translate: calc((var(--width) - var(--height)) / -2);\n transition:\n var(--sl-transition-fast) translate ease,\n var(--sl-transition-fast) background-color,\n var(--sl-transition-fast) border-color,\n var(--sl-transition-fast) box-shadow;\n }\n\n .switch__input {\n position: absolute;\n opacity: 0;\n padding: 0;\n margin: 0;\n pointer-events: none;\n }\n\n /* Hover */\n .switch:not(.switch--checked):not(.switch--disabled) .switch__control:hover {\n background-color: var(--sl-color-neutral-400);\n border-color: var(--sl-color-neutral-400);\n }\n\n .switch:not(.switch--checked):not(.switch--disabled) .switch__control:hover .switch__thumb {\n background-color: var(--sl-color-neutral-0);\n border-color: var(--sl-color-neutral-400);\n }\n\n /* Focus */\n .switch:not(.switch--checked):not(.switch--disabled) .switch__input:focus-visible ~ .switch__control {\n background-color: var(--sl-color-neutral-400);\n border-color: var(--sl-color-neutral-400);\n }\n\n .switch:not(.switch--checked):not(.switch--disabled) .switch__input:focus-visible ~ .switch__control .switch__thumb {\n background-color: var(--sl-color-neutral-0);\n border-color: var(--sl-color-primary-600);\n outline: var(--sl-focus-ring);\n outline-offset: var(--sl-focus-ring-offset);\n }\n\n /* Checked */\n .switch--checked .switch__control {\n background-color: var(--sl-color-primary-600);\n border-color: var(--sl-color-primary-600);\n }\n\n .switch--checked .switch__control .switch__thumb {\n background-color: var(--sl-color-neutral-0);\n border-color: var(--sl-color-primary-600);\n translate: calc((var(--width) - var(--height)) / 2);\n }\n\n /* Checked + hover */\n .switch.switch--checked:not(.switch--disabled) .switch__control:hover {\n background-color: var(--sl-color-primary-600);\n border-color: var(--sl-color-primary-600);\n }\n\n .switch.switch--checked:not(.switch--disabled) .switch__control:hover .switch__thumb {\n background-color: var(--sl-color-neutral-0);\n border-color: var(--sl-color-primary-600);\n }\n\n /* Checked + focus */\n .switch.switch--checked:not(.switch--disabled) .switch__input:focus-visible ~ .switch__control {\n background-color: var(--sl-color-primary-600);\n border-color: var(--sl-color-primary-600);\n }\n\n .switch.switch--checked:not(.switch--disabled) .switch__input:focus-visible ~ .switch__control .switch__thumb {\n background-color: var(--sl-color-neutral-0);\n border-color: var(--sl-color-primary-600);\n outline: var(--sl-focus-ring);\n outline-offset: var(--sl-focus-ring-offset);\n }\n\n /* Disabled */\n .switch--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .switch__label {\n display: inline-block;\n line-height: var(--height);\n margin-inline-start: 0.5em;\n user-select: none;\n -webkit-user-select: none;\n }\n\n :host([required]) .switch__label::after {\n content: var(--sl-input-required-content);\n color: var(--sl-input-required-content-color);\n margin-inline-start: var(--sl-input-required-content-offset);\n }\n\n @media (forced-colors: active) {\n .switch.switch--checked:not(.switch--disabled) .switch__control:hover .switch__thumb,\n .switch--checked .switch__control .switch__thumb {\n background-color: ButtonText;\n }\n }\n`;\n\nexport {\n switch_styles_default\n};\n","import {\n switch_styles_default\n} from \"./chunk.EU44RQUN.js\";\nimport {\n defaultValue\n} from \"./chunk.GI7VDIWX.js\";\nimport {\n form_control_styles_default\n} from \"./chunk.SI4ACBFK.js\";\nimport {\n FormControlController\n} from \"./chunk.KWPBDQ6I.js\";\nimport {\n HasSlotController\n} from \"./chunk.NYIIDP5N.js\";\nimport {\n watch\n} from \"./chunk.2FB5TK5H.js\";\nimport {\n component_styles_default\n} from \"./chunk.TUVJKY7S.js\";\nimport {\n ShoelaceElement\n} from \"./chunk.SFSTXCXC.js\";\nimport {\n __decorateClass\n} from \"./chunk.IFDWM6P4.js\";\n\n// src/components/switch/switch.component.ts\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { html } from \"lit\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport { live } from \"lit/directives/live.js\";\nimport { property, query, state } from \"lit/decorators.js\";\nvar SlSwitch = class extends ShoelaceElement {\n constructor() {\n super(...arguments);\n this.formControlController = new FormControlController(this, {\n value: (control) => control.checked ? control.value || \"on\" : void 0,\n defaultValue: (control) => control.defaultChecked,\n setValue: (control, checked) => control.checked = checked\n });\n this.hasSlotController = new HasSlotController(this, \"help-text\");\n this.hasFocus = false;\n this.title = \"\";\n this.name = \"\";\n this.size = \"medium\";\n this.disabled = false;\n this.checked = false;\n this.defaultChecked = false;\n this.form = \"\";\n this.required = false;\n this.helpText = \"\";\n }\n /** Gets the validity state object */\n get validity() {\n return this.input.validity;\n }\n /** Gets the validation message */\n get validationMessage() {\n return this.input.validationMessage;\n }\n firstUpdated() {\n this.formControlController.updateValidity();\n }\n handleBlur() {\n this.hasFocus = false;\n this.emit(\"sl-blur\");\n }\n handleInput() {\n this.emit(\"sl-input\");\n }\n handleInvalid(event) {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n handleClick() {\n this.checked = !this.checked;\n this.emit(\"sl-change\");\n }\n handleFocus() {\n this.hasFocus = true;\n this.emit(\"sl-focus\");\n }\n handleKeyDown(event) {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n this.checked = false;\n this.emit(\"sl-change\");\n this.emit(\"sl-input\");\n }\n if (event.key === \"ArrowRight\") {\n event.preventDefault();\n this.checked = true;\n this.emit(\"sl-change\");\n this.emit(\"sl-input\");\n }\n }\n handleCheckedChange() {\n this.input.checked = this.checked;\n this.formControlController.updateValidity();\n }\n handleDisabledChange() {\n this.formControlController.setValidity(true);\n }\n /** Simulates a click on the switch. */\n click() {\n this.input.click();\n }\n /** Sets focus on the switch. */\n focus(options) {\n this.input.focus(options);\n }\n /** Removes focus from the switch. */\n blur() {\n this.input.blur();\n }\n /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n return this.input.checkValidity();\n }\n /** Gets the associated form, if one exists. */\n getForm() {\n return this.formControlController.getForm();\n }\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.input.reportValidity();\n }\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message) {\n this.input.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n render() {\n const hasHelpTextSlot = this.hasSlotController.test(\"help-text\");\n const hasHelpText = this.helpText ? true : !!hasHelpTextSlot;\n return html`\n <div\n class=${classMap({\n \"form-control\": true,\n \"form-control--small\": this.size === \"small\",\n \"form-control--medium\": this.size === \"medium\",\n \"form-control--large\": this.size === \"large\",\n \"form-control--has-help-text\": hasHelpText\n })}\n >\n <label\n part=\"base\"\n class=${classMap({\n switch: true,\n \"switch--checked\": this.checked,\n \"switch--disabled\": this.disabled,\n \"switch--focused\": this.hasFocus,\n \"switch--small\": this.size === \"small\",\n \"switch--medium\": this.size === \"medium\",\n \"switch--large\": this.size === \"large\"\n })}\n >\n <input\n class=\"switch__input\"\n type=\"checkbox\"\n title=${this.title}\n name=${this.name}\n value=${ifDefined(this.value)}\n .checked=${live(this.checked)}\n .disabled=${this.disabled}\n .required=${this.required}\n role=\"switch\"\n aria-checked=${this.checked ? \"true\" : \"false\"}\n aria-describedby=\"help-text\"\n @click=${this.handleClick}\n @input=${this.handleInput}\n @invalid=${this.handleInvalid}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @keydown=${this.handleKeyDown}\n />\n\n <span part=\"control\" class=\"switch__control\">\n <span part=\"thumb\" class=\"switch__thumb\"></span>\n </span>\n\n <div part=\"label\" class=\"switch__label\">\n <slot></slot>\n </div>\n </label>\n\n <div\n aria-hidden=${hasHelpText ? \"false\" : \"true\"}\n class=\"form-control__help-text\"\n id=\"help-text\"\n part=\"form-control-help-text\"\n >\n <slot name=\"help-text\">${this.helpText}</slot>\n </div>\n </div>\n `;\n }\n};\nSlSwitch.styles = [component_styles_default, form_control_styles_default, switch_styles_default];\n__decorateClass([\n query('input[type=\"checkbox\"]')\n], SlSwitch.prototype, \"input\", 2);\n__decorateClass([\n state()\n], SlSwitch.prototype, \"hasFocus\", 2);\n__decorateClass([\n property()\n], SlSwitch.prototype, \"title\", 2);\n__decorateClass([\n property()\n], SlSwitch.prototype, \"name\", 2);\n__decorateClass([\n property()\n], SlSwitch.prototype, \"value\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlSwitch.prototype, \"size\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlSwitch.prototype, \"disabled\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlSwitch.prototype, \"checked\", 2);\n__decorateClass([\n defaultValue(\"checked\")\n], SlSwitch.prototype, \"defaultChecked\", 2);\n__decorateClass([\n property({ reflect: true })\n], SlSwitch.prototype, \"form\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], SlSwitch.prototype, \"required\", 2);\n__decorateClass([\n property({ attribute: \"help-text\" })\n], SlSwitch.prototype, \"helpText\", 2);\n__decorateClass([\n watch(\"checked\", { waitUntilFirstUpdate: true })\n], SlSwitch.prototype, \"handleCheckedChange\", 1);\n__decorateClass([\n watch(\"disabled\", { waitUntilFirstUpdate: true })\n], SlSwitch.prototype, \"handleDisabledChange\", 1);\n\nexport {\n SlSwitch\n};\n","import {\n SlSwitch\n} from \"./chunk.S33XS33R.js\";\n\n// src/components/switch/switch.ts\nvar switch_default = SlSwitch;\nSlSwitch.define(\"sl-switch\");\n\nexport {\n switch_default\n};\n","@import '../../../node_modules/@shoelace-style/shoelace/dist/themes/light.css';\n\n:host {\n /* Definizione delle variabili per il nostro componente */\n --jump-switch-width: 36px;\n --jump-switch-height: 20px;\n --jump-switch-thumb-size: 14px;\n --jump-switch-thumb-color: var(--neutral-white, #ffffff);\n --jump-switch-active-color: var(--secondary-standard, #5e79ba);\n --jump-switch-inactive-color: var(--neutral-grey-disabled, #cbcbcb);\n --jump-switch-disabled-opacity: 0.5;\n --jump-switch-font-family: var(--ff-primary, 'Inter', sans-serif);\n --jump-switch-font-size: 16px;\n --jump-switch-font-weight: normal;\n --jump-switch-label-color: var(--neutral-black, #000000);\n\n display: flex;\n align-items: center;\n width: 100%;\n\n /* Stile diretto per Shoelace switch */\n sl-switch::part(base) {\n width: 100%;\n font-family: var(--jump-switch-font-family);\n font-size: var(--jump-switch-font-size);\n font-weight: var(--jump-switch-font-weight);\n color: var(--jump-switch-label-color);\n }\n\n sl-switch::part(control) {\n width: var(--jump-switch-width) !important;\n height: var(--jump-switch-height) !important;\n background-color: var(--jump-switch-inactive-color) !important;\n border-color: var(--jump-switch-inactive-color) !important;\n }\n\n sl-switch::part(thumb) {\n width: var(--jump-switch-thumb-size) !important;\n height: var(--jump-switch-thumb-size) !important;\n background-color: var(--jump-switch-thumb-color) !important;\n border-color: var(--jump-switch-thumb-color) !important;\n }\n\n sl-switch[checked]::part(control) {\n background-color: var(--jump-switch-active-color) !important;\n border-color: var(--jump-switch-active-color) !important;\n }\n\n sl-switch::part(label) {\n margin-left: 8px;\n }\n\n sl-switch[disabled] {\n opacity: var(--jump-switch-disabled-opacity);\n cursor: not-allowed;\n }\n\n /* Stile per il contatore */\n .count {\n margin-left: auto;\n color: var(--neutral-grey-secondary, #707070);\n font-size: 0.85em;\n }\n}\n","import { Component, Host, Prop, h, Event, EventEmitter, Method } from '@stencil/core';\nimport '@shoelace-style/shoelace/dist/components/switch/switch.js';\n\n/**\n * Componente switch per filtri con supporto per label e stato\n * @slot - Contenuto opzionale da mostrare accanto al switch (alternativo alla label)\n */\n@Component({\n tag: 'jump-filter-switch',\n styleUrl: 'jump-filter-switch.scss',\n shadow: true,\n})\nexport class JumpFilterSwitch {\n /** Il valore associato al switch */\n @Prop() value: string;\n\n /** La label da mostrare accanto al switch */\n @Prop() label: string;\n\n /** Stato del switch (acceso/spento) */\n @Prop({ reflect: true }) checked: boolean = false;\n\n /** Stato del switch (disabilitato) */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Riferimento all'elemento host */\n host: HTMLElement;\n\n /** Riferimento all'elemento sl-switch interno */\n el: any; // Usiamo any per evitare problemi di tipo con le proprietà specifiche di sl-switch\n\n componentDidLoad() {\n this.listenSLChange();\n }\n\n /**\n * Ascolta gli eventi di cambio stato dal switch Shoelace\n */\n listenSLChange() {\n if (this.host) {\n this.host.addEventListener('sl-change', () => {\n // Ignora l'evento se lo switch è disabilitato\n if (this.disabled) {\n return;\n }\n\n this.checked = !this.checked;\n\n const eventData = {\n value: this.value,\n checked: this.checked,\n };\n\n this.toggleCheckbox.emit(eventData);\n });\n }\n }\n\n /**\n * Evento emesso quando cambia lo stato del switch\n */\n @Event({ eventName: 'jump-switch-change' }) toggleCheckbox: EventEmitter;\n\n /**\n * Metodo pubblico per verificare lo stato corrente del switch\n * @returns {boolean} Lo stato corrente del switch (true = acceso, false = spento)\n */\n @Method()\n async isChecked() {\n return this.checked;\n }\n\n render() {\n return (\n <Host ref={(host: HTMLElement) => (this.host = host)}>\n {this.value && this.label && (\n <sl-switch\n value={this.value}\n ref={(el: any) => (this.el = el)}\n checked={this.checked}\n disabled={this.disabled}\n >\n {this.label}\n </sl-switch>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as i,H as s,g as a}from"./p-e516e812.js";const n=":host{display:inline-flex;align-items:flex-start;justify-content:center;flex-direction:column;gap:0.5rem}:host jump-button,:host button{--jump-button-padding:0.5rem}:host [data-variant=horizontal]{flex-direction:row}:host label{color:var(--neutral-grey-secondary);font-size:0.875rem}:host input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;margin:0;outline:none;border:1px solid transparent;border-radius:3px;padding:0.5rem;height:14px;width:36px;font-size:0.875rem;text-align:center}:host input::-webkit-inner-spin-button,:host input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}:host input:focus{border-color:var(--secondary-standard)}:host input:not([aria-hasbuttons]){border-color:var(--neutral-grey-secondary)}:host input[type=button]{cursor:pointer}:host ::slotted(jump-button){--jump-button-padding:0}:host .jump-quantity__InnerWrapper{display:flex;flex-direction:row;align-items:flex-start;justify-content:center;gap:0}";const r=n;const h=class{constructor(i){t(this,i);this.change=e(this,"jump-change",7);if(i.$hostElement$["s-ei"]){this.internals=i.$hostElement$["s-ei"]}else{this.internals=i.$hostElement$.attachInternals();i.$hostElement$["s-ei"]=this.internals}this.min=1;this.max=undefined;this.step=1;this.label="";this.type="buttons";this.variant="vertical";this.showButtons=true;this.value=undefined;this.currentValue=undefined}onValueChange(t,e){this.change.emit({value:t,oldValue:e});this.internals.setFormValue(t)}async getValue(){return this.currentValue}async setMax(t){this.max=t}async reset(){this.value=this.min;this.currentValue=this.value}componentWillLoad(){this.value=this.min;this.currentValue=this.value;this.internals.setFormValue(this.value.toString())}formResetCallback(){this.internals.setValidity({});this.internals.setFormValue("")}handleChange(t){let e=parseInt(t.target.value);if(e<this.min){this.currentValue=this.min}else if(e>this.max){this.currentValue=this.max}else{this.currentValue=t.target.value}}handleBlur(t){if(t.target.value<this.min){this.value=this.min;this.currentValue=this.min}}render(){return i(s,{key:"0cefbdce0097d9c5eb18ee7273b24ba34628520f",value:this.value,"data-variant":this.variant,"data-hasbuttons":this.showButtons},this.label&&i("label",{key:"46c2f47ba86fee62d1e3f72d98faf168303a98de"},this.label),i("div",{key:"3ee47adb447e7b7e014af440d08ad1fa78e877db",class:`jump-quantity__InnerWrapper`},this.showButtons&&i("jump-button",{key:"727984cb5dabb79b5af9afba9b649ca7105e0e1e",onClick:()=>this.currentValue=this.currentValue-this.step,disabled:this.currentValue<=this.min,variant:"neutral",size:"custom"},i("jump-icon",{key:"b4c4933fe2e4b9976803b291152b72b8527f31d6",library:"lucide",name:"minus",size:"small"})),i("input",{key:"fd8991f279cbde1459ba7aaa4809cb6581abd0fd",ref:t=>{this.inputEl=t},type:"number",value:this.currentValue,onInput:t=>this.handleChange(t),min:this.min,max:this.max,step:this.step,"aria-hasbuttons":this.showButtons}),this.showButtons&&i("jump-button",{key:"0c43f1470dcf4cad5a69005cddb31de86057f778",onClick:()=>this.currentValue=this.currentValue+this.step,disabled:this.currentValue>=this.max,variant:"neutral",size:"custom"},i("jump-icon",{key:"2d64c4d964492b9a0a6ebb080c9747f3d74b9126",library:"lucide",name:"plus",size:"small"}))))}static get formAssociated(){return true}get el(){return a(this)}static get watchers(){return{value:["onValueChange"]}}};h.style=r;export{h as jump_quantity};
|
|
2
|
-
//# sourceMappingURL=p-fa0dcb05.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["jumpQuantityCss","JumpQuantityStyle0","JumpQuantity","onValueChange","newValue","oldValue","this","change","emit","value","internals","setFormValue","getValue","currentValue","setMax","max","reset","min","componentWillLoad","toString","formResetCallback","setValidity","handleChange","event","parseInt","target","handleBlur","render","h","Host","key","variant","showButtons","label","class","onClick","step","disabled","size","library","name","ref","el","inputEl","type","onInput"],"sources":["src/components/jump-quantity/jump-quantity.scss?tag=jump-quantity&encapsulation=shadow","src/components/jump-quantity/jump-quantity.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n align-items: flex-start;\n justify-content: center;\n flex-direction: column;\n gap: 0.5rem;\n\n jump-button, button{\n --jump-button-padding: 0.5rem;\n }\n\n [data-variant='horizontal'] {\n flex-direction: row;\n }\n\n label {\n color: var(--neutral-grey-secondary);\n font-size: 0.875rem;\n }\n\n input {\n //remove user agent styles\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n background: none;\n margin: 0;\n\n //remove + and - buttons\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n outline: none;\n\n &:focus {\n border-color: var(--secondary-standard);\n }\n\n border: 1px solid transparent;\n border-radius: 3px;\n padding: 0.5rem;\n height: 14px;\n width: 36px;\n font-size: 0.875rem;\n text-align: center;\n\n &:not([aria-hasbuttons]) {\n border-color: var(--neutral-grey-secondary);\n }\n\n &[type='button'] {\n cursor: pointer;\n }\n }\n\n ::slotted(jump-button) {\n --jump-button-padding: 0;\n }\n\n\n .jump-quantity__InnerWrapper {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n gap: 0;\n }\n}\n","import { Component, Host, AttachInternals, Watch, Method, Prop, h, Event, Element, State } from '@stencil/core';\n\n@Component({\n tag: 'jump-quantity',\n styleUrl: 'jump-quantity.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class JumpQuantity {\n\n @AttachInternals() internals: ElementInternals;\n @Element() el;\n\n @Prop() min: number = 1;\n @Prop() max: number;\n @Prop() step: number = 1;\n @Prop() label: string = '';\n @Prop() type: 'buttons' | 'dropdown' | 'input' = 'buttons';\n @Prop() variant: 'vertical' | 'horizontal' = 'vertical';\n @Prop() showButtons: boolean = true;\n @Prop() value: number;\n\n @State() currentValue: number;\n\n @Event({ eventName: 'jump-change' }) change;\n\n inputEl: HTMLInputElement;\n\n @Watch('value')\n onValueChange(newValue, oldValue) {\n this.change.emit({\n value: newValue,\n oldValue: oldValue,\n });\n this.internals.setFormValue(newValue);\n }\n\n /**\n * Get the current value\n */\n @Method()\n async getValue() {\n return this.currentValue;\n }\n\n /**\n * Set the current value\n */\n @Method()\n async setMax(value: number) {\n this.max = value;\n }\n\n @Method()\n async reset() {\n this.value = this.min;\n this.currentValue = this.value;\n }\n\n componentWillLoad() {\n this.value = this.min;\n this.currentValue = this.value;\n this.internals.setFormValue(this.value.toString());\n }\n\n formResetCallback() {\n this.internals.setValidity({});\n this.internals.setFormValue('');\n }\n\n handleChange(event) {\n let value = parseInt(event.target.value);\n if(value < this.min){\n this.currentValue = this.min;\n } else if(value > this.max){\n this.currentValue = this.max;\n } else {\n this.currentValue = event.target.value;\n }\n }\n\n //avoid user can change the value below the min\n handleBlur(event) {\n if (event.target.value < this.min) {\n this.value = this.min;\n this.currentValue = this.min;\n }\n }\n\n render() {\n return (\n <Host value={this.value} data-variant={this.variant} data-hasbuttons={this.showButtons}>\n {this.label && <label>{this.label}</label>}\n <div class={`jump-quantity__InnerWrapper`}>\n {this.showButtons &&\n <jump-button onClick={() => this.currentValue = this.currentValue - this.step} disabled={this.currentValue <= this.min}\n variant='neutral' size='custom'>\n <jump-icon library=\"lucide\" name=\"minus\" size=\"small\"></jump-icon>\n </jump-button>}\n <input ref={(el) => {\n this.inputEl = el;\n }}\n type='number'\n value={this.currentValue}\n onInput={(event) => this.handleChange(event)}\n min={this.min}\n max={this.max}\n step={this.step}\n aria-hasbuttons={this.showButtons}\n />\n {this.showButtons &&\n <jump-button onClick={() => this.currentValue = this.currentValue + this.step} disabled={this.currentValue >= this.max}\n variant='neutral' size='custom'>\n <jump-icon library=\"lucide\" name=\"plus\" size=\"small\"></jump-icon>\n </jump-button>}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"gEAAA,MAAMA,EAAkB,i9BACxB,MAAAC,EAAeD,E,MCOFE,EAAY,M,sOAKD,E,6BAEC,E,WACC,G,UACyB,U,aACJ,W,iBACd,K,iDAU/B,aAAAC,CAAcC,EAAUC,GACtBC,KAAKC,OAAOC,KAAK,CACfC,MAAOL,EACPC,SAAUA,IAEZC,KAAKI,UAAUC,aAAaP,E,CAO9B,cAAMQ,GACJ,OAAON,KAAKO,Y,CAOd,YAAMC,CAAOL,GACXH,KAAKS,IAAMN,C,CAIb,WAAMO,GACJV,KAAKG,MAAQH,KAAKW,IAClBX,KAAKO,aAAeP,KAAKG,K,CAG3B,iBAAAS,GACEZ,KAAKG,MAAQH,KAAKW,IAClBX,KAAKO,aAAeP,KAAKG,MACzBH,KAAKI,UAAUC,aAAaL,KAAKG,MAAMU,W,CAGzC,iBAAAC,GACEd,KAAKI,UAAUW,YAAY,IAC3Bf,KAAKI,UAAUC,aAAa,G,CAG9B,YAAAW,CAAaC,GACX,IAAId,EAAQe,SAASD,EAAME,OAAOhB,OAClC,GAAGA,EAAQH,KAAKW,IAAI,CAClBX,KAAKO,aAAeP,KAAKW,G,MACpB,GAAGR,EAAQH,KAAKS,IAAI,CACzBT,KAAKO,aAAeP,KAAKS,G,KACpB,CACLT,KAAKO,aAAeU,EAAME,OAAOhB,K,EAKrC,UAAAiB,CAAWH,GACT,GAAIA,EAAME,OAAOhB,MAAQH,KAAKW,IAAK,CACjCX,KAAKG,MAAQH,KAAKW,IAClBX,KAAKO,aAAeP,KAAKW,G,EAI7B,MAAAU,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CAACrB,MAAOH,KAAKG,MAAK,eAAgBH,KAAKyB,QAAO,kBAAmBzB,KAAK0B,aACxE1B,KAAK2B,OAASL,EAAA,SAAAE,IAAA,4CAAQxB,KAAK2B,OAC5BL,EAAA,OAAAE,IAAA,2CAAKI,MAAO,+BACX5B,KAAK0B,aACFJ,EAAA,eAAAE,IAAA,2CAAaK,QAAS,IAAM7B,KAAKO,aAAeP,KAAKO,aAAeP,KAAK8B,KAAMC,SAAU/B,KAAKO,cAAgBP,KAAKW,IACtGc,QAAQ,UAAUO,KAAK,UAClCV,EAAA,aAAAE,IAAA,2CAAWS,QAAQ,SAASC,KAAK,QAAQF,KAAK,WAElDV,EAAA,SAAAE,IAAA,2CAAOW,IAAMC,IACXpC,KAAKqC,QAAUD,CAAE,EAEZE,KAAK,SACLnC,MAAOH,KAAKO,aACZgC,QAAUtB,GAAUjB,KAAKgB,aAAaC,GACtCN,IAAKX,KAAKW,IACVF,IAAKT,KAAKS,IACVqB,KAAM9B,KAAK8B,KAAI,kBACE9B,KAAK0B,cAE5B1B,KAAK0B,aACJJ,EAAA,eAAAE,IAAA,2CAAaK,QAAS,IAAM7B,KAAKO,aAAeP,KAAKO,aAAeP,KAAK8B,KAAMC,SAAU/B,KAAKO,cAAgBP,KAAKS,IACtGgB,QAAQ,UAAUO,KAAK,UAClCV,EAAA,aAAAE,IAAA,2CAAWS,QAAQ,SAASC,KAAK,OAAOF,KAAK,Y"}
|