@jumpgroup/jump-design-system 0.3.67 → 0.3.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/cjs/jump-design-system.cjs.js +1 -1
  2. package/dist/cjs/jump-filter-select.cjs.entry.js +69 -7
  3. package/dist/cjs/jump-filter-select.cjs.entry.js.map +1 -1
  4. package/dist/cjs/jump-filter-switch.cjs.entry.js +105 -5
  5. package/dist/cjs/jump-filter-switch.cjs.entry.js.map +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/components/jump-filter-select/jump-filter-select.js +143 -8
  8. package/dist/collection/components/jump-filter-select/jump-filter-select.js.map +1 -1
  9. package/dist/collection/components/jump-filter-switch/jump-filter-switch.js +220 -6
  10. package/dist/collection/components/jump-filter-switch/jump-filter-switch.js.map +1 -1
  11. package/dist/components/jump-filter-select.js +73 -7
  12. package/dist/components/jump-filter-select.js.map +1 -1
  13. package/dist/components/jump-filter-switch.js +114 -7
  14. package/dist/components/jump-filter-switch.js.map +1 -1
  15. package/dist/esm/jump-design-system.js +1 -1
  16. package/dist/esm/jump-filter-select.entry.js +69 -7
  17. package/dist/esm/jump-filter-select.entry.js.map +1 -1
  18. package/dist/esm/jump-filter-switch.entry.js +105 -5
  19. package/dist/esm/jump-filter-switch.entry.js.map +1 -1
  20. package/dist/esm/loader.js +1 -1
  21. package/dist/jump-design-system/jump-design-system.esm.js +1 -1
  22. package/dist/jump-design-system/jump-design-system.esm.js.map +1 -1
  23. package/dist/jump-design-system/{p-469ccf77.entry.js → p-6148a37d.entry.js} +4 -4
  24. package/dist/jump-design-system/p-6148a37d.entry.js.map +1 -0
  25. package/dist/jump-design-system/{p-7c06855a.entry.js → p-79c78037.entry.js} +4 -4
  26. package/dist/jump-design-system/p-79c78037.entry.js.map +1 -0
  27. package/dist/jump-design-system-elements.json +8 -0
  28. package/dist/types/components/jump-filter-select/jump-filter-select.d.ts +22 -0
  29. package/dist/types/components/jump-filter-switch/jump-filter-switch.d.ts +33 -0
  30. package/dist/types/components.d.ts +53 -0
  31. package/package.json +1 -1
  32. package/dist/jump-design-system/p-469ccf77.entry.js.map +0 -1
  33. package/dist/jump-design-system/p-7c06855a.entry.js.map +0 -1
@@ -396,13 +396,41 @@ const JumpFilterSwitch = class {
396
396
  index.registerInstance(this, hostRef);
397
397
  this.toggleCheckbox = index.createEvent(this, "jump-switch-change", 7);
398
398
  this.toggleCheckboxFilterChange = index.createEvent(this, "jump-filterchange", 7);
399
+ this.valueChange = index.createEvent(this, "jump-switch-value-change", 7);
399
400
  this.value = undefined;
400
401
  this.label = undefined;
402
+ this.name = 'switch-filter';
401
403
  this.checked = false;
402
404
  this.disabled = false;
405
+ this.values = [];
406
+ }
407
+ /**
408
+ * Watch sulla proprietà checked per reagire ai cambiamenti esterni
409
+ */
410
+ checkedChanged(newValue, oldValue) {
411
+ if (newValue !== oldValue) {
412
+ // Aggiorna l'elemento sl-switch
413
+ if (this.el) {
414
+ this.el.checked = newValue;
415
+ }
416
+ // Aggiorna i valori
417
+ this.updateValues();
418
+ }
403
419
  }
404
420
  componentDidLoad() {
405
421
  this.listenSLChange();
422
+ // Inizializza i valori in base allo stato del checkbox
423
+ this.updateValues();
424
+ // Se è stato passato un valore di checked, applica lo stato all'elemento sl-switch
425
+ if (this.el && this.checked) {
426
+ this.el.checked = this.checked;
427
+ }
428
+ }
429
+ /**
430
+ * Aggiorna l'array dei valori in base allo stato del checkbox
431
+ */
432
+ updateValues() {
433
+ this.values = this.checked && this.value ? [this.value] : [];
406
434
  }
407
435
  /**
408
436
  * Ascolta gli eventi di cambio stato dal switch Shoelace
@@ -415,15 +443,70 @@ const JumpFilterSwitch = class {
415
443
  return;
416
444
  }
417
445
  this.checked = !this.checked;
418
- const eventData = {
446
+ this.updateValues();
447
+ // Evento specifico per il componente switch
448
+ const switchEventData = {
419
449
  value: this.value,
420
- checked: this.checked,
450
+ checked: this.checked
451
+ };
452
+ this.toggleCheckbox.emit(switchEventData);
453
+ // Evento standard per il sistema di filtri
454
+ const filterEventData = {
455
+ name: this.name,
456
+ values: this.values,
457
+ checked: this.checked
421
458
  };
422
- this.toggleCheckbox.emit(eventData);
423
- this.toggleCheckboxFilterChange.emit(eventData);
459
+ this.toggleCheckboxFilterChange.emit(filterEventData);
424
460
  });
425
461
  }
426
462
  }
463
+ /**
464
+ * Metodo pubblico per impostare programmaticamente lo stato del switch
465
+ * @param checked - Il nuovo stato del switch (true = acceso, false = spento)
466
+ * @param emitEvent - Se emettere eventi di cambio stato (default: true)
467
+ * @returns {Promise<boolean>} Il nuovo stato del switch
468
+ */
469
+ async setValue(checked, emitEvent = true) {
470
+ // Se il component è disabilitato, non fare nulla
471
+ if (this.disabled) {
472
+ return this.checked;
473
+ }
474
+ // Salva il valore precedente per l'evento
475
+ const oldValue = this.checked;
476
+ // Imposta il nuovo valore
477
+ this.checked = checked;
478
+ // Aggiorna l'elemento sl-switch interno
479
+ if (this.el) {
480
+ this.el.checked = checked;
481
+ }
482
+ // Aggiorna l'array dei valori
483
+ this.updateValues();
484
+ // Emetti eventi se richiesto
485
+ if (emitEvent && oldValue !== checked) {
486
+ // Evento specifico per il componente switch
487
+ const switchEventData = {
488
+ value: this.value,
489
+ checked: this.checked,
490
+ programmatic: true
491
+ };
492
+ this.toggleCheckbox.emit(switchEventData);
493
+ // Evento standard per il sistema di filtri
494
+ const filterEventData = {
495
+ name: this.name,
496
+ values: this.values,
497
+ checked: this.checked,
498
+ programmatic: true
499
+ };
500
+ this.toggleCheckboxFilterChange.emit(filterEventData);
501
+ // Evento specifico per cambio valore programmato
502
+ this.valueChange.emit({
503
+ value: this.value,
504
+ checked: this.checked,
505
+ oldChecked: oldValue
506
+ });
507
+ }
508
+ return this.checked;
509
+ }
427
510
  /**
428
511
  * Metodo pubblico per verificare lo stato corrente del switch
429
512
  * @returns {boolean} Lo stato corrente del switch (true = acceso, false = spento)
@@ -431,9 +514,26 @@ const JumpFilterSwitch = class {
431
514
  async isChecked() {
432
515
  return this.checked;
433
516
  }
517
+ /**
518
+ * Metodo pubblico per ottenere i valori selezionati
519
+ * @returns {string[]} Array contenente il valore se selezionato, altrimenti array vuoto
520
+ */
521
+ async getValues() {
522
+ return this.values;
523
+ }
524
+ /**
525
+ * Metodo pubblico per ottenere il nome del filtro
526
+ * @returns {string} Il nome del filtro
527
+ */
528
+ async getName() {
529
+ return this.name;
530
+ }
434
531
  render() {
435
- return (index.h(index.Host, { key: '38b92b7cbad470b5ca944e2734d01f9409262881', ref: (host) => (this.host = host) }, this.value && this.label && (index.h("sl-switch", { key: '2fac822671f25f54073e0eb9bf01a441a0ffe927', value: this.value, ref: (el) => (this.el = el), checked: this.checked, disabled: this.disabled }, this.label))));
532
+ return (index.h(index.Host, { key: '5aaeb4633e6b9392d4adc3c461d1842ec3a90173', ref: (host) => (this.host = host) }, this.value && this.label && (index.h("sl-switch", { key: 'd261e71b29afd307de4941f8e81e71d47246e036', value: this.value, ref: (el) => (this.el = el), checked: this.checked, disabled: this.disabled }, this.label))));
436
533
  }
534
+ static get watchers() { return {
535
+ "checked": ["checkedChanged"]
536
+ }; }
437
537
  };
438
538
  JumpFilterSwitch.style = JumpFilterSwitchStyle0;
439
539
 
@@ -1 +1 @@
1
- {"file":"jump-filter-switch.entry.cjs.js","mappings":";;;;;;;;;;AAAA;AAEA,IAAI,qBAAqB,GAAGA,kBAAG,CAAC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;ACrID,IAAI,QAAQ,GAAG,cAAcC,gCAAe,CAAC;AAC7C,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;AACxB,IAAI,IAAI,CAAC,qBAAqB,GAAG,IAAIC,+BAAqB,CAAC,IAAI,EAAE;AACjE,MAAM,KAAK,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC;AAC1E,MAAM,YAAY,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,cAAc;AACvD,MAAM,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","names":["css","ShoelaceElement","FormControlController","HasSlotController","html","classMap","ifDefined","live","component_styles_default","form_control_styles_default","__decorateClass","query","state","property","defaultValue","watch","h","Host"],"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 this.toggleCheckboxFilterChange.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 @Event({ eventName: 'jump-filterchange' }) toggleCheckboxFilterChange: 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"],"version":3}
1
+ {"file":"jump-filter-switch.entry.cjs.js","mappings":";;;;;;;;;;AAAA;AAEA,IAAI,qBAAqB,GAAGA,kBAAG,CAAC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;ACrID,IAAI,QAAQ,GAAG,cAAcC,gCAAe,CAAC;AAC7C,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;AACxB,IAAI,IAAI,CAAC,qBAAqB,GAAG,IAAIC,+BAAqB,CAAC,IAAI,EAAE;AACjE,MAAM,KAAK,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC;AAC1E,MAAM,YAAY,EAAE,CAAC,OAAO,KAAK,OAAO,CAAC,cAAc;AACvD,MAAM,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","names":["css","ShoelaceElement","FormControlController","HasSlotController","html","classMap","ifDefined","live","component_styles_default","form_control_styles_default","__decorateClass","query","state","property","defaultValue","watch","h","Host"],"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, Watch, Method, State } 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 /** Nome identificativo del filtro, utilizzato negli eventi */\n @Prop() name: string = 'switch-filter';\n\n /** Stato del switch (acceso/spento) */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false;\n\n /** Stato del switch (disabilitato) */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Stato interno per tenere traccia dei valori selezionati */\n @State() values: string[] = [];\n\n /**\n * Watch sulla proprietà checked per reagire ai cambiamenti esterni\n */\n @Watch('checked')\n checkedChanged(newValue: boolean, oldValue: boolean) {\n if (newValue !== oldValue) {\n // Aggiorna l'elemento sl-switch\n if (this.el) {\n this.el.checked = newValue;\n }\n\n // Aggiorna i valori\n this.updateValues();\n }\n }\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 // Inizializza i valori in base allo stato del checkbox\n this.updateValues();\n\n // Se è stato passato un valore di checked, applica lo stato all'elemento sl-switch\n if (this.el && this.checked) {\n this.el.checked = this.checked;\n }\n }\n\n /**\n * Aggiorna l'array dei valori in base allo stato del checkbox\n */\n private updateValues() {\n this.values = this.checked && this.value ? [this.value] : [];\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 this.updateValues();\n\n // Evento specifico per il componente switch\n const switchEventData = {\n value: this.value,\n checked: this.checked\n };\n this.toggleCheckbox.emit(switchEventData);\n\n // Evento standard per il sistema di filtri\n const filterEventData = {\n name: this.name,\n values: this.values,\n checked: this.checked\n };\n this.toggleCheckboxFilterChange.emit(filterEventData);\n });\n }\n }\n\n /**\n * Metodo pubblico per impostare programmaticamente lo stato del switch\n * @param checked - Il nuovo stato del switch (true = acceso, false = spento)\n * @param emitEvent - Se emettere eventi di cambio stato (default: true)\n * @returns {Promise<boolean>} Il nuovo stato del switch\n */\n @Method()\n async setValue(checked: boolean, emitEvent: boolean = true): Promise<boolean> {\n // Se il component è disabilitato, non fare nulla\n if (this.disabled) {\n return this.checked;\n }\n\n // Salva il valore precedente per l'evento\n const oldValue = this.checked;\n\n // Imposta il nuovo valore\n this.checked = checked;\n\n // Aggiorna l'elemento sl-switch interno\n if (this.el) {\n this.el.checked = checked;\n }\n\n // Aggiorna l'array dei valori\n this.updateValues();\n\n // Emetti eventi se richiesto\n if (emitEvent && oldValue !== checked) {\n // Evento specifico per il componente switch\n const switchEventData = {\n value: this.value,\n checked: this.checked,\n programmatic: true\n };\n this.toggleCheckbox.emit(switchEventData);\n\n // Evento standard per il sistema di filtri\n const filterEventData = {\n name: this.name,\n values: this.values,\n checked: this.checked,\n programmatic: true\n };\n this.toggleCheckboxFilterChange.emit(filterEventData);\n\n // Evento specifico per cambio valore programmato\n this.valueChange.emit({\n value: this.value,\n checked: this.checked,\n oldChecked: oldValue\n });\n }\n\n return this.checked;\n }\n\n /**\n * Evento emesso quando cambia lo stato del switch\n */\n @Event({ eventName: 'jump-switch-change' }) toggleCheckbox: EventEmitter;\n @Event({ eventName: 'jump-filterchange' }) toggleCheckboxFilterChange: EventEmitter;\n /**\n * Evento emesso quando il valore viene cambiato programmaticamente\n */\n @Event({ eventName: 'jump-switch-value-change' }) valueChange: 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 /**\n * Metodo pubblico per ottenere i valori selezionati\n * @returns {string[]} Array contenente il valore se selezionato, altrimenti array vuoto\n */\n @Method()\n async getValues() {\n return this.values;\n }\n\n /**\n * Metodo pubblico per ottenere il nome del filtro\n * @returns {string} Il nome del filtro\n */\n @Method()\n async getName() {\n return this.name;\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"],"version":3}
@@ -8,7 +8,7 @@ const appGlobals = require('./app-globals-3a1e7e63.js');
8
8
  const defineCustomElements = async (win, options) => {
9
9
  if (typeof window === 'undefined') return undefined;
10
10
  await appGlobals.globalScripts();
11
- return index.bootstrapLazy([["jump-button_2.cjs",[[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]}]]],["jump-card-ecommerce.cjs",[[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"]]]]],["jump-filter.cjs",[[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"]}]]],["jump-filtergroup.cjs",[[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"]}]]],["jump-navbar.cjs",[[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"]]]]],["jump-pagination.cjs",[[1,"jump-pagination",{"pagLabel":[1,"pag-label"],"last":[2],"showFirstAndLast":[4,"show-first-and-last"],"current":[32]},null,{"current":["watchcurrent"]}]]],["jump-pagination-table.cjs",[[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"]}]]],["jump-quantity.cjs",[[65,"jump-quantity",{"min":[2],"max":[2],"step":[2],"label":[1],"type":[1],"variant":[1],"showButtons":[4,"show-buttons"],"value":[2],"internalValue":[32],"getValue":[64],"setMax":[64],"reset":[64]},null,{"value":["onValueChange"]}]]],["jump-search-bar.cjs",[[1,"jump-search-bar",{"placeholder":[1],"noResultText":[1,"no-result-text"],"loadingText":[1,"loading-text"],"resultsText":[1,"results-text"],"showAllResText":[1,"show-all-res-text"],"identifier":[1],"debounceTime":[2,"debounce-time"],"variant":[1],"withBtn":[4,"with-btn"],"recentsTitle":[1,"recents-title"],"recents":[16],"results":[16],"dropdown":[4],"linearIconOnly":[4,"linear-icon-only"],"dropdownPosition":[1,"dropdown-position"],"dropdownVisible":[32],"searchValue":[32],"resType":[32],"innerResults":[32],"totalResults":[32],"isExpanded":[32],"setResults":[64]},[[0,"jump-search-bar-dropdown-item-connected","addOption"]],{"searchValue":["searchValueChanged"]}]]],["jump-search-bar-mobile.cjs",[[1,"jump-search-bar-mobile",{"identifier":[1],"placeholder":[1],"recents":[16],"recentsTitle":[1,"recents-title"],"debounceTime":[2,"debounce-time"],"loadingText":[1,"loading-text"],"noResultText":[1,"no-result-text"],"results":[16],"resultsText":[1,"results-text"],"showAllResText":[1,"show-all-res-text"],"isOpen":[32],"innerResults":[32],"totalResults":[32],"resType":[32],"searchValue":[32],"setResults":[64]},[[0,"jump-search-bar-dropdown-item-connected","addOption"]],{"searchValue":["searchValueChanged"]}]]],["jump-accordion.cjs",[[1,"jump-accordion",{"variant":[1],"summary":[1],"disabled":[4],"open":[516],"icon":[1],"identifier":[1]},[[0,"sl-show","handleShow"]]]]],["jump-tab-item.cjs",[[1,"jump-tab-item",{"identifier":[1],"iconName":[1,"icon-name"],"iconPosition":[1,"icon-position"],"label":[1],"active":[4],"disabled":[4],"variant":[32]}]]],["jump-accordion-group.cjs",[[1,"jump-accordion-group",{"variant":[1],"groupIdentifier":[1,"group-identifier"]}]]],["jump-card.cjs",[[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"]}]]],["jump-card-ecommerce-option.cjs",[[1,"jump-card-ecommerce-option",{"code":[1],"imgUrl":[1,"img-url"],"label":[1],"sku":[1],"taxonomy":[1]}]]],["jump-filter-checkbox.cjs",[[1,"jump-filter-checkbox",{"value":[1],"label":[1],"checked":[516],"count":[8],"isChecked":[64]}]]],["jump-filter-select.cjs",[[1,"jump-filter-select",{"value":[1537],"placeholder":[1],"label":[1],"options":[1],"disabled":[516],"multiple":[4],"required":[4],"loading":[4],"open":[32],"hasSlottedOptions":[32],"getSelectedValue":[64],"getSelectedOption":[64],"setValue":[64]}]]],["jump-filter-switch.cjs",[[1,"jump-filter-switch",{"value":[1],"label":[1],"checked":[516],"disabled":[516],"isChecked":[64]}]]],["jump-search-bar-dropdown-item.cjs",[[1,"jump-search-bar-dropdown-item",{"value":[1],"img":[1],"href":[1],"details":[32]}]]],["jump-tab.cjs",[[1,"jump-tab",{"disabled":[4],"alignment":[1],"fullBorder":[4,"full-border"],"tabGroupName":[1,"tab-group-name"],"variant":[1]},[[0,"jump-change-active-tab","changeActiveTabHandler"]]]]],["jump-tab-panel.cjs",[[1,"jump-tab-panel",{"identifier":[1],"active":[4]}]]],["jump-badge.cjs",[[1,"jump-badge",{"label":[1],"variant":[513],"dimension":[513],"soft":[516],"outline":[516]}]]]], options);
11
+ return index.bootstrapLazy([["jump-button_2.cjs",[[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]}]]],["jump-card-ecommerce.cjs",[[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"]]]]],["jump-filter.cjs",[[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"]}]]],["jump-filtergroup.cjs",[[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"]}]]],["jump-navbar.cjs",[[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"]]]]],["jump-pagination.cjs",[[1,"jump-pagination",{"pagLabel":[1,"pag-label"],"last":[2],"showFirstAndLast":[4,"show-first-and-last"],"current":[32]},null,{"current":["watchcurrent"]}]]],["jump-pagination-table.cjs",[[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"]}]]],["jump-quantity.cjs",[[65,"jump-quantity",{"min":[2],"max":[2],"step":[2],"label":[1],"type":[1],"variant":[1],"showButtons":[4,"show-buttons"],"value":[2],"internalValue":[32],"getValue":[64],"setMax":[64],"reset":[64]},null,{"value":["onValueChange"]}]]],["jump-search-bar.cjs",[[1,"jump-search-bar",{"placeholder":[1],"noResultText":[1,"no-result-text"],"loadingText":[1,"loading-text"],"resultsText":[1,"results-text"],"showAllResText":[1,"show-all-res-text"],"identifier":[1],"debounceTime":[2,"debounce-time"],"variant":[1],"withBtn":[4,"with-btn"],"recentsTitle":[1,"recents-title"],"recents":[16],"results":[16],"dropdown":[4],"linearIconOnly":[4,"linear-icon-only"],"dropdownPosition":[1,"dropdown-position"],"dropdownVisible":[32],"searchValue":[32],"resType":[32],"innerResults":[32],"totalResults":[32],"isExpanded":[32],"setResults":[64]},[[0,"jump-search-bar-dropdown-item-connected","addOption"]],{"searchValue":["searchValueChanged"]}]]],["jump-search-bar-mobile.cjs",[[1,"jump-search-bar-mobile",{"identifier":[1],"placeholder":[1],"recents":[16],"recentsTitle":[1,"recents-title"],"debounceTime":[2,"debounce-time"],"loadingText":[1,"loading-text"],"noResultText":[1,"no-result-text"],"results":[16],"resultsText":[1,"results-text"],"showAllResText":[1,"show-all-res-text"],"isOpen":[32],"innerResults":[32],"totalResults":[32],"resType":[32],"searchValue":[32],"setResults":[64]},[[0,"jump-search-bar-dropdown-item-connected","addOption"]],{"searchValue":["searchValueChanged"]}]]],["jump-accordion.cjs",[[1,"jump-accordion",{"variant":[1],"summary":[1],"disabled":[4],"open":[516],"icon":[1],"identifier":[1]},[[0,"sl-show","handleShow"]]]]],["jump-tab-item.cjs",[[1,"jump-tab-item",{"identifier":[1],"iconName":[1,"icon-name"],"iconPosition":[1,"icon-position"],"label":[1],"active":[4],"disabled":[4],"variant":[32]}]]],["jump-accordion-group.cjs",[[1,"jump-accordion-group",{"variant":[1],"groupIdentifier":[1,"group-identifier"]}]]],["jump-card.cjs",[[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"]}]]],["jump-card-ecommerce-option.cjs",[[1,"jump-card-ecommerce-option",{"code":[1],"imgUrl":[1,"img-url"],"label":[1],"sku":[1],"taxonomy":[1]}]]],["jump-filter-checkbox.cjs",[[1,"jump-filter-checkbox",{"value":[1],"label":[1],"checked":[516],"count":[8],"isChecked":[64]}]]],["jump-filter-select.cjs",[[1,"jump-filter-select",{"value":[1537],"placeholder":[1],"label":[1],"name":[1],"options":[1],"disabled":[516],"multiple":[4],"required":[4],"loading":[4],"open":[32],"hasSlottedOptions":[32],"values":[32],"getSelectedValue":[64],"getSelectedOption":[64],"getValues":[64],"getName":[64],"setValue":[64]}]]],["jump-filter-switch.cjs",[[1,"jump-filter-switch",{"value":[1],"label":[1],"name":[1],"checked":[1540],"disabled":[516],"values":[32],"setValue":[64],"isChecked":[64],"getValues":[64],"getName":[64]},null,{"checked":["checkedChanged"]}]]],["jump-search-bar-dropdown-item.cjs",[[1,"jump-search-bar-dropdown-item",{"value":[1],"img":[1],"href":[1],"details":[32]}]]],["jump-tab.cjs",[[1,"jump-tab",{"disabled":[4],"alignment":[1],"fullBorder":[4,"full-border"],"tabGroupName":[1,"tab-group-name"],"variant":[1]},[[0,"jump-change-active-tab","changeActiveTabHandler"]]]]],["jump-tab-panel.cjs",[[1,"jump-tab-panel",{"identifier":[1],"active":[4]}]]],["jump-badge.cjs",[[1,"jump-badge",{"label":[1],"variant":[513],"dimension":[513],"soft":[516],"outline":[516]}]]]], options);
12
12
  };
13
13
 
14
14
  exports.setNonce = index.setNonce;
@@ -10,6 +10,7 @@ export class JumpFilterSelect {
10
10
  this.value = undefined;
11
11
  this.placeholder = 'Seleziona un\'opzione';
12
12
  this.label = undefined;
13
+ this.name = 'select-filter';
13
14
  this.options = [];
14
15
  this.disabled = false;
15
16
  this.multiple = false;
@@ -17,6 +18,7 @@ export class JumpFilterSelect {
17
18
  this.loading = false;
18
19
  this.open = false;
19
20
  this.hasSlottedOptions = false;
21
+ this.values = [];
20
22
  }
21
23
  /**
22
24
  * Controlla se ci sono opzioni definite come slot
@@ -41,8 +43,16 @@ export class JumpFilterSelect {
41
43
  }
42
44
  return this.options;
43
45
  }
46
+ /**
47
+ * Aggiorna l'array dei valori in base al valore selezionato
48
+ */
49
+ updateValues() {
50
+ this.values = this.value ? [this.value] : [];
51
+ }
44
52
  componentDidLoad() {
45
53
  this.listenSLChange();
54
+ // Inizializza l'array dei valori
55
+ this.updateValues();
46
56
  }
47
57
  /**
48
58
  * Ascolta gli eventi di cambio selezione dal select Shoelace
@@ -54,14 +64,23 @@ export class JumpFilterSelect {
54
64
  return;
55
65
  }
56
66
  this.value = event.target.value;
67
+ this.updateValues();
57
68
  const optionsArray = this.getOptionsArray();
58
69
  const selectedOption = optionsArray.find(option => option.value === this.value);
59
- const eventData = {
70
+ // Evento specifico per il componente select
71
+ const selectEventData = {
72
+ value: this.value,
73
+ selectedOption
74
+ };
75
+ this.selectionChange.emit(selectEventData);
76
+ // Evento standard per il sistema di filtri
77
+ const filterEventData = {
78
+ name: this.name,
79
+ values: this.values,
60
80
  value: this.value,
61
81
  selectedOption
62
82
  };
63
- this.selectionChange.emit(eventData);
64
- this.selectionFilterChange.emit(eventData);
83
+ this.selectionFilterChange.emit(filterEventData);
65
84
  });
66
85
  }
67
86
  }
@@ -80,6 +99,20 @@ export class JumpFilterSelect {
80
99
  const optionsArray = this.getOptionsArray();
81
100
  return optionsArray.find(option => option.value === this.value);
82
101
  }
102
+ /**
103
+ * Metodo pubblico per ottenere i valori selezionati come array
104
+ * @returns Array contenente il valore selezionato o un array vuoto
105
+ */
106
+ async getValues() {
107
+ return this.values;
108
+ }
109
+ /**
110
+ * Metodo pubblico per ottenere il nome del filtro
111
+ * @returns Il nome del filtro
112
+ */
113
+ async getName() {
114
+ return this.name;
115
+ }
83
116
  /**
84
117
  * Metodo pubblico per impostare programmaticamente il valore selezionato
85
118
  * @param newValue - Il nuovo valore da selezionare
@@ -87,7 +120,18 @@ export class JumpFilterSelect {
87
120
  * @returns Il nuovo valore impostato
88
121
  */
89
122
  async setValue(newValue, emitEvent = true) {
123
+ // Se il componente è disabilitato, non fare nulla
124
+ if (this.disabled) {
125
+ return this.value;
126
+ }
127
+ // Salva il valore precedente per l'evento
128
+ const oldValue = this.value;
129
+ // Non fare nulla se il valore non è cambiato
130
+ if (oldValue === newValue) {
131
+ return this.value;
132
+ }
90
133
  this.value = newValue;
134
+ this.updateValues();
91
135
  // Aggiorna anche il valore dell'elemento sl-select interno
92
136
  if (this.el) {
93
137
  this.el.value = newValue;
@@ -96,19 +140,36 @@ export class JumpFilterSelect {
96
140
  if (emitEvent) {
97
141
  const optionsArray = this.getOptionsArray();
98
142
  const selectedOption = optionsArray.find(option => option.value === this.value);
99
- const eventData = {
143
+ // Evento specifico per il componente select
144
+ const selectEventData = {
100
145
  value: this.value,
146
+ oldValue: oldValue,
101
147
  selectedOption,
102
148
  programmatic: true // Flag per indicare che il cambio è avvenuto programmaticamente
103
149
  };
104
- this.selectionChange.emit(eventData);
105
- this.selectionFilterChange.emit(eventData);
150
+ this.selectionChange.emit(selectEventData);
151
+ // Evento standard per il sistema di filtri
152
+ const filterEventData = {
153
+ name: this.name,
154
+ values: this.values,
155
+ value: this.value,
156
+ oldValue: oldValue,
157
+ selectedOption,
158
+ programmatic: true
159
+ };
160
+ this.selectionFilterChange.emit(filterEventData);
161
+ // Evento specifico per cambio programmato
162
+ this.valueChange.emit({
163
+ value: this.value,
164
+ oldValue: oldValue,
165
+ selectedOption
166
+ });
106
167
  }
107
168
  return this.value;
108
169
  }
109
170
  render() {
110
171
  const optionsArray = this.getOptionsArray();
111
- return (h(Host, { key: '3bbb46b827ae88ce31d6c1da17fc75b6da4269ec', ref: (host) => (this.host = host) }, this.label && (h("div", { key: 'c0d89bc2668692fe9920a20aaf45a5ad9989d7b2', class: "select-label" }, this.label)), h("sl-select", { key: '299284224f4981547900d0bcb215747ebc17d22c', value: this.value, placeholder: this.placeholder, disabled: this.disabled, multiple: this.multiple, required: this.required, loading: this.loading, ref: (el) => (this.el = el) }, !this.hasSlottedOptions && optionsArray.map(option => (h("sl-option", { value: option.value }, option.label))), h("slot", { key: 'f481903e85538e396e4d270e4545dbd8024ed7ef' }))));
172
+ return (h(Host, { key: '26ecef5862a3d5ef1d903ac9dad378027841d78c', ref: (host) => (this.host = host) }, this.label && (h("div", { key: '24bc20afb81ebe4b760889b3be866cc4c94b43f4', class: "select-label" }, this.label)), h("sl-select", { key: '7b578cf8ab02dd40df93848af918c51f7061bbbe', value: this.value, placeholder: this.placeholder, disabled: this.disabled, multiple: this.multiple, required: this.required, loading: this.loading, ref: (el) => (this.el = el) }, !this.hasSlottedOptions && optionsArray.map(option => (h("sl-option", { value: option.value }, option.label))), h("slot", { key: 'dc85029632cf9c9f6b00b72c4f9a83a8281e25dc' }))));
112
173
  }
113
174
  static get is() { return "jump-filter-select"; }
114
175
  static get encapsulation() { return "shadow"; }
@@ -176,6 +237,24 @@ export class JumpFilterSelect {
176
237
  "attribute": "label",
177
238
  "reflect": false
178
239
  },
240
+ "name": {
241
+ "type": "string",
242
+ "mutable": false,
243
+ "complexType": {
244
+ "original": "string",
245
+ "resolved": "string",
246
+ "references": {}
247
+ },
248
+ "required": false,
249
+ "optional": false,
250
+ "docs": {
251
+ "tags": [],
252
+ "text": "Nome identificativo del filtro, utilizzato negli eventi"
253
+ },
254
+ "attribute": "name",
255
+ "reflect": false,
256
+ "defaultValue": "'select-filter'"
257
+ },
179
258
  "options": {
180
259
  "type": "string",
181
260
  "mutable": false,
@@ -271,7 +350,8 @@ export class JumpFilterSelect {
271
350
  static get states() {
272
351
  return {
273
352
  "open": {},
274
- "hasSlottedOptions": {}
353
+ "hasSlottedOptions": {},
354
+ "values": {}
275
355
  };
276
356
  }
277
357
  static get events() {
@@ -305,6 +385,21 @@ export class JumpFilterSelect {
305
385
  "resolved": "any",
306
386
  "references": {}
307
387
  }
388
+ }, {
389
+ "method": "valueChange",
390
+ "name": "jump-select-value-change",
391
+ "bubbles": true,
392
+ "cancelable": true,
393
+ "composed": true,
394
+ "docs": {
395
+ "tags": [],
396
+ "text": "Evento emesso quando il valore viene cambiato programmaticamente"
397
+ },
398
+ "complexType": {
399
+ "original": "any",
400
+ "resolved": "any",
401
+ "references": {}
402
+ }
308
403
  }];
309
404
  }
310
405
  static get methods() {
@@ -349,6 +444,46 @@ export class JumpFilterSelect {
349
444
  }]
350
445
  }
351
446
  },
447
+ "getValues": {
448
+ "complexType": {
449
+ "signature": "() => Promise<string[]>",
450
+ "parameters": [],
451
+ "references": {
452
+ "Promise": {
453
+ "location": "global",
454
+ "id": "global::Promise"
455
+ }
456
+ },
457
+ "return": "Promise<string[]>"
458
+ },
459
+ "docs": {
460
+ "text": "Metodo pubblico per ottenere i valori selezionati come array",
461
+ "tags": [{
462
+ "name": "returns",
463
+ "text": "Array contenente il valore selezionato o un array vuoto"
464
+ }]
465
+ }
466
+ },
467
+ "getName": {
468
+ "complexType": {
469
+ "signature": "() => Promise<string>",
470
+ "parameters": [],
471
+ "references": {
472
+ "Promise": {
473
+ "location": "global",
474
+ "id": "global::Promise"
475
+ }
476
+ },
477
+ "return": "Promise<string>"
478
+ },
479
+ "docs": {
480
+ "text": "Metodo pubblico per ottenere il nome del filtro",
481
+ "tags": [{
482
+ "name": "returns",
483
+ "text": "Il nome del filtro"
484
+ }]
485
+ }
486
+ },
352
487
  "setValue": {
353
488
  "complexType": {
354
489
  "signature": "(newValue: string, emitEvent?: boolean) => Promise<string>",