@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,271 @@
|
|
|
1
|
+
import { defineComponent as Z, useModel as ee, computed as h, ref as x, watch as w, nextTick as E, onBeforeUnmount as ae, openBlock as c, createElementBlock as d, normalizeClass as F, toDisplayString as g, createCommentVNode as m, createElementVNode as f, withDirectives as le, vModelText as te, createVNode as P, Fragment as ne, renderList as oe, createBlock as se, mergeModels as H } from "vue";
|
|
2
|
+
import I from "../PaIcon/PaIcon.vue.js";
|
|
3
|
+
const re = ["for"], ie = { class: "pa-search-bar__wrapper" }, ce = { class: "pa-search-bar__input-cell" }, ue = ["id", "aria-expanded", "aria-activedescendant", "placeholder", "disabled"], de = ["aria-label"], fe = ["disabled"], be = { class: "pa-search-bar__button-label" }, pe = ["id", "aria-selected", "aria-disabled", "onClick"], ve = { class: "pa-search-bar__option-label" }, he = {
|
|
4
|
+
key: 2,
|
|
5
|
+
class: "pa-search-bar__helper"
|
|
6
|
+
};
|
|
7
|
+
let me = 0;
|
|
8
|
+
function _e() {
|
|
9
|
+
return `pa-search-bar-${++me}`;
|
|
10
|
+
}
|
|
11
|
+
const xe = /* @__PURE__ */ Z({
|
|
12
|
+
__name: "PaSearchBar",
|
|
13
|
+
props: /* @__PURE__ */ H({
|
|
14
|
+
label: {},
|
|
15
|
+
placeholder: {},
|
|
16
|
+
helperText: {},
|
|
17
|
+
disabled: { type: Boolean, default: !1 },
|
|
18
|
+
id: {},
|
|
19
|
+
searchLabel: { default: "Ricerca" },
|
|
20
|
+
clearLabel: { default: "Cancella ricerca" },
|
|
21
|
+
debounceMs: { default: 0 },
|
|
22
|
+
options: {}
|
|
23
|
+
}, {
|
|
24
|
+
value: { default: "" },
|
|
25
|
+
valueModifiers: {}
|
|
26
|
+
}),
|
|
27
|
+
emits: /* @__PURE__ */ H(["search", "clear", "select"], ["update:value"]),
|
|
28
|
+
setup(o, { emit: K }) {
|
|
29
|
+
const t = o, _ = K, i = ee(o, "value"), D = _e(), $ = h(() => t.id ?? `${D}__input`), L = `${D}__listbox`, V = h(
|
|
30
|
+
() => (t.options ?? []).map((e, a) => `${D}__option-${a}`)
|
|
31
|
+
), k = x(null), T = x([]), s = x(!1), n = x(-1), B = h(
|
|
32
|
+
() => Array.isArray(t.options) && t.options.length > 0
|
|
33
|
+
), j = h(() => i.value.length > 0 && !t.disabled), q = h(
|
|
34
|
+
() => s.value && n.value >= 0 ? V.value[n.value] : void 0
|
|
35
|
+
);
|
|
36
|
+
let b = null, p = null;
|
|
37
|
+
function C() {
|
|
38
|
+
b && (clearTimeout(b), b = null);
|
|
39
|
+
}
|
|
40
|
+
function y() {
|
|
41
|
+
p && (clearTimeout(p), p = null);
|
|
42
|
+
}
|
|
43
|
+
function M() {
|
|
44
|
+
t.disabled || !B.value || (s.value = !0);
|
|
45
|
+
}
|
|
46
|
+
function v() {
|
|
47
|
+
s.value = !1, n.value = -1;
|
|
48
|
+
}
|
|
49
|
+
function O() {
|
|
50
|
+
var e;
|
|
51
|
+
t.disabled || (C(), _("search", i.value), (e = k.value) == null || e.blur());
|
|
52
|
+
}
|
|
53
|
+
function G() {
|
|
54
|
+
y(), M();
|
|
55
|
+
}
|
|
56
|
+
function J() {
|
|
57
|
+
y(), p = setTimeout(() => {
|
|
58
|
+
v(), p = null;
|
|
59
|
+
}, 150);
|
|
60
|
+
}
|
|
61
|
+
function Q() {
|
|
62
|
+
t.disabled || (i.value = "", _("clear"), E(() => {
|
|
63
|
+
var e;
|
|
64
|
+
return (e = k.value) == null ? void 0 : e.focus();
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
function W(e) {
|
|
68
|
+
e.preventDefault(), y();
|
|
69
|
+
}
|
|
70
|
+
function R(e) {
|
|
71
|
+
t.disabled || e.disabled || (i.value = e.value, _("select", e), v(), E(() => {
|
|
72
|
+
var a;
|
|
73
|
+
return (a = k.value) == null ? void 0 : a.focus();
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
function z(e, a) {
|
|
77
|
+
const l = t.options ?? [], r = l.length;
|
|
78
|
+
if (r === 0) return -1;
|
|
79
|
+
let u = e;
|
|
80
|
+
for (let S = 0; S < r; S++) {
|
|
81
|
+
u = (u + a + r) % r;
|
|
82
|
+
const U = l[u];
|
|
83
|
+
if (U && !U.disabled) return u;
|
|
84
|
+
}
|
|
85
|
+
return -1;
|
|
86
|
+
}
|
|
87
|
+
function A() {
|
|
88
|
+
const e = t.options ?? [];
|
|
89
|
+
for (let a = 0; a < e.length; a++) {
|
|
90
|
+
const l = e[a];
|
|
91
|
+
if (l && !l.disabled) return a;
|
|
92
|
+
}
|
|
93
|
+
return -1;
|
|
94
|
+
}
|
|
95
|
+
function N() {
|
|
96
|
+
const e = t.options ?? [];
|
|
97
|
+
for (let a = e.length - 1; a >= 0; a--) {
|
|
98
|
+
const l = e[a];
|
|
99
|
+
if (l && !l.disabled) return a;
|
|
100
|
+
}
|
|
101
|
+
return -1;
|
|
102
|
+
}
|
|
103
|
+
function X(e) {
|
|
104
|
+
if (!t.disabled)
|
|
105
|
+
switch (e.key) {
|
|
106
|
+
case "ArrowDown": {
|
|
107
|
+
e.preventDefault(), s.value ? n.value = z(n.value, 1) : B.value && (M(), n.value = A());
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
case "ArrowUp": {
|
|
111
|
+
if (e.preventDefault(), !s.value)
|
|
112
|
+
B.value && (M(), n.value = N());
|
|
113
|
+
else {
|
|
114
|
+
const a = n.value < 0 ? 0 : n.value;
|
|
115
|
+
n.value = z(a, -1);
|
|
116
|
+
}
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
case "Home": {
|
|
120
|
+
s.value && (e.preventDefault(), n.value = A());
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
case "End": {
|
|
124
|
+
s.value && (e.preventDefault(), n.value = N());
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
case "Enter": {
|
|
128
|
+
e.preventDefault();
|
|
129
|
+
const a = t.options ?? [], l = n.value >= 0 ? a[n.value] : void 0;
|
|
130
|
+
if (s.value && l && !l.disabled) {
|
|
131
|
+
R(l);
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
O();
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
case "Escape": {
|
|
138
|
+
s.value && (e.preventDefault(), v());
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function Y(e, a) {
|
|
144
|
+
e && (T.value[a] = e);
|
|
145
|
+
}
|
|
146
|
+
return w(n, async (e) => {
|
|
147
|
+
if (e < 0) return;
|
|
148
|
+
await E();
|
|
149
|
+
const a = T.value[e];
|
|
150
|
+
a && typeof a.scrollIntoView == "function" && a.scrollIntoView({ block: "nearest" });
|
|
151
|
+
}), w(
|
|
152
|
+
() => {
|
|
153
|
+
var e;
|
|
154
|
+
return ((e = t.options) == null ? void 0 : e.length) ?? 0;
|
|
155
|
+
},
|
|
156
|
+
(e) => {
|
|
157
|
+
T.value.length = e, e === 0 ? v() : n.value >= e && (n.value = -1);
|
|
158
|
+
}
|
|
159
|
+
), w(
|
|
160
|
+
() => t.disabled,
|
|
161
|
+
(e) => {
|
|
162
|
+
e && v();
|
|
163
|
+
}
|
|
164
|
+
), w(i, () => {
|
|
165
|
+
t.disabled || (C(), t.debounceMs > 0 && (b = setTimeout(() => {
|
|
166
|
+
_("search", i.value), b = null;
|
|
167
|
+
}, t.debounceMs)));
|
|
168
|
+
}), ae(() => {
|
|
169
|
+
C(), y();
|
|
170
|
+
}), (e, a) => (c(), d("div", {
|
|
171
|
+
class: F([
|
|
172
|
+
"pa-search-bar",
|
|
173
|
+
{
|
|
174
|
+
"pa-search-bar--disabled": o.disabled,
|
|
175
|
+
"pa-search-bar--open": s.value
|
|
176
|
+
}
|
|
177
|
+
])
|
|
178
|
+
}, [
|
|
179
|
+
o.label ? (c(), d("label", {
|
|
180
|
+
key: 0,
|
|
181
|
+
for: $.value,
|
|
182
|
+
class: "pa-search-bar__label"
|
|
183
|
+
}, g(o.label), 9, re)) : m("", !0),
|
|
184
|
+
f("div", ie, [
|
|
185
|
+
f("div", ce, [
|
|
186
|
+
le(f("input", {
|
|
187
|
+
id: $.value,
|
|
188
|
+
ref_key: "inputRef",
|
|
189
|
+
ref: k,
|
|
190
|
+
"onUpdate:modelValue": a[0] || (a[0] = (l) => i.value = l),
|
|
191
|
+
type: "search",
|
|
192
|
+
autocomplete: "off",
|
|
193
|
+
class: "pa-search-bar__input",
|
|
194
|
+
role: "combobox",
|
|
195
|
+
"aria-autocomplete": "list",
|
|
196
|
+
"aria-controls": L,
|
|
197
|
+
"aria-expanded": s.value,
|
|
198
|
+
"aria-activedescendant": q.value,
|
|
199
|
+
placeholder: o.placeholder,
|
|
200
|
+
disabled: o.disabled,
|
|
201
|
+
onKeydown: X,
|
|
202
|
+
onFocus: G,
|
|
203
|
+
onBlur: J
|
|
204
|
+
}, null, 40, ue), [
|
|
205
|
+
[te, i.value]
|
|
206
|
+
]),
|
|
207
|
+
j.value ? (c(), d("button", {
|
|
208
|
+
key: 0,
|
|
209
|
+
type: "button",
|
|
210
|
+
class: "pa-search-bar__clear",
|
|
211
|
+
"aria-label": o.clearLabel,
|
|
212
|
+
onClick: Q
|
|
213
|
+
}, [
|
|
214
|
+
P(I, {
|
|
215
|
+
name: "x",
|
|
216
|
+
size: "sm"
|
|
217
|
+
})
|
|
218
|
+
], 8, de)) : m("", !0)
|
|
219
|
+
]),
|
|
220
|
+
f("button", {
|
|
221
|
+
type: "button",
|
|
222
|
+
class: "pa-search-bar__button",
|
|
223
|
+
disabled: o.disabled,
|
|
224
|
+
onClick: O
|
|
225
|
+
}, [
|
|
226
|
+
f("span", be, g(o.searchLabel), 1),
|
|
227
|
+
P(I, {
|
|
228
|
+
name: "magnifying-glass",
|
|
229
|
+
size: "sm"
|
|
230
|
+
})
|
|
231
|
+
], 8, fe)
|
|
232
|
+
]),
|
|
233
|
+
s.value ? (c(), d("ul", {
|
|
234
|
+
key: 1,
|
|
235
|
+
id: L,
|
|
236
|
+
role: "listbox",
|
|
237
|
+
class: "pa-search-bar__listbox"
|
|
238
|
+
}, [
|
|
239
|
+
(c(!0), d(ne, null, oe(o.options, (l, r) => (c(), d("li", {
|
|
240
|
+
key: `option-${r}`,
|
|
241
|
+
ref_for: !0,
|
|
242
|
+
ref: (u) => Y(u, r),
|
|
243
|
+
id: V.value[r],
|
|
244
|
+
role: "option",
|
|
245
|
+
"aria-selected": r === n.value ? "true" : "false",
|
|
246
|
+
"aria-disabled": l.disabled ? "true" : void 0,
|
|
247
|
+
class: F([
|
|
248
|
+
"pa-search-bar__option",
|
|
249
|
+
{ "pa-search-bar__option--disabled": l.disabled }
|
|
250
|
+
]),
|
|
251
|
+
onMousedown: W,
|
|
252
|
+
onClick: (u) => R(l)
|
|
253
|
+
}, [
|
|
254
|
+
f("span", ve, g(l.value), 1),
|
|
255
|
+
r === n.value && !l.disabled ? (c(), se(I, {
|
|
256
|
+
key: 0,
|
|
257
|
+
name: "check",
|
|
258
|
+
size: "sm",
|
|
259
|
+
class: "pa-search-bar__option-check"
|
|
260
|
+
})) : m("", !0)
|
|
261
|
+
], 42, pe))), 128))
|
|
262
|
+
])) : m("", !0),
|
|
263
|
+
o.helperText ? (c(), d("p", he, g(o.helperText), 1)) : m("", !0)
|
|
264
|
+
], 2));
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
export {
|
|
268
|
+
xe as default,
|
|
269
|
+
_e as nextPaSearchBarId
|
|
270
|
+
};
|
|
271
|
+
//# sourceMappingURL=PaSearchBar.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaSearchBar.vue2.js","sources":["../../../src/components/PaSearchBar/PaSearchBar.vue"],"sourcesContent":["<script lang=\"ts\">\nlet searchBarUid = 0\nexport function nextPaSearchBarId() {\n return `pa-search-bar-${++searchBarUid}`\n}\n\nexport interface PaSearchBarOption {\n value: string\n disabled?: boolean\n}\n\nexport interface PaSearchBarProps {\n label?: string\n placeholder?: string\n helperText?: string\n disabled?: boolean\n id?: string\n searchLabel?: string\n clearLabel?: string\n debounceMs?: number\n options?: PaSearchBarOption[]\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<PaSearchBarProps>(), {\n disabled: false,\n searchLabel: 'Ricerca',\n clearLabel: 'Cancella ricerca',\n debounceMs: 0,\n})\n\nconst emit = defineEmits<{\n search: [value: string]\n clear: []\n select: [option: PaSearchBarOption]\n}>()\n\nconst model = defineModel<string>('value', { default: '' })\n\nconst baseId = nextPaSearchBarId()\nconst inputId = computed(() => props.id ?? `${baseId}__input`)\nconst listboxId = `${baseId}__listbox`\nconst optionIds = computed(() =>\n (props.options ?? []).map((_, i) => `${baseId}__option-${i}`),\n)\n\nconst inputRef = ref<HTMLInputElement | null>(null)\nconst optionRefs = ref<HTMLLIElement[]>([])\nconst dropdownOpen = ref(false)\nconst activeIndex = ref(-1)\n\nconst hasOptions = computed(\n () => Array.isArray(props.options) && props.options.length > 0,\n)\n\nconst showClear = computed(() => model.value.length > 0 && !props.disabled)\n\nconst activeDescendant = computed(() =>\n dropdownOpen.value && activeIndex.value >= 0\n ? optionIds.value[activeIndex.value]\n : undefined,\n)\n\nlet debounceTimer: ReturnType<typeof setTimeout> | null = null\nlet blurTimer: ReturnType<typeof setTimeout> | null = null\n\nfunction clearDebounce() {\n if (debounceTimer) {\n clearTimeout(debounceTimer)\n debounceTimer = null\n }\n}\n\nfunction clearBlurTimer() {\n if (blurTimer) {\n clearTimeout(blurTimer)\n blurTimer = null\n }\n}\n\nfunction openDropdown() {\n if (props.disabled || !hasOptions.value) return\n dropdownOpen.value = true\n}\n\nfunction closeDropdown() {\n dropdownOpen.value = false\n activeIndex.value = -1\n}\n\nfunction triggerSearch() {\n if (props.disabled) return\n clearDebounce()\n emit('search', model.value)\n inputRef.value?.blur()\n}\n\nfunction onFocus() {\n clearBlurTimer()\n openDropdown()\n}\n\nfunction onBlur() {\n clearBlurTimer()\n blurTimer = setTimeout(() => {\n closeDropdown()\n blurTimer = null\n }, 150)\n}\n\nfunction onClear() {\n if (props.disabled) return\n model.value = ''\n emit('clear')\n nextTick(() => inputRef.value?.focus())\n}\n\nfunction onOptionMousedown(event: MouseEvent) {\n event.preventDefault()\n clearBlurTimer()\n}\n\nfunction selectOption(option: PaSearchBarOption) {\n if (props.disabled || option.disabled) return\n model.value = option.value\n emit('select', option)\n closeDropdown()\n nextTick(() => inputRef.value?.focus())\n}\n\nfunction findNextEnabled(from: number, dir: 1 | -1): number {\n const opts = props.options ?? []\n const n = opts.length\n if (n === 0) return -1\n let i = from\n for (let step = 0; step < n; step++) {\n i = (i + dir + n) % n\n const opt = opts[i]\n if (opt && !opt.disabled) return i\n }\n return -1\n}\n\nfunction findFirstEnabled(): number {\n const opts = props.options ?? []\n for (let i = 0; i < opts.length; i++) {\n const opt = opts[i]\n if (opt && !opt.disabled) return i\n }\n return -1\n}\n\nfunction findLastEnabled(): number {\n const opts = props.options ?? []\n for (let i = opts.length - 1; i >= 0; i--) {\n const opt = opts[i]\n if (opt && !opt.disabled) return i\n }\n return -1\n}\n\nfunction onKeydown(event: KeyboardEvent) {\n if (props.disabled) return\n switch (event.key) {\n case 'ArrowDown': {\n event.preventDefault()\n if (!dropdownOpen.value) {\n if (hasOptions.value) {\n openDropdown()\n activeIndex.value = findFirstEnabled()\n }\n } else {\n activeIndex.value = findNextEnabled(activeIndex.value, 1)\n }\n break\n }\n case 'ArrowUp': {\n event.preventDefault()\n if (!dropdownOpen.value) {\n if (hasOptions.value) {\n openDropdown()\n activeIndex.value = findLastEnabled()\n }\n } else {\n const from = activeIndex.value < 0 ? 0 : activeIndex.value\n activeIndex.value = findNextEnabled(from, -1)\n }\n break\n }\n case 'Home': {\n if (dropdownOpen.value) {\n event.preventDefault()\n activeIndex.value = findFirstEnabled()\n }\n break\n }\n case 'End': {\n if (dropdownOpen.value) {\n event.preventDefault()\n activeIndex.value = findLastEnabled()\n }\n break\n }\n case 'Enter': {\n event.preventDefault()\n const opts = props.options ?? []\n const opt = activeIndex.value >= 0 ? opts[activeIndex.value] : undefined\n if (dropdownOpen.value && opt && !opt.disabled) {\n selectOption(opt)\n return\n }\n triggerSearch()\n break\n }\n case 'Escape': {\n if (dropdownOpen.value) {\n event.preventDefault()\n closeDropdown()\n }\n break\n }\n }\n}\n\nfunction setOptionRef(el: Element | null, i: number) {\n if (el) optionRefs.value[i] = el as HTMLLIElement\n}\n\nwatch(activeIndex, async (i) => {\n if (i < 0) return\n await nextTick()\n const el = optionRefs.value[i]\n if (el && typeof el.scrollIntoView === 'function') {\n el.scrollIntoView({ block: 'nearest' })\n }\n})\n\nwatch(\n () => props.options?.length ?? 0,\n (n) => {\n optionRefs.value.length = n\n if (n === 0) closeDropdown()\n else if (activeIndex.value >= n) activeIndex.value = -1\n },\n)\n\nwatch(\n () => props.disabled,\n (d) => {\n if (d) closeDropdown()\n },\n)\n\nwatch(model, () => {\n if (props.disabled) return\n clearDebounce()\n if (props.debounceMs > 0) {\n debounceTimer = setTimeout(() => {\n emit('search', model.value)\n debounceTimer = null\n }, props.debounceMs)\n }\n})\n\nonBeforeUnmount(() => {\n clearDebounce()\n clearBlurTimer()\n})\n</script>\n\n<template>\n <div\n :class=\"[\n 'pa-search-bar',\n {\n 'pa-search-bar--disabled': disabled,\n 'pa-search-bar--open': dropdownOpen,\n },\n ]\"\n >\n <label v-if=\"label\" :for=\"inputId\" class=\"pa-search-bar__label\">\n {{ label }}\n </label>\n <div class=\"pa-search-bar__wrapper\">\n <div class=\"pa-search-bar__input-cell\">\n <input\n :id=\"inputId\"\n ref=\"inputRef\"\n v-model=\"model\"\n type=\"search\"\n autocomplete=\"off\"\n class=\"pa-search-bar__input\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n :aria-controls=\"listboxId\"\n :aria-expanded=\"dropdownOpen\"\n :aria-activedescendant=\"activeDescendant\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n @keydown=\"onKeydown\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n />\n <button\n v-if=\"showClear\"\n type=\"button\"\n class=\"pa-search-bar__clear\"\n :aria-label=\"clearLabel\"\n @click=\"onClear\"\n >\n <PaIcon name=\"x\" size=\"sm\" />\n </button>\n </div>\n <button\n type=\"button\"\n class=\"pa-search-bar__button\"\n :disabled=\"disabled\"\n @click=\"triggerSearch\"\n >\n <span class=\"pa-search-bar__button-label\">{{ searchLabel }}</span>\n <PaIcon name=\"magnifying-glass\" size=\"sm\" />\n </button>\n </div>\n <ul\n v-if=\"dropdownOpen\"\n :id=\"listboxId\"\n role=\"listbox\"\n class=\"pa-search-bar__listbox\"\n >\n <li\n v-for=\"(opt, i) in options\"\n :key=\"`option-${i}`\"\n :ref=\"(el) => setOptionRef(el as Element | null, i)\"\n :id=\"optionIds[i]\"\n role=\"option\"\n :aria-selected=\"i === activeIndex ? 'true' : 'false'\"\n :aria-disabled=\"opt.disabled ? 'true' : undefined\"\n :class=\"[\n 'pa-search-bar__option',\n { 'pa-search-bar__option--disabled': opt.disabled },\n ]\"\n @mousedown=\"onOptionMousedown\"\n @click=\"selectOption(opt)\"\n >\n <span class=\"pa-search-bar__option-label\">{{ opt.value }}</span>\n <PaIcon\n v-if=\"i === activeIndex && !opt.disabled\"\n name=\"check\"\n size=\"sm\"\n class=\"pa-search-bar__option-check\"\n />\n </li>\n </ul>\n <p v-if=\"helperText\" class=\"pa-search-bar__helper\">{{ helperText }}</p>\n </div>\n</template>\n\n<style scoped>\n.pa-search-bar {\n display: flex;\n flex-direction: column;\n font-family: var(--pa-font-family-base);\n container-type: inline-size;\n}\n\n.pa-search-bar__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 padding-bottom: var(--pa-space-xs);\n}\n\n.pa-search-bar__wrapper {\n display: flex;\n align-items: stretch;\n box-sizing: border-box;\n background: var(--pa-color-bg-white);\n border: var(--pa-border-xs) solid var(--pa-color-bg-secondary-light-50);\n border-radius: 9px;\n overflow: hidden;\n transition: border-color 120ms ease, box-shadow 120ms ease,\n border-radius 120ms ease;\n}\n\n.pa-search-bar__wrapper:hover {\n border-color: var(--pa-color-neutral-gray);\n}\n\n.pa-search-bar__wrapper:focus-within {\n border-color: var(--pa-color-primary);\n box-shadow: 0 0 0 2px var(--pa-color-primary-focus-border);\n}\n\n.pa-search-bar--open .pa-search-bar__wrapper {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.pa-search-bar__input-cell {\n flex: 1 1 auto;\n min-width: 0;\n display: flex;\n align-items: center;\n gap: var(--pa-space-xs);\n padding-right: var(--pa-space-sm);\n}\n\n.pa-search-bar__input {\n flex: 1 1 auto;\n min-width: 0;\n margin: 0;\n padding: 12px var(--pa-space-sm);\n background: transparent;\n border: none;\n outline: none;\n color: var(--pa-color-text-secondary-gray);\n font-family: inherit;\n font-size: var(--pa-font-body-size);\n line-height: var(--pa-font-body-line-height);\n font-weight: var(--pa-font-body-weight);\n}\n\n.pa-search-bar__input::placeholder {\n color: var(--pa-color-text-disabled-gray);\n}\n\n.pa-search-bar__input::-webkit-search-decoration,\n.pa-search-bar__input::-webkit-search-cancel-button,\n.pa-search-bar__input::-webkit-search-results-button,\n.pa-search-bar__input::-webkit-search-results-decoration {\n appearance: none;\n -webkit-appearance: none;\n}\n\n.pa-search-bar__clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n width: 24px;\n height: 24px;\n margin: 0;\n padding: 0;\n background: transparent;\n border: none;\n border-radius: var(--pa-radius-smooth);\n color: var(--pa-color-text-secondary-gray);\n cursor: pointer;\n}\n\n.pa-search-bar__clear:hover {\n color: var(--pa-color-neutral-charcoal);\n}\n\n.pa-search-bar__clear:focus-visible {\n outline: 2px solid var(--pa-color-primary-focus-border);\n outline-offset: 1px;\n}\n\n.pa-search-bar__button {\n flex: 0 0 auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: var(--pa-space-xs);\n margin: 0;\n padding: 12px var(--pa-space-2xl);\n background: var(--pa-color-primary);\n border: none;\n border-radius: 0;\n color: var(--pa-color-text-white);\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 cursor: pointer;\n transition: background-color 120ms ease;\n}\n\n.pa-search-bar__button:hover {\n background: var(--pa-color-primary-hover);\n}\n\n.pa-search-bar__button:active {\n background: var(--pa-color-primary-pressed);\n}\n\n.pa-search-bar__button:focus-visible {\n outline: 2px solid var(--pa-color-text-white);\n outline-offset: -4px;\n}\n\n.pa-search-bar__listbox {\n list-style: none;\n margin: 0;\n padding: 0;\n background: var(--pa-color-bg-white);\n max-height: 320px;\n overflow-y: auto;\n}\n\n.pa-search-bar__option {\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--pa-space-xs);\n padding: var(--pa-space-sm);\n background: var(--pa-color-bg-white);\n border: var(--pa-border-xs) solid var(--pa-color-bg-secondary-light-50);\n margin-bottom: -1px;\n color: var(--pa-color-text-secondary-gray);\n font-size: var(--pa-font-body-size);\n line-height: var(--pa-font-body-line-height);\n font-weight: var(--pa-font-body-weight);\n cursor: pointer;\n user-select: none;\n transition: background-color 80ms ease, color 80ms ease,\n border-color 80ms ease;\n}\n\n.pa-search-bar__option:last-child {\n margin-bottom: 0;\n border-bottom-left-radius: var(--pa-radius-smooth);\n border-bottom-right-radius: var(--pa-radius-smooth);\n}\n\n.pa-search-bar__option:hover {\n background: var(--pa-color-primary-hover);\n color: var(--pa-color-text-white);\n}\n\n.pa-search-bar__option:active {\n background: var(--pa-color-primary-pressed);\n color: var(--pa-color-text-white);\n}\n\n.pa-search-bar__option:focus-visible {\n outline: none;\n border-color: var(--pa-color-primary);\n}\n\n.pa-search-bar__option[aria-selected='true'] {\n background: var(--pa-color-primary);\n color: var(--pa-color-text-white);\n}\n\n.pa-search-bar__option--disabled,\n.pa-search-bar__option--disabled:hover,\n.pa-search-bar__option--disabled:active {\n background: var(--pa-color-bg-disabled-gray);\n color: var(--pa-color-text-disabled-gray);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.pa-search-bar__option-check {\n flex: 0 0 auto;\n}\n\n.pa-search-bar__helper {\n margin: 0;\n padding-top: var(--pa-space-xs);\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-search-bar--disabled .pa-search-bar__wrapper,\n.pa-search-bar--disabled .pa-search-bar__wrapper:hover {\n background: var(--pa-color-bg-secondary-light-40);\n border-color: var(--pa-color-bg-secondary-light-50);\n}\n\n.pa-search-bar--disabled .pa-search-bar__input {\n color: var(--pa-color-text-disabled-gray);\n cursor: not-allowed;\n}\n\n.pa-search-bar--disabled .pa-search-bar__button {\n background: var(--pa-color-bg-secondary-light-40);\n color: var(--pa-color-text-disabled-gray);\n cursor: not-allowed;\n}\n\n.pa-search-bar--disabled .pa-search-bar__button:hover {\n background: var(--pa-color-bg-secondary-light-40);\n}\n\n@container (max-width: 600px) {\n .pa-search-bar__wrapper {\n flex-direction: column;\n gap: var(--pa-space-xs);\n background: transparent;\n border: none;\n border-radius: 0;\n overflow: visible;\n }\n\n .pa-search-bar__wrapper:hover,\n .pa-search-bar__wrapper:focus-within {\n border-color: transparent;\n box-shadow: none;\n }\n\n .pa-search-bar--open .pa-search-bar__wrapper {\n border-radius: 0;\n }\n\n .pa-search-bar__input-cell {\n background: var(--pa-color-bg-white);\n border: var(--pa-border-xs) solid var(--pa-color-bg-secondary-light-50);\n border-radius: var(--pa-radius-smooth);\n transition: border-color 120ms ease, box-shadow 120ms ease;\n }\n\n .pa-search-bar__input-cell:focus-within {\n border-color: var(--pa-color-primary);\n box-shadow: 0 0 0 2px var(--pa-color-primary-focus-border);\n }\n\n .pa-search-bar--open .pa-search-bar__input-cell {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n .pa-search-bar__button {\n width: 100%;\n height: 52px;\n border-radius: var(--pa-radius-smooth);\n }\n\n .pa-search-bar--disabled .pa-search-bar__input-cell {\n background: var(--pa-color-bg-secondary-light-40);\n }\n}\n</style>\n"],"names":["searchBarUid","nextPaSearchBarId","props","__props","emit","__emit","model","_useModel","baseId","inputId","computed","listboxId","optionIds","_","i","inputRef","ref","optionRefs","dropdownOpen","activeIndex","hasOptions","showClear","activeDescendant","debounceTimer","blurTimer","clearDebounce","clearBlurTimer","openDropdown","closeDropdown","triggerSearch","_a","onFocus","onBlur","onClear","nextTick","onOptionMousedown","event","selectOption","option","findNextEnabled","from","dir","opts","n","step","opt","findFirstEnabled","findLastEnabled","onKeydown","setOptionRef","el","watch","d","onBeforeUnmount","_createElementBlock","_normalizeClass","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","$event","_createVNode","PaIcon","_hoisted_7","_toDisplayString","_openBlock","_Fragment","_renderList","_hoisted_9","_createBlock","_hoisted_10"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export type PaSelectSize = 'sm' | 'lg';
|
|
2
|
+
export interface PaSelectOption {
|
|
3
|
+
value: string;
|
|
4
|
+
label: string;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface PaSelectProps {
|
|
8
|
+
options: PaSelectOption[];
|
|
9
|
+
size?: PaSelectSize;
|
|
10
|
+
label?: string;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
id?: string;
|
|
13
|
+
helperText?: string;
|
|
14
|
+
error?: string | boolean;
|
|
15
|
+
valid?: boolean;
|
|
16
|
+
name?: string;
|
|
17
|
+
autocomplete?: string;
|
|
18
|
+
required?: boolean;
|
|
19
|
+
readonly?: boolean;
|
|
20
|
+
placeholder?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function nextPaSelectId(): string;
|
|
23
|
+
declare const _default: import("vue").DefineComponent<PaSelectProps & {
|
|
24
|
+
modelValue?: string;
|
|
25
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
26
|
+
"update:modelValue": (value: string) => any;
|
|
27
|
+
}, string, import("vue").PublicProps, Readonly<PaSelectProps & {
|
|
28
|
+
modelValue?: string;
|
|
29
|
+
}> & Readonly<{
|
|
30
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
31
|
+
}>, {
|
|
32
|
+
error: string | boolean;
|
|
33
|
+
size: PaSelectSize;
|
|
34
|
+
disabled: boolean;
|
|
35
|
+
valid: boolean;
|
|
36
|
+
required: boolean;
|
|
37
|
+
readonly: boolean;
|
|
38
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
39
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import t from "./PaSelect.vue2.js";
|
|
2
|
+
import { nextPaSelectId as c } from "./PaSelect.vue2.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import e from "../../_virtual/_plugin-vue_export-helper.js";
|
|
5
|
+
const f = /* @__PURE__ */ e(t, [["__scopeId", "data-v-4228fedd"]]);
|
|
6
|
+
export {
|
|
7
|
+
f as default,
|
|
8
|
+
c as nextPaSelectId
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=PaSelect.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaSelect.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { defineComponent as B, useModel as V, computed as a, openBlock as t, createElementBlock as d, normalizeClass as h, createTextVNode as k, toDisplayString as s, createCommentVNode as i, createElementVNode as b, withDirectives as x, Fragment as M, renderList as S, vModelSelect as w, createVNode as z, mergeModels as I } from "vue";
|
|
2
|
+
import N from "../PaIcon/PaIcon.vue.js";
|
|
3
|
+
const T = ["for"], $ = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "pa-select__required",
|
|
6
|
+
"aria-hidden": "true"
|
|
7
|
+
}, C = { class: "pa-select__field" }, A = ["id", "disabled", "required", "name", "autocomplete", "aria-required", "aria-invalid", "aria-describedby"], D = {
|
|
8
|
+
key: 0,
|
|
9
|
+
value: "",
|
|
10
|
+
disabled: "",
|
|
11
|
+
hidden: ""
|
|
12
|
+
}, E = ["value", "disabled"], P = ["id"];
|
|
13
|
+
let F = 0;
|
|
14
|
+
function L() {
|
|
15
|
+
return `pa-select-${++F}`;
|
|
16
|
+
}
|
|
17
|
+
const H = /* @__PURE__ */ B({
|
|
18
|
+
__name: "PaSelect",
|
|
19
|
+
props: /* @__PURE__ */ I({
|
|
20
|
+
options: {},
|
|
21
|
+
size: { default: "sm" },
|
|
22
|
+
label: {},
|
|
23
|
+
disabled: { type: Boolean, default: !1 },
|
|
24
|
+
id: {},
|
|
25
|
+
helperText: {},
|
|
26
|
+
error: { type: [String, Boolean], default: !1 },
|
|
27
|
+
valid: { type: Boolean, default: !1 },
|
|
28
|
+
name: {},
|
|
29
|
+
autocomplete: {},
|
|
30
|
+
required: { type: Boolean, default: !1 },
|
|
31
|
+
readonly: { type: Boolean, default: !1 },
|
|
32
|
+
placeholder: {}
|
|
33
|
+
}, {
|
|
34
|
+
modelValue: { default: "" },
|
|
35
|
+
modelModifiers: {}
|
|
36
|
+
}),
|
|
37
|
+
emits: ["update:modelValue"],
|
|
38
|
+
setup(e) {
|
|
39
|
+
const l = e, n = V(e, "modelValue"), p = L(), c = a(() => l.id ?? p), v = a(() => `${c.value}-msg`), r = a(() => !!l.error), m = a(() => l.valid && !r.value), y = a(
|
|
40
|
+
() => typeof l.error == "string" && l.error.length > 0 ? l.error : null
|
|
41
|
+
), g = a(
|
|
42
|
+
() => !r.value && !m.value && l.helperText ? l.helperText : null
|
|
43
|
+
), u = a(() => y.value ?? g.value), q = a(
|
|
44
|
+
() => l.placeholder !== void 0 && n.value === ""
|
|
45
|
+
);
|
|
46
|
+
return (U, f) => (t(), d("div", {
|
|
47
|
+
class: h([
|
|
48
|
+
"pa-select",
|
|
49
|
+
`pa-select--${e.size}`,
|
|
50
|
+
{
|
|
51
|
+
"pa-select--disabled": e.disabled && !e.readonly,
|
|
52
|
+
"pa-select--readonly": e.readonly,
|
|
53
|
+
"pa-select--error": r.value,
|
|
54
|
+
"pa-select--valid": m.value,
|
|
55
|
+
"pa-select--placeholder-shown": q.value
|
|
56
|
+
}
|
|
57
|
+
])
|
|
58
|
+
}, [
|
|
59
|
+
e.label ? (t(), d("label", {
|
|
60
|
+
key: 0,
|
|
61
|
+
for: c.value,
|
|
62
|
+
class: "pa-select__label"
|
|
63
|
+
}, [
|
|
64
|
+
k(s(e.label), 1),
|
|
65
|
+
e.required ? (t(), d("span", $, "*")) : i("", !0)
|
|
66
|
+
], 8, T)) : i("", !0),
|
|
67
|
+
b("div", C, [
|
|
68
|
+
x(b("select", {
|
|
69
|
+
id: c.value,
|
|
70
|
+
"onUpdate:modelValue": f[0] || (f[0] = (o) => n.value = o),
|
|
71
|
+
disabled: e.disabled || e.readonly,
|
|
72
|
+
required: e.required,
|
|
73
|
+
name: e.name,
|
|
74
|
+
autocomplete: e.autocomplete,
|
|
75
|
+
"aria-required": e.required || void 0,
|
|
76
|
+
"aria-invalid": r.value || void 0,
|
|
77
|
+
"aria-describedby": u.value ? v.value : void 0,
|
|
78
|
+
class: "pa-select__control"
|
|
79
|
+
}, [
|
|
80
|
+
e.placeholder ? (t(), d("option", D, s(e.placeholder), 1)) : i("", !0),
|
|
81
|
+
(t(!0), d(M, null, S(e.options, (o) => (t(), d("option", {
|
|
82
|
+
key: o.value,
|
|
83
|
+
value: o.value,
|
|
84
|
+
disabled: o.disabled
|
|
85
|
+
}, s(o.label), 9, E))), 128))
|
|
86
|
+
], 8, A), [
|
|
87
|
+
[w, n.value]
|
|
88
|
+
]),
|
|
89
|
+
z(N, {
|
|
90
|
+
name: "caret-up-down",
|
|
91
|
+
size: "md",
|
|
92
|
+
class: "pa-select__chevron"
|
|
93
|
+
})
|
|
94
|
+
]),
|
|
95
|
+
u.value ? (t(), d("div", {
|
|
96
|
+
key: 1,
|
|
97
|
+
id: v.value,
|
|
98
|
+
class: h(["pa-select__message", { "pa-select__message--error": r.value }])
|
|
99
|
+
}, s(u.value), 11, P)) : i("", !0)
|
|
100
|
+
], 2));
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
export {
|
|
104
|
+
H as default,
|
|
105
|
+
L as nextPaSelectId
|
|
106
|
+
};
|
|
107
|
+
//# sourceMappingURL=PaSelect.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaSelect.vue2.js","sources":["../../../src/components/PaSelect/PaSelect.vue"],"sourcesContent":["<script lang=\"ts\">\nlet uid = 0\nexport function nextPaSelectId() {\n return `pa-select-${++uid}`\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport PaIcon from '../PaIcon/PaIcon.vue'\n\nexport type PaSelectSize = 'sm' | 'lg'\n\nexport interface PaSelectOption {\n value: string\n label: string\n disabled?: boolean\n}\n\nexport interface PaSelectProps {\n options: PaSelectOption[]\n size?: PaSelectSize\n label?: string\n disabled?: boolean\n id?: string\n helperText?: string\n error?: string | boolean\n valid?: boolean\n name?: string\n autocomplete?: string\n required?: boolean\n readonly?: boolean\n placeholder?: string\n}\n\nconst props = withDefaults(defineProps<PaSelectProps>(), {\n size: 'sm',\n disabled: false,\n error: false,\n valid: false,\n required: false,\n readonly: false,\n})\n\nconst model = defineModel<string>({ default: '' })\n\nconst generatedId = nextPaSelectId()\nconst inputId = computed(() => props.id ?? generatedId)\nconst messageId = computed(() => `${inputId.value}-msg`)\n\nconst errorActive = computed(() => Boolean(props.error))\nconst validActive = computed(() => props.valid && !errorActive.value)\n\nconst errorMessage = computed(() =>\n typeof props.error === 'string' && props.error.length > 0 ? props.error : null,\n)\nconst helperMessage = computed(() =>\n !errorActive.value && !validActive.value && props.helperText ? props.helperText : null,\n)\nconst message = computed(() => errorMessage.value ?? helperMessage.value)\n\nconst placeholderShown = computed(\n () => props.placeholder !== undefined && model.value === '',\n)\n</script>\n\n<template>\n <div\n :class=\"[\n 'pa-select',\n `pa-select--${size}`,\n {\n 'pa-select--disabled': disabled && !readonly,\n 'pa-select--readonly': readonly,\n 'pa-select--error': errorActive,\n 'pa-select--valid': validActive,\n 'pa-select--placeholder-shown': placeholderShown,\n },\n ]\"\n >\n <label v-if=\"label\" :for=\"inputId\" class=\"pa-select__label\">\n {{ label }}<span v-if=\"required\" class=\"pa-select__required\" aria-hidden=\"true\">*</span>\n </label>\n <div class=\"pa-select__field\">\n <select\n :id=\"inputId\"\n v-model=\"model\"\n :disabled=\"disabled || readonly\"\n :required=\"required\"\n :name=\"name\"\n :autocomplete=\"autocomplete\"\n :aria-required=\"required || undefined\"\n :aria-invalid=\"errorActive || undefined\"\n :aria-describedby=\"message ? messageId : undefined\"\n class=\"pa-select__control\"\n >\n <option v-if=\"placeholder\" value=\"\" disabled hidden>{{ placeholder }}</option>\n <option\n v-for=\"opt in options\"\n :key=\"opt.value\"\n :value=\"opt.value\"\n :disabled=\"opt.disabled\"\n >\n {{ opt.label }}\n </option>\n </select>\n <PaIcon name=\"caret-up-down\" size=\"md\" class=\"pa-select__chevron\" />\n </div>\n <div\n v-if=\"message\"\n :id=\"messageId\"\n :class=\"['pa-select__message', { 'pa-select__message--error': errorActive }]\"\n >\n {{ message }}\n </div>\n </div>\n</template>\n\n<style scoped>\n.pa-select {\n display: flex;\n flex-direction: column;\n gap: var(--pa-space-2xs);\n font-family: var(--pa-font-family-base);\n}\n\n.pa-select__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-select__field {\n display: flex;\n align-items: center;\n gap: var(--pa-space-xs);\n box-sizing: border-box;\n background: var(--pa-color-bg-white);\n border: var(--pa-border-xs) solid var(--pa-color-bg-secondary-light-50);\n border-radius: var(--pa-radius-smooth);\n transition: border-color 120ms ease, background-color 120ms ease;\n}\n\n.pa-select__field:hover {\n border-color: var(--pa-color-neutral-gray);\n}\n\n.pa-select__field:focus-within {\n outline: 3px solid var(--pa-color-primary-focus-border);\n outline-offset: 0;\n border-color: var(--pa-color-primary);\n}\n\n.pa-select__control {\n flex: 1 1 auto;\n min-width: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n background: transparent;\n border: none;\n outline: none;\n appearance: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n color: var(--pa-color-text-black);\n font-family: inherit;\n font-size: var(--pa-font-body-size);\n line-height: var(--pa-font-body-line-height);\n font-weight: var(--pa-font-body-weight);\n cursor: pointer;\n}\n\n.pa-select__chevron {\n flex: 0 0 auto;\n pointer-events: none;\n color: var(--pa-color-text-secondary-gray);\n}\n\n.pa-select--sm .pa-select__field {\n height: 44px;\n padding: 0 var(--pa-space-sm);\n}\n\n.pa-select--lg .pa-select__field {\n height: 60px;\n padding: 0 var(--pa-space-sm);\n}\n\n.pa-select--lg .pa-select__label {\n font-size: var(--pa-font-label-md-size);\n line-height: var(--pa-font-label-md-line-height);\n font-weight: var(--pa-font-label-md-weight);\n}\n\n.pa-select--placeholder-shown .pa-select__control {\n color: var(--pa-color-text-disabled-gray);\n}\n\n.pa-select--disabled .pa-select__field {\n background: var(--pa-color-bg-disabled-gray);\n border-color: var(--pa-color-bg-secondary-light-50);\n}\n\n.pa-select--disabled .pa-select__field:hover {\n border-color: var(--pa-color-bg-secondary-light-50);\n}\n\n.pa-select--disabled .pa-select__label,\n.pa-select--disabled .pa-select__control,\n.pa-select--disabled .pa-select__chevron {\n color: var(--pa-color-text-disabled-gray);\n}\n\n.pa-select--disabled .pa-select__control {\n cursor: not-allowed;\n}\n\n.pa-select--error .pa-select__field {\n border-color: var(--pa-color-error);\n border-width: var(--pa-border-sm);\n}\n.pa-select--error .pa-select__field:hover {\n border-color: var(--pa-color-error);\n}\n\n.pa-select--valid .pa-select__field {\n border-color: var(--pa-color-success);\n border-width: var(--pa-border-sm);\n}\n.pa-select--valid .pa-select__field:hover {\n border-color: var(--pa-color-success);\n}\n\n.pa-select__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-select__message--error {\n color: var(--pa-color-error);\n}\n\n.pa-select__required {\n margin-left: var(--pa-space-3xs);\n color: var(--pa-color-error);\n}\n\n.pa-select--readonly .pa-select__field {\n background: var(--pa-color-bg-primary-light-40);\n border-color: var(--pa-color-bg-secondary-light-50);\n}\n.pa-select--readonly .pa-select__field:hover {\n border-color: var(--pa-color-bg-secondary-light-50);\n}\n.pa-select--readonly .pa-select__control {\n cursor: not-allowed;\n}\n</style>\n"],"names":["uid","nextPaSelectId","props","__props","model","_useModel","generatedId","inputId","computed","messageId","errorActive","validActive","errorMessage","helperMessage","message","placeholderShown","_createElementBlock","_normalizeClass","_hoisted_2","_createElementVNode","_hoisted_3","$event","_hoisted_5","_toDisplayString","_Fragment","_renderList","opt","_hoisted_6","_createVNode","PaIcon","_hoisted_7"],"mappings":";;;;;;;;;;;;AACA,IAAIA,IAAM;AACH,SAASC,IAAiB;AAC/B,SAAO,aAAa,EAAED,CAAG;AAC3B;;;;;;;;;;;;;;;;;;;;;;;AA+BA,UAAME,IAAQC,GASRC,IAAQC,EAAmBF,GAAA,YAAgB,GAE3CG,IAAcL,EAAA,GACdM,IAAUC,EAAS,MAAMN,EAAM,MAAMI,CAAW,GAChDG,IAAYD,EAAS,MAAM,GAAGD,EAAQ,KAAK,MAAM,GAEjDG,IAAcF,EAAS,MAAM,EAAQN,EAAM,KAAM,GACjDS,IAAcH,EAAS,MAAMN,EAAM,SAAS,CAACQ,EAAY,KAAK,GAE9DE,IAAeJ;AAAA,MAAS,MAC5B,OAAON,EAAM,SAAU,YAAYA,EAAM,MAAM,SAAS,IAAIA,EAAM,QAAQ;AAAA,IAAA,GAEtEW,IAAgBL;AAAA,MAAS,MAC7B,CAACE,EAAY,SAAS,CAACC,EAAY,SAAST,EAAM,aAAaA,EAAM,aAAa;AAAA,IAAA,GAE9EY,IAAUN,EAAS,MAAMI,EAAa,SAASC,EAAc,KAAK,GAElEE,IAAmBP;AAAA,MACvB,MAAMN,EAAM,gBAAgB,UAAaE,EAAM,UAAU;AAAA,IAAA;2BAKzDY,EAgDM,OAAA;AAAA,MA/CH,OAAKC,EAAA;AAAA;sBAA2Cd,EAAA,IAAI;AAAA;UAA2C,uBAAAA,EAAA,aAAaA,EAAA;AAAA,iCAAyCA,EAAA;AAAA,8BAAsCO,EAAA;AAAA,8BAAyCC,EAAA;AAAA,0CAAqDI,EAAA;AAAA,QAAA;AAAA;;MAY7QZ,EAAA,cAAba,EAEQ,SAAA;AAAA;QAFa,KAAKT,EAAA;AAAA,QAAS,OAAM;AAAA,MAAA;YACpCJ,EAAA,KAAK,GAAA,CAAA;AAAA,QAAeA,EAAA,iBAAZa,EAA6E,QAA7EE,GAAqE,GAAC;;MAEnFC,EAwBM,OAxBNC,GAwBM;AAAA,UAvBJD,EAqBS,UAAA;AAAA,UApBN,IAAIZ,EAAA;AAAA,wDACIH,EAAK,QAAAiB;AAAA,UACb,UAAUlB,EAAA,YAAYA,EAAA;AAAA,UACtB,UAAUA,EAAA;AAAA,UACV,MAAMA,EAAA;AAAA,UACN,cAAcA,EAAA;AAAA,UACd,iBAAeA,EAAA,YAAY;AAAA,UAC3B,gBAAcO,EAAA,SAAe;AAAA,UAC7B,oBAAkBI,EAAA,QAAUL,EAAA,QAAY;AAAA,UACzC,OAAM;AAAA,QAAA;UAEQN,EAAA,oBAAda,EAA8E,UAA9EM,GAA8EC,EAAvBpB,EAAA,WAAW,GAAA,CAAA;kBAClEa,EAOSQ,GAAA,MAAAC,EANOtB,EAAA,SAAO,CAAduB,YADTV,EAOS,UAAA;AAAA,YALN,KAAKU,EAAI;AAAA,YACT,OAAOA,EAAI;AAAA,YACX,UAAUA,EAAI;AAAA,UAAA,GAEZH,EAAAG,EAAI,KAAK,GAAA,GAAAC,CAAA;;cAjBLvB,EAAA,KAAK;AAAA,QAAA;QAoBhBwB,EAAoEC,GAAA;AAAA,UAA5D,MAAK;AAAA,UAAgB,MAAK;AAAA,UAAK,OAAM;AAAA,QAAA;;MAGvCf,EAAA,cADRE,EAMM,OAAA;AAAA;QAJH,IAAIP,EAAA;AAAA,QACJ,+DAA6DC,EAAA,OAAW,CAAA;AAAA,MAAA,KAEtEI,EAAA,KAAO,GAAA,IAAAgB,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type PaStepProgressBarStatus = 'done' | 'current' | 'upcoming' | 'error';
|
|
2
|
+
export type PaStepProgressBarOrientation = 'horizontal' | 'vertical';
|
|
3
|
+
export interface PaStepProgressBarItem {
|
|
4
|
+
label: string;
|
|
5
|
+
status?: PaStepProgressBarStatus;
|
|
6
|
+
}
|
|
7
|
+
export interface PaStepProgressBarProps {
|
|
8
|
+
steps: PaStepProgressBarItem[];
|
|
9
|
+
currentStep?: number;
|
|
10
|
+
orientation?: PaStepProgressBarOrientation;
|
|
11
|
+
label?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function pad2(n: number): string;
|
|
14
|
+
declare const _default: import("vue").DefineComponent<PaStepProgressBarProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
15
|
+
select: (payload: {
|
|
16
|
+
index: number;
|
|
17
|
+
item: PaStepProgressBarItem;
|
|
18
|
+
status: PaStepProgressBarStatus;
|
|
19
|
+
event: MouseEvent;
|
|
20
|
+
}) => any;
|
|
21
|
+
}, string, import("vue").PublicProps, Readonly<PaStepProgressBarProps> & Readonly<{
|
|
22
|
+
onSelect?: ((payload: {
|
|
23
|
+
index: number;
|
|
24
|
+
item: PaStepProgressBarItem;
|
|
25
|
+
status: PaStepProgressBarStatus;
|
|
26
|
+
event: MouseEvent;
|
|
27
|
+
}) => any) | undefined;
|
|
28
|
+
}>, {
|
|
29
|
+
label: string;
|
|
30
|
+
currentStep: number;
|
|
31
|
+
orientation: PaStepProgressBarOrientation;
|
|
32
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
33
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import o from "./PaStepProgressBar.vue2.js";
|
|
2
|
+
import { pad2 as s } from "./PaStepProgressBar.vue2.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import r from "../../_virtual/_plugin-vue_export-helper.js";
|
|
5
|
+
const a = /* @__PURE__ */ r(o, [["__scopeId", "data-v-57e3f4be"]]);
|
|
6
|
+
export {
|
|
7
|
+
a as default,
|
|
8
|
+
s as pad2
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=PaStepProgressBar.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaStepProgressBar.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|