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.
@@ -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={`!absolute inset-0 box-content bg-gray-500/70 transition-opacity ${stateObj.bg}`}></div>
71
- <div class={`relative h-[100vh] overflow-y-auto transition-[opacity,transform] ${stateObj.container}`}>
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={`relative w-full mx-6 mt-4 mb-8 bg-white rounded-lg shadow-lg p-9 ${className||''}`}
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 left-[12px] left-input-x inline-flex items-center select-none text-gray-500 text-input-base ${inputValue !== null && settings.prefix == '$' ? 'text-foreground' : ''}`}
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
- nzd: { name: 'New Zealand Dollar', symbol: '$', digits: 2 },
180
- aud: { name: 'Australian Dollar', symbol: '$', digits: 2 },
181
- usd: { name: 'US Dollar', symbol: '$', digits: 2 },
182
- btc: { name: 'Bitcoin', symbol: '₿', digits: 8 },
183
- aed: { name: 'UAE Dirham', symbol: 'د.إ', digits: 2 },
184
- ars: { name: 'Argentine Peso', symbol: '$', digits: 2 },
185
- bdt: { name: 'Bangladeshi Taka', symbol: '৳', digits: 2 },
186
- bhd: { name: 'Bahraini Dinar', symbol: '.د.ب', digits: 3 },
187
- brl: { name: 'Brazilian Real', symbol: 'R$', digits: 2 },
188
- cad: { name: 'Canadian Dollar', symbol: '$', digits: 2 },
189
- chf: { name: 'Swiss Franc', symbol: 'Fr', digits: 2 },
190
- clp: { name: 'Chilean Peso', symbol: '$', digits: 0 },
191
- cny: { name: 'Chinese Yuan', symbol: '¥', digits: 2 },
192
- cop: { name: 'Colombian Peso', symbol: '$', digits: 2 },
193
- czk: { name: 'Czech Koruna', symbol: 'Kč', digits: 2 },
194
- dkk: { name: 'Danish Krone', symbol: 'kr', digits: 2 },
195
- egp: { name: 'Egyptian Pound', symbol: '£', digits: 2 },
196
- eur: { name: 'Euro', symbol: '€', digits: 2 },
197
- gbp: { name: 'Great Britain Pound', symbol: '£', digits: 2 },
198
- hkd: { name: 'Hong Kong Dollar', symbol: '$', digits: 2 },
199
- huf: { name: 'Hungarian Forint', symbol: 'Ft', digits: 0 },
200
- idr: { name: 'Indonesian Rupiah', symbol: 'Rp', digits: 0 },
201
- ils: { name: 'Israeli Shekel', symbol: '₪', digits: 2 },
202
- inr: { name: 'Indian Rupee', symbol: '₹', digits: 2 },
203
- jod: { name: 'Jordanian Dinar', symbol: 'د.ا', digits: 3 },
204
- jpy: { name: 'Japanese Yen', symbol: '¥', digits: 0 },
205
- kes: { name: 'Kenyan Shilling', symbol: 'Sh', digits: 2 },
206
- krw: { name: 'South Korean Won', symbol: '₩', digits: 0 },
207
- kwd: { name: 'Kuwaiti Dinar', symbol: 'د.ك', digits: 3 },
208
- lkr: { name: 'Sri Lankan Rupee', symbol: 'Rs', digits: 2 },
209
- mad: { name: 'Moroccan Dirham', symbol: 'د.م.', digits: 2 },
210
- mxn: { name: 'Mexican Peso', symbol: '$', digits: 2 },
211
- myr: { name: 'Malaysian Ringgit', symbol: 'RM', digits: 2 },
212
- ngn: { name: 'Nigerian Naira', symbol: '₦', digits: 2 },
213
- nok: { name: 'Norwegian Krone', symbol: 'kr', digits: 2 },
214
- omr: { name: 'Omani Rial', symbol: '﷼', digits: 3 },
215
- pen: { name: 'Peruvian Sol', symbol: 'S/', digits: 2 },
216
- php: { name: 'Philippine Peso', symbol: '₱', digits: 2 },
217
- pkt: { name: 'Pakistani Rupee', symbol: '₨', digits: 2 },
218
- pln: { name: 'Polish Zloty', symbol: 'zł', digits: 2 },
219
- qar: { name: 'Qatari Riyal', symbol: '﷼', digits: 2 },
220
- ron: { name: 'Romanian Leu', symbol: 'lei', digits: 2 },
221
- rub: { name: 'Russian Ruble', symbol: '₽', digits: 2 },
222
- sar: { name: 'Saudi Riyal', symbol: '﷼', digits: 2 },
223
- sek: { name: 'Swedish Krona', symbol: 'kr', digits: 2 },
224
- sgd: { name: 'Singapore Dollar', symbol: '$', digits: 2 },
225
- thb: { name: 'Thai Baht', symbol: '฿', digits: 2 },
226
- try: { name: 'Turkish Lira', symbol: '₺', digits: 2 },
227
- twd: { name: 'New Taiwan Dollar', symbol: 'NT$', digits: 2 },
228
- uah: { name: 'Ukrainian Hryvnia', symbol: '₴', digits: 2 },
229
- vnd: { name: 'Vietnamese Dong', symbol: '₫', digits: 0 },
230
- zar: { name: 'South African Rand', symbol: 'R', digits: 2 },
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 inputClassName = getInputClasses({ error, Icon, iconPos, type })
108
- const commonProps = { id: id, value: value, className: inputClassName }
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 ' + `${py} ${px} ` +
164
- (iconPos == 'right' && Icon ? 'pr-[32px] pr-input-x-icon pl-input-x ' : '') +
165
- (iconPos == 'left' && Icon ? 'pl-[32px] pl-input-x-icon pr-input-x ' : 'px-input-x ') +
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 = Partial<Omit<typeof selectClassNames, 'control' | 'input' | 'singleValue' | 'option'>> & {
345
- control?: {
346
- base?: string
347
- focus?: string
348
- error?: string
349
- disabled?: string
350
- }
351
- input?: {
352
- base?: string
353
- error?: string
354
- disabled?: string
355
- }
356
- singleValue?: {
357
- base?: string
358
- error?: string
359
- disabled?: string
360
- }
361
- option?: {
362
- base?: string
363
- hover?: string
364
- selected?: string
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
- if (typeof obj == 'string') return obj // no modifiers
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.195",
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 🚀",
@@ -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'|'pkt'|
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
- pkt: { name: 'Pakistani Rupee', symbol: '₨', digits: 2 },
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'|'pkt'|
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" | "pkt" | "pln" | "qar" | "ron" | "rub" | "sar" | "sek" | "sgd" | "thb" | "try" | "twd" | "uah" | "vnd" | "zar";
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,sFAAsF;AACtF,yBADW,GAAG,GAAG,IAAI,QAAQ,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAE,CAsDjF;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;;IAAyB;sBA1QlH,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"}
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 {Function} [beforeSetState] - optional function to run before setting the state
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?: Function): Promise<T>;
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]
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../util.js"],"names":[],"mappings":"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"}
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;;;;;;;;GAQG;AACH,gCAPW,MAAM,aACN,MAAM,oBACN,MAAM,WACN,MAAM,WACN,MAAM,GACJ,MAAM,CAUlB;AAED;;;;GAIG;AACH,0CAHW,MAAM,GACJ,MAAM,CAMlB;AAED;;;;;;GAMG;AACH,4BALW,MAAM,GAAC,IAAI,YACX,MAAM,aACN,MAAM,GACJ,MAAM,CAOlB;AAED;;;;;;;GAOG;AACH,qCANW,MAAM,GAAC,IAAI,aACX,MAAM,eACN,MAAM,UA0ChB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,yBAnBuC,CAAC,SAA3B,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,QAI3B,CAAC,SACD,MAAM,YACN;IACN,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACS,CAAC,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG;IACpD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAA;CAC7B,CAwKH;AAED;;;;;GAKG;AACH,yBAJa,CAAC,OACH,CAAC,GACC,CAAC,CAgBb;AAED;;;;;GAKG;AACH,8BAJW,MAAM,GAAC,GAAG,EAAE,QACZ,MAAM,GACJ,OAAO,CAgBnB;AAED;;;;;;;GAOG;AACH,wBANa,CAAC,OACH,CAAC,QACD,MAAM,SACN,OAAO,WAAS,GACd,CAAC,CAKb;AAED;;;;;;;GAOG;AACH,gCANa,CAAC,QACH,CAAC,QACD,MAAM,SACN,OAAO,WAAS,GACd;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAgCpD;AAED;;;;;;;;;;;;;;GAcG;AACH,iCAPa,CAAC,SACH,CAAC,iBACD,GAAG,SACH,GAAG,GACD,CAAC,CAoCb;AAED;;;;;;GAMG;AACH,0BALW;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,GAAC,EAAE,GAAC,IAAI,gCAE5B,MAAM,GACJ,MAAM,GAAC,EAAE,GAAC,IAAI,CAmB1B;AAED;;;;;;;;;GASG;AACH,mCARW,MAAM,GAAC,IAAI,GAAC,IAAI,GAAC,UAAU,CAAC,WAAW,CAAC,YACxC,MAAM,SACN,MAAM,QACN,MAAM,GACJ,IAAI,CA+BhB;AAED;;;;;GAKG;AACH,mCAJW,MAAM,iBACN,OAAO,GACL,MAAM,CAMlB;AAED;;;;GAIG;AACH,mCAHW,MAAM,GACJ,MAAM,CAWlB;AAED;;;;;;;;GAQG;AACH,8BAPW,MAAM,QACN;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,qBAC5G,QAAQ,cACR,MAAM,GACJ,QAAQ,CAwEpB;AAED;;;;GAIG;AACH,iCAHW;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,GACnC,MAAM,CAIlB;AAED;;;;GAIG;AACH,sCAHW,MAAM,GACJ,MAAM,EAAE,CASpB;AAED;;;;GAIG;AACH,6CAHW;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACjC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,CAS5D;AAED;;;;GAIG;AACH,+CAHW;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACjC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAS9C;AAED;;;;;GAKG;AACH,yCAJW;IAAE,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,GAAC,SAAS,QAC1D,MAAM,GAAC,MAAM,GACX;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAC,SAAS,CAQvD;AAWD;;;;;GAKG;AACH,uCAJW,MAAM,iBACN,MAAM,GACJ,MAAM,CAYlB;AAED;;;;;GAKG;AACH,qCAJW;IAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,CAAA;CAAE,QACvC,MAAM,GACJ,MAAM,CAYlB;AAED;;;;GAIG;AACH,6DAHW,MAAM,GACJ,OAAO,CAAC,OAAO,mBAAmB,EAAE,MAAM,GAAC,IAAI,CAAC,CAI5D;AAED;;;;;;GAMG;AACH,wCAHW,aAAa,GACX,UAAU,EAAE,CAiCxB;AAED;;;;GAIG;AACH,4CAHW,UAAU,EAAE,GAAC,SAAS,GACpB,MAAM,CAMlB;AAED;;;;;;GAMG;AACH,+BALW,GAAG,EAAE,UACL,OAAO,QACP,MAAM,GACJ,OAAO,CAcnB;AAED;;;;GAIG;AACH,kCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,iCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,oCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,+BAHW,MAAM,GACJ,OAAO,CAMnB;AAED;;;;;GAKG;AACH,8BAJW;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,GAAC,IAAI,qBAC7B,OAAO,GACL,OAAO,CASnB;AAED;;;;GAIG;AACH,qCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,+BAHW,OAAO,GACL,OAAO,CAmBnB;AAED;;;;GAIG;AACH,mCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,mCAHW,OAAO,GACL,OAAO,CAKnB;AAED;;;;GAIG;AACH,kCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,mCAHW,OAAO,GACL,OAAO,CAInB;AAED;;;;GAIG;AACH,gCAHW,MAAM,GACJ,MAAM,CAIlB;AAED;;;;;;GAMG;AACH,kCALW,MAAM,QACN,MAAM,iBACN,OAAO,GACL,MAAM,CAalB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qCAxBW,MAAM,mBACN,KAAK,GAAC,GAAG,aACT,KAAK,GACH,CAAC,KAAK,EAAE,KAAK,CAAC,GAAC,IAAI,CAuC/B;AAED;;;;;;;;;GASG;AACH,qDARW;IACN,IAAI,CAAC,EAAE;QAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,CAAA;IACjE,QAAQ,CAAC,EAAE;QAAC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAC,CAAA;CAC3C,MACO,MAAM,UACN,MAAM,OA+ChB;AAED;;;;;GAKG;AACH,6CAJW,MAAM,EAAE,UACR,MAAM,EAAE,GACP,MAAM,CAgBjB;AAED;;;;GAIG;AACH,kCAHW;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,MACtB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG;;EAS1C;AAED;;;;;GAKG;AACH,0BAJW;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,UAC1B,MAAM,EAAE,GACN;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAStC;AAED;;GAEG;AAEH;;;;;;;;;;;;;GAaG;AACH,yBAXa,CAAC,oBACH,gBAAgB,YAChB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mBACvC,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,mBAC3B,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,KAAK,CAAC,GACpD,OAAO,CAAC,CAAC,CAAC,CA+CtB;AAED;;;;;;GAMG;AACH,0BALW,MAAM,YACN,MAAM,eACN,MAAM,GACJ,MAAM,CAUlB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,oCAjDW;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,UAC1B;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,CAC3B,QAAc,GACN,QAAQ,GACR,SAAS,GACT,WAAW,GACX,SAAS,GACT;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GACjC,MAAM,GACN;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,EAAE,CAAA;KAAE,IACxC;QAAE,IAAI,EAAE,QAAQ,CAAA;KAAE,GAAG,eAAe,CAAA,CACvC,CAAA;CAAC;;eA8Ca,MAAM;cAAQ,MAAM;eAAS,MAAM;cAAQ,MAAM;;aAEnD,QAAQ,EAAE;;iBACN,MAAM;;eACP;YAAE,OAAO,EAAE,MAAM,CAAA;SAAE;;;;EAsGvC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wCAhBW;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,GAAC,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,SAMnD;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,UACzC,MAAM,YACN,OAAO;;;;;;EAgCjB;AAED;;;;GAIG;AACH,0BAHW;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,QACtB,MAAM,GAAC,MAAM,GAAC,MAAM,EAAE,GAAC,MAAM,EAAE;;EAiBzC;AAED;;;;GAIG;AACH,sCAHW,GAAG,GACD,MAAM,CAIlB;AAED;;;;;;;;;;;;GAYG;AACH,0CAVW,MAAM,YAEd;IAA0B,iBAAiB,GAAnC,OAAO;IACW,mBAAmB,GAArC,OAAO;IACW,iBAAiB,GAAnC,OAAO;CAEf,GAAU;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAC,IAAI,GAAC,CAAC,MAAM,GAAC,IAAI,CAAC,EAAE,CAAA;CAAC,CAyCxD;AAED;;;;GAIG;AACH,yCAHW,MAAM,GACJ,MAAM,EAAE,CAOpB;AAED;;;;;;;;;GASG;AACH,iCARW;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAC,UACxB,MAAM,YACN;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,YAE/B;IAA0B,iBAAiB,GAAnC,OAAO;CAEf,GAAU,MAAM,CAkBlB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,+BAnBW,MAAM,SACN;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,UACtB;IAAC,cAAc,CAAC,WAAU;CAAC,iBAC3B,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,aACxB,QAAQ,YAEhB;IAAqC,WAAW,GAAxC,kBAAkB;CAC1B,GAAU,OAAO,CAAC,GAAG,CAAC,CA8DxB;AAED;;;;GAIG;AACH,0CAHW,EAAE,GAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,GACrB,EAAE,GAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,CAcnC;AAED;;;;;;;;GAQG;AACH,gCANW,MAAM,gBACN,KAAK,EAAE,GAAC,KAAK,SACb,MAAM,MACN,MAAM,GACJ,MAAM,CAclB;AAED;;;;GAIG;AACH,qCAHW,MAAM,GACJ,MAAM,CAMlB;AAED;;;;;;;;GAQG;AACH,yCAPW,MAAM,gBACN,MAAM,wBAEN,MAAM,aADN,MAAM,GAEJ,MAAM,CA8ClB;AAED;;;;;GAKG;AACH,uCAJW,MAAM,cACN,OAAO,GACL,MAAM,CAelB;AAED;;;;;GAKG;AACH,gEAHW,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAMzB;AAED;;;;GAIG;AACH,oDAFW,aAAa,QAKvB;AAED;;;;;GAKG;AACH,sCAJW;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAC,EAAE,OACtB,MAAM,GACJ,MAAM,EAAE,CAQpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,yBAhBuC,CAAC,SAA3B,CAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAI,QAG3B,CAAC,SACD,MAAM,YACN;IACL,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACrB,GACS,CAAC,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG;IACpD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,UAAU,CAAC,CAAC,CAAC,CAAA;CAC7B,CAmBH;AAED;;;;;GAKG;AACH,wBAJa,CAAC,YACH,CAAC,GAAG,SAAS,GACX,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CASvC;AAED;;;;GAIG;AACH,6BAHW,MAAM,GACJ,MAAM,CAKlB;AA4DD;;;;GAIG;AACH,iCAHW,CAAC,MAAM,GAAC,IAAI,GAAC,SAAS,GAAC,KAAK,GAAC,CAAC,GAAC,EAAE,CAAC,EAAE,GAClC,MAAM,CAuElB;AAED;;;;GAIG;AACH,gCAHW,MAAM,GACJ,MAAM,CAKlB;;AAjwCM,wCAHI;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAC,GAAC,MAAM,GAAC,SAAS,GAC7B,MAAM,CAIlB;;;;4BAiDY,KAAK,GAAC,UAAU,EAAE,GAAC,UAAU,GAAC,eAAe,GAAC,MAAM,GAAC,GAAG;;;;oBAgOxD,CAAC,MAAM,EAAE,MAAM,CAAC;;;;kBAChB;IAAC,UAAU,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAA;CAAC;+BA0JpC,CAAC;IAAC,MAAM,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC,CAAA;CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;;;;oBA2f9D;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC;uBA/vD7D,OAAO,OAAO,EAAE,QAAQ,CAAC,OAAO,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;;;4BAI9D,OAAO,OAAO,EAAE,aAAa;;;;iCAC7B,OAAO,OAAO,EAAE,kBAAkB;;;;4BAClC,OAAO,OAAO,EAAE,aAAa;;;;wCAC7B,OAAO,aAAa,EAAE,yBAAyB;;;;0CAG/C,kBAAkB,GAAG;IAAE,aAAa,CAAC,EAAE,yBAAyB,CAAA;CAAE;;;;qCAGlE,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG;IACrC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACzG;uBAGW,MAAM;sBACN,CAAC,KAAK,EAAE,MAAM,KAAK,QAAQ;;;;wBAC3B,CAAC,MAAM,GAAC,MAAM,GAAC,OAAO,CAAC,EAAE;;;;8BACzB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE;yBACtB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE;yBACjC;IAAE,MAAM,EAAE,MAAM;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE;8BACrC;IAAE,QAAQ,EAAE;QAAE,IAAI,EAAE;YAAE,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CAAE"}
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 '$' + num.toLocaleString(undefined, {
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 {Function} [beforeSetState] - optional function to run before setting the state
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: