@veevarts/design-system 0.1.23 → 1.0.0-alpha.12
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.
Potentially problematic release.
This version of @veevarts/design-system might be problematic. Click here for more details.
- package/dist/components/index.d.ts +12 -1
- package/dist/index.cjs +11 -11
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3113 -1651
- package/dist/patterns/DonationAmounts/index.d.ts +1 -1
- package/dist/patterns/EventDetails/EventDetails.d.ts +37 -0
- package/dist/patterns/EventDetails/EventDetails.test.d.ts +0 -0
- package/dist/patterns/EventDetails/index.d.ts +2 -0
- package/dist/patterns/ExpireCartTimer/ExpireCartTimer.d.ts +249 -0
- package/dist/patterns/ExpireCartTimer/ExpireCartTimer.test.d.ts +4 -0
- package/dist/patterns/ExpireCartTimer/index.d.ts +1 -0
- package/dist/patterns/Footer/Footer.d.ts +4 -21
- package/dist/patterns/Footer/Footer.test.d.ts +1 -0
- package/dist/patterns/Footer/index.d.ts +0 -1
- package/dist/patterns/Navbar/Navbar.d.ts +23 -7
- package/dist/patterns/Navbar/Navbar.test.d.ts +1 -0
- package/dist/patterns/OfferCard/OfferCard.d.ts +12 -0
- package/dist/patterns/OfferCard/OfferCard.test.d.ts +1 -0
- package/dist/patterns/OfferCard/OfferCardEmpty.d.ts +12 -0
- package/dist/patterns/OfferCard/OfferCardError.d.ts +12 -0
- package/dist/patterns/OfferCard/OfferCardList.d.ts +12 -0
- package/dist/patterns/OfferCard/OfferCardSkeleton.d.ts +12 -0
- package/dist/patterns/OfferCard/animations.d.ts +42 -0
- package/dist/patterns/OfferCard/examples/CustomQuantitySelectorExample.d.ts +1 -0
- package/dist/patterns/OfferCard/examples/ListWithEurosCurrencyExample.d.ts +1 -0
- package/dist/patterns/OfferCard/examples/ListWithoutAnimationExample.d.ts +1 -0
- package/dist/patterns/OfferCard/examples/index.d.ts +3 -0
- package/dist/patterns/OfferCard/index.d.ts +14 -0
- package/dist/patterns/OfferCard/types.d.ts +483 -0
- package/dist/patterns/OfferCard/utils/currency.d.ts +26 -0
- package/dist/patterns/OfferCard/utils/index.d.ts +2 -0
- package/dist/patterns/OfferCard/utils/offers.d.ts +3 -0
- package/dist/patterns/RevenueDistribution/RevenueDistributionCard.d.ts +16 -0
- package/dist/patterns/RevenueDistribution/RevenueDistributionCard.test.d.ts +1 -0
- package/dist/patterns/RevenueDistribution/RevenueDistributionEmpty.d.ts +11 -0
- package/dist/patterns/RevenueDistribution/RevenueDistributionError.d.ts +11 -0
- package/dist/patterns/RevenueDistribution/RevenueDistributionSkeleton.d.ts +11 -0
- package/dist/patterns/RevenueDistribution/examples/InteractiveExample.d.ts +8 -0
- package/dist/patterns/RevenueDistribution/examples/MultipleDistributionsFormExample.d.ts +10 -0
- package/dist/patterns/RevenueDistribution/examples/WithGlAccountSearchExample.d.ts +7 -0
- package/dist/patterns/RevenueDistribution/examples/index.d.ts +9 -0
- package/dist/patterns/RevenueDistribution/index.d.ts +14 -0
- package/dist/patterns/RevenueDistribution/types.d.ts +394 -0
- package/dist/patterns/RevenueDistribution/utils/amount.d.ts +56 -0
- package/dist/patterns/RevenueDistribution/utils/data.d.ts +4 -0
- package/dist/patterns/RevenueDistribution/utils/index.d.ts +5 -0
- package/dist/patterns/RichText/RichText.d.ts +1 -0
- package/dist/patterns/RichText/TipTapArea/TipTapArea.d.ts +1 -1
- package/dist/patterns/RichText/toolbar/Toolbar.d.ts +8 -1
- package/dist/patterns/RichText/toolbar/hooks/useToolbarCommands.d.ts +5 -1
- package/dist/patterns/RichText/toolbar/sections/TextFormattingSection.d.ts +5 -1
- package/dist/patterns/RichText/types/props.d.ts +9 -1
- package/dist/patterns/Stepper/Stepper.d.ts +1 -1
- package/dist/patterns/index.d.ts +5 -1
- package/dist/templates/ConfirmationPageTemplate/ConfirmationPageTemplate.d.ts +0 -2
- package/dist/templates/EventDetailsTemplate/EventDetailsTemplate.d.ts +0 -2
- package/dist/theme/index.d.ts +26 -2
- package/dist/tokens/colors.d.ts +72 -7
- package/package.json +16 -16
- package/dist/components/Footer/Footer.d.ts +0 -4
- package/dist/components/Footer/index.d.ts +0 -1
|
@@ -0,0 +1,394 @@
|
|
|
1
|
+
import { Control, FieldValues, Path, RegisterOptions } from 'react-hook-form';
|
|
2
|
+
/**
|
|
3
|
+
* Represents a General Ledger account
|
|
4
|
+
*/
|
|
5
|
+
export interface GlAccount {
|
|
6
|
+
/**
|
|
7
|
+
* Unique identifier for the GL account
|
|
8
|
+
*/
|
|
9
|
+
id: string;
|
|
10
|
+
/**
|
|
11
|
+
* Display name of the GL account
|
|
12
|
+
*/
|
|
13
|
+
name: string;
|
|
14
|
+
/**
|
|
15
|
+
* Optional account code
|
|
16
|
+
*/
|
|
17
|
+
code?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Represents a single revenue distribution entry
|
|
21
|
+
*/
|
|
22
|
+
export interface Distribution {
|
|
23
|
+
/**
|
|
24
|
+
* Unique identifier for this distribution
|
|
25
|
+
*/
|
|
26
|
+
id: string;
|
|
27
|
+
/**
|
|
28
|
+
* Amount allocated to this distribution
|
|
29
|
+
*/
|
|
30
|
+
amount: number;
|
|
31
|
+
/**
|
|
32
|
+
* The GL account this distribution is allocated to
|
|
33
|
+
*/
|
|
34
|
+
glAccount: GlAccount | null;
|
|
35
|
+
/**
|
|
36
|
+
* Whether this distribution is tax deductible
|
|
37
|
+
*/
|
|
38
|
+
isTaxDeductible: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Labels for internationalization
|
|
42
|
+
*/
|
|
43
|
+
export interface RevenueDistributionLabels {
|
|
44
|
+
/**
|
|
45
|
+
* Label for amount field (e.g., "Amount")
|
|
46
|
+
*/
|
|
47
|
+
amount?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Label for GL account field (e.g., "GL Account")
|
|
50
|
+
*/
|
|
51
|
+
glAccount?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Label for tax deductible (e.g., "Tax Deductible")
|
|
54
|
+
*/
|
|
55
|
+
taxDeductible?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Placeholder for amount input (e.g., "0.00")
|
|
58
|
+
*/
|
|
59
|
+
amountPlaceholder?: string;
|
|
60
|
+
/**
|
|
61
|
+
* Placeholder for GL account search (e.g., "Search GL Account")
|
|
62
|
+
*/
|
|
63
|
+
glAccountPlaceholder?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Message when no GL accounts found (e.g., "No GL Accounts found")
|
|
66
|
+
*/
|
|
67
|
+
noGlAccountsFound?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Message while searching (e.g., "Searching...")
|
|
70
|
+
*/
|
|
71
|
+
searching?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Tooltip content for Amount info icon
|
|
74
|
+
*/
|
|
75
|
+
amountTooltip?: string;
|
|
76
|
+
/**
|
|
77
|
+
* Tooltip content for GL Account info icon
|
|
78
|
+
*/
|
|
79
|
+
glAccountTooltip?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Tooltip content for Tax Deductible info icon
|
|
82
|
+
*/
|
|
83
|
+
taxDeductibleTooltip?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Label for delete button (e.g., "Delete")
|
|
86
|
+
*/
|
|
87
|
+
deleteButton?: string;
|
|
88
|
+
/**
|
|
89
|
+
* Currency symbol (e.g., "$")
|
|
90
|
+
*/
|
|
91
|
+
currencySymbol?: string;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Labels for error state
|
|
95
|
+
*/
|
|
96
|
+
export interface RevenueDistributionErrorLabels {
|
|
97
|
+
/**
|
|
98
|
+
* Error title (e.g., "Error Loading Distributions")
|
|
99
|
+
*/
|
|
100
|
+
title?: string;
|
|
101
|
+
/**
|
|
102
|
+
* Error description
|
|
103
|
+
*/
|
|
104
|
+
description?: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Labels for empty state
|
|
108
|
+
*/
|
|
109
|
+
export interface RevenueDistributionEmptyLabels {
|
|
110
|
+
/**
|
|
111
|
+
* Empty state message (e.g., "No distributions configured")
|
|
112
|
+
*/
|
|
113
|
+
message?: string;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Class names for styling RevenueDistributionCard
|
|
117
|
+
*/
|
|
118
|
+
export interface RevenueDistributionCardClassNames {
|
|
119
|
+
/**
|
|
120
|
+
* Class for the root element
|
|
121
|
+
*/
|
|
122
|
+
base?: string;
|
|
123
|
+
/**
|
|
124
|
+
* Class for the card body
|
|
125
|
+
*/
|
|
126
|
+
body?: string;
|
|
127
|
+
/**
|
|
128
|
+
* Class for the amount input container
|
|
129
|
+
*/
|
|
130
|
+
amountContainer?: string;
|
|
131
|
+
/**
|
|
132
|
+
* Class for the amount input
|
|
133
|
+
*/
|
|
134
|
+
amountInput?: string;
|
|
135
|
+
/**
|
|
136
|
+
* Class for the GL account container
|
|
137
|
+
*/
|
|
138
|
+
glAccountContainer?: string;
|
|
139
|
+
/**
|
|
140
|
+
* Class for the GL account input
|
|
141
|
+
*/
|
|
142
|
+
glAccountInput?: string;
|
|
143
|
+
/**
|
|
144
|
+
* Class for the tax deductible container
|
|
145
|
+
*/
|
|
146
|
+
taxDeductibleContainer?: string;
|
|
147
|
+
/**
|
|
148
|
+
* Class for the tax deductible checkbox
|
|
149
|
+
*/
|
|
150
|
+
taxDeductibleCheckbox?: string;
|
|
151
|
+
/**
|
|
152
|
+
* Class for the delete button container
|
|
153
|
+
*/
|
|
154
|
+
deleteContainer?: string;
|
|
155
|
+
/**
|
|
156
|
+
* Class for the delete button
|
|
157
|
+
*/
|
|
158
|
+
deleteButton?: string;
|
|
159
|
+
/**
|
|
160
|
+
* Class for labels
|
|
161
|
+
*/
|
|
162
|
+
label?: string;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Class names for skeleton
|
|
166
|
+
*/
|
|
167
|
+
export interface RevenueDistributionSkeletonClassNames {
|
|
168
|
+
/**
|
|
169
|
+
* Class for the container
|
|
170
|
+
*/
|
|
171
|
+
base?: string;
|
|
172
|
+
/**
|
|
173
|
+
* Class for each skeleton row
|
|
174
|
+
*/
|
|
175
|
+
row?: string;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Class names for error state
|
|
179
|
+
*/
|
|
180
|
+
export interface RevenueDistributionErrorClassNames {
|
|
181
|
+
/**
|
|
182
|
+
* Class for the root element
|
|
183
|
+
*/
|
|
184
|
+
base?: string;
|
|
185
|
+
/**
|
|
186
|
+
* Class for the alert
|
|
187
|
+
*/
|
|
188
|
+
alert?: string;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Class names for empty state
|
|
192
|
+
*/
|
|
193
|
+
export interface RevenueDistributionEmptyClassNames {
|
|
194
|
+
/**
|
|
195
|
+
* Class for the root element
|
|
196
|
+
*/
|
|
197
|
+
base?: string;
|
|
198
|
+
/**
|
|
199
|
+
* Class for the content
|
|
200
|
+
*/
|
|
201
|
+
content?: string;
|
|
202
|
+
/**
|
|
203
|
+
* Class for the icon
|
|
204
|
+
*/
|
|
205
|
+
icon?: string;
|
|
206
|
+
/**
|
|
207
|
+
* Class for the message
|
|
208
|
+
*/
|
|
209
|
+
message?: string;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Props for the RevenueDistributionCard component
|
|
213
|
+
* Handles a SINGLE revenue distribution (not a list)
|
|
214
|
+
*
|
|
215
|
+
* Supports two modes:
|
|
216
|
+
* 1. Standalone mode: Use distribution/onDistributionChange props
|
|
217
|
+
* 2. React Hook Form mode: Pass control and name props for native RHF integration
|
|
218
|
+
*/
|
|
219
|
+
export interface RevenueDistributionCardProps<TFieldValues extends FieldValues = FieldValues> {
|
|
220
|
+
/**
|
|
221
|
+
* A unique identifier for testing purposes
|
|
222
|
+
*/
|
|
223
|
+
'data-testid'?: string;
|
|
224
|
+
/**
|
|
225
|
+
* The single distribution data (controlled mode)
|
|
226
|
+
*/
|
|
227
|
+
distribution?: Distribution;
|
|
228
|
+
/**
|
|
229
|
+
* Default distribution (uncontrolled mode)
|
|
230
|
+
*/
|
|
231
|
+
defaultDistribution?: Distribution;
|
|
232
|
+
/**
|
|
233
|
+
* Available GL accounts for selection
|
|
234
|
+
*/
|
|
235
|
+
glAccounts?: GlAccount[];
|
|
236
|
+
/**
|
|
237
|
+
* Whether GL accounts are loading
|
|
238
|
+
* @default false
|
|
239
|
+
*/
|
|
240
|
+
isLoadingGlAccounts?: boolean;
|
|
241
|
+
/**
|
|
242
|
+
* Callback when user searches for GL accounts
|
|
243
|
+
*/
|
|
244
|
+
onSearchGlAccounts?: (searchTerm: string) => void;
|
|
245
|
+
/**
|
|
246
|
+
* Callback when distribution changes
|
|
247
|
+
*/
|
|
248
|
+
onDistributionChange?: (distribution: Distribution) => void;
|
|
249
|
+
/**
|
|
250
|
+
* Callback when amount changes
|
|
251
|
+
*/
|
|
252
|
+
onAmountChange?: (amount: number) => void;
|
|
253
|
+
/**
|
|
254
|
+
* Callback when GL account changes
|
|
255
|
+
*/
|
|
256
|
+
onGlAccountChange?: (glAccount: GlAccount | null) => void;
|
|
257
|
+
/**
|
|
258
|
+
* Callback when tax deductible changes
|
|
259
|
+
*/
|
|
260
|
+
onTaxDeductibleChange?: (isTaxDeductible: boolean) => void;
|
|
261
|
+
/**
|
|
262
|
+
* Callback when delete button is clicked
|
|
263
|
+
*/
|
|
264
|
+
onDelete?: () => void;
|
|
265
|
+
/**
|
|
266
|
+
* Whether the distribution can be deleted
|
|
267
|
+
* If false, the delete button is not rendered
|
|
268
|
+
* @default true
|
|
269
|
+
*/
|
|
270
|
+
canDelete?: boolean;
|
|
271
|
+
/**
|
|
272
|
+
* Whether the tax deductible checkbox can be modified
|
|
273
|
+
* If false, the checkbox is rendered in disabled state
|
|
274
|
+
* @default true
|
|
275
|
+
*/
|
|
276
|
+
canEditTaxDeductible?: boolean;
|
|
277
|
+
/**
|
|
278
|
+
* Whether the component is disabled
|
|
279
|
+
* @default false
|
|
280
|
+
*/
|
|
281
|
+
isDisabled?: boolean;
|
|
282
|
+
/**
|
|
283
|
+
* Currency code for formatting
|
|
284
|
+
* @default 'USD'
|
|
285
|
+
*/
|
|
286
|
+
currency?: string;
|
|
287
|
+
/**
|
|
288
|
+
* Locale for formatting
|
|
289
|
+
* @default 'en-US'
|
|
290
|
+
*/
|
|
291
|
+
locale?: string;
|
|
292
|
+
/**
|
|
293
|
+
* Labels for internationalization
|
|
294
|
+
*/
|
|
295
|
+
labels?: RevenueDistributionLabels;
|
|
296
|
+
/**
|
|
297
|
+
* Class names for styling
|
|
298
|
+
*/
|
|
299
|
+
classNames?: RevenueDistributionCardClassNames;
|
|
300
|
+
/**
|
|
301
|
+
* React Hook Form control object
|
|
302
|
+
* When provided with `name`, enables native RHF integration
|
|
303
|
+
*/
|
|
304
|
+
control?: Control<TFieldValues>;
|
|
305
|
+
/**
|
|
306
|
+
* Field name for React Hook Form
|
|
307
|
+
* Required when using `control` prop
|
|
308
|
+
*/
|
|
309
|
+
name?: Path<TFieldValues>;
|
|
310
|
+
/**
|
|
311
|
+
* Validation rules for React Hook Form
|
|
312
|
+
* Applied when using control/name props
|
|
313
|
+
*/
|
|
314
|
+
rules?: RegisterOptions<TFieldValues>;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Props for the RevenueDistributionSkeleton component
|
|
318
|
+
*/
|
|
319
|
+
export interface RevenueDistributionSkeletonProps {
|
|
320
|
+
/**
|
|
321
|
+
* Number of skeleton rows
|
|
322
|
+
* @default 1
|
|
323
|
+
*/
|
|
324
|
+
rows?: number;
|
|
325
|
+
/**
|
|
326
|
+
* Whether to show inside a Card
|
|
327
|
+
* @default true
|
|
328
|
+
*/
|
|
329
|
+
showCard?: boolean;
|
|
330
|
+
/**
|
|
331
|
+
* Class names for styling
|
|
332
|
+
*/
|
|
333
|
+
classNames?: RevenueDistributionSkeletonClassNames;
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Props for the RevenueDistributionError component
|
|
337
|
+
*/
|
|
338
|
+
export interface RevenueDistributionErrorProps {
|
|
339
|
+
/**
|
|
340
|
+
* Custom error message
|
|
341
|
+
*/
|
|
342
|
+
error?: string;
|
|
343
|
+
/**
|
|
344
|
+
* Labels for internationalization
|
|
345
|
+
*/
|
|
346
|
+
labels?: RevenueDistributionErrorLabels;
|
|
347
|
+
/**
|
|
348
|
+
* Whether to show inside a Card
|
|
349
|
+
* @default true
|
|
350
|
+
*/
|
|
351
|
+
showCard?: boolean;
|
|
352
|
+
/**
|
|
353
|
+
* Alert color variant
|
|
354
|
+
* @default 'danger'
|
|
355
|
+
*/
|
|
356
|
+
color?: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger';
|
|
357
|
+
/**
|
|
358
|
+
* Class names for styling
|
|
359
|
+
*/
|
|
360
|
+
classNames?: RevenueDistributionErrorClassNames;
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Props for the RevenueDistributionEmpty component
|
|
364
|
+
*/
|
|
365
|
+
export interface RevenueDistributionEmptyProps {
|
|
366
|
+
/**
|
|
367
|
+
* Custom message
|
|
368
|
+
* @default 'No distributions configured'
|
|
369
|
+
*/
|
|
370
|
+
message?: string;
|
|
371
|
+
/**
|
|
372
|
+
* Iconify icon name
|
|
373
|
+
* @default 'solar:document-text-outline'
|
|
374
|
+
*/
|
|
375
|
+
icon?: string;
|
|
376
|
+
/**
|
|
377
|
+
* Icon size in pixels
|
|
378
|
+
* @default 48
|
|
379
|
+
*/
|
|
380
|
+
iconSize?: number;
|
|
381
|
+
/**
|
|
382
|
+
* Whether to show inside a Card
|
|
383
|
+
* @default true
|
|
384
|
+
*/
|
|
385
|
+
showCard?: boolean;
|
|
386
|
+
/**
|
|
387
|
+
* Class names for styling
|
|
388
|
+
*/
|
|
389
|
+
classNames?: RevenueDistributionEmptyClassNames;
|
|
390
|
+
/**
|
|
391
|
+
* Custom render function
|
|
392
|
+
*/
|
|
393
|
+
renderEmpty?: () => React.ReactNode;
|
|
394
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for amount formatting and parsing
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Formats an amount with the specified number of decimal places.
|
|
6
|
+
* Shows integers without decimals, and numbers with decimals show up to 3 places.
|
|
7
|
+
*
|
|
8
|
+
* @param amount - The amount to format
|
|
9
|
+
* @param maxDecimals - Maximum decimal places to show (default: 3)
|
|
10
|
+
* @returns Formatted amount string
|
|
11
|
+
*/
|
|
12
|
+
export declare function formatAmount(amount: number, maxDecimals?: number): string;
|
|
13
|
+
/**
|
|
14
|
+
* Formats a currency amount using Intl.NumberFormat.
|
|
15
|
+
*
|
|
16
|
+
* @param amount - The amount to format
|
|
17
|
+
* @param locale - The locale for formatting (default: 'en-US')
|
|
18
|
+
* @param currency - The currency code (default: 'USD')
|
|
19
|
+
* @returns Formatted currency string
|
|
20
|
+
*/
|
|
21
|
+
export declare function formatCurrency(amount: number, locale?: string, currency?: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Gets the currency symbol for a given currency code.
|
|
24
|
+
*
|
|
25
|
+
* @param currency - The currency code (default: 'USD')
|
|
26
|
+
* @param locale - The locale for formatting (default: 'en-US')
|
|
27
|
+
* @returns The currency symbol
|
|
28
|
+
*/
|
|
29
|
+
export declare function getCurrencySymbol(currency?: string, locale?: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Parses a currency string to a number.
|
|
32
|
+
*
|
|
33
|
+
* @param value - The string value to parse
|
|
34
|
+
* @returns The parsed number or null if invalid
|
|
35
|
+
*/
|
|
36
|
+
export declare function parseCurrency(value: string): number | null;
|
|
37
|
+
/**
|
|
38
|
+
* Calculates the difference between a price and allocated amounts.
|
|
39
|
+
*
|
|
40
|
+
* @param price - The total price
|
|
41
|
+
* @param allocated - The total allocated amount
|
|
42
|
+
* @param threshold - The threshold for considering amounts equal (default: 0.001)
|
|
43
|
+
* @returns Object with difference info
|
|
44
|
+
*/
|
|
45
|
+
export declare function calculateAllocationDifference(price: number, allocated: number, threshold?: number): {
|
|
46
|
+
difference: number;
|
|
47
|
+
isBalanced: boolean;
|
|
48
|
+
isUnderAllocated: boolean;
|
|
49
|
+
isOverAllocated: boolean;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Generates a unique ID for a new distribution.
|
|
53
|
+
*
|
|
54
|
+
* @returns A unique string ID
|
|
55
|
+
*/
|
|
56
|
+
export declare function generateDistributionId(): string;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RevenueDistribution Utilities
|
|
3
|
+
*/
|
|
4
|
+
export { formatAmount, formatCurrency, getCurrencySymbol, parseCurrency, calculateAllocationDifference, generateDistributionId, } from './amount';
|
|
5
|
+
export { sampleGlAccounts, sampleDistribution, emptyDistribution } from './data';
|
|
@@ -103,3 +103,4 @@ import { RichTextAreaProps } from './types';
|
|
|
103
103
|
* @see {@link https://tiptap.dev/docs/editor/api/editor Tiptap Editor API} for underlying editor functionality
|
|
104
104
|
*/
|
|
105
105
|
export declare const RichTextArea: import('react').ForwardRefExoticComponent<Omit<RichTextAreaProps, "ref"> & import('react').RefAttributes<HTMLTextAreaElement>>;
|
|
106
|
+
export type { RichTextAreaProps };
|
|
@@ -26,9 +26,16 @@ export interface ToolbarProps {
|
|
|
26
26
|
* Custom class name
|
|
27
27
|
*/
|
|
28
28
|
className?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Callback when a toolbar action is executed
|
|
31
|
+
*/
|
|
32
|
+
onToolbarAction?: (action: {
|
|
33
|
+
type: string;
|
|
34
|
+
modifier: string;
|
|
35
|
+
}) => void;
|
|
29
36
|
}
|
|
30
37
|
/**
|
|
31
38
|
* Main toolbar component
|
|
32
39
|
* Renders all toolbar sections based on active modifiers
|
|
33
40
|
*/
|
|
34
|
-
export declare function Toolbar({ editor, modifiers, zoom, onZoomChange, sticky, className }: ToolbarProps): import("react/jsx-runtime").JSX.Element | null;
|
|
41
|
+
export declare function Toolbar({ editor, modifiers, zoom, onZoomChange, sticky, className, onToolbarAction, }: ToolbarProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -4,9 +4,13 @@ import { ModifierType, ModifierConfig } from '../../types';
|
|
|
4
4
|
* Hook to execute toolbar commands
|
|
5
5
|
*
|
|
6
6
|
* @param editor - TipTap editor instance
|
|
7
|
+
* @param onToolbarAction - Optional callback for logging/analytics
|
|
7
8
|
* @returns Command execution functions
|
|
8
9
|
*/
|
|
9
|
-
export declare function useToolbarCommands(editor: Editor | null
|
|
10
|
+
export declare function useToolbarCommands(editor: Editor | null, onToolbarAction?: (action: {
|
|
11
|
+
type: string;
|
|
12
|
+
modifier: string;
|
|
13
|
+
}) => void): {
|
|
10
14
|
executeCommand: (modifierType: ModifierType, config?: ModifierConfig) => void;
|
|
11
15
|
toggleModifier: (modifierType: ModifierType) => void;
|
|
12
16
|
canExecute: (modifierType: ModifierType, config?: ModifierConfig) => boolean;
|
|
@@ -3,5 +3,9 @@ import { ModifierIdentifier } from '../../types';
|
|
|
3
3
|
export interface TextFormattingSectionProps {
|
|
4
4
|
editor: Editor | null;
|
|
5
5
|
modifiers: ModifierIdentifier[];
|
|
6
|
+
onToolbarAction?: (action: {
|
|
7
|
+
type: string;
|
|
8
|
+
modifier: string;
|
|
9
|
+
}) => void;
|
|
6
10
|
}
|
|
7
|
-
export declare function TextFormattingSection({ editor, modifiers }: TextFormattingSectionProps): import("react/jsx-runtime").JSX.Element | null;
|
|
11
|
+
export declare function TextFormattingSection({ editor, modifiers, onToolbarAction }: TextFormattingSectionProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentProps } from 'react';
|
|
2
|
-
import { Textarea } from '
|
|
2
|
+
import { Textarea } from '../../../components';
|
|
3
3
|
import { JSONContent } from '@tiptap/core';
|
|
4
4
|
import { ModifierIdentifier } from './modifiers';
|
|
5
5
|
/**
|
|
@@ -139,6 +139,14 @@ export interface RichTextAreaProps extends Omit<ComponentProps<typeof Textarea>,
|
|
|
139
139
|
* Callback when editor content changes (controlled mode)
|
|
140
140
|
*/
|
|
141
141
|
onUpdate?: (content: EditorContent) => void;
|
|
142
|
+
/**
|
|
143
|
+
* Callback when a toolbar action is executed
|
|
144
|
+
* Useful for logging/analytics
|
|
145
|
+
*/
|
|
146
|
+
onToolbarAction?: (action: {
|
|
147
|
+
type: string;
|
|
148
|
+
modifier: string;
|
|
149
|
+
}) => void;
|
|
142
150
|
}
|
|
143
151
|
/**
|
|
144
152
|
* Internal TipTap editor props (for core/TipTapEditor.tsx)
|
package/dist/patterns/index.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
export * from './EventDetails';
|
|
1
2
|
export { Navbar } from './Navbar';
|
|
2
3
|
export { Stepper } from './Stepper';
|
|
3
4
|
export { Footer } from './Footer';
|
|
4
5
|
export type { RichTextAreaProps } from './RichText';
|
|
5
6
|
export { RichTextArea, RICH_TEXT_PRESETS } from './RichText';
|
|
6
7
|
export { DonationAmounts } from './DonationAmounts';
|
|
8
|
+
export { ExpireCartTimer } from './ExpireCartTimer';
|
|
9
|
+
export { OfferCard, OfferCardList, OfferCardSkeleton, OfferCardError, OfferCardEmpty, offerListVariants, offerCardVariants, formatCurrency as formatOfferCurrency, parseCurrency as parseOfferCurrency, } from './OfferCard';
|
|
7
10
|
export type { NavbarProps, NavbarLink, NavbarLanguage } from './Navbar';
|
|
8
11
|
export type { StepperProps } from './Stepper';
|
|
9
|
-
export type { FooterProps, FooterSection, FooterLink, SocialLink } from './Footer';
|
|
10
12
|
export type { DonationAmountsProps, DonationAmount, SelectedDonation, DonationLabels } from './DonationAmounts';
|
|
13
|
+
export type { ExpireCartTimerProps } from './ExpireCartTimer';
|
|
14
|
+
export type { Offer, OfferSelection, OfferCardLabels, OfferCardErrorLabels, OfferCardClassNames, OfferCardListClassNames, OfferCardSkeletonClassNames, OfferCardErrorClassNames, OfferCardEmptyClassNames, OfferCardSlots, OfferCardProps, OfferCardListProps, OfferCardSkeletonProps, OfferCardErrorProps, OfferCardEmptyProps, } from './OfferCard';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { NavbarProps } from '../../patterns/Navbar';
|
|
3
|
-
import { FooterProps } from '../../patterns/Footer';
|
|
4
3
|
export interface ConfirmationDetails {
|
|
5
4
|
title: string;
|
|
6
5
|
message: string;
|
|
@@ -12,7 +11,6 @@ export interface ConfirmationDetails {
|
|
|
12
11
|
}
|
|
13
12
|
export interface ConfirmationPageTemplateProps {
|
|
14
13
|
navbar?: NavbarProps;
|
|
15
|
-
footer?: FooterProps;
|
|
16
14
|
confirmation: ConfirmationDetails;
|
|
17
15
|
primaryAction?: {
|
|
18
16
|
label: string;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { NavbarProps } from '../../patterns/Navbar';
|
|
3
3
|
import { StepperProps } from '../../patterns/Stepper';
|
|
4
|
-
import { FooterProps } from '../../patterns/Footer';
|
|
5
4
|
export interface EventInfo {
|
|
6
5
|
title: string;
|
|
7
6
|
description: string;
|
|
@@ -16,7 +15,6 @@ export interface EventInfo {
|
|
|
16
15
|
}
|
|
17
16
|
export interface EventDetailsTemplateProps {
|
|
18
17
|
navbar?: NavbarProps;
|
|
19
|
-
footer?: FooterProps;
|
|
20
18
|
stepper?: StepperProps;
|
|
21
19
|
event: EventInfo;
|
|
22
20
|
primaryAction?: {
|
package/dist/theme/index.d.ts
CHANGED
|
@@ -10,12 +10,36 @@ export declare const theme: {
|
|
|
10
10
|
readonly 200: "#fbd5c7";
|
|
11
11
|
readonly 300: "#f7b79f";
|
|
12
12
|
readonly 400: "#f18d68";
|
|
13
|
-
readonly 500:
|
|
13
|
+
readonly 500: {
|
|
14
|
+
readonly 50: "#fef5f1";
|
|
15
|
+
readonly 100: "#fde8e0";
|
|
16
|
+
readonly 200: "#fbd5c7";
|
|
17
|
+
readonly 300: "#f7b79f";
|
|
18
|
+
readonly 400: "#f18d68";
|
|
19
|
+
readonly 500: "#C14615";
|
|
20
|
+
readonly 600: "#a83b11";
|
|
21
|
+
readonly 700: "#8b2f0e";
|
|
22
|
+
readonly 800: "#73260d";
|
|
23
|
+
readonly 900: "#5f210c";
|
|
24
|
+
readonly DEFAULT: "#C14615";
|
|
25
|
+
};
|
|
14
26
|
readonly 600: "#a83b11";
|
|
15
27
|
readonly 700: "#8b2f0e";
|
|
16
28
|
readonly 800: "#73260d";
|
|
17
29
|
readonly 900: "#5f210c";
|
|
18
|
-
readonly DEFAULT:
|
|
30
|
+
readonly DEFAULT: {
|
|
31
|
+
readonly 50: "#fef5f1";
|
|
32
|
+
readonly 100: "#fde8e0";
|
|
33
|
+
readonly 200: "#fbd5c7";
|
|
34
|
+
readonly 300: "#f7b79f";
|
|
35
|
+
readonly 400: "#f18d68";
|
|
36
|
+
readonly 500: "#C14615";
|
|
37
|
+
readonly 600: "#a83b11";
|
|
38
|
+
readonly 700: "#8b2f0e";
|
|
39
|
+
readonly 800: "#73260d";
|
|
40
|
+
readonly 900: "#5f210c";
|
|
41
|
+
readonly DEFAULT: "#C14615";
|
|
42
|
+
};
|
|
19
43
|
};
|
|
20
44
|
readonly secondary: {
|
|
21
45
|
readonly 50: "#f9fafb";
|