@jumpgroup/jump-design-system 0.3.64 → 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.
Files changed (50) hide show
  1. package/dist/cjs/jump-design-system.cjs.js +1 -1
  2. package/dist/cjs/jump-filter-select.cjs.entry.js +4 -1
  3. package/dist/cjs/jump-filter-select.cjs.entry.js.map +1 -1
  4. package/dist/cjs/jump-filter-switch.cjs.entry.js +3 -1
  5. package/dist/cjs/jump-filter-switch.cjs.entry.js.map +1 -1
  6. package/dist/cjs/jump-quantity.cjs.entry.js +12 -7
  7. package/dist/cjs/jump-quantity.cjs.entry.js.map +1 -1
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/collection/components/jump-card-ecommerce/jump-card-ecommerce.stories.js +6 -11
  10. package/dist/collection/components/jump-card-ecommerce/jump-card-ecommerce.stories.js.map +1 -1
  11. package/dist/collection/components/jump-filter-select/jump-filter-select.js +18 -1
  12. package/dist/collection/components/jump-filter-select/jump-filter-select.js.map +1 -1
  13. package/dist/collection/components/jump-filter-switch/jump-filter-switch.js +17 -1
  14. package/dist/collection/components/jump-filter-switch/jump-filter-switch.js.map +1 -1
  15. package/dist/collection/components/jump-quantity/jump-quantity.js +19 -8
  16. package/dist/collection/components/jump-quantity/jump-quantity.js.map +1 -1
  17. package/dist/collection/components/jump-quantity/jump-quantity.stories.js +6 -1
  18. package/dist/collection/components/jump-quantity/jump-quantity.stories.js.map +1 -1
  19. package/dist/components/jump-filter-select.js +4 -1
  20. package/dist/components/jump-filter-select.js.map +1 -1
  21. package/dist/components/jump-filter-switch.js +3 -1
  22. package/dist/components/jump-filter-switch.js.map +1 -1
  23. package/dist/components/jump-quantity.js +13 -7
  24. package/dist/components/jump-quantity.js.map +1 -1
  25. package/dist/esm/jump-design-system.js +1 -1
  26. package/dist/esm/jump-filter-select.entry.js +4 -1
  27. package/dist/esm/jump-filter-select.entry.js.map +1 -1
  28. package/dist/esm/jump-filter-switch.entry.js +3 -1
  29. package/dist/esm/jump-filter-switch.entry.js.map +1 -1
  30. package/dist/esm/jump-quantity.entry.js +12 -7
  31. package/dist/esm/jump-quantity.entry.js.map +1 -1
  32. package/dist/esm/loader.js +1 -1
  33. package/dist/jump-design-system/jump-design-system.esm.js +1 -1
  34. package/dist/jump-design-system/jump-design-system.esm.js.map +1 -1
  35. package/dist/jump-design-system/p-3c1076e0.entry.js +2 -0
  36. package/dist/jump-design-system/p-3c1076e0.entry.js.map +1 -0
  37. package/dist/jump-design-system/{p-35633b03.entry.js → p-469ccf77.entry.js} +2 -2
  38. package/dist/jump-design-system/p-469ccf77.entry.js.map +1 -0
  39. package/dist/jump-design-system/{p-53bf2958.entry.js → p-7c06855a.entry.js} +2 -2
  40. package/dist/jump-design-system/p-7c06855a.entry.js.map +1 -0
  41. package/dist/types/components/jump-filter-select/jump-filter-select.d.ts +1 -0
  42. package/dist/types/components/jump-filter-switch/jump-filter-switch.d.ts +1 -0
  43. package/dist/types/components/jump-quantity/jump-quantity.d.ts +1 -0
  44. package/dist/types/components/jump-quantity/jump-quantity.stories.d.ts +5 -0
  45. package/dist/types/components.d.ts +4 -0
  46. package/package.json +1 -1
  47. package/dist/jump-design-system/p-172a50cb.entry.js +0 -2
  48. package/dist/jump-design-system/p-172a50cb.entry.js.map +0 -1
  49. package/dist/jump-design-system/p-35633b03.entry.js.map +0 -1
  50. package/dist/jump-design-system/p-53bf2958.entry.js.map +0 -1
@@ -8,13 +8,17 @@ export class JumpQuantity {
8
8
  this.type = 'buttons';
9
9
  this.variant = 'vertical';
10
10
  this.showButtons = true;
11
- this.value = undefined;
11
+ this.value = this.min;
12
+ this.internalValue = undefined;
12
13
  }
13
14
  onValueChange(newValue, oldValue) {
14
15
  this.change.emit({
15
16
  value: newValue,
16
17
  oldValue: oldValue,
17
18
  });
19
+ this.internalValue = newValue !== null && newValue !== void 0 ? newValue : this.min;
20
+ this.change.emit({ value: this.internalValue, oldValue });
21
+ this.internals.setFormValue(this.internalValue.toString());
18
22
  this.internals.setFormValue(newValue);
19
23
  }
20
24
  /**
@@ -33,8 +37,9 @@ export class JumpQuantity {
33
37
  this.value = this.min;
34
38
  }
35
39
  componentWillLoad() {
36
- this.value = this.min;
37
- this.internals.setFormValue(this.value.toString());
40
+ var _a;
41
+ this.internalValue = (_a = this.value) !== null && _a !== void 0 ? _a : this.min;
42
+ this.internals.setFormValue(this.internalValue.toString());
38
43
  }
39
44
  formResetCallback() {
40
45
  this.internals.setValidity({});
@@ -59,11 +64,11 @@ export class JumpQuantity {
59
64
  }
60
65
  }
61
66
  render() {
62
- return (h(Host, { key: '2545759aea7e95d367e1071c56fd2713d28b94c3', value: this.value, "data-variant": this.variant, "data-hasbuttons": this.showButtons }, this.label && h("label", { key: '75f20b28bc74cdf237100778aeb118a860d37227' }, this.label), h("div", { key: '528eb66ad0b83b22cb1b4edf083d48398146a1f2', class: `jump-quantity__InnerWrapper` }, this.showButtons &&
63
- h("jump-button", { key: 'ee6e87290d2f3e01b3228956817b274ba854d46f', onClick: () => this.value = this.value - this.step, disabled: this.value <= this.min, variant: 'neutral', size: 'custom' }, h("jump-icon", { key: 'bb19f472ea27e02127db5436d7bbc87a1aaa1438', library: "lucide", name: "minus", size: "small" })), h("input", { key: '4eab2afcaef6295ee8e6e92528af6602d065a9d1', ref: (el) => {
67
+ return (h(Host, { key: '16fa43e6148a64681d5cf1c199e890c589375dae', value: this.value, "data-variant": this.variant, "data-hasbuttons": this.showButtons }, this.label && h("label", { key: 'af99311b2fde98f695d7fe6e30cb61f3ee087d89' }, this.label), h("div", { key: 'e19baf0b29bee7b4aece1cc42c60ea88f5a9e9df', class: `jump-quantity__InnerWrapper` }, this.showButtons &&
68
+ h("jump-button", { key: '7b397b23b21df5447b66791a60f7782c471b5bde', onClick: () => this.value = this.value - this.step, disabled: this.value <= this.min, variant: 'neutral', size: 'custom' }, h("jump-icon", { key: '2a76ed1efa4ce83386c0953660b8a61e1e6e50de', library: "lucide", name: "minus", size: "small" })), h("input", { key: '096583968aeb0dec8811983bbd4dec3d30319d77', ref: (el) => {
64
69
  this.inputEl = el;
65
- }, type: 'number', value: this.value, onInput: (event) => this.handleChange(event), min: this.min, max: this.max, step: this.step, "aria-hasbuttons": this.showButtons }), this.showButtons &&
66
- h("jump-button", { key: '0f1bb0b97fc591c3baa3a1c98791c4b8658ab73e', onClick: () => this.value = this.value + this.step, disabled: this.value >= this.max, variant: 'neutral', size: 'custom' }, h("jump-icon", { key: '901b8a21adcf844227c5193d801cee415f495ff2', library: "lucide", name: "plus", size: "small" })))));
70
+ }, type: 'number', value: this.internalValue, onInput: (event) => this.handleChange(event), min: this.min, max: this.max, step: this.step, "aria-hasbuttons": this.showButtons }), this.showButtons &&
71
+ h("jump-button", { key: 'ea55769654b304cf23ec5863592ed1c6419e9ccd', onClick: () => this.value = this.value + this.step, disabled: this.value >= this.max, variant: 'neutral', size: 'custom' }, h("jump-icon", { key: 'd23d4b89d44d12e6f099e3034bb952bc1c06bb30', library: "lucide", name: "plus", size: "small" })))));
67
72
  }
68
73
  static get is() { return "jump-quantity"; }
69
74
  static get encapsulation() { return "shadow"; }
@@ -220,10 +225,16 @@ export class JumpQuantity {
220
225
  "text": ""
221
226
  },
222
227
  "attribute": "value",
223
- "reflect": false
228
+ "reflect": false,
229
+ "defaultValue": "this.min"
224
230
  }
225
231
  };
226
232
  }
233
+ static get states() {
234
+ return {
235
+ "internalValue": {}
236
+ };
237
+ }
227
238
  static get events() {
228
239
  return [{
229
240
  "method": "change",
@@ -1 +1 @@
1
- {"version":3,"file":"jump-quantity.js","sourceRoot":"","sources":["../../../src/components/jump-quantity/jump-quantity.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, AttachInternals, Watch, Method, Prop, h, Event, Element } 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 @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.value;\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 }\n\n componentWillLoad() {\n this.value = this.min;\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.value = this.min;\n } else if(value > this.max){\n this.value = this.max;\n } else {\n this.value = 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 }\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.value = this.value - this.step} disabled={this.value <= 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.value}\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.value = this.value + this.step} disabled={this.value >= 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"]}
1
+ {"version":3,"file":"jump-quantity.js","sourceRoot":"","sources":["../../../src/components/jump-quantity/jump-quantity.tsx"],"names":[],"mappings":"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","sourcesContent":["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 = this.min;\n\n @State() internalValue: 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.internalValue = newValue ?? this.min;\n this.change.emit({ value: this.internalValue, oldValue });\n this.internals.setFormValue(this.internalValue.toString());\n this.internals.setFormValue(newValue);\n }\n\n /**\n * Get the current value\n */\n @Method()\n async getValue() {\n return this.value;\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 }\n\n componentWillLoad() {\n this.internalValue = this.value ?? this.min;\n this.internals.setFormValue(this.internalValue.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.value = this.min;\n } else if(value > this.max){\n this.value = this.max;\n } else {\n this.value = 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 }\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.value = this.value - this.step} disabled={this.value <= 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.internalValue}\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.value = this.value + this.step} disabled={this.value >= 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"]}
@@ -18,6 +18,11 @@ export default {
18
18
  control: 'number',
19
19
  description: 'Il valore dello step',
20
20
  },
21
+ value: {
22
+ name: 'value',
23
+ control: 'number',
24
+ description: 'Il valore attuale',
25
+ },
21
26
  label: {
22
27
  name: 'label',
23
28
  control: 'text',
@@ -78,7 +83,7 @@ const TemplateFormExample = (args, data) => {
78
83
  const attributes = generateAttributesFromArgs(args);
79
84
  return formatHtml(`
80
85
  <form id="form_test">
81
- <jump-quantity max="10" ${attributes}></jump-quantity>
86
+ <jump-quantity value="4" max="10" ${attributes}></jump-quantity>
82
87
  <input type="text" id="prova" value="ciao" />
83
88
  <input type="submit" value="invia" />
84
89
  </form>
@@ -1 +1 @@
1
- {"version":3,"file":"jump-quantity.stories.js","sourceRoot":"","sources":["../../../src/components/jump-quantity/jump-quantity.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAE1E,eAAe;IACb,KAAK,EAAE,qBAAqB;IAC5B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACR,GAAG,EAAE;YACH,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,kBAAkB;SAChC;QACD,GAAG,EAAE;YACH,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,mBAAmB;SACjC;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,sBAAsB;SACpC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,oBAAoB;SAClC;QACD,WAAW,EAAE;YACX,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,mBAAmB;SACjC;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;YACnC,WAAW,EAAE,2BAA2B;SACzC;QACD,UAAU;QACV,wBAAwB;QACxB,uBAAuB;QACvB,yCAAyC;QACzC,oEAAoE;QACpE,KAAK;QACL,WAAW;QACX,+BAA+B;QAC/B,qBAAqB;QACrB,8EAA8E;QAC9E,KAAK;KACN;CACF,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE;IACxB,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,kBAAkB,UAAU,mBAAmB,CAAC;AACzD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,mBAAmB;AACnB,4CAA4C;AAC5C,uBAAuB;AACvB,KAAK;AAIL,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACzC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACjB,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC,kBAAkB,UAAU;;;;;kDAKE,EAAE;;;;;YAKxC,CAAC,CAAC;AACd,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAGxD,+DAA+D;AAC/D,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACzC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACjB,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC;;4BAEQ,UAAU;;;;;;;;kDAQY,EAAE;;;;;;;;;;;YAWxC,CAAC,CAAC;AACd,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC","sourcesContent":["import { generateAttributesFromArgs, formatHtml} from '../../utils/utils';\n\nexport default {\n title: 'Components/Quantity',\n tags: ['autodocs'],\n argTypes: {\n min: {\n name: 'min',\n control: 'number',\n description: 'Il valore minimo',\n },\n max: {\n name: 'max',\n control: 'number',\n description: 'Il valore massimo',\n },\n step: {\n name: 'step',\n control: 'number',\n description: 'Il valore dello step',\n },\n label: {\n name: 'label',\n control: 'text',\n description: 'Il testo del label',\n },\n showButtons: {\n name: 'showButtons',\n control: 'boolean',\n description: 'Mostra i pulsanti',\n },\n variant: {\n name: 'variant',\n control: 'select',\n options: ['vertical', 'horizontal'],\n description: 'La direzione dei pulsanti',\n },\n // name: {\n // name: 'Nome Icona',\n // control: 'select',\n // options: Object.keys(feather.icons),\n // description: \"Seleziona il nome dell'icona dal menu a tendina\",\n // },\n // class: {\n // name: 'Classi aggiuntive',\n // control: 'text',\n // description: \"Aggiungi classi aggiuntive all'icona (separate da spazio)\",\n // },\n },\n};\n\nconst Template = (args) =>{\n const attributes = generateAttributesFromArgs(args);\n return `<jump-quantity ${attributes}></jump-quantity>`;\n}\n\nexport const Default = Template.bind({});\n// Default.args = {\n// // name: Object.keys(feather.icons)[0],\n// // class: 'small',\n// };\n\n\n\nconst TemplateCheckValues = (args, data) =>{\n let id = data.id;\n const attributes = generateAttributesFromArgs(args);\n return formatHtml(`<jump-quantity ${attributes}></jump-quantity>\n <div>Il valore corrente è: <span class=\"input-value\">loading..<span></div>\n <script>\n (function() {\n let container;\n container = document.querySelector('#story--${id}');\n container.querySelector('jump-quantity').addEventListener('jump-change', (ev) => {\n container.querySelector('.input-value').innerText = ev.detail.value;\n });\n})();\n </script>`);\n}\nexport const CheckValues = TemplateCheckValues.bind({});\n\n\n//TODO: https://codepen.io/olawanlejoel/pen/oNpmGpv FormEntries\nconst TemplateFormExample = (args, data) =>{\n let id = data.id;\n const attributes = generateAttributesFromArgs(args);\n return formatHtml(`\n <form id=\"form_test\">\n <jump-quantity max=\"10\" ${attributes}></jump-quantity>\n <input type=\"text\" id=\"prova\" value=\"ciao\" />\n <input type=\"submit\" value=\"invia\" />\n </form>\n <div>Il valore corrente è: <span class=\"input-value\">loading..<span></div>\n <script>\n (function() {\n let container;\n container = document.querySelector('#story--${id}');\n container.querySelector('form').addEventListener('submit', (ev) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n const formData = new FormData(ev.target);\n\n console.log(ev, formData);\n container.querySelector('.input-value').innerText = ev.detail.value;\n });\n})();\n </script>`);\n}\nexport const FormExample = TemplateFormExample.bind({});\n"]}
1
+ {"version":3,"file":"jump-quantity.stories.js","sourceRoot":"","sources":["../../../src/components/jump-quantity/jump-quantity.stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAE1E,eAAe;IACb,KAAK,EAAE,qBAAqB;IAC5B,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,QAAQ,EAAE;QACR,GAAG,EAAE;YACH,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,kBAAkB;SAChC;QACD,GAAG,EAAE;YACH,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,mBAAmB;SACjC;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,sBAAsB;SACpC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,mBAAmB;SACjC;QACD,KAAK,EAAE;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,oBAAoB;SAClC;QACD,WAAW,EAAE;YACX,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,mBAAmB;SACjC;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;YACnC,WAAW,EAAE,2BAA2B;SACzC;QACD,UAAU;QACV,wBAAwB;QACxB,uBAAuB;QACvB,yCAAyC;QACzC,oEAAoE;QACpE,KAAK;QACL,WAAW;QACX,+BAA+B;QAC/B,qBAAqB;QACrB,8EAA8E;QAC9E,KAAK;KACN;CACF,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE;IACxB,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,kBAAkB,UAAU,mBAAmB,CAAC;AACzD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzC,mBAAmB;AACnB,4CAA4C;AAC5C,uBAAuB;AACvB,KAAK;AAIL,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACzC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACjB,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC,kBAAkB,UAAU;;;;;kDAKE,EAAE;;;;;YAKxC,CAAC,CAAC;AACd,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAGxD,+DAA+D;AAC/D,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACzC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACjB,MAAM,UAAU,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC;;sCAEkB,UAAU;;;;;;;;kDAQE,EAAE;;;;;;;;;;;YAWxC,CAAC,CAAC;AACd,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC","sourcesContent":["import { generateAttributesFromArgs, formatHtml} from '../../utils/utils';\n\nexport default {\n title: 'Components/Quantity',\n tags: ['autodocs'],\n argTypes: {\n min: {\n name: 'min',\n control: 'number',\n description: 'Il valore minimo',\n },\n max: {\n name: 'max',\n control: 'number',\n description: 'Il valore massimo',\n },\n step: {\n name: 'step',\n control: 'number',\n description: 'Il valore dello step',\n },\n value: {\n name: 'value',\n control: 'number',\n description: 'Il valore attuale',\n },\n label: {\n name: 'label',\n control: 'text',\n description: 'Il testo del label',\n },\n showButtons: {\n name: 'showButtons',\n control: 'boolean',\n description: 'Mostra i pulsanti',\n },\n variant: {\n name: 'variant',\n control: 'select',\n options: ['vertical', 'horizontal'],\n description: 'La direzione dei pulsanti',\n },\n // name: {\n // name: 'Nome Icona',\n // control: 'select',\n // options: Object.keys(feather.icons),\n // description: \"Seleziona il nome dell'icona dal menu a tendina\",\n // },\n // class: {\n // name: 'Classi aggiuntive',\n // control: 'text',\n // description: \"Aggiungi classi aggiuntive all'icona (separate da spazio)\",\n // },\n },\n};\n\nconst Template = (args) =>{\n const attributes = generateAttributesFromArgs(args);\n return `<jump-quantity ${attributes}></jump-quantity>`;\n}\n\nexport const Default = Template.bind({});\n// Default.args = {\n// // name: Object.keys(feather.icons)[0],\n// // class: 'small',\n// };\n\n\n\nconst TemplateCheckValues = (args, data) =>{\n let id = data.id;\n const attributes = generateAttributesFromArgs(args);\n return formatHtml(`<jump-quantity ${attributes}></jump-quantity>\n <div>Il valore corrente è: <span class=\"input-value\">loading..<span></div>\n <script>\n (function() {\n let container;\n container = document.querySelector('#story--${id}');\n container.querySelector('jump-quantity').addEventListener('jump-change', (ev) => {\n container.querySelector('.input-value').innerText = ev.detail.value;\n });\n})();\n </script>`);\n}\nexport const CheckValues = TemplateCheckValues.bind({});\n\n\n//TODO: https://codepen.io/olawanlejoel/pen/oNpmGpv FormEntries\nconst TemplateFormExample = (args, data) =>{\n let id = data.id;\n const attributes = generateAttributesFromArgs(args);\n return formatHtml(`\n <form id=\"form_test\">\n <jump-quantity value=\"4\" max=\"10\" ${attributes}></jump-quantity>\n <input type=\"text\" id=\"prova\" value=\"ciao\" />\n <input type=\"submit\" value=\"invia\" />\n </form>\n <div>Il valore corrente è: <span class=\"input-value\">loading..<span></div>\n <script>\n (function() {\n let container;\n container = document.querySelector('#story--${id}');\n container.querySelector('form').addEventListener('submit', (ev) => {\n ev.preventDefault();\n ev.stopPropagation();\n\n const formData = new FormData(ev.target);\n\n console.log(ev, formData);\n container.querySelector('.input-value').innerText = ev.detail.value;\n });\n})();\n </script>`);\n}\nexport const FormExample = TemplateFormExample.bind({});\n"]}
@@ -4117,6 +4117,7 @@ const JumpFilterSelect$1 = /*@__PURE__*/ proxyCustomElement(class JumpFilterSele
4117
4117
  this.__registerHost();
4118
4118
  this.__attachShadow();
4119
4119
  this.selectionChange = createEvent(this, "jump-select-change", 7);
4120
+ this.selectionFilterChange = createEvent(this, "jump-filterchange", 7);
4120
4121
  this.value = undefined;
4121
4122
  this.placeholder = 'Seleziona un\'opzione';
4122
4123
  this.label = undefined;
@@ -4171,6 +4172,7 @@ const JumpFilterSelect$1 = /*@__PURE__*/ proxyCustomElement(class JumpFilterSele
4171
4172
  selectedOption
4172
4173
  };
4173
4174
  this.selectionChange.emit(eventData);
4175
+ this.selectionFilterChange.emit(eventData);
4174
4176
  });
4175
4177
  }
4176
4178
  }
@@ -4211,12 +4213,13 @@ const JumpFilterSelect$1 = /*@__PURE__*/ proxyCustomElement(class JumpFilterSele
4211
4213
  programmatic: true // Flag per indicare che il cambio è avvenuto programmaticamente
4212
4214
  };
4213
4215
  this.selectionChange.emit(eventData);
4216
+ this.selectionFilterChange.emit(eventData);
4214
4217
  }
4215
4218
  return this.value;
4216
4219
  }
4217
4220
  render() {
4218
4221
  const optionsArray = this.getOptionsArray();
4219
- return (h(Host, { key: '3aeb8a1b3c8757bfecd0b5642ddfa87e61f92849', ref: (host) => (this.host = host) }, this.label && (h("div", { key: '504faaf84a96fd84add35cdaaa34e617391d4c82', class: "select-label" }, this.label)), h("sl-select", { key: '9a707596aa5a2c87c0276ecca51588c02d22edb0', 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: 'b4592e359a2aaea92a87ab7240ddb6d2557697c3' }))));
4222
+ 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' }))));
4220
4223
  }
4221
4224
  get hostElement() { return this; }
4222
4225
  static get style() { return JumpFilterSelectStyle0; }