nitro-web 0.0.195 → 0.0.197
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/components/partials/element/modal.tsx +3 -3
- package/components/partials/form/field-currency.tsx +68 -55
- package/components/partials/form/field.tsx +11 -6
- package/components/partials/form/select.tsx +36 -28
- package/package.json +1 -1
- package/server/constants.js +56 -55
- package/types/server/constants.d.ts +5 -3
- package/types/server/constants.d.ts.map +1 -1
- package/types/util.d.ts +9 -3
- package/types/util.d.ts.map +1 -1
- package/util.js +6 -4
|
@@ -67,13 +67,13 @@ export function Modal({ show, setShow, children, maxWidth, minHeight, dismissabl
|
|
|
67
67
|
onClick={(e) => e.stopPropagation()}
|
|
68
68
|
class={`${twMerge(`fixed top-0 w-[100vw] h-[100vh] z-[200] ${stateObj.root} ${rootClassName||''}`)} nitro-modal`}
|
|
69
69
|
>
|
|
70
|
-
<div class={
|
|
71
|
-
<div class={
|
|
70
|
+
<div class={`${twMerge('!absolute inset-0 box-content bg-gray-500/70 transition-opacity')} ${stateObj.bg}`}></div>
|
|
71
|
+
<div class={`${twMerge('relative h-[100vh] overflow-y-auto transition-[opacity,transform]')} ${stateObj.container}`}>
|
|
72
72
|
<div class="flex items-center justify-center min-h-full" onMouseDown={onClick}>
|
|
73
73
|
<div
|
|
74
74
|
ref={containerEl}
|
|
75
75
|
style={{ maxWidth: maxWidth || '550px', minHeight: minHeight }}
|
|
76
|
-
class={
|
|
76
|
+
class={`${twMerge('relative w-full mx-6 mt-4 mb-8 bg-white rounded-lg shadow-lg p-9', className)}`}
|
|
77
77
|
>
|
|
78
78
|
<div
|
|
79
79
|
class="absolute top-0 right-0 p-3 m-1 cursor-pointer"
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NumericFormat } from 'react-number-format'
|
|
2
|
+
import { currencies as defaultCurrencies } from 'nitro-web/constants'
|
|
2
3
|
import { getPrefixWidth } from 'nitro-web/util'
|
|
3
4
|
|
|
4
5
|
// Declaring the type here because typescript fails to infer type when referencing NumericFormatProps from react-number-format
|
|
@@ -38,7 +39,9 @@ export function FieldCurrency({ currency='nzd', currencies, format, onChange: on
|
|
|
38
39
|
const [lastBlurred, setLastBlurred] = useState(0)
|
|
39
40
|
const [settings, setSettings] = useState(() => getCurrencySettings(currency, currencies, format, props.name))
|
|
40
41
|
const [prefixWidth, setPrefixWidth] = useState(0)
|
|
42
|
+
const [inputPaddingLeft, setInputPaddingLeft] = useState(12)
|
|
41
43
|
const ref = useRef({ dontFix }) // was null
|
|
44
|
+
const inputRef = useRef<HTMLInputElement>(null)
|
|
42
45
|
const id = props.id || props.name
|
|
43
46
|
ref.current = { dontFix }
|
|
44
47
|
|
|
@@ -51,6 +54,14 @@ export function FieldCurrency({ currency='nzd', currencies, format, onChange: on
|
|
|
51
54
|
if (internalValue !== (props.value ?? props.defaultValue)) setInternalValue(props.value ?? props.defaultValue)
|
|
52
55
|
}, [props.value])
|
|
53
56
|
|
|
57
|
+
|
|
58
|
+
useEffect(() => {
|
|
59
|
+
if (inputRef.current) {
|
|
60
|
+
const style = window.getComputedStyle(inputRef.current)
|
|
61
|
+
setInputPaddingLeft(parseFloat(style.paddingLeft))
|
|
62
|
+
}
|
|
63
|
+
}, [])
|
|
64
|
+
|
|
54
65
|
// Update the settings if the setting parameters change
|
|
55
66
|
useEffect(() => {
|
|
56
67
|
const _settings = getCurrencySettings(currency, currencies, format, props.name)
|
|
@@ -89,6 +100,7 @@ export function FieldCurrency({ currency='nzd', currencies, format, onChange: on
|
|
|
89
100
|
<div className="relative">
|
|
90
101
|
<NumericFormat
|
|
91
102
|
{...props}
|
|
103
|
+
getInputRef={inputRef}
|
|
92
104
|
id={id}
|
|
93
105
|
name={props.name}
|
|
94
106
|
decimalSeparator={settings.decimalSeparator}
|
|
@@ -102,7 +114,8 @@ export function FieldCurrency({ currency='nzd', currencies, format, onChange: on
|
|
|
102
114
|
type="text"
|
|
103
115
|
/>
|
|
104
116
|
<span
|
|
105
|
-
class={`absolute top-0 bottom-0
|
|
117
|
+
class={`absolute top-0 bottom-0 inline-flex items-center select-none text-gray-500 text-input-base ${inputValue !== null && settings.prefix == '$' ? 'text-foreground' : ''}`}
|
|
118
|
+
style={{ left: `${inputPaddingLeft}px` }}
|
|
106
119
|
>
|
|
107
120
|
{settings.prefix || settings.suffix}
|
|
108
121
|
</span>
|
|
@@ -175,59 +188,59 @@ function getCurrencySettings(currency: string, currencies?: Currencies, format?:
|
|
|
175
188
|
return output
|
|
176
189
|
}
|
|
177
190
|
|
|
178
|
-
export const defaultCurrencies: { [key: string]: { name: string, symbol: string, digits: number } } = {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
}
|
|
191
|
+
// export const defaultCurrencies: { [key: string]: { name: string, symbol: string, digits: number } } = {
|
|
192
|
+
// nzd: { name: 'New Zealand Dollar', symbol: '$', digits: 2 },
|
|
193
|
+
// aud: { name: 'Australian Dollar', symbol: '$', digits: 2 },
|
|
194
|
+
// usd: { name: 'US Dollar', symbol: '$', digits: 2 },
|
|
195
|
+
// btc: { name: 'Bitcoin', symbol: '₿', digits: 8 },
|
|
196
|
+
// aed: { name: 'UAE Dirham', symbol: 'د.إ', digits: 2 },
|
|
197
|
+
// ars: { name: 'Argentine Peso', symbol: '$', digits: 2 },
|
|
198
|
+
// bdt: { name: 'Bangladeshi Taka', symbol: '৳', digits: 2 },
|
|
199
|
+
// bhd: { name: 'Bahraini Dinar', symbol: '.د.ب', digits: 3 },
|
|
200
|
+
// brl: { name: 'Brazilian Real', symbol: 'R$', digits: 2 },
|
|
201
|
+
// cad: { name: 'Canadian Dollar', symbol: '$', digits: 2 },
|
|
202
|
+
// chf: { name: 'Swiss Franc', symbol: 'Fr', digits: 2 },
|
|
203
|
+
// clp: { name: 'Chilean Peso', symbol: '$', digits: 0 },
|
|
204
|
+
// cny: { name: 'Chinese Yuan', symbol: '¥', digits: 2 },
|
|
205
|
+
// cop: { name: 'Colombian Peso', symbol: '$', digits: 2 },
|
|
206
|
+
// czk: { name: 'Czech Koruna', symbol: 'Kč', digits: 2 },
|
|
207
|
+
// dkk: { name: 'Danish Krone', symbol: 'kr', digits: 2 },
|
|
208
|
+
// egp: { name: 'Egyptian Pound', symbol: '£', digits: 2 },
|
|
209
|
+
// eur: { name: 'Euro', symbol: '€', digits: 2 },
|
|
210
|
+
// gbp: { name: 'Great Britain Pound', symbol: '£', digits: 2 },
|
|
211
|
+
// hkd: { name: 'Hong Kong Dollar', symbol: '$', digits: 2 },
|
|
212
|
+
// huf: { name: 'Hungarian Forint', symbol: 'Ft', digits: 0 },
|
|
213
|
+
// idr: { name: 'Indonesian Rupiah', symbol: 'Rp', digits: 0 },
|
|
214
|
+
// ils: { name: 'Israeli Shekel', symbol: '₪', digits: 2 },
|
|
215
|
+
// inr: { name: 'Indian Rupee', symbol: '₹', digits: 2 },
|
|
216
|
+
// jod: { name: 'Jordanian Dinar', symbol: 'د.ا', digits: 3 },
|
|
217
|
+
// jpy: { name: 'Japanese Yen', symbol: '¥', digits: 0 },
|
|
218
|
+
// kes: { name: 'Kenyan Shilling', symbol: 'Sh', digits: 2 },
|
|
219
|
+
// krw: { name: 'South Korean Won', symbol: '₩', digits: 0 },
|
|
220
|
+
// kwd: { name: 'Kuwaiti Dinar', symbol: 'د.ك', digits: 3 },
|
|
221
|
+
// lkr: { name: 'Sri Lankan Rupee', symbol: 'Rs', digits: 2 },
|
|
222
|
+
// mad: { name: 'Moroccan Dirham', symbol: 'د.م.', digits: 2 },
|
|
223
|
+
// mxn: { name: 'Mexican Peso', symbol: '$', digits: 2 },
|
|
224
|
+
// myr: { name: 'Malaysian Ringgit', symbol: 'RM', digits: 2 },
|
|
225
|
+
// ngn: { name: 'Nigerian Naira', symbol: '₦', digits: 2 },
|
|
226
|
+
// nok: { name: 'Norwegian Krone', symbol: 'kr', digits: 2 },
|
|
227
|
+
// omr: { name: 'Omani Rial', symbol: '﷼', digits: 3 },
|
|
228
|
+
// pen: { name: 'Peruvian Sol', symbol: 'S/', digits: 2 },
|
|
229
|
+
// php: { name: 'Philippine Peso', symbol: '₱', digits: 2 },
|
|
230
|
+
// pkt: { name: 'Pakistani Rupee', symbol: '₨', digits: 2 },
|
|
231
|
+
// pln: { name: 'Polish Zloty', symbol: 'zł', digits: 2 },
|
|
232
|
+
// qar: { name: 'Qatari Riyal', symbol: '﷼', digits: 2 },
|
|
233
|
+
// ron: { name: 'Romanian Leu', symbol: 'lei', digits: 2 },
|
|
234
|
+
// rub: { name: 'Russian Ruble', symbol: '₽', digits: 2 },
|
|
235
|
+
// sar: { name: 'Saudi Riyal', symbol: '﷼', digits: 2 },
|
|
236
|
+
// sek: { name: 'Swedish Krona', symbol: 'kr', digits: 2 },
|
|
237
|
+
// sgd: { name: 'Singapore Dollar', symbol: '$', digits: 2 },
|
|
238
|
+
// thb: { name: 'Thai Baht', symbol: '฿', digits: 2 },
|
|
239
|
+
// try: { name: 'Turkish Lira', symbol: '₺', digits: 2 },
|
|
240
|
+
// twd: { name: 'New Taiwan Dollar', symbol: 'NT$', digits: 2 },
|
|
241
|
+
// uah: { name: 'Ukrainian Hryvnia', symbol: '₴', digits: 2 },
|
|
242
|
+
// vnd: { name: 'Vietnamese Dong', symbol: '₫', digits: 0 },
|
|
243
|
+
// zar: { name: 'South African Rand', symbol: 'R', digits: 2 },
|
|
244
|
+
// }
|
|
232
245
|
|
|
233
246
|
const defaultFormat = '¤#,##0.00'
|
|
@@ -29,6 +29,8 @@ type FieldExtraProps = {
|
|
|
29
29
|
placeholder?: string
|
|
30
30
|
/** title used to find related error messages */
|
|
31
31
|
errorTitle?: string|RegExp
|
|
32
|
+
/** class names to override the default class names */
|
|
33
|
+
inputClassName?: string
|
|
32
34
|
}
|
|
33
35
|
type IconWrapperProps = {
|
|
34
36
|
iconPos: 'left' | 'right'
|
|
@@ -54,7 +56,7 @@ export const Field = memo(FieldBase, (prev, next) => {
|
|
|
54
56
|
return isFieldCached(prev, next)
|
|
55
57
|
})
|
|
56
58
|
|
|
57
|
-
function FieldBase({ state, icon, iconPos: ip, errorTitle, ...props }: FieldProps) {
|
|
59
|
+
function FieldBase({ state, icon, iconPos: ip, errorTitle, inputClassName, ...props }: FieldProps) {
|
|
58
60
|
// `type` must be kept as props.type for TS to be happy and follow the conditions below
|
|
59
61
|
let value!: any
|
|
60
62
|
let Icon!: React.ReactNode
|
|
@@ -104,8 +106,9 @@ function FieldBase({ state, icon, iconPos: ip, errorTitle, ...props }: FieldProp
|
|
|
104
106
|
}
|
|
105
107
|
|
|
106
108
|
// Classname
|
|
107
|
-
const
|
|
108
|
-
const
|
|
109
|
+
const inputClasses = getInputClasses({ error, Icon, iconPos, type })
|
|
110
|
+
const inputClassName2 = inputClassName ? twMerge(inputClasses, inputClassName) : inputClasses.replaceAll(/\(|\)/g, '')
|
|
111
|
+
const commonProps = { id: id, value: value, className: inputClassName2 }
|
|
109
112
|
|
|
110
113
|
// Type has to be referenced as props.type for TS to be happy
|
|
111
114
|
if (!type || type == 'text' || type == 'number' || type == 'password' || type == 'email' || type == 'filter' || type == 'search') {
|
|
@@ -160,9 +163,11 @@ function getInputClasses({ error, Icon, iconPos, type }: { error?: Error, Icon?:
|
|
|
160
163
|
const py = 'py-[9px] py-input-y'
|
|
161
164
|
return (
|
|
162
165
|
'block col-start-1 row-start-1 w-full rounded-md bg-white disabled:bg-input-disabled-bg text-input-base outline outline-1 -outline-offset-1 ' +
|
|
163
|
-
'placeholder:text-input-placeholder focus:outline focus:outline-2 focus:-outline-offset-2 ' +
|
|
164
|
-
|
|
165
|
-
|
|
166
|
+
'placeholder:text-input-placeholder focus:outline focus:outline-2 focus:-outline-offset-2 (' +
|
|
167
|
+
`${py} ${px} ` +
|
|
168
|
+
(iconPos == 'right' && Icon ? 'pr-[32px] pr-input-x-icon pl-input-x ' : '') +
|
|
169
|
+
(iconPos == 'left' && Icon ? 'pl-[32px] pl-input-x-icon pr-input-x ' : 'px-input-x ') +
|
|
170
|
+
')' +
|
|
166
171
|
(iconPos == 'left' && Icon && type == 'color' ? 'indent-[5px] ' : '') +
|
|
167
172
|
(error
|
|
168
173
|
? 'text-danger-foreground outline-danger focus:outline-danger '
|
|
@@ -3,8 +3,9 @@ import { css } from 'twin.macro'
|
|
|
3
3
|
import { memo, useMemo, Fragment } from 'react'
|
|
4
4
|
import ReactSelect, {
|
|
5
5
|
components, ControlProps, createFilter, OptionProps, SingleValueProps, ClearIndicatorProps,
|
|
6
|
-
DropdownIndicatorProps, MultiValueRemoveProps, ClassNamesConfig,
|
|
6
|
+
DropdownIndicatorProps, MultiValueRemoveProps, // ClassNamesConfig,
|
|
7
7
|
ValueContainerProps,
|
|
8
|
+
MenuProps,
|
|
8
9
|
} from 'react-select'
|
|
9
10
|
import { CheckCircleIcon } from '@heroicons/react/20/solid'
|
|
10
11
|
import { ChevronsUpDownIcon, SearchIcon, XIcon } from 'lucide-react'
|
|
@@ -14,7 +15,6 @@ import { Errors } from 'nitro-web/types'
|
|
|
14
15
|
|
|
15
16
|
const filterFn = createFilter()
|
|
16
17
|
|
|
17
|
-
type NitroClassNamesConfig = ClassNamesConfig & { flag?: () => string }
|
|
18
18
|
type GetSelectClassName = {
|
|
19
19
|
name: string
|
|
20
20
|
isFocused?: boolean
|
|
@@ -181,8 +181,10 @@ function SelectBase({
|
|
|
181
181
|
ClearIndicator,
|
|
182
182
|
MultiValueRemove,
|
|
183
183
|
ValueContainer,
|
|
184
|
+
Menu,
|
|
184
185
|
...props.components as object,
|
|
185
186
|
}}
|
|
187
|
+
// menuIsOpen={!search ? false : undefined}
|
|
186
188
|
styles={{
|
|
187
189
|
menu: (base) => ({
|
|
188
190
|
...base, minWidth: minMenuWidth,
|
|
@@ -212,6 +214,10 @@ function SelectBase({
|
|
|
212
214
|
)
|
|
213
215
|
}
|
|
214
216
|
|
|
217
|
+
function Menu(props: MenuProps) {
|
|
218
|
+
return props.options.length === 0 ? null : <components.Menu {...props} />
|
|
219
|
+
}
|
|
220
|
+
|
|
215
221
|
function Control({ children, ...props }: ControlProps) {
|
|
216
222
|
// const selectedOption = props.getValue()[0]
|
|
217
223
|
const _nitro = (props.selectProps as { _nitro?: { prefix?: string, mode?: string } })?._nitro
|
|
@@ -225,7 +231,6 @@ function Control({ children, ...props }: ControlProps) {
|
|
|
225
231
|
)
|
|
226
232
|
}
|
|
227
233
|
|
|
228
|
-
|
|
229
234
|
function ValueContainer({ children, ...props}: ValueContainerProps) {
|
|
230
235
|
return (
|
|
231
236
|
// <div class="cat-tre">
|
|
@@ -308,7 +313,7 @@ const selectClassNames = {
|
|
|
308
313
|
error: 'outline-danger',
|
|
309
314
|
disabled: 'cursor-not-allowed bg-input-disabled-bg',
|
|
310
315
|
},
|
|
311
|
-
valueContainer: 'gap-1 py-[9px] px-[12px] py-input-y px-input-x', // dont twMerge (input-x is optional)
|
|
316
|
+
valueContainer: 'gap-1 (py-[9px] px-[12px] py-input-y px-input-x)', // dont twMerge (input-x is optional)
|
|
312
317
|
// Input container objects
|
|
313
318
|
input: {
|
|
314
319
|
base: 'text-input',
|
|
@@ -317,7 +322,7 @@ const selectClassNames = {
|
|
|
317
322
|
multiValue: 'bg-primary text-white rounded items-center pl-2 pr-1.5 gap-1.5',
|
|
318
323
|
multiValueLabel: 'text-xs',
|
|
319
324
|
multiValueRemove: 'border border-black/10 bg-clip-content bg-white rounded-md text-foreground hover:bg-red-50',
|
|
320
|
-
placeholder: 'text-input-placeholder',
|
|
325
|
+
placeholder: 'text-input-placeholder truncate',
|
|
321
326
|
singleValue: {
|
|
322
327
|
base: 'text-input !overflow-visible min-w-0 flex items-center',
|
|
323
328
|
error: 'text-danger-foreground',
|
|
@@ -341,28 +346,29 @@ const selectClassNames = {
|
|
|
341
346
|
flag: 'align-middle text-[1.2em] leading-[1em] mr-1.5 flex-shrink-0',
|
|
342
347
|
} as const
|
|
343
348
|
|
|
344
|
-
type ClassNames =
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
349
|
+
type ClassNames = {
|
|
350
|
+
// Input container
|
|
351
|
+
control?: { base?: string, focus?: string, error?: string, disabled?: string }
|
|
352
|
+
valueContainer?: string
|
|
353
|
+
// Input container objects
|
|
354
|
+
input?: { base?: string, error?: string, disabled?: string }
|
|
355
|
+
multiValue?: string
|
|
356
|
+
multiValueLabel?: string
|
|
357
|
+
multiValueRemove?: string
|
|
358
|
+
placeholder?: string
|
|
359
|
+
singleValue?: { base?: string, error?: string, disabled?: string }
|
|
360
|
+
// Icon indicators
|
|
361
|
+
clearIndicator?: string
|
|
362
|
+
dropdownIndicator?: string
|
|
363
|
+
indicatorsContainer?: string
|
|
364
|
+
indicatorSeparator?: string
|
|
365
|
+
// Dropdown menu
|
|
366
|
+
menu?: string
|
|
367
|
+
groupHeading?: string
|
|
368
|
+
noOptionsMessage?: string
|
|
369
|
+
option?: { base?: string, hover?: string, selected?: string }
|
|
370
|
+
// Nitro specific
|
|
371
|
+
flag?: string
|
|
366
372
|
}
|
|
367
373
|
|
|
368
374
|
export function getSelectClassName({ name, isFocused, isSelected, isDisabled, hasError, usePrefixes, classNames }: GetSelectClassName) {
|
|
@@ -370,7 +376,9 @@ export function getSelectClassName({ name, isFocused, isSelected, isDisabled, ha
|
|
|
370
376
|
// @ts-expect-error
|
|
371
377
|
const obj = classNames?.[name] || selectClassNames[name]
|
|
372
378
|
let output = obj?.base
|
|
373
|
-
|
|
379
|
+
|
|
380
|
+
if (typeof obj == 'string' && obj.includes('(')) return obj.replaceAll(/\(|\)/g, '') // no modifiers & still has group wrappers
|
|
381
|
+
else if (typeof obj == 'string') return obj // no modifiers
|
|
374
382
|
|
|
375
383
|
if (usePrefixes) {
|
|
376
384
|
if (obj.focus) output += ' ' + obj.focus.split(' ').map((part: string) => `focus:${part}`).join(' ')
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nitro-web",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.197",
|
|
4
4
|
"repository": "github:boycce/nitro-web",
|
|
5
5
|
"homepage": "https://boycce.github.io/nitro-web/",
|
|
6
6
|
"description": "Nitro is a battle-tested, modular base project to turbocharge your projects, styled using Tailwind 🚀",
|
package/server/constants.js
CHANGED
|
@@ -10,64 +10,64 @@
|
|
|
10
10
|
* 'rs'|'sc'|'sl'|'sg'|'sk'|'si'|'sb'|'so'|'za'|'kr'|'ss'|'es'|'lk'|'sd'|'sr'|'se'|'ch'|'sy'|'tj'|'tz'|'th'|'tl'|'tg'|'to'|'tt'|
|
|
11
11
|
* 'tn'|'tr'|'tm'|'tv'|'ug'|'ua'|'ae'|'gb'|'us'|'uy'|'uz'|'vu'|'va'|'ve'|'vn'|'ye'|'zm'|'zw'} Country
|
|
12
12
|
* @typedef {'nzd'|'aud'|'usd'|'gbp'|'btc'|'aed'|'ars'|'bdt'|'bhd'|'brl'|'cad'|'chf'|'clp'|'cny'|'cop'|'czk'|'dkk'|'egp'|'eur'|
|
|
13
|
-
* 'hkd'|'huf'|'idr'|'ils'|'inr'|'jod'|'jpy'|'kes'|'krw'|'kwd'|'lkr'|'mad'|'mxn'|'myr'|'ngn'|'nok'|'omr'|'pen'|'php'|'
|
|
13
|
+
* 'hkd'|'huf'|'idr'|'ils'|'inr'|'jod'|'jpy'|'kes'|'krw'|'kwd'|'lkr'|'mad'|'mxn'|'myr'|'ngn'|'nok'|'omr'|'pen'|'php'|'pkr'|
|
|
14
14
|
* 'pln'|'qar'|'ron'|'rub'|'sar'|'sek'|'sgd'|'thb'|'try'|'twd'|'uah'|'vnd'|'zar'} Currency
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
/** @type {{ [key in Currency]: { name: string, symbol: string, digits: number } }} */
|
|
17
|
+
/** @type {{ [key in Currency]: { name: string, symbol: string, digits: number, flag: string } }} */
|
|
18
18
|
export const currencies = {
|
|
19
|
-
nzd: { name: 'New Zealand Dollar', symbol: '$', digits: 2 },
|
|
20
|
-
aud: { name: 'Australian Dollar', symbol: '$', digits: 2 },
|
|
21
|
-
usd: { name: 'US Dollar', symbol: '$', digits: 2 },
|
|
22
|
-
gbp: { name: 'Great Britain Pound', symbol: '£', digits: 2 },
|
|
23
|
-
btc: { name: 'Bitcoin', symbol: '₿', digits: 8 },
|
|
24
|
-
aed: { name: 'UAE Dirham', symbol: 'د.إ', digits: 2 },
|
|
25
|
-
ars: { name: 'Argentine Peso', symbol: '$', digits: 2 },
|
|
26
|
-
bdt: { name: 'Bangladeshi Taka', symbol: '৳', digits: 2 },
|
|
27
|
-
bhd: { name: 'Bahraini Dinar', symbol: '.د.ب', digits: 3 },
|
|
28
|
-
brl: { name: 'Brazilian Real', symbol: 'R$', digits: 2 },
|
|
29
|
-
cad: { name: 'Canadian Dollar', symbol: '$', digits: 2 },
|
|
30
|
-
chf: { name: 'Swiss Franc', symbol: 'Fr', digits: 2 },
|
|
31
|
-
clp: { name: 'Chilean Peso', symbol: '$', digits: 0 },
|
|
32
|
-
cny: { name: 'Chinese Yuan', symbol: '¥', digits: 2 },
|
|
33
|
-
cop: { name: 'Colombian Peso', symbol: '$', digits: 2 },
|
|
34
|
-
czk: { name: 'Czech Koruna', symbol: 'Kč', digits: 2 },
|
|
35
|
-
dkk: { name: 'Danish Krone', symbol: 'kr', digits: 2 },
|
|
36
|
-
egp: { name: 'Egyptian Pound', symbol: '£', digits: 2 },
|
|
37
|
-
eur: { name: 'Euro', symbol: '€', digits: 2 },
|
|
38
|
-
hkd: { name: 'Hong Kong Dollar', symbol: '$', digits: 2 },
|
|
39
|
-
huf: { name: 'Hungarian Forint', symbol: 'Ft', digits: 0 },
|
|
40
|
-
idr: { name: 'Indonesian Rupiah', symbol: 'Rp', digits: 0 },
|
|
41
|
-
ils: { name: 'Israeli Shekel', symbol: '₪', digits: 2 },
|
|
42
|
-
inr: { name: 'Indian Rupee', symbol: '₹', digits: 2 },
|
|
43
|
-
jod: { name: 'Jordanian Dinar', symbol: 'د.ا', digits: 3 },
|
|
44
|
-
jpy: { name: 'Japanese Yen', symbol: '¥', digits: 0 },
|
|
45
|
-
kes: { name: 'Kenyan Shilling', symbol: 'Sh', digits: 2 },
|
|
46
|
-
krw: { name: 'South Korean Won', symbol: '₩', digits: 0 },
|
|
47
|
-
kwd: { name: 'Kuwaiti Dinar', symbol: 'د.ك', digits: 3 },
|
|
48
|
-
lkr: { name: 'Sri Lankan Rupee', symbol: 'Rs', digits: 2 },
|
|
49
|
-
mad: { name: 'Moroccan Dirham', symbol: 'د.م.', digits: 2 },
|
|
50
|
-
mxn: { name: 'Mexican Peso', symbol: '$', digits: 2 },
|
|
51
|
-
myr: { name: 'Malaysian Ringgit', symbol: 'RM', digits: 2 },
|
|
52
|
-
ngn: { name: 'Nigerian Naira', symbol: '₦', digits: 2 },
|
|
53
|
-
nok: { name: 'Norwegian Krone', symbol: 'kr', digits: 2 },
|
|
54
|
-
omr: { name: 'Omani Rial', symbol: '﷼', digits: 3 },
|
|
55
|
-
pen: { name: 'Peruvian Sol', symbol: 'S/', digits: 2 },
|
|
56
|
-
php: { name: 'Philippine Peso', symbol: '₱', digits: 2 },
|
|
57
|
-
|
|
58
|
-
pln: { name: 'Polish Zloty', symbol: 'zł', digits: 2 },
|
|
59
|
-
qar: { name: 'Qatari Riyal', symbol: '﷼', digits: 2 },
|
|
60
|
-
ron: { name: 'Romanian Leu', symbol: 'lei', digits: 2 },
|
|
61
|
-
rub: { name: 'Russian Ruble', symbol: '₽', digits: 2 },
|
|
62
|
-
sar: { name: 'Saudi Riyal', symbol: '﷼', digits: 2 },
|
|
63
|
-
sek: { name: 'Swedish Krona', symbol: 'kr', digits: 2 },
|
|
64
|
-
sgd: { name: 'Singapore Dollar', symbol: '$', digits: 2 },
|
|
65
|
-
thb: { name: 'Thai Baht', symbol: '฿', digits: 2 },
|
|
66
|
-
try: { name: 'Turkish Lira', symbol: '₺', digits: 2 },
|
|
67
|
-
twd: { name: 'New Taiwan Dollar', symbol: 'NT$', digits: 2 },
|
|
68
|
-
uah: { name: 'Ukrainian Hryvnia', symbol: '₴', digits: 2 },
|
|
69
|
-
vnd: { name: 'Vietnamese Dong', symbol: '₫', digits: 0 },
|
|
70
|
-
zar: { name: 'South African Rand', symbol: 'R', digits: 2 }
|
|
19
|
+
nzd: { name: 'New Zealand Dollar', symbol: '$', digits: 2, flag: '🇳🇿' },
|
|
20
|
+
aud: { name: 'Australian Dollar', symbol: '$', digits: 2, flag: '🇦🇺' },
|
|
21
|
+
usd: { name: 'US Dollar', symbol: '$', digits: 2, flag: '🇺🇸' },
|
|
22
|
+
gbp: { name: 'Great Britain Pound', symbol: '£', digits: 2, flag: '🇬🇧' },
|
|
23
|
+
btc: { name: 'Bitcoin', symbol: '₿', digits: 8, flag: '🌐' },
|
|
24
|
+
aed: { name: 'UAE Dirham', symbol: 'د.إ', digits: 2, flag: '🇦🇪' },
|
|
25
|
+
ars: { name: 'Argentine Peso', symbol: '$', digits: 2, flag: '🇦🇷' },
|
|
26
|
+
bdt: { name: 'Bangladeshi Taka', symbol: '৳', digits: 2, flag: '🇧🇩' },
|
|
27
|
+
bhd: { name: 'Bahraini Dinar', symbol: '.د.ب', digits: 3, flag: '🇧🇭' },
|
|
28
|
+
brl: { name: 'Brazilian Real', symbol: 'R$', digits: 2, flag: '🇧🇷' },
|
|
29
|
+
cad: { name: 'Canadian Dollar', symbol: '$', digits: 2, flag: '🇨🇦' },
|
|
30
|
+
chf: { name: 'Swiss Franc', symbol: 'Fr', digits: 2, flag: '🇨🇭' },
|
|
31
|
+
clp: { name: 'Chilean Peso', symbol: '$', digits: 0, flag: '🇨🇱' },
|
|
32
|
+
cny: { name: 'Chinese Yuan', symbol: '¥', digits: 2, flag: '🇨🇳' },
|
|
33
|
+
cop: { name: 'Colombian Peso', symbol: '$', digits: 2, flag: '🇨🇴' },
|
|
34
|
+
czk: { name: 'Czech Koruna', symbol: 'Kč', digits: 2, flag: '🇨🇿' },
|
|
35
|
+
dkk: { name: 'Danish Krone', symbol: 'kr', digits: 2, flag: '🇩🇰' },
|
|
36
|
+
egp: { name: 'Egyptian Pound', symbol: '£', digits: 2, flag: '🇪🇬' },
|
|
37
|
+
eur: { name: 'Euro', symbol: '€', digits: 2, flag: '🇪🇺' },
|
|
38
|
+
hkd: { name: 'Hong Kong Dollar', symbol: '$', digits: 2, flag: '🇭🇰' },
|
|
39
|
+
huf: { name: 'Hungarian Forint', symbol: 'Ft', digits: 0, flag: '🇭🇺' },
|
|
40
|
+
idr: { name: 'Indonesian Rupiah', symbol: 'Rp', digits: 0, flag: '🇮🇩' },
|
|
41
|
+
ils: { name: 'Israeli Shekel', symbol: '₪', digits: 2, flag: '🇮🇱' },
|
|
42
|
+
inr: { name: 'Indian Rupee', symbol: '₹', digits: 2, flag: '🇮🇳' },
|
|
43
|
+
jod: { name: 'Jordanian Dinar', symbol: 'د.ا', digits: 3, flag: '🇯🇴' },
|
|
44
|
+
jpy: { name: 'Japanese Yen', symbol: '¥', digits: 0, flag: '🇯🇵' },
|
|
45
|
+
kes: { name: 'Kenyan Shilling', symbol: 'Sh', digits: 2, flag: '🇰🇪' },
|
|
46
|
+
krw: { name: 'South Korean Won', symbol: '₩', digits: 0, flag: '🇰🇷' },
|
|
47
|
+
kwd: { name: 'Kuwaiti Dinar', symbol: 'د.ك', digits: 3, flag: '🇰🇼' },
|
|
48
|
+
lkr: { name: 'Sri Lankan Rupee', symbol: 'Rs', digits: 2, flag: '🇱🇰' },
|
|
49
|
+
mad: { name: 'Moroccan Dirham', symbol: 'د.م.', digits: 2, flag: '🇲🇦' },
|
|
50
|
+
mxn: { name: 'Mexican Peso', symbol: '$', digits: 2, flag: '🇲🇽' },
|
|
51
|
+
myr: { name: 'Malaysian Ringgit', symbol: 'RM', digits: 2, flag: '🇲🇾' },
|
|
52
|
+
ngn: { name: 'Nigerian Naira', symbol: '₦', digits: 2, flag: '🇳🇬' },
|
|
53
|
+
nok: { name: 'Norwegian Krone', symbol: 'kr', digits: 2, flag: '🇳🇴' },
|
|
54
|
+
omr: { name: 'Omani Rial', symbol: '﷼', digits: 3, flag: '🇴🇲' },
|
|
55
|
+
pen: { name: 'Peruvian Sol', symbol: 'S/', digits: 2, flag: '🇵🇪' },
|
|
56
|
+
php: { name: 'Philippine Peso', symbol: '₱', digits: 2, flag: '🇵🇭' },
|
|
57
|
+
pkr: { name: 'Pakistani Rupee', symbol: '₨', digits: 2, flag: '🇵🇰' },
|
|
58
|
+
pln: { name: 'Polish Zloty', symbol: 'zł', digits: 2, flag: '🇵🇱' },
|
|
59
|
+
qar: { name: 'Qatari Riyal', symbol: '﷼', digits: 2, flag: '🇶🇦' },
|
|
60
|
+
ron: { name: 'Romanian Leu', symbol: 'lei', digits: 2, flag: '🇷🇴' },
|
|
61
|
+
rub: { name: 'Russian Ruble', symbol: '₽', digits: 2, flag: '🇷🇺' },
|
|
62
|
+
sar: { name: 'Saudi Riyal', symbol: '﷼', digits: 2, flag: '🇸🇦' },
|
|
63
|
+
sek: { name: 'Swedish Krona', symbol: 'kr', digits: 2, flag: '🇸🇪' },
|
|
64
|
+
sgd: { name: 'Singapore Dollar', symbol: '$', digits: 2, flag: '🇸🇬' },
|
|
65
|
+
thb: { name: 'Thai Baht', symbol: '฿', digits: 2, flag: '🇹🇭' },
|
|
66
|
+
try: { name: 'Turkish Lira', symbol: '₺', digits: 2, flag: '🇹🇷' },
|
|
67
|
+
twd: { name: 'New Taiwan Dollar', symbol: 'NT$', digits: 2, flag: '🇹🇼' },
|
|
68
|
+
uah: { name: 'Ukrainian Hryvnia', symbol: '₴', digits: 2, flag: '🇺🇦' },
|
|
69
|
+
vnd: { name: 'Vietnamese Dong', symbol: '₫', digits: 0, flag: '🇻🇳' },
|
|
70
|
+
zar: { name: 'South African Rand', symbol: 'R', digits: 2, flag: '🇿🇦' }
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
/** @type {{ [key in Country]: { name: string, flag: string } }} */
|
|
@@ -267,4 +267,5 @@ export const countries = {
|
|
|
267
267
|
zw: { name: 'Zimbabwe', flag: '🇿🇼' },
|
|
268
268
|
}
|
|
269
269
|
export const countryOptions = Object.entries(countries).map(([k, c]) => ({ value: /**@type {Country}*/(k), label: c.name, flag: c.flag }))
|
|
270
|
-
export const currencyOptions = Object.entries(currencies).map(([k, c]) => ({ value: /**@type {Currency}*/(k), label: c.name
|
|
270
|
+
export const currencyOptions = Object.entries(currencies).map(([k, c]) => ({ value: /**@type {Currency}*/(k), label: c.name,
|
|
271
|
+
flag: c.flag }))
|
|
@@ -8,14 +8,15 @@
|
|
|
8
8
|
* 'rs'|'sc'|'sl'|'sg'|'sk'|'si'|'sb'|'so'|'za'|'kr'|'ss'|'es'|'lk'|'sd'|'sr'|'se'|'ch'|'sy'|'tj'|'tz'|'th'|'tl'|'tg'|'to'|'tt'|
|
|
9
9
|
* 'tn'|'tr'|'tm'|'tv'|'ug'|'ua'|'ae'|'gb'|'us'|'uy'|'uz'|'vu'|'va'|'ve'|'vn'|'ye'|'zm'|'zw'} Country
|
|
10
10
|
* @typedef {'nzd'|'aud'|'usd'|'gbp'|'btc'|'aed'|'ars'|'bdt'|'bhd'|'brl'|'cad'|'chf'|'clp'|'cny'|'cop'|'czk'|'dkk'|'egp'|'eur'|
|
|
11
|
-
* 'hkd'|'huf'|'idr'|'ils'|'inr'|'jod'|'jpy'|'kes'|'krw'|'kwd'|'lkr'|'mad'|'mxn'|'myr'|'ngn'|'nok'|'omr'|'pen'|'php'|'
|
|
11
|
+
* 'hkd'|'huf'|'idr'|'ils'|'inr'|'jod'|'jpy'|'kes'|'krw'|'kwd'|'lkr'|'mad'|'mxn'|'myr'|'ngn'|'nok'|'omr'|'pen'|'php'|'pkr'|
|
|
12
12
|
* 'pln'|'qar'|'ron'|'rub'|'sar'|'sek'|'sgd'|'thb'|'try'|'twd'|'uah'|'vnd'|'zar'} Currency
|
|
13
13
|
*/
|
|
14
|
-
/** @type {{ [key in Currency]: { name: string, symbol: string, digits: number } }} */
|
|
14
|
+
/** @type {{ [key in Currency]: { name: string, symbol: string, digits: number, flag: string } }} */
|
|
15
15
|
export const currencies: { [key in Currency]: {
|
|
16
16
|
name: string;
|
|
17
17
|
symbol: string;
|
|
18
18
|
digits: number;
|
|
19
|
+
flag: string;
|
|
19
20
|
}; };
|
|
20
21
|
/** @type {{ [key in Country]: { name: string, flag: string } }} */
|
|
21
22
|
export const countries: { [key in Country]: {
|
|
@@ -30,7 +31,8 @@ export const countryOptions: {
|
|
|
30
31
|
export const currencyOptions: {
|
|
31
32
|
value: Currency;
|
|
32
33
|
label: string;
|
|
34
|
+
flag: string;
|
|
33
35
|
}[];
|
|
34
36
|
export type Country = "af" | "al" | "dz" | "ad" | "ao" | "ag" | "ar" | "am" | "au" | "at" | "az" | "bs" | "bh" | "bd" | "bb" | "by" | "be" | "bz" | "bj" | "bt" | "bo" | "ba" | "bw" | "br" | "bn" | "bg" | "bf" | "bi" | "cv" | "kh" | "cm" | "ca" | "cf" | "td" | "cl" | "cn" | "co" | "km" | "cg" | "cr" | "hr" | "cu" | "cy" | "cz" | "cd" | "dk" | "dj" | "dm" | "do" | "ec" | "eg" | "sv" | "gq" | "er" | "ee" | "sz" | "et" | "fj" | "fi" | "fr" | "ga" | "gm" | "ge" | "de" | "gh" | "gr" | "gd" | "gt" | "gn" | "gw" | "gy" | "ht" | "hn" | "hu" | "is" | "in" | "id" | "ir" | "iq" | "ie" | "il" | "it" | "jm" | "jp" | "jo" | "kz" | "ke" | "ki" | "kw" | "kg" | "la" | "lv" | "lb" | "ls" | "lr" | "ly" | "li" | "lt" | "lu" | "mg" | "mw" | "my" | "mv" | "ml" | "mt" | "mh" | "mr" | "mu" | "mx" | "fm" | "md" | "mc" | "mn" | "me" | "ma" | "mz" | "mm" | "na" | "nr" | "np" | "nl" | "nz" | "ni" | "ne" | "ng" | "kp" | "mk" | "no" | "om" | "pk" | "pw" | "pa" | "pg" | "py" | "pe" | "ph" | "pl" | "pt" | "qa" | "ro" | "ru" | "rw" | "kn" | "lc" | "vc" | "ws" | "sm" | "st" | "sa" | "sn" | "rs" | "sc" | "sl" | "sg" | "sk" | "si" | "sb" | "so" | "za" | "kr" | "ss" | "es" | "lk" | "sd" | "sr" | "se" | "ch" | "sy" | "tj" | "tz" | "th" | "tl" | "tg" | "to" | "tt" | "tn" | "tr" | "tm" | "tv" | "ug" | "ua" | "ae" | "gb" | "us" | "uy" | "uz" | "vu" | "va" | "ve" | "vn" | "ye" | "zm" | "zw";
|
|
35
|
-
export type Currency = "nzd" | "aud" | "usd" | "gbp" | "btc" | "aed" | "ars" | "bdt" | "bhd" | "brl" | "cad" | "chf" | "clp" | "cny" | "cop" | "czk" | "dkk" | "egp" | "eur" | "hkd" | "huf" | "idr" | "ils" | "inr" | "jod" | "jpy" | "kes" | "krw" | "kwd" | "lkr" | "mad" | "mxn" | "myr" | "ngn" | "nok" | "omr" | "pen" | "php" | "
|
|
37
|
+
export type Currency = "nzd" | "aud" | "usd" | "gbp" | "btc" | "aed" | "ars" | "bdt" | "bhd" | "brl" | "cad" | "chf" | "clp" | "cny" | "cop" | "czk" | "dkk" | "egp" | "eur" | "hkd" | "huf" | "idr" | "ils" | "inr" | "jod" | "jpy" | "kes" | "krw" | "kwd" | "lkr" | "mad" | "mxn" | "myr" | "ngn" | "nok" | "omr" | "pen" | "php" | "pkr" | "pln" | "qar" | "ron" | "rub" | "sar" | "sek" | "sgd" | "thb" | "try" | "twd" | "uah" | "vnd" | "zar";
|
|
36
38
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../server/constants.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../server/constants.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,oGAAoG;AACpG,yBADW,GAAG,GAAG,IAAI,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAE,CAsD/F;AAED,mEAAmE;AACnE,wBADW,GAAG,GAAG,IAAI,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAE,CAmM9D;AACD;WAA4F,OAAO;;;IAAuC;AAC1I;WAA8F,QAAQ;;;IACpF;sBA3QL,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GACnI,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GACpI,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAC/H,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAC/H,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAC/H,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAC/H,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAC/H,IAAO,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI,GAAC,IAAI;uBAChF,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAC7H,KAAQ,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAC1H,KAAQ,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK"}
|
package/types/util.d.ts
CHANGED
|
@@ -112,9 +112,11 @@ export function capitalise(str?: string): string;
|
|
|
112
112
|
* @param {number} cents
|
|
113
113
|
* @param {number} [decimals=2]
|
|
114
114
|
* @param {number} [decimalsMinimum]
|
|
115
|
+
* @param {string} [prefix='$']
|
|
116
|
+
* @param {string} [suffix='']
|
|
115
117
|
* @returns {string}
|
|
116
118
|
*/
|
|
117
|
-
export function currency(cents: number, decimals?: number, decimalsMinimum?: number): string;
|
|
119
|
+
export function currency(cents: number, decimals?: number, decimalsMinimum?: number, prefix?: string, suffix?: string): string;
|
|
118
120
|
/**
|
|
119
121
|
* Converts a currency string to cents
|
|
120
122
|
* @param {string} currency string, e.g. '$1,234.00'
|
|
@@ -538,14 +540,18 @@ export function omit(obj: {
|
|
|
538
540
|
* @param {EventOrPathValue} eventOrPathValue - The input/select change event or [path, value] to update the state with
|
|
539
541
|
* @param {React.Dispatch<React.SetStateAction<T>>} setState
|
|
540
542
|
* @param {(value: unknown) => unknown} [beforeSetValue] - optional function to change the value before setting the state
|
|
541
|
-
* @param {
|
|
543
|
+
* @param {(info: { state: T, parent: string, key: string }) => T} [beforeSetState] - optional function to run before setting the state
|
|
542
544
|
* @returns {Promise<T>}
|
|
543
545
|
*
|
|
544
546
|
* @example usage:
|
|
545
547
|
* - <input onChange={(e) => onChange(e, setState)} />
|
|
546
548
|
* - <input onChange={() => onChange(['address.name', 'Joe'], setState)} />
|
|
547
549
|
*/
|
|
548
|
-
export function onChange<T>(eventOrPathValue: EventOrPathValue, setState: React.Dispatch<React.SetStateAction<T>>, beforeSetValue?: (value: unknown) => unknown, beforeSetState?:
|
|
550
|
+
export function onChange<T>(eventOrPathValue: EventOrPathValue, setState: React.Dispatch<React.SetStateAction<T>>, beforeSetValue?: (value: unknown) => unknown, beforeSetState?: (info: {
|
|
551
|
+
state: T;
|
|
552
|
+
parent: string;
|
|
553
|
+
key: string;
|
|
554
|
+
}) => T): Promise<T>;
|
|
549
555
|
/**
|
|
550
556
|
* Pads a number
|
|
551
557
|
* @param {number} [num=0]
|
package/types/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../util.js"],"names":[],"mappings":"AAmDA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BC;AAED;;;;;;;;;;;;GAYG;AACH,yCAVG;IAAsD,YAAY,GAA1D,OAAO,OAAO,EAAE,mBAAmB;CAE3C,GAAU,sBAAsB,CA6BlC;AAED;;;;;GAKG;AACH,8BAJW,MAAM,cACN;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,GACrB,MAAM,CAKlB;AAED;;;;;;GAMG;AACH,+BALW,MAAM,oBACN,OAAO,gBACP,OAAO,GACL,MAAM,CAelB;AAED;;;;;GAKG;AACH,sCAJW,MAAM,wBACN,OAAO,GACL,MAAM,CAMlB;AAED;;;;GAIG;AACH,sCAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;;;GAKG;AACH,sCAJW,MAAM,wBACN,OAAO,GACL,MAAM,CAKlB;AAED;;;;GAIG;AACH,iCAHW,MAAM,GACJ,MAAM,CAIlB;AAED
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../util.js"],"names":[],"mappings":"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"}
|
package/util.js
CHANGED
|
@@ -200,16 +200,18 @@ export function capitalise (str) {
|
|
|
200
200
|
* @param {number} cents
|
|
201
201
|
* @param {number} [decimals=2]
|
|
202
202
|
* @param {number} [decimalsMinimum]
|
|
203
|
+
* @param {string} [prefix='$']
|
|
204
|
+
* @param {string} [suffix='']
|
|
203
205
|
* @returns {string}
|
|
204
206
|
*/
|
|
205
|
-
export function currency (cents, decimals=2, decimalsMinimum) {
|
|
207
|
+
export function currency (cents, decimals=2, decimalsMinimum, prefix='$', suffix='') {
|
|
206
208
|
// Returns a formated currency string
|
|
207
209
|
const num = Number(cents / 100)
|
|
208
210
|
if (!isNumber(num)) return '$0.00'
|
|
209
|
-
return
|
|
211
|
+
return prefix + num.toLocaleString(undefined, {
|
|
210
212
|
minimumFractionDigits: typeof decimalsMinimum == 'undefined' ? decimals : decimalsMinimum,
|
|
211
213
|
maximumFractionDigits: decimals,
|
|
212
|
-
})
|
|
214
|
+
}) + suffix
|
|
213
215
|
}
|
|
214
216
|
|
|
215
217
|
/**
|
|
@@ -1300,7 +1302,7 @@ export function omit (obj, fields) {
|
|
|
1300
1302
|
* @param {EventOrPathValue} eventOrPathValue - The input/select change event or [path, value] to update the state with
|
|
1301
1303
|
* @param {React.Dispatch<React.SetStateAction<T>>} setState
|
|
1302
1304
|
* @param {(value: unknown) => unknown} [beforeSetValue] - optional function to change the value before setting the state
|
|
1303
|
-
* @param {
|
|
1305
|
+
* @param {(info: { state: T, parent: string, key: string }) => T} [beforeSetState] - optional function to run before setting the state
|
|
1304
1306
|
* @returns {Promise<T>}
|
|
1305
1307
|
*
|
|
1306
1308
|
* @example usage:
|