@semplice-studio/pa-design-system 0.1.0
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/LICENSE +190 -0
- package/README.md +166 -0
- package/dist/_virtual/_plugin-vue_export-helper.js +10 -0
- package/dist/_virtual/_plugin-vue_export-helper.js.map +1 -0
- package/dist/components/PaAccordion/PaAccordion.vue.d.ts +26 -0
- package/dist/components/PaAccordion/PaAccordion.vue.js +10 -0
- package/dist/components/PaAccordion/PaAccordion.vue.js.map +1 -0
- package/dist/components/PaAccordion/PaAccordion.vue2.js +80 -0
- package/dist/components/PaAccordion/PaAccordion.vue2.js.map +1 -0
- package/dist/components/PaAccordion/groupKey.d.ts +8 -0
- package/dist/components/PaAccordion/groupKey.js +5 -0
- package/dist/components/PaAccordion/groupKey.js.map +1 -0
- package/dist/components/PaAccordion/index.d.ts +2 -0
- package/dist/components/PaAccordion/index.js +6 -0
- package/dist/components/PaAccordion/index.js.map +1 -0
- package/dist/components/PaAccordionGroup/PaAccordionGroup.vue.d.ts +19 -0
- package/dist/components/PaAccordionGroup/PaAccordionGroup.vue.js +8 -0
- package/dist/components/PaAccordionGroup/PaAccordionGroup.vue.js.map +1 -0
- package/dist/components/PaAccordionGroup/PaAccordionGroup.vue2.js +52 -0
- package/dist/components/PaAccordionGroup/PaAccordionGroup.vue2.js.map +1 -0
- package/dist/components/PaAccordionGroup/index.d.ts +2 -0
- package/dist/components/PaAccordionGroup/index.js +6 -0
- package/dist/components/PaAccordionGroup/index.js.map +1 -0
- package/dist/components/PaBanner/PaBanner.vue.d.ts +27 -0
- package/dist/components/PaBanner/PaBanner.vue.js +12 -0
- package/dist/components/PaBanner/PaBanner.vue.js.map +1 -0
- package/dist/components/PaBanner/PaBanner.vue2.js +79 -0
- package/dist/components/PaBanner/PaBanner.vue2.js.map +1 -0
- package/dist/components/PaBanner/index.d.ts +2 -0
- package/dist/components/PaBanner/index.js +5 -0
- package/dist/components/PaBanner/index.js.map +1 -0
- package/dist/components/PaBreadcrumb/PaBreadcrumb.vue.d.ts +30 -0
- package/dist/components/PaBreadcrumb/PaBreadcrumb.vue.js +8 -0
- package/dist/components/PaBreadcrumb/PaBreadcrumb.vue.js.map +1 -0
- package/dist/components/PaBreadcrumb/PaBreadcrumb.vue2.js +80 -0
- package/dist/components/PaBreadcrumb/PaBreadcrumb.vue2.js.map +1 -0
- package/dist/components/PaBreadcrumb/index.d.ts +2 -0
- package/dist/components/PaBreadcrumb/index.js +6 -0
- package/dist/components/PaBreadcrumb/index.js.map +1 -0
- package/dist/components/PaButton/PaButton.vue.d.ts +41 -0
- package/dist/components/PaButton/PaButton.vue.js +8 -0
- package/dist/components/PaButton/PaButton.vue.js.map +1 -0
- package/dist/components/PaButton/PaButton.vue2.js +37 -0
- package/dist/components/PaButton/PaButton.vue2.js.map +1 -0
- package/dist/components/PaButton/index.d.ts +2 -0
- package/dist/components/PaButton/index.js +6 -0
- package/dist/components/PaButton/index.js.map +1 -0
- package/dist/components/PaCard/PaCard.vue.d.ts +45 -0
- package/dist/components/PaCard/PaCard.vue.js +8 -0
- package/dist/components/PaCard/PaCard.vue.js.map +1 -0
- package/dist/components/PaCard/PaCard.vue2.js +135 -0
- package/dist/components/PaCard/PaCard.vue2.js.map +1 -0
- package/dist/components/PaCard/index.d.ts +2 -0
- package/dist/components/PaCard/index.js +6 -0
- package/dist/components/PaCard/index.js.map +1 -0
- package/dist/components/PaCarousel/PaCarousel.vue.d.ts +27 -0
- package/dist/components/PaCarousel/PaCarousel.vue.js +8 -0
- package/dist/components/PaCarousel/PaCarousel.vue.js.map +1 -0
- package/dist/components/PaCarousel/PaCarousel.vue2.js +215 -0
- package/dist/components/PaCarousel/PaCarousel.vue2.js.map +1 -0
- package/dist/components/PaCarousel/index.d.ts +2 -0
- package/dist/components/PaCarousel/index.js +5 -0
- package/dist/components/PaCarousel/index.js.map +1 -0
- package/dist/components/PaCheckbox/PaCheckbox.vue.d.ts +29 -0
- package/dist/components/PaCheckbox/PaCheckbox.vue.js +10 -0
- package/dist/components/PaCheckbox/PaCheckbox.vue.js.map +1 -0
- package/dist/components/PaCheckbox/PaCheckbox.vue2.js +89 -0
- package/dist/components/PaCheckbox/PaCheckbox.vue2.js.map +1 -0
- package/dist/components/PaCheckbox/index.d.ts +2 -0
- package/dist/components/PaCheckbox/index.js +6 -0
- package/dist/components/PaCheckbox/index.js.map +1 -0
- package/dist/components/PaCheckboxGroup/PaCheckboxGroup.vue.d.ts +32 -0
- package/dist/components/PaCheckboxGroup/PaCheckboxGroup.vue.js +10 -0
- package/dist/components/PaCheckboxGroup/PaCheckboxGroup.vue.js.map +1 -0
- package/dist/components/PaCheckboxGroup/PaCheckboxGroup.vue2.js +89 -0
- package/dist/components/PaCheckboxGroup/PaCheckboxGroup.vue2.js.map +1 -0
- package/dist/components/PaCheckboxGroup/index.d.ts +2 -0
- package/dist/components/PaCheckboxGroup/index.js +6 -0
- package/dist/components/PaCheckboxGroup/index.js.map +1 -0
- package/dist/components/PaChip/PaChip.vue.d.ts +23 -0
- package/dist/components/PaChip/PaChip.vue.js +8 -0
- package/dist/components/PaChip/PaChip.vue.js.map +1 -0
- package/dist/components/PaChip/PaChip.vue2.js +75 -0
- package/dist/components/PaChip/PaChip.vue2.js.map +1 -0
- package/dist/components/PaChip/index.d.ts +2 -0
- package/dist/components/PaChip/index.js +6 -0
- package/dist/components/PaChip/index.js.map +1 -0
- package/dist/components/PaDatePicker/PaDatePicker.vue.d.ts +60 -0
- package/dist/components/PaDatePicker/PaDatePicker.vue.js +10 -0
- package/dist/components/PaDatePicker/PaDatePicker.vue.js.map +1 -0
- package/dist/components/PaDatePicker/PaDatePicker.vue2.js +229 -0
- package/dist/components/PaDatePicker/PaDatePicker.vue2.js.map +1 -0
- package/dist/components/PaDatePicker/index.d.ts +1 -0
- package/dist/components/PaDatePicker/index.js +6 -0
- package/dist/components/PaDatePicker/index.js.map +1 -0
- package/dist/components/PaDrawer/PaDrawer.vue.d.ts +36 -0
- package/dist/components/PaDrawer/PaDrawer.vue.js +8 -0
- package/dist/components/PaDrawer/PaDrawer.vue.js.map +1 -0
- package/dist/components/PaDrawer/PaDrawer.vue2.js +161 -0
- package/dist/components/PaDrawer/PaDrawer.vue2.js.map +1 -0
- package/dist/components/PaDrawer/PaDrawerInfoRow.vue.d.ts +24 -0
- package/dist/components/PaDrawer/PaDrawerInfoRow.vue.js +8 -0
- package/dist/components/PaDrawer/PaDrawerInfoRow.vue.js.map +1 -0
- package/dist/components/PaDrawer/PaDrawerInfoRow.vue2.js +75 -0
- package/dist/components/PaDrawer/PaDrawerInfoRow.vue2.js.map +1 -0
- package/dist/components/PaDrawer/index.d.ts +4 -0
- package/dist/components/PaDrawer/index.js +8 -0
- package/dist/components/PaDrawer/index.js.map +1 -0
- package/dist/components/PaFab/PaFab.vue.d.ts +18 -0
- package/dist/components/PaFab/PaFab.vue.js +10 -0
- package/dist/components/PaFab/PaFab.vue.js.map +1 -0
- package/dist/components/PaFab/PaFab.vue2.js +44 -0
- package/dist/components/PaFab/PaFab.vue2.js.map +1 -0
- package/dist/components/PaFab/index.d.ts +2 -0
- package/dist/components/PaFab/index.js +6 -0
- package/dist/components/PaFab/index.js.map +1 -0
- package/dist/components/PaFileUpload/PaFileUpload.vue.d.ts +40 -0
- package/dist/components/PaFileUpload/PaFileUpload.vue.js +10 -0
- package/dist/components/PaFileUpload/PaFileUpload.vue.js.map +1 -0
- package/dist/components/PaFileUpload/PaFileUpload.vue2.js +164 -0
- package/dist/components/PaFileUpload/PaFileUpload.vue2.js.map +1 -0
- package/dist/components/PaFileUpload/index.d.ts +2 -0
- package/dist/components/PaFileUpload/index.js +6 -0
- package/dist/components/PaFileUpload/index.js.map +1 -0
- package/dist/components/PaFooter/PaFooter.vue.d.ts +67 -0
- package/dist/components/PaFooter/PaFooter.vue.js +8 -0
- package/dist/components/PaFooter/PaFooter.vue.js.map +1 -0
- package/dist/components/PaFooter/PaFooter.vue2.js +226 -0
- package/dist/components/PaFooter/PaFooter.vue2.js.map +1 -0
- package/dist/components/PaFooter/index.d.ts +2 -0
- package/dist/components/PaFooter/index.js +6 -0
- package/dist/components/PaFooter/index.js.map +1 -0
- package/dist/components/PaHeaderDesktop/PaHeaderDesktop.vue.d.ts +70 -0
- package/dist/components/PaHeaderDesktop/PaHeaderDesktop.vue.js +8 -0
- package/dist/components/PaHeaderDesktop/PaHeaderDesktop.vue.js.map +1 -0
- package/dist/components/PaHeaderDesktop/PaHeaderDesktop.vue2.js +337 -0
- package/dist/components/PaHeaderDesktop/PaHeaderDesktop.vue2.js.map +1 -0
- package/dist/components/PaHeaderDesktop/index.d.ts +2 -0
- package/dist/components/PaHeaderDesktop/index.js +6 -0
- package/dist/components/PaHeaderDesktop/index.js.map +1 -0
- package/dist/components/PaHeaderMobile/PaHeaderMobile.vue.d.ts +71 -0
- package/dist/components/PaHeaderMobile/PaHeaderMobile.vue.js +8 -0
- package/dist/components/PaHeaderMobile/PaHeaderMobile.vue.js.map +1 -0
- package/dist/components/PaHeaderMobile/PaHeaderMobile.vue2.js +472 -0
- package/dist/components/PaHeaderMobile/PaHeaderMobile.vue2.js.map +1 -0
- package/dist/components/PaHeaderMobile/index.d.ts +2 -0
- package/dist/components/PaHeaderMobile/index.js +6 -0
- package/dist/components/PaHeaderMobile/index.js.map +1 -0
- package/dist/components/PaHeaderShared/index.d.ts +1 -0
- package/dist/components/PaHeaderShared/index.js +2 -0
- package/dist/components/PaHeaderShared/index.js.map +1 -0
- package/dist/components/PaHeaderShared/types.d.ts +43 -0
- package/dist/components/PaHero/PaHero.vue.d.ts +36 -0
- package/dist/components/PaHero/PaHero.vue.js +8 -0
- package/dist/components/PaHero/PaHero.vue.js.map +1 -0
- package/dist/components/PaHero/PaHero.vue2.js +101 -0
- package/dist/components/PaHero/PaHero.vue2.js.map +1 -0
- package/dist/components/PaHero/index.d.ts +2 -0
- package/dist/components/PaHero/index.js +6 -0
- package/dist/components/PaHero/index.js.map +1 -0
- package/dist/components/PaIcon/PaIcon.vue.d.ts +8342 -0
- package/dist/components/PaIcon/PaIcon.vue.js +163 -0
- package/dist/components/PaIcon/PaIcon.vue.js.map +1 -0
- package/dist/components/PaIcon/PaIcon.vue2.js +8 -0
- package/dist/components/PaIcon/PaIcon.vue2.js.map +1 -0
- package/dist/components/PaIcon/index.d.ts +2 -0
- package/dist/components/PaIcon/index.js +6 -0
- package/dist/components/PaIcon/index.js.map +1 -0
- package/dist/components/PaImage/PaImage.vue.d.ts +10 -0
- package/dist/components/PaImage/PaImage.vue.js +10 -0
- package/dist/components/PaImage/PaImage.vue.js.map +1 -0
- package/dist/components/PaImage/PaImage.vue2.js +44 -0
- package/dist/components/PaImage/PaImage.vue2.js.map +1 -0
- package/dist/components/PaImage/gridKey.d.ts +6 -0
- package/dist/components/PaImage/gridKey.js +5 -0
- package/dist/components/PaImage/gridKey.js.map +1 -0
- package/dist/components/PaImage/index.d.ts +2 -0
- package/dist/components/PaImage/index.js +6 -0
- package/dist/components/PaImage/index.js.map +1 -0
- package/dist/components/PaImageGrid/PaImageGrid.vue.d.ts +18 -0
- package/dist/components/PaImageGrid/PaImageGrid.vue.js +8 -0
- package/dist/components/PaImageGrid/PaImageGrid.vue.js.map +1 -0
- package/dist/components/PaImageGrid/PaImageGrid.vue2.js +28 -0
- package/dist/components/PaImageGrid/PaImageGrid.vue2.js.map +1 -0
- package/dist/components/PaImageGrid/index.d.ts +2 -0
- package/dist/components/PaImageGrid/index.js +6 -0
- package/dist/components/PaImageGrid/index.js.map +1 -0
- package/dist/components/PaInput/PaInput.vue.d.ts +54 -0
- package/dist/components/PaInput/PaInput.vue.js +10 -0
- package/dist/components/PaInput/PaInput.vue.js.map +1 -0
- package/dist/components/PaInput/PaInput.vue2.js +201 -0
- package/dist/components/PaInput/PaInput.vue2.js.map +1 -0
- package/dist/components/PaInput/index.d.ts +2 -0
- package/dist/components/PaInput/index.js +6 -0
- package/dist/components/PaInput/index.js.map +1 -0
- package/dist/components/PaModal/PaModal.vue.d.ts +35 -0
- package/dist/components/PaModal/PaModal.vue.js +8 -0
- package/dist/components/PaModal/PaModal.vue.js.map +1 -0
- package/dist/components/PaModal/PaModal.vue2.js +155 -0
- package/dist/components/PaModal/PaModal.vue2.js.map +1 -0
- package/dist/components/PaModal/index.d.ts +2 -0
- package/dist/components/PaModal/index.js +5 -0
- package/dist/components/PaModal/index.js.map +1 -0
- package/dist/components/PaMonthPicker/PaMonthPicker.vue.d.ts +59 -0
- package/dist/components/PaMonthPicker/PaMonthPicker.vue.js +10 -0
- package/dist/components/PaMonthPicker/PaMonthPicker.vue.js.map +1 -0
- package/dist/components/PaMonthPicker/PaMonthPicker.vue2.js +314 -0
- package/dist/components/PaMonthPicker/PaMonthPicker.vue2.js.map +1 -0
- package/dist/components/PaMonthPicker/index.d.ts +1 -0
- package/dist/components/PaMonthPicker/index.js +6 -0
- package/dist/components/PaMonthPicker/index.js.map +1 -0
- package/dist/components/PaPagination/PaPagination.vue.d.ts +39 -0
- package/dist/components/PaPagination/PaPagination.vue.js +8 -0
- package/dist/components/PaPagination/PaPagination.vue.js.map +1 -0
- package/dist/components/PaPagination/PaPagination.vue2.js +202 -0
- package/dist/components/PaPagination/PaPagination.vue2.js.map +1 -0
- package/dist/components/PaPagination/index.d.ts +2 -0
- package/dist/components/PaPagination/index.js +6 -0
- package/dist/components/PaPagination/index.js.map +1 -0
- package/dist/components/PaPagination/usePageWindow.d.ts +2 -0
- package/dist/components/PaPagination/usePageWindow.js +19 -0
- package/dist/components/PaPagination/usePageWindow.js.map +1 -0
- package/dist/components/PaProgressBar/PaProgressBar.vue.d.ts +13 -0
- package/dist/components/PaProgressBar/PaProgressBar.vue.js +8 -0
- package/dist/components/PaProgressBar/PaProgressBar.vue.js.map +1 -0
- package/dist/components/PaProgressBar/PaProgressBar.vue2.js +46 -0
- package/dist/components/PaProgressBar/PaProgressBar.vue2.js.map +1 -0
- package/dist/components/PaProgressBar/index.d.ts +2 -0
- package/dist/components/PaProgressBar/index.js +5 -0
- package/dist/components/PaProgressBar/index.js.map +1 -0
- package/dist/components/PaRadioGroup/PaRadioGroup.vue.d.ts +32 -0
- package/dist/components/PaRadioGroup/PaRadioGroup.vue.js +10 -0
- package/dist/components/PaRadioGroup/PaRadioGroup.vue.js.map +1 -0
- package/dist/components/PaRadioGroup/PaRadioGroup.vue2.js +94 -0
- package/dist/components/PaRadioGroup/PaRadioGroup.vue2.js.map +1 -0
- package/dist/components/PaRadioGroup/index.d.ts +2 -0
- package/dist/components/PaRadioGroup/index.js +6 -0
- package/dist/components/PaRadioGroup/index.js.map +1 -0
- package/dist/components/PaRangePicker/PaRangePicker.vue.d.ts +64 -0
- package/dist/components/PaRangePicker/PaRangePicker.vue.js +10 -0
- package/dist/components/PaRangePicker/PaRangePicker.vue.js.map +1 -0
- package/dist/components/PaRangePicker/PaRangePicker.vue2.js +281 -0
- package/dist/components/PaRangePicker/PaRangePicker.vue2.js.map +1 -0
- package/dist/components/PaRangePicker/index.d.ts +2 -0
- package/dist/components/PaRangePicker/index.js +6 -0
- package/dist/components/PaRangePicker/index.js.map +1 -0
- package/dist/components/PaSearchBar/PaSearchBar.vue.d.ts +37 -0
- package/dist/components/PaSearchBar/PaSearchBar.vue.js +10 -0
- package/dist/components/PaSearchBar/PaSearchBar.vue.js.map +1 -0
- package/dist/components/PaSearchBar/PaSearchBar.vue2.js +271 -0
- package/dist/components/PaSearchBar/PaSearchBar.vue2.js.map +1 -0
- package/dist/components/PaSearchBar/index.d.ts +2 -0
- package/dist/components/PaSearchBar/index.js +6 -0
- package/dist/components/PaSearchBar/index.js.map +1 -0
- package/dist/components/PaSelect/PaSelect.vue.d.ts +39 -0
- package/dist/components/PaSelect/PaSelect.vue.js +10 -0
- package/dist/components/PaSelect/PaSelect.vue.js.map +1 -0
- package/dist/components/PaSelect/PaSelect.vue2.js +107 -0
- package/dist/components/PaSelect/PaSelect.vue2.js.map +1 -0
- package/dist/components/PaSelect/index.d.ts +2 -0
- package/dist/components/PaSelect/index.js +6 -0
- package/dist/components/PaSelect/index.js.map +1 -0
- package/dist/components/PaStepProgressBar/PaStepProgressBar.vue.d.ts +33 -0
- package/dist/components/PaStepProgressBar/PaStepProgressBar.vue.js +10 -0
- package/dist/components/PaStepProgressBar/PaStepProgressBar.vue.js.map +1 -0
- package/dist/components/PaStepProgressBar/PaStepProgressBar.vue2.js +116 -0
- package/dist/components/PaStepProgressBar/PaStepProgressBar.vue2.js.map +1 -0
- package/dist/components/PaStepProgressBar/index.d.ts +2 -0
- package/dist/components/PaStepProgressBar/index.js +5 -0
- package/dist/components/PaStepProgressBar/index.js.map +1 -0
- package/dist/components/PaTab/PaTab.vue.d.ts +19 -0
- package/dist/components/PaTab/PaTab.vue.js +8 -0
- package/dist/components/PaTab/PaTab.vue.js.map +1 -0
- package/dist/components/PaTab/PaTab.vue2.js +44 -0
- package/dist/components/PaTab/PaTab.vue2.js.map +1 -0
- package/dist/components/PaTab/index.d.ts +2 -0
- package/dist/components/PaTab/index.js +5 -0
- package/dist/components/PaTab/index.js.map +1 -0
- package/dist/components/PaTable/PaTable.vue.d.ts +40 -0
- package/dist/components/PaTable/PaTable.vue.js +8 -0
- package/dist/components/PaTable/PaTable.vue.js.map +1 -0
- package/dist/components/PaTable/PaTable.vue2.js +95 -0
- package/dist/components/PaTable/PaTable.vue2.js.map +1 -0
- package/dist/components/PaTable/index.d.ts +2 -0
- package/dist/components/PaTable/index.js +5 -0
- package/dist/components/PaTable/index.js.map +1 -0
- package/dist/components/PaTabs/PaTabs.vue.d.ts +47 -0
- package/dist/components/PaTabs/PaTabs.vue.js +10 -0
- package/dist/components/PaTabs/PaTabs.vue.js.map +1 -0
- package/dist/components/PaTabs/PaTabs.vue2.js +154 -0
- package/dist/components/PaTabs/PaTabs.vue2.js.map +1 -0
- package/dist/components/PaTabs/index.d.ts +2 -0
- package/dist/components/PaTabs/index.js +5 -0
- package/dist/components/PaTabs/index.js.map +1 -0
- package/dist/components/PaTag/PaTag.vue.d.ts +11 -0
- package/dist/components/PaTag/PaTag.vue.js +8 -0
- package/dist/components/PaTag/PaTag.vue.js.map +1 -0
- package/dist/components/PaTag/PaTag.vue2.js +27 -0
- package/dist/components/PaTag/PaTag.vue2.js.map +1 -0
- package/dist/components/PaTag/index.d.ts +2 -0
- package/dist/components/PaTag/index.js +6 -0
- package/dist/components/PaTag/index.js.map +1 -0
- package/dist/components/PaTextarea/PaTextarea.vue.d.ts +37 -0
- package/dist/components/PaTextarea/PaTextarea.vue.js +10 -0
- package/dist/components/PaTextarea/PaTextarea.vue.js.map +1 -0
- package/dist/components/PaTextarea/PaTextarea.vue2.js +104 -0
- package/dist/components/PaTextarea/PaTextarea.vue2.js.map +1 -0
- package/dist/components/PaTextarea/index.d.ts +2 -0
- package/dist/components/PaTextarea/index.js +6 -0
- package/dist/components/PaTextarea/index.js.map +1 -0
- package/dist/components/PaTimePicker/PaTimePicker.vue.d.ts +63 -0
- package/dist/components/PaTimePicker/PaTimePicker.vue.js +10 -0
- package/dist/components/PaTimePicker/PaTimePicker.vue.js.map +1 -0
- package/dist/components/PaTimePicker/PaTimePicker.vue2.js +421 -0
- package/dist/components/PaTimePicker/PaTimePicker.vue2.js.map +1 -0
- package/dist/components/PaTimePicker/index.d.ts +2 -0
- package/dist/components/PaTimePicker/index.js +6 -0
- package/dist/components/PaTimePicker/index.js.map +1 -0
- package/dist/components/PaTitleBar/PaTitleBar.vue.d.ts +36 -0
- package/dist/components/PaTitleBar/PaTitleBar.vue.js +8 -0
- package/dist/components/PaTitleBar/PaTitleBar.vue.js.map +1 -0
- package/dist/components/PaTitleBar/PaTitleBar.vue2.js +178 -0
- package/dist/components/PaTitleBar/PaTitleBar.vue2.js.map +1 -0
- package/dist/components/PaTitleBar/index.d.ts +2 -0
- package/dist/components/PaTitleBar/index.js +6 -0
- package/dist/components/PaTitleBar/index.js.map +1 -0
- package/dist/components/PaToggle/PaToggle.vue.d.ts +27 -0
- package/dist/components/PaToggle/PaToggle.vue.js +10 -0
- package/dist/components/PaToggle/PaToggle.vue.js.map +1 -0
- package/dist/components/PaToggle/PaToggle.vue2.js +79 -0
- package/dist/components/PaToggle/PaToggle.vue2.js.map +1 -0
- package/dist/components/PaToggle/index.d.ts +2 -0
- package/dist/components/PaToggle/index.js +6 -0
- package/dist/components/PaToggle/index.js.map +1 -0
- package/dist/components/PaYearPicker/PaYearPicker.vue.d.ts +59 -0
- package/dist/components/PaYearPicker/PaYearPicker.vue.js +10 -0
- package/dist/components/PaYearPicker/PaYearPicker.vue.js.map +1 -0
- package/dist/components/PaYearPicker/PaYearPicker.vue2.js +307 -0
- package/dist/components/PaYearPicker/PaYearPicker.vue2.js.map +1 -0
- package/dist/components/PaYearPicker/index.d.ts +1 -0
- package/dist/components/PaYearPicker/index.js +6 -0
- package/dist/components/PaYearPicker/index.js.map +1 -0
- package/dist/fonts/Inter-OFL.txt +92 -0
- package/dist/fonts/InterVariable.woff2 +0 -0
- package/dist/fonts/RobotoMono-OFL.txt +93 -0
- package/dist/fonts/RobotoMono-VariableFont.woff2 +0 -0
- package/dist/index.d.ts +78 -0
- package/dist/index.js +85 -0
- package/dist/index.js.map +1 -0
- package/dist/style.css +1 -0
- package/dist/tokens.css +260 -0
- package/package.json +73 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { defineComponent as R, useModel as U, computed as t, ref as y, openBlock as u, createElementBlock as f, normalizeClass as C, createTextVNode as k, toDisplayString as p, createCommentVNode as m, createElementVNode as z, createVNode as q, withCtx as M, createBlock as D, mergeModels as T } from "vue";
|
|
2
|
+
import G from "../PaButton/PaButton.vue.js";
|
|
3
|
+
import K from "../PaChip/PaChip.vue.js";
|
|
4
|
+
import j from "../PaIcon/PaIcon.vue.js";
|
|
5
|
+
const H = ["for"], J = {
|
|
6
|
+
key: 0,
|
|
7
|
+
class: "pa-file-upload__required"
|
|
8
|
+
}, O = {
|
|
9
|
+
key: 1,
|
|
10
|
+
class: "pa-file-upload__helper"
|
|
11
|
+
}, Q = { class: "pa-file-upload__row" }, X = ["id", "accept", "name", "required", "disabled", "aria-invalid", "aria-describedby"], Y = ["id"];
|
|
12
|
+
let Z = 0;
|
|
13
|
+
function ee() {
|
|
14
|
+
return `pa-file-upload-${++Z}`;
|
|
15
|
+
}
|
|
16
|
+
const re = /* @__PURE__ */ R({
|
|
17
|
+
__name: "PaFileUpload",
|
|
18
|
+
props: /* @__PURE__ */ T({
|
|
19
|
+
label: {},
|
|
20
|
+
helperText: {},
|
|
21
|
+
buttonLabel: { default: "Carica file" },
|
|
22
|
+
chipLabel: { type: Function, default: (e) => e.name },
|
|
23
|
+
accept: {},
|
|
24
|
+
maxSize: {},
|
|
25
|
+
id: {},
|
|
26
|
+
name: {},
|
|
27
|
+
error: { type: [String, Boolean], default: !1 },
|
|
28
|
+
valid: { type: Boolean, default: !1 },
|
|
29
|
+
required: { type: Boolean, default: !1 },
|
|
30
|
+
disabled: { type: Boolean, default: !1 }
|
|
31
|
+
}, {
|
|
32
|
+
modelValue: { default: null },
|
|
33
|
+
modelModifiers: {}
|
|
34
|
+
}),
|
|
35
|
+
emits: /* @__PURE__ */ T(["invalid"], ["update:modelValue"]),
|
|
36
|
+
setup(e, { emit: $ }) {
|
|
37
|
+
const l = e, d = U(e, "modelValue"), g = $, L = ee(), h = t(() => l.id ?? L), x = t(() => `${h.value}-msg`), v = y(null), o = y("");
|
|
38
|
+
function S(a) {
|
|
39
|
+
return a < 1024 ? `${a} B` : a < 1024 * 1024 ? `${(a / 1024).toFixed(1)} KB` : a < 1024 * 1024 * 1024 ? `${(a / (1024 * 1024)).toFixed(1)} MB` : `${(a / (1024 * 1024 * 1024)).toFixed(1)} GB`;
|
|
40
|
+
}
|
|
41
|
+
function V(a, n) {
|
|
42
|
+
const i = n.split(",").map((r) => r.trim().toLowerCase()).filter(Boolean);
|
|
43
|
+
if (i.length === 0) return !0;
|
|
44
|
+
const c = a.type.toLowerCase(), _ = a.name.toLowerCase();
|
|
45
|
+
return i.some((r) => {
|
|
46
|
+
if (r.startsWith(".")) return _.endsWith(r);
|
|
47
|
+
if (r.endsWith("/*")) {
|
|
48
|
+
const A = r.slice(0, -1);
|
|
49
|
+
return c.startsWith(A);
|
|
50
|
+
}
|
|
51
|
+
return c === r;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
const w = t(
|
|
55
|
+
() => typeof l.error == "string" && l.error.length > 0 ? l.error : ""
|
|
56
|
+
), F = t(() => !!l.error), s = t(
|
|
57
|
+
() => F.value || o.value !== ""
|
|
58
|
+
), B = t(() => l.valid && !s.value), E = t(
|
|
59
|
+
() => w.value || o.value || ""
|
|
60
|
+
), I = t(
|
|
61
|
+
() => !s.value && !B.value && l.helperText ? l.helperText : ""
|
|
62
|
+
), b = t(() => E.value || I.value);
|
|
63
|
+
function N() {
|
|
64
|
+
var a;
|
|
65
|
+
l.disabled || (a = v.value) == null || a.click();
|
|
66
|
+
}
|
|
67
|
+
function P(a) {
|
|
68
|
+
var c;
|
|
69
|
+
const n = a.target, i = ((c = n.files) == null ? void 0 : c[0]) ?? null;
|
|
70
|
+
if (!i) {
|
|
71
|
+
d.value = null;
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (o.value = "", l.maxSize !== void 0 && i.size > l.maxSize) {
|
|
75
|
+
o.value = `Il file supera la dimensione massima di ${S(
|
|
76
|
+
l.maxSize
|
|
77
|
+
)}`, g("invalid", { file: i, reason: "maxSize" }), n.value = "";
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
if (l.accept && !V(i, l.accept)) {
|
|
81
|
+
o.value = "Tipo di file non supportato", g("invalid", { file: i, reason: "accept" }), n.value = "";
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
d.value = i;
|
|
85
|
+
}
|
|
86
|
+
function W() {
|
|
87
|
+
d.value = null, o.value = "", v.value && (v.value.value = "");
|
|
88
|
+
}
|
|
89
|
+
return (a, n) => (u(), f("div", {
|
|
90
|
+
class: C([
|
|
91
|
+
"pa-file-upload",
|
|
92
|
+
{
|
|
93
|
+
"pa-file-upload--error": s.value,
|
|
94
|
+
"pa-file-upload--valid": B.value,
|
|
95
|
+
"pa-file-upload--required": e.required,
|
|
96
|
+
"pa-file-upload--disabled": e.disabled
|
|
97
|
+
}
|
|
98
|
+
])
|
|
99
|
+
}, [
|
|
100
|
+
e.label ? (u(), f("label", {
|
|
101
|
+
key: 0,
|
|
102
|
+
for: h.value,
|
|
103
|
+
class: "pa-file-upload__label"
|
|
104
|
+
}, [
|
|
105
|
+
k(p(e.label), 1),
|
|
106
|
+
e.required ? (u(), f("span", J, "*")) : m("", !0)
|
|
107
|
+
], 8, H)) : m("", !0),
|
|
108
|
+
e.helperText ? (u(), f("div", O, p(e.helperText), 1)) : m("", !0),
|
|
109
|
+
z("div", Q, [
|
|
110
|
+
q(G, {
|
|
111
|
+
variant: "primary",
|
|
112
|
+
size: "sm",
|
|
113
|
+
disabled: e.disabled,
|
|
114
|
+
onClick: N
|
|
115
|
+
}, {
|
|
116
|
+
"icon-right": M(() => [
|
|
117
|
+
q(j, {
|
|
118
|
+
name: "arrow-right",
|
|
119
|
+
size: "sm"
|
|
120
|
+
})
|
|
121
|
+
]),
|
|
122
|
+
default: M(() => [
|
|
123
|
+
k(" " + p(e.buttonLabel), 1)
|
|
124
|
+
]),
|
|
125
|
+
_: 1
|
|
126
|
+
}, 8, ["disabled"]),
|
|
127
|
+
z("input", {
|
|
128
|
+
id: h.value,
|
|
129
|
+
ref_key: "inputRef",
|
|
130
|
+
ref: v,
|
|
131
|
+
type: "file",
|
|
132
|
+
class: "pa-file-upload__input",
|
|
133
|
+
accept: e.accept,
|
|
134
|
+
name: e.name,
|
|
135
|
+
required: e.required,
|
|
136
|
+
disabled: e.disabled,
|
|
137
|
+
"aria-invalid": s.value || void 0,
|
|
138
|
+
"aria-describedby": b.value ? x.value : void 0,
|
|
139
|
+
onChange: P
|
|
140
|
+
}, null, 40, X)
|
|
141
|
+
]),
|
|
142
|
+
d.value ? (u(), D(K, {
|
|
143
|
+
key: 2,
|
|
144
|
+
variant: "dismissible",
|
|
145
|
+
label: e.chipLabel(d.value),
|
|
146
|
+
disabled: e.disabled,
|
|
147
|
+
onClose: W
|
|
148
|
+
}, null, 8, ["label", "disabled"])) : m("", !0),
|
|
149
|
+
b.value ? (u(), f("div", {
|
|
150
|
+
key: 3,
|
|
151
|
+
id: x.value,
|
|
152
|
+
class: C([
|
|
153
|
+
"pa-file-upload__message",
|
|
154
|
+
{ "pa-file-upload__message--error": s.value }
|
|
155
|
+
])
|
|
156
|
+
}, p(b.value), 11, Y)) : m("", !0)
|
|
157
|
+
], 2));
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
export {
|
|
161
|
+
re as default,
|
|
162
|
+
ee as nextPaFileUploadId
|
|
163
|
+
};
|
|
164
|
+
//# sourceMappingURL=PaFileUpload.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaFileUpload.vue2.js","sources":["../../../src/components/PaFileUpload/PaFileUpload.vue"],"sourcesContent":["<script lang=\"ts\">\nlet uid = 0\nexport function nextPaFileUploadId() {\n return `pa-file-upload-${++uid}`\n}\n\nexport interface PaFileUploadProps {\n label?: string\n helperText?: string\n buttonLabel?: string\n chipLabel?: (file: File) => string\n accept?: string\n maxSize?: number\n id?: string\n name?: string\n error?: string | boolean\n valid?: boolean\n required?: boolean\n disabled?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport PaButton from '../PaButton/PaButton.vue'\nimport PaChip from '../PaChip/PaChip.vue'\nimport PaIcon from '../PaIcon/PaIcon.vue'\n\nconst props = withDefaults(defineProps<PaFileUploadProps>(), {\n buttonLabel: 'Carica file',\n chipLabel: (file: File) => file.name,\n error: false,\n valid: false,\n required: false,\n disabled: false,\n})\n\nconst model = defineModel<File | null>({ default: null })\n\nconst emit = defineEmits<{\n invalid: [{ file: File; reason: 'maxSize' | 'accept' }]\n}>()\n\nconst generatedId = nextPaFileUploadId()\nconst inputId = computed(() => props.id ?? generatedId)\nconst messageId = computed(() => `${inputId.value}-msg`)\n\nconst inputRef = ref<HTMLInputElement | null>(null)\nconst internalError = ref('')\n\nfunction formatBytes(bytes: number): string {\n if (bytes < 1024) return `${bytes} B`\n if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`\n if (bytes < 1024 * 1024 * 1024) return `${(bytes / (1024 * 1024)).toFixed(1)} MB`\n return `${(bytes / (1024 * 1024 * 1024)).toFixed(1)} GB`\n}\n\nfunction acceptMatches(file: File, accept: string): boolean {\n const tokens = accept\n .split(',')\n .map((t) => t.trim().toLowerCase())\n .filter(Boolean)\n if (tokens.length === 0) return true\n const fileType = file.type.toLowerCase()\n const fileName = file.name.toLowerCase()\n return tokens.some((token) => {\n if (token.startsWith('.')) return fileName.endsWith(token)\n if (token.endsWith('/*')) {\n const prefix = token.slice(0, -1)\n return fileType.startsWith(prefix)\n }\n return fileType === token\n })\n}\n\nconst consumerErrorMessage = computed(() =>\n typeof props.error === 'string' && props.error.length > 0 ? props.error : '',\n)\nconst consumerErrorActive = computed(() => Boolean(props.error))\n\nconst errorActive = computed(\n () => consumerErrorActive.value || internalError.value !== '',\n)\nconst validActive = computed(() => props.valid && !errorActive.value)\n\nconst errorMessage = computed(() =>\n consumerErrorMessage.value || internalError.value || '',\n)\nconst helperMessage = computed(() =>\n !errorActive.value && !validActive.value && props.helperText\n ? props.helperText\n : '',\n)\nconst message = computed(() => errorMessage.value || helperMessage.value)\n\nfunction openPicker() {\n if (props.disabled) return\n inputRef.value?.click()\n}\n\nfunction onChange(event: Event) {\n const target = event.target as HTMLInputElement\n const file = target.files?.[0] ?? null\n\n if (!file) {\n model.value = null\n return\n }\n\n internalError.value = ''\n\n if (props.maxSize !== undefined && file.size > props.maxSize) {\n internalError.value = `Il file supera la dimensione massima di ${formatBytes(\n props.maxSize,\n )}`\n emit('invalid', { file, reason: 'maxSize' })\n target.value = ''\n return\n }\n\n if (props.accept && !acceptMatches(file, props.accept)) {\n internalError.value = 'Tipo di file non supportato'\n emit('invalid', { file, reason: 'accept' })\n target.value = ''\n return\n }\n\n model.value = file\n}\n\nfunction clear() {\n model.value = null\n internalError.value = ''\n if (inputRef.value) inputRef.value.value = ''\n}\n</script>\n\n<template>\n <div\n :class=\"[\n 'pa-file-upload',\n {\n 'pa-file-upload--error': errorActive,\n 'pa-file-upload--valid': validActive,\n 'pa-file-upload--required': required,\n 'pa-file-upload--disabled': disabled,\n },\n ]\"\n >\n <label\n v-if=\"label\"\n :for=\"inputId\"\n class=\"pa-file-upload__label\"\n >\n {{ label }}<span v-if=\"required\" class=\"pa-file-upload__required\">*</span>\n </label>\n <div\n v-if=\"helperText\"\n class=\"pa-file-upload__helper\"\n >{{ helperText }}</div>\n <div class=\"pa-file-upload__row\">\n <PaButton\n variant=\"primary\"\n size=\"sm\"\n :disabled=\"disabled\"\n @click=\"openPicker\"\n >\n <template #icon-right>\n <PaIcon name=\"arrow-right\" size=\"sm\" />\n </template>\n {{ buttonLabel }}\n </PaButton>\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n type=\"file\"\n class=\"pa-file-upload__input\"\n :accept=\"accept\"\n :name=\"name\"\n :required=\"required\"\n :disabled=\"disabled\"\n :aria-invalid=\"errorActive || undefined\"\n :aria-describedby=\"message ? messageId : undefined\"\n @change=\"onChange\"\n />\n </div>\n <PaChip\n v-if=\"model\"\n variant=\"dismissible\"\n :label=\"chipLabel(model)\"\n :disabled=\"disabled\"\n @close=\"clear\"\n />\n <div\n v-if=\"message\"\n :id=\"messageId\"\n :class=\"[\n 'pa-file-upload__message',\n { 'pa-file-upload__message--error': errorActive },\n ]\"\n >{{ message }}</div>\n </div>\n</template>\n\n<style scoped>\n.pa-file-upload {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--pa-space-2xs);\n font-family: var(--pa-font-family-base);\n}\n\n.pa-file-upload__label {\n font-size: var(--pa-font-label-sm-size);\n line-height: var(--pa-font-label-sm-line-height);\n font-weight: var(--pa-font-label-sm-weight);\n color: var(--pa-color-text-secondary-gray);\n}\n\n.pa-file-upload__required {\n margin-left: 2px;\n color: var(--pa-color-error);\n}\n\n.pa-file-upload__helper {\n font-size: var(--pa-font-label-helper-size);\n line-height: var(--pa-font-label-helper-line-height);\n font-weight: var(--pa-font-label-helper-weight);\n color: var(--pa-color-text-secondary-gray);\n}\n\n.pa-file-upload__row {\n display: inline-flex;\n align-items: center;\n margin-top: var(--pa-space-2xs);\n}\n\n.pa-file-upload__input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.pa-file-upload__row + .pa-chip {\n margin-top: var(--pa-space-2xs);\n}\n\n.pa-file-upload__message {\n font-size: var(--pa-font-label-helper-size);\n line-height: var(--pa-font-label-helper-line-height);\n font-weight: var(--pa-font-label-helper-weight);\n color: var(--pa-color-text-secondary-gray);\n}\n\n.pa-file-upload__message--error {\n color: var(--pa-color-error);\n}\n</style>\n"],"names":["uid","nextPaFileUploadId","props","__props","model","_useModel","emit","__emit","generatedId","inputId","computed","messageId","inputRef","ref","internalError","formatBytes","bytes","acceptMatches","file","accept","tokens","t","fileType","fileName","token","prefix","consumerErrorMessage","consumerErrorActive","errorActive","validActive","errorMessage","helperMessage","message","openPicker","_a","onChange","event","target","clear","_createElementBlock","_normalizeClass","_hoisted_2","_hoisted_3","_toDisplayString","_createElementVNode","_hoisted_4","_createVNode","PaButton","PaIcon","_createTextVNode","_createBlock","PaChip","_hoisted_6"],"mappings":";;;;;;;;;;;AACA,IAAIA,IAAM;AACH,SAASC,KAAqB;AACnC,SAAO,kBAAkB,EAAED,CAAG;AAChC;;;;;;;;;;;;;;;;;;;;;;AAwBA,UAAME,IAAQC,GASRC,IAAQC,EAAwBF,GAAA,YAAkB,GAElDG,IAAOC,GAIPC,IAAcP,GAAA,GACdQ,IAAUC,EAAS,MAAMR,EAAM,MAAMM,CAAW,GAChDG,IAAYD,EAAS,MAAM,GAAGD,EAAQ,KAAK,MAAM,GAEjDG,IAAWC,EAA6B,IAAI,GAC5CC,IAAgBD,EAAI,EAAE;AAE5B,aAASE,EAAYC,GAAuB;AAC1C,aAAIA,IAAQ,OAAa,GAAGA,CAAK,OAC7BA,IAAQ,OAAO,OAAa,IAAIA,IAAQ,MAAM,QAAQ,CAAC,CAAC,QACxDA,IAAQ,OAAO,OAAO,OAAa,IAAIA,KAAS,OAAO,OAAO,QAAQ,CAAC,CAAC,QACrE,IAAIA,KAAS,OAAO,OAAO,OAAO,QAAQ,CAAC,CAAC;AAAA,IACrD;AAEA,aAASC,EAAcC,GAAYC,GAAyB;AAC1D,YAAMC,IAASD,EACZ,MAAM,GAAG,EACT,IAAI,CAACE,MAAMA,EAAE,OAAO,YAAA,CAAa,EACjC,OAAO,OAAO;AACjB,UAAID,EAAO,WAAW,EAAG,QAAO;AAChC,YAAME,IAAWJ,EAAK,KAAK,YAAA,GACrBK,IAAWL,EAAK,KAAK,YAAA;AAC3B,aAAOE,EAAO,KAAK,CAACI,MAAU;AAC5B,YAAIA,EAAM,WAAW,GAAG,EAAG,QAAOD,EAAS,SAASC,CAAK;AACzD,YAAIA,EAAM,SAAS,IAAI,GAAG;AACxB,gBAAMC,IAASD,EAAM,MAAM,GAAG,EAAE;AAChC,iBAAOF,EAAS,WAAWG,CAAM;AAAA,QACnC;AACA,eAAOH,MAAaE;AAAA,MACtB,CAAC;AAAA,IACH;AAEA,UAAME,IAAuBhB;AAAA,MAAS,MACpC,OAAOR,EAAM,SAAU,YAAYA,EAAM,MAAM,SAAS,IAAIA,EAAM,QAAQ;AAAA,IAAA,GAEtEyB,IAAsBjB,EAAS,MAAM,EAAQR,EAAM,KAAM,GAEzD0B,IAAclB;AAAA,MAClB,MAAMiB,EAAoB,SAASb,EAAc,UAAU;AAAA,IAAA,GAEvDe,IAAcnB,EAAS,MAAMR,EAAM,SAAS,CAAC0B,EAAY,KAAK,GAE9DE,IAAepB;AAAA,MAAS,MAC5BgB,EAAqB,SAASZ,EAAc,SAAS;AAAA,IAAA,GAEjDiB,IAAgBrB;AAAA,MAAS,MAC7B,CAACkB,EAAY,SAAS,CAACC,EAAY,SAAS3B,EAAM,aAC9CA,EAAM,aACN;AAAA,IAAA,GAEA8B,IAAUtB,EAAS,MAAMoB,EAAa,SAASC,EAAc,KAAK;AAExE,aAASE,IAAa;;AACpB,MAAI/B,EAAM,aACVgC,IAAAtB,EAAS,UAAT,QAAAsB,EAAgB;AAAA,IAClB;AAEA,aAASC,EAASC,GAAc;;AAC9B,YAAMC,IAASD,EAAM,QACflB,MAAOgB,IAAAG,EAAO,UAAP,gBAAAH,EAAe,OAAM;AAElC,UAAI,CAAChB,GAAM;AACT,QAAAd,EAAM,QAAQ;AACd;AAAA,MACF;AAIA,UAFAU,EAAc,QAAQ,IAElBZ,EAAM,YAAY,UAAagB,EAAK,OAAOhB,EAAM,SAAS;AAC5D,QAAAY,EAAc,QAAQ,2CAA2CC;AAAA,UAC/Db,EAAM;AAAA,QAAA,CACP,IACDI,EAAK,WAAW,EAAE,MAAAY,GAAM,QAAQ,WAAW,GAC3CmB,EAAO,QAAQ;AACf;AAAA,MACF;AAEA,UAAInC,EAAM,UAAU,CAACe,EAAcC,GAAMhB,EAAM,MAAM,GAAG;AACtD,QAAAY,EAAc,QAAQ,+BACtBR,EAAK,WAAW,EAAE,MAAAY,GAAM,QAAQ,UAAU,GAC1CmB,EAAO,QAAQ;AACf;AAAA,MACF;AAEA,MAAAjC,EAAM,QAAQc;AAAA,IAChB;AAEA,aAASoB,IAAQ;AACf,MAAAlC,EAAM,QAAQ,MACdU,EAAc,QAAQ,IAClBF,EAAS,UAAOA,EAAS,MAAM,QAAQ;AAAA,IAC7C;2BAIE2B,EA+DM,OAAA;AAAA,MA9DH,OAAKC,EAAA;AAAA;;mCAAqEZ,EAAA;AAAA,mCAA8CC,EAAA;AAAA,sCAAiD1B,EAAA;AAAA,sCAA8CA,EAAA;AAAA,QAAA;AAAA;;MAWhNA,EAAA,cADRoC,EAMQ,SAAA;AAAA;QAJL,KAAK9B,EAAA;AAAA,QACN,OAAM;AAAA,MAAA;YAEHN,EAAA,KAAK,GAAA,CAAA;AAAA,QAAeA,EAAA,iBAAZoC,EAA+D,QAA/DE,GAAuD,GAAC;;MAG7DtC,EAAA,mBADRoC,EAGuB,OAHvBG,GAGuBC,EAAnBxC,EAAA,UAAU,GAAA,CAAA;MACdyC,EAyBM,OAzBNC,GAyBM;AAAA,QAxBJC,EAUWC,GAAA;AAAA,UATT,SAAQ;AAAA,UACR,MAAK;AAAA,UACJ,UAAU5C,EAAA;AAAA,UACV,SAAO8B;AAAA,QAAA;UAEG,gBACT,MAAuC;AAAA,YAAvCa,EAAuCE,GAAA;AAAA,cAA/B,MAAK;AAAA,cAAc,MAAK;AAAA,YAAA;;qBACvB,MACX;AAAA,YADWC,EAAA,QACR9C,EAAA,WAAW,GAAA,CAAA;AAAA,UAAA;;;QAEhByC,EAYE,SAAA;AAAA,UAXC,IAAInC,EAAA;AAAA,mBACD;AAAA,UAAJ,KAAIG;AAAA,UACJ,MAAK;AAAA,UACL,OAAM;AAAA,UACL,QAAQT,EAAA;AAAA,UACR,MAAMA,EAAA;AAAA,UACN,UAAUA,EAAA;AAAA,UACV,UAAUA,EAAA;AAAA,UACV,gBAAcyB,EAAA,SAAe;AAAA,UAC7B,oBAAkBI,EAAA,QAAUrB,EAAA,QAAY;AAAA,UACxC,UAAAwB;AAAA,QAAA;;MAIG/B,EAAA,cADR8C,EAMEC,GAAA;AAAA;QAJA,SAAQ;AAAA,QACP,OAAOhD,EAAA,UAAUC,EAAA,KAAK;AAAA,QACtB,UAAUD,EAAA;AAAA,QACV,SAAOmC;AAAA,MAAA;MAGFN,EAAA,cADRO,EAOoB,OAAA;AAAA;QALjB,IAAI5B,EAAA;AAAA,QACJ,OAAK6B,EAAA;AAAA;8CAAmFZ,EAAA,MAAA;AAAA,QAAW;WAIlGI,EAAA,KAAO,GAAA,IAAAoB,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { PaIconName } from '../PaIcon/PaIcon.vue';
|
|
2
|
+
export interface PaFooterBackToTopConfig {
|
|
3
|
+
label?: string;
|
|
4
|
+
ariaLabel?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface PaFooterLink {
|
|
7
|
+
label: string;
|
|
8
|
+
href: string;
|
|
9
|
+
}
|
|
10
|
+
export interface PaFooterColumn {
|
|
11
|
+
heading?: string;
|
|
12
|
+
links: PaFooterLink[];
|
|
13
|
+
}
|
|
14
|
+
export interface PaFooterAddress {
|
|
15
|
+
title?: string;
|
|
16
|
+
lines: string[];
|
|
17
|
+
}
|
|
18
|
+
export interface PaFooterSocial {
|
|
19
|
+
icon: PaIconName;
|
|
20
|
+
href: string;
|
|
21
|
+
label: string;
|
|
22
|
+
}
|
|
23
|
+
export interface PaFooterBackToTopEventPayload {
|
|
24
|
+
originalEvent: MouseEvent;
|
|
25
|
+
preventDefault: () => void;
|
|
26
|
+
defaultPrevented: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface PaFooterProps {
|
|
29
|
+
backToTop?: boolean | PaFooterBackToTopConfig;
|
|
30
|
+
sitemap?: PaFooterColumn[];
|
|
31
|
+
address?: PaFooterAddress;
|
|
32
|
+
socials?: PaFooterSocial[];
|
|
33
|
+
copyright?: string;
|
|
34
|
+
showRepublicEmblem?: boolean;
|
|
35
|
+
}
|
|
36
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<PaFooterProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
37
|
+
"back-to-top": (args_0: PaFooterBackToTopEventPayload) => any;
|
|
38
|
+
}, string, import("vue").PublicProps, Readonly<PaFooterProps> & Readonly<{
|
|
39
|
+
"onBack-to-top"?: ((args_0: PaFooterBackToTopEventPayload) => any) | undefined;
|
|
40
|
+
}>, {
|
|
41
|
+
address: PaFooterAddress;
|
|
42
|
+
backToTop: boolean | PaFooterBackToTopConfig;
|
|
43
|
+
sitemap: PaFooterColumn[];
|
|
44
|
+
socials: PaFooterSocial[];
|
|
45
|
+
copyright: string;
|
|
46
|
+
showRepublicEmblem: boolean;
|
|
47
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
48
|
+
sitemap?: (props: {}) => any;
|
|
49
|
+
} & {
|
|
50
|
+
logo?: (props: {}) => any;
|
|
51
|
+
} & {
|
|
52
|
+
address?: (props: {}) => any;
|
|
53
|
+
} & {
|
|
54
|
+
socials?: (props: {}) => any;
|
|
55
|
+
} & {
|
|
56
|
+
'contact-extra'?: (props: {}) => any;
|
|
57
|
+
} & {
|
|
58
|
+
'privacy-logo'?: (props: {}) => any;
|
|
59
|
+
} & {
|
|
60
|
+
copyright?: (props: {}) => any;
|
|
61
|
+
}>;
|
|
62
|
+
export default _default;
|
|
63
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
64
|
+
new (): {
|
|
65
|
+
$slots: S;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaFooter.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { defineComponent as z, useSlots as j, computed as n, ref as C, onMounted as x, onBeforeUnmount as F, openBlock as e, createElementBlock as t, normalizeClass as T, createElementVNode as d, toDisplayString as f, createVNode as $, createCommentVNode as l, renderSlot as _, Fragment as b, renderList as v, createBlock as D, withCtx as K, createStaticVNode as U, createTextVNode as X } from "vue";
|
|
2
|
+
import M from "../PaIcon/PaIcon.vue.js";
|
|
3
|
+
import Z from "../PaAccordion/PaAccordion.vue.js";
|
|
4
|
+
const q = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "pa-footer__band pa-footer__band--back-to-top"
|
|
7
|
+
}, G = ["aria-label"], H = { class: "pa-footer__back-to-top-label" }, J = {
|
|
8
|
+
key: 1,
|
|
9
|
+
class: "pa-footer__band pa-footer__band--sitemap"
|
|
10
|
+
}, W = { class: "pa-footer__sitemap-grid" }, Y = ["href"], ee = {
|
|
11
|
+
key: 0,
|
|
12
|
+
class: "pa-footer__sitemap-heading"
|
|
13
|
+
}, te = ["href"], oe = {
|
|
14
|
+
key: 2,
|
|
15
|
+
class: "pa-footer__band pa-footer__band--contact"
|
|
16
|
+
}, ae = { class: "pa-footer__contact-content" }, se = {
|
|
17
|
+
key: 0,
|
|
18
|
+
class: "pa-footer__logo"
|
|
19
|
+
}, re = { class: "pa-footer__contact-stack" }, le = {
|
|
20
|
+
key: 0,
|
|
21
|
+
class: "pa-footer__address"
|
|
22
|
+
}, ne = {
|
|
23
|
+
key: 0,
|
|
24
|
+
class: "pa-footer__address-title"
|
|
25
|
+
}, ie = {
|
|
26
|
+
key: 1,
|
|
27
|
+
class: "pa-footer__socials"
|
|
28
|
+
}, de = ["href", "aria-label"], ce = {
|
|
29
|
+
key: 2,
|
|
30
|
+
class: "pa-footer__contact-extra"
|
|
31
|
+
}, ue = {
|
|
32
|
+
key: 3,
|
|
33
|
+
class: "pa-footer__band pa-footer__band--privacy"
|
|
34
|
+
}, pe = { class: "pa-footer__privacy-content" }, fe = {
|
|
35
|
+
key: 0,
|
|
36
|
+
class: "pa-footer__republic-emblem",
|
|
37
|
+
"aria-hidden": "true"
|
|
38
|
+
}, _e = {
|
|
39
|
+
key: 1,
|
|
40
|
+
class: "pa-footer__copyright"
|
|
41
|
+
};
|
|
42
|
+
let he = 0;
|
|
43
|
+
function be() {
|
|
44
|
+
return ++he;
|
|
45
|
+
}
|
|
46
|
+
const me = /* @__PURE__ */ z({
|
|
47
|
+
__name: "PaFooter",
|
|
48
|
+
props: {
|
|
49
|
+
backToTop: { type: [Boolean, Object], default: !0 },
|
|
50
|
+
sitemap: { default: () => [] },
|
|
51
|
+
address: { default: void 0 },
|
|
52
|
+
socials: { default: () => [] },
|
|
53
|
+
copyright: { default: void 0 },
|
|
54
|
+
showRepublicEmblem: { type: Boolean, default: !0 }
|
|
55
|
+
},
|
|
56
|
+
emits: ["back-to-top"],
|
|
57
|
+
setup(i, { emit: R }) {
|
|
58
|
+
const a = i, E = R, c = j(), P = `pa-footer-${be()}`, V = n(() => a.backToTop !== !1), k = n(() => typeof a.backToTop == "object" && a.backToTop !== null ? a.backToTop.label ?? "Torna su" : "Torna su"), N = n(() => typeof a.backToTop == "object" && a.backToTop !== null ? a.backToTop.ariaLabel ?? k.value : k.value), I = n(
|
|
59
|
+
() => a.sitemap.length > 0 || !!c.sitemap
|
|
60
|
+
), w = n(
|
|
61
|
+
() => !!c.address || !!(a.address && (a.address.title || a.address.lines && a.address.lines.length > 0))
|
|
62
|
+
), L = n(
|
|
63
|
+
() => !!c.socials || a.socials.length > 0
|
|
64
|
+
), O = n(
|
|
65
|
+
() => !!c.logo || w.value || L.value || !!c["contact-extra"]
|
|
66
|
+
), B = n(
|
|
67
|
+
() => !!c.copyright || !!(a.copyright && a.copyright.length > 0)
|
|
68
|
+
), Q = n(
|
|
69
|
+
() => !!c["privacy-logo"] || a.showRepublicEmblem
|
|
70
|
+
), A = n(
|
|
71
|
+
() => B.value || Q.value
|
|
72
|
+
), g = C(null), y = C(!1);
|
|
73
|
+
let h = null;
|
|
74
|
+
x(() => {
|
|
75
|
+
g.value && (typeof ResizeObserver > "u" || (h = new ResizeObserver((s) => {
|
|
76
|
+
const r = s[0];
|
|
77
|
+
r && (y.value = r.contentRect.width <= 720);
|
|
78
|
+
}), h.observe(g.value)));
|
|
79
|
+
}), F(() => {
|
|
80
|
+
h == null || h.disconnect(), h = null;
|
|
81
|
+
});
|
|
82
|
+
function S(s) {
|
|
83
|
+
let r = !1;
|
|
84
|
+
if (E("back-to-top", {
|
|
85
|
+
originalEvent: s,
|
|
86
|
+
get defaultPrevented() {
|
|
87
|
+
return r;
|
|
88
|
+
},
|
|
89
|
+
preventDefault() {
|
|
90
|
+
r = !0;
|
|
91
|
+
}
|
|
92
|
+
}), r || typeof window > "u") return;
|
|
93
|
+
const u = typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
94
|
+
window.scrollTo({
|
|
95
|
+
top: 0,
|
|
96
|
+
behavior: u ? "auto" : "smooth"
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
return (s, r) => (e(), t("footer", {
|
|
100
|
+
id: P,
|
|
101
|
+
ref_key: "footerRoot",
|
|
102
|
+
ref: g,
|
|
103
|
+
class: T(["pa-footer", { "pa-footer--mobile": y.value }]),
|
|
104
|
+
role: "contentinfo"
|
|
105
|
+
}, [
|
|
106
|
+
V.value ? (e(), t("div", q, [
|
|
107
|
+
d("button", {
|
|
108
|
+
type: "button",
|
|
109
|
+
class: "pa-footer__back-to-top",
|
|
110
|
+
"aria-label": N.value,
|
|
111
|
+
onClick: S
|
|
112
|
+
}, [
|
|
113
|
+
d("span", H, f(k.value), 1),
|
|
114
|
+
$(M, {
|
|
115
|
+
name: "arrow-up",
|
|
116
|
+
size: "sm",
|
|
117
|
+
class: "pa-footer__back-to-top-icon"
|
|
118
|
+
})
|
|
119
|
+
], 8, G),
|
|
120
|
+
r[0] || (r[0] = d("div", {
|
|
121
|
+
class: "pa-footer__divider",
|
|
122
|
+
"aria-hidden": "true"
|
|
123
|
+
}, null, -1))
|
|
124
|
+
])) : l("", !0),
|
|
125
|
+
I.value ? (e(), t("div", J, [
|
|
126
|
+
_(s.$slots, "sitemap", {}, () => [
|
|
127
|
+
d("div", W, [
|
|
128
|
+
(e(!0), t(b, null, v(i.sitemap, (o, u) => (e(), t(b, { key: u }, [
|
|
129
|
+
y.value && o.heading && o.heading.length > 0 ? (e(), D(Z, {
|
|
130
|
+
key: 0,
|
|
131
|
+
title: o.heading,
|
|
132
|
+
class: "pa-footer__column pa-footer__column--heading-led pa-footer__column--accordion"
|
|
133
|
+
}, {
|
|
134
|
+
default: K(() => [
|
|
135
|
+
(e(!0), t(b, null, v(o.links, (p, m) => (e(), t("a", {
|
|
136
|
+
key: m,
|
|
137
|
+
href: p.href,
|
|
138
|
+
class: "pa-footer__link pa-footer__link--small"
|
|
139
|
+
}, f(p.label), 9, Y))), 128))
|
|
140
|
+
]),
|
|
141
|
+
_: 2
|
|
142
|
+
}, 1032, ["title"])) : (e(), t("div", {
|
|
143
|
+
key: 1,
|
|
144
|
+
class: T([
|
|
145
|
+
"pa-footer__column",
|
|
146
|
+
o.heading && o.heading.length > 0 ? "pa-footer__column--heading-led" : "pa-footer__column--headingless"
|
|
147
|
+
])
|
|
148
|
+
}, [
|
|
149
|
+
o.heading && o.heading.length > 0 ? (e(), t("h3", ee, f(o.heading), 1)) : l("", !0),
|
|
150
|
+
(e(!0), t(b, null, v(o.links, (p, m) => (e(), t("a", {
|
|
151
|
+
key: m,
|
|
152
|
+
href: p.href,
|
|
153
|
+
class: T([
|
|
154
|
+
"pa-footer__link",
|
|
155
|
+
o.heading && o.heading.length > 0 ? "pa-footer__link--small" : "pa-footer__link--large"
|
|
156
|
+
])
|
|
157
|
+
}, f(p.label), 11, te))), 128))
|
|
158
|
+
], 2))
|
|
159
|
+
], 64))), 128))
|
|
160
|
+
])
|
|
161
|
+
], !0)
|
|
162
|
+
])) : l("", !0),
|
|
163
|
+
O.value ? (e(), t("div", oe, [
|
|
164
|
+
d("div", ae, [
|
|
165
|
+
s.$slots.logo ? (e(), t("div", se, [
|
|
166
|
+
_(s.$slots, "logo", {}, void 0, !0)
|
|
167
|
+
])) : l("", !0),
|
|
168
|
+
d("div", re, [
|
|
169
|
+
w.value ? (e(), t("div", le, [
|
|
170
|
+
_(s.$slots, "address", {}, () => {
|
|
171
|
+
var o;
|
|
172
|
+
return [
|
|
173
|
+
i.address && i.address.title ? (e(), t("p", ne, f(i.address.title), 1)) : l("", !0),
|
|
174
|
+
(e(!0), t(b, null, v(((o = i.address) == null ? void 0 : o.lines) ?? [], (u, p) => (e(), t("p", {
|
|
175
|
+
key: p,
|
|
176
|
+
class: "pa-footer__address-line"
|
|
177
|
+
}, f(u), 1))), 128))
|
|
178
|
+
];
|
|
179
|
+
}, !0)
|
|
180
|
+
])) : l("", !0),
|
|
181
|
+
L.value ? (e(), t("div", ie, [
|
|
182
|
+
_(s.$slots, "socials", {}, () => [
|
|
183
|
+
(e(!0), t(b, null, v(i.socials, (o, u) => (e(), t("a", {
|
|
184
|
+
key: u,
|
|
185
|
+
href: o.href,
|
|
186
|
+
"aria-label": o.label,
|
|
187
|
+
class: "pa-footer__social"
|
|
188
|
+
}, [
|
|
189
|
+
$(M, {
|
|
190
|
+
name: o.icon,
|
|
191
|
+
size: "md"
|
|
192
|
+
}, null, 8, ["name"])
|
|
193
|
+
], 8, de))), 128))
|
|
194
|
+
], !0)
|
|
195
|
+
])) : l("", !0),
|
|
196
|
+
s.$slots["contact-extra"] ? (e(), t("div", ce, [
|
|
197
|
+
_(s.$slots, "contact-extra", {}, void 0, !0)
|
|
198
|
+
])) : l("", !0)
|
|
199
|
+
])
|
|
200
|
+
])
|
|
201
|
+
])) : l("", !0),
|
|
202
|
+
A.value ? (e(), t("div", ue, [
|
|
203
|
+
r[2] || (r[2] = d("div", {
|
|
204
|
+
class: "pa-footer__divider",
|
|
205
|
+
"aria-hidden": "true"
|
|
206
|
+
}, null, -1)),
|
|
207
|
+
d("div", pe, [
|
|
208
|
+
s.$slots["privacy-logo"] || i.showRepublicEmblem ? (e(), t("span", fe, [
|
|
209
|
+
_(s.$slots, "privacy-logo", {}, () => [
|
|
210
|
+
r[1] || (r[1] = U('<svg viewBox="0 0 44 50" width="44" height="50" xmlns="http://www.w3.org/2000/svg" fill="currentColor" data-v-920bddf5><circle cx="22" cy="22" r="14" fill="none" stroke="currentColor" stroke-width="1.5" data-v-920bddf5></circle><path d="M22 9 L24.47 16.6 L32.46 16.6 L26 21.3 L28.47 28.9 L22 24.2 L15.53 28.9 L18 21.3 L11.54 16.6 L19.53 16.6 Z" data-v-920bddf5></path><path d="M6 38 Q12 32 22 38 Q32 32 38 38" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" data-v-920bddf5></path><path d="M9 42 Q14 38 22 42 Q30 38 35 42" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" data-v-920bddf5></path><path d="M14 46 Q18 44 22 46 Q26 44 30 46" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" data-v-920bddf5></path></svg>', 1))
|
|
211
|
+
], !0)
|
|
212
|
+
])) : l("", !0),
|
|
213
|
+
B.value ? (e(), t("p", _e, [
|
|
214
|
+
_(s.$slots, "copyright", {}, () => [
|
|
215
|
+
X(f(i.copyright), 1)
|
|
216
|
+
], !0)
|
|
217
|
+
])) : l("", !0)
|
|
218
|
+
])
|
|
219
|
+
])) : l("", !0)
|
|
220
|
+
], 2));
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
export {
|
|
224
|
+
me as default
|
|
225
|
+
};
|
|
226
|
+
//# sourceMappingURL=PaFooter.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaFooter.vue2.js","sources":["../../../src/components/PaFooter/PaFooter.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PaIconName } from '../PaIcon/PaIcon.vue'\n\nlet footerUid = 0\nfunction nextFooterId() {\n return ++footerUid\n}\n\nexport interface PaFooterBackToTopConfig {\n label?: string\n ariaLabel?: string\n}\n\nexport interface PaFooterLink {\n label: string\n href: string\n}\n\nexport interface PaFooterColumn {\n heading?: string\n links: PaFooterLink[]\n}\n\nexport interface PaFooterAddress {\n title?: string\n lines: string[]\n}\n\nexport interface PaFooterSocial {\n icon: PaIconName\n href: string\n label: string\n}\n\nexport interface PaFooterBackToTopEventPayload {\n originalEvent: MouseEvent\n preventDefault: () => void\n defaultPrevented: boolean\n}\n\nexport interface PaFooterProps {\n backToTop?: boolean | PaFooterBackToTopConfig\n sitemap?: PaFooterColumn[]\n address?: PaFooterAddress\n socials?: PaFooterSocial[]\n copyright?: string\n showRepublicEmblem?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, onMounted, ref, useSlots } from 'vue'\nimport PaIcon from '../PaIcon/PaIcon.vue'\nimport PaAccordion from '../PaAccordion/PaAccordion.vue'\n\nconst MOBILE_BREAKPOINT_PX = 720\n\nconst props = withDefaults(defineProps<PaFooterProps>(), {\n backToTop: true,\n sitemap: () => [],\n address: undefined,\n socials: () => [],\n copyright: undefined,\n showRepublicEmblem: true,\n})\n\nconst emit = defineEmits<{\n 'back-to-top': [PaFooterBackToTopEventPayload]\n}>()\n\nconst slots = useSlots()\n\nconst footerId = `pa-footer-${nextFooterId()}`\n\nconst backToTopEnabled = computed(() => props.backToTop !== false)\n\nconst backToTopLabel = computed(() => {\n if (typeof props.backToTop === 'object' && props.backToTop !== null) {\n return props.backToTop.label ?? 'Torna su'\n }\n return 'Torna su'\n})\n\nconst backToTopAriaLabel = computed(() => {\n if (typeof props.backToTop === 'object' && props.backToTop !== null) {\n return props.backToTop.ariaLabel ?? backToTopLabel.value\n }\n return backToTopLabel.value\n})\n\nconst sitemapBandVisible = computed(\n () => props.sitemap.length > 0 || !!slots.sitemap,\n)\n\nconst hasAddress = computed(\n () =>\n !!slots.address ||\n !!(\n props.address &&\n (props.address.title ||\n (props.address.lines && props.address.lines.length > 0))\n ),\n)\n\nconst hasSocials = computed(\n () => !!slots.socials || props.socials.length > 0,\n)\n\nconst contactBandVisible = computed(\n () =>\n !!slots.logo ||\n hasAddress.value ||\n hasSocials.value ||\n !!slots['contact-extra'],\n)\n\nconst hasCopyrightText = computed(\n () => !!slots.copyright || !!(props.copyright && props.copyright.length > 0),\n)\n\nconst hasPrivacyLogo = computed(\n () => !!slots['privacy-logo'] || props.showRepublicEmblem,\n)\n\nconst privacyBandVisible = computed(\n () => hasCopyrightText.value || hasPrivacyLogo.value,\n)\n\nconst footerRoot = ref<HTMLElement | null>(null)\nconst isMobile = ref(false)\nlet resizeObserver: ResizeObserver | null = null\n\nonMounted(() => {\n if (!footerRoot.value) return\n if (typeof ResizeObserver === 'undefined') return\n resizeObserver = new ResizeObserver((entries) => {\n const entry = entries[0]\n if (!entry) return\n isMobile.value = entry.contentRect.width <= MOBILE_BREAKPOINT_PX\n })\n resizeObserver.observe(footerRoot.value)\n})\n\nonBeforeUnmount(() => {\n resizeObserver?.disconnect()\n resizeObserver = null\n})\n\nfunction onBackToTopClick(originalEvent: MouseEvent) {\n let defaultPrevented = false\n const payload: PaFooterBackToTopEventPayload = {\n originalEvent,\n get defaultPrevented() {\n return defaultPrevented\n },\n preventDefault() {\n defaultPrevented = true\n },\n }\n emit('back-to-top', payload)\n\n if (defaultPrevented) return\n if (typeof window === 'undefined') return\n\n const prefersReducedMotion =\n typeof window.matchMedia === 'function' &&\n window.matchMedia('(prefers-reduced-motion: reduce)').matches\n window.scrollTo({\n top: 0,\n behavior: prefersReducedMotion ? 'auto' : 'smooth',\n })\n}\n</script>\n\n<template>\n <footer\n :id=\"footerId\"\n ref=\"footerRoot\"\n class=\"pa-footer\"\n :class=\"{ 'pa-footer--mobile': isMobile }\"\n role=\"contentinfo\"\n >\n <div\n v-if=\"backToTopEnabled\"\n class=\"pa-footer__band pa-footer__band--back-to-top\"\n >\n <button\n type=\"button\"\n class=\"pa-footer__back-to-top\"\n :aria-label=\"backToTopAriaLabel\"\n @click=\"onBackToTopClick\"\n >\n <span class=\"pa-footer__back-to-top-label\">{{ backToTopLabel }}</span>\n <PaIcon name=\"arrow-up\" size=\"sm\" class=\"pa-footer__back-to-top-icon\" />\n </button>\n <div class=\"pa-footer__divider\" aria-hidden=\"true\" />\n </div>\n\n <div\n v-if=\"sitemapBandVisible\"\n class=\"pa-footer__band pa-footer__band--sitemap\"\n >\n <slot name=\"sitemap\">\n <div class=\"pa-footer__sitemap-grid\">\n <template v-for=\"(column, columnIndex) in sitemap\" :key=\"columnIndex\">\n <PaAccordion\n v-if=\"isMobile && column.heading && column.heading.length > 0\"\n :title=\"column.heading\"\n class=\"pa-footer__column pa-footer__column--heading-led pa-footer__column--accordion\"\n >\n <a\n v-for=\"(link, linkIndex) in column.links\"\n :key=\"linkIndex\"\n :href=\"link.href\"\n class=\"pa-footer__link pa-footer__link--small\"\n >\n {{ link.label }}\n </a>\n </PaAccordion>\n <div\n v-else\n class=\"pa-footer__column\"\n :class=\"\n column.heading && column.heading.length > 0\n ? 'pa-footer__column--heading-led'\n : 'pa-footer__column--headingless'\n \"\n >\n <h3\n v-if=\"column.heading && column.heading.length > 0\"\n class=\"pa-footer__sitemap-heading\"\n >\n {{ column.heading }}\n </h3>\n <a\n v-for=\"(link, linkIndex) in column.links\"\n :key=\"linkIndex\"\n :href=\"link.href\"\n class=\"pa-footer__link\"\n :class=\"\n column.heading && column.heading.length > 0\n ? 'pa-footer__link--small'\n : 'pa-footer__link--large'\n \"\n >\n {{ link.label }}\n </a>\n </div>\n </template>\n </div>\n </slot>\n </div>\n\n <div\n v-if=\"contactBandVisible\"\n class=\"pa-footer__band pa-footer__band--contact\"\n >\n <div class=\"pa-footer__contact-content\">\n <div v-if=\"$slots.logo\" class=\"pa-footer__logo\">\n <slot name=\"logo\" />\n </div>\n <div class=\"pa-footer__contact-stack\">\n <div v-if=\"hasAddress\" class=\"pa-footer__address\">\n <slot name=\"address\">\n <p\n v-if=\"address && address.title\"\n class=\"pa-footer__address-title\"\n >\n {{ address.title }}\n </p>\n <p\n v-for=\"(line, lineIndex) in address?.lines ?? []\"\n :key=\"lineIndex\"\n class=\"pa-footer__address-line\"\n >\n {{ line }}\n </p>\n </slot>\n </div>\n <div v-if=\"hasSocials\" class=\"pa-footer__socials\">\n <slot name=\"socials\">\n <a\n v-for=\"(social, socialIndex) in socials\"\n :key=\"socialIndex\"\n :href=\"social.href\"\n :aria-label=\"social.label\"\n class=\"pa-footer__social\"\n >\n <PaIcon :name=\"social.icon\" size=\"md\" />\n </a>\n </slot>\n </div>\n <div v-if=\"$slots['contact-extra']\" class=\"pa-footer__contact-extra\">\n <slot name=\"contact-extra\" />\n </div>\n </div>\n </div>\n </div>\n\n <div\n v-if=\"privacyBandVisible\"\n class=\"pa-footer__band pa-footer__band--privacy\"\n >\n <div class=\"pa-footer__divider\" aria-hidden=\"true\" />\n <div class=\"pa-footer__privacy-content\">\n <span\n v-if=\"$slots['privacy-logo'] || showRepublicEmblem\"\n class=\"pa-footer__republic-emblem\"\n aria-hidden=\"true\"\n >\n <slot name=\"privacy-logo\">\n <svg\n viewBox=\"0 0 44 50\"\n width=\"44\"\n height=\"50\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\"\n >\n <circle\n cx=\"22\"\n cy=\"22\"\n r=\"14\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n />\n <path d=\"M22 9 L24.47 16.6 L32.46 16.6 L26 21.3 L28.47 28.9 L22 24.2 L15.53 28.9 L18 21.3 L11.54 16.6 L19.53 16.6 Z\" />\n <path\n d=\"M6 38 Q12 32 22 38 Q32 32 38 38\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n <path\n d=\"M9 42 Q14 38 22 42 Q30 38 35 42\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n <path\n d=\"M14 46 Q18 44 22 46 Q26 44 30 46\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n />\n </svg>\n </slot>\n </span>\n <p v-if=\"hasCopyrightText\" class=\"pa-footer__copyright\">\n <slot name=\"copyright\">{{ copyright }}</slot>\n </p>\n </div>\n </div>\n </footer>\n</template>\n\n<style scoped>\n/* Full-bleed: the bands' background spans the viewport even when the\n footer sits inside a max-width frame. Assumes a horizontally centered\n ancestor (`.pa-page-frame` is `margin: 0 auto`); inner content stays\n boxed to the container width below. */\n.pa-footer {\n display: block;\n container-type: inline-size;\n width: 100vw;\n margin-left: calc(50% - 50vw);\n font-family: var(--pa-font-family-base);\n color: var(--pa-color-text-white);\n}\n\n.pa-footer__band {\n width: 100%;\n}\n\n.pa-footer__divider {\n height: 1px;\n width: 100%;\n background-color: var(--pa-color-bg-primary-dark-110);\n}\n\n/* ---------- Back-to-top band ---------- */\n\n.pa-footer__band--back-to-top {\n background-color: var(--pa-color-bg-primary-dark-110);\n padding-top: var(--pa-space-md);\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--pa-space-md);\n}\n\n.pa-footer__back-to-top {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--pa-space-sm);\n width: 201px;\n height: 48px;\n padding: 13px 49px;\n background-color: transparent;\n border: var(--pa-border-xs) solid var(--pa-color-accent);\n border-radius: var(--pa-radius-smooth);\n color: var(--pa-color-accent);\n cursor: pointer;\n font-family: inherit;\n font-size: var(--pa-font-label-sm-size);\n line-height: var(--pa-font-label-sm-line-height);\n font-weight: var(--pa-font-label-sm-weight);\n}\n\n.pa-footer__back-to-top:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n}\n\n.pa-footer__back-to-top-label {\n white-space: nowrap;\n}\n\n.pa-footer__back-to-top-icon {\n color: var(--pa-color-accent);\n}\n\n/* ---------- Sitemap band ---------- */\n\n.pa-footer__band--sitemap {\n background-color: var(--pa-color-bg-primary-dark-120);\n padding-top: var(--pa-space-sm);\n}\n\n.pa-footer__sitemap-grid {\n max-width: var(--pa-layout-container-max);\n width: 100%;\n margin: 0 auto;\n padding: 0 var(--pa-space-sm);\n box-sizing: border-box;\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n column-gap: 28px;\n row-gap: 0;\n}\n\n.pa-footer__column {\n display: flex;\n flex-direction: column;\n padding: var(--pa-space-2xl) 0;\n}\n\n.pa-footer__column--headingless {\n gap: var(--pa-space-xs);\n}\n\n.pa-footer__column--heading-led {\n gap: 12px;\n}\n\n.pa-footer__sitemap-grid > .pa-footer__column:nth-of-type(n + 4) {\n border-top: var(--pa-border-xs) solid var(--pa-color-bg-primary-dark-110);\n}\n\n.pa-footer__sitemap-grid > .pa-footer__column:nth-of-type(n + 4) .pa-footer__sitemap-heading {\n color: var(--pa-color-text-white);\n}\n\n.pa-footer__sitemap-heading {\n margin: 0;\n font-family: inherit;\n font-size: 18px;\n line-height: 27px;\n font-weight: 700;\n color: var(--pa-color-accent);\n}\n\n.pa-footer__link {\n color: var(--pa-color-accent);\n text-decoration: none;\n}\n\n.pa-footer__link:hover {\n text-decoration: underline;\n}\n\n.pa-footer__link:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n}\n\n.pa-footer__link--large {\n font-size: 20px;\n line-height: 30px;\n font-weight: 600;\n}\n\n.pa-footer__link--small {\n font-size: 16px;\n line-height: 20px;\n font-weight: 400;\n}\n\n/* ---------- Contact band ---------- */\n\n.pa-footer__band--contact {\n background-color: var(--pa-color-bg-primary-dark-120);\n padding-top: var(--pa-space-sm);\n}\n\n.pa-footer__contact-content {\n max-width: var(--pa-layout-container-max);\n width: 100%;\n margin: 0 auto;\n padding: 0 var(--pa-space-sm);\n box-sizing: border-box;\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--pa-space-md);\n padding-bottom: var(--pa-space-md);\n}\n\n.pa-footer__logo {\n display: flex;\n align-items: flex-start;\n flex-shrink: 0;\n}\n\n.pa-footer__contact-stack {\n display: flex;\n flex-direction: column;\n gap: var(--pa-space-sm);\n}\n\n.pa-footer__address {\n max-width: 270px;\n color: var(--pa-color-text-white);\n}\n\n.pa-footer__address-title {\n margin: 0;\n font-family: inherit;\n font-size: 16px;\n line-height: 20px;\n font-weight: 600;\n color: var(--pa-color-text-white);\n}\n\n.pa-footer__address-line {\n margin: 0;\n font-family: inherit;\n font-size: 16px;\n line-height: 20px;\n font-weight: 400;\n color: var(--pa-color-text-white);\n}\n\n.pa-footer__socials {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 375px;\n padding: var(--pa-space-sm) 0;\n}\n\n.pa-footer__social {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--pa-color-text-white);\n text-decoration: none;\n}\n\n.pa-footer__social:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-accent);\n outline-offset: 2px;\n border-radius: var(--pa-radius-smooth);\n}\n\n.pa-footer__contact-extra {\n width: 100%;\n}\n\n/* ---------- Privacy band ---------- */\n\n.pa-footer__band--privacy {\n background-color: var(--pa-color-bg-primary-dark-110);\n padding-bottom: var(--pa-space-sm);\n display: flex;\n flex-direction: column;\n gap: var(--pa-space-sm);\n}\n\n.pa-footer__privacy-content {\n max-width: 600px;\n width: 100%;\n margin: 0 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--pa-space-sm);\n flex-wrap: wrap;\n}\n\n.pa-footer__republic-emblem {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--pa-color-text-white);\n flex-shrink: 0;\n}\n\n.pa-footer__copyright {\n margin: 0;\n flex: 1 1 auto;\n text-align: center;\n font-family: var(--pa-font-family-base);\n font-size: 14px;\n line-height: 21px;\n font-weight: 400;\n color: var(--pa-color-text-white);\n}\n\n/* ---------- Mobile @container collapse ---------- */\n\n@container (max-width: 720px) {\n .pa-footer__sitemap-grid {\n grid-template-columns: 1fr;\n padding: 0;\n }\n\n .pa-footer__column {\n padding: var(--pa-space-md) var(--pa-space-sm);\n }\n\n .pa-footer__column--headingless:not(:last-of-type) {\n border-bottom: var(--pa-border-xs) solid var(--pa-color-bg-primary-dark-110);\n }\n\n .pa-footer__column--accordion {\n padding: 0;\n border-top: var(--pa-border-xs) solid var(--pa-color-bg-primary-dark-110);\n }\n\n .pa-footer__contact-content {\n flex-direction: column;\n align-items: stretch;\n padding: 0 var(--pa-space-sm) var(--pa-space-sm);\n }\n\n .pa-footer__contact-stack {\n width: 100%;\n }\n\n .pa-footer__socials {\n width: 100%;\n }\n\n .pa-footer__privacy-content {\n padding: 0 var(--pa-space-md);\n }\n}\n\n/* PaAccordion dark recolor — scoped to PaFooter only */\n.pa-footer :deep(.pa-accordion__header) {\n background: var(--pa-color-bg-primary-dark-120);\n border-radius: 0;\n padding: 22px var(--pa-space-sm);\n color: var(--pa-color-text-white);\n font-size: 18px;\n line-height: 27px;\n font-weight: 700;\n}\n\n.pa-footer :deep(.pa-accordion:not([data-open=\"true\"]) .pa-accordion__header:hover),\n.pa-footer :deep(.pa-accordion[data-open=\"true\"] .pa-accordion__header),\n.pa-footer :deep(.pa-accordion[data-open=\"true\"] .pa-accordion__header:hover) {\n background: var(--pa-color-bg-primary-dark-120);\n}\n\n.pa-footer :deep(.pa-accordion__chevron) {\n color: var(--pa-color-text-white);\n}\n\n.pa-footer :deep(.pa-accordion__body) {\n background: var(--pa-color-bg-primary-dark-120);\n color: var(--pa-color-accent);\n padding: 12px var(--pa-space-sm) var(--pa-space-md);\n display: flex;\n flex-direction: column;\n gap: var(--pa-space-md);\n border-top: var(--pa-border-xs) solid var(--pa-color-bg-primary-dark-110);\n}\n</style>\n"],"names":["footerUid","nextFooterId","props","__props","emit","__emit","slots","useSlots","footerId","backToTopEnabled","computed","backToTopLabel","backToTopAriaLabel","sitemapBandVisible","hasAddress","hasSocials","contactBandVisible","hasCopyrightText","hasPrivacyLogo","privacyBandVisible","footerRoot","ref","isMobile","resizeObserver","onMounted","entries","entry","onBeforeUnmount","onBackToTopClick","originalEvent","defaultPrevented","prefersReducedMotion","_createElementBlock","_normalizeClass","_openBlock","_hoisted_1","_createElementVNode","_hoisted_3","_toDisplayString","_createVNode","PaIcon","_hoisted_4","_renderSlot","_ctx","_hoisted_5","_Fragment","_renderList","column","columnIndex","_createBlock","PaAccordion","link","linkIndex","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","$slots","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_a","line","lineIndex","_hoisted_15","social","socialIndex","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { PaHeaderLink, PaHeaderTools, PaHeaderNavItem, PaHeaderLanguage, PaHeaderSkipLinkConfig, PaHeaderNavigateEventPayload, PaHeaderLanguageChangeEventPayload } from '../PaHeaderShared/types';
|
|
2
|
+
import type { PaSearchBarOption } from '../PaSearchBar/PaSearchBar.vue';
|
|
3
|
+
export type { PaHeaderLink, PaHeaderTools, PaHeaderNavItem, PaHeaderLanguage, PaHeaderSkipLinkConfig, PaHeaderNavigateEventPayload, PaHeaderLanguageChangeEventPayload, };
|
|
4
|
+
export interface PaHeaderDesktopProps {
|
|
5
|
+
loggedIn?: boolean;
|
|
6
|
+
mainNav?: PaHeaderNavItem[];
|
|
7
|
+
languages?: PaHeaderLanguage[];
|
|
8
|
+
currentLanguage?: string;
|
|
9
|
+
currentHref?: string;
|
|
10
|
+
menuOpen?: string | null;
|
|
11
|
+
searchEnabled?: boolean;
|
|
12
|
+
searchPlaceholder?: string;
|
|
13
|
+
searchButtonLabel?: string;
|
|
14
|
+
searchOptions?: PaSearchBarOption[];
|
|
15
|
+
searchValue?: string;
|
|
16
|
+
loginLabel?: string;
|
|
17
|
+
loginHref?: string;
|
|
18
|
+
mainNavLabel?: string;
|
|
19
|
+
languageGroupLabel?: string;
|
|
20
|
+
skipLink?: boolean | PaHeaderSkipLinkConfig;
|
|
21
|
+
}
|
|
22
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<PaHeaderDesktopProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
23
|
+
search: (value: string) => any;
|
|
24
|
+
"update:menuOpen": (args_0: string | null) => any;
|
|
25
|
+
navigate: (args_0: PaHeaderNavigateEventPayload) => any;
|
|
26
|
+
"language-change": (args_0: PaHeaderLanguageChangeEventPayload) => any;
|
|
27
|
+
}, string, import("vue").PublicProps, Readonly<PaHeaderDesktopProps> & Readonly<{
|
|
28
|
+
onSearch?: ((value: string) => any) | undefined;
|
|
29
|
+
"onUpdate:menuOpen"?: ((args_0: string | null) => any) | undefined;
|
|
30
|
+
onNavigate?: ((args_0: PaHeaderNavigateEventPayload) => any) | undefined;
|
|
31
|
+
"onLanguage-change"?: ((args_0: PaHeaderLanguageChangeEventPayload) => any) | undefined;
|
|
32
|
+
}>, {
|
|
33
|
+
menuOpen: string | null;
|
|
34
|
+
loggedIn: boolean;
|
|
35
|
+
languages: PaHeaderLanguage[];
|
|
36
|
+
currentLanguage: string;
|
|
37
|
+
skipLink: boolean | PaHeaderSkipLinkConfig;
|
|
38
|
+
languageGroupLabel: string;
|
|
39
|
+
mainNav: PaHeaderNavItem[];
|
|
40
|
+
currentHref: string;
|
|
41
|
+
searchEnabled: boolean;
|
|
42
|
+
searchPlaceholder: string;
|
|
43
|
+
searchButtonLabel: string;
|
|
44
|
+
searchOptions: PaSearchBarOption[];
|
|
45
|
+
searchValue: string;
|
|
46
|
+
loginLabel: string;
|
|
47
|
+
loginHref: string;
|
|
48
|
+
mainNavLabel: string;
|
|
49
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
50
|
+
'utility-links'?: () => unknown;
|
|
51
|
+
'utility-icons'?: () => unknown;
|
|
52
|
+
language?: () => unknown;
|
|
53
|
+
user?: () => unknown;
|
|
54
|
+
search?: () => unknown;
|
|
55
|
+
'mega-column-0'?: (scope: {
|
|
56
|
+
column?: PaHeaderNavItem;
|
|
57
|
+
}) => unknown;
|
|
58
|
+
'mega-column-1'?: (scope: {
|
|
59
|
+
column?: PaHeaderNavItem;
|
|
60
|
+
}) => unknown;
|
|
61
|
+
'mega-column-2'?: (scope: {
|
|
62
|
+
column?: PaHeaderNavItem;
|
|
63
|
+
}) => unknown;
|
|
64
|
+
}>;
|
|
65
|
+
export default _default;
|
|
66
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
67
|
+
new (): {
|
|
68
|
+
$slots: S;
|
|
69
|
+
};
|
|
70
|
+
};
|