@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 @@
|
|
|
1
|
+
{"version":3,"file":"PaDatePicker.vue2.js","sources":["../../../src/components/PaDatePicker/PaDatePicker.vue"],"sourcesContent":["<script lang=\"ts\">\nlet uid = 0\nexport function nextPaDatePickerId() {\n return `pa-date-picker-${++uid}`\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, onBeforeUnmount, ref, watch } from 'vue'\nimport { DatePicker as VDatePicker } from 'v-calendar'\nimport 'v-calendar/style.css'\nimport PaIcon from '../PaIcon/PaIcon.vue'\n\nconst props = withDefaults(\n defineProps<{\n display?: 'popover' | 'inline'\n placeholder?: string\n label?: string\n required?: boolean\n helperText?: string\n error?: string | boolean\n valid?: boolean\n disabled?: boolean\n readonly?: boolean\n id?: string\n name?: string\n min?: Date | null\n max?: Date | null\n disabledDates?: (date: Date) => boolean\n }>(),\n {\n display: 'popover',\n placeholder: 'gg/mm/aaaa',\n required: false,\n error: false,\n valid: false,\n disabled: false,\n readonly: false,\n min: null,\n max: null,\n disabledDates: undefined,\n },\n)\n\nconst model = defineModel<Date | null>({ default: null })\n\nconst rootRef = ref<HTMLElement | null>(null)\nconst triggerRef = ref<HTMLButtonElement | null>(null)\nconst open = ref(false)\nconst popoverId = `pa-date-picker-pop-${Math.random().toString(36).slice(2, 9)}`\nconst generatedId = nextPaDatePickerId()\nconst triggerId = computed(() => props.id ?? generatedId)\nconst messageId = computed(() => `${triggerId.value}-msg`)\n\nconst dateFormatter = new Intl.DateTimeFormat('it-IT', {\n day: '2-digit',\n month: '2-digit',\n year: 'numeric',\n})\n\nconst displayValue = computed(() =>\n model.value instanceof Date ? dateFormatter.format(model.value) : props.placeholder,\n)\n\nconst placeholderShown = computed(() => !(model.value instanceof Date))\n\nconst errorActive = computed(() => Boolean(props.error))\nconst validActive = computed(() => props.valid && !errorActive.value)\nconst errorMessage = computed(() =>\n typeof props.error === 'string' && props.error.length > 0 ? props.error : null,\n)\nconst helperMessage = computed(() =>\n !errorActive.value && props.helperText ? props.helperText : null,\n)\nconst message = computed(() => errorMessage.value ?? helperMessage.value)\n\n// Built from LOCAL components — NEVER `.toISOString().slice(0, 10)`, which\n// returns UTC and lands on the previous day in any UTC-positive timezone.\nconst serialized = computed(() => {\n const v = model.value\n if (!(v instanceof Date) || isNaN(v.getTime())) return ''\n const y = v.getFullYear()\n const m = String(v.getMonth() + 1).padStart(2, '0')\n const d = String(v.getDate()).padStart(2, '0')\n return `${y}-${m}-${d}`\n})\n\nfunction localMidnight(d: Date): Date {\n return new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0, 0, 0)\n}\nfunction addDays(d: Date, n: number): Date {\n return new Date(d.getFullYear(), d.getMonth(), d.getDate() + n, 0, 0, 0, 0)\n}\n\nfunction isDisabledDate(d: Date): boolean {\n const m = localMidnight(d)\n if (props.min && m.getTime() < localMidnight(props.min).getTime()) return true\n if (props.max && m.getTime() > localMidnight(props.max).getTime()) return true\n return props.disabledDates ? props.disabledDates(m) === true : false\n}\n\n// V-Calendar's `disabled-dates` accepts only Date / range entries (no\n// functions). To keep a single source of truth for visual disable + native\n// keyboard skip, we enumerate predicate-true days within a bounded window\n// (min/max if set, else ±5y around the model's anchor year) and push them as\n// individual Date entries alongside the min/max ranges.\nconst disabledDatesForVCalendar = computed(() => {\n const list: unknown[] = []\n if (props.min) list.push({ start: null, end: addDays(localMidnight(props.min), -1) })\n if (props.max) list.push({ start: addDays(localMidnight(props.max), 1), end: null })\n if (props.disabledDates) {\n const anchorYear =\n model.value instanceof Date ? model.value.getFullYear() : new Date().getFullYear()\n const winStart = props.min\n ? localMidnight(props.min)\n : new Date(anchorYear - 5, 0, 1, 0, 0, 0, 0)\n const winEnd = props.max\n ? localMidnight(props.max)\n : new Date(anchorYear + 5, 11, 31, 0, 0, 0, 0)\n const cursor = new Date(winStart.getTime())\n while (cursor.getTime() <= winEnd.getTime()) {\n const day = localMidnight(cursor)\n if (props.disabledDates(day)) list.push(day)\n cursor.setDate(cursor.getDate() + 1)\n }\n }\n return list\n})\n\nfunction openPopover() {\n if (open.value || props.disabled || props.readonly) return\n open.value = true\n}\n\nfunction closePopover(returnFocus = true) {\n if (!open.value) return\n open.value = false\n if (returnFocus) triggerRef.value?.focus()\n}\n\nfunction togglePopover() {\n if (props.disabled || props.readonly) return\n open.value ? closePopover() : openPopover()\n}\n\n// The ONLY writer to `model`. V-Calendar receives :model-value one-way and\n// never v-models back into us — the reactive feedback loop is what crashed\n// the previous v1.32 attempt.\n//\n// Normalize to local midnight: V-Calendar's day.date may carry a non-midnight\n// wall-clock time that, once serialized via `.toISOString()`, lands on the\n// previous day in any UTC-positive timezone. Storing local midnight keeps\n// `getFullYear / getMonth / getDate` and any locale-aware formatter aligned.\nfunction onDayClick(day: { date: Date }) {\n if (props.readonly) return\n const picked = localMidnight(day.date)\n if (isDisabledDate(picked)) return\n model.value = picked\n if (props.display === 'popover') closePopover()\n}\n\nfunction onDocumentMousedown(event: MouseEvent) {\n if (!rootRef.value) return\n if (!rootRef.value.contains(event.target as Node)) closePopover(false)\n}\n\nfunction onWindowKeydown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n event.preventDefault()\n closePopover()\n }\n}\n\nwatch(open, (isOpen) => {\n if (isOpen) {\n document.addEventListener('mousedown', onDocumentMousedown)\n window.addEventListener('keydown', onWindowKeydown)\n } else {\n document.removeEventListener('mousedown', onDocumentMousedown)\n window.removeEventListener('keydown', onWindowKeydown)\n }\n})\n\nonBeforeUnmount(() => {\n document.removeEventListener('mousedown', onDocumentMousedown)\n window.removeEventListener('keydown', onWindowKeydown)\n})\n</script>\n\n<template>\n <div\n ref=\"rootRef\"\n :class=\"[\n 'pa-date-picker',\n `pa-date-picker--${display}`,\n {\n 'pa-date-picker--open': open,\n 'pa-date-picker--disabled': disabled,\n 'pa-date-picker--readonly': readonly,\n 'pa-date-picker--error': errorActive,\n 'pa-date-picker--valid': validActive,\n },\n ]\"\n >\n <label v-if=\"label\" :for=\"triggerId\" class=\"pa-date-picker__label\">\n {{ label }}<span v-if=\"required\" class=\"pa-date-picker__required\" aria-hidden=\"true\">*</span>\n </label>\n\n <button\n v-if=\"display === 'popover'\"\n :id=\"triggerId\"\n ref=\"triggerRef\"\n type=\"button\"\n :class=\"[\n 'pa-date-picker__trigger',\n {\n 'pa-date-picker__trigger--placeholder': placeholderShown,\n 'pa-date-picker__trigger--disabled': disabled,\n 'pa-date-picker__trigger--readonly': readonly && !disabled,\n 'pa-date-picker__trigger--error': errorActive && !disabled,\n 'pa-date-picker__trigger--valid': validActive && !disabled,\n },\n ]\"\n :disabled=\"disabled\"\n :aria-expanded=\"open\"\n aria-haspopup=\"dialog\"\n :aria-controls=\"popoverId\"\n :aria-required=\"required || undefined\"\n :aria-invalid=\"errorActive || undefined\"\n :aria-readonly=\"readonly || undefined\"\n :aria-describedby=\"message ? messageId : undefined\"\n @click=\"togglePopover\"\n @keydown.enter.prevent=\"togglePopover\"\n @keydown.space.prevent=\"togglePopover\"\n @keydown.down.prevent=\"openPopover\"\n >\n <span class=\"pa-date-picker__value\">{{ displayValue }}</span>\n <slot name=\"suffix\">\n <PaIcon name=\"calendar-blank\" size=\"md\" />\n </slot>\n </button>\n\n <input\n v-if=\"name\"\n type=\"hidden\"\n :name=\"name\"\n :value=\"serialized\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :required=\"required\"\n />\n\n <div\n v-show=\"display === 'inline' || open\"\n :id=\"popoverId\"\n :class=\"[\n 'pa-date-picker__popover',\n { 'pa-date-picker__popover--inline': display === 'inline' },\n ]\"\n role=\"dialog\"\n aria-modal=\"false\"\n >\n <VDatePicker\n :model-value=\"model\"\n :locale=\"{ id: 'it-IT', firstDayOfWeek: 2 }\"\n :is-required=\"false\"\n :disabled-dates=\"disabledDatesForVCalendar\"\n @dayclick=\"onDayClick\"\n >\n <template #nav-prev-button=\"{ click }\">\n <button\n type=\"button\"\n class=\"pa-date-picker__nav-arrow\"\n aria-label=\"Mese precedente\"\n @click=\"click\"\n >\n <PaIcon name=\"caret-left\" size=\"sm\" />\n </button>\n </template>\n <template #nav-next-button=\"{ click }\">\n <button\n type=\"button\"\n class=\"pa-date-picker__nav-arrow\"\n aria-label=\"Mese successivo\"\n @click=\"click\"\n >\n <PaIcon name=\"caret-right\" size=\"sm\" />\n </button>\n </template>\n </VDatePicker>\n </div>\n\n <div\n v-if=\"message\"\n :id=\"messageId\"\n :class=\"['pa-date-picker__message', { 'pa-date-picker__message--error': errorActive }]\"\n >\n {{ message }}\n </div>\n </div>\n</template>\n\n<style scoped>\n.pa-date-picker {\n position: relative;\n display: inline-flex;\n flex-direction: column;\n gap: var(--pa-space-2xs, 4px);\n font-family: var(--pa-font-family-sans, 'Inter', sans-serif);\n}\n\n.pa-date-picker__label {\n font: 600 14px/20px 'Inter', sans-serif;\n color: var(--pa-color-text-dark-blue, #00173d);\n}\n.pa-date-picker__required {\n margin-left: 2px;\n color: var(--pa-color-error, #de2049);\n}\n\n.pa-date-picker__trigger {\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n width: 100%;\n min-width: 240px;\n padding: 12px 16px;\n background: #ffffff;\n border: 1px solid var(--pa-color-neutral-gray, #454d56);\n border-radius: 4px;\n font: 400 16px/20px 'Inter', sans-serif;\n color: var(--pa-color-neutral-gray, #454d56);\n cursor: pointer;\n text-align: left;\n}\n.pa-date-picker__trigger:hover { border-color: var(--pa-color-primary, #0071ff); }\n.pa-date-picker__trigger:focus-visible {\n outline: 2px solid var(--pa-color-primary-focus-border, #0065d1);\n outline-offset: 2px;\n}\n.pa-date-picker__trigger--placeholder .pa-date-picker__value {\n color: var(--pa-color-text-disabled, #5b6571);\n}\n.pa-date-picker__trigger--error {\n border-color: var(--pa-color-error, #de2049);\n}\n.pa-date-picker__trigger--error:hover {\n border-color: var(--pa-color-error, #de2049);\n}\n.pa-date-picker__trigger--valid {\n border-color: var(--pa-color-success, #008069);\n}\n.pa-date-picker__trigger--valid:hover {\n border-color: var(--pa-color-success, #008069);\n}\n.pa-date-picker__trigger--disabled,\n.pa-date-picker__trigger[disabled] {\n background: var(--pa-color-bg-disabled-gray, #e7e8e3);\n color: var(--pa-color-text-disabled, #5b6571);\n border-color: var(--pa-color-neutral-gray, #454d56);\n cursor: not-allowed;\n}\n.pa-date-picker__trigger--disabled:hover,\n.pa-date-picker__trigger[disabled]:hover {\n border-color: var(--pa-color-neutral-gray, #454d56);\n}\n.pa-date-picker__trigger--readonly:hover {\n border-color: var(--pa-color-neutral-gray, #454d56);\n}\n.pa-date-picker__value {\n flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;\n}\n\n.pa-date-picker__message {\n font: 400 14px/20px 'Inter', sans-serif;\n color: var(--pa-color-neutral-gray, #454d56);\n}\n.pa-date-picker__message--error {\n color: var(--pa-color-error, #de2049);\n}\n\n.pa-date-picker__popover {\n position: absolute;\n top: calc(100% + 8px);\n left: 0;\n z-index: 900; min-width: 280px; padding: 24px;\n background: #ffffff; border-radius: 8px;\n box-shadow: var(--pa-shadow-elevation-02, 0 0 24px #e3e5e8);\n}\n.pa-date-picker__popover--inline {\n position: static; top: auto; left: auto; display: inline-block;\n}\n/* Anchor the absolute popover under the trigger (not under the label). */\n.pa-date-picker:has(.pa-date-picker__label) .pa-date-picker__popover:not(.pa-date-picker__popover--inline) {\n top: auto;\n}\n\n.pa-date-picker :deep(.pa-date-picker__nav-arrow) {\n display: inline-flex; align-items: center; justify-content: center;\n width: 32px; height: 32px; padding: 0;\n background: #ffffff; border: 0; border-radius: 9999px;\n color: var(--pa-color-primary, #0071ff); cursor: pointer;\n}\n.pa-date-picker :deep(.pa-date-picker__nav-arrow:hover) {\n background: var(--pa-color-bg-primary-light-40, #f2f6fc);\n}\n.pa-date-picker :deep(.pa-date-picker__nav-arrow:focus-visible) {\n outline: 2px solid var(--pa-color-primary-focus-border, #0065d1);\n outline-offset: 0;\n}\n\n.pa-date-picker :deep(.vc-container) {\n --vc-bg: #ffffff; --vc-border: transparent; --vc-rounded: 0;\n --vc-font-family: 'Inter', sans-serif;\n font-family: 'Inter', sans-serif;\n background: #ffffff; border: 0;\n color: var(--pa-color-neutral-gray, #454d56);\n}\n.pa-date-picker :deep(.vc-header) { padding: 0 0 16px; }\n.pa-date-picker :deep(.vc-title) {\n font: 600 16px/20px 'Inter', sans-serif;\n color: var(--pa-color-primary, #0071ff);\n pointer-events: none;\n}\n.pa-date-picker :deep(.vc-weeks) { padding: 0; }\n.pa-date-picker :deep(.vc-weekday) {\n font: 600 16px/20px 'Inter', sans-serif;\n color: var(--pa-color-neutral-gray, #454d56);\n padding: 8px 0; text-transform: capitalize;\n}\n.pa-date-picker :deep(.vc-day) { min-height: 36px; }\n.pa-date-picker :deep(.vc-day-content) {\n font: 400 16px/18px 'Roboto Mono', monospace;\n color: var(--pa-color-neutral-gray, #454d56);\n width: 32px; height: 32px; border-radius: 9999px; transition: none;\n}\n.pa-date-picker :deep(.vc-day-content:hover) {\n background: var(--pa-color-primary-hover, #00368f); color: #ffffff;\n}\n.pa-date-picker :deep(.vc-day-content:focus-visible) {\n outline: 2px solid var(--pa-color-primary-focus-border, #0065d1);\n outline-offset: -2px; background: transparent;\n color: var(--pa-color-primary, #0071ff);\n}\n.pa-date-picker :deep(.vc-day-content:active) {\n background: var(--pa-color-primary-pressed, #00173d); color: #ffffff;\n}\n.pa-date-picker :deep(.vc-highlight) {\n background: var(--pa-color-primary, #0071ff) !important;\n border-radius: 9999px;\n}\n.pa-date-picker :deep(.vc-highlight-content-solid) {\n color: #ffffff !important;\n font: 400 16px/18px 'Roboto Mono', monospace;\n}\n.pa-date-picker :deep(.vc-day.is-not-in-month .vc-day-content),\n.pa-date-picker :deep(.vc-day.is-disabled .vc-day-content) {\n color: var(--pa-color-text-disabled, #5b6571);\n pointer-events: none;\n}\n.pa-date-picker :deep(.vc-pane-layout) { gap: 0; }\n.pa-date-picker :deep(.vc-arrow) { display: none; }\n</style>\n"],"names":["uid","nextPaDatePickerId","props","__props","model","_useModel","rootRef","ref","triggerRef","open","popoverId","generatedId","triggerId","computed","messageId","dateFormatter","displayValue","placeholderShown","errorActive","validActive","errorMessage","helperMessage","message","serialized","v","y","m","d","localMidnight","addDays","n","isDisabledDate","disabledDatesForVCalendar","list","anchorYear","winStart","winEnd","cursor","day","openPopover","closePopover","returnFocus","_a","togglePopover","onDayClick","picked","onDocumentMousedown","event","onWindowKeydown","watch","isOpen","onBeforeUnmount","_createElementBlock","_normalizeClass","_hoisted_2","_createElementVNode","_hoisted_4","_toDisplayString","_renderSlot","_ctx","_createVNode","PaIcon","_unref","VDatePicker","_withCtx","click","_vShow","_hoisted_8"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default, default as PaDatePicker } from './PaDatePicker.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type PaDrawerPosition = 'right' | 'left' | 'top' | 'bottom';
|
|
2
|
+
export type PaDrawerSize = 'sm' | 'md' | 'lg';
|
|
3
|
+
export interface PaDrawerProps {
|
|
4
|
+
title?: string;
|
|
5
|
+
titleLevel?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
6
|
+
showClose?: boolean;
|
|
7
|
+
closeLabel?: string;
|
|
8
|
+
position?: PaDrawerPosition;
|
|
9
|
+
size?: PaDrawerSize;
|
|
10
|
+
id?: string;
|
|
11
|
+
}
|
|
12
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<PaDrawerProps & {
|
|
13
|
+
open?: boolean;
|
|
14
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
15
|
+
"update:open": (value: boolean) => any;
|
|
16
|
+
}, string, import("vue").PublicProps, Readonly<PaDrawerProps & {
|
|
17
|
+
open?: boolean;
|
|
18
|
+
}> & Readonly<{
|
|
19
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
20
|
+
}>, {
|
|
21
|
+
size: PaDrawerSize;
|
|
22
|
+
titleLevel: 1 | 2 | 3 | 4 | 5 | 6;
|
|
23
|
+
showClose: boolean;
|
|
24
|
+
closeLabel: string;
|
|
25
|
+
position: PaDrawerPosition;
|
|
26
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
27
|
+
default?: (props: {}) => any;
|
|
28
|
+
} & {
|
|
29
|
+
footer?: (props: {}) => any;
|
|
30
|
+
}>;
|
|
31
|
+
export default _default;
|
|
32
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
33
|
+
new (): {
|
|
34
|
+
$slots: S;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaDrawer.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { defineComponent as M, useModel as O, computed as f, ref as x, watch as U, nextTick as P, onBeforeUnmount as q, openBlock as n, createBlock as D, Teleport as j, createElementVNode as v, normalizeClass as R, createVNode as w, Transition as S, withCtx as y, createElementBlock as p, createCommentVNode as i, resolveDynamicComponent as G, createTextVNode as H, toDisplayString as J, renderSlot as T, mergeModels as Q } from "vue";
|
|
2
|
+
import X from "../PaIcon/PaIcon.vue.js";
|
|
3
|
+
const Y = ["aria-labelledby"], Z = { class: "pa-drawer__header" }, ee = ["aria-label"], te = { class: "pa-drawer__body" }, oe = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "pa-drawer__footer"
|
|
6
|
+
};
|
|
7
|
+
let ae = 0;
|
|
8
|
+
function le() {
|
|
9
|
+
return ++ae;
|
|
10
|
+
}
|
|
11
|
+
const ie = /* @__PURE__ */ M({
|
|
12
|
+
__name: "PaDrawer",
|
|
13
|
+
props: /* @__PURE__ */ Q({
|
|
14
|
+
title: {},
|
|
15
|
+
titleLevel: { default: 2 },
|
|
16
|
+
showClose: { type: Boolean, default: !0 },
|
|
17
|
+
closeLabel: { default: "Chiudi" },
|
|
18
|
+
position: { default: "right" },
|
|
19
|
+
size: { default: "md" },
|
|
20
|
+
id: {}
|
|
21
|
+
}, {
|
|
22
|
+
open: { type: Boolean, default: !1 },
|
|
23
|
+
openModifiers: {}
|
|
24
|
+
}),
|
|
25
|
+
emits: ["update:open"],
|
|
26
|
+
setup(t) {
|
|
27
|
+
const d = t, l = O(t, "open"), A = le(), z = f(() => d.id ?? `pa-drawer-${A}`), b = f(() => `${z.value}__title`), K = f(() => d.title ? b.value : void 0), N = f(() => `h${d.titleLevel}`), o = x(null), m = x(null);
|
|
28
|
+
let r = null, h = "", _ = "", s = !1, c = !1;
|
|
29
|
+
const V = 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
|
|
30
|
+
function k(e) {
|
|
31
|
+
return Array.from(e.querySelectorAll(V));
|
|
32
|
+
}
|
|
33
|
+
function W(e) {
|
|
34
|
+
if (e.key !== "Tab" || !o.value) return;
|
|
35
|
+
const a = k(o.value);
|
|
36
|
+
if (a.length === 0) {
|
|
37
|
+
e.preventDefault(), o.value.focus();
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const $ = a[0], L = a[a.length - 1], u = document.activeElement;
|
|
41
|
+
e.shiftKey ? (u === $ || !o.value.contains(u)) && (e.preventDefault(), L.focus()) : (u === L || !o.value.contains(u)) && (e.preventDefault(), $.focus());
|
|
42
|
+
}
|
|
43
|
+
function g(e) {
|
|
44
|
+
e.key === "Escape" && (e.preventDefault(), l.value = !1);
|
|
45
|
+
}
|
|
46
|
+
function F() {
|
|
47
|
+
if (s) return;
|
|
48
|
+
h = document.body.style.overflow, _ = document.body.style.paddingRight;
|
|
49
|
+
const e = window.innerWidth - document.documentElement.clientWidth;
|
|
50
|
+
document.body.style.overflow = "hidden", e > 0 && (document.body.style.paddingRight = `${e}px`), s = !0;
|
|
51
|
+
}
|
|
52
|
+
function E() {
|
|
53
|
+
s && (document.body.style.overflow = h, document.body.style.paddingRight = _, s = !1);
|
|
54
|
+
}
|
|
55
|
+
function I() {
|
|
56
|
+
c || (window.addEventListener("keydown", g), c = !0);
|
|
57
|
+
}
|
|
58
|
+
function C() {
|
|
59
|
+
c && (window.removeEventListener("keydown", g), c = !1);
|
|
60
|
+
}
|
|
61
|
+
U(
|
|
62
|
+
l,
|
|
63
|
+
async (e) => {
|
|
64
|
+
if (e) {
|
|
65
|
+
if (r = document.activeElement, F(), I(), await P(), d.showClose && m.value)
|
|
66
|
+
m.value.focus();
|
|
67
|
+
else if (o.value) {
|
|
68
|
+
const a = k(o.value);
|
|
69
|
+
a.length > 0 ? a[0].focus() : o.value.focus();
|
|
70
|
+
}
|
|
71
|
+
} else
|
|
72
|
+
C(), E(), r && document.contains(r) && r.focus(), r = null;
|
|
73
|
+
},
|
|
74
|
+
{ flush: "post", immediate: !0 }
|
|
75
|
+
), q(() => {
|
|
76
|
+
C(), E();
|
|
77
|
+
});
|
|
78
|
+
function B() {
|
|
79
|
+
l.value = !1;
|
|
80
|
+
}
|
|
81
|
+
return (e, a) => (n(), D(j, { to: "body" }, [
|
|
82
|
+
v("div", {
|
|
83
|
+
class: R(["pa-drawer__wrapper", { "pa-drawer__wrapper--active": l.value }])
|
|
84
|
+
}, [
|
|
85
|
+
w(S, {
|
|
86
|
+
name: "pa-drawer-backdrop",
|
|
87
|
+
appear: ""
|
|
88
|
+
}, {
|
|
89
|
+
default: y(() => [
|
|
90
|
+
l.value ? (n(), p("div", {
|
|
91
|
+
key: 0,
|
|
92
|
+
class: "pa-drawer__backdrop",
|
|
93
|
+
onClick: B
|
|
94
|
+
})) : i("", !0)
|
|
95
|
+
]),
|
|
96
|
+
_: 1
|
|
97
|
+
}),
|
|
98
|
+
w(S, {
|
|
99
|
+
name: `pa-drawer-${t.position}`,
|
|
100
|
+
appear: ""
|
|
101
|
+
}, {
|
|
102
|
+
default: y(() => [
|
|
103
|
+
l.value ? (n(), p("div", {
|
|
104
|
+
key: 0,
|
|
105
|
+
ref_key: "drawerRef",
|
|
106
|
+
ref: o,
|
|
107
|
+
role: "dialog",
|
|
108
|
+
"aria-modal": "true",
|
|
109
|
+
tabindex: "-1",
|
|
110
|
+
"aria-labelledby": K.value,
|
|
111
|
+
class: R([
|
|
112
|
+
"pa-drawer",
|
|
113
|
+
`pa-drawer--${t.position}`,
|
|
114
|
+
`pa-drawer--${t.size}`
|
|
115
|
+
]),
|
|
116
|
+
onKeydown: W
|
|
117
|
+
}, [
|
|
118
|
+
v("div", Z, [
|
|
119
|
+
t.title ? (n(), D(G(N.value), {
|
|
120
|
+
key: 0,
|
|
121
|
+
id: b.value,
|
|
122
|
+
class: "pa-drawer__title"
|
|
123
|
+
}, {
|
|
124
|
+
default: y(() => [
|
|
125
|
+
H(J(t.title), 1)
|
|
126
|
+
]),
|
|
127
|
+
_: 1
|
|
128
|
+
}, 8, ["id"])) : i("", !0),
|
|
129
|
+
t.showClose ? (n(), p("button", {
|
|
130
|
+
key: 1,
|
|
131
|
+
ref_key: "closeButtonRef",
|
|
132
|
+
ref: m,
|
|
133
|
+
type: "button",
|
|
134
|
+
class: "pa-drawer__close",
|
|
135
|
+
"aria-label": t.closeLabel,
|
|
136
|
+
onClick: B
|
|
137
|
+
}, [
|
|
138
|
+
w(X, {
|
|
139
|
+
name: "x",
|
|
140
|
+
size: "sm"
|
|
141
|
+
})
|
|
142
|
+
], 8, ee)) : i("", !0)
|
|
143
|
+
]),
|
|
144
|
+
v("div", te, [
|
|
145
|
+
T(e.$slots, "default", {}, void 0, !0)
|
|
146
|
+
]),
|
|
147
|
+
e.$slots.footer ? (n(), p("div", oe, [
|
|
148
|
+
T(e.$slots, "footer", {}, void 0, !0)
|
|
149
|
+
])) : i("", !0)
|
|
150
|
+
], 42, Y)) : i("", !0)
|
|
151
|
+
]),
|
|
152
|
+
_: 3
|
|
153
|
+
}, 8, ["name"])
|
|
154
|
+
], 2)
|
|
155
|
+
]));
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
export {
|
|
159
|
+
ie as default
|
|
160
|
+
};
|
|
161
|
+
//# sourceMappingURL=PaDrawer.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaDrawer.vue2.js","sources":["../../../src/components/PaDrawer/PaDrawer.vue"],"sourcesContent":["<script lang=\"ts\">\nlet drawerUid = 0\nfunction nextDrawerId() {\n return ++drawerUid\n}\n\nexport type PaDrawerPosition = 'right' | 'left' | 'top' | 'bottom'\nexport type PaDrawerSize = 'sm' | 'md' | 'lg'\n\nexport interface PaDrawerProps {\n title?: string\n titleLevel?: 1 | 2 | 3 | 4 | 5 | 6\n showClose?: boolean\n closeLabel?: string\n position?: PaDrawerPosition\n size?: PaDrawerSize\n id?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, nextTick, onBeforeUnmount, ref, watch } from 'vue'\nimport PaIcon from '../PaIcon/PaIcon.vue'\n\nconst props = withDefaults(defineProps<PaDrawerProps>(), {\n titleLevel: 2,\n showClose: true,\n closeLabel: 'Chiudi',\n position: 'right',\n size: 'md',\n})\n\nconst open = defineModel<boolean>('open', { default: false })\n\nconst uid = nextDrawerId()\nconst baseId = computed(() => props.id ?? `pa-drawer-${uid}`)\nconst titleId = computed(() => `${baseId.value}__title`)\nconst labelledBy = computed(() => (props.title ? titleId.value : undefined))\nconst titleTag = computed(() => `h${props.titleLevel}` as const)\n\nconst drawerRef = ref<HTMLElement | null>(null)\nconst closeButtonRef = ref<HTMLButtonElement | null>(null)\n\nlet previouslyFocusedElement: HTMLElement | null = null\nlet originalBodyOverflow = ''\nlet originalBodyPaddingRight = ''\nlet scrollLockActive = false\nlet escListenerAttached = false\n\nconst FOCUSABLE_SELECTOR =\n 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])'\n\nfunction getFocusable(root: HTMLElement): HTMLElement[] {\n return Array.from(root.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR))\n}\n\nfunction onDrawerKeydown(event: KeyboardEvent) {\n if (event.key !== 'Tab' || !drawerRef.value) return\n const focusable = getFocusable(drawerRef.value)\n if (focusable.length === 0) {\n event.preventDefault()\n drawerRef.value.focus()\n return\n }\n const first = focusable[0]!\n const last = focusable[focusable.length - 1]!\n const active = document.activeElement as HTMLElement | null\n if (event.shiftKey) {\n if (active === first || !drawerRef.value.contains(active)) {\n event.preventDefault()\n last.focus()\n }\n } else {\n if (active === last || !drawerRef.value.contains(active)) {\n event.preventDefault()\n first.focus()\n }\n }\n}\n\nfunction onWindowKeydownEsc(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n event.preventDefault()\n open.value = false\n }\n}\n\nfunction lockScroll() {\n if (scrollLockActive) return\n originalBodyOverflow = document.body.style.overflow\n originalBodyPaddingRight = document.body.style.paddingRight\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth\n document.body.style.overflow = 'hidden'\n if (scrollbarWidth > 0) {\n document.body.style.paddingRight = `${scrollbarWidth}px`\n }\n scrollLockActive = true\n}\n\nfunction unlockScroll() {\n if (!scrollLockActive) return\n document.body.style.overflow = originalBodyOverflow\n document.body.style.paddingRight = originalBodyPaddingRight\n scrollLockActive = false\n}\n\nfunction attachEsc() {\n if (escListenerAttached) return\n window.addEventListener('keydown', onWindowKeydownEsc)\n escListenerAttached = true\n}\n\nfunction detachEsc() {\n if (!escListenerAttached) return\n window.removeEventListener('keydown', onWindowKeydownEsc)\n escListenerAttached = false\n}\n\nwatch(\n open,\n async (next) => {\n if (next) {\n previouslyFocusedElement = document.activeElement as HTMLElement | null\n lockScroll()\n attachEsc()\n await nextTick()\n if (props.showClose && closeButtonRef.value) {\n closeButtonRef.value.focus()\n } else if (drawerRef.value) {\n const focusable = getFocusable(drawerRef.value)\n if (focusable.length > 0) {\n focusable[0]!.focus()\n } else {\n drawerRef.value.focus()\n }\n }\n } else {\n detachEsc()\n unlockScroll()\n if (previouslyFocusedElement && document.contains(previouslyFocusedElement)) {\n previouslyFocusedElement.focus()\n }\n previouslyFocusedElement = null\n }\n },\n { flush: 'post', immediate: true },\n)\n\nonBeforeUnmount(() => {\n detachEsc()\n unlockScroll()\n})\n\nfunction close() {\n open.value = false\n}\n</script>\n\n<template>\n <Teleport to=\"body\">\n <div class=\"pa-drawer__wrapper\" :class=\"{ 'pa-drawer__wrapper--active': open }\">\n <Transition name=\"pa-drawer-backdrop\" appear>\n <div v-if=\"open\" class=\"pa-drawer__backdrop\" @click=\"close\" />\n </Transition>\n <Transition :name=\"`pa-drawer-${position}`\" appear>\n <div\n v-if=\"open\"\n ref=\"drawerRef\"\n role=\"dialog\"\n aria-modal=\"true\"\n tabindex=\"-1\"\n :aria-labelledby=\"labelledBy\"\n :class=\"[\n 'pa-drawer',\n `pa-drawer--${position}`,\n `pa-drawer--${size}`,\n ]\"\n @keydown=\"onDrawerKeydown\"\n >\n <div class=\"pa-drawer__header\">\n <component\n :is=\"titleTag\"\n v-if=\"title\"\n :id=\"titleId\"\n class=\"pa-drawer__title\"\n >\n {{ title }}\n </component>\n <button\n v-if=\"showClose\"\n ref=\"closeButtonRef\"\n type=\"button\"\n class=\"pa-drawer__close\"\n :aria-label=\"closeLabel\"\n @click=\"close\"\n >\n <PaIcon name=\"x\" size=\"sm\" />\n </button>\n </div>\n <div class=\"pa-drawer__body\">\n <slot />\n </div>\n <div v-if=\"$slots.footer\" class=\"pa-drawer__footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n </Transition>\n </div>\n </Teleport>\n</template>\n\n<style scoped>\n.pa-drawer__wrapper {\n position: fixed;\n inset: 0;\n z-index: 1000;\n container-type: inline-size;\n pointer-events: none;\n}\n\n.pa-drawer__backdrop {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.5);\n z-index: 1000;\n pointer-events: auto;\n}\n\n.pa-drawer {\n position: fixed;\n z-index: 1001;\n background: var(--pa-color-bg-white);\n box-shadow: var(--pa-shadow-elevation-01);\n display: flex;\n flex-direction: column;\n padding: 32px;\n pointer-events: auto;\n font-family: var(--pa-font-family-base);\n box-sizing: border-box;\n}\n\n.pa-drawer:focus {\n outline: none;\n}\n\n.pa-drawer--sm {\n --pa-drawer-width: 400px;\n --pa-drawer-height: 320px;\n}\n\n.pa-drawer--md {\n --pa-drawer-width: 550px;\n --pa-drawer-height: 480px;\n}\n\n.pa-drawer--lg {\n --pa-drawer-width: 720px;\n --pa-drawer-height: 640px;\n}\n\n.pa-drawer--right {\n top: 0;\n right: 0;\n height: 100vh;\n width: var(--pa-drawer-width);\n max-width: 100vw;\n}\n\n.pa-drawer--left {\n top: 0;\n left: 0;\n height: 100vh;\n width: var(--pa-drawer-width);\n max-width: 100vw;\n}\n\n.pa-drawer--top {\n top: 0;\n left: 0;\n width: 100vw;\n height: var(--pa-drawer-height);\n max-height: 100vh;\n}\n\n.pa-drawer--bottom {\n bottom: 0;\n left: 0;\n width: 100vw;\n height: var(--pa-drawer-height);\n max-height: 100vh;\n}\n\n.pa-drawer__header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--pa-space-sm);\n width: 100%;\n flex-shrink: 0;\n}\n\n.pa-drawer__title {\n margin: 0;\n flex: 1 1 auto;\n min-width: 0;\n font-weight: 600;\n font-size: 20px;\n line-height: 24px;\n letter-spacing: -0.5px;\n color: var(--pa-color-primary);\n}\n\n.pa-drawer__close {\n flex: 0 0 auto;\n width: 44px;\n height: 44px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--pa-radius-smooth);\n background: transparent;\n border: none;\n color: var(--pa-color-primary);\n cursor: pointer;\n padding: 0;\n margin: -10px -10px 0 0;\n}\n\n.pa-drawer__close:hover {\n background: var(--pa-color-bg-secondary-light-50);\n}\n\n.pa-drawer__close:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-primary-focus-border);\n outline-offset: 2px;\n}\n\n.pa-drawer__body {\n flex: 1 1 auto;\n overflow-y: auto;\n width: 100%;\n margin-top: var(--pa-space-sm);\n}\n\n.pa-drawer__footer {\n display: flex;\n align-items: center;\n gap: var(--pa-space-sm);\n min-height: 64px;\n padding: var(--pa-space-xs) var(--pa-space-lg);\n margin: 0 calc(-1 * var(--pa-space-lg)) calc(-1 * var(--pa-space-lg))\n calc(-1 * var(--pa-space-lg));\n background: var(--pa-color-primary);\n color: var(--pa-color-text-white);\n flex-shrink: 0;\n}\n\n.pa-drawer-backdrop-enter-from,\n.pa-drawer-backdrop-leave-to {\n opacity: 0;\n}\n\n.pa-drawer-backdrop-enter-active {\n transition: opacity 200ms ease-out;\n}\n\n.pa-drawer-backdrop-leave-active {\n transition: opacity 200ms ease-in;\n}\n\n.pa-drawer-right-enter-from,\n.pa-drawer-right-leave-to {\n transform: translateX(100%);\n}\n\n.pa-drawer-left-enter-from,\n.pa-drawer-left-leave-to {\n transform: translateX(-100%);\n}\n\n.pa-drawer-top-enter-from,\n.pa-drawer-top-leave-to {\n transform: translateY(-100%);\n}\n\n.pa-drawer-bottom-enter-from,\n.pa-drawer-bottom-leave-to {\n transform: translateY(100%);\n}\n\n.pa-drawer-right-enter-active,\n.pa-drawer-left-enter-active,\n.pa-drawer-top-enter-active,\n.pa-drawer-bottom-enter-active {\n transition: transform 250ms ease-out;\n}\n\n.pa-drawer-right-leave-active,\n.pa-drawer-left-leave-active,\n.pa-drawer-top-leave-active,\n.pa-drawer-bottom-leave-active {\n transition: transform 200ms ease-in;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .pa-drawer-backdrop-enter-active,\n .pa-drawer-backdrop-leave-active,\n .pa-drawer-right-enter-active,\n .pa-drawer-right-leave-active,\n .pa-drawer-left-enter-active,\n .pa-drawer-left-leave-active,\n .pa-drawer-top-enter-active,\n .pa-drawer-top-leave-active,\n .pa-drawer-bottom-enter-active,\n .pa-drawer-bottom-leave-active {\n transition-duration: 0ms;\n }\n}\n\n@container (max-width: 600px) {\n .pa-drawer {\n padding: var(--pa-space-md);\n }\n\n .pa-drawer--right,\n .pa-drawer--left {\n width: 100vw;\n max-width: none;\n }\n\n .pa-drawer--top,\n .pa-drawer--bottom {\n height: 100vh;\n max-height: none;\n }\n\n .pa-drawer__title {\n font-size: 18px;\n line-height: 22px;\n }\n\n .pa-drawer__footer {\n padding: var(--pa-space-xs) var(--pa-space-md);\n margin: 0 calc(-1 * var(--pa-space-md)) calc(-1 * var(--pa-space-md))\n calc(-1 * var(--pa-space-md));\n }\n}\n</style>\n"],"names":["drawerUid","nextDrawerId","props","__props","open","_useModel","uid","baseId","computed","titleId","labelledBy","titleTag","drawerRef","ref","closeButtonRef","previouslyFocusedElement","originalBodyOverflow","originalBodyPaddingRight","scrollLockActive","escListenerAttached","FOCUSABLE_SELECTOR","getFocusable","root","onDrawerKeydown","event","focusable","first","last","active","onWindowKeydownEsc","lockScroll","scrollbarWidth","unlockScroll","attachEsc","detachEsc","watch","next","nextTick","onBeforeUnmount","close","_createBlock","_Teleport","_createElementVNode","_normalizeClass","_createVNode","_Transition","_createElementBlock","_hoisted_2","_openBlock","_resolveDynamicComponent","PaIcon","_hoisted_4","_renderSlot","_ctx","$slots","_hoisted_5"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type PaDrawerInfoRowVariant = 'header' | 'text' | 'text-multiline' | 'link' | 'number' | 'date';
|
|
2
|
+
export interface PaDrawerInfoRowProps {
|
|
3
|
+
variant: PaDrawerInfoRowVariant;
|
|
4
|
+
label?: string;
|
|
5
|
+
value?: string;
|
|
6
|
+
href?: string;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<PaDrawerInfoRowProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<PaDrawerInfoRowProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
9
|
+
label?: (props: {}) => any;
|
|
10
|
+
} & {
|
|
11
|
+
value?: (props: {}) => any;
|
|
12
|
+
} & {
|
|
13
|
+
value?: (props: {}) => any;
|
|
14
|
+
} & {
|
|
15
|
+
value?: (props: {}) => any;
|
|
16
|
+
} & {
|
|
17
|
+
value?: (props: {}) => any;
|
|
18
|
+
}>;
|
|
19
|
+
export default _default;
|
|
20
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
21
|
+
new (): {
|
|
22
|
+
$slots: S;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import o from "./PaDrawerInfoRow.vue2.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import r from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const f = /* @__PURE__ */ r(o, [["__scopeId", "data-v-7a4511e8"]]);
|
|
5
|
+
export {
|
|
6
|
+
f as default
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=PaDrawerInfoRow.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaDrawerInfoRow.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { defineComponent as _, useSlots as p, computed as o, openBlock as l, createElementBlock as r, normalizeClass as i, renderSlot as t, createTextVNode as s, toDisplayString as u, createCommentVNode as c, Fragment as b } from "vue";
|
|
2
|
+
const y = {
|
|
3
|
+
key: 0,
|
|
4
|
+
class: "pa-drawer-info-row__label"
|
|
5
|
+
}, $ = ["href"], V = {
|
|
6
|
+
key: 1,
|
|
7
|
+
class: /* @__PURE__ */ i([
|
|
8
|
+
"pa-drawer-info-row__value",
|
|
9
|
+
"pa-drawer-info-row__value--link"
|
|
10
|
+
])
|
|
11
|
+
}, C = {
|
|
12
|
+
key: 2,
|
|
13
|
+
class: /* @__PURE__ */ i([
|
|
14
|
+
"pa-drawer-info-row__value",
|
|
15
|
+
"pa-drawer-info-row__value--mono"
|
|
16
|
+
])
|
|
17
|
+
}, B = /* @__PURE__ */ _({
|
|
18
|
+
__name: "PaDrawerInfoRow",
|
|
19
|
+
props: {
|
|
20
|
+
variant: {},
|
|
21
|
+
label: {},
|
|
22
|
+
value: {},
|
|
23
|
+
href: {}
|
|
24
|
+
},
|
|
25
|
+
setup(e) {
|
|
26
|
+
const a = e, v = p(), d = o(() => !!v.label || !!a.label), f = o(() => !!v.value || !!a.value), m = o(() => a.variant !== "header" && f.value), h = o(
|
|
27
|
+
() => a.variant === "number" || a.variant === "date"
|
|
28
|
+
), w = o(() => a.variant === "link"), k = o(() => a.variant === "text-multiline");
|
|
29
|
+
return (n, S) => (l(), r("div", {
|
|
30
|
+
class: i(["pa-drawer-info-row", `pa-drawer-info-row--${e.variant}`])
|
|
31
|
+
}, [
|
|
32
|
+
d.value ? (l(), r("p", y, [
|
|
33
|
+
t(n.$slots, "label", {}, () => [
|
|
34
|
+
s(u(e.label), 1)
|
|
35
|
+
], !0)
|
|
36
|
+
])) : c("", !0),
|
|
37
|
+
m.value ? (l(), r(b, { key: 1 }, [
|
|
38
|
+
w.value && e.href ? (l(), r("a", {
|
|
39
|
+
key: 0,
|
|
40
|
+
href: e.href,
|
|
41
|
+
class: i([
|
|
42
|
+
"pa-drawer-info-row__value",
|
|
43
|
+
"pa-drawer-info-row__value--link"
|
|
44
|
+
])
|
|
45
|
+
}, [
|
|
46
|
+
t(n.$slots, "value", {}, () => [
|
|
47
|
+
s(u(e.value), 1)
|
|
48
|
+
], !0)
|
|
49
|
+
], 8, $)) : w.value ? (l(), r("span", V, [
|
|
50
|
+
t(n.$slots, "value", {}, () => [
|
|
51
|
+
s(u(e.value), 1)
|
|
52
|
+
], !0)
|
|
53
|
+
])) : h.value ? (l(), r("span", C, [
|
|
54
|
+
t(n.$slots, "value", {}, () => [
|
|
55
|
+
s(u(e.value), 1)
|
|
56
|
+
], !0)
|
|
57
|
+
])) : (l(), r("p", {
|
|
58
|
+
key: 3,
|
|
59
|
+
class: i([
|
|
60
|
+
"pa-drawer-info-row__value",
|
|
61
|
+
{ "pa-drawer-info-row__value--multiline": k.value }
|
|
62
|
+
])
|
|
63
|
+
}, [
|
|
64
|
+
t(n.$slots, "value", {}, () => [
|
|
65
|
+
s(u(e.value), 1)
|
|
66
|
+
], !0)
|
|
67
|
+
], 2))
|
|
68
|
+
], 64)) : c("", !0)
|
|
69
|
+
], 2));
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
export {
|
|
73
|
+
B as default
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=PaDrawerInfoRow.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaDrawerInfoRow.vue2.js","sources":["../../../src/components/PaDrawer/PaDrawerInfoRow.vue"],"sourcesContent":["<script lang=\"ts\">\nexport type PaDrawerInfoRowVariant =\n | 'header'\n | 'text'\n | 'text-multiline'\n | 'link'\n | 'number'\n | 'date'\n\nexport interface PaDrawerInfoRowProps {\n variant: PaDrawerInfoRowVariant\n label?: string\n value?: string\n href?: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, useSlots } from 'vue'\n\nconst props = defineProps<PaDrawerInfoRowProps>()\n\nconst slots = useSlots()\n\nconst hasLabel = computed(() => !!slots.label || !!props.label)\nconst hasValue = computed(() => !!slots.value || !!props.value)\nconst showValue = computed(() => props.variant !== 'header' && hasValue.value)\nconst isMono = computed(\n () => props.variant === 'number' || props.variant === 'date',\n)\nconst isLink = computed(() => props.variant === 'link')\nconst isMultiline = computed(() => props.variant === 'text-multiline')\n</script>\n\n<template>\n <div :class=\"['pa-drawer-info-row', `pa-drawer-info-row--${variant}`]\">\n <p v-if=\"hasLabel\" class=\"pa-drawer-info-row__label\">\n <slot name=\"label\">{{ label }}</slot>\n </p>\n <template v-if=\"showValue\">\n <a\n v-if=\"isLink && href\"\n :href=\"href\"\n :class=\"[\n 'pa-drawer-info-row__value',\n 'pa-drawer-info-row__value--link',\n ]\"\n >\n <slot name=\"value\">{{ value }}</slot>\n </a>\n <span\n v-else-if=\"isLink\"\n :class=\"[\n 'pa-drawer-info-row__value',\n 'pa-drawer-info-row__value--link',\n ]\"\n >\n <slot name=\"value\">{{ value }}</slot>\n </span>\n <span\n v-else-if=\"isMono\"\n :class=\"[\n 'pa-drawer-info-row__value',\n 'pa-drawer-info-row__value--mono',\n ]\"\n >\n <slot name=\"value\">{{ value }}</slot>\n </span>\n <p\n v-else\n :class=\"[\n 'pa-drawer-info-row__value',\n { 'pa-drawer-info-row__value--multiline': isMultiline },\n ]\"\n >\n <slot name=\"value\">{{ value }}</slot>\n </p>\n </template>\n </div>\n</template>\n\n<style scoped>\n.pa-drawer-info-row {\n display: flex;\n flex-direction: column;\n gap: var(--pa-space-2xs);\n width: 100%;\n padding: 12px 0;\n border-bottom: var(--pa-border-xs) solid var(--pa-color-bg-primary-light-50);\n font-family: var(--pa-font-family-base);\n box-sizing: border-box;\n}\n\n.pa-drawer-info-row:last-child {\n border-bottom: none;\n}\n\n.pa-drawer-info-row__label {\n margin: 0;\n font-size: 16px;\n line-height: 20px;\n font-weight: 600;\n color: var(--pa-color-text-secondary-gray);\n}\n\n.pa-drawer-info-row__value {\n margin: 0;\n font-size: 16px;\n line-height: 20px;\n font-weight: 400;\n color: var(--pa-color-text-secondary-gray);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.pa-drawer-info-row__value--multiline {\n white-space: normal;\n overflow: visible;\n overflow-wrap: anywhere;\n text-overflow: clip;\n}\n\n.pa-drawer-info-row__value--link {\n font-weight: 600;\n color: var(--pa-color-primary);\n text-decoration: none;\n white-space: normal;\n overflow: visible;\n text-overflow: clip;\n}\n\n.pa-drawer-info-row__value--link:hover,\n.pa-drawer-info-row__value--link:focus-visible {\n text-decoration: underline;\n}\n\n.pa-drawer-info-row__value--mono {\n font-family: var(--pa-font-family-mono);\n font-size: 16px;\n line-height: 24px;\n white-space: normal;\n overflow: visible;\n text-overflow: clip;\n}\n</style>\n"],"names":["props","__props","slots","useSlots","hasLabel","computed","hasValue","showValue","isMono","isLink","isMultiline","_createElementBlock","_openBlock","_hoisted_1","_renderSlot","_ctx","_Fragment","_normalizeClass","_hoisted_3","_hoisted_4"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,UAAMA,IAAQC,GAERC,IAAQC,EAAA,GAERC,IAAWC,EAAS,MAAM,CAAC,CAACH,EAAM,SAAS,CAAC,CAACF,EAAM,KAAK,GACxDM,IAAWD,EAAS,MAAM,CAAC,CAACH,EAAM,SAAS,CAAC,CAACF,EAAM,KAAK,GACxDO,IAAYF,EAAS,MAAML,EAAM,YAAY,YAAYM,EAAS,KAAK,GACvEE,IAASH;AAAA,MACb,MAAML,EAAM,YAAY,YAAYA,EAAM,YAAY;AAAA,IAAA,GAElDS,IAASJ,EAAS,MAAML,EAAM,YAAY,MAAM,GAChDU,IAAcL,EAAS,MAAML,EAAM,YAAY,gBAAgB;2BAInEW,EA2CM,OAAA;AAAA,MA3CA,uDAAqDV,EAAA,OAAO,EAAA,CAAA;AAAA,IAAA;MACvDG,EAAA,SAATQ,EAAA,GAAAD,EAEI,KAFJE,GAEI;AAAA,QADFC,EAAqCC,uBAArC,MAAqC;AAAA,cAAfd,EAAA,KAAK,GAAA,CAAA;AAAA,QAAA;;MAEbM,EAAA,cAAhBI,EAsCWK,GAAA,EAAA,KAAA,KAAA;AAAA,QApCDP,EAAA,SAAUR,EAAA,aADlBU,EASI,KAAA;AAAA;UAPD,MAAMV,EAAA;AAAA,UACN,OAAKgB,EAAE;AAAA;;WAGP;AAAA,QAAA;UAEDH,EAAqCC,uBAArC,MAAqC;AAAA,gBAAfd,EAAA,KAAK,GAAA,CAAA;AAAA,UAAA;oBAGhBQ,EAAA,SADbG,KAAAD,EAQO,QARPO,GAQO;AAAA,UADLJ,EAAqCC,uBAArC,MAAqC;AAAA,gBAAfd,EAAA,KAAK,GAAA,CAAA;AAAA,UAAA;cAGhBO,EAAA,SADbI,KAAAD,EAQO,QARPQ,GAQO;AAAA,UADLL,EAAqCC,uBAArC,MAAqC;AAAA,gBAAfd,EAAA,KAAK,GAAA,CAAA;AAAA,UAAA;oBAE7BU,EAQI,KAAA;AAAA;UAND,OAAKM,EAAA;AAAA;sDAA+FP,EAAA,MAAA;AAAA,UAAW;;UAKhHI,EAAqCC,uBAArC,MAAqC;AAAA,gBAAfd,EAAA,KAAK,GAAA,CAAA;AAAA,UAAA;;;;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { default, default as PaDrawer } from './PaDrawer.vue';
|
|
2
|
+
export type { PaDrawerProps, PaDrawerPosition, PaDrawerSize, } from './PaDrawer.vue';
|
|
3
|
+
export { default as PaDrawerInfoRow } from './PaDrawerInfoRow.vue';
|
|
4
|
+
export type { PaDrawerInfoRowProps, PaDrawerInfoRowVariant, } from './PaDrawerInfoRow.vue';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { PaIconName, PaIconSize } from '../PaIcon';
|
|
2
|
+
export type PaFabVariant = 'primary' | 'inverse';
|
|
3
|
+
export type PaFabSize = 'sm' | 'md';
|
|
4
|
+
export interface PaFabProps {
|
|
5
|
+
icon: PaIconName;
|
|
6
|
+
variant?: PaFabVariant;
|
|
7
|
+
size?: PaFabSize;
|
|
8
|
+
extended?: boolean;
|
|
9
|
+
label?: string;
|
|
10
|
+
ariaLabel?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare const PA_FAB_ICON_SIZE: Record<PaFabSize, PaIconSize>;
|
|
13
|
+
declare const _default: import("vue").DefineComponent<PaFabProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<PaFabProps> & Readonly<{}>, {
|
|
14
|
+
variant: PaFabVariant;
|
|
15
|
+
size: PaFabSize;
|
|
16
|
+
extended: boolean;
|
|
17
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import o from "./PaFab.vue2.js";
|
|
2
|
+
import { PA_FAB_ICON_SIZE as c } from "./PaFab.vue2.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import f from "../../_virtual/_plugin-vue_export-helper.js";
|
|
5
|
+
const a = /* @__PURE__ */ f(o, [["__scopeId", "data-v-7fffbc6a"]]);
|
|
6
|
+
export {
|
|
7
|
+
c as PA_FAB_ICON_SIZE,
|
|
8
|
+
a as default
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=PaFab.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaFab.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { defineComponent as i, computed as o, openBlock as t, createElementBlock as n, normalizeClass as d, createVNode as c, toDisplayString as s, createCommentVNode as m } from "vue";
|
|
2
|
+
import r from "../PaIcon/PaIcon.vue.js";
|
|
3
|
+
const b = ["aria-label"], f = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "pa-fab__label"
|
|
6
|
+
}, u = {
|
|
7
|
+
sm: "md",
|
|
8
|
+
md: "lg"
|
|
9
|
+
}, B = /* @__PURE__ */ i({
|
|
10
|
+
__name: "PaFab",
|
|
11
|
+
props: {
|
|
12
|
+
icon: {},
|
|
13
|
+
variant: { default: "primary" },
|
|
14
|
+
size: { default: "md" },
|
|
15
|
+
extended: { type: Boolean, default: !1 },
|
|
16
|
+
label: {},
|
|
17
|
+
ariaLabel: {}
|
|
18
|
+
},
|
|
19
|
+
setup(e) {
|
|
20
|
+
const a = e, l = o(
|
|
21
|
+
() => a.extended ? "lg" : u[a.size]
|
|
22
|
+
);
|
|
23
|
+
return (p, x) => (t(), n("button", {
|
|
24
|
+
type: "button",
|
|
25
|
+
class: d([
|
|
26
|
+
"pa-fab",
|
|
27
|
+
`pa-fab--${e.variant}`,
|
|
28
|
+
e.extended ? "pa-fab--extended" : `pa-fab--${e.size}`
|
|
29
|
+
]),
|
|
30
|
+
"aria-label": e.ariaLabel
|
|
31
|
+
}, [
|
|
32
|
+
c(r, {
|
|
33
|
+
name: e.icon,
|
|
34
|
+
size: l.value
|
|
35
|
+
}, null, 8, ["name", "size"]),
|
|
36
|
+
e.extended ? (t(), n("span", f, s(e.label), 1)) : m("", !0)
|
|
37
|
+
], 10, b));
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
export {
|
|
41
|
+
u as PA_FAB_ICON_SIZE,
|
|
42
|
+
B as default
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=PaFab.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaFab.vue2.js","sources":["../../../src/components/PaFab/PaFab.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PaIconName, PaIconSize } from '../PaIcon'\n\nexport type PaFabVariant = 'primary' | 'inverse'\nexport type PaFabSize = 'sm' | 'md'\n\nexport interface PaFabProps {\n icon: PaIconName\n variant?: PaFabVariant\n size?: PaFabSize\n extended?: boolean\n label?: string\n ariaLabel?: string\n}\n\nexport const PA_FAB_ICON_SIZE: Record<PaFabSize, PaIconSize> = {\n sm: 'md',\n md: 'lg',\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport PaIcon from '../PaIcon/PaIcon.vue'\n\nconst props = withDefaults(defineProps<PaFabProps>(), {\n variant: 'primary',\n size: 'md',\n extended: false,\n})\n\nconst iconSize = computed<PaIconSize>(() =>\n props.extended ? 'lg' : PA_FAB_ICON_SIZE[props.size],\n)\n</script>\n\n<template>\n <button\n type=\"button\"\n :class=\"[\n 'pa-fab',\n `pa-fab--${variant}`,\n extended ? 'pa-fab--extended' : `pa-fab--${size}`,\n ]\"\n :aria-label=\"ariaLabel\"\n >\n <PaIcon :name=\"icon\" :size=\"iconSize\" />\n <span v-if=\"extended\" class=\"pa-fab__label\">{{ label }}</span>\n </button>\n</template>\n\n<style scoped>\n.pa-fab {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n border: none;\n cursor: pointer;\n border-radius: 50%;\n font-family: var(--pa-font-family-base);\n transition: background-color 120ms ease;\n}\n\n.pa-fab:focus { outline: none; }\n\n.pa-fab:focus-visible {\n outline: var(--pa-border-sm) solid var(--pa-color-primary-focus-border);\n outline-offset: 2px;\n}\n\n.pa-fab--md { width: 56px; height: 56px; }\n.pa-fab--sm { width: 40px; height: 40px; }\n\n.pa-fab--extended {\n width: auto;\n height: 44px;\n padding: 0 var(--pa-space-sm);\n border-radius: 22px;\n gap: var(--pa-space-xs);\n}\n\n.pa-fab__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: inherit;\n}\n\n.pa-fab--primary {\n background: var(--pa-color-primary);\n color: var(--pa-color-text-white);\n}\n\n.pa-fab--primary:hover {\n background: var(--pa-color-primary-hover);\n}\n\n.pa-fab--primary:active {\n background: var(--pa-color-primary-pressed);\n}\n\n.pa-fab--inverse {\n background: var(--pa-color-bg-white);\n color: var(--pa-color-text-black);\n}\n\n.pa-fab--inverse:hover {\n background: var(--pa-color-accent-hover);\n}\n\n.pa-fab--inverse:active {\n background: var(--pa-color-accent);\n}\n</style>\n"],"names":["PA_FAB_ICON_SIZE","props","__props","iconSize","computed","_createElementBlock","_normalizeClass","_createVNode","PaIcon","_hoisted_2","_toDisplayString"],"mappings":";;;;;GAeaA,IAAkD;AAAA,EAC7D,IAAI;AAAA,EACJ,IAAI;AACN;;;;;;;;;;;AAOA,UAAMC,IAAQC,GAMRC,IAAWC;AAAA,MAAqB,MACpCH,EAAM,WAAW,OAAOD,EAAiBC,EAAM,IAAI;AAAA,IAAA;2BAKnDI,EAWS,UAAA;AAAA,MAVP,MAAK;AAAA,MACJ,OAAKC,EAAA;AAAA;mBAAqCJ,EAAA,OAAO;AAAA,QAAUA,EAAA,2CAA2CA,EAAA,IAAI;AAAA,MAAA;MAK1G,cAAYA,EAAA;AAAA,IAAA;MAEbK,EAAwCC,GAAA;AAAA,QAA/B,MAAMN,EAAA;AAAA,QAAO,MAAMC,EAAA;AAAA,MAAA;MAChBD,EAAA,iBAAZG,EAA8D,QAA9DI,GAA8DC,EAAfR,EAAA,KAAK,GAAA,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare function nextPaFileUploadId(): string;
|
|
2
|
+
export interface PaFileUploadProps {
|
|
3
|
+
label?: string;
|
|
4
|
+
helperText?: string;
|
|
5
|
+
buttonLabel?: string;
|
|
6
|
+
chipLabel?: (file: File) => string;
|
|
7
|
+
accept?: string;
|
|
8
|
+
maxSize?: number;
|
|
9
|
+
id?: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
error?: string | boolean;
|
|
12
|
+
valid?: boolean;
|
|
13
|
+
required?: boolean;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
declare const _default: import("vue").DefineComponent<PaFileUploadProps & {
|
|
17
|
+
modelValue?: File | null;
|
|
18
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
19
|
+
"update:modelValue": (value: File | null) => any;
|
|
20
|
+
invalid: (args_0: {
|
|
21
|
+
file: File;
|
|
22
|
+
reason: "maxSize" | "accept";
|
|
23
|
+
}) => any;
|
|
24
|
+
}, string, import("vue").PublicProps, Readonly<PaFileUploadProps & {
|
|
25
|
+
modelValue?: File | null;
|
|
26
|
+
}> & Readonly<{
|
|
27
|
+
"onUpdate:modelValue"?: ((value: File | null) => any) | undefined;
|
|
28
|
+
onInvalid?: ((args_0: {
|
|
29
|
+
file: File;
|
|
30
|
+
reason: "maxSize" | "accept";
|
|
31
|
+
}) => any) | undefined;
|
|
32
|
+
}>, {
|
|
33
|
+
error: string | boolean;
|
|
34
|
+
disabled: boolean;
|
|
35
|
+
valid: boolean;
|
|
36
|
+
required: boolean;
|
|
37
|
+
buttonLabel: string;
|
|
38
|
+
chipLabel: (file: File) => string;
|
|
39
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
40
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import o from "./PaFileUpload.vue2.js";
|
|
2
|
+
import { nextPaFileUploadId as f } from "./PaFileUpload.vue2.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import a from "../../_virtual/_plugin-vue_export-helper.js";
|
|
5
|
+
const e = /* @__PURE__ */ a(o, [["__scopeId", "data-v-3ba1b228"]]);
|
|
6
|
+
export {
|
|
7
|
+
e as default,
|
|
8
|
+
f as nextPaFileUploadId
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=PaFileUpload.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaFileUpload.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|