@rinzai/zen 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -7
- package/dist/accordion/index.d.ts +41 -0
- package/dist/accordion/index.d.ts.map +1 -0
- package/dist/accordion/index.js +81 -0
- package/dist/animated-number/index.d.ts +3 -2
- package/dist/animated-number/index.d.ts.map +1 -1
- package/dist/animated-number/index.js +40 -38
- package/dist/avatar/index.d.ts +7 -2
- package/dist/avatar/index.d.ts.map +1 -1
- package/dist/avatar/index.js +17 -11
- package/dist/backdrop/index.d.ts +4 -4
- package/dist/backdrop/index.d.ts.map +1 -1
- package/dist/backdrop/index.js +41 -39
- package/dist/badge/index.d.ts +4 -2
- package/dist/badge/index.d.ts.map +1 -1
- package/dist/badge/index.js +20 -11
- package/dist/base.css +4 -0
- package/dist/breadcrumbs/index.d.ts +1 -1
- package/dist/breadcrumbs/index.d.ts.map +1 -1
- package/dist/breadcrumbs/index.js +25 -24
- package/dist/button/index.d.ts +3 -3
- package/dist/button/index.d.ts.map +1 -1
- package/dist/button/index.js +16 -11
- package/dist/button-group/index.d.ts +13 -0
- package/dist/button-group/index.d.ts.map +1 -0
- package/dist/button-group/index.js +14 -0
- package/dist/calendar/index.d.ts +15 -8
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/index.js +97 -91
- package/dist/calendar-heatmap/index.d.ts +7 -5
- package/dist/calendar-heatmap/index.d.ts.map +1 -1
- package/dist/calendar-heatmap/index.js +32 -30
- package/dist/canvas/geometry.js +0 -1
- package/dist/canvas/index.d.ts +6 -6
- package/dist/canvas/index.d.ts.map +1 -1
- package/dist/canvas/index.js +135 -133
- package/dist/carousel/index.d.ts +27 -0
- package/dist/carousel/index.d.ts.map +1 -0
- package/dist/carousel/index.js +162 -0
- package/dist/chart/index.d.ts +5 -4
- package/dist/chart/index.d.ts.map +1 -1
- package/dist/chart/index.js +137 -135
- package/dist/chart/palette.js +0 -1
- package/dist/checkbox/index.d.ts +3 -3
- package/dist/checkbox/index.d.ts.map +1 -1
- package/dist/checkbox/index.js +33 -30
- package/dist/chip/index.js +1 -1
- package/dist/code-block/index.d.ts.map +1 -1
- package/dist/code-block/index.js +27 -25
- package/dist/code-input/index.d.ts.map +1 -1
- package/dist/code-input/index.js +30 -24
- package/dist/collapse/index.d.ts +4 -3
- package/dist/collapse/index.d.ts.map +1 -1
- package/dist/collapse/index.js +42 -39
- package/dist/color-picker/index.d.ts +14 -7
- package/dist/color-picker/index.d.ts.map +1 -1
- package/dist/color-picker/index.js +139 -128
- package/dist/combobox/index.d.ts +14 -6
- package/dist/combobox/index.d.ts.map +1 -1
- package/dist/combobox/index.js +158 -146
- package/dist/command-palette/index.d.ts +4 -3
- package/dist/command-palette/index.d.ts.map +1 -1
- package/dist/command-palette/index.js +60 -57
- package/dist/confirm-dialog/index.d.ts +6 -7
- package/dist/confirm-dialog/index.d.ts.map +1 -1
- package/dist/confirm-dialog/index.js +20 -16
- package/dist/date-picker/index.d.ts +23 -14
- package/dist/date-picker/index.d.ts.map +1 -1
- package/dist/date-picker/index.js +109 -93
- package/dist/dialog/index.d.ts +3 -4
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/dialog/index.js +58 -55
- package/dist/disclosure/index.d.ts +8 -0
- package/dist/disclosure/index.d.ts.map +1 -1
- package/dist/disclosure/index.js +31 -32
- package/dist/editable-cell/index.d.ts +4 -5
- package/dist/editable-cell/index.d.ts.map +1 -1
- package/dist/editable-cell/index.js +23 -22
- package/dist/field/index.d.ts +8 -8
- package/dist/field/index.d.ts.map +1 -1
- package/dist/field/index.js +20 -18
- package/dist/filter-bar/index.d.ts +2 -2
- package/dist/filter-bar/index.d.ts.map +1 -1
- package/dist/filter-bar/index.js +38 -36
- package/dist/header/index.d.ts +1 -1
- package/dist/header/index.d.ts.map +1 -1
- package/dist/header/index.js +13 -11
- package/dist/hover-card/index.d.ts +32 -0
- package/dist/hover-card/index.d.ts.map +1 -0
- package/dist/hover-card/index.js +84 -0
- package/dist/icon-picker/index.d.ts +16 -5
- package/dist/icon-picker/index.d.ts.map +1 -1
- package/dist/icon-picker/index.js +42 -47
- package/dist/icons/micro/plus.d.ts +3 -0
- package/dist/icons/micro/plus.d.ts.map +1 -0
- package/dist/icons/micro/plus.js +17 -0
- package/dist/index.d.ts +37 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/input/index.d.ts +5 -1
- package/dist/input/index.d.ts.map +1 -1
- package/dist/input/index.js +9 -9
- package/dist/input-group/index.d.ts +4 -1
- package/dist/input-group/index.d.ts.map +1 -1
- package/dist/input-group/index.js +14 -14
- package/dist/keypad/index.d.ts +9 -7
- package/dist/keypad/index.d.ts.map +1 -1
- package/dist/keypad/index.js +22 -19
- package/dist/lib.js +112 -97
- package/dist/load-more/index.d.ts +4 -2
- package/dist/load-more/index.d.ts.map +1 -1
- package/dist/load-more/index.js +26 -23
- package/dist/locale-provider/index.d.ts +23 -0
- package/dist/locale-provider/index.d.ts.map +1 -0
- package/dist/locale-provider/index.js +35 -0
- package/dist/menu/index.d.ts +62 -9
- package/dist/menu/index.d.ts.map +1 -1
- package/dist/menu/index.js +371 -128
- package/dist/meter/index.d.ts +2 -2
- package/dist/meter/index.d.ts.map +1 -1
- package/dist/meter/index.js +4 -4
- package/dist/money-input/index.d.ts +20 -10
- package/dist/money-input/index.d.ts.map +1 -1
- package/dist/money-input/index.js +199 -190
- package/dist/month-picker/index.d.ts +17 -10
- package/dist/month-picker/index.d.ts.map +1 -1
- package/dist/month-picker/index.js +97 -86
- package/dist/navigation-menu/index.d.ts +42 -0
- package/dist/navigation-menu/index.d.ts.map +1 -0
- package/dist/navigation-menu/index.js +144 -0
- package/dist/number-field/index.d.ts +34 -0
- package/dist/number-field/index.d.ts.map +1 -0
- package/dist/number-field/index.js +119 -0
- package/dist/page-header/index.d.ts +4 -3
- package/dist/page-header/index.d.ts.map +1 -1
- package/dist/page-header/index.js +2 -1
- package/dist/pagination/index.d.ts +1 -1
- package/dist/pagination/index.d.ts.map +1 -1
- package/dist/pagination/index.js +35 -33
- package/dist/progress-ring/index.d.ts +4 -3
- package/dist/progress-ring/index.d.ts.map +1 -1
- package/dist/progress-ring/index.js +11 -10
- package/dist/radio-cards/index.d.ts +9 -5
- package/dist/radio-cards/index.d.ts.map +1 -1
- package/dist/radio-cards/index.js +26 -24
- package/dist/radio-group/index.d.ts +9 -8
- package/dist/radio-group/index.d.ts.map +1 -1
- package/dist/radio-group/index.js +35 -34
- package/dist/range-slider/index.d.ts +10 -4
- package/dist/range-slider/index.d.ts.map +1 -1
- package/dist/range-slider/index.js +43 -31
- package/dist/repeat-picker/index.d.ts +13 -6
- package/dist/repeat-picker/index.d.ts.map +1 -1
- package/dist/repeat-picker/index.js +73 -61
- package/dist/resizable/index.d.ts +29 -0
- package/dist/resizable/index.d.ts.map +1 -0
- package/dist/resizable/index.js +135 -0
- package/dist/segmented/index.d.ts +8 -5
- package/dist/segmented/index.d.ts.map +1 -1
- package/dist/segmented/index.js +36 -34
- package/dist/select/index.d.ts +9 -3
- package/dist/select/index.d.ts.map +1 -1
- package/dist/select/index.js +99 -96
- package/dist/separator/index.d.ts +14 -0
- package/dist/separator/index.d.ts.map +1 -0
- package/dist/separator/index.js +15 -0
- package/dist/side-nav/index.js +1 -1
- package/dist/skeleton/index.d.ts +4 -4
- package/dist/skeleton/index.d.ts.map +1 -1
- package/dist/skeleton/index.js +4 -3
- package/dist/slider/index.d.ts +6 -3
- package/dist/slider/index.d.ts.map +1 -1
- package/dist/slider/index.js +29 -23
- package/dist/sortable/index.d.ts +10 -20
- package/dist/sortable/index.d.ts.map +1 -1
- package/dist/sortable/index.js +72 -134
- package/dist/sortable/shared.d.ts +56 -0
- package/dist/sortable/shared.d.ts.map +1 -0
- package/dist/sortable/shared.js +104 -0
- package/dist/sortable/tree-model.d.ts +46 -0
- package/dist/sortable/tree-model.d.ts.map +1 -0
- package/dist/sortable/tree-model.js +87 -0
- package/dist/sortable/tree.d.ts +31 -0
- package/dist/sortable/tree.d.ts.map +1 -0
- package/dist/sortable/tree.js +150 -0
- package/dist/sparkline/index.d.ts +1 -1
- package/dist/sparkline/index.d.ts.map +1 -1
- package/dist/sparkline/index.js +26 -25
- package/dist/spinner/index.d.ts +4 -3
- package/dist/spinner/index.d.ts.map +1 -1
- package/dist/spinner/index.js +2 -1
- package/dist/status-pill/index.d.ts.map +1 -1
- package/dist/status-pill/index.js +1 -1
- package/dist/stepper/index.d.ts +1 -1
- package/dist/stepper/index.d.ts.map +1 -1
- package/dist/stepper/index.js +31 -30
- package/dist/tab-bar/index.js +1 -1
- package/dist/table/index.d.ts +5 -5
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/index.js +66 -64
- package/dist/table/selection.d.ts +2 -2
- package/dist/table/selection.d.ts.map +1 -1
- package/dist/table/selection.js +41 -38
- package/dist/table/swipe.d.ts +1 -1
- package/dist/table/swipe.d.ts.map +1 -1
- package/dist/table/swipe.js +1 -1
- package/dist/table-of-contents/index.d.ts +4 -2
- package/dist/table-of-contents/index.d.ts.map +1 -1
- package/dist/table-of-contents/index.js +27 -25
- package/dist/tabs/index.d.ts.map +1 -1
- package/dist/tabs/index.js +90 -88
- package/dist/tag-input/index.d.ts +3 -1
- package/dist/tag-input/index.d.ts.map +1 -1
- package/dist/tag-input/index.js +61 -52
- package/dist/theme-toggle/index.d.ts +9 -8
- package/dist/theme-toggle/index.d.ts.map +1 -1
- package/dist/theme-toggle/index.js +30 -28
- package/dist/theme.css +90 -12
- package/dist/time-field/index.d.ts +31 -0
- package/dist/time-field/index.d.ts.map +1 -0
- package/dist/time-field/index.js +175 -0
- package/dist/timeline/index.js +1 -1
- package/dist/toast/index.d.ts +1 -1
- package/dist/toast/index.d.ts.map +1 -1
- package/dist/toast/index.js +127 -125
- package/dist/toggle/index.d.ts +2 -2
- package/dist/toggle/index.d.ts.map +1 -1
- package/dist/toggle/index.js +8 -6
- package/dist/toggle-group/index.d.ts +35 -0
- package/dist/toggle-group/index.d.ts.map +1 -0
- package/dist/toggle-group/index.js +53 -0
- package/dist/toolbar/index.d.ts +19 -0
- package/dist/toolbar/index.d.ts.map +1 -0
- package/dist/toolbar/index.js +36 -0
- package/dist/tooltip/index.d.ts.map +1 -1
- package/dist/tooltip/index.js +40 -74
- package/dist/tree/index.d.ts.map +1 -1
- package/dist/tree/index.js +105 -102
- package/dist/trend/index.d.ts +2 -2
- package/dist/trend/index.d.ts.map +1 -1
- package/dist/trend/index.js +20 -19
- package/dist/utils/color.js +0 -1
- package/dist/utils/cva.js +0 -1
- package/dist/utils/cx.js +0 -1
- package/dist/utils/date.d.ts +6 -0
- package/dist/utils/date.d.ts.map +1 -1
- package/dist/utils/date.js +1 -2
- package/dist/utils/direction.d.ts +7 -0
- package/dist/utils/direction.d.ts.map +1 -0
- package/dist/utils/direction.js +6 -0
- package/dist/utils/form-value.d.ts +15 -0
- package/dist/utils/form-value.d.ts.map +1 -0
- package/dist/utils/form-value.js +29 -0
- package/dist/utils/fx.js +0 -1
- package/dist/utils/merge.js +0 -1
- package/dist/utils/messages.d.ts +137 -0
- package/dist/utils/messages.d.ts.map +1 -0
- package/dist/utils/messages.js +133 -0
- package/dist/utils/money.js +0 -1
- package/dist/utils/month.js +0 -1
- package/dist/utils/motion.js +0 -1
- package/dist/utils/refs.d.ts +6 -0
- package/dist/utils/refs.d.ts.map +1 -0
- package/dist/utils/refs.js +13 -0
- package/dist/utils/repeat.d.ts +3 -1
- package/dist/utils/repeat.d.ts.map +1 -1
- package/dist/utils/repeat.js +28 -25
- package/dist/utils/roving.d.ts +17 -0
- package/dist/utils/roving.d.ts.map +1 -0
- package/dist/utils/roving.js +35 -0
- package/dist/utils/section-link.js +0 -1
- package/dist/utils/slot.d.ts.map +1 -1
- package/dist/utils/slot.js +7 -11
- package/dist/utils/status-icons.js +7 -7
- package/dist/utils/styles.d.ts +9 -2
- package/dist/utils/styles.d.ts.map +1 -1
- package/dist/utils/styles.js +6 -3
- package/dist/utils/theme-wave.js +0 -1
- package/dist/utils/theme.js +0 -1
- package/dist/utils/useAnchoredPopup.d.ts +7 -4
- package/dist/utils/useAnchoredPopup.d.ts.map +1 -1
- package/dist/utils/useAnchoredPopup.js +18 -11
- package/dist/utils/useControllable.d.ts +9 -0
- package/dist/utils/useControllable.d.ts.map +1 -0
- package/dist/utils/useControllable.js +15 -0
- package/dist/utils/useHoverPopup.d.ts +39 -0
- package/dist/utils/useHoverPopup.d.ts.map +1 -0
- package/dist/utils/useHoverPopup.js +64 -0
- package/dist/zen.css +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FieldSize } from '../utils/styles';
|
|
1
2
|
import { ForeignAmount, RateTable } from '../utils/fx';
|
|
2
3
|
import { Money } from '../utils/money';
|
|
3
4
|
import { ChangeEvent, ComponentProps, KeyboardEvent, ReactNode } from 'react';
|
|
@@ -12,7 +13,7 @@ import { ChangeEvent, ComponentProps, KeyboardEvent, ReactNode } from 'react';
|
|
|
12
13
|
* never sent anywhere). Replace the symbol with `start`, or build your own field
|
|
13
14
|
* from useMoneyInput, MoneyCurrencyMenu and MoneyConversionHint.
|
|
14
15
|
*/
|
|
15
|
-
export default function MoneyInput({ value,
|
|
16
|
+
export default function MoneyInput({ value, defaultValue, onValueChange, currency, locale, allowNegative, allowEmpty, live, onCancel, convert, start, end, compact, size, disabled, className, onFocus, onBlur, onKeyDown, 'aria-describedby': describedBy, name, ...input }: MoneyInputProps): import('react').JSX.Element;
|
|
16
17
|
/**
|
|
17
18
|
* The currency switch for a converting field (`convert`): shows the symbol, or
|
|
18
19
|
* the code of the foreign currency being typed in, and opens a menu of your
|
|
@@ -35,7 +36,7 @@ export declare function MoneyConversionHint({ money, className }: {
|
|
|
35
36
|
* input (e.g. an InputGroupInput next to your own addons) and show `error`.
|
|
36
37
|
* With `convert`, `conversion` drives MoneyCurrencyMenu and MoneyConversionHint.
|
|
37
38
|
*/
|
|
38
|
-
export declare function useMoneyInput({ value,
|
|
39
|
+
export declare function useMoneyInput({ value: valueProp, defaultValue, onValueChange, currency, locale: localeProp, allowNegative, allowEmpty, live, onCancel, convert, }: MoneyInputOptions): {
|
|
39
40
|
inputProps: {
|
|
40
41
|
readonly type: "text";
|
|
41
42
|
readonly inputMode: "decimal";
|
|
@@ -49,6 +50,10 @@ export declare function useMoneyInput({ value, onChange, currency, locale, allow
|
|
|
49
50
|
readonly onBlur: () => void;
|
|
50
51
|
readonly onKeyDown: (e: KeyboardEvent<HTMLInputElement>) => void;
|
|
51
52
|
};
|
|
53
|
+
/** The amount in minor units, or null. */
|
|
54
|
+
value: number | null;
|
|
55
|
+
/** Back to the first amount (on a form's reset). */
|
|
56
|
+
reset: () => void;
|
|
52
57
|
/** The symbol of the currency being typed in, in this locale, e.g. "₹" or "$". */
|
|
53
58
|
symbol: string;
|
|
54
59
|
error: string | null;
|
|
@@ -103,13 +108,15 @@ export interface CurrencyConversion {
|
|
|
103
108
|
initial?: ForeignAmount | null;
|
|
104
109
|
}
|
|
105
110
|
export interface MoneyInputOptions {
|
|
106
|
-
/** Amount in minor units (paise, cents), or null when empty. */
|
|
107
|
-
value
|
|
108
|
-
|
|
111
|
+
/** Amount in minor units (paise, cents), or null when empty, when you keep it. */
|
|
112
|
+
value?: Money | null;
|
|
113
|
+
/** The first amount, when the field keeps its own. */
|
|
114
|
+
defaultValue?: Money | null;
|
|
115
|
+
onValueChange?: (value: Money | null) => void;
|
|
109
116
|
/** ISO 4217 code, e.g. "INR", "USD". */
|
|
110
117
|
currency: string;
|
|
111
|
-
/** Decides digit grouping and the symbol, e.g. "en-IN" (1,52,000) or "en-US" (152,000). */
|
|
112
|
-
locale
|
|
118
|
+
/** Decides digit grouping and the symbol, e.g. "en-IN" (1,52,000) or "en-US" (152,000). Defaults to the LocaleProvider's. */
|
|
119
|
+
locale?: string;
|
|
113
120
|
allowNegative?: boolean;
|
|
114
121
|
allowEmpty?: boolean;
|
|
115
122
|
/**
|
|
@@ -124,15 +131,18 @@ export interface MoneyInputOptions {
|
|
|
124
131
|
convert?: CurrencyConversion;
|
|
125
132
|
}
|
|
126
133
|
/**
|
|
127
|
-
* Also takes the input's own props (placeholder,
|
|
134
|
+
* Also takes the input's own props (placeholder, aria-*, onBlur…), except
|
|
128
135
|
* the value and its typing, which MoneyInput runs. className goes on the wrapper.
|
|
136
|
+
* With `name`, the amount in minor units (e.g. "15200000") is submitted with a form.
|
|
129
137
|
*/
|
|
130
|
-
export interface MoneyInputProps extends MoneyInputOptions, Omit<ComponentProps<'input'>, keyof MoneyInputOptions | 'defaultValue' | 'type' | 'inputMode' | 'children'> {
|
|
138
|
+
export interface MoneyInputProps extends MoneyInputOptions, Omit<ComponentProps<'input'>, keyof MoneyInputOptions | 'defaultValue' | 'size' | 'type' | 'inputMode' | 'children'> {
|
|
131
139
|
/** Replaces the currency symbol (or the currency switch), e.g. with your own. */
|
|
132
140
|
start?: ReactNode;
|
|
133
141
|
/** Content after the input, e.g. a unit or a clear button. */
|
|
134
142
|
end?: ReactNode;
|
|
135
|
-
/**
|
|
143
|
+
/** Height, matching Button's: sm (32px), default (40px) or lg (44px). */
|
|
144
|
+
size?: FieldSize;
|
|
145
|
+
/** Smaller still and right-aligned, for editing inside table rows. */
|
|
136
146
|
compact?: boolean;
|
|
137
147
|
}
|
|
138
148
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/money-input/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../packages/money-input/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,243 +1,250 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cx as e } from "../utils/cx.js";
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
3
|
+
import { useControllable as t } from "../utils/useControllable.js";
|
|
4
|
+
import n, { MenuContent as r, MenuItem as i, MenuSeparator as a, MenuTrigger as o } from "../menu/index.js";
|
|
5
|
+
import { useLocale as s, useMessages as c } from "../locale-provider/index.js";
|
|
6
|
+
import { currencySymbol as l, formatAmount as u, formatMoney as d, minorDigits as f, parseMoneyInput as p } from "../utils/money.js";
|
|
7
|
+
import m from "../spinner/index.js";
|
|
8
|
+
import { AlertIcon as h, InfoIcon as g } from "../utils/status-icons.js";
|
|
9
|
+
import { FormValue as _ } from "../utils/form-value.js";
|
|
10
|
+
import { FieldChevron as v } from "../utils/field-chevron.js";
|
|
11
|
+
import y, { InputGroupAddon as b, InputGroupInput as x } from "../input-group/index.js";
|
|
12
|
+
import { convertMinor as S, rateBetween as C } from "../utils/fx.js";
|
|
13
|
+
import { useEffect as w, useId as T, useRef as E, useState as D } from "react";
|
|
14
|
+
import { Fragment as O, jsx as k, jsxs as A } from "react/jsx-runtime";
|
|
12
15
|
//#region packages/money-input/index.tsx
|
|
13
|
-
function
|
|
14
|
-
let
|
|
16
|
+
function j({ value: t, defaultValue: n, onValueChange: r, currency: i, locale: a, allowNegative: o, allowEmpty: s, live: c, onCancel: l, convert: u, start: d, end: f, compact: p = !1, size: m, disabled: g = !1, className: v, onFocus: S, onBlur: C, onKeyDown: w, "aria-describedby": T, name: E, ...D }) {
|
|
17
|
+
let O = P({
|
|
15
18
|
value: t,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
defaultValue: n,
|
|
20
|
+
onValueChange: r,
|
|
21
|
+
currency: i,
|
|
22
|
+
locale: a,
|
|
23
|
+
allowNegative: o,
|
|
24
|
+
allowEmpty: s,
|
|
25
|
+
live: c,
|
|
26
|
+
onCancel: l,
|
|
27
|
+
convert: u
|
|
28
|
+
}), j = !!O.conversion?.foreign;
|
|
29
|
+
return /* @__PURE__ */ A("div", {
|
|
26
30
|
className: e("zen__money-input flex flex-col gap-1", v),
|
|
27
|
-
children: [
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
31
|
+
children: [
|
|
32
|
+
/* @__PURE__ */ A(y, {
|
|
33
|
+
invalid: !!O.error,
|
|
34
|
+
size: m,
|
|
35
|
+
"data-foreign": j || void 0,
|
|
36
|
+
className: e(p && "h-7", "data-foreign:border-primary/50"),
|
|
37
|
+
children: [
|
|
38
|
+
d ?? (O.conversion && !g ? /* @__PURE__ */ k(M, { money: O }) : /* @__PURE__ */ k(b, {
|
|
39
|
+
"aria-hidden": !0,
|
|
40
|
+
"data-slot": "symbol",
|
|
41
|
+
children: O.symbol
|
|
42
|
+
})),
|
|
43
|
+
/* @__PURE__ */ k(x, {
|
|
44
|
+
...D,
|
|
45
|
+
...O.inputProps,
|
|
46
|
+
onFocus: (e) => {
|
|
47
|
+
O.inputProps.onFocus(), S?.(e);
|
|
48
|
+
},
|
|
49
|
+
onBlur: (e) => {
|
|
50
|
+
O.inputProps.onBlur(), C?.(e);
|
|
51
|
+
},
|
|
52
|
+
onKeyDown: (e) => {
|
|
53
|
+
O.inputProps.onKeyDown(e), w?.(e);
|
|
54
|
+
},
|
|
55
|
+
"aria-describedby": e(O.inputProps["aria-describedby"], T) || void 0,
|
|
56
|
+
disabled: g,
|
|
57
|
+
className: e("tabular-nums", p ? "text-end" : "text-start")
|
|
58
|
+
}),
|
|
59
|
+
f
|
|
60
|
+
]
|
|
61
|
+
}),
|
|
62
|
+
/* @__PURE__ */ k(_, {
|
|
63
|
+
name: E,
|
|
64
|
+
value: O.value === null ? "" : String(O.value),
|
|
65
|
+
onReset: O.reset
|
|
66
|
+
}),
|
|
67
|
+
O.error ? /* @__PURE__ */ A("p", {
|
|
68
|
+
id: O.errorId,
|
|
69
|
+
role: "alert",
|
|
70
|
+
className: "text-destructive mt-0! flex items-center gap-1.5 text-xs font-medium",
|
|
71
|
+
children: [/* @__PURE__ */ k(h, { className: "shrink-0" }), O.error]
|
|
72
|
+
}) : /* @__PURE__ */ k(N, { money: O })
|
|
73
|
+
]
|
|
61
74
|
});
|
|
62
75
|
}
|
|
63
|
-
function
|
|
64
|
-
let
|
|
65
|
-
return
|
|
66
|
-
"aria-label":
|
|
67
|
-
className: e("group/currency hover:bg-tint/[0.07]
|
|
68
|
-
children: [
|
|
69
|
-
}), /* @__PURE__ */
|
|
76
|
+
function M({ money: t, className: s }) {
|
|
77
|
+
let u = t.conversion, d = c();
|
|
78
|
+
return u ? /* @__PURE__ */ A(n, { children: [/* @__PURE__ */ A(o, {
|
|
79
|
+
"aria-label": d.changeCurrency(u.currency),
|
|
80
|
+
className: e("group/currency hover:bg-tint/[0.07] -ms-1 flex shrink-0 items-center gap-0.5 rounded-md px-1 py-0.5 text-sm outline-hidden focus-ring", u.foreign ? "text-primary" : "text-muted-foreground", s),
|
|
81
|
+
children: [u.foreign ? u.currency : t.symbol, /* @__PURE__ */ k(v, { className: "text-inherit duration-150 group-data-popup-open/currency:rotate-180" })]
|
|
82
|
+
}), /* @__PURE__ */ A(r, {
|
|
70
83
|
align: "start",
|
|
71
84
|
offset: 8,
|
|
72
|
-
"aria-label":
|
|
85
|
+
"aria-label": d.currency,
|
|
73
86
|
className: "max-h-72 w-60 overflow-y-auto",
|
|
74
87
|
children: [
|
|
75
|
-
/* @__PURE__ */
|
|
76
|
-
onSelect: () =>
|
|
88
|
+
/* @__PURE__ */ A(i, {
|
|
89
|
+
onSelect: () => u.pick(u.home),
|
|
77
90
|
className: "gap-2 py-1.5",
|
|
78
|
-
children: [/* @__PURE__ */
|
|
91
|
+
children: [/* @__PURE__ */ k("span", {
|
|
79
92
|
className: "w-9 font-medium",
|
|
80
|
-
children:
|
|
81
|
-
}), /* @__PURE__ */
|
|
93
|
+
children: u.home
|
|
94
|
+
}), /* @__PURE__ */ k("span", {
|
|
82
95
|
className: "text-muted-foreground",
|
|
83
|
-
children:
|
|
96
|
+
children: d.yourCurrency
|
|
84
97
|
})]
|
|
85
98
|
}),
|
|
86
|
-
/* @__PURE__ */
|
|
87
|
-
/* @__PURE__ */
|
|
99
|
+
/* @__PURE__ */ k(a, {}),
|
|
100
|
+
/* @__PURE__ */ k("div", {
|
|
88
101
|
className: "text-muted-foreground px-3 pt-1 pb-1.5 text-xs",
|
|
89
|
-
children:
|
|
102
|
+
children: d.otherCurrencies
|
|
90
103
|
}),
|
|
91
|
-
|
|
92
|
-
onSelect: () =>
|
|
104
|
+
u.choices.map((e) => /* @__PURE__ */ A(i, {
|
|
105
|
+
onSelect: () => u.pick(e),
|
|
93
106
|
className: "gap-2 py-1.5",
|
|
94
|
-
children: [/* @__PURE__ */
|
|
107
|
+
children: [/* @__PURE__ */ k("span", {
|
|
95
108
|
className: "w-9 font-medium",
|
|
96
109
|
children: e
|
|
97
|
-
}), /* @__PURE__ */
|
|
110
|
+
}), /* @__PURE__ */ k("span", {
|
|
98
111
|
className: "text-muted-foreground",
|
|
99
|
-
children:
|
|
112
|
+
children: l(e, "en")
|
|
100
113
|
})]
|
|
101
114
|
}, e))
|
|
102
115
|
]
|
|
103
116
|
})] }) : null;
|
|
104
117
|
}
|
|
105
|
-
function
|
|
106
|
-
let r = t.conversion;
|
|
118
|
+
function N({ money: t, className: n }) {
|
|
119
|
+
let r = t.conversion, i = c();
|
|
107
120
|
if (!r || !r.foreign && !r.converted) return null;
|
|
108
|
-
let { home:
|
|
121
|
+
let { home: a, locale: o } = r, s = e("text-muted-foreground flex items-center gap-1.5 text-xs", n);
|
|
109
122
|
if (!r.foreign) {
|
|
110
123
|
let e = r.converted;
|
|
111
|
-
return /* @__PURE__ */
|
|
124
|
+
return /* @__PURE__ */ A("p", {
|
|
112
125
|
id: t.hintId,
|
|
113
126
|
role: "status",
|
|
114
|
-
className:
|
|
115
|
-
children: [
|
|
116
|
-
/* @__PURE__ */ T(p, { className: "text-primary shrink-0" }),
|
|
117
|
-
"Converted from ",
|
|
118
|
-
c(e.amount, e.currency, a),
|
|
119
|
-
" at ",
|
|
120
|
-
M(e.rate)
|
|
121
|
-
]
|
|
127
|
+
className: s,
|
|
128
|
+
children: [/* @__PURE__ */ k(g, { className: "text-primary shrink-0" }), i.convertedFrom(d(e.amount, e.currency, o), I(e.rate))]
|
|
122
129
|
});
|
|
123
130
|
}
|
|
124
|
-
return /* @__PURE__ */
|
|
131
|
+
return /* @__PURE__ */ k("p", {
|
|
125
132
|
id: t.hintId,
|
|
126
133
|
role: "status",
|
|
127
|
-
className:
|
|
128
|
-
children: r.status === "idle" || r.status === "loading" ? /* @__PURE__ */
|
|
129
|
-
/* @__PURE__ */
|
|
130
|
-
" Couldn’t get exchange rates. Enter the amount in",
|
|
134
|
+
className: s,
|
|
135
|
+
children: r.status === "idle" || r.status === "loading" ? /* @__PURE__ */ A(O, { children: [
|
|
136
|
+
/* @__PURE__ */ k(m, { className: "size-3" }),
|
|
131
137
|
" ",
|
|
132
|
-
i
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
138
|
+
i.gettingRate
|
|
139
|
+
] }) : r.rate === null ? /* @__PURE__ */ A(O, { children: [
|
|
140
|
+
/* @__PURE__ */ k(h, { className: "text-destructive shrink-0" }),
|
|
141
|
+
" ",
|
|
142
|
+
i.ratesUnavailable(a)
|
|
143
|
+
] }) : /* @__PURE__ */ A(O, { children: [/* @__PURE__ */ k(g, { className: "text-primary shrink-0" }), /* @__PURE__ */ A("span", { children: [
|
|
144
|
+
r.preview !== null && /* @__PURE__ */ A("span", {
|
|
136
145
|
className: "text-foreground font-medium",
|
|
137
146
|
children: [
|
|
138
147
|
"≈ ",
|
|
139
|
-
|
|
148
|
+
d(r.preview, a, o),
|
|
140
149
|
" ·",
|
|
141
150
|
" "
|
|
142
151
|
]
|
|
143
152
|
}),
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
"
|
|
147
|
-
c(Math.round(r.rate * 10 ** l(i)), i, a),
|
|
148
|
-
" (",
|
|
153
|
+
i.rateOf(r.currency, d(Math.round(r.rate * 10 ** f(a)), a, o)),
|
|
154
|
+
" ",
|
|
155
|
+
"(",
|
|
149
156
|
r.source ? `${r.source}, ` : "",
|
|
150
|
-
|
|
157
|
+
L(r.date, o),
|
|
151
158
|
")"
|
|
152
159
|
] })] })
|
|
153
160
|
});
|
|
154
161
|
}
|
|
155
|
-
function
|
|
156
|
-
let
|
|
157
|
-
|
|
158
|
-
!
|
|
162
|
+
function P({ value: n, defaultValue: r = null, onValueChange: i, currency: a, locale: o, allowNegative: f = !1, allowEmpty: m = !1, live: h = !1, onCancel: g, convert: _ }) {
|
|
163
|
+
let v = s(o), y = c(), [b, x, E] = t(n, r, i), O = _?.initial ?? null, [k, A] = D(() => O?.currency ?? a), j = !!_ && k !== a, M = F(_?.loadRates, j), N = (e) => e === null ? "" : u(e, a, v), [P, I] = D(() => O ? u(O.amount, O.currency, v) : N(b)), [L, R] = D(null), [z, B] = D(null), [V, H] = D(!1), [U, W] = D(!1), G = T(), K = T();
|
|
164
|
+
w(() => {
|
|
165
|
+
!V && !j && !(h && U) && I(N(b));
|
|
159
166
|
}, [
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
167
|
+
b,
|
|
168
|
+
a,
|
|
169
|
+
v
|
|
163
170
|
]);
|
|
164
|
-
let
|
|
165
|
-
if (!
|
|
171
|
+
let q = (e) => {
|
|
172
|
+
if (!M.table) return null;
|
|
166
173
|
try {
|
|
167
|
-
return
|
|
174
|
+
return C(M.table, e, a);
|
|
168
175
|
} catch {
|
|
169
176
|
return null;
|
|
170
177
|
}
|
|
171
|
-
},
|
|
172
|
-
function
|
|
178
|
+
}, J = j ? q(k) : null, Y = (e) => y.notAnAmount(u(3274e3, e, v), v.endsWith("-IN") ? "1.5L" : "10k");
|
|
179
|
+
function X(e, t) {
|
|
173
180
|
let n = e.trim();
|
|
174
181
|
if (n === "") {
|
|
175
|
-
if (
|
|
176
|
-
|
|
182
|
+
if (m) return null;
|
|
183
|
+
R(y.enterAmount);
|
|
177
184
|
return;
|
|
178
185
|
}
|
|
179
186
|
let r;
|
|
180
187
|
try {
|
|
181
|
-
r =
|
|
188
|
+
r = p(n, t);
|
|
182
189
|
} catch {
|
|
183
|
-
|
|
190
|
+
R(Y(t));
|
|
184
191
|
return;
|
|
185
192
|
}
|
|
186
|
-
if (!
|
|
187
|
-
|
|
193
|
+
if (!f && r < 0) {
|
|
194
|
+
R(y.noNegative);
|
|
188
195
|
return;
|
|
189
196
|
}
|
|
190
|
-
return
|
|
197
|
+
return R(null), r;
|
|
191
198
|
}
|
|
192
|
-
function
|
|
193
|
-
let
|
|
194
|
-
if (
|
|
195
|
-
|
|
199
|
+
function Z(e, t, n) {
|
|
200
|
+
let r = e.trim();
|
|
201
|
+
if (r === "") {
|
|
202
|
+
x(null), _?.onForeign?.(null);
|
|
196
203
|
return;
|
|
197
204
|
}
|
|
198
|
-
let
|
|
205
|
+
let i;
|
|
199
206
|
try {
|
|
200
|
-
|
|
207
|
+
i = p(r, t);
|
|
201
208
|
} catch {
|
|
202
|
-
|
|
209
|
+
x(null);
|
|
203
210
|
return;
|
|
204
211
|
}
|
|
205
|
-
t ===
|
|
212
|
+
t === a ? (x(i), _?.onForeign?.(null)) : n === null ? x(null) : (x(S(i, n, t, a)), _?.onForeign?.({
|
|
206
213
|
currency: t,
|
|
207
|
-
amount:
|
|
208
|
-
rate:
|
|
209
|
-
date:
|
|
214
|
+
amount: i,
|
|
215
|
+
rate: n,
|
|
216
|
+
date: M.table.date
|
|
210
217
|
}));
|
|
211
218
|
}
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
}, [
|
|
215
|
-
function
|
|
216
|
-
let e =
|
|
219
|
+
w(() => {
|
|
220
|
+
h && U && j && Z(P, k, J);
|
|
221
|
+
}, [J]);
|
|
222
|
+
function Q() {
|
|
223
|
+
let e = X(P, k);
|
|
217
224
|
if (e === void 0) return !1;
|
|
218
|
-
if (e !== null &&
|
|
219
|
-
if (
|
|
220
|
-
let t =
|
|
221
|
-
currency:
|
|
225
|
+
if (e !== null && j) {
|
|
226
|
+
if (J === null) return R(M.status === "error" ? y.rateFailed : y.rateLoading), !1;
|
|
227
|
+
let t = S(e, J, k, a), n = {
|
|
228
|
+
currency: k,
|
|
222
229
|
amount: e,
|
|
223
|
-
rate:
|
|
224
|
-
date:
|
|
230
|
+
rate: J,
|
|
231
|
+
date: M.table.date
|
|
225
232
|
};
|
|
226
|
-
return
|
|
233
|
+
return B(n), A(a), I(N(t)), x(t), _?.onForeign?.(n), !0;
|
|
227
234
|
}
|
|
228
|
-
return
|
|
235
|
+
return I(N(e)), x(e), e !== b && (B(null), _?.onForeign?.(null)), !0;
|
|
229
236
|
}
|
|
230
|
-
function
|
|
231
|
-
let e =
|
|
232
|
-
e !== void 0 &&
|
|
237
|
+
function $() {
|
|
238
|
+
let e = X(P, k);
|
|
239
|
+
e !== void 0 && I(e === null ? "" : u(e, k, v));
|
|
233
240
|
}
|
|
234
|
-
function
|
|
235
|
-
|
|
241
|
+
function ee(e) {
|
|
242
|
+
A(e), R(null), h && P.trim() && (W(!0), Z(P, e, e === a ? null : q(e)));
|
|
236
243
|
}
|
|
237
|
-
let
|
|
238
|
-
if (!
|
|
244
|
+
let te = (() => {
|
|
245
|
+
if (!j || J === null || !P.trim()) return null;
|
|
239
246
|
try {
|
|
240
|
-
return
|
|
247
|
+
return S(p(P, k), J, k, a);
|
|
241
248
|
} catch {
|
|
242
249
|
return null;
|
|
243
250
|
}
|
|
@@ -248,50 +255,52 @@ function A({ value: t, onChange: n, currency: r, locale: i, allowNegative: a = !
|
|
|
248
255
|
inputMode: "decimal",
|
|
249
256
|
autoComplete: "off",
|
|
250
257
|
spellCheck: !1,
|
|
251
|
-
value:
|
|
252
|
-
"aria-invalid":
|
|
253
|
-
"aria-describedby": e(
|
|
258
|
+
value: P,
|
|
259
|
+
"aria-invalid": L ? !0 : void 0,
|
|
260
|
+
"aria-describedby": e(L ? G : (j || !!z) && K) || void 0,
|
|
254
261
|
onChange: (e) => {
|
|
255
|
-
|
|
262
|
+
I(e.target.value), B(null), h && (W(!0), Z(e.target.value, k, J));
|
|
256
263
|
},
|
|
257
|
-
onFocus: () =>
|
|
264
|
+
onFocus: () => H(!0),
|
|
258
265
|
onBlur: () => {
|
|
259
|
-
|
|
266
|
+
H(!1), h ? $() : Q();
|
|
260
267
|
},
|
|
261
268
|
onKeyDown: (e) => {
|
|
262
|
-
e.key === "Enter" ? (e.preventDefault(),
|
|
269
|
+
e.key === "Enter" ? (e.preventDefault(), h ? $() : Q()) : e.key === "Escape" && (e.preventDefault(), A(a), I(N(b)), R(null), g?.());
|
|
263
270
|
}
|
|
264
271
|
},
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
272
|
+
value: b,
|
|
273
|
+
reset: E,
|
|
274
|
+
symbol: l(k, v),
|
|
275
|
+
error: L,
|
|
276
|
+
errorId: G,
|
|
277
|
+
hintId: K,
|
|
278
|
+
text: P,
|
|
279
|
+
setText: I,
|
|
280
|
+
commit: Q,
|
|
281
|
+
formatted: b === null ? "" : d(b, a, v),
|
|
282
|
+
conversion: _ ? {
|
|
283
|
+
home: a,
|
|
284
|
+
locale: v,
|
|
285
|
+
currency: k,
|
|
286
|
+
foreign: j,
|
|
287
|
+
choices: _.currencies.filter((e) => e !== a && (!M.table || e === M.table.base || e in M.table.rates)),
|
|
288
|
+
pick: ee,
|
|
289
|
+
status: M.status,
|
|
290
|
+
rate: J,
|
|
291
|
+
date: M.table?.date ?? null,
|
|
292
|
+
source: _.source,
|
|
293
|
+
preview: te,
|
|
294
|
+
converted: z
|
|
286
295
|
} : null
|
|
287
296
|
};
|
|
288
297
|
}
|
|
289
|
-
function
|
|
290
|
-
let [n, r] =
|
|
298
|
+
function F(e, t) {
|
|
299
|
+
let [n, r] = D({
|
|
291
300
|
table: null,
|
|
292
301
|
status: "idle"
|
|
293
|
-
}), i =
|
|
294
|
-
return i.current = e,
|
|
302
|
+
}), i = E(e);
|
|
303
|
+
return i.current = e, w(() => {
|
|
295
304
|
let e = i.current;
|
|
296
305
|
if (!e || !t || n.status === "ready" || n.status === "loading") return;
|
|
297
306
|
let a = (e) => r(e ? {
|
|
@@ -313,10 +322,10 @@ function j(e, t) {
|
|
|
313
322
|
}), o.then(a, () => a(null))) : a(o);
|
|
314
323
|
}, [t]), n;
|
|
315
324
|
}
|
|
316
|
-
var
|
|
325
|
+
var I = (e) => e >= 100 ? e.toFixed(2) : e >= 1 ? e.toFixed(4) : e.toPrecision(4), L = (e, t) => new Intl.DateTimeFormat(t, {
|
|
317
326
|
day: "numeric",
|
|
318
327
|
month: "short",
|
|
319
328
|
timeZone: "UTC"
|
|
320
329
|
}).format(/* @__PURE__ */ new Date(`${e}T00:00:00Z`));
|
|
321
330
|
//#endregion
|
|
322
|
-
export {
|
|
331
|
+
export { N as MoneyConversionHint, M as MoneyCurrencyMenu, j as default, P as useMoneyInput };
|