@kiva/kv-components 7.6.3 → 8.0.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/.eslintignore +5 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +236 -216
- package/dist/utils/Alea.d.ts +9 -0
- package/dist/utils/Alea.js +23 -23
- package/dist/utils/arrayUtils.d.ts +3 -0
- package/dist/utils/arrayUtils.js +1 -1
- package/dist/utils/attrs.d.ts +6 -0
- package/dist/utils/carousels.d.ts +21 -0
- package/dist/utils/comparators.d.ts +3 -0
- package/dist/utils/comparators.js +20 -6
- package/dist/utils/debounce.d.ts +1 -0
- package/dist/utils/debounce.js +4 -4
- package/dist/utils/event.d.ts +1 -0
- package/dist/utils/event.js +7 -0
- package/dist/utils/expander.d.ts +14 -0
- package/dist/utils/imageUtils.d.ts +11 -0
- package/dist/utils/imageUtils.js +12 -12
- package/dist/utils/index.d.ts +21 -0
- package/dist/utils/loanCard.d.ts +35 -0
- package/dist/utils/loanCard.js +2 -2
- package/dist/utils/loanSearch/queryParamUtils.d.ts +1 -0
- package/dist/utils/loanUtils.d.ts +11 -0
- package/dist/utils/loanUtils.js +56 -53
- package/dist/utils/mapUtils.d.ts +5 -0
- package/dist/utils/markMatches.d.ts +1 -0
- package/dist/utils/paramCase.d.ts +1 -0
- package/dist/utils/printing.d.ts +2 -0
- package/dist/utils/scrollLock.d.ts +4 -0
- package/dist/utils/themeUtils.d.ts +12 -0
- package/dist/utils/throttle.d.ts +1 -0
- package/dist/utils/throttle.js +4 -4
- package/dist/utils/touchEvents.d.ts +3 -0
- package/dist/utils/touchEvents.js +9 -9
- package/dist/utils/treemap.d.ts +16 -0
- package/dist/utils/treemap.js +1 -1
- package/dist/vue/KvAccordionItem.js +28 -82
- package/dist/vue/KvAccordionItem.vue.d.ts +107 -0
- package/dist/vue/KvAccordionItem2.js +60 -0
- package/dist/vue/KvActivityRow.js +11 -22
- package/dist/vue/KvActivityRow.vue.d.ts +66 -0
- package/dist/vue/KvActivityRow2.js +16 -0
- package/dist/vue/KvAtbModal.css +1 -1
- package/dist/vue/KvAtbModal.js +68 -248
- package/dist/vue/KvAtbModal.vue.d.ts +359 -0
- package/dist/vue/KvAtbModal2.js +186 -0
- package/dist/vue/KvBorrowerImage.js +17 -118
- package/dist/vue/KvBorrowerImage.vue.d.ts +62 -0
- package/dist/vue/KvBorrowerImage2.js +106 -0
- package/dist/vue/KvButton.js +20 -164
- package/dist/vue/KvButton.vue.d.ts +94 -0
- package/dist/vue/KvButton2.js +149 -0
- package/dist/vue/KvCardFrame.js +12 -74
- package/dist/vue/KvCardFrame.vue.d.ts +86 -0
- package/dist/vue/KvCardFrame2.js +67 -0
- package/dist/vue/KvCarousel.css +1 -1
- package/dist/vue/KvCarousel.js +55 -192
- package/dist/vue/KvCarousel.vue.d.ts +135 -0
- package/dist/vue/KvCarousel2.js +142 -0
- package/dist/vue/KvCartModal.css +1 -1
- package/dist/vue/KvCartModal.js +31 -131
- package/dist/vue/KvCartModal.vue.d.ts +163 -0
- package/dist/vue/KvCartModal2.js +106 -0
- package/dist/vue/KvCartPill.js +12 -51
- package/dist/vue/KvCartPill.vue.d.ts +52 -0
- package/dist/vue/KvCartPill2.js +45 -0
- package/dist/vue/KvCheckbox.css +1 -1
- package/dist/vue/KvCheckbox.js +30 -126
- package/dist/vue/KvCheckbox.vue.d.ts +90 -0
- package/dist/vue/KvCheckbox2.js +102 -0
- package/dist/vue/KvCheckoutReceipt.css +1 -1
- package/dist/vue/KvCheckoutReceipt.js +120 -199
- package/dist/vue/KvCheckoutReceipt.vue.d.ts +164 -0
- package/dist/vue/KvCheckoutReceipt2.js +85 -0
- package/dist/vue/KvChip.js +12 -29
- package/dist/vue/KvChip.vue.d.ts +22 -0
- package/dist/vue/KvChip2.js +22 -0
- package/dist/vue/KvClassicLoanCard.css +1 -1
- package/dist/vue/KvClassicLoanCard.js +83 -351
- package/dist/vue/KvClassicLoanCard.vue.d.ts +2120 -0
- package/dist/vue/KvClassicLoanCard2.js +281 -0
- package/dist/vue/KvCommentsAdd.css +1 -1
- package/dist/vue/KvCommentsAdd.js +34 -81
- package/dist/vue/KvCommentsAdd.vue.d.ts +296 -0
- package/dist/vue/KvCommentsAdd2.js +57 -0
- package/dist/vue/KvCommentsContainer.js +15 -66
- package/dist/vue/KvCommentsContainer.vue.d.ts +954 -0
- package/dist/vue/KvCommentsContainer2.js +58 -0
- package/dist/vue/KvCommentsHeartButton.css +1 -1
- package/dist/vue/KvCommentsHeartButton.js +12 -51
- package/dist/vue/KvCommentsHeartButton.vue.d.ts +42 -0
- package/dist/vue/KvCommentsHeartButton2.js +44 -0
- package/dist/vue/KvCommentsList.js +9 -51
- package/dist/vue/KvCommentsList.vue.d.ts +619 -0
- package/dist/vue/KvCommentsList2.js +46 -0
- package/dist/vue/KvCommentsListItem.js +62 -186
- package/dist/vue/KvCommentsListItem.vue.d.ts +571 -0
- package/dist/vue/KvCommentsListItem2.js +135 -0
- package/dist/vue/KvCommentsReplyButton.css +1 -1
- package/dist/vue/KvCommentsReplyButton.js +8 -17
- package/dist/vue/KvCommentsReplyButton.vue.d.ts +98 -0
- package/dist/vue/KvCommentsReplyButton2.js +13 -0
- package/dist/vue/KvCompactLoanCard.css +1 -1
- package/dist/vue/KvCompactLoanCard.js +71 -327
- package/dist/vue/KvCompactLoanCard.vue.d.ts +1272 -0
- package/dist/vue/KvCompactLoanCard2.js +269 -0
- package/dist/vue/KvContentfulImg.js +51 -164
- package/dist/vue/KvContentfulImg.vue.d.ts +107 -0
- package/dist/vue/KvContentfulImg2.js +119 -0
- package/dist/vue/KvCountdownTimer.js +8 -28
- package/dist/vue/KvCountdownTimer.vue.d.ts +15 -0
- package/dist/vue/KvCountdownTimer2.js +26 -0
- package/dist/vue/KvDatePicker.js +21 -101
- package/dist/vue/KvDatePicker.vue.d.ts +58 -0
- package/dist/vue/KvDatePicker2.js +86 -0
- package/dist/vue/KvExpandable.js +9 -56
- package/dist/vue/KvExpandable.vue.d.ts +53 -0
- package/dist/vue/KvExpandable2.js +52 -0
- package/dist/vue/KvExpandableQuestion.js +23 -82
- package/dist/vue/KvExpandableQuestion.vue.d.ts +124 -0
- package/dist/vue/KvExpandableQuestion2.js +65 -0
- package/dist/vue/KvFlag.css +1 -1
- package/dist/vue/KvFlag.js +16 -617
- package/dist/vue/KvFlag.vue.d.ts +66 -0
- package/dist/vue/KvFlag2.js +606 -0
- package/dist/vue/KvGrid.js +7 -18
- package/dist/vue/KvGrid.vue.d.ts +14 -0
- package/dist/vue/KvGrid2.js +15 -0
- package/dist/vue/KvIconBag.js +12 -18
- package/dist/vue/KvIconBag.vue.d.ts +14 -0
- package/dist/vue/KvIconBag2.js +11 -0
- package/dist/vue/KvImpactDashboardHeader.vue.d.ts +17 -0
- package/dist/vue/KvImpactVerticalSelector.js +31 -110
- package/dist/vue/KvImpactVerticalSelector.vue.d.ts +278 -0
- package/dist/vue/KvImpactVerticalSelector2.js +85 -0
- package/dist/vue/KvInlineActivityCard.js +15 -44
- package/dist/vue/KvInlineActivityCard.vue.d.ts +71 -0
- package/dist/vue/KvInlineActivityCard2.js +35 -0
- package/dist/vue/KvInlineActivityFeed.css +1 -1
- package/dist/vue/KvInlineActivityFeed.js +11 -23
- package/dist/vue/KvInlineActivityFeed.vue.d.ts +85 -0
- package/dist/vue/KvInlineActivityFeed2.js +17 -0
- package/dist/vue/KvIntroductionLoanCard.css +1 -1
- package/dist/vue/KvIntroductionLoanCard.js +111 -309
- package/dist/vue/KvIntroductionLoanCard.vue.d.ts +617 -0
- package/dist/vue/KvIntroductionLoanCard2.js +209 -0
- package/dist/vue/KvLendAmountButton.js +9 -53
- package/dist/vue/KvLendAmountButton.vue.d.ts +140 -0
- package/dist/vue/KvLendAmountButton2.js +48 -0
- package/dist/vue/KvLendCta.css +1 -1
- package/dist/vue/KvLendCta.js +150 -530
- package/dist/vue/KvLendCta.vue.d.ts +583 -0
- package/dist/vue/KvLendCta2.js +387 -0
- package/dist/vue/KvLightbox.js +37 -148
- package/dist/vue/KvLightbox.vue.d.ts +77 -0
- package/dist/vue/KvLightbox2.js +117 -0
- package/dist/vue/KvLineGraph.js +25 -58
- package/dist/vue/KvLineGraph.vue.d.ts +35 -0
- package/dist/vue/KvLineGraph2.js +39 -0
- package/dist/vue/KvLoadingPlaceholder.vue.d.ts +2 -0
- package/dist/vue/KvLoadingSpinner.js +9 -34
- package/dist/vue/KvLoadingSpinner.vue.d.ts +27 -0
- package/dist/vue/KvLoadingSpinner2.js +29 -0
- package/dist/vue/KvLoanActivities.css +1 -1
- package/dist/vue/KvLoanActivities.js +37 -179
- package/dist/vue/KvLoanActivities.vue.d.ts +853 -0
- package/dist/vue/KvLoanActivities2.js +151 -0
- package/dist/vue/KvLoanBookmark.js +14 -40
- package/dist/vue/KvLoanBookmark.vue.d.ts +32 -0
- package/dist/vue/KvLoanBookmark2.js +32 -0
- package/dist/vue/KvLoanCallouts.css +1 -1
- package/dist/vue/KvLoanCallouts.js +10 -17
- package/dist/vue/KvLoanCallouts.vue.d.ts +18 -0
- package/dist/vue/KvLoanCallouts2.js +12 -0
- package/dist/vue/KvLoanInfoCard.js +20 -19
- package/dist/vue/KvLoanProgressGroup.css +1 -1
- package/dist/vue/KvLoanProgressGroup.js +18 -57
- package/dist/vue/KvLoanProgressGroup.vue.d.ts +108 -0
- package/dist/vue/KvLoanProgressGroup2.js +44 -0
- package/dist/vue/KvLoanTag.js +15 -103
- package/dist/vue/KvLoanTag.vue.d.ts +46 -0
- package/dist/vue/KvLoanTag2.js +94 -0
- package/dist/vue/KvLoanTeamPick.vue.d.ts +2 -0
- package/dist/vue/KvLoanUse.js +12 -100
- package/dist/vue/KvLoanUse.vue.d.ts +120 -0
- package/dist/vue/KvLoanUse2.js +95 -0
- package/dist/vue/KvLogo.vue.d.ts +2 -0
- package/dist/vue/KvMap.js +13 -381
- package/dist/vue/KvMap.vue.d.ts +213 -0
- package/dist/vue/KvMap2.js +376 -0
- package/dist/vue/KvMaterialIcon.js +10 -20
- package/dist/vue/KvMaterialIcon.vue.d.ts +14 -0
- package/dist/vue/KvMaterialIcon2.js +15 -0
- package/dist/vue/KvPageContainer.js +9 -8
- package/dist/vue/KvPageContainer.vue.d.ts +2 -0
- package/dist/vue/KvPageContainer2.js +4 -0
- package/dist/vue/KvPagination.js +38 -138
- package/dist/vue/KvPagination.vue.d.ts +107 -0
- package/dist/vue/KvPagination2.js +105 -0
- package/dist/vue/KvPieChart.css +1 -1
- package/dist/vue/KvPieChart.js +49 -128
- package/dist/vue/KvPieChart.vue.d.ts +47 -0
- package/dist/vue/KvPieChart2.js +85 -0
- package/dist/vue/KvPill.js +9 -19
- package/dist/vue/KvPill.vue.d.ts +23 -0
- package/dist/vue/KvPill2.js +15 -0
- package/dist/vue/KvPopper.js +14 -122
- package/dist/vue/KvPopper.vue.d.ts +80 -0
- package/dist/vue/KvPopper2.js +113 -0
- package/dist/vue/KvProgressBar.js +17 -112
- package/dist/vue/KvProgressBar.vue.d.ts +70 -0
- package/dist/vue/KvProgressBar2.js +101 -0
- package/dist/vue/KvPulsingDot.css +1 -1
- package/dist/vue/KvPulsingDot.js +11 -25
- package/dist/vue/KvPulsingDot.vue.d.ts +23 -0
- package/dist/vue/KvPulsingDot2.js +19 -0
- package/dist/vue/KvRadio.js +23 -106
- package/dist/vue/KvRadio.vue.d.ts +62 -0
- package/dist/vue/KvRadio2.js +89 -0
- package/dist/vue/KvSecondaryNav.css +1 -1
- package/dist/vue/KvSecondaryNav.js +46 -122
- package/dist/vue/KvSecondaryNav.vue.d.ts +117 -0
- package/dist/vue/KvSecondaryNav2.js +82 -0
- package/dist/vue/KvSelect.css +1 -1
- package/dist/vue/KvSelect.js +18 -78
- package/dist/vue/KvSelect.vue.d.ts +58 -0
- package/dist/vue/KvSelect2.js +66 -0
- package/dist/vue/KvSideSheet.js +44 -262
- package/dist/vue/KvSideSheet.vue.d.ts +136 -0
- package/dist/vue/KvSideSheet2.js +224 -0
- package/dist/vue/KvSwitch.js +23 -76
- package/dist/vue/KvSwitch.vue.d.ts +34 -0
- package/dist/vue/KvSwitch2.js +59 -0
- package/dist/vue/KvTab.js +15 -57
- package/dist/vue/KvTab.vue.d.ts +34 -0
- package/dist/vue/KvTab2.js +48 -0
- package/dist/vue/KvTabPanel.js +14 -36
- package/dist/vue/KvTabPanel.vue.d.ts +14 -0
- package/dist/vue/KvTabPanel2.js +28 -0
- package/dist/vue/KvTabs.js +21 -75
- package/dist/vue/KvTabs.vue.d.ts +22 -0
- package/dist/vue/KvTabs2.js +60 -0
- package/dist/vue/KvTextInput.js +28 -148
- package/dist/vue/KvTextInput.vue.d.ts +105 -0
- package/dist/vue/KvTextInput2.js +126 -0
- package/dist/vue/KvTextLink.js +13 -76
- package/dist/vue/KvTextLink.vue.d.ts +64 -0
- package/dist/vue/KvTextLink2.js +68 -0
- package/dist/vue/KvThemeProvider.js +8 -59
- package/dist/vue/KvThemeProvider.vue.d.ts +23 -0
- package/dist/vue/KvThemeProvider2.js +55 -0
- package/dist/vue/KvToast.js +32 -69
- package/dist/vue/KvToast.vue.d.ts +31 -0
- package/dist/vue/KvToast2.js +43 -0
- package/dist/vue/KvTooltip.css +1 -1
- package/dist/vue/KvTooltip.js +27 -123
- package/dist/vue/KvTooltip.vue.d.ts +2 -0
- package/dist/vue/KvTooltip2.js +103 -0
- package/dist/vue/KvTreeMapChart.css +1 -1
- package/dist/vue/KvTreeMapChart.js +28 -156
- package/dist/vue/KvTreeMapChart.vue.d.ts +60 -0
- package/dist/vue/KvTreeMapChart2.js +133 -0
- package/dist/vue/KvUserAvatar.js +28 -110
- package/dist/vue/KvUserAvatar.vue.d.ts +55 -0
- package/dist/vue/KvUserAvatar2.js +88 -0
- package/dist/vue/KvUtilityMenu.js +19 -95
- package/dist/vue/KvUtilityMenu.vue.d.ts +104 -0
- package/dist/vue/KvUtilityMenu2.js +81 -0
- package/dist/vue/KvVerticalCarousel.js +40 -137
- package/dist/vue/KvVerticalCarousel.vue.d.ts +90 -0
- package/dist/vue/KvVerticalCarousel2.js +103 -0
- package/dist/vue/KvVotingCard.css +1 -1
- package/dist/vue/KvVotingCard.js +31 -88
- package/dist/vue/KvVotingCard.vue.d.ts +249 -0
- package/dist/vue/KvVotingCard2.js +63 -0
- package/dist/vue/KvVotingCardV2.js +35 -90
- package/dist/vue/KvVotingCardV2.vue.d.ts +308 -0
- package/dist/vue/KvVotingCardV22.js +61 -0
- package/dist/vue/KvWideLoanCard.css +1 -1
- package/dist/vue/KvWideLoanCard.js +66 -274
- package/dist/vue/KvWideLoanCard.vue.d.ts +1191 -0
- package/dist/vue/KvWideLoanCard2.js +220 -0
- package/dist/vue/KvWwwHeader/KvHeaderAboutMenu.js +34 -38
- package/dist/vue/KvWwwHeader/KvHeaderAboutMenu.vue.d.ts +20 -0
- package/dist/vue/KvWwwHeader/KvHeaderAboutMenu2.js +9 -0
- package/dist/vue/KvWwwHeader/KvHeaderDropdownLink.js +20 -83
- package/dist/vue/KvWwwHeader/KvHeaderDropdownLink.vue.d.ts +91 -0
- package/dist/vue/KvWwwHeader/KvHeaderDropdownLink2.js +69 -0
- package/dist/vue/KvWwwHeader/KvHeaderLinkBar.css +1 -1
- package/dist/vue/KvWwwHeader/KvHeaderLinkBar.js +77 -248
- package/dist/vue/KvWwwHeader/KvHeaderLinkBar.vue.d.ts +1071 -0
- package/dist/vue/KvWwwHeader/KvHeaderLinkBar2.js +178 -0
- package/dist/vue/KvWwwHeader/KvHeaderLogo.js +8 -12
- package/dist/vue/KvWwwHeader/KvHeaderLogo.vue.d.ts +4 -0
- package/dist/vue/KvWwwHeader/KvHeaderLogo2.js +9 -0
- package/dist/vue/KvWwwHeader/KvHeaderMenuLink.vue.d.ts +17 -0
- package/dist/vue/KvWwwHeader/KvHeaderMobileMenu.css +1 -1
- package/dist/vue/KvWwwHeader/KvHeaderMobileMenu.js +37 -91
- package/dist/vue/KvWwwHeader/KvHeaderMobileMenu.vue.d.ts +162 -0
- package/dist/vue/KvWwwHeader/KvHeaderMobileMenu2.js +59 -0
- package/dist/vue/KvWwwHeader/KvHeaderMyKivaMenu.js +36 -58
- package/dist/vue/KvWwwHeader/KvHeaderMyKivaMenu.vue.d.ts +59 -0
- package/dist/vue/KvWwwHeader/KvHeaderMyKivaMenu2.js +27 -0
- package/dist/vue/KvWwwHeader/KvHeaderTakeActionMenu.js +20 -24
- package/dist/vue/KvWwwHeader/KvHeaderTakeActionMenu.vue.d.ts +20 -0
- package/dist/vue/KvWwwHeader/KvHeaderTakeActionMenu2.js +9 -0
- package/dist/vue/KvWwwHeader/LendMenu/KvLendListMenu.css +1 -1
- package/dist/vue/KvWwwHeader/LendMenu/KvLendListMenu.js +105 -181
- package/dist/vue/KvWwwHeader/LendMenu/KvLendListMenu.vue.d.ts +319 -0
- package/dist/vue/KvWwwHeader/LendMenu/KvLendListMenu2.js +82 -0
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMegaMenu.css +1 -1
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMegaMenu.js +93 -173
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMegaMenu.vue.d.ts +166 -0
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMegaMenu2.js +86 -0
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMenu.js +17 -157
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMenu.vue.d.ts +506 -0
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMenu2.js +145 -0
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMenuCountryList.css +1 -1
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMenuCountryList.js +11 -18
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMenuCountryList.vue.d.ts +20 -0
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMenuCountryList2.js +12 -0
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMenuSearchList.js +10 -16
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMenuSearchList.vue.d.ts +20 -0
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMenuSearchList2.js +11 -0
- package/dist/vue/KvWwwHeader.css +1 -1
- package/dist/vue/KvWwwHeader.js +35 -148
- package/dist/vue/KvWwwHeader.vue.d.ts +4430 -0
- package/dist/vue/KvWwwHeader2.js +119 -0
- package/dist/vue/index.d.ts +86 -0
- package/package.json +34 -32
- package/tsconfig.json +32 -0
- package/vite.config.ts +84 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { toRefs as i, inject as c, computed as a } from "vue";
|
|
2
|
+
const l = {
|
|
3
|
+
props: {
|
|
4
|
+
/**
|
|
5
|
+
* A unique id which correspondes to a `for` property on the KvTab which controls it
|
|
6
|
+
* e.g., <kv-tab for="foo">... <kv-tab-panel id="foo">
|
|
7
|
+
* */
|
|
8
|
+
id: {
|
|
9
|
+
type: String,
|
|
10
|
+
required: !0
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
setup(o) {
|
|
14
|
+
const {
|
|
15
|
+
id: r
|
|
16
|
+
} = i(o), e = c("$KvTabContext");
|
|
17
|
+
return {
|
|
18
|
+
isActive: a(() => {
|
|
19
|
+
var s;
|
|
20
|
+
let t = [], n = 0;
|
|
21
|
+
return e && (t = e.navItems, n = e.selectedIndex), ((s = t[n]) == null ? void 0 : s.forPanel) === r.value;
|
|
22
|
+
})
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
export {
|
|
27
|
+
l as default
|
|
28
|
+
};
|
package/dist/vue/KvTabs.js
CHANGED
|
@@ -1,86 +1,32 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
},
|
|
10
|
-
setup(f, { emit: c }) {
|
|
11
|
-
const t = h({
|
|
12
|
-
selectedIndex: 0,
|
|
13
|
-
setTab: null,
|
|
14
|
-
navItems: []
|
|
15
|
-
}), l = g(null), r = p(() => {
|
|
16
|
-
var s;
|
|
17
|
-
const { navItems: e, selectedIndex: n } = t;
|
|
18
|
-
return ((s = e[n]) == null ? void 0 : s.$el) ?? null;
|
|
19
|
-
}), w = () => {
|
|
20
|
-
const e = K();
|
|
21
|
-
e && e.proxy.$forceUpdate();
|
|
22
|
-
}, a = (e) => {
|
|
23
|
-
t.selectedIndex = e, r.value.scrollIntoView({ behavior: "smooth", block: "nearest" }), c("tab-changed", e);
|
|
24
|
-
};
|
|
25
|
-
t.setTab = a, E("$KvTabContext", t);
|
|
26
|
-
const x = (e) => {
|
|
27
|
-
const { navItems: n, selectedIndex: s } = t, d = () => {
|
|
28
|
-
var m;
|
|
29
|
-
const o = n.find((T) => T.isActive);
|
|
30
|
-
o && ((m = o.$el) == null || m.focus());
|
|
31
|
-
}, i = n.length;
|
|
32
|
-
if (e.key === "ArrowRight") {
|
|
33
|
-
e.preventDefault();
|
|
34
|
-
const o = (s + 1) % i;
|
|
35
|
-
a(o), d();
|
|
36
|
-
}
|
|
37
|
-
if (e.key === "ArrowLeft") {
|
|
38
|
-
e.preventDefault();
|
|
39
|
-
const o = (s - 1 + i) % i;
|
|
40
|
-
a(o), d();
|
|
41
|
-
}
|
|
42
|
-
e.key === "Home" && (e.preventDefault(), a(0), d()), e.key === "End" && (e.preventDefault(), a(i - 1), d());
|
|
43
|
-
};
|
|
44
|
-
return y(() => {
|
|
45
|
-
t.navItems.forEach((e, n) => {
|
|
46
|
-
e.selected && a(n);
|
|
47
|
-
}), l.value = new ResizeObserver(() => {
|
|
48
|
-
w();
|
|
49
|
-
}), l.value.observe(r.value);
|
|
50
|
-
}), I(() => {
|
|
51
|
-
l.value.disconnect();
|
|
52
|
-
}), {
|
|
53
|
-
handleKeyDown: x,
|
|
54
|
-
selectedTabEl: r,
|
|
55
|
-
tabContext: t
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
}, B = { class: "tw-relative" };
|
|
59
|
-
function C(f, c, t, l, r, w) {
|
|
60
|
-
return k(), D("div", {
|
|
61
|
-
class: b(t.vertical ? "md:tw-flex" : "")
|
|
1
|
+
import d from "./KvTabs2.js";
|
|
2
|
+
import { openBlock as c, createElementBlock as s, normalizeClass as l, createElementVNode as a, renderSlot as i, normalizeStyle as w } from "vue";
|
|
3
|
+
import m from "../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const f = { class: "tw-relative" };
|
|
5
|
+
function b(o, r, e, t, v, x) {
|
|
6
|
+
return c(), s("div", {
|
|
7
|
+
class: l(e.vertical ? "md:tw-flex" : "")
|
|
62
8
|
}, [
|
|
63
|
-
|
|
9
|
+
a("div", {
|
|
64
10
|
role: "tablist",
|
|
65
|
-
class:
|
|
66
|
-
onKeydown:
|
|
11
|
+
class: l(["tw-flex tw-overflow-auto tw-relative tw-gap-x-2.5 md:tw-gap-x-5 lg:tw-gap-x-6 tw-mb-3 lg:tw-mb-4", { "md:tw-flex-col md:tw-mr-3": e.vertical }]),
|
|
12
|
+
onKeydown: r[0] || (r[0] = (n) => t.handleKeyDown(n))
|
|
67
13
|
}, [
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
class:
|
|
71
|
-
style:
|
|
72
|
-
width: ${
|
|
73
|
-
height: ${
|
|
74
|
-
transform: ${
|
|
14
|
+
i(o.$slots, "tabNav"),
|
|
15
|
+
a("div", {
|
|
16
|
+
class: l(["tw-absolute tw-bottom-0 tw-h-0.5 tw-left-0 tw-bg-primary-inverse tw-rounded-full tw-origin-left tw-transition-all tw-duration-300", { "tw-hidden md:tw-block tw-top-0 md:tw-bg-action": e.vertical }]),
|
|
17
|
+
style: w(`
|
|
18
|
+
width: ${t.selectedTabEl && !e.vertical ? t.selectedTabEl.clientWidth : 3}px;
|
|
19
|
+
height: ${t.selectedTabEl && e.vertical ? `${t.selectedTabEl.clientHeight}px` : "0.25rem"};
|
|
20
|
+
transform: ${t.selectedTabEl && !e.vertical ? `translateX(${t.selectedTabEl.offsetLeft}px)` : t.selectedTabEl ? `translateY(${t.selectedTabEl.offsetTop}px)` : null};
|
|
75
21
|
`)
|
|
76
22
|
}, null, 6)
|
|
77
23
|
], 34),
|
|
78
|
-
|
|
79
|
-
|
|
24
|
+
a("div", f, [
|
|
25
|
+
i(o.$slots, "tabPanels")
|
|
80
26
|
])
|
|
81
27
|
], 2);
|
|
82
28
|
}
|
|
83
|
-
const
|
|
29
|
+
const h = /* @__PURE__ */ m(d, [["render", b]]);
|
|
84
30
|
export {
|
|
85
|
-
|
|
31
|
+
h as default
|
|
86
32
|
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
2
|
+
vertical: {
|
|
3
|
+
type: BooleanConstructor;
|
|
4
|
+
default: boolean;
|
|
5
|
+
};
|
|
6
|
+
}>, {
|
|
7
|
+
handleKeyDown: (event: any) => void;
|
|
8
|
+
selectedTabEl: import('vue').ComputedRef<any>;
|
|
9
|
+
tabContext: {
|
|
10
|
+
selectedIndex: number;
|
|
11
|
+
setTab: any;
|
|
12
|
+
navItems: any[];
|
|
13
|
+
};
|
|
14
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
15
|
+
vertical: {
|
|
16
|
+
type: BooleanConstructor;
|
|
17
|
+
default: boolean;
|
|
18
|
+
};
|
|
19
|
+
}>> & Readonly<{}>, {
|
|
20
|
+
vertical: boolean;
|
|
21
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
22
|
+
export default _default;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { reactive as b, ref as I, computed as m, provide as x, onMounted as T, onBeforeUnmount as h, getCurrentInstance as y } from "vue";
|
|
2
|
+
const D = {
|
|
3
|
+
props: {
|
|
4
|
+
vertical: {
|
|
5
|
+
type: Boolean,
|
|
6
|
+
default: !1
|
|
7
|
+
}
|
|
8
|
+
},
|
|
9
|
+
setup(k, { emit: u }) {
|
|
10
|
+
const t = b({
|
|
11
|
+
selectedIndex: 0,
|
|
12
|
+
setTab: null,
|
|
13
|
+
navItems: []
|
|
14
|
+
}), l = I(null), f = m(() => {
|
|
15
|
+
var c;
|
|
16
|
+
const { navItems: e, selectedIndex: o } = t;
|
|
17
|
+
return ((c = e[o]) == null ? void 0 : c.$el) ?? null;
|
|
18
|
+
}), i = () => {
|
|
19
|
+
const e = y();
|
|
20
|
+
e && e.proxy.$forceUpdate();
|
|
21
|
+
}, n = (e) => {
|
|
22
|
+
t.selectedIndex = e, f.value.scrollIntoView({ behavior: "smooth", block: "nearest" }), u("tab-changed", e);
|
|
23
|
+
};
|
|
24
|
+
t.setTab = n, x("$KvTabContext", t);
|
|
25
|
+
const p = (e) => {
|
|
26
|
+
const { navItems: o, selectedIndex: c } = t, a = () => {
|
|
27
|
+
var d;
|
|
28
|
+
const s = o.find((v) => v.isActive);
|
|
29
|
+
s && ((d = s.$el) == null || d.focus());
|
|
30
|
+
}, r = o.length;
|
|
31
|
+
if (e.key === "ArrowRight") {
|
|
32
|
+
e.preventDefault();
|
|
33
|
+
const s = (c + 1) % r;
|
|
34
|
+
n(s), a();
|
|
35
|
+
}
|
|
36
|
+
if (e.key === "ArrowLeft") {
|
|
37
|
+
e.preventDefault();
|
|
38
|
+
const s = (c - 1 + r) % r;
|
|
39
|
+
n(s), a();
|
|
40
|
+
}
|
|
41
|
+
e.key === "Home" && (e.preventDefault(), n(0), a()), e.key === "End" && (e.preventDefault(), n(r - 1), a());
|
|
42
|
+
};
|
|
43
|
+
return T(() => {
|
|
44
|
+
t.navItems.forEach((e, o) => {
|
|
45
|
+
e.selected && n(o);
|
|
46
|
+
}), l.value = new ResizeObserver(() => {
|
|
47
|
+
i();
|
|
48
|
+
}), l.value.observe(f.value);
|
|
49
|
+
}), h(() => {
|
|
50
|
+
l.value.disconnect();
|
|
51
|
+
}), {
|
|
52
|
+
handleKeyDown: p,
|
|
53
|
+
selectedTabEl: f,
|
|
54
|
+
tabContext: t
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
export {
|
|
59
|
+
D as default
|
|
60
|
+
};
|
package/dist/vue/KvTextInput.js
CHANGED
|
@@ -1,140 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
import T from "../_virtual/_plugin-vue_export-helper.js";
|
|
6
|
-
const g = [
|
|
7
|
-
"input",
|
|
8
|
-
"update:modelValue"
|
|
9
|
-
], z = {
|
|
10
|
-
components: {
|
|
11
|
-
KvMaterialIcon: R
|
|
12
|
-
},
|
|
13
|
-
inheritAttrs: !1,
|
|
14
|
-
// v-model will update when a different value is input
|
|
15
|
-
model: {
|
|
16
|
-
prop: "modelValue",
|
|
17
|
-
event: "update:modelValue"
|
|
18
|
-
},
|
|
19
|
-
props: {
|
|
20
|
-
/**
|
|
21
|
-
* Id of the input, used to associate the input with a <label> element.
|
|
22
|
-
* */
|
|
23
|
-
id: {
|
|
24
|
-
type: String,
|
|
25
|
-
required: !0
|
|
26
|
-
},
|
|
27
|
-
/**
|
|
28
|
-
* Value of the text in the input. Used if you're not using the standard v-model bindings
|
|
29
|
-
* ```
|
|
30
|
-
* <kv-text-input :value="streetAddress" @input="(val) => streetAddress = val" />
|
|
31
|
-
* ```
|
|
32
|
-
* */
|
|
33
|
-
modelValue: {
|
|
34
|
-
type: [String, Number, Boolean],
|
|
35
|
-
default: ""
|
|
36
|
-
},
|
|
37
|
-
/**
|
|
38
|
-
* Text that appears in the form control when it has no value set
|
|
39
|
-
* Should not be used as a label, but rather an example.
|
|
40
|
-
* Bad: Enter an address Good: 1234 E Cherry Lane
|
|
41
|
-
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefplaceholder
|
|
42
|
-
* */
|
|
43
|
-
placeholder: {
|
|
44
|
-
type: String,
|
|
45
|
-
default: null
|
|
46
|
-
},
|
|
47
|
-
/**
|
|
48
|
-
* Prevents the input from being edited or focused
|
|
49
|
-
* */
|
|
50
|
-
disabled: {
|
|
51
|
-
type: Boolean,
|
|
52
|
-
default: !1
|
|
53
|
-
},
|
|
54
|
-
/**
|
|
55
|
-
* When set to false, visually indicates to the user that the contents of the input need
|
|
56
|
-
* to be changed
|
|
57
|
-
* */
|
|
58
|
-
valid: {
|
|
59
|
-
type: Boolean,
|
|
60
|
-
default: !0
|
|
61
|
-
},
|
|
62
|
-
/*
|
|
63
|
-
* SVG path data passed in from an imported @mdi/js module.
|
|
64
|
-
* Displayed on the left hand side of the input
|
|
65
|
-
* ```
|
|
66
|
-
* import { mdiMagnify } from '@mdi/js';
|
|
67
|
-
* data() { return { mdiMagnify } };
|
|
68
|
-
* <kv-text-input :icon="mdiMagnify" />`
|
|
69
|
-
* ```
|
|
70
|
-
* */
|
|
71
|
-
icon: {
|
|
72
|
-
type: String,
|
|
73
|
-
default: null
|
|
74
|
-
},
|
|
75
|
-
/**
|
|
76
|
-
* Can be used to set show special keyboards for mobile users
|
|
77
|
-
* E.g., type="number" or type="tel"
|
|
78
|
-
* */
|
|
79
|
-
type: {
|
|
80
|
-
type: String,
|
|
81
|
-
default: "text"
|
|
82
|
-
},
|
|
83
|
-
/**
|
|
84
|
-
* When set to true, adds a button positioned to the right edge of the input containing an “X”
|
|
85
|
-
* */
|
|
86
|
-
canClear: {
|
|
87
|
-
type: Boolean,
|
|
88
|
-
default: !1
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
emits: g,
|
|
92
|
-
setup(a, l) {
|
|
93
|
-
const { emit: t } = l, {
|
|
94
|
-
modelValue: e
|
|
95
|
-
} = b(a), i = w(null), r = w(e.value), {
|
|
96
|
-
classes: n,
|
|
97
|
-
styles: o,
|
|
98
|
-
inputAttrs: v,
|
|
99
|
-
inputListeners: y
|
|
100
|
-
} = N(l, g);
|
|
101
|
-
return {
|
|
102
|
-
mdiAlertCircleOutline: B,
|
|
103
|
-
mdiClose: A,
|
|
104
|
-
onInput: (d) => {
|
|
105
|
-
r.value = d.target.value, t("input", d.target.value), t("update:modelValue", d.target.value);
|
|
106
|
-
},
|
|
107
|
-
focus: () => {
|
|
108
|
-
i.value.focus();
|
|
109
|
-
},
|
|
110
|
-
blur: () => {
|
|
111
|
-
i.value.blur();
|
|
112
|
-
},
|
|
113
|
-
clearInput: () => {
|
|
114
|
-
r.value = "", t("input", ""), t("update:modelValue", "");
|
|
115
|
-
},
|
|
116
|
-
inputText: r,
|
|
117
|
-
classes: n,
|
|
118
|
-
styles: o,
|
|
119
|
-
inputAttrs: v,
|
|
120
|
-
inputListeners: y,
|
|
121
|
-
textInputRef: i
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
}, E = ["id", "type", "placeholder", "disabled", "value"], K = {
|
|
1
|
+
import u from "./KvTextInput2.js";
|
|
2
|
+
import { resolveComponent as m, openBlock as l, createElementBlock as d, normalizeClass as s, normalizeStyle as g, createElementVNode as i, mergeProps as f, toHandlers as b, createBlock as c, createCommentVNode as a, withDirectives as v, createVNode as h, vShow as y, renderSlot as x } from "vue";
|
|
3
|
+
import k from "../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const _ = ["id", "type", "placeholder", "disabled", "value"], C = {
|
|
125
5
|
key: 2,
|
|
126
6
|
class: "tw-text-danger-highlight tw-text-small tw-font-medium tw-mt-1"
|
|
127
7
|
};
|
|
128
|
-
function
|
|
129
|
-
const
|
|
130
|
-
return
|
|
131
|
-
class:
|
|
132
|
-
style:
|
|
8
|
+
function I(w, n, t, e, V, B) {
|
|
9
|
+
const o = m("kv-material-icon");
|
|
10
|
+
return l(), d("div", {
|
|
11
|
+
class: s(["tw-inline-flex", e.classes]),
|
|
12
|
+
style: g(e.styles)
|
|
133
13
|
}, [
|
|
134
|
-
|
|
135
|
-
class:
|
|
14
|
+
i("div", {
|
|
15
|
+
class: s(["tw-relative tw-w-full", { "tw-opacity-low": t.disabled }])
|
|
136
16
|
}, [
|
|
137
|
-
|
|
17
|
+
i("input", f({
|
|
138
18
|
id: t.id,
|
|
139
19
|
ref: "textInputRef",
|
|
140
20
|
type: t.type,
|
|
@@ -147,39 +27,39 @@ function L(a, l, t, e, i, r) {
|
|
|
147
27
|
}],
|
|
148
28
|
placeholder: t.placeholder,
|
|
149
29
|
disabled: t.disabled
|
|
150
|
-
}, e.inputAttrs, { value: t.modelValue },
|
|
151
|
-
onInput:
|
|
152
|
-
}), null, 16,
|
|
153
|
-
t.icon ? (
|
|
30
|
+
}, e.inputAttrs, { value: t.modelValue }, b(e.inputListeners, !0), {
|
|
31
|
+
onInput: n[0] || (n[0] = (...r) => e.onInput && e.onInput(...r))
|
|
32
|
+
}), null, 16, _),
|
|
33
|
+
t.icon ? (l(), c(o, {
|
|
154
34
|
key: 0,
|
|
155
35
|
icon: t.icon,
|
|
156
36
|
class: "tw-w-3 tw-h-3 tw-absolute tw-top-1.5 tw-left-1.5 tw-pointer-events-none"
|
|
157
|
-
}, null, 8, ["icon"])) :
|
|
158
|
-
t.valid ?
|
|
37
|
+
}, null, 8, ["icon"])) : a("", !0),
|
|
38
|
+
t.valid ? a("", !0) : (l(), c(o, {
|
|
159
39
|
key: 1,
|
|
160
40
|
icon: e.mdiAlertCircleOutline,
|
|
161
41
|
class: "tw-w-3 tw-h-3 tw-absolute tw-top-1.5 tw-right-1.5 tw-pointer-events-none tw-text-danger"
|
|
162
42
|
}, null, 8, ["icon"])),
|
|
163
|
-
|
|
43
|
+
v(i("button", {
|
|
164
44
|
type: "button",
|
|
165
45
|
class: "tw-absolute tw-top-1.5 tw-right-1.5",
|
|
166
|
-
onClick:
|
|
46
|
+
onClick: n[1] || (n[1] = (...r) => e.clearInput && e.clearInput(...r))
|
|
167
47
|
}, [
|
|
168
|
-
|
|
169
|
-
|
|
48
|
+
n[2] || (n[2] = i("span", { class: "tw-sr-only" }, "clear input", -1)),
|
|
49
|
+
h(o, {
|
|
170
50
|
class: "tw-w-3 tw-h-3",
|
|
171
51
|
icon: e.mdiClose
|
|
172
52
|
}, null, 8, ["icon"])
|
|
173
53
|
], 512), [
|
|
174
|
-
[
|
|
54
|
+
[y, t.canClear && t.valid && !!e.inputText]
|
|
175
55
|
]),
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
])) :
|
|
56
|
+
w.$slots.error ? (l(), d("div", C, [
|
|
57
|
+
x(w.$slots, "error")
|
|
58
|
+
])) : a("", !0)
|
|
179
59
|
], 2)
|
|
180
60
|
], 6);
|
|
181
61
|
}
|
|
182
|
-
const
|
|
62
|
+
const A = /* @__PURE__ */ k(u, [["render", I]]);
|
|
183
63
|
export {
|
|
184
|
-
|
|
64
|
+
A as default
|
|
185
65
|
};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
2
|
+
id: {
|
|
3
|
+
type: StringConstructor;
|
|
4
|
+
required: true;
|
|
5
|
+
};
|
|
6
|
+
modelValue: {
|
|
7
|
+
type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
|
|
8
|
+
default: string;
|
|
9
|
+
};
|
|
10
|
+
placeholder: {
|
|
11
|
+
type: StringConstructor;
|
|
12
|
+
default: any;
|
|
13
|
+
};
|
|
14
|
+
disabled: {
|
|
15
|
+
type: BooleanConstructor;
|
|
16
|
+
default: boolean;
|
|
17
|
+
};
|
|
18
|
+
valid: {
|
|
19
|
+
type: BooleanConstructor;
|
|
20
|
+
default: boolean;
|
|
21
|
+
};
|
|
22
|
+
icon: {
|
|
23
|
+
type: StringConstructor;
|
|
24
|
+
default: any;
|
|
25
|
+
};
|
|
26
|
+
type: {
|
|
27
|
+
type: StringConstructor;
|
|
28
|
+
default: string;
|
|
29
|
+
};
|
|
30
|
+
canClear: {
|
|
31
|
+
type: BooleanConstructor;
|
|
32
|
+
default: boolean;
|
|
33
|
+
};
|
|
34
|
+
}>, {
|
|
35
|
+
mdiAlertCircleOutline: string;
|
|
36
|
+
mdiClose: string;
|
|
37
|
+
onInput: (event: any) => void;
|
|
38
|
+
focus: () => void;
|
|
39
|
+
blur: () => void;
|
|
40
|
+
clearInput: () => void;
|
|
41
|
+
inputText: import('vue').Ref<string | number | boolean, string | number | boolean>;
|
|
42
|
+
classes: any[];
|
|
43
|
+
styles: any[];
|
|
44
|
+
inputAttrs: any;
|
|
45
|
+
inputListeners: any;
|
|
46
|
+
textInputRef: import('vue').Ref<any, any>;
|
|
47
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, string[], string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
48
|
+
id: {
|
|
49
|
+
type: StringConstructor;
|
|
50
|
+
required: true;
|
|
51
|
+
};
|
|
52
|
+
modelValue: {
|
|
53
|
+
type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
|
|
54
|
+
default: string;
|
|
55
|
+
};
|
|
56
|
+
placeholder: {
|
|
57
|
+
type: StringConstructor;
|
|
58
|
+
default: any;
|
|
59
|
+
};
|
|
60
|
+
disabled: {
|
|
61
|
+
type: BooleanConstructor;
|
|
62
|
+
default: boolean;
|
|
63
|
+
};
|
|
64
|
+
valid: {
|
|
65
|
+
type: BooleanConstructor;
|
|
66
|
+
default: boolean;
|
|
67
|
+
};
|
|
68
|
+
icon: {
|
|
69
|
+
type: StringConstructor;
|
|
70
|
+
default: any;
|
|
71
|
+
};
|
|
72
|
+
type: {
|
|
73
|
+
type: StringConstructor;
|
|
74
|
+
default: string;
|
|
75
|
+
};
|
|
76
|
+
canClear: {
|
|
77
|
+
type: BooleanConstructor;
|
|
78
|
+
default: boolean;
|
|
79
|
+
};
|
|
80
|
+
}>> & Readonly<{
|
|
81
|
+
[x: `on${Capitalize<string>}`]: (...args: any[]) => any;
|
|
82
|
+
}>, {
|
|
83
|
+
type: string;
|
|
84
|
+
icon: string;
|
|
85
|
+
disabled: boolean;
|
|
86
|
+
modelValue: string | number | boolean;
|
|
87
|
+
valid: boolean;
|
|
88
|
+
placeholder: string;
|
|
89
|
+
canClear: boolean;
|
|
90
|
+
}, {}, {
|
|
91
|
+
KvMaterialIcon: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
92
|
+
icon: {
|
|
93
|
+
type: StringConstructor;
|
|
94
|
+
default: string;
|
|
95
|
+
};
|
|
96
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
97
|
+
icon: {
|
|
98
|
+
type: StringConstructor;
|
|
99
|
+
default: string;
|
|
100
|
+
};
|
|
101
|
+
}>> & Readonly<{}>, {
|
|
102
|
+
icon: string;
|
|
103
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
104
|
+
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
105
|
+
export default _default;
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { toRefs as m, ref as o } from "vue";
|
|
2
|
+
import { mdiAlertCircleOutline as f, mdiClose as y } from "@mdi/js";
|
|
3
|
+
import { useAttrs as v } from "../utils/attrs.js";
|
|
4
|
+
import g from "./KvMaterialIcon.js";
|
|
5
|
+
const n = [
|
|
6
|
+
"input",
|
|
7
|
+
"update:modelValue"
|
|
8
|
+
], h = {
|
|
9
|
+
components: {
|
|
10
|
+
KvMaterialIcon: g
|
|
11
|
+
},
|
|
12
|
+
inheritAttrs: !1,
|
|
13
|
+
// v-model will update when a different value is input
|
|
14
|
+
model: {
|
|
15
|
+
prop: "modelValue",
|
|
16
|
+
event: "update:modelValue"
|
|
17
|
+
},
|
|
18
|
+
props: {
|
|
19
|
+
/**
|
|
20
|
+
* Id of the input, used to associate the input with a <label> element.
|
|
21
|
+
* */
|
|
22
|
+
id: {
|
|
23
|
+
type: String,
|
|
24
|
+
required: !0
|
|
25
|
+
},
|
|
26
|
+
/**
|
|
27
|
+
* Value of the text in the input. Used if you're not using the standard v-model bindings
|
|
28
|
+
* ```
|
|
29
|
+
* <kv-text-input :value="streetAddress" @input="(val) => streetAddress = val" />
|
|
30
|
+
* ```
|
|
31
|
+
* */
|
|
32
|
+
modelValue: {
|
|
33
|
+
type: [String, Number, Boolean],
|
|
34
|
+
default: ""
|
|
35
|
+
},
|
|
36
|
+
/**
|
|
37
|
+
* Text that appears in the form control when it has no value set
|
|
38
|
+
* Should not be used as a label, but rather an example.
|
|
39
|
+
* Bad: Enter an address Good: 1234 E Cherry Lane
|
|
40
|
+
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefplaceholder
|
|
41
|
+
* */
|
|
42
|
+
placeholder: {
|
|
43
|
+
type: String,
|
|
44
|
+
default: null
|
|
45
|
+
},
|
|
46
|
+
/**
|
|
47
|
+
* Prevents the input from being edited or focused
|
|
48
|
+
* */
|
|
49
|
+
disabled: {
|
|
50
|
+
type: Boolean,
|
|
51
|
+
default: !1
|
|
52
|
+
},
|
|
53
|
+
/**
|
|
54
|
+
* When set to false, visually indicates to the user that the contents of the input need
|
|
55
|
+
* to be changed
|
|
56
|
+
* */
|
|
57
|
+
valid: {
|
|
58
|
+
type: Boolean,
|
|
59
|
+
default: !0
|
|
60
|
+
},
|
|
61
|
+
/*
|
|
62
|
+
* SVG path data passed in from an imported @mdi/js module.
|
|
63
|
+
* Displayed on the left hand side of the input
|
|
64
|
+
* ```
|
|
65
|
+
* import { mdiMagnify } from '@mdi/js';
|
|
66
|
+
* data() { return { mdiMagnify } };
|
|
67
|
+
* <kv-text-input :icon="mdiMagnify" />`
|
|
68
|
+
* ```
|
|
69
|
+
* */
|
|
70
|
+
icon: {
|
|
71
|
+
type: String,
|
|
72
|
+
default: null
|
|
73
|
+
},
|
|
74
|
+
/**
|
|
75
|
+
* Can be used to set show special keyboards for mobile users
|
|
76
|
+
* E.g., type="number" or type="tel"
|
|
77
|
+
* */
|
|
78
|
+
type: {
|
|
79
|
+
type: String,
|
|
80
|
+
default: "text"
|
|
81
|
+
},
|
|
82
|
+
/**
|
|
83
|
+
* When set to true, adds a button positioned to the right edge of the input containing an “X”
|
|
84
|
+
* */
|
|
85
|
+
canClear: {
|
|
86
|
+
type: Boolean,
|
|
87
|
+
default: !1
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
emits: n,
|
|
91
|
+
setup(r, a) {
|
|
92
|
+
const { emit: e } = a, {
|
|
93
|
+
modelValue: s
|
|
94
|
+
} = m(r), t = o(null), l = o(s.value), {
|
|
95
|
+
classes: p,
|
|
96
|
+
styles: i,
|
|
97
|
+
inputAttrs: d,
|
|
98
|
+
inputListeners: c
|
|
99
|
+
} = v(a, n);
|
|
100
|
+
return {
|
|
101
|
+
mdiAlertCircleOutline: f,
|
|
102
|
+
mdiClose: y,
|
|
103
|
+
onInput: (u) => {
|
|
104
|
+
l.value = u.target.value, e("input", u.target.value), e("update:modelValue", u.target.value);
|
|
105
|
+
},
|
|
106
|
+
focus: () => {
|
|
107
|
+
t.value.focus();
|
|
108
|
+
},
|
|
109
|
+
blur: () => {
|
|
110
|
+
t.value.blur();
|
|
111
|
+
},
|
|
112
|
+
clearInput: () => {
|
|
113
|
+
l.value = "", e("input", ""), e("update:modelValue", "");
|
|
114
|
+
},
|
|
115
|
+
inputText: l,
|
|
116
|
+
classes: p,
|
|
117
|
+
styles: i,
|
|
118
|
+
inputAttrs: d,
|
|
119
|
+
inputListeners: c,
|
|
120
|
+
textInputRef: t
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
export {
|
|
125
|
+
h as default
|
|
126
|
+
};
|