@zanichelli/albe-web-components 18.3.2-RC1 → 18.3.2
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/CHANGELOG.md +9 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/web-components-library.cjs.js +1 -1
- package/dist/cjs/z-info-reveal.cjs.entry.js +1 -1
- package/dist/cjs/z-info-reveal.cjs.entry.js.map +1 -1
- package/dist/cjs/z-range-picker.cjs.entry.js +3 -5
- package/dist/cjs/z-range-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/z-toast-notification.cjs.entry.js +7 -43
- package/dist/cjs/z-toast-notification.cjs.entry.js.map +1 -1
- package/dist/collection/components/date-picker/z-range-picker/index.js +3 -39
- package/dist/collection/components/date-picker/z-range-picker/index.js.map +1 -1
- package/dist/collection/components/z-info-reveal/styles.css +2 -5
- package/dist/collection/components/z-toast-notification/index.js +7 -43
- package/dist/collection/components/z-toast-notification/index.js.map +1 -1
- package/dist/collection/components/z-toast-notification/index.stories.js +30 -2
- package/dist/collection/components/z-toast-notification/index.stories.js.map +1 -1
- package/dist/collection/components/z-toast-notification/styles.css +25 -34
- package/dist/components/index10.js +1 -1
- package/dist/components/index10.js.map +1 -1
- package/dist/components/z-range-picker.js +3 -7
- package/dist/components/z-range-picker.js.map +1 -1
- package/dist/components/z-toast-notification.js +8 -44
- package/dist/components/z-toast-notification.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/web-components-library.js +1 -1
- package/dist/esm/z-info-reveal.entry.js +1 -1
- package/dist/esm/z-info-reveal.entry.js.map +1 -1
- package/dist/esm/z-range-picker.entry.js +3 -5
- package/dist/esm/z-range-picker.entry.js.map +1 -1
- package/dist/esm/z-toast-notification.entry.js +8 -44
- package/dist/esm/z-toast-notification.entry.js.map +1 -1
- package/dist/types/components/date-picker/z-range-picker/index.d.ts +0 -4
- package/dist/types/components/z-toast-notification/index.d.ts +1 -10
- package/dist/types/components/z-toast-notification/index.stories.d.ts +10 -2
- package/dist/types/components.d.ts +0 -16
- package/dist/web-components-library/{p-27e947e5.entry.js → p-0bf8d989.entry.js} +2 -2
- package/dist/web-components-library/p-0bf8d989.entry.js.map +1 -0
- package/dist/web-components-library/p-1dd6dff4.entry.js +7 -0
- package/dist/web-components-library/p-1dd6dff4.entry.js.map +1 -0
- package/dist/web-components-library/{p-fbbacad0.entry.js → p-b705fba3.entry.js} +2 -2
- package/dist/web-components-library/p-b705fba3.entry.js.map +1 -0
- package/dist/web-components-library/web-components-library.esm.js +1 -1
- package/dist/web-components-library/web-components-library.esm.js.map +1 -1
- package/package.json +1 -1
- package/www/build/{p-27e947e5.entry.js → p-0bf8d989.entry.js} +2 -2
- package/www/build/p-0bf8d989.entry.js.map +1 -0
- package/www/build/p-1dd6dff4.entry.js +7 -0
- package/www/build/p-1dd6dff4.entry.js.map +1 -0
- package/www/build/{p-e187f278.js → p-40433daa.js} +1 -1
- package/www/build/{p-fbbacad0.entry.js → p-b705fba3.entry.js} +2 -2
- package/www/build/p-b705fba3.entry.js.map +1 -0
- package/www/build/web-components-library.esm.js +1 -1
- package/www/build/web-components-library.esm.js.map +1 -1
- package/www/index.html +1 -1
- package/dist/web-components-library/p-27e947e5.entry.js.map +0 -1
- package/dist/web-components-library/p-72c07bbd.entry.js +0 -7
- package/dist/web-components-library/p-72c07bbd.entry.js.map +0 -1
- package/dist/web-components-library/p-fbbacad0.entry.js.map +0 -1
- package/www/build/p-27e947e5.entry.js.map +0 -1
- package/www/build/p-72c07bbd.entry.js +0 -7
- package/www/build/p-72c07bbd.entry.js.map +0 -1
- package/www/build/p-fbbacad0.entry.js.map +0 -1
|
@@ -15,8 +15,6 @@ export class ZRangePicker {
|
|
|
15
15
|
this.lastPickerReadOnly = false;
|
|
16
16
|
this.firstPickerPlaceholder = "";
|
|
17
17
|
this.lastPickerPlaceholder = "";
|
|
18
|
-
this.firstPickerValue = undefined;
|
|
19
|
-
this.lastPickerValue = undefined;
|
|
20
18
|
this.flatpickrPosition = ZDatePickerPosition.BOTTOM;
|
|
21
19
|
this.activeInput = "start-input";
|
|
22
20
|
this.firstInputError = false;
|
|
@@ -332,14 +330,14 @@ export class ZRangePicker {
|
|
|
332
330
|
onStopTyping: this.onStopTyping.bind(this),
|
|
333
331
|
value: "",
|
|
334
332
|
};
|
|
335
|
-
return (h("div", { key: '
|
|
333
|
+
return (h("div", { key: '49f0ff8d78e0eef4022df4c2b36723aa2c286887', class: {
|
|
336
334
|
["range-pickers-container"]: true,
|
|
337
335
|
[this.mode]: true,
|
|
338
336
|
[this.activeInput]: true,
|
|
339
337
|
[this.flatpickrPosition]: true,
|
|
340
|
-
} }, h("div", { key: '
|
|
338
|
+
} }, h("div", { key: '6f81bf4e43dce3dc0f504436187bd6707dd36c11', class: `${this.rangePickerId}-1-wrapper` }, h("div", { key: '64f287e685b97c97981ec10888558b6bd411d67d', class: `${this.rangePickerId}-1-container` }, h("z-input", Object.assign({ key: 'efc2d08365191259ec9f8c2676c580d9468e580a' }, zInputProps, { placeholder: this.firstPickerPlaceholder, readonly: this.firstPickerReadOnly, "data-input": "data-input", class: `start-input ${this.rangePickerId}-1`, ariaLabel: this.firstAriaLabel, label: this.firstLabel, status: this.firstInputError && InputStatus.ERROR, onStartTyping: () => {
|
|
341
339
|
this.firstInputError = false;
|
|
342
|
-
} })))), h("div", { key: '
|
|
340
|
+
} })))), h("div", { key: '9b7e0609fd19829960a6497b2d832b7154130b63', class: `${this.rangePickerId}-2-wrapper` }, h("div", { key: 'e4dc9455d70128290d917c446bb6717c3a66e533', class: `${this.rangePickerId}-2-container` }, h("z-input", Object.assign({ key: '49496eafd526860075d65895d0489fce267f11ad' }, zInputProps, { placeholder: this.lastPickerPlaceholder, readonly: this.lastPickerReadOnly, "data-input": "data-input", class: `end-input ${this.rangePickerId}-2`, ariaLabel: this.secondAriaLabel, label: this.secondLabel, status: this.lastInputError && InputStatus.ERROR, onStartTyping: () => {
|
|
343
341
|
this.lastInputError = false;
|
|
344
342
|
} }))))));
|
|
345
343
|
}
|
|
@@ -536,40 +534,6 @@ export class ZRangePicker {
|
|
|
536
534
|
"attribute": "last-picker-placeholder",
|
|
537
535
|
"reflect": false,
|
|
538
536
|
"defaultValue": "\"\""
|
|
539
|
-
},
|
|
540
|
-
"firstPickerValue": {
|
|
541
|
-
"type": "string",
|
|
542
|
-
"mutable": false,
|
|
543
|
-
"complexType": {
|
|
544
|
-
"original": "string",
|
|
545
|
-
"resolved": "string",
|
|
546
|
-
"references": {}
|
|
547
|
-
},
|
|
548
|
-
"required": false,
|
|
549
|
-
"optional": true,
|
|
550
|
-
"docs": {
|
|
551
|
-
"tags": [],
|
|
552
|
-
"text": "First picker value"
|
|
553
|
-
},
|
|
554
|
-
"attribute": "first-picker-value",
|
|
555
|
-
"reflect": false
|
|
556
|
-
},
|
|
557
|
-
"lastPickerValue": {
|
|
558
|
-
"type": "string",
|
|
559
|
-
"mutable": false,
|
|
560
|
-
"complexType": {
|
|
561
|
-
"original": "string",
|
|
562
|
-
"resolved": "string",
|
|
563
|
-
"references": {}
|
|
564
|
-
},
|
|
565
|
-
"required": false,
|
|
566
|
-
"optional": true,
|
|
567
|
-
"docs": {
|
|
568
|
-
"tags": [],
|
|
569
|
-
"text": "Last picker value"
|
|
570
|
-
},
|
|
571
|
-
"attribute": "last-picker-value",
|
|
572
|
-
"reflect": false
|
|
573
537
|
}
|
|
574
538
|
};
|
|
575
539
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/date-picker/z-range-picker/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, Listen, Prop, State, Watch, h} from \"@stencil/core\";\n\nimport flatpickr from \"flatpickr\";\nimport {Italian} from \"flatpickr/dist/l10n/it.js\";\n\nimport {InputStatus, InputType, ZDatePickerPosition, ZRangePickerMode} from \"../../../beans\";\nimport {setAriaOptions, setFlatpickrPosition, validateDate} from \"../utils\";\n\n@Component({\n tag: \"z-range-picker\",\n styleUrl: \"../styles.css\",\n shadow: false,\n})\nexport class ZRangePicker {\n @Element() element: HTMLZRangePickerElement;\n\n /** unique id */\n @Prop()\n rangePickerId: string;\n\n /** first z-input aria label */\n @Prop()\n firstAriaLabel?: string;\n\n /** first z-input label */\n @Prop()\n firstLabel?: string;\n\n /** second z-input aria label */\n @Prop()\n secondAriaLabel?: string;\n\n /** second z-input label */\n @Prop()\n secondLabel?: string;\n\n /** [Optional] datepicker mode: date or datetime */\n @Prop()\n mode: ZRangePickerMode = ZRangePickerMode.DATE;\n\n /** readonly mode */\n @Prop()\n firstPickerReadOnly = false;\n\n /** readonly mode */\n @Prop()\n lastPickerReadOnly = false;\n\n /** readonly mode */\n @Prop()\n firstPickerPlaceholder = \"\";\n\n /** readonly mode */\n @Prop()\n lastPickerPlaceholder = \"\";\n\n /** First picker value */\n @Prop()\n firstPickerValue?: string;\n\n /** Last picker value */\n @Prop()\n lastPickerValue?: string;\n\n @State()\n flatpickrPosition: ZDatePickerPosition = ZDatePickerPosition.BOTTOM;\n\n @State()\n activeInput = \"start-input\";\n\n @State()\n firstInputError = false;\n\n @State()\n lastInputError = false;\n\n private firstPicker;\n\n private lastPicker;\n\n /** emitted when date changes, returns an array with the two selected dates */\n @Event()\n dateSelect: EventEmitter;\n\n @Listen(\"click\", {target: \"body\", capture: true})\n handleClick(): void {\n this.getFocusedInput();\n }\n\n @Listen(\"keyup\", {target: \"body\", capture: true})\n handleKeyDown(ev: KeyboardEvent): void {\n const currentPicker = this.activeInput === \"start-input\" ? this.firstPicker : this.lastPicker;\n\n this.getFocusedInput();\n\n if (ev.key === \"Escape\") {\n document.activeElement.classList.contains(`${this.rangePickerId}-1`) && this.firstPicker?.close();\n\n document.activeElement.classList.contains(`${this.rangePickerId}-2`) && this.lastPicker?.close();\n }\n\n if (ev.key === \"Enter\" || ev.key === \" \") {\n if (\n document.activeElement.classList.contains(`${this.rangePickerId}-1`) ||\n document.activeElement.classList.contains(`${this.rangePickerId}-2`)\n ) {\n currentPicker?.open();\n }\n\n const isCrossIconEntered = document.activeElement.classList.contains(\"reset-icon\");\n\n if (isCrossIconEntered) {\n if (this.activeInput === \"start-input\") {\n this.firstInputError = false;\n this.firstPicker?.clear();\n this.printDate(null, this.lastPicker?.selectedDates[0] || null);\n }\n if (this.activeInput === \"end-input\") {\n this.lastInputError = false;\n this.firstPicker?.clear();\n this.printDate(this.firstPicker?.selectedDates[0] || null, null);\n }\n }\n\n const isPrevArrowEntered = document.activeElement.classList.contains(\"flatpickr-prev-month\");\n const isNextArrowEntered = document.activeElement.classList.contains(\"flatpickr-next-month\");\n const arrowPressed = isPrevArrowEntered || isNextArrowEntered;\n\n arrowPressed && ev.key === \" \" && ev.preventDefault();\n\n isPrevArrowEntered && currentPicker?.changeMonth(-1);\n isNextArrowEntered && currentPicker?.changeMonth(1);\n }\n }\n\n componentDidLoad(): void {\n this.setupPickers();\n }\n\n @Watch(\"firstPickerReadOnly\")\n setupFirstPickersReadOnly(): void {\n this.firstPicker?.set(\"clickOpens\", !this.firstPickerReadOnly);\n }\n\n @Watch(\"lastPickerReadOnly\")\n setupLastPickersReadOnly(): void {\n this.lastPicker?.set(\"clickOpens\", !this.lastPickerReadOnly);\n }\n\n @Watch(\"mode\")\n setupPickers(): void {\n const config = {\n enableTime: this.mode === ZRangePickerMode.DATE_TIME,\n locale: Italian,\n allowInput: true,\n wrap: true,\n dateFormat: this.mode === ZRangePickerMode.DATE_TIME ? \"d-m-Y - H:i\" : \"d-m-Y\",\n ariaDateFormat: \"d F Y\",\n minuteIncrement: 1,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n time_24hr: true,\n onValueUpdate: () => {\n const firstInputActive = this.activeInput === \"start-input\";\n const firstDate = this.firstPicker.selectedDates[0];\n const lastDate = this.lastPicker.selectedDates[0];\n\n if (+firstDate > +lastDate) {\n if (firstInputActive) {\n this.firstInputError = true;\n this.printDate(null, lastDate || null);\n } else {\n this.lastInputError = true;\n this.printDate(firstDate || null, null);\n }\n } else {\n this.lastInputError = false;\n this.firstInputError = false;\n this.printDate(firstDate || null, lastDate || null);\n }\n this.setRangeStyle(0);\n this.setRangeStyle(1);\n },\n onChange: (_selectedDates, _dateStr, instance) => {\n this.onDateSelect();\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n },\n onOpen: (_selectedDates, _dateStr, instance) => {\n setAriaOptions(this.element, this.mode);\n this.flatpickrPosition = setFlatpickrPosition(this.element, this.mode);\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n this.getFocusedInput();\n },\n onYearChange: (_selectedDates, _dateStr, instance) => {\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n },\n onMonthChange: (_selectedDates, _dateStr, instance) => {\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n },\n onKeyDown: () => {\n setAriaOptions(this.element, this.mode);\n },\n };\n\n this.firstPicker = flatpickr(`.${this.rangePickerId}-1-container`, {\n ...{...config, clickOpens: !this.firstPickerReadOnly},\n mode: \"single\",\n appendTo: this.element.querySelector(`.${this.rangePickerId}-1-wrapper`),\n });\n this.lastPicker = flatpickr(`.${this.rangePickerId}-2-container`, {\n ...{...config, clickOpens: !this.lastPickerReadOnly},\n mode: \"single\",\n appendTo: this.element.querySelector(`.${this.rangePickerId}-2-wrapper`),\n });\n\n this.element.querySelectorAll(\".flatpickr-weekday\").forEach((element) => {\n element.innerHTML = element.innerHTML.trim().charAt(0);\n });\n }\n\n private onDateSelect(): void {\n const firstInputActive = this.activeInput === \"start-input\";\n const firstDate = this.firstPicker.selectedDates[0];\n const lastDate = this.lastPicker.selectedDates[0];\n\n if (+firstDate > +lastDate) {\n if (firstInputActive) {\n this.firstInputError = true;\n this.printDate(null, lastDate || null);\n } else {\n this.lastInputError = true;\n this.printDate(firstDate || null, null);\n }\n } else {\n this.lastInputError = false;\n this.firstInputError = false;\n this.printDate(firstDate || null, lastDate || null);\n }\n }\n\n private disableDates(date, index): void {\n const calendar = this.element.getElementsByClassName(\"flatpickr-calendar\")[index];\n\n Array.from(calendar.getElementsByClassName(\"flatpickr-day\")).forEach((element: Element) => {\n const calendarDate = this.getDateWithoutTime(this.replaceMonths(element.ariaLabel, null));\n\n const breakpoint = this.getDateWithoutTime(date);\n const inRange = index === 0 ? calendarDate > breakpoint : calendarDate < breakpoint;\n\n if (inRange) {\n element.classList.toggle(\"flatpickr-disabled\", true);\n } else {\n element.classList.toggle(\"flatpickr-disabled\", false);\n }\n });\n setAriaOptions(this.element, this.mode);\n }\n\n private formatDate(date): string {\n if (this.mode === ZRangePickerMode.DATE) {\n return `${flatpickr.formatDate(date, \"d-m-Y\")}`;\n }\n\n return `${flatpickr.formatDate(date, \"d-m-Y - H:i\")}`;\n }\n\n private printDate(firstDate, lastDate): void {\n const firstDateString = firstDate ? this.formatDate(firstDate) : null;\n const lastDateString = lastDate ? this.formatDate(lastDate) : null;\n\n this.dateSelect.emit([firstDateString, lastDateString]);\n }\n\n private getDateWithoutTime(date): Date {\n const newDate = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0);\n\n return newDate;\n }\n\n /** Replace month word to month number */\n private replaceMonths(date, time): Date {\n const month = date.split(\" \")[1];\n const months = {\n /* eslint-disable @typescript-eslint/naming-convention */\n Gennaio: \"01\",\n Febbraio: \"02\",\n Marzo: \"03\",\n Aprile: \"04\",\n Maggio: \"05\",\n Giugno: \"06\",\n Luglio: \"07\",\n Agosto: \"08\",\n Settembre: \"09\",\n Ottobre: \"10\",\n Novembre: \"11\",\n Dicembre: \"12\",\n /* eslint-enable @typescript-eslint/naming-convention */\n };\n\n const pieces = date.replace(month, months[month]).split(\" \");\n\n return new Date(\n parseInt(pieces[2]),\n parseInt(pieces[1]) - 1,\n parseInt(pieces[0]),\n time ? parseInt(time.split(\":\")[0]) : 0,\n time ? parseInt(time.split(\":\")[1]) : 0\n );\n }\n\n /** Get the current focused input, first or last */\n private getFocusedInput(): string {\n const focusedZInput = document.activeElement.closest(\"z-input\");\n if (!focusedZInput) {\n return;\n }\n\n if (focusedZInput?.classList.contains(\"start-input\")) {\n this.activeInput = \"start-input\";\n } else if (focusedZInput.classList.contains(\"end-input\")) {\n this.activeInput = \"end-input\";\n }\n }\n\n /** Set style of the days between the two selected dates */\n private setRangeStyle(index): void {\n Array.from(this.element.getElementsByClassName(\"flatpickr-calendar\")).forEach((element: Element) => {\n Array.from(element.getElementsByClassName(\"flatpickr-day\")).forEach((element: Element) => {\n const hasFirstDate = this.firstPicker.selectedDates.length === 1;\n const hasLastDate = this.lastPicker.selectedDates.length === 1;\n let firstDate;\n let lastDate;\n const date = this.getDateWithoutTime(this.replaceMonths(element.ariaLabel, null));\n\n if (hasFirstDate) {\n firstDate = this.getDateWithoutTime(this.firstPicker.selectedDates[0]);\n if (+date === +firstDate) {\n element.classList.toggle(\"startRange\", true);\n } else {\n element.classList.toggle(\"startRange\", false);\n }\n }\n\n if (hasLastDate) {\n lastDate = this.getDateWithoutTime(this.lastPicker.selectedDates[0]);\n if (+date === +lastDate) {\n element.classList.toggle(\"endRange\", true);\n } else {\n element.classList.toggle(\"endRange\", false);\n }\n }\n\n if (hasFirstDate && hasLastDate) {\n if (date > firstDate && date < lastDate) {\n element.classList.toggle(\"inRange\", true);\n } else {\n element.classList.toggle(\"inRange\", false);\n }\n }\n\n if (index === 0 && hasLastDate) {\n this.disableDates(this.lastPicker.selectedDates[0], index);\n }\n if (index === 1 && hasFirstDate) {\n this.disableDates(this.firstPicker.selectedDates[0], index);\n }\n });\n });\n }\n\n private onStopTyping(value): void {\n const text = value.detail.value.replace(\"/\", \"-\");\n const englishData = text.split(\"-\");\n const time = this.mode === ZRangePickerMode.DATE_TIME ? `T${englishData[3]}:00` : \"\";\n const englishParsedData = `${englishData[2]}-${englishData[1]}-${englishData[0]}${time}`.split(\" \").join(\"\");\n\n const isValidDate = validateDate(text, this.mode === ZRangePickerMode.DATE_TIME);\n\n const date = Date.parse(englishParsedData).toString();\n\n if (this.activeInput === \"start-input\") {\n if (text === \"\") {\n this.firstInputError = false;\n this.firstPicker.setDate([]);\n this.printDate(null, this.lastPicker.selectedDates[0] || null);\n } else if (!isValidDate) {\n this.firstInputError = true;\n this.printDate(null, this.lastPicker.selectedDates[0] || null);\n } else if (isValidDate) {\n if (this.lastPicker.selectedDates.length === 1) {\n if (+date <= +this.lastPicker.selectedDates[0]) {\n this.firstInputError = false;\n this.firstPicker.setDate([text]);\n this.printDate(new Date(englishParsedData), this.lastPicker.selectedDates[0]);\n } else {\n this.firstInputError = true;\n this.printDate(null, this.lastPicker.selectedDates[0]);\n }\n } else {\n this.firstInputError = false;\n this.firstPicker.setDate([text]);\n this.printDate(new Date(englishParsedData), null);\n }\n }\n } else if (text === \"\") {\n this.lastInputError = false;\n this.lastPicker.setDate([]);\n this.printDate(this.firstPicker.selectedDates[0] || null, null);\n } else if (!isValidDate) {\n this.lastInputError = true;\n this.printDate(this.firstPicker.selectedDates[0] || null, null);\n } else if (isValidDate) {\n if (this.firstPicker.selectedDates.length === 1) {\n if (+date >= +this.firstPicker.selectedDates[0]) {\n this.lastInputError = false;\n this.lastPicker.setDate([text]);\n this.printDate(this.firstPicker.selectedDates[0], new Date(englishParsedData));\n } else {\n this.lastInputError = true;\n this.printDate(this.firstPicker.selectedDates[0], null);\n }\n } else {\n this.lastInputError = false;\n this.lastPicker.setDate([text]);\n this.printDate(null, new Date(englishParsedData));\n }\n }\n\n this.setRangeStyle(this.activeInput === \"start-input\" ? 0 : 1);\n }\n\n render(): HTMLDivElement {\n const zInputProps = {\n type: InputType.TEXT,\n icon: \"event\",\n tabindex: \"0\",\n message: false,\n onStopTyping: this.onStopTyping.bind(this),\n value: \"\",\n };\n\n return (\n <div\n class={{\n [\"range-pickers-container\"]: true,\n [this.mode]: true,\n [this.activeInput]: true,\n [this.flatpickrPosition]: true,\n }}\n >\n <div class={`${this.rangePickerId}-1-wrapper`}>\n <div class={`${this.rangePickerId}-1-container`}>\n <z-input\n {...zInputProps}\n value={this.firstPickerValue}\n placeholder={this.firstPickerPlaceholder}\n readonly={this.firstPickerReadOnly}\n data-input=\"data-input\"\n class={`start-input ${this.rangePickerId}-1`}\n ariaLabel={this.firstAriaLabel}\n label={this.firstLabel}\n status={this.firstInputError && InputStatus.ERROR}\n onStartTyping={() => {\n this.firstInputError = false;\n }}\n />\n </div>\n </div>\n <div class={`${this.rangePickerId}-2-wrapper`}>\n <div class={`${this.rangePickerId}-2-container`}>\n <z-input\n {...zInputProps}\n value={this.lastPickerValue}\n placeholder={this.lastPickerPlaceholder}\n readonly={this.lastPickerReadOnly}\n data-input=\"data-input\"\n class={`end-input ${this.rangePickerId}-2`}\n ariaLabel={this.secondAriaLabel}\n label={this.secondLabel}\n status={this.lastInputError && InputStatus.ERROR}\n onStartTyping={() => {\n this.lastInputError = false;\n }}\n />\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/date-picker/z-range-picker/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, Listen, Prop, State, Watch, h} from \"@stencil/core\";\n\nimport flatpickr from \"flatpickr\";\nimport {Italian} from \"flatpickr/dist/l10n/it.js\";\n\nimport {InputStatus, InputType, ZDatePickerPosition, ZRangePickerMode} from \"../../../beans\";\nimport {setAriaOptions, setFlatpickrPosition, validateDate} from \"../utils\";\n\n@Component({\n tag: \"z-range-picker\",\n styleUrl: \"../styles.css\",\n shadow: false,\n})\nexport class ZRangePicker {\n @Element() element: HTMLZRangePickerElement;\n\n /** unique id */\n @Prop()\n rangePickerId: string;\n\n /** first z-input aria label */\n @Prop()\n firstAriaLabel?: string;\n\n /** first z-input label */\n @Prop()\n firstLabel?: string;\n\n /** second z-input aria label */\n @Prop()\n secondAriaLabel?: string;\n\n /** second z-input label */\n @Prop()\n secondLabel?: string;\n\n /** [Optional] datepicker mode: date or datetime */\n @Prop()\n mode: ZRangePickerMode = ZRangePickerMode.DATE;\n\n /** readonly mode */\n @Prop()\n firstPickerReadOnly = false;\n\n /** readonly mode */\n @Prop()\n lastPickerReadOnly = false;\n\n /** readonly mode */\n @Prop()\n firstPickerPlaceholder = \"\";\n\n /** readonly mode */\n @Prop()\n lastPickerPlaceholder = \"\";\n\n @State()\n flatpickrPosition: ZDatePickerPosition = ZDatePickerPosition.BOTTOM;\n\n @State()\n activeInput = \"start-input\";\n\n @State()\n firstInputError = false;\n\n @State()\n lastInputError = false;\n\n private firstPicker;\n\n private lastPicker;\n\n /** emitted when date changes, returns an array with the two selected dates */\n @Event()\n dateSelect: EventEmitter;\n\n @Listen(\"click\", {target: \"body\", capture: true})\n handleClick(): void {\n this.getFocusedInput();\n }\n\n @Listen(\"keyup\", {target: \"body\", capture: true})\n handleKeyDown(ev: KeyboardEvent): void {\n const currentPicker = this.activeInput === \"start-input\" ? this.firstPicker : this.lastPicker;\n\n this.getFocusedInput();\n\n if (ev.key === \"Escape\") {\n document.activeElement.classList.contains(`${this.rangePickerId}-1`) && this.firstPicker?.close();\n\n document.activeElement.classList.contains(`${this.rangePickerId}-2`) && this.lastPicker?.close();\n }\n\n if (ev.key === \"Enter\" || ev.key === \" \") {\n if (\n document.activeElement.classList.contains(`${this.rangePickerId}-1`) ||\n document.activeElement.classList.contains(`${this.rangePickerId}-2`)\n ) {\n currentPicker?.open();\n }\n\n const isCrossIconEntered = document.activeElement.classList.contains(\"reset-icon\");\n\n if (isCrossIconEntered) {\n if (this.activeInput === \"start-input\") {\n this.firstInputError = false;\n this.firstPicker?.clear();\n this.printDate(null, this.lastPicker?.selectedDates[0] || null);\n }\n if (this.activeInput === \"end-input\") {\n this.lastInputError = false;\n this.firstPicker?.clear();\n this.printDate(this.firstPicker?.selectedDates[0] || null, null);\n }\n }\n\n const isPrevArrowEntered = document.activeElement.classList.contains(\"flatpickr-prev-month\");\n const isNextArrowEntered = document.activeElement.classList.contains(\"flatpickr-next-month\");\n const arrowPressed = isPrevArrowEntered || isNextArrowEntered;\n\n arrowPressed && ev.key === \" \" && ev.preventDefault();\n\n isPrevArrowEntered && currentPicker?.changeMonth(-1);\n isNextArrowEntered && currentPicker?.changeMonth(1);\n }\n }\n\n componentDidLoad(): void {\n this.setupPickers();\n }\n\n @Watch(\"firstPickerReadOnly\")\n setupFirstPickersReadOnly(): void {\n this.firstPicker?.set(\"clickOpens\", !this.firstPickerReadOnly);\n }\n\n @Watch(\"lastPickerReadOnly\")\n setupLastPickersReadOnly(): void {\n this.lastPicker?.set(\"clickOpens\", !this.lastPickerReadOnly);\n }\n\n @Watch(\"mode\")\n setupPickers(): void {\n const config = {\n enableTime: this.mode === ZRangePickerMode.DATE_TIME,\n locale: Italian,\n allowInput: true,\n wrap: true,\n dateFormat: this.mode === ZRangePickerMode.DATE_TIME ? \"d-m-Y - H:i\" : \"d-m-Y\",\n ariaDateFormat: \"d F Y\",\n minuteIncrement: 1,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n time_24hr: true,\n onValueUpdate: () => {\n const firstInputActive = this.activeInput === \"start-input\";\n const firstDate = this.firstPicker.selectedDates[0];\n const lastDate = this.lastPicker.selectedDates[0];\n\n if (+firstDate > +lastDate) {\n if (firstInputActive) {\n this.firstInputError = true;\n this.printDate(null, lastDate || null);\n } else {\n this.lastInputError = true;\n this.printDate(firstDate || null, null);\n }\n } else {\n this.lastInputError = false;\n this.firstInputError = false;\n this.printDate(firstDate || null, lastDate || null);\n }\n this.setRangeStyle(0);\n this.setRangeStyle(1);\n },\n onChange: (_selectedDates, _dateStr, instance) => {\n this.onDateSelect();\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n },\n onOpen: (_selectedDates, _dateStr, instance) => {\n setAriaOptions(this.element, this.mode);\n this.flatpickrPosition = setFlatpickrPosition(this.element, this.mode);\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n this.getFocusedInput();\n },\n onYearChange: (_selectedDates, _dateStr, instance) => {\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n },\n onMonthChange: (_selectedDates, _dateStr, instance) => {\n this.setRangeStyle(instance.input.classList.contains(\"start-input\") ? 0 : 1);\n },\n onKeyDown: () => {\n setAriaOptions(this.element, this.mode);\n },\n };\n\n this.firstPicker = flatpickr(`.${this.rangePickerId}-1-container`, {\n ...{...config, clickOpens: !this.firstPickerReadOnly},\n mode: \"single\",\n appendTo: this.element.querySelector(`.${this.rangePickerId}-1-wrapper`),\n });\n this.lastPicker = flatpickr(`.${this.rangePickerId}-2-container`, {\n ...{...config, clickOpens: !this.lastPickerReadOnly},\n mode: \"single\",\n appendTo: this.element.querySelector(`.${this.rangePickerId}-2-wrapper`),\n });\n\n this.element.querySelectorAll(\".flatpickr-weekday\").forEach((element) => {\n element.innerHTML = element.innerHTML.trim().charAt(0);\n });\n }\n\n private onDateSelect(): void {\n const firstInputActive = this.activeInput === \"start-input\";\n const firstDate = this.firstPicker.selectedDates[0];\n const lastDate = this.lastPicker.selectedDates[0];\n\n if (+firstDate > +lastDate) {\n if (firstInputActive) {\n this.firstInputError = true;\n this.printDate(null, lastDate || null);\n } else {\n this.lastInputError = true;\n this.printDate(firstDate || null, null);\n }\n } else {\n this.lastInputError = false;\n this.firstInputError = false;\n this.printDate(firstDate || null, lastDate || null);\n }\n }\n\n private disableDates(date, index): void {\n const calendar = this.element.getElementsByClassName(\"flatpickr-calendar\")[index];\n\n Array.from(calendar.getElementsByClassName(\"flatpickr-day\")).forEach((element: Element) => {\n const calendarDate = this.getDateWithoutTime(this.replaceMonths(element.ariaLabel, null));\n\n const breakpoint = this.getDateWithoutTime(date);\n const inRange = index === 0 ? calendarDate > breakpoint : calendarDate < breakpoint;\n\n if (inRange) {\n element.classList.toggle(\"flatpickr-disabled\", true);\n } else {\n element.classList.toggle(\"flatpickr-disabled\", false);\n }\n });\n setAriaOptions(this.element, this.mode);\n }\n\n private formatDate(date): string {\n if (this.mode === ZRangePickerMode.DATE) {\n return `${flatpickr.formatDate(date, \"d-m-Y\")}`;\n }\n\n return `${flatpickr.formatDate(date, \"d-m-Y - H:i\")}`;\n }\n\n private printDate(firstDate, lastDate): void {\n const firstDateString = firstDate ? this.formatDate(firstDate) : null;\n const lastDateString = lastDate ? this.formatDate(lastDate) : null;\n\n this.dateSelect.emit([firstDateString, lastDateString]);\n }\n\n private getDateWithoutTime(date): Date {\n const newDate = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0);\n\n return newDate;\n }\n\n /** Replace month word to month number */\n private replaceMonths(date, time): Date {\n const month = date.split(\" \")[1];\n const months = {\n /* eslint-disable @typescript-eslint/naming-convention */\n Gennaio: \"01\",\n Febbraio: \"02\",\n Marzo: \"03\",\n Aprile: \"04\",\n Maggio: \"05\",\n Giugno: \"06\",\n Luglio: \"07\",\n Agosto: \"08\",\n Settembre: \"09\",\n Ottobre: \"10\",\n Novembre: \"11\",\n Dicembre: \"12\",\n /* eslint-enable @typescript-eslint/naming-convention */\n };\n\n const pieces = date.replace(month, months[month]).split(\" \");\n\n return new Date(\n parseInt(pieces[2]),\n parseInt(pieces[1]) - 1,\n parseInt(pieces[0]),\n time ? parseInt(time.split(\":\")[0]) : 0,\n time ? parseInt(time.split(\":\")[1]) : 0\n );\n }\n\n /** Get the current focused input, first or last */\n private getFocusedInput(): string {\n const focusedZInput = document.activeElement.closest(\"z-input\");\n if (!focusedZInput) {\n return;\n }\n\n if (focusedZInput?.classList.contains(\"start-input\")) {\n this.activeInput = \"start-input\";\n } else if (focusedZInput.classList.contains(\"end-input\")) {\n this.activeInput = \"end-input\";\n }\n }\n\n /** Set style of the days between the two selected dates */\n private setRangeStyle(index): void {\n Array.from(this.element.getElementsByClassName(\"flatpickr-calendar\")).forEach((element: Element) => {\n Array.from(element.getElementsByClassName(\"flatpickr-day\")).forEach((element: Element) => {\n const hasFirstDate = this.firstPicker.selectedDates.length === 1;\n const hasLastDate = this.lastPicker.selectedDates.length === 1;\n let firstDate;\n let lastDate;\n const date = this.getDateWithoutTime(this.replaceMonths(element.ariaLabel, null));\n\n if (hasFirstDate) {\n firstDate = this.getDateWithoutTime(this.firstPicker.selectedDates[0]);\n if (+date === +firstDate) {\n element.classList.toggle(\"startRange\", true);\n } else {\n element.classList.toggle(\"startRange\", false);\n }\n }\n\n if (hasLastDate) {\n lastDate = this.getDateWithoutTime(this.lastPicker.selectedDates[0]);\n if (+date === +lastDate) {\n element.classList.toggle(\"endRange\", true);\n } else {\n element.classList.toggle(\"endRange\", false);\n }\n }\n\n if (hasFirstDate && hasLastDate) {\n if (date > firstDate && date < lastDate) {\n element.classList.toggle(\"inRange\", true);\n } else {\n element.classList.toggle(\"inRange\", false);\n }\n }\n\n if (index === 0 && hasLastDate) {\n this.disableDates(this.lastPicker.selectedDates[0], index);\n }\n if (index === 1 && hasFirstDate) {\n this.disableDates(this.firstPicker.selectedDates[0], index);\n }\n });\n });\n }\n\n private onStopTyping(value): void {\n const text = value.detail.value.replace(\"/\", \"-\");\n const englishData = text.split(\"-\");\n const time = this.mode === ZRangePickerMode.DATE_TIME ? `T${englishData[3]}:00` : \"\";\n const englishParsedData = `${englishData[2]}-${englishData[1]}-${englishData[0]}${time}`.split(\" \").join(\"\");\n\n const isValidDate = validateDate(text, this.mode === ZRangePickerMode.DATE_TIME);\n\n const date = Date.parse(englishParsedData).toString();\n\n if (this.activeInput === \"start-input\") {\n if (text === \"\") {\n this.firstInputError = false;\n this.firstPicker.setDate([]);\n this.printDate(null, this.lastPicker.selectedDates[0] || null);\n } else if (!isValidDate) {\n this.firstInputError = true;\n this.printDate(null, this.lastPicker.selectedDates[0] || null);\n } else if (isValidDate) {\n if (this.lastPicker.selectedDates.length === 1) {\n if (+date <= +this.lastPicker.selectedDates[0]) {\n this.firstInputError = false;\n this.firstPicker.setDate([text]);\n this.printDate(new Date(englishParsedData), this.lastPicker.selectedDates[0]);\n } else {\n this.firstInputError = true;\n this.printDate(null, this.lastPicker.selectedDates[0]);\n }\n } else {\n this.firstInputError = false;\n this.firstPicker.setDate([text]);\n this.printDate(new Date(englishParsedData), null);\n }\n }\n } else if (text === \"\") {\n this.lastInputError = false;\n this.lastPicker.setDate([]);\n this.printDate(this.firstPicker.selectedDates[0] || null, null);\n } else if (!isValidDate) {\n this.lastInputError = true;\n this.printDate(this.firstPicker.selectedDates[0] || null, null);\n } else if (isValidDate) {\n if (this.firstPicker.selectedDates.length === 1) {\n if (+date >= +this.firstPicker.selectedDates[0]) {\n this.lastInputError = false;\n this.lastPicker.setDate([text]);\n this.printDate(this.firstPicker.selectedDates[0], new Date(englishParsedData));\n } else {\n this.lastInputError = true;\n this.printDate(this.firstPicker.selectedDates[0], null);\n }\n } else {\n this.lastInputError = false;\n this.lastPicker.setDate([text]);\n this.printDate(null, new Date(englishParsedData));\n }\n }\n\n this.setRangeStyle(this.activeInput === \"start-input\" ? 0 : 1);\n }\n\n render(): HTMLDivElement {\n const zInputProps = {\n type: InputType.TEXT,\n icon: \"event\",\n tabindex: \"0\",\n message: false,\n onStopTyping: this.onStopTyping.bind(this),\n value: \"\",\n };\n\n return (\n <div\n class={{\n [\"range-pickers-container\"]: true,\n [this.mode]: true,\n [this.activeInput]: true,\n [this.flatpickrPosition]: true,\n }}\n >\n <div class={`${this.rangePickerId}-1-wrapper`}>\n <div class={`${this.rangePickerId}-1-container`}>\n <z-input\n {...zInputProps}\n placeholder={this.firstPickerPlaceholder}\n readonly={this.firstPickerReadOnly}\n data-input=\"data-input\"\n class={`start-input ${this.rangePickerId}-1`}\n ariaLabel={this.firstAriaLabel}\n label={this.firstLabel}\n status={this.firstInputError && InputStatus.ERROR}\n onStartTyping={() => {\n this.firstInputError = false;\n }}\n />\n </div>\n </div>\n <div class={`${this.rangePickerId}-2-wrapper`}>\n <div class={`${this.rangePickerId}-2-container`}>\n <z-input\n {...zInputProps}\n placeholder={this.lastPickerPlaceholder}\n readonly={this.lastPickerReadOnly}\n data-input=\"data-input\"\n class={`end-input ${this.rangePickerId}-2`}\n ariaLabel={this.secondAriaLabel}\n label={this.secondLabel}\n status={this.lastInputError && InputStatus.ERROR}\n onStartTyping={() => {\n this.lastInputError = false;\n }}\n />\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
|
|
@@ -75,7 +75,7 @@ button:focus:focus-visible {
|
|
|
75
75
|
|
|
76
76
|
.z-info-reveal-panel {
|
|
77
77
|
position: absolute;
|
|
78
|
-
z-index:
|
|
78
|
+
z-index: 19;
|
|
79
79
|
display: flex;
|
|
80
80
|
width: var(--z-info-reveal-panel-width);
|
|
81
81
|
height: fit-content;
|
|
@@ -122,12 +122,9 @@ button:focus:focus-visible {
|
|
|
122
122
|
|
|
123
123
|
@media (max-width: 767px) {
|
|
124
124
|
.z-info-reveal-panel {
|
|
125
|
-
position: fixed;
|
|
126
125
|
top: auto !important;
|
|
127
126
|
bottom: auto !important;
|
|
128
|
-
|
|
129
|
-
width: calc(100% - (var(--grid-margin) * 2)) !important;
|
|
130
|
-
max-width: none !important;
|
|
127
|
+
width: calc(var(--z-info-reveal-panel-width) - (var(--grid-margin) * 4)) !important;
|
|
131
128
|
margin-top: calc(var(--trigger-size) * -1);
|
|
132
129
|
}
|
|
133
130
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
|
-
import { ToastNotificationTransition } from "../../beans";
|
|
3
|
-
import { Breakpoints } from "../../constants/breakpoints";
|
|
2
|
+
import { KeyboardCode, ToastNotificationTransition } from "../../beans";
|
|
4
3
|
import Hammer from "hammerjs";
|
|
5
4
|
export class ZToastNotification {
|
|
6
5
|
constructor() {
|
|
@@ -45,12 +44,10 @@ export class ZToastNotification {
|
|
|
45
44
|
this.toastClose.emit();
|
|
46
45
|
}
|
|
47
46
|
componentWillLoad() {
|
|
48
|
-
this.isMobile = window.innerWidth <= Breakpoints.MOBILE;
|
|
49
47
|
this.validateAutoclose();
|
|
50
48
|
this.percentage = 0;
|
|
51
49
|
}
|
|
52
50
|
componentDidLoad() {
|
|
53
|
-
this.isTextLong = this.detectWrap() || this.toastText.offsetHeight > 20;
|
|
54
51
|
this.startTime = Date.now();
|
|
55
52
|
if (this.autoclose && this.pauseonfocusloss) {
|
|
56
53
|
document.addEventListener("visibilitychange", this.visibilityChangeEventHandler);
|
|
@@ -131,56 +128,23 @@ export class ZToastNotification {
|
|
|
131
128
|
startClosingTimeout(time) {
|
|
132
129
|
this.timeoutHandle = window.setTimeout(() => this.emitToastClose(this.mapSlideOutClass()), time);
|
|
133
130
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
let totalWidth = 0;
|
|
138
|
-
for (let i = 0; i < children.length; i++) {
|
|
139
|
-
totalWidth += children[i].offsetWidth;
|
|
140
|
-
}
|
|
141
|
-
return totalWidth > parentWidth;
|
|
142
|
-
}
|
|
143
|
-
renderText() {
|
|
144
|
-
return (h("div", { id: "text", ref: (el) => (this.toastText = el) }, this.heading && h("span", { class: "title" }, this.heading), h("span", { class: "message" }, this.message)));
|
|
145
|
-
}
|
|
146
|
-
renderButton() {
|
|
147
|
-
return (h("div", { id: "button" }, h("slot", { name: "button" })));
|
|
148
|
-
}
|
|
149
|
-
renderCloseIcon() {
|
|
150
|
-
if (!this.closebutton) {
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
return (h("div", { id: "icon" }, h("z-icon", { tabIndex: 0, name: "multiply-circled", width: 15, height: 15, onClick: () => this.emitToastClose(this.mapSlideOutClass()), onKeyPress: (e) => {
|
|
154
|
-
if (e.keyCode == 32 || e.keyCode == 13) {
|
|
131
|
+
renderContent() {
|
|
132
|
+
return (h("div", { id: "external-container", tabIndex: 0, class: { [this.type]: !!this.type } }, h("div", { id: "inner-container" }, h("div", { id: "text" }, this.heading && h("span", { class: "title" }, this.heading), h("span", { class: "message" }, this.message)), h("div", { id: "button" }, h("slot", { name: "button" }))), h("div", { id: "icon" }, this.closebutton && (h("z-icon", { tabIndex: 0, name: "multiply-circled", width: 15, height: 15, onClick: () => this.emitToastClose(this.mapSlideOutClass()), onKeyPress: (e) => {
|
|
133
|
+
if (e.code == KeyboardCode.SPACE || e.code == KeyboardCode.ENTER) {
|
|
155
134
|
e.preventDefault();
|
|
156
135
|
this.emitToastClose(this.mapSlideOutClass());
|
|
157
136
|
}
|
|
158
|
-
} })));
|
|
159
|
-
}
|
|
160
|
-
renderContainer() {
|
|
161
|
-
return (h("div", { tabIndex: 0, id: "external-container", class: {
|
|
162
|
-
[this.type]: !!this.type,
|
|
163
|
-
"several-lines-padding": this.isTextLong,
|
|
164
|
-
}, ref: (el) => (this.container = el) }, this.renderText(), this.renderButton(), this.renderCloseIcon()));
|
|
165
|
-
}
|
|
166
|
-
renderMobileContainer() {
|
|
167
|
-
return (h("div", { id: "external-container", class: {
|
|
168
|
-
[this.type]: !!this.type,
|
|
169
|
-
"several-lines-padding": this.isTextLong,
|
|
170
|
-
"mobile-wrapped": this.isTextLong,
|
|
171
|
-
} }, h("div", { id: "flex-container", ref: (el) => (this.container = el) }, this.renderText(), this.renderButton()), this.renderCloseIcon()));
|
|
137
|
+
} })))));
|
|
172
138
|
}
|
|
173
139
|
render() {
|
|
174
|
-
return (h(Host, { key: '
|
|
175
|
-
"--percentuale": `${this.percentage}%`,
|
|
176
|
-
}, class: this.transition ? this.transition : ToastNotificationTransition.SLIDE_IN_DOWN, onAnimationEnd: (e) => {
|
|
140
|
+
return (h(Host, { key: 'f9b4a2fe7d3642b1cbbe6f2e433ddbbde49568fd', style: { "--percentuale": `${this.percentage}%` }, class: this.transition ? this.transition : ToastNotificationTransition.SLIDE_IN_DOWN, onAnimationEnd: (e) => {
|
|
177
141
|
if (this.autoclose && e.animationName.includes("slidein")) {
|
|
178
142
|
this.startClosingTimeout(this.autoclose);
|
|
179
143
|
}
|
|
180
144
|
if (e.animationName.includes("slideout")) {
|
|
181
145
|
this.hostElement.parentNode.removeChild(this.hostElement);
|
|
182
146
|
}
|
|
183
|
-
} }, this.
|
|
147
|
+
} }, this.renderContent()));
|
|
184
148
|
}
|
|
185
149
|
static get is() { return "z-toast-notification"; }
|
|
186
150
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/z-toast-notification/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, Host, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ToastNotification, ToastNotificationTransition} from \"../../beans\";\nimport {Breakpoints} from \"../../constants/breakpoints\";\n\nimport Hammer from \"hammerjs\";\n\n@Component({\n tag: \"z-toast-notification\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZToastNotification {\n @Element() hostElement: HTMLZToastNotificationElement;\n\n /** toast notification's title */\n @Prop()\n heading?: string;\n\n /** toast notification's message */\n @Prop()\n message: string;\n\n /** toggles closing button rendering */\n @Prop()\n closebutton: boolean;\n\n /** toast notification closing timeout (ms) */\n @Prop()\n autoclose?: number;\n\n /** toast notification autoclose can be paused */\n @Prop()\n pauseonfocusloss?: boolean = true;\n\n /** toast notification type: dark, light, accent, error, success, warning */\n @Prop()\n type?: ToastNotification;\n\n /** toast notification can be draggable*/\n @Prop()\n isdraggable?: boolean = true;\n\n /** toast notification draggable percentage*/\n @Prop()\n draggablepercentage?: number = 80;\n\n /** toast notification animation type: slide-in-left, slide-in-right, slide-in-down, slide-in-up*/\n @Prop()\n transition?: ToastNotificationTransition;\n\n @State()\n percentage: number;\n\n private isTextLong: boolean;\n\n private container!: HTMLElement;\n\n private toastText!: HTMLElement;\n\n private sliderManager: HammerManager;\n\n private elapsedTime: number;\n\n private timeoutHandle: number;\n\n private startTime: number;\n\n private isMobile: boolean;\n\n private isCloseEventCalled = false;\n\n @Watch(\"isdraggable\")\n watchPropIsdraggable(newValue: boolean): void {\n if (newValue) {\n this.sliderManager.get(\"pan\").set({enable: true});\n } else {\n this.sliderManager.get(\"pan\").set({enable: false});\n }\n }\n\n @Watch(\"autoclose\")\n watchPropAutoclose(newValue: number): void {\n clearTimeout(this.timeoutHandle);\n this.startClosingTimeout(newValue);\n }\n\n @Watch(\"pauseonfocusloss\")\n watchPropPauseonfocusloss(newValue: boolean): void {\n if (this.autoclose) {\n if (newValue) {\n document.addEventListener(\"visibilitychange\", this.visibilityChangeEventHandler);\n } else {\n document.removeEventListener(\"visibilitychange\", this.visibilityChangeEventHandler);\n }\n }\n }\n\n /** notification close event */\n @Event()\n toastClose: EventEmitter;\n\n private emitToastClose(cssClass: string): void {\n this.timeoutHandle = null;\n this.elapsedTime = null;\n this.hostElement.classList.add(cssClass);\n this.toastClose.emit();\n }\n\n componentWillLoad(): void {\n this.isMobile = window.innerWidth <= Breakpoints.MOBILE;\n this.validateAutoclose();\n this.percentage = 0;\n }\n\n componentDidLoad(): void {\n this.isTextLong = this.detectWrap() || this.toastText.offsetHeight > 20;\n this.startTime = Date.now();\n if (this.autoclose && this.pauseonfocusloss) {\n document.addEventListener(\"visibilitychange\", this.visibilityChangeEventHandler);\n }\n\n this.isdraggable && this.handleSlideOutDragAnimation();\n }\n\n private visibilityChangeEventHandler(): void {\n if (document.visibilityState === \"hidden\") {\n this.timeoutHandle && this.onBlur();\n } else {\n this.elapsedTime && this.onFocus();\n }\n }\n\n private validateAutoclose(): void {\n if (!this.autoclose && !this.closebutton) {\n console.error(\"At least one between autoclose and closebutton must be present\");\n }\n }\n\n private mapSlideOutClass(): ToastNotificationTransition {\n switch (this.transition) {\n case ToastNotificationTransition.SLIDE_IN_DOWN:\n return ToastNotificationTransition.SLIDE_OUT_UP;\n case ToastNotificationTransition.SLIDE_IN_UP:\n return ToastNotificationTransition.SLIDE_OUT_DOWN;\n case ToastNotificationTransition.SLIDE_IN_LEFT:\n return ToastNotificationTransition.SLIDE_OUT_RIGHT;\n case ToastNotificationTransition.SLIDE_IN_RIGHT:\n return ToastNotificationTransition.SLIDE_OUT_LEFT;\n }\n }\n\n private calculateDraggedPercentage(e): number {\n const bounding = this.hostElement.getBoundingClientRect();\n\n return Math.round((100 * e.deltaX) / bounding.width);\n }\n\n private handleSlideOutDragAnimation(): void {\n this.sliderManager = new Hammer(this.hostElement);\n this.sliderManager.get(\"pan\").set({\n direction: Hammer.DIRECTION_HORIZONTAL,\n });\n\n this.sliderManager.on(\"pan\", (e) => {\n this.percentage = this.calculateDraggedPercentage(e);\n this.hostElement.style.transition = \"none\";\n this.hostElement.classList.remove(this.transition);\n const translateObj = {\n translate: `translateX(${this.percentage}%)`,\n translateBack: \"translateX(0)\",\n };\n\n this.hostElement.style.opacity = `${100 - Math.abs(this.percentage)}%`;\n if (e.eventType === Hammer.DIRECTION_LEFT || e.eventType === Hammer.DIRECTION_RIGHT) {\n this.hostElement.style.transform = translateObj.translate;\n if (Math.abs(this.percentage) > this.draggablepercentage && !this.isCloseEventCalled) {\n this.isCloseEventCalled = true;\n this.emitToastClose(e.direction === Hammer.DIRECTION_LEFT ? \"slide-out-left\" : \"slide-out-right\");\n }\n }\n\n if (e.isFinal && Math.abs(this.percentage) < this.draggablepercentage) {\n this.hostElement.style.transform = translateObj.translateBack;\n this.hostElement.style.transition = \"all 1s\";\n this.hostElement.style.opacity = \"100%\";\n this.percentage = 0;\n }\n });\n }\n\n private onFocus(): void {\n let time = this.autoclose;\n if (this.elapsedTime) {\n time = this.autoclose - this.elapsedTime;\n }\n if (time > 0) {\n this.startClosingTimeout(time);\n }\n }\n\n private onBlur(): void {\n this.elapsedTime = Date.now() - this.startTime;\n clearTimeout(this.timeoutHandle);\n }\n\n private startClosingTimeout(time: number): void {\n this.timeoutHandle = window.setTimeout(() => this.emitToastClose(this.mapSlideOutClass()), time);\n }\n\n private detectWrap(): boolean {\n const parentWidth = this.container.offsetWidth;\n const children = this.container.children;\n let totalWidth = 0;\n\n for (let i = 0; i < children.length; i++) {\n totalWidth += (children[i] as HTMLElement).offsetWidth;\n }\n\n return totalWidth > parentWidth;\n }\n\n private renderText(): HTMLDivElement {\n return (\n <div\n id=\"text\"\n ref={(el) => (this.toastText = el as HTMLElement)}\n >\n {this.heading && <span class=\"title\">{this.heading}</span>}\n <span class=\"message\">{this.message}</span>\n </div>\n );\n }\n\n private renderButton(): HTMLDivElement {\n return (\n <div id=\"button\">\n <slot name=\"button\" />\n </div>\n );\n }\n\n private renderCloseIcon(): HTMLDivElement {\n if (!this.closebutton) {\n return;\n }\n\n return (\n <div id=\"icon\">\n <z-icon\n tabIndex={0}\n name=\"multiply-circled\"\n width={15}\n height={15}\n onClick={() => this.emitToastClose(this.mapSlideOutClass())}\n onKeyPress={(e) => {\n if (e.keyCode == 32 || e.keyCode == 13) {\n e.preventDefault();\n this.emitToastClose(this.mapSlideOutClass());\n }\n }}\n />\n </div>\n );\n }\n\n private renderContainer(): HTMLDivElement {\n return (\n <div\n tabIndex={0}\n id=\"external-container\"\n class={{\n [this.type]: !!this.type,\n \"several-lines-padding\": this.isTextLong,\n }}\n ref={(el) => (this.container = el as HTMLElement)}\n >\n {this.renderText()}\n {this.renderButton()}\n {this.renderCloseIcon()}\n </div>\n );\n }\n\n private renderMobileContainer(): HTMLDivElement {\n return (\n <div\n id=\"external-container\"\n class={{\n [this.type]: !!this.type,\n \"several-lines-padding\": this.isTextLong,\n \"mobile-wrapped\": this.isTextLong,\n }}\n >\n <div\n id=\"flex-container\"\n ref={(el) => (this.container = el as HTMLElement)}\n >\n {this.renderText()}\n {this.renderButton()}\n </div>\n {this.renderCloseIcon()}\n </div>\n );\n }\n\n render(): HTMLZToastNotificationElement {\n return (\n <Host\n style={{\n \"--percentuale\": `${this.percentage}%`,\n }}\n class={this.transition ? this.transition : ToastNotificationTransition.SLIDE_IN_DOWN}\n onAnimationEnd={(e: AnimationEvent) => {\n if (this.autoclose && e.animationName.includes(\"slidein\")) {\n this.startClosingTimeout(this.autoclose);\n }\n if (e.animationName.includes(\"slideout\")) {\n this.hostElement.parentNode.removeChild(this.hostElement);\n }\n }}\n >\n {this.isMobile ? this.renderMobileContainer() : this.renderContainer()}\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/z-toast-notification/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, Host, Prop, State, Watch, h} from \"@stencil/core\";\nimport {KeyboardCode, ToastNotification, ToastNotificationTransition} from \"../../beans\";\n\nimport Hammer from \"hammerjs\";\n\n@Component({\n tag: \"z-toast-notification\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZToastNotification {\n @Element() hostElement: HTMLZToastNotificationElement;\n\n /** toast notification's title */\n @Prop()\n heading?: string;\n\n /** toast notification's message */\n @Prop()\n message: string;\n\n /** toggles closing button rendering */\n @Prop()\n closebutton: boolean;\n\n /** toast notification closing timeout (ms) */\n @Prop()\n autoclose?: number;\n\n /** toast notification autoclose can be paused */\n @Prop()\n pauseonfocusloss?: boolean = true;\n\n /** toast notification type: dark, light, accent, error, success, warning */\n @Prop()\n type?: ToastNotification;\n\n /** toast notification can be draggable*/\n @Prop()\n isdraggable?: boolean = true;\n\n /** toast notification draggable percentage*/\n @Prop()\n draggablepercentage?: number = 80;\n\n /** toast notification animation type: slide-in-left, slide-in-right, slide-in-down, slide-in-up*/\n @Prop()\n transition?: ToastNotificationTransition;\n\n @State()\n percentage: number;\n\n private sliderManager: HammerManager;\n\n private elapsedTime: number;\n\n private timeoutHandle: number;\n\n private startTime: number;\n\n private isCloseEventCalled = false;\n\n @Watch(\"isdraggable\")\n watchPropIsdraggable(newValue: boolean): void {\n if (newValue) {\n this.sliderManager.get(\"pan\").set({enable: true});\n } else {\n this.sliderManager.get(\"pan\").set({enable: false});\n }\n }\n\n @Watch(\"autoclose\")\n watchPropAutoclose(newValue: number): void {\n clearTimeout(this.timeoutHandle);\n this.startClosingTimeout(newValue);\n }\n\n @Watch(\"pauseonfocusloss\")\n watchPropPauseonfocusloss(newValue: boolean): void {\n if (this.autoclose) {\n if (newValue) {\n document.addEventListener(\"visibilitychange\", this.visibilityChangeEventHandler);\n } else {\n document.removeEventListener(\"visibilitychange\", this.visibilityChangeEventHandler);\n }\n }\n }\n\n /** notification close event */\n @Event()\n toastClose: EventEmitter;\n\n private emitToastClose(cssClass: string): void {\n this.timeoutHandle = null;\n this.elapsedTime = null;\n this.hostElement.classList.add(cssClass);\n this.toastClose.emit();\n }\n\n componentWillLoad(): void {\n this.validateAutoclose();\n this.percentage = 0;\n }\n\n componentDidLoad(): void {\n this.startTime = Date.now();\n if (this.autoclose && this.pauseonfocusloss) {\n document.addEventListener(\"visibilitychange\", this.visibilityChangeEventHandler);\n }\n\n this.isdraggable && this.handleSlideOutDragAnimation();\n }\n\n private visibilityChangeEventHandler(): void {\n if (document.visibilityState === \"hidden\") {\n this.timeoutHandle && this.onBlur();\n } else {\n this.elapsedTime && this.onFocus();\n }\n }\n\n private validateAutoclose(): void {\n if (!this.autoclose && !this.closebutton) {\n console.error(\"At least one between autoclose and closebutton must be present\");\n }\n }\n\n private mapSlideOutClass(): ToastNotificationTransition {\n switch (this.transition) {\n case ToastNotificationTransition.SLIDE_IN_DOWN:\n return ToastNotificationTransition.SLIDE_OUT_UP;\n case ToastNotificationTransition.SLIDE_IN_UP:\n return ToastNotificationTransition.SLIDE_OUT_DOWN;\n case ToastNotificationTransition.SLIDE_IN_LEFT:\n return ToastNotificationTransition.SLIDE_OUT_RIGHT;\n case ToastNotificationTransition.SLIDE_IN_RIGHT:\n return ToastNotificationTransition.SLIDE_OUT_LEFT;\n }\n }\n\n private calculateDraggedPercentage(e): number {\n const bounding = this.hostElement.getBoundingClientRect();\n\n return Math.round((100 * e.deltaX) / bounding.width);\n }\n\n private handleSlideOutDragAnimation(): void {\n this.sliderManager = new Hammer(this.hostElement);\n this.sliderManager.get(\"pan\").set({\n direction: Hammer.DIRECTION_HORIZONTAL,\n });\n\n this.sliderManager.on(\"pan\", (e) => {\n this.percentage = this.calculateDraggedPercentage(e);\n this.hostElement.style.transition = \"none\";\n this.hostElement.classList.remove(this.transition);\n const translateObj = {\n translate: `translateX(${this.percentage}%)`,\n translateBack: \"translateX(0)\",\n };\n\n this.hostElement.style.opacity = `${100 - Math.abs(this.percentage)}%`;\n if (e.eventType === Hammer.DIRECTION_LEFT || e.eventType === Hammer.DIRECTION_RIGHT) {\n this.hostElement.style.transform = translateObj.translate;\n if (Math.abs(this.percentage) > this.draggablepercentage && !this.isCloseEventCalled) {\n this.isCloseEventCalled = true;\n this.emitToastClose(e.direction === Hammer.DIRECTION_LEFT ? \"slide-out-left\" : \"slide-out-right\");\n }\n }\n\n if (e.isFinal && Math.abs(this.percentage) < this.draggablepercentage) {\n this.hostElement.style.transform = translateObj.translateBack;\n this.hostElement.style.transition = \"all 1s\";\n this.hostElement.style.opacity = \"100%\";\n this.percentage = 0;\n }\n });\n }\n\n private onFocus(): void {\n let time = this.autoclose;\n if (this.elapsedTime) {\n time = this.autoclose - this.elapsedTime;\n }\n if (time > 0) {\n this.startClosingTimeout(time);\n }\n }\n\n private onBlur(): void {\n this.elapsedTime = Date.now() - this.startTime;\n clearTimeout(this.timeoutHandle);\n }\n\n private startClosingTimeout(time: number): void {\n this.timeoutHandle = window.setTimeout(() => this.emitToastClose(this.mapSlideOutClass()), time);\n }\n\n private renderContent(): HTMLDivElement {\n return (\n <div\n id=\"external-container\"\n tabIndex={0}\n class={{[this.type]: !!this.type}}\n >\n <div id=\"inner-container\">\n <div id=\"text\">\n {this.heading && <span class=\"title\">{this.heading}</span>}\n <span class=\"message\">{this.message}</span>\n </div>\n <div id=\"button\">\n <slot name=\"button\" />\n </div>\n </div>\n <div id=\"icon\">\n {this.closebutton && (\n <z-icon\n tabIndex={0}\n name=\"multiply-circled\"\n width={15}\n height={15}\n onClick={() => this.emitToastClose(this.mapSlideOutClass())}\n onKeyPress={(e) => {\n if (e.code == KeyboardCode.SPACE || e.code == KeyboardCode.ENTER) {\n e.preventDefault();\n this.emitToastClose(this.mapSlideOutClass());\n }\n }}\n />\n )}\n </div>\n </div>\n );\n }\n\n render(): HTMLZToastNotificationElement {\n return (\n <Host\n style={{\"--percentuale\": `${this.percentage}%`}}\n class={this.transition ? this.transition : ToastNotificationTransition.SLIDE_IN_DOWN}\n onAnimationEnd={(e: AnimationEvent) => {\n if (this.autoclose && e.animationName.includes(\"slidein\")) {\n this.startClosingTimeout(this.autoclose);\n }\n if (e.animationName.includes(\"slideout\")) {\n this.hostElement.parentNode.removeChild(this.hostElement);\n }\n }}\n >\n {this.renderContent()}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -2,6 +2,7 @@ import { html } from "lit";
|
|
|
2
2
|
import { ToastNotification, ToastNotificationTransition } from "../../beans";
|
|
3
3
|
import "../z-button/index";
|
|
4
4
|
import "./index";
|
|
5
|
+
const longText = "Testo decisamente lungo, che non sta su 1 sola riga. Questo testo occupa varie righe ed è un esempio di come vengono posizionati gli elementi in caso di testo lungo.";
|
|
5
6
|
const template = (args) => html `<div class="toast-container">
|
|
6
7
|
<z-toast-notification
|
|
7
8
|
heading="${args.heading}"
|
|
@@ -52,14 +53,16 @@ export const SlideInLeft = {
|
|
|
52
53
|
transition: ToastNotificationTransition.SLIDE_IN_LEFT,
|
|
53
54
|
},
|
|
54
55
|
};
|
|
55
|
-
export const
|
|
56
|
+
export const SlideInDownNoCloseButton = {
|
|
56
57
|
args: {
|
|
57
58
|
transition: ToastNotificationTransition.SLIDE_IN_DOWN,
|
|
59
|
+
closebutton: false,
|
|
58
60
|
},
|
|
59
61
|
};
|
|
60
|
-
export const
|
|
62
|
+
export const SlideInUpLongText = {
|
|
61
63
|
args: {
|
|
62
64
|
transition: ToastNotificationTransition.SLIDE_IN_UP,
|
|
65
|
+
message: longText,
|
|
63
66
|
},
|
|
64
67
|
};
|
|
65
68
|
export const SlottedButton = {
|
|
@@ -87,4 +90,29 @@ export const SlottedButton = {
|
|
|
87
90
|
</z-toast-notification>
|
|
88
91
|
</div>`,
|
|
89
92
|
};
|
|
93
|
+
export const SlottedButtonLongText = {
|
|
94
|
+
args: {
|
|
95
|
+
transition: ToastNotificationTransition.SLIDE_IN_DOWN,
|
|
96
|
+
},
|
|
97
|
+
render: (args) => html `<div class="toast-container slotted-button">
|
|
98
|
+
<z-toast-notification
|
|
99
|
+
heading="Titolo abbastanza lungo"
|
|
100
|
+
message=${longText}
|
|
101
|
+
closebutton="${args.closebutton}"
|
|
102
|
+
autoclose="${args.autoclose}"
|
|
103
|
+
pauseonfocusloss="${args.pauseonfocusloss}"
|
|
104
|
+
type="${args.type}"
|
|
105
|
+
isdraggable="${args.isdraggable}"
|
|
106
|
+
draggablepercentage="${args.draggablepercentage}"
|
|
107
|
+
transition="${args.transition}"
|
|
108
|
+
>
|
|
109
|
+
<z-button
|
|
110
|
+
slot="button"
|
|
111
|
+
size="small"
|
|
112
|
+
variant="tertiary"
|
|
113
|
+
>button</z-button
|
|
114
|
+
>
|
|
115
|
+
</z-toast-notification>
|
|
116
|
+
</div>`,
|
|
117
|
+
};
|
|
90
118
|
//# sourceMappingURL=index.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../../src/components/z-toast-notification/index.stories.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAsB,MAAM,KAAK,CAAC;AAE9C,OAAO,EAAC,iBAAiB,EAAE,2BAA2B,EAAC,MAAM,aAAa,CAAC;AAC3E,OAAO,mBAAmB,CAAC;AAC3B,OAAO,SAAS,CAAC;AAEjB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAkB,EAAE,CACxC,IAAI,CAAA;;iBAEW,IAAI,CAAC,OAAO;iBACZ,IAAI,CAAC,OAAO;qBACR,IAAI,CAAC,WAAW;mBAClB,IAAI,CAAC,SAAS;0BACP,IAAI,CAAC,gBAAgB;cACjC,IAAI,CAAC,IAAI;qBACF,IAAI,CAAC,WAAW;6BACR,IAAI,CAAC,mBAAmB;oBACjC,IAAI,CAAC,UAAU;;SAE1B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../../src/components/z-toast-notification/index.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import {Meta, StoryObj} from \"@storybook/web-components\";\nimport {html, type TemplateResult} from \"lit\";\nimport {type ZToastNotification} from \".\";\nimport {ToastNotification, ToastNotificationTransition} from \"../../beans\";\nimport \"../z-button/index\";\nimport \"./index\";\n\nconst longText =\n \"Testo decisamente lungo, che non sta su 1 sola riga. Questo testo occupa varie righe ed è un esempio di come vengono posizionati gli elementi in caso di testo lungo.\";\n\nconst template = (args): TemplateResult =>\n html`<div class=\"toast-container\">\n <z-toast-notification\n heading=\"${args.heading}\"\n message=\"${args.message}\"\n closebutton=\"${args.closebutton}\"\n autoclose=\"${args.autoclose}\"\n pauseonfocusloss=\"${args.pauseonfocusloss}\"\n type=\"${args.type}\"\n isdraggable=\"${args.isdraggable}\"\n draggablepercentage=\"${args.draggablepercentage}\"\n transition=\"${args.transition}\"\n ></z-toast-notification>\n </div>`;\n\nconst StoryMeta = {\n title: \"ZToastNotification\",\n component: \"z-toast-notification\",\n argTypes: {\n type: {\n control: {\n type: \"select\",\n },\n options: Object.values(ToastNotification),\n },\n transition: {\n control: {\n type: \"select\",\n },\n options: Object.values(ToastNotificationTransition),\n },\n },\n args: {\n heading: \"Titolo\",\n message: \"Questo è un messaggio di prova.\",\n closebutton: true,\n autoclose: null,\n pauseonfocusloss: false,\n type: ToastNotification.DARK,\n isdraggable: true,\n draggablepercentage: 80,\n transition: ToastNotificationTransition.SLIDE_IN_RIGHT,\n },\n render: (args) => template(args),\n} satisfies Meta<ZToastNotification>;\n\nexport default StoryMeta;\n\ntype Story = StoryObj<ZToastNotification>;\nexport const SlideInRight = {} satisfies Story;\n\nexport const SlideInLeft = {\n args: {\n transition: ToastNotificationTransition.SLIDE_IN_LEFT,\n },\n} satisfies Story;\n\nexport const SlideInDownNoCloseButton = {\n args: {\n transition: ToastNotificationTransition.SLIDE_IN_DOWN,\n closebutton: false,\n },\n} satisfies Story;\n\nexport const SlideInUpLongText = {\n args: {\n transition: ToastNotificationTransition.SLIDE_IN_UP,\n message: longText,\n },\n} satisfies Story;\n\nexport const SlottedButton = {\n args: {\n transition: ToastNotificationTransition.SLIDE_IN_DOWN,\n },\n render: (args) =>\n html`<div class=\"toast-container slotted-button\">\n <z-toast-notification\n heading=\"${args.heading}\"\n message=\"${args.message}\"\n closebutton=\"${args.closebutton}\"\n autoclose=\"${args.autoclose}\"\n pauseonfocusloss=\"${args.pauseonfocusloss}\"\n type=\"${args.type}\"\n isdraggable=\"${args.isdraggable}\"\n draggablepercentage=\"${args.draggablepercentage}\"\n transition=\"${args.transition}\"\n >\n <z-button\n slot=\"button\"\n size=\"small\"\n variant=\"tertiary\"\n >button</z-button\n >\n </z-toast-notification>\n </div>`,\n} satisfies Story;\n\nexport const SlottedButtonLongText = {\n args: {\n transition: ToastNotificationTransition.SLIDE_IN_DOWN,\n },\n render: (args) =>\n html`<div class=\"toast-container slotted-button\">\n <z-toast-notification\n heading=\"Titolo abbastanza lungo\"\n message=${longText}\n closebutton=\"${args.closebutton}\"\n autoclose=\"${args.autoclose}\"\n pauseonfocusloss=\"${args.pauseonfocusloss}\"\n type=\"${args.type}\"\n isdraggable=\"${args.isdraggable}\"\n draggablepercentage=\"${args.draggablepercentage}\"\n transition=\"${args.transition}\"\n >\n <z-button\n slot=\"button\"\n size=\"small\"\n variant=\"tertiary\"\n >button</z-button\n >\n </z-toast-notification>\n </div>`,\n} satisfies Story;\n"]}
|
|
@@ -142,10 +142,10 @@
|
|
|
142
142
|
|
|
143
143
|
:host > #external-container {
|
|
144
144
|
display: flex;
|
|
145
|
+
min-height: calc(var(--space-unit) * 8.5);
|
|
145
146
|
box-sizing: border-box;
|
|
146
|
-
align-items: flex-start;
|
|
147
147
|
justify-content: space-between;
|
|
148
|
-
padding: calc(var(--space-unit) * 2);
|
|
148
|
+
padding: calc(var(--space-unit) * 2) 14px calc(var(--space-unit) * 2) calc(var(--space-unit) * 2);
|
|
149
149
|
border-radius: var(--border-size-large);
|
|
150
150
|
box-shadow: var(--shadow-3);
|
|
151
151
|
font-family: var(--font-family-sans);
|
|
@@ -154,58 +154,50 @@
|
|
|
154
154
|
letter-spacing: 0.16px;
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
-
:host > #external-container
|
|
158
|
-
align-self: flex-start;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
:host > #external-container.several-lines-padding {
|
|
162
|
-
padding: calc(var(--space-unit) * 2);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
:host > #external-container > #flex-container {
|
|
157
|
+
:host > #external-container > #inner-container {
|
|
166
158
|
display: flex;
|
|
167
159
|
width: 100%;
|
|
168
|
-
flex-
|
|
169
|
-
align-items: center;
|
|
160
|
+
flex-direction: column;
|
|
170
161
|
justify-content: space-between;
|
|
171
162
|
}
|
|
172
163
|
|
|
173
|
-
:host > #external-container #text {
|
|
174
|
-
|
|
164
|
+
:host > #external-container #inner-container #text {
|
|
165
|
+
padding: var(--space-unit) 0;
|
|
175
166
|
color: var(--color-text-inverse);
|
|
176
167
|
letter-spacing: 0.16px;
|
|
177
168
|
line-height: 20px;
|
|
178
|
-
text-align:
|
|
169
|
+
text-align: start;
|
|
179
170
|
}
|
|
180
171
|
|
|
181
|
-
:host > #external-container #text > .title {
|
|
172
|
+
:host > #external-container #inner-container #text > .title {
|
|
182
173
|
margin-right: calc(var(--space-unit) / 2);
|
|
183
|
-
font-weight:
|
|
174
|
+
font-weight: var(--font-sb);
|
|
184
175
|
}
|
|
185
176
|
|
|
186
|
-
:host > #external-container
|
|
187
|
-
margin-top:
|
|
177
|
+
:host > #external-container #inner-container ::slotted([slot="button"]) {
|
|
178
|
+
margin-top: var(--space-unit);
|
|
188
179
|
}
|
|
189
180
|
|
|
190
181
|
:host > #external-container #icon {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
align-items: center;
|
|
194
|
-
margin-left: calc(var(--space-unit) * 2);
|
|
182
|
+
padding-top: var(--space-unit);
|
|
183
|
+
margin: 0 calc(var(--space-unit) / 4);
|
|
195
184
|
cursor: pointer;
|
|
196
185
|
fill: var(--color-inverse-icon);
|
|
197
186
|
}
|
|
198
187
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
188
|
+
:host > #external-container #icon:focus-within {
|
|
189
|
+
margin: 0;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
:host > #external-container #icon z-icon {
|
|
193
|
+
margin: 0 0 0 14px;
|
|
202
194
|
}
|
|
203
195
|
|
|
204
|
-
z-icon:focus {
|
|
196
|
+
:host > #external-container #icon z-icon:focus {
|
|
197
|
+
display: inline-block;
|
|
205
198
|
padding: calc(var(--space-unit) / 4);
|
|
206
199
|
border-radius: 50%;
|
|
207
200
|
box-shadow: var(--shadow-focus-primary);
|
|
208
|
-
outline: none !important;
|
|
209
201
|
}
|
|
210
202
|
|
|
211
203
|
:host > #external-container.dark {
|
|
@@ -252,19 +244,18 @@ z-icon:focus {
|
|
|
252
244
|
max-width: 50vw;
|
|
253
245
|
}
|
|
254
246
|
|
|
255
|
-
:host > #external-container
|
|
256
|
-
flex-
|
|
247
|
+
:host > #external-container #inner-container {
|
|
248
|
+
flex-direction: row;
|
|
257
249
|
}
|
|
258
250
|
|
|
259
|
-
:host > #external-container #
|
|
260
|
-
|
|
251
|
+
:host > #external-container #inner-container ::slotted([slot="button"]) {
|
|
252
|
+
margin: 0 0 0 calc(var(--space-unit) * 2);
|
|
261
253
|
}
|
|
262
254
|
}
|
|
263
255
|
|
|
264
256
|
/* Wide breakpoint */
|
|
265
257
|
@media (min-width: 1366px) {
|
|
266
258
|
:host {
|
|
267
|
-
width: unset;
|
|
268
259
|
max-width: 33vw;
|
|
269
260
|
}
|
|
270
261
|
}
|