@jumpgroup/jump-design-system 0.3.63 → 0.3.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/jump-design-system.cjs.js +1 -1
- package/dist/cjs/jump-filter-select.cjs.entry.js +4 -1
- package/dist/cjs/jump-filter-select.cjs.entry.js.map +1 -1
- package/dist/cjs/jump-filter-switch.cjs.entry.js +3 -1
- package/dist/cjs/jump-filter-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/jump-quantity.cjs.entry.js +16 -15
- package/dist/cjs/jump-quantity.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/jump-card-ecommerce/jump-card-ecommerce.stories.js +6 -11
- package/dist/collection/components/jump-card-ecommerce/jump-card-ecommerce.stories.js.map +1 -1
- package/dist/collection/components/jump-filter-select/jump-filter-select.js +18 -1
- package/dist/collection/components/jump-filter-select/jump-filter-select.js.map +1 -1
- package/dist/collection/components/jump-filter-switch/jump-filter-switch.js +17 -1
- package/dist/collection/components/jump-filter-switch/jump-filter-switch.js.map +1 -1
- package/dist/collection/components/jump-quantity/jump-quantity.js +19 -17
- package/dist/collection/components/jump-quantity/jump-quantity.js.map +1 -1
- package/dist/collection/components/jump-quantity/jump-quantity.stories.js +6 -1
- package/dist/collection/components/jump-quantity/jump-quantity.stories.js.map +1 -1
- package/dist/components/jump-filter-select.js +4 -1
- package/dist/components/jump-filter-select.js.map +1 -1
- package/dist/components/jump-filter-switch.js +3 -1
- package/dist/components/jump-filter-switch.js.map +1 -1
- package/dist/components/jump-quantity.js +17 -16
- package/dist/components/jump-quantity.js.map +1 -1
- package/dist/esm/jump-design-system.js +1 -1
- package/dist/esm/jump-filter-select.entry.js +4 -1
- package/dist/esm/jump-filter-select.entry.js.map +1 -1
- package/dist/esm/jump-filter-switch.entry.js +3 -1
- package/dist/esm/jump-filter-switch.entry.js.map +1 -1
- package/dist/esm/jump-quantity.entry.js +16 -15
- package/dist/esm/jump-quantity.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/jump-design-system/jump-design-system.esm.js +1 -1
- package/dist/jump-design-system/jump-design-system.esm.js.map +1 -1
- package/dist/jump-design-system/p-3c1076e0.entry.js +2 -0
- package/dist/jump-design-system/p-3c1076e0.entry.js.map +1 -0
- package/dist/jump-design-system/{p-35633b03.entry.js → p-469ccf77.entry.js} +2 -2
- package/dist/jump-design-system/p-469ccf77.entry.js.map +1 -0
- package/dist/jump-design-system/{p-53bf2958.entry.js → p-7c06855a.entry.js} +2 -2
- package/dist/jump-design-system/p-7c06855a.entry.js.map +1 -0
- package/dist/types/components/jump-filter-select/jump-filter-select.d.ts +1 -0
- package/dist/types/components/jump-filter-switch/jump-filter-switch.d.ts +1 -0
- package/dist/types/components/jump-quantity/jump-quantity.d.ts +1 -1
- package/dist/types/components/jump-quantity/jump-quantity.stories.d.ts +5 -0
- package/dist/types/components.d.ts +4 -0
- package/package.json +1 -1
- package/dist/jump-design-system/p-35633b03.entry.js.map +0 -1
- package/dist/jump-design-system/p-53bf2958.entry.js.map +0 -1
- package/dist/jump-design-system/p-fa0dcb05.entry.js +0 -2
- package/dist/jump-design-system/p-fa0dcb05.entry.js.map +0 -1
|
@@ -30,6 +30,7 @@ export class JumpFilterSwitch {
|
|
|
30
30
|
checked: this.checked,
|
|
31
31
|
};
|
|
32
32
|
this.toggleCheckbox.emit(eventData);
|
|
33
|
+
this.toggleCheckboxFilterChange.emit(eventData);
|
|
33
34
|
});
|
|
34
35
|
}
|
|
35
36
|
}
|
|
@@ -41,7 +42,7 @@ export class JumpFilterSwitch {
|
|
|
41
42
|
return this.checked;
|
|
42
43
|
}
|
|
43
44
|
render() {
|
|
44
|
-
return (h(Host, { key: '
|
|
45
|
+
return (h(Host, { key: '38b92b7cbad470b5ca944e2734d01f9409262881', ref: (host) => (this.host = host) }, this.value && this.label && (h("sl-switch", { key: '2fac822671f25f54073e0eb9bf01a441a0ffe927', value: this.value, ref: (el) => (this.el = el), checked: this.checked, disabled: this.disabled }, this.label))));
|
|
45
46
|
}
|
|
46
47
|
static get is() { return "jump-filter-switch"; }
|
|
47
48
|
static get encapsulation() { return "shadow"; }
|
|
@@ -145,6 +146,21 @@ export class JumpFilterSwitch {
|
|
|
145
146
|
"resolved": "any",
|
|
146
147
|
"references": {}
|
|
147
148
|
}
|
|
149
|
+
}, {
|
|
150
|
+
"method": "toggleCheckboxFilterChange",
|
|
151
|
+
"name": "jump-filterchange",
|
|
152
|
+
"bubbles": true,
|
|
153
|
+
"cancelable": true,
|
|
154
|
+
"composed": true,
|
|
155
|
+
"docs": {
|
|
156
|
+
"tags": [],
|
|
157
|
+
"text": ""
|
|
158
|
+
},
|
|
159
|
+
"complexType": {
|
|
160
|
+
"original": "any",
|
|
161
|
+
"resolved": "any",
|
|
162
|
+
"references": {}
|
|
163
|
+
}
|
|
148
164
|
}];
|
|
149
165
|
}
|
|
150
166
|
static get methods() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jump-filter-switch.js","sourceRoot":"","sources":["../../../src/components/jump-filter-switch/jump-filter-switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,2DAA2D,CAAC;AAEnE;;;GAGG;AAMH,MAAM,OAAO,gBAAgB;;;;uBAQiB,KAAK;wBAGJ,KAAK;;IAQlD,gBAAgB;QACd,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE;gBAC3C,8CAA8C;gBAC9C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;gBAE7B,MAAM,SAAS,GAAG;oBAChB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,CAAC;gBAEF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"jump-filter-switch.js","sourceRoot":"","sources":["../../../src/components/jump-filter-switch/jump-filter-switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAgB,MAAM,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,2DAA2D,CAAC;AAEnE;;;GAGG;AAMH,MAAM,OAAO,gBAAgB;;;;uBAQiB,KAAK;wBAGJ,KAAK;;IAQlD,gBAAgB;QACd,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE;gBAC3C,8CAA8C;gBAC9C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,OAAO;gBACT,CAAC;gBAED,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;gBAE7B,MAAM,SAAS,GAAG;oBAChB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,CAAC;gBAEF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAQD;;;OAGG;IAEH,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,GAAG,EAAE,CAAC,IAAiB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IACjD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAC3B,kEACE,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,GAAG,EAAE,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAEtB,IAAI,CAAC,KAAK,CACD,CACb,CACI,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["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"]}
|
|
@@ -8,21 +8,24 @@ export class JumpQuantity {
|
|
|
8
8
|
this.type = 'buttons';
|
|
9
9
|
this.variant = 'vertical';
|
|
10
10
|
this.showButtons = true;
|
|
11
|
-
this.value =
|
|
12
|
-
this.
|
|
11
|
+
this.value = this.min;
|
|
12
|
+
this.internalValue = undefined;
|
|
13
13
|
}
|
|
14
14
|
onValueChange(newValue, oldValue) {
|
|
15
15
|
this.change.emit({
|
|
16
16
|
value: newValue,
|
|
17
17
|
oldValue: oldValue,
|
|
18
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());
|
|
19
22
|
this.internals.setFormValue(newValue);
|
|
20
23
|
}
|
|
21
24
|
/**
|
|
22
25
|
* Get the current value
|
|
23
26
|
*/
|
|
24
27
|
async getValue() {
|
|
25
|
-
return this.
|
|
28
|
+
return this.value;
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
28
31
|
* Set the current value
|
|
@@ -32,12 +35,11 @@ export class JumpQuantity {
|
|
|
32
35
|
}
|
|
33
36
|
async reset() {
|
|
34
37
|
this.value = this.min;
|
|
35
|
-
this.currentValue = this.value;
|
|
36
38
|
}
|
|
37
39
|
componentWillLoad() {
|
|
38
|
-
|
|
39
|
-
this.
|
|
40
|
-
this.internals.setFormValue(this.
|
|
40
|
+
var _a;
|
|
41
|
+
this.internalValue = (_a = this.value) !== null && _a !== void 0 ? _a : this.min;
|
|
42
|
+
this.internals.setFormValue(this.internalValue.toString());
|
|
41
43
|
}
|
|
42
44
|
formResetCallback() {
|
|
43
45
|
this.internals.setValidity({});
|
|
@@ -46,28 +48,27 @@ export class JumpQuantity {
|
|
|
46
48
|
handleChange(event) {
|
|
47
49
|
let value = parseInt(event.target.value);
|
|
48
50
|
if (value < this.min) {
|
|
49
|
-
this.
|
|
51
|
+
this.value = this.min;
|
|
50
52
|
}
|
|
51
53
|
else if (value > this.max) {
|
|
52
|
-
this.
|
|
54
|
+
this.value = this.max;
|
|
53
55
|
}
|
|
54
56
|
else {
|
|
55
|
-
this.
|
|
57
|
+
this.value = event.target.value;
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
60
|
//avoid user can change the value below the min
|
|
59
61
|
handleBlur(event) {
|
|
60
62
|
if (event.target.value < this.min) {
|
|
61
63
|
this.value = this.min;
|
|
62
|
-
this.currentValue = this.min;
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
render() {
|
|
66
|
-
return (h(Host, { key: '
|
|
67
|
-
h("jump-button", { key: '
|
|
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) => {
|
|
68
69
|
this.inputEl = el;
|
|
69
|
-
}, type: 'number', value: this.
|
|
70
|
-
h("jump-button", { key: '
|
|
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" })))));
|
|
71
72
|
}
|
|
72
73
|
static get is() { return "jump-quantity"; }
|
|
73
74
|
static get encapsulation() { return "shadow"; }
|
|
@@ -224,13 +225,14 @@ export class JumpQuantity {
|
|
|
224
225
|
"text": ""
|
|
225
226
|
},
|
|
226
227
|
"attribute": "value",
|
|
227
|
-
"reflect": false
|
|
228
|
+
"reflect": false,
|
|
229
|
+
"defaultValue": "this.min"
|
|
228
230
|
}
|
|
229
231
|
};
|
|
230
232
|
}
|
|
231
233
|
static get states() {
|
|
232
234
|
return {
|
|
233
|
-
"
|
|
235
|
+
"internalValue": {}
|
|
234
236
|
};
|
|
235
237
|
}
|
|
236
238
|
static get events() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jump-quantity.js","sourceRoot":"","sources":["../../../src/components/jump-quantity/jump-quantity.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAQhH,MAAM,OAAO,YAAY;;mBAKD,CAAC;;oBAEA,CAAC;qBACA,EAAE;oBACuB,SAAS;uBACb,UAAU;2BACxB,IAAI
|
|
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;;
|
|
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: '
|
|
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; }
|