@kiva/kv-components 8.9.0 → 8.10.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/SKILLS.md +31 -0
- package/dist/index.js +160 -158
- package/dist/utils/pieChartColors.d.ts +4 -0
- package/dist/utils/pieChartColors.js +42 -0
- package/dist/utils/useCountUp.d.ts +5 -0
- package/dist/utils/useCountUp.js +7 -0
- package/dist/vue/KvPieChartV2.css +1 -0
- package/dist/vue/KvPieChartV2.js +143 -0
- package/dist/vue/KvPieChartV2.vue.d.ts +202 -0
- package/dist/vue/KvPieChartV22.js +232 -0
- package/dist/vue/KvProgressCircle.vue.d.ts +1 -1
- package/dist/vue/KvTabPanel.js +11 -11
- package/dist/vue/KvTabs.js +16 -16
- package/dist/vue/KvTabs.vue.d.ts +16 -5
- package/dist/vue/KvTabs2.js +44 -34
- package/dist/vue/index.d.ts +1 -0
- package/docs/make-to-vue.md +264 -0
- package/package.json +2 -2
- package/dist/vue/KvWwwHeader/KvHeaderLinkBar.vue.d.ts +0 -1082
- package/dist/vue/KvWwwHeader/LendMenu/KvLendListMenu.vue.d.ts +0 -319
- package/dist/vue/KvWwwHeader/LendMenu/KvLendMenu.vue.d.ts +0 -506
- package/dist/vue/KvWwwHeader.vue.d.ts +0 -4441
package/SKILLS.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# @kiva/kv-components Skills Catalog
|
|
2
|
+
|
|
3
|
+
AI-assisted development guides for common workflows in this package.
|
|
4
|
+
|
|
5
|
+
## Available Skills
|
|
6
|
+
|
|
7
|
+
| Skill | File | Description |
|
|
8
|
+
|-------|------|-------------|
|
|
9
|
+
| make-to-vue | [docs/make-to-vue.md](docs/make-to-vue.md) | Use when porting a Figma Make (or other React) component into a Vue 3 kv-components component. Triggered by requests like "port this to Vue" or by the user sharing React source, a Figma Make URL, or a Figma file link. |
|
|
10
|
+
|
|
11
|
+
## AI Prompts
|
|
12
|
+
|
|
13
|
+
Drop-in prompts for generating Storybook stories and MDX documentation with an AI assistant.
|
|
14
|
+
|
|
15
|
+
| Prompt | File | Description |
|
|
16
|
+
|--------|------|-------------|
|
|
17
|
+
| ai-stories-prompt | [docs/ai-stories-prompt.md](docs/ai-stories-prompt.md) | Prompt for generating standardized Storybook `.stories.js` files for a component. |
|
|
18
|
+
| ai-documentation-prompt | [docs/ai-documentation-prompt.md](docs/ai-documentation-prompt.md) | Prompt for generating the matching `Docs.mdx` documentation page for a component. |
|
|
19
|
+
| how-to-use-ai-prompts | [docs/how-to-use-ai-prompts.md](docs/how-to-use-ai-prompts.md) | Walkthrough of when and how to use the prompt files above. |
|
|
20
|
+
|
|
21
|
+
## Authoring Guides & Checklists
|
|
22
|
+
|
|
23
|
+
Reference material the AI prompts pull from — useful when reviewing output by hand or authoring without a prompt.
|
|
24
|
+
|
|
25
|
+
| Doc | File | Description |
|
|
26
|
+
|-----|------|-------------|
|
|
27
|
+
| Component Stories Guide | [docs/component-stories-guide.md](docs/component-stories-guide.md) | Standards and best practices for Storybook stories in kv-components. |
|
|
28
|
+
| Component Stories Checklist | [docs/component-stories-checklist.md](docs/component-stories-checklist.md) | Checklist for verifying story coverage and quality before merging. |
|
|
29
|
+
| Component Documentation Guide | [docs/component-documentation-guide.md](docs/component-documentation-guide.md) | Standards and best practices for MDX component documentation. |
|
|
30
|
+
| Component Documentation Checklist | [docs/component-documentation-checklist.md](docs/component-documentation-checklist.md) | Checklist for verifying documentation completeness before merging. |
|
|
31
|
+
| Storybook Folder Prefixes | [docs/storybook-folder-prefixes.md](docs/storybook-folder-prefixes.md) | Required title prefixes for organizing components in the Storybook sidebar. |
|
package/dist/index.js
CHANGED
|
@@ -12,9 +12,9 @@ import { default as N } from "./vue/KvChip.js";
|
|
|
12
12
|
import { default as E } from "./vue/KvClassicLoanCard.js";
|
|
13
13
|
import { default as M } from "./vue/KvCompactLoanCard.js";
|
|
14
14
|
import { default as I } from "./vue/KvCommentsAdd.js";
|
|
15
|
-
import { default as
|
|
15
|
+
import { default as P } from "./vue/KvCommentsContainer.js";
|
|
16
16
|
import { default as G } from "./vue/KvCommentsHeartButton.js";
|
|
17
|
-
import { default as
|
|
17
|
+
import { default as F } from "./vue/KvCommentsList.js";
|
|
18
18
|
import { default as B } from "./vue/KvCommentsListItem.js";
|
|
19
19
|
import { default as y } from "./vue/KvCommentsReplyButton.js";
|
|
20
20
|
import { default as k } from "./vue/KvContentfulImg.js";
|
|
@@ -38,9 +38,9 @@ import { default as Lo } from "./vue/KvLoanActivities.js";
|
|
|
38
38
|
import { default as To } from "./vue/KvLoanBookmark.js";
|
|
39
39
|
import { default as Ro } from "./vue/KvLoanCallouts.js";
|
|
40
40
|
import { KV_LOAN_INFO_CARD_FRAGMENT as Oo, default as Io } from "./vue/KvLoanInfoCard.js";
|
|
41
|
-
import { default as
|
|
41
|
+
import { default as Po } from "./vue/KvLoanProgressGroup.js";
|
|
42
42
|
import { default as Go } from "./vue/KvLoanTag.js";
|
|
43
|
-
import { default as
|
|
43
|
+
import { default as Fo } from "./vue/KvLoanTeamPick.js";
|
|
44
44
|
import { default as Bo } from "./vue/KvLoanUse.js";
|
|
45
45
|
import { default as yo } from "./vue/KvLoadingPlaceholder.js";
|
|
46
46
|
import { default as ko } from "./vue/KvLoadingSpinner.js";
|
|
@@ -49,85 +49,86 @@ import { default as Ho } from "./vue/KvMaterialIcon.js";
|
|
|
49
49
|
import { default as zo } from "./vue/KvPageContainer.js";
|
|
50
50
|
import { default as Zo } from "./vue/KvPagination.js";
|
|
51
51
|
import { default as Jo } from "./vue/KvPieChart.js";
|
|
52
|
-
import { default as Yo } from "./vue/
|
|
53
|
-
import { default as oe } from "./vue/
|
|
54
|
-
import { default as re } from "./vue/
|
|
55
|
-
import { default as ae } from "./vue/
|
|
56
|
-
import { default as le } from "./vue/
|
|
57
|
-
import { default as se } from "./vue/
|
|
58
|
-
import { default as de } from "./vue/
|
|
59
|
-
import { default as xe } from "./vue/
|
|
60
|
-
import { default as Ke } from "./vue/
|
|
61
|
-
import { default as Ae } from "./vue/
|
|
62
|
-
import { default as ie } from "./vue/
|
|
63
|
-
import { default as ce } from "./vue/
|
|
64
|
-
import { default as Ne } from "./vue/
|
|
65
|
-
import { default as Ee } from "./vue/
|
|
66
|
-
import { default as Me } from "./vue/
|
|
67
|
-
import { default as Ie } from "./vue/
|
|
68
|
-
import { default as
|
|
69
|
-
import { default as Ge } from "./vue/
|
|
70
|
-
import { default as
|
|
71
|
-
import { default as Be } from "./vue/
|
|
72
|
-
import { default as ye } from "./vue/
|
|
73
|
-
import { default as ke } from "./vue/
|
|
74
|
-
import { default as we } from "./vue/
|
|
75
|
-
import { default as He } from "./vue/
|
|
76
|
-
import { default as ze } from "./vue/
|
|
77
|
-
import { default as Ze } from "./vue/
|
|
78
|
-
import { default as Je } from "./vue/
|
|
79
|
-
import { default as Ye
|
|
80
|
-
import {
|
|
81
|
-
import {
|
|
82
|
-
import {
|
|
83
|
-
import {
|
|
84
|
-
import {
|
|
85
|
-
import {
|
|
86
|
-
import {
|
|
87
|
-
import {
|
|
88
|
-
import {
|
|
89
|
-
import {
|
|
90
|
-
import {
|
|
91
|
-
import {
|
|
92
|
-
import {
|
|
93
|
-
import {
|
|
94
|
-
import {
|
|
95
|
-
import {
|
|
96
|
-
import {
|
|
97
|
-
import {
|
|
98
|
-
import {
|
|
99
|
-
import {
|
|
100
|
-
import {
|
|
101
|
-
import {
|
|
102
|
-
import {
|
|
103
|
-
import {
|
|
104
|
-
import {
|
|
105
|
-
import {
|
|
106
|
-
import {
|
|
52
|
+
import { default as Yo } from "./vue/KvPieChartV2.js";
|
|
53
|
+
import { default as oe } from "./vue/KvPill.js";
|
|
54
|
+
import { default as re } from "./vue/KvPopper.js";
|
|
55
|
+
import { default as ae } from "./vue/KvProgressBar.js";
|
|
56
|
+
import { default as le } from "./vue/KvProgressCircle.js";
|
|
57
|
+
import { default as se } from "./vue/KvPulsingDot.js";
|
|
58
|
+
import { default as de } from "./vue/KvRadio.js";
|
|
59
|
+
import { default as xe } from "./vue/KvSelect.js";
|
|
60
|
+
import { default as Ke } from "./vue/KvSideSheet.js";
|
|
61
|
+
import { default as Ae } from "./vue/KvSwitch.js";
|
|
62
|
+
import { default as ie } from "./vue/KvTab.js";
|
|
63
|
+
import { default as ce } from "./vue/KvTabPanel.js";
|
|
64
|
+
import { default as Ne } from "./vue/KvTabs.js";
|
|
65
|
+
import { default as Ee } from "./vue/KvTextInput.js";
|
|
66
|
+
import { default as Me } from "./vue/KvTextLink.js";
|
|
67
|
+
import { default as Ie } from "./vue/KvThemeProvider.js";
|
|
68
|
+
import { default as Pe } from "./vue/KvToast.js";
|
|
69
|
+
import { default as Ge } from "./vue/KvTooltip.js";
|
|
70
|
+
import { default as Fe } from "./vue/KvTreeMapChart.js";
|
|
71
|
+
import { default as Be } from "./vue/KvUserAvatar.js";
|
|
72
|
+
import { default as ye } from "./vue/KvUtilityMenu.js";
|
|
73
|
+
import { default as ke } from "./vue/KvVerticalCarousel.js";
|
|
74
|
+
import { default as we } from "./vue/KvVotingCard.js";
|
|
75
|
+
import { default as He } from "./vue/KvVotingCardV2.js";
|
|
76
|
+
import { default as ze } from "./vue/KvWideLoanCard.js";
|
|
77
|
+
import { default as Ze } from "./vue/KvAtbModal.js";
|
|
78
|
+
import { default as Je } from "./vue/KvSecondaryNav.js";
|
|
79
|
+
import { default as Ye } from "./vue/KvWwwHeader.js";
|
|
80
|
+
import { default as or, Mash as er } from "./utils/Alea.js";
|
|
81
|
+
import { groupBy as tr, sortBy as ar } from "./utils/arrayUtils.js";
|
|
82
|
+
import { useAttrs as lr } from "./utils/attrs.js";
|
|
83
|
+
import { carouselUtil as sr } from "./utils/carousels.js";
|
|
84
|
+
import { abc as dr, indexIn as ur, startsWith as xr } from "./utils/comparators.js";
|
|
85
|
+
import { debounce as Kr } from "./utils/debounce.js";
|
|
86
|
+
import { useEventListener as Ar } from "./utils/event.js";
|
|
87
|
+
import { collapse as ir, expand as _r } from "./utils/expander.js";
|
|
88
|
+
import { getKivaImageUrl as Lr, isLegacyPlaceholderAvatar as Nr, randomizedUserAvatarClass as Tr } from "./utils/imageUtils.js";
|
|
89
|
+
import { LOAN_CALLOUTS_FRAGMENT as Rr, LOAN_GEOCODE_FRAGMENT as Mr, LOAN_PROGRESS_FRAGMENT as Or, loanCardComputedProperties as Ir, loanCardMethods as Sr } from "./utils/loanCard.js";
|
|
90
|
+
import { BALANCE_CAMPAIGN as gr, BASE_CAMPAIGN as Gr, ERL_COOKIE_NAME as hr, NO_BALANCE_CAMPAIGN as Fr, TOP_UP_CAMPAIGN as Vr, getDropdownPriceArray as Br, getLendCtaSelectedOption as Dr, isBetween25And50 as yr, isLessThan25 as br, truncateStringByWords as kr } from "./utils/loanUtils.js";
|
|
91
|
+
import { animationCoordinator as wr, computeMapCenter as Wr, computeMapZoom as Hr, generateMapMarkers as jr, getCoordinatesBetween as zr, getCountryColor as Qr, getLoansIntervals as Zr } from "./utils/mapUtils.js";
|
|
92
|
+
import { lockPrintSingleEl as Jr, unlockPrintSingleEl as Xr } from "./utils/printing.js";
|
|
93
|
+
import { lockScroll as $r, lockScrollSmallOnly as ot, unlockScroll as et, unlockScrollSmallOnly as rt } from "./utils/scrollLock.js";
|
|
94
|
+
import { buildTailwindClassName as at, headerNumberCase as ft, kebabCase as lt, removeObjectProperty as mt } from "./utils/themeUtils.js";
|
|
95
|
+
import { throttle as pt } from "./utils/throttle.js";
|
|
96
|
+
import { isTargetElement as ut, offBodyTouchstart as xt, onBodyTouchstart as nt } from "./utils/touchEvents.js";
|
|
97
|
+
import { getTreemap as vt } from "./utils/treemap.js";
|
|
98
|
+
import { KvBlueskyIcon as Ct } from "./assets/icons/bluesky.js";
|
|
99
|
+
import { KV_CLASSIC_LOAN_CARD_FRAGMENT as _t, KV_CLASSIC_LOAN_CARD_USER_FRAGMET as ct } from "./vue/KvClassicLoanCard2.js";
|
|
100
|
+
import { KV_COMPACT_LOAN_CARD_FRAGMENT as Nt, KV_COMPACT_LOAN_CARD_USER_FRAGMENT as Tt } from "./vue/KvCompactLoanCard2.js";
|
|
101
|
+
import { KV_INTRODUCTION_LOAN_CARD_FRAGMENT as Rt, KV_INTRODUCTION_LOAN_CARD_USER_FRAGMENT as Mt } from "./vue/KvIntroductionLoanCard2.js";
|
|
102
|
+
import { KV_LEND_CTA_FRAGMENT as It, KV_LEND_CTA_USER_FRAGMENT as St } from "./vue/KvLendCta2.js";
|
|
103
|
+
import { KV_LOAN_ACTIVITIES_FRAGMENT as gt } from "./vue/KvLoanActivities2.js";
|
|
104
|
+
import { KV_LOAN_BOOKMARK_FRAGMENT as ht } from "./vue/KvLoanBookmark2.js";
|
|
105
|
+
import { KV_LOAN_TAG_FRAGMENT as Vt } from "./vue/KvLoanTag2.js";
|
|
106
|
+
import { KV_LOAN_USE_FRAGMENT as Dt } from "./vue/KvLoanUse2.js";
|
|
107
|
+
import { KV_WIDE_LOAN_CARD_FRAGMENT as bt, KV_WIDE_LOAN_CARD_USER_FRAGMENT as kt } from "./vue/KvWideLoanCard2.js";
|
|
107
108
|
export {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
109
|
+
or as Alea,
|
|
110
|
+
gr as BALANCE_CAMPAIGN,
|
|
111
|
+
Gr as BASE_CAMPAIGN,
|
|
112
|
+
hr as ERL_COOKIE_NAME,
|
|
113
|
+
_t as KV_CLASSIC_LOAN_CARD_FRAGMENT,
|
|
114
|
+
ct as KV_CLASSIC_LOAN_CARD_USER_FRAGMET,
|
|
115
|
+
Nt as KV_COMPACT_LOAN_CARD_FRAGMENT,
|
|
116
|
+
Tt as KV_COMPACT_LOAN_CARD_USER_FRAGMENT,
|
|
117
|
+
Rt as KV_INTRODUCTION_LOAN_CARD_FRAGMENT,
|
|
118
|
+
Mt as KV_INTRODUCTION_LOAN_CARD_USER_FRAGMENT,
|
|
119
|
+
It as KV_LEND_CTA_FRAGMENT,
|
|
120
|
+
St as KV_LEND_CTA_USER_FRAGMENT,
|
|
121
|
+
gt as KV_LOAN_ACTIVITIES_FRAGMENT,
|
|
122
|
+
ht as KV_LOAN_BOOKMARK_FRAGMENT,
|
|
122
123
|
Oo as KV_LOAN_INFO_CARD_FRAGMENT,
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
124
|
+
Vt as KV_LOAN_TAG_FRAGMENT,
|
|
125
|
+
Dt as KV_LOAN_USE_FRAGMENT,
|
|
126
|
+
bt as KV_WIDE_LOAN_CARD_FRAGMENT,
|
|
127
|
+
kt as KV_WIDE_LOAN_CARD_USER_FRAGMENT,
|
|
127
128
|
r as KvAccordionItem,
|
|
128
129
|
a as KvActivityRow,
|
|
129
|
-
|
|
130
|
-
|
|
130
|
+
Ze as KvAtbModal,
|
|
131
|
+
Ct as KvBlueskyIcon,
|
|
131
132
|
l as KvBorrowerImage,
|
|
132
133
|
s as KvButton,
|
|
133
134
|
d as KvCardFrame,
|
|
@@ -139,9 +140,9 @@ export {
|
|
|
139
140
|
N as KvChip,
|
|
140
141
|
E as KvClassicLoanCard,
|
|
141
142
|
I as KvCommentsAdd,
|
|
142
|
-
|
|
143
|
+
P as KvCommentsContainer,
|
|
143
144
|
G as KvCommentsHeartButton,
|
|
144
|
-
|
|
145
|
+
F as KvCommentsList,
|
|
145
146
|
B as KvCommentsListItem,
|
|
146
147
|
y as KvCommentsReplyButton,
|
|
147
148
|
M as KvCompactLoanCard,
|
|
@@ -168,88 +169,89 @@ export {
|
|
|
168
169
|
To as KvLoanBookmark,
|
|
169
170
|
Ro as KvLoanCallouts,
|
|
170
171
|
Io as KvLoanInfoCard,
|
|
171
|
-
|
|
172
|
+
Po as KvLoanProgressGroup,
|
|
172
173
|
Go as KvLoanTag,
|
|
173
|
-
|
|
174
|
+
Fo as KvLoanTeamPick,
|
|
174
175
|
Bo as KvLoanUse,
|
|
175
176
|
wo as KvMap,
|
|
176
177
|
Ho as KvMaterialIcon,
|
|
177
178
|
zo as KvPageContainer,
|
|
178
179
|
Zo as KvPagination,
|
|
179
180
|
Jo as KvPieChart,
|
|
180
|
-
Yo as
|
|
181
|
-
oe as
|
|
182
|
-
re as
|
|
183
|
-
ae as
|
|
184
|
-
le as
|
|
185
|
-
se as
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
xe as
|
|
189
|
-
Ke as
|
|
190
|
-
Ae as
|
|
191
|
-
ie as
|
|
192
|
-
ce as
|
|
193
|
-
Ne as
|
|
194
|
-
Ee as
|
|
195
|
-
Me as
|
|
196
|
-
Ie as
|
|
197
|
-
|
|
198
|
-
Ge as
|
|
199
|
-
|
|
200
|
-
Be as
|
|
201
|
-
ye as
|
|
202
|
-
ke as
|
|
203
|
-
we as
|
|
204
|
-
He as
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
Fr as
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
181
|
+
Yo as KvPieChartV2,
|
|
182
|
+
oe as KvPill,
|
|
183
|
+
re as KvPopper,
|
|
184
|
+
ae as KvProgressBar,
|
|
185
|
+
le as KvProgressCircle,
|
|
186
|
+
se as KvPulsingDot,
|
|
187
|
+
de as KvRadio,
|
|
188
|
+
Je as KvSecondaryNav,
|
|
189
|
+
xe as KvSelect,
|
|
190
|
+
Ke as KvSideSheet,
|
|
191
|
+
Ae as KvSwitch,
|
|
192
|
+
ie as KvTab,
|
|
193
|
+
ce as KvTabPanel,
|
|
194
|
+
Ne as KvTabs,
|
|
195
|
+
Ee as KvTextInput,
|
|
196
|
+
Me as KvTextLink,
|
|
197
|
+
Ie as KvThemeProvider,
|
|
198
|
+
Pe as KvToast,
|
|
199
|
+
Ge as KvTooltip,
|
|
200
|
+
Fe as KvTreeMapChart,
|
|
201
|
+
Be as KvUserAvatar,
|
|
202
|
+
ye as KvUtilityMenu,
|
|
203
|
+
ke as KvVerticalCarousel,
|
|
204
|
+
we as KvVotingCard,
|
|
205
|
+
He as KvVotingCardV2,
|
|
206
|
+
ze as KvWideLoanCard,
|
|
207
|
+
Ye as KvWwwHeader,
|
|
208
|
+
Rr as LOAN_CALLOUTS_FRAGMENT,
|
|
209
|
+
Mr as LOAN_GEOCODE_FRAGMENT,
|
|
210
|
+
Or as LOAN_PROGRESS_FRAGMENT,
|
|
211
|
+
er as Mash,
|
|
212
|
+
Fr as NO_BALANCE_CAMPAIGN,
|
|
213
|
+
Vr as TOP_UP_CAMPAIGN,
|
|
214
|
+
dr as abc,
|
|
215
|
+
wr as animationCoordinator,
|
|
216
|
+
at as buildTailwindClassName,
|
|
217
|
+
sr as carouselUtil,
|
|
218
|
+
ir as collapse,
|
|
219
|
+
Wr as computeMapCenter,
|
|
220
|
+
Hr as computeMapZoom,
|
|
221
|
+
Kr as debounce,
|
|
222
|
+
_r as expand,
|
|
223
|
+
jr as generateMapMarkers,
|
|
224
|
+
zr as getCoordinatesBetween,
|
|
225
|
+
Qr as getCountryColor,
|
|
226
|
+
Br as getDropdownPriceArray,
|
|
227
|
+
Lr as getKivaImageUrl,
|
|
228
|
+
Dr as getLendCtaSelectedOption,
|
|
229
|
+
Zr as getLoansIntervals,
|
|
230
|
+
vt as getTreemap,
|
|
231
|
+
tr as groupBy,
|
|
232
|
+
ft as headerNumberCase,
|
|
233
|
+
ur as indexIn,
|
|
234
|
+
yr as isBetween25And50,
|
|
235
|
+
Nr as isLegacyPlaceholderAvatar,
|
|
236
|
+
br as isLessThan25,
|
|
237
|
+
ut as isTargetElement,
|
|
238
|
+
lt as kebabCase,
|
|
239
|
+
Ir as loanCardComputedProperties,
|
|
240
|
+
Sr as loanCardMethods,
|
|
241
|
+
Jr as lockPrintSingleEl,
|
|
242
|
+
$r as lockScroll,
|
|
243
|
+
ot as lockScrollSmallOnly,
|
|
244
|
+
xt as offBodyTouchstart,
|
|
245
|
+
nt as onBodyTouchstart,
|
|
246
|
+
Tr as randomizedUserAvatarClass,
|
|
247
|
+
mt as removeObjectProperty,
|
|
248
|
+
ar as sortBy,
|
|
249
|
+
xr as startsWith,
|
|
250
|
+
pt as throttle,
|
|
251
|
+
kr as truncateStringByWords,
|
|
252
|
+
Xr as unlockPrintSingleEl,
|
|
253
|
+
et as unlockScroll,
|
|
254
|
+
rt as unlockScrollSmallOnly,
|
|
255
|
+
lr as useAttrs,
|
|
256
|
+
Ar as useEventListener
|
|
255
257
|
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import n from "@kiva/kv-tokens";
|
|
2
|
+
const { colors: e } = n, i = e.gray[100], g = e.gray[300], o = [
|
|
3
|
+
// Tier 1 — Bold primaries
|
|
4
|
+
e["eco-green"][3],
|
|
5
|
+
// #276A43
|
|
6
|
+
e.marigold.DEFAULT,
|
|
7
|
+
// #F4B539
|
|
8
|
+
e["desert-rose"].DEFAULT,
|
|
9
|
+
// #C45F4F
|
|
10
|
+
"#2E3BAD",
|
|
11
|
+
// Custom blue for contrast
|
|
12
|
+
"#874FFF",
|
|
13
|
+
// Custom purple for contrast
|
|
14
|
+
e.stone[3],
|
|
15
|
+
// #635544
|
|
16
|
+
e.brand[500],
|
|
17
|
+
// #4AB67E
|
|
18
|
+
e.marigold[3],
|
|
19
|
+
// #996210
|
|
20
|
+
// Tier 2 — Lighter variants
|
|
21
|
+
e["eco-green"][2],
|
|
22
|
+
// #78C79F
|
|
23
|
+
e.marigold[2],
|
|
24
|
+
// #F8CD69
|
|
25
|
+
e["desert-rose"][2],
|
|
26
|
+
// #E0988D
|
|
27
|
+
e.stone[2],
|
|
28
|
+
// #AA9E8D
|
|
29
|
+
e.brand[300],
|
|
30
|
+
// #95D4B3
|
|
31
|
+
e["desert-rose"][3]
|
|
32
|
+
// #A24536
|
|
33
|
+
];
|
|
34
|
+
function a(t, r) {
|
|
35
|
+
return r || o[t % o.length];
|
|
36
|
+
}
|
|
37
|
+
export {
|
|
38
|
+
i as LOADING_BG_COLOR,
|
|
39
|
+
g as OTHER_SEGMENT_BG_COLOR,
|
|
40
|
+
o as PIE_CHART_COLORS,
|
|
41
|
+
a as getPieChartColor
|
|
42
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.segment-circle[data-v-3e2d3156]{transition:stroke-dashoffset .5s ease-in-out}.skeleton-ring[data-v-3e2d3156]{transition:opacity .5s ease-in-out}.legend-dot[data-v-3e2d3156]{transition:background-color .5s ease-in-out}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import y from "./KvPieChartV22.js";
|
|
2
|
+
import { resolveComponent as x, openBlock as l, createElementBlock as o, createElementVNode as r, normalizeClass as k, createCommentVNode as n, Fragment as d, renderList as c, normalizeStyle as a, toDisplayString as w, createBlock as _, withCtx as b } from "vue";
|
|
3
|
+
import "./KvPieChartV2.css";
|
|
4
|
+
import u from "../_virtual/_plugin-vue_export-helper.js";
|
|
5
|
+
const v = {
|
|
6
|
+
class: "kv-pie-chart-v2 tw-flex tw-flex-col tw-items-center tw-gap-1",
|
|
7
|
+
"aria-label": "Pie chart"
|
|
8
|
+
}, C = { class: "tw-px-2" }, D = {
|
|
9
|
+
viewBox: "0 0 262 262",
|
|
10
|
+
fill: "none",
|
|
11
|
+
class: "tw-w-full",
|
|
12
|
+
role: "img",
|
|
13
|
+
"aria-hidden": "true"
|
|
14
|
+
}, S = ["cx", "cy", "r", "stroke", "stroke-width"], L = ["cx", "cy", "r", "stroke", "stroke-width", "stroke-dasharray", "transform"], O = ["cx", "cy", "r", "stroke", "stroke-width", "stroke-dasharray", "transform"], V = {
|
|
15
|
+
key: 0,
|
|
16
|
+
class: "tw-flex tw-flex-wrap tw-justify-center tw-gap-0.5 tw-w-full tw-pt-0.5"
|
|
17
|
+
}, W = { class: "tw-flex tw-gap-0.5 tw-items-center tw-min-w-0 tw-overflow-hidden" }, p = { class: "tw-font-medium tw-text-small tw-text-primary tw-whitespace-nowrap tw-truncate" }, B = { class: "tw-flex tw-gap-0.5 tw-items-center tw-shrink-0" }, I = { class: "tw-grid tw-grid-cols-2 tw-grid-flow-row tw-gap-0.5" }, E = { class: "tw-flex tw-gap-0.5 tw-items-center tw-shrink-0 tw-overflow-hidden" }, X = { class: "tw-font-medium tw-text-small tw-text-primary tw-whitespace-nowrap tw-truncate" }, Y = {
|
|
18
|
+
class: "tw-font-light tw-text-small tw-text-primary tw-text-right tw-shrink-0 tw-tabular-nums",
|
|
19
|
+
style: { "min-width": "2.8ch" }
|
|
20
|
+
};
|
|
21
|
+
function G(N, s, i, t, M, R) {
|
|
22
|
+
var h, m;
|
|
23
|
+
const f = x("kv-lightbox");
|
|
24
|
+
return l(), o("figure", v, [
|
|
25
|
+
r("div", C, [
|
|
26
|
+
(l(), o("svg", D, [
|
|
27
|
+
i.loading || !t.hasData ? (l(), o("circle", {
|
|
28
|
+
key: 0,
|
|
29
|
+
cx: t.CX,
|
|
30
|
+
cy: t.CY,
|
|
31
|
+
r: t.radius,
|
|
32
|
+
stroke: t.LOADING_BG_COLOR,
|
|
33
|
+
"stroke-width": i.strokeWidth,
|
|
34
|
+
fill: "none",
|
|
35
|
+
class: k(["skeleton-ring tw-opacity-0", { "skeleton-ring--hidden": t.animatedIn }])
|
|
36
|
+
}, null, 10, S)) : n("", !0),
|
|
37
|
+
(l(!0), o(d, null, c(t.visibleSegments, (e) => (l(), o("circle", {
|
|
38
|
+
key: e.label,
|
|
39
|
+
cx: t.CX,
|
|
40
|
+
cy: t.CY,
|
|
41
|
+
r: t.radius,
|
|
42
|
+
stroke: e.color,
|
|
43
|
+
"stroke-width": i.strokeWidth,
|
|
44
|
+
fill: "none",
|
|
45
|
+
"stroke-dasharray": `${e.dashLength} ${t.circumference * 2}`,
|
|
46
|
+
transform: `rotate(${e.startDeg}, ${t.CX}, ${t.CY})`,
|
|
47
|
+
class: "segment-circle",
|
|
48
|
+
style: a({
|
|
49
|
+
strokeDashoffset: e.isVisible ? 0 : e.dashLength,
|
|
50
|
+
transitionDelay: `${e.delay}ms`
|
|
51
|
+
})
|
|
52
|
+
}, null, 12, L))), 128)),
|
|
53
|
+
t.otherSegment ? (l(), o("circle", {
|
|
54
|
+
key: 1,
|
|
55
|
+
cx: t.CX,
|
|
56
|
+
cy: t.CY,
|
|
57
|
+
r: t.radius,
|
|
58
|
+
stroke: t.OTHER_SEGMENT_BG_COLOR,
|
|
59
|
+
"stroke-width": i.strokeWidth,
|
|
60
|
+
fill: "none",
|
|
61
|
+
"stroke-dasharray": `${t.otherSegment.dashLength} ${t.circumference * 2}`,
|
|
62
|
+
transform: `rotate(${t.otherSegment.startDeg}, ${t.CX}, ${t.CY})`,
|
|
63
|
+
class: "segment-circle",
|
|
64
|
+
style: a({
|
|
65
|
+
strokeDashoffset: t.otherSegment.isVisible ? 0 : t.otherSegment.dashLength,
|
|
66
|
+
transitionDelay: `${t.otherSegment.delay}ms`
|
|
67
|
+
})
|
|
68
|
+
}, null, 12, O)) : n("", !0)
|
|
69
|
+
]))
|
|
70
|
+
]),
|
|
71
|
+
t.hasData && !i.loading ? (l(), o("div", V, [
|
|
72
|
+
(l(!0), o(d, null, c(t.visibleSegments, (e, g) => (l(), o("div", {
|
|
73
|
+
key: e.label,
|
|
74
|
+
class: "tw-bg-gray-100 tw-flex tw-gap-0.5 tw-items-center tw-px-1 tw-py-0.5 tw-rounded-xs"
|
|
75
|
+
}, [
|
|
76
|
+
r("div", W, [
|
|
77
|
+
r("span", {
|
|
78
|
+
class: "tw-shrink-0 tw-w-1 tw-h-1 tw-rounded-full legend-dot",
|
|
79
|
+
style: a({
|
|
80
|
+
backgroundColor: e.isVisible ? e.color : "#d1d5db",
|
|
81
|
+
transitionDelay: `${e.delay}ms`
|
|
82
|
+
})
|
|
83
|
+
}, null, 4),
|
|
84
|
+
r("span", p, w(e.label), 1)
|
|
85
|
+
]),
|
|
86
|
+
r("span", {
|
|
87
|
+
class: "tw-font-light tw-text-small tw-text-primary tw-text-right tw-shrink-0 tw-tabular-nums",
|
|
88
|
+
style: a({ minWidth: t.valueMinWidth })
|
|
89
|
+
}, w(t.formatDisplayValue(g)), 5)
|
|
90
|
+
]))), 128)),
|
|
91
|
+
t.otherItems.length > 0 ? (l(), o("button", {
|
|
92
|
+
key: 0,
|
|
93
|
+
class: "tw-bg-gray-100 tw-flex tw-gap-0.5 tw-items-center tw-px-1 tw-py-0.5 tw-rounded-xs tw-cursor-pointer tw-border-0 tw-text-left",
|
|
94
|
+
type: "button",
|
|
95
|
+
onClick: s[0] || (s[0] = (e) => t.showOtherLightbox = !0)
|
|
96
|
+
}, [
|
|
97
|
+
r("div", B, [
|
|
98
|
+
r("span", {
|
|
99
|
+
class: "tw-shrink-0 tw-w-1 tw-h-1 tw-rounded-full legend-dot",
|
|
100
|
+
style: a({
|
|
101
|
+
backgroundColor: (h = t.otherSegment) != null && h.isVisible ? "#C4C4C4" : "#d1d5db",
|
|
102
|
+
transitionDelay: `${((m = t.otherSegment) == null ? void 0 : m.delay) ?? 0}ms`
|
|
103
|
+
})
|
|
104
|
+
}, null, 4),
|
|
105
|
+
s[2] || (s[2] = r("span", { class: "tw-font-medium tw-text-small tw-text-primary tw-whitespace-nowrap" }, " Other ", -1))
|
|
106
|
+
]),
|
|
107
|
+
r("span", {
|
|
108
|
+
class: "tw-font-light tw-text-small tw-text-primary tw-text-right tw-shrink-0 tw-tabular-nums",
|
|
109
|
+
style: a({ minWidth: t.valueMinWidth })
|
|
110
|
+
}, w(t.formatOtherDisplayValue()), 5)
|
|
111
|
+
])) : n("", !0)
|
|
112
|
+
])) : n("", !0),
|
|
113
|
+
t.hasData && !i.loading ? (l(), _(f, {
|
|
114
|
+
key: 1,
|
|
115
|
+
visible: t.showOtherLightbox,
|
|
116
|
+
title: "Other",
|
|
117
|
+
onLightboxClosed: s[1] || (s[1] = (e) => t.showOtherLightbox = !1)
|
|
118
|
+
}, {
|
|
119
|
+
default: b(() => [
|
|
120
|
+
r("div", I, [
|
|
121
|
+
(l(!0), o(d, null, c(t.allItemsWithColors, (e) => (l(), o("div", {
|
|
122
|
+
key: e.label,
|
|
123
|
+
class: "tw-bg-gray-100 tw-flex tw-gap-0.5 tw-items-center tw-px-1 tw-py-0.5 tw-rounded-xs tw-justify-between tw-w-full"
|
|
124
|
+
}, [
|
|
125
|
+
r("div", E, [
|
|
126
|
+
r("span", {
|
|
127
|
+
class: "tw-shrink-0 tw-w-1 tw-h-1 tw-rounded-full",
|
|
128
|
+
style: a({ backgroundColor: e.color })
|
|
129
|
+
}, null, 4),
|
|
130
|
+
r("span", X, w(e.label), 1)
|
|
131
|
+
]),
|
|
132
|
+
r("span", Y, w(t.formatItemValue(e)), 1)
|
|
133
|
+
]))), 128))
|
|
134
|
+
])
|
|
135
|
+
]),
|
|
136
|
+
_: 1
|
|
137
|
+
}, 8, ["visible"])) : n("", !0)
|
|
138
|
+
]);
|
|
139
|
+
}
|
|
140
|
+
const A = /* @__PURE__ */ u(y, [["render", G], ["__scopeId", "data-v-3e2d3156"]]);
|
|
141
|
+
export {
|
|
142
|
+
A as default
|
|
143
|
+
};
|