@axenstudio/axen-form 0.1.10 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +783 -270
- package/dist/core/dateUtils.cjs +7 -3
- package/dist/core/dateUtils.d.ts +1 -1
- package/dist/core/dateUtils.d.ts.map +1 -1
- package/dist/core/dateUtils.js +7 -3
- package/dist/core/validation.cjs +4 -1
- package/dist/core/validation.d.ts.map +1 -1
- package/dist/core/validation.js +4 -1
- package/dist/fields/AutocompleteField/AutocompleteField.cjs +32 -32
- package/dist/fields/AutocompleteField/AutocompleteField.js +32 -32
- package/dist/fields/AutocompleteField/AutocompleteField.module.css.cjs +34 -13
- package/dist/fields/AutocompleteField/AutocompleteField.module.css.js +34 -13
- package/dist/fields/AutocompleteMultiField/AutocompleteMultiField.cjs +90 -88
- package/dist/fields/AutocompleteMultiField/AutocompleteMultiField.d.ts.map +1 -1
- package/dist/fields/AutocompleteMultiField/AutocompleteMultiField.js +90 -88
- package/dist/fields/AutocompletePredictField/AutocompletePredictField.cjs +81 -64
- package/dist/fields/AutocompletePredictField/AutocompletePredictField.d.ts.map +1 -1
- package/dist/fields/AutocompletePredictField/AutocompletePredictField.js +81 -64
- package/dist/fields/CheckboxField/CheckboxField.module.css.cjs +12 -0
- package/dist/fields/CheckboxField/CheckboxField.module.css.js +12 -0
- package/dist/fields/ColorField/ColorField.module.css.cjs +12 -0
- package/dist/fields/ColorField/ColorField.module.css.js +12 -0
- package/dist/fields/DateField/DateField.cjs +56 -4
- package/dist/fields/DateField/DateField.d.ts +1 -1
- package/dist/fields/DateField/DateField.d.ts.map +1 -1
- package/dist/fields/DateField/DateField.js +56 -4
- package/dist/fields/DateField/DatePicker.cjs +194 -0
- package/dist/fields/DateField/DatePicker.d.ts +11 -0
- package/dist/fields/DateField/DatePicker.d.ts.map +1 -0
- package/dist/fields/DateField/DatePicker.js +194 -0
- package/dist/fields/DateField/DatePicker.module.css.cjs +62 -0
- package/dist/fields/DateField/DatePicker.module.css.js +62 -0
- package/dist/fields/DateTimeField/DateTimeField.cjs +126 -8
- package/dist/fields/DateTimeField/DateTimeField.d.ts +2 -1
- package/dist/fields/DateTimeField/DateTimeField.d.ts.map +1 -1
- package/dist/fields/DateTimeField/DateTimeField.js +126 -8
- package/dist/fields/PasswordField/PasswordField.module.css.cjs +12 -0
- package/dist/fields/PasswordField/PasswordField.module.css.js +12 -0
- package/dist/fields/RadioField/RadioField.module.css.cjs +12 -0
- package/dist/fields/RadioField/RadioField.module.css.js +12 -0
- package/dist/fields/SelectField/SelectField.cjs +6 -1
- package/dist/fields/SelectField/SelectField.d.ts.map +1 -1
- package/dist/fields/SelectField/SelectField.js +6 -1
- package/dist/fields/SliderField/SliderField.module.css.cjs +15 -3
- package/dist/fields/SliderField/SliderField.module.css.js +15 -3
- package/dist/fields/SwitchField/SwitchField.module.css.cjs +12 -0
- package/dist/fields/SwitchField/SwitchField.module.css.js +12 -0
- package/dist/fields/TimeField/TimeField.cjs +60 -5
- package/dist/fields/TimeField/TimeField.d.ts +2 -1
- package/dist/fields/TimeField/TimeField.d.ts.map +1 -1
- package/dist/fields/TimeField/TimeField.js +60 -5
- package/dist/fields/TimeField/TimePicker.cjs +182 -0
- package/dist/fields/TimeField/TimePicker.d.ts +11 -0
- package/dist/fields/TimeField/TimePicker.d.ts.map +1 -0
- package/dist/fields/TimeField/TimePicker.js +182 -0
- package/dist/fields/TimeField/TimePicker.module.css.cjs +50 -0
- package/dist/fields/TimeField/TimePicker.module.css.js +50 -0
- package/dist/fields/defaultPlaceholders.cjs +1 -0
- package/dist/fields/defaultPlaceholders.d.ts.map +1 -1
- package/dist/fields/defaultPlaceholders.js +1 -0
- package/dist/fields/fieldBase.module.css.cjs +373 -18
- package/dist/fields/fieldBase.module.css.js +373 -18
- package/dist/fields/icons.cjs +2 -0
- package/dist/fields/icons.d.ts +4 -0
- package/dist/fields/icons.d.ts.map +1 -1
- package/dist/fields/icons.js +2 -0
- package/dist/index.cjs +230 -3
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +230 -3
- package/dist/layout/Box/Box.module.css.cjs +12 -0
- package/dist/layout/Box/Box.module.css.js +12 -0
- package/dist/layout/Divider/Divider.module.css.cjs +12 -0
- package/dist/layout/Divider/Divider.module.css.js +12 -0
- package/dist/layout/Grid/Grid.module.css.cjs +12 -0
- package/dist/layout/Grid/Grid.module.css.js +12 -0
- package/dist/layout/Stack/Stack.module.css.cjs +12 -0
- package/dist/layout/Stack/Stack.module.css.js +12 -0
- package/dist/react/AxenForm.cjs +228 -3
- package/dist/react/AxenForm.js +228 -3
- package/dist/react/fieldGroup.module.css.cjs +12 -0
- package/dist/react/fieldGroup.module.css.js +12 -0
- package/dist/react/gridCell.module.css.cjs +12 -0
- package/dist/react/gridCell.module.css.js +12 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -9
- package/dist/axen-form.css +0 -1057
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
"use strict";
|
|
3
|
+
try {
|
|
4
|
+
if (typeof document != "undefined") {
|
|
5
|
+
var elementStyle = document.createElement("style");
|
|
6
|
+
elementStyle.appendChild(document.createTextNode("/* ═══════════════════════════════════════════════\n axen-form Date Picker\n Custom calendar dropdown for DateField\n Styled to match TimePicker popup\n ═══════════════════════════════════════════════ */\n\n._overlay_1cdkj_7 {\n position: fixed;\n inset: 0;\n z-index: calc(var(--axen-z-dropdown, 100) - 1);\n}\n\n._picker_1cdkj_13 {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: var(--axen-z-dropdown, 100);\n margin-top: var(--axen-space-xs, 0.25rem);\n background: var(--axen-color-bg, #ffffff);\n border: var(--axen-border-width, 1px) solid var(--axen-color-border, #d0d5dd);\n border-radius: var(--axen-border-radius, 8px);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n padding: var(--axen-space-sm, 0.5rem);\n min-width: 280px;\n user-select: none;\n}\n\n/* ── Header: nav arrows + month/year ─────────── */\n._header_1cdkj_29 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-bottom: var(--axen-space-sm, 0.5rem);\n}\n\n._navBtn_1cdkj_36 {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: none;\n border-radius: var(--axen-border-radius-sm, 4px);\n background: transparent;\n color: var(--axen-color-text, #1a1a1a);\n font-size: var(--axen-font-size-lg, 1.125rem);\n cursor: pointer;\n padding: 0;\n}\n\n._navBtn_1cdkj_36:hover {\n background-color: var(--axen-color-bg-hover, #fafafa);\n}\n\n._navBtn_1cdkj_36:focus-visible {\n outline: var(--axen-focus-ring-width, 2px) solid var(--axen-focus-ring-color);\n outline-offset: -2px;\n}\n\n._headerTitle_1cdkj_60 {\n font-size: var(--axen-font-size-sm, 0.875rem);\n font-weight: var(--axen-font-weight-medium, 500);\n color: var(--axen-color-text, #1a1a1a);\n}\n\n/* ── Weekday headers ─────────────────────────── */\n._weekdays_1cdkj_67 {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 0;\n padding-bottom: var(--axen-space-xs, 0.25rem);\n}\n\n._weekday_1cdkj_67 {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 28px;\n font-size: var(--axen-font-size-xs, 0.75rem);\n font-weight: var(--axen-font-weight-medium, 500);\n color: var(--axen-color-text-secondary, #666666);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n}\n\n/* ── Calendar grid ───────────────────────────── */\n._grid_1cdkj_87 {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 2px;\n}\n\n/* ── Day cell ────────────────────────────────── */\n._day_1cdkj_94 {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border: none;\n border-radius: var(--axen-border-radius-sm, 4px);\n background: transparent;\n color: var(--axen-color-text, #1a1a1a);\n font-size: var(--axen-font-size-sm, 0.875rem);\n font-family: var(--axen-font-family);\n cursor: pointer;\n transition: background-color var(--axen-transition-fast, 150ms ease);\n padding: 0;\n margin: 0 auto;\n}\n\n._day_1cdkj_94:hover {\n background-color: var(--axen-color-bg-hover, #fafafa);\n}\n\n._day_1cdkj_94:focus-visible {\n outline: var(--axen-focus-ring-width, 2px) solid var(--axen-focus-ring-color);\n outline-offset: -2px;\n}\n\n._dayOutside_1cdkj_121 {\n color: var(--axen-color-text-disabled, #9e9e9e);\n}\n\n._dayToday_1cdkj_125 {\n border: var(--axen-border-width, 1px) solid var(--axen-color-border, #d0d5dd);\n}\n\n._daySelected_1cdkj_129 {\n background-color: var(--axen-color-primary, #1976d2);\n color: #ffffff;\n font-weight: var(--axen-font-weight-medium, 500);\n}\n\n._daySelected_1cdkj_129:hover {\n background-color: var(--axen-color-primary-hover, #1565c0);\n}\n\n._dayWeekend_1cdkj_139 {\n color: var(--axen-color-error, #d32f2f);\n}\n\n._dayWeekend_1cdkj_139._dayOutside_1cdkj_121 {\n color: rgba(211, 47, 47, 0.4);\n}\n\n._dayWeekend_1cdkj_139._daySelected_1cdkj_129 {\n color: #ffffff;\n}\n\n/* ── Footer actions ──────────────────────────── */\n._footer_1cdkj_152 {\n display: flex;\n justify-content: space-between;\n gap: var(--axen-space-sm, 0.5rem);\n padding-top: var(--axen-space-sm, 0.5rem);\n margin-top: var(--axen-space-sm, 0.5rem);\n border-top: var(--axen-border-width, 1px) solid var(--axen-color-border, #d0d5dd);\n}\n\n._footerBtn_1cdkj_161 {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 36px;\n border: var(--axen-border-width, 1px) solid var(--axen-color-border, #d0d5dd);\n border-radius: var(--axen-border-radius-sm, 4px);\n background: var(--axen-color-bg, #ffffff);\n color: var(--axen-color-text, #1a1a1a);\n font-size: var(--axen-font-size-sm, 0.875rem);\n font-family: var(--axen-font-family);\n cursor: pointer;\n transition:\n background-color var(--axen-transition-fast, 150ms ease),\n border-color var(--axen-transition-fast, 150ms ease);\n padding: 0 var(--axen-space-sm, 0.5rem);\n}\n\n._footerBtn_1cdkj_161:hover {\n background-color: var(--axen-color-bg-hover, #fafafa);\n border-color: var(--axen-color-border-hover, #888888);\n}\n\n._footerBtn_1cdkj_161:focus-visible {\n outline: var(--axen-focus-ring-width, 2px) solid var(--axen-focus-ring-color);\n outline-offset: -2px;\n}"));
|
|
7
|
+
document.head.appendChild(elementStyle);
|
|
8
|
+
}
|
|
9
|
+
} catch (e) {
|
|
10
|
+
console.error("vite-plugin-css-injected-by-js", e);
|
|
11
|
+
}
|
|
12
|
+
})();
|
|
13
|
+
"use strict";
|
|
14
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
15
|
+
const overlay = "_overlay_1cdkj_7";
|
|
16
|
+
const picker = "_picker_1cdkj_13";
|
|
17
|
+
const header = "_header_1cdkj_29";
|
|
18
|
+
const navBtn = "_navBtn_1cdkj_36";
|
|
19
|
+
const headerTitle = "_headerTitle_1cdkj_60";
|
|
20
|
+
const weekdays = "_weekdays_1cdkj_67";
|
|
21
|
+
const weekday = "_weekday_1cdkj_67";
|
|
22
|
+
const grid = "_grid_1cdkj_87";
|
|
23
|
+
const day = "_day_1cdkj_94";
|
|
24
|
+
const dayOutside = "_dayOutside_1cdkj_121";
|
|
25
|
+
const dayToday = "_dayToday_1cdkj_125";
|
|
26
|
+
const daySelected = "_daySelected_1cdkj_129";
|
|
27
|
+
const dayWeekend = "_dayWeekend_1cdkj_139";
|
|
28
|
+
const footer = "_footer_1cdkj_152";
|
|
29
|
+
const footerBtn = "_footerBtn_1cdkj_161";
|
|
30
|
+
const s = {
|
|
31
|
+
overlay,
|
|
32
|
+
picker,
|
|
33
|
+
header,
|
|
34
|
+
navBtn,
|
|
35
|
+
headerTitle,
|
|
36
|
+
weekdays,
|
|
37
|
+
weekday,
|
|
38
|
+
grid,
|
|
39
|
+
day,
|
|
40
|
+
dayOutside,
|
|
41
|
+
dayToday,
|
|
42
|
+
daySelected,
|
|
43
|
+
dayWeekend,
|
|
44
|
+
footer,
|
|
45
|
+
footerBtn
|
|
46
|
+
};
|
|
47
|
+
exports.day = day;
|
|
48
|
+
exports.dayOutside = dayOutside;
|
|
49
|
+
exports.daySelected = daySelected;
|
|
50
|
+
exports.dayToday = dayToday;
|
|
51
|
+
exports.dayWeekend = dayWeekend;
|
|
52
|
+
exports.default = s;
|
|
53
|
+
exports.footer = footer;
|
|
54
|
+
exports.footerBtn = footerBtn;
|
|
55
|
+
exports.grid = grid;
|
|
56
|
+
exports.header = header;
|
|
57
|
+
exports.headerTitle = headerTitle;
|
|
58
|
+
exports.navBtn = navBtn;
|
|
59
|
+
exports.overlay = overlay;
|
|
60
|
+
exports.picker = picker;
|
|
61
|
+
exports.weekday = weekday;
|
|
62
|
+
exports.weekdays = weekdays;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
"use strict";
|
|
3
|
+
try {
|
|
4
|
+
if (typeof document != "undefined") {
|
|
5
|
+
var elementStyle = document.createElement("style");
|
|
6
|
+
elementStyle.appendChild(document.createTextNode("/* ═══════════════════════════════════════════════\n axen-form Date Picker\n Custom calendar dropdown for DateField\n Styled to match TimePicker popup\n ═══════════════════════════════════════════════ */\n\n._overlay_1cdkj_7 {\n position: fixed;\n inset: 0;\n z-index: calc(var(--axen-z-dropdown, 100) - 1);\n}\n\n._picker_1cdkj_13 {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: var(--axen-z-dropdown, 100);\n margin-top: var(--axen-space-xs, 0.25rem);\n background: var(--axen-color-bg, #ffffff);\n border: var(--axen-border-width, 1px) solid var(--axen-color-border, #d0d5dd);\n border-radius: var(--axen-border-radius, 8px);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n padding: var(--axen-space-sm, 0.5rem);\n min-width: 280px;\n user-select: none;\n}\n\n/* ── Header: nav arrows + month/year ─────────── */\n._header_1cdkj_29 {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-bottom: var(--axen-space-sm, 0.5rem);\n}\n\n._navBtn_1cdkj_36 {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 32px;\n height: 32px;\n border: none;\n border-radius: var(--axen-border-radius-sm, 4px);\n background: transparent;\n color: var(--axen-color-text, #1a1a1a);\n font-size: var(--axen-font-size-lg, 1.125rem);\n cursor: pointer;\n padding: 0;\n}\n\n._navBtn_1cdkj_36:hover {\n background-color: var(--axen-color-bg-hover, #fafafa);\n}\n\n._navBtn_1cdkj_36:focus-visible {\n outline: var(--axen-focus-ring-width, 2px) solid var(--axen-focus-ring-color);\n outline-offset: -2px;\n}\n\n._headerTitle_1cdkj_60 {\n font-size: var(--axen-font-size-sm, 0.875rem);\n font-weight: var(--axen-font-weight-medium, 500);\n color: var(--axen-color-text, #1a1a1a);\n}\n\n/* ── Weekday headers ─────────────────────────── */\n._weekdays_1cdkj_67 {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 0;\n padding-bottom: var(--axen-space-xs, 0.25rem);\n}\n\n._weekday_1cdkj_67 {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 28px;\n font-size: var(--axen-font-size-xs, 0.75rem);\n font-weight: var(--axen-font-weight-medium, 500);\n color: var(--axen-color-text-secondary, #666666);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n}\n\n/* ── Calendar grid ───────────────────────────── */\n._grid_1cdkj_87 {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 2px;\n}\n\n/* ── Day cell ────────────────────────────────── */\n._day_1cdkj_94 {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 36px;\n height: 36px;\n border: none;\n border-radius: var(--axen-border-radius-sm, 4px);\n background: transparent;\n color: var(--axen-color-text, #1a1a1a);\n font-size: var(--axen-font-size-sm, 0.875rem);\n font-family: var(--axen-font-family);\n cursor: pointer;\n transition: background-color var(--axen-transition-fast, 150ms ease);\n padding: 0;\n margin: 0 auto;\n}\n\n._day_1cdkj_94:hover {\n background-color: var(--axen-color-bg-hover, #fafafa);\n}\n\n._day_1cdkj_94:focus-visible {\n outline: var(--axen-focus-ring-width, 2px) solid var(--axen-focus-ring-color);\n outline-offset: -2px;\n}\n\n._dayOutside_1cdkj_121 {\n color: var(--axen-color-text-disabled, #9e9e9e);\n}\n\n._dayToday_1cdkj_125 {\n border: var(--axen-border-width, 1px) solid var(--axen-color-border, #d0d5dd);\n}\n\n._daySelected_1cdkj_129 {\n background-color: var(--axen-color-primary, #1976d2);\n color: #ffffff;\n font-weight: var(--axen-font-weight-medium, 500);\n}\n\n._daySelected_1cdkj_129:hover {\n background-color: var(--axen-color-primary-hover, #1565c0);\n}\n\n._dayWeekend_1cdkj_139 {\n color: var(--axen-color-error, #d32f2f);\n}\n\n._dayWeekend_1cdkj_139._dayOutside_1cdkj_121 {\n color: rgba(211, 47, 47, 0.4);\n}\n\n._dayWeekend_1cdkj_139._daySelected_1cdkj_129 {\n color: #ffffff;\n}\n\n/* ── Footer actions ──────────────────────────── */\n._footer_1cdkj_152 {\n display: flex;\n justify-content: space-between;\n gap: var(--axen-space-sm, 0.5rem);\n padding-top: var(--axen-space-sm, 0.5rem);\n margin-top: var(--axen-space-sm, 0.5rem);\n border-top: var(--axen-border-width, 1px) solid var(--axen-color-border, #d0d5dd);\n}\n\n._footerBtn_1cdkj_161 {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 36px;\n border: var(--axen-border-width, 1px) solid var(--axen-color-border, #d0d5dd);\n border-radius: var(--axen-border-radius-sm, 4px);\n background: var(--axen-color-bg, #ffffff);\n color: var(--axen-color-text, #1a1a1a);\n font-size: var(--axen-font-size-sm, 0.875rem);\n font-family: var(--axen-font-family);\n cursor: pointer;\n transition:\n background-color var(--axen-transition-fast, 150ms ease),\n border-color var(--axen-transition-fast, 150ms ease);\n padding: 0 var(--axen-space-sm, 0.5rem);\n}\n\n._footerBtn_1cdkj_161:hover {\n background-color: var(--axen-color-bg-hover, #fafafa);\n border-color: var(--axen-color-border-hover, #888888);\n}\n\n._footerBtn_1cdkj_161:focus-visible {\n outline: var(--axen-focus-ring-width, 2px) solid var(--axen-focus-ring-color);\n outline-offset: -2px;\n}"));
|
|
7
|
+
document.head.appendChild(elementStyle);
|
|
8
|
+
}
|
|
9
|
+
} catch (e) {
|
|
10
|
+
console.error("vite-plugin-css-injected-by-js", e);
|
|
11
|
+
}
|
|
12
|
+
})();
|
|
13
|
+
const overlay = "_overlay_1cdkj_7";
|
|
14
|
+
const picker = "_picker_1cdkj_13";
|
|
15
|
+
const header = "_header_1cdkj_29";
|
|
16
|
+
const navBtn = "_navBtn_1cdkj_36";
|
|
17
|
+
const headerTitle = "_headerTitle_1cdkj_60";
|
|
18
|
+
const weekdays = "_weekdays_1cdkj_67";
|
|
19
|
+
const weekday = "_weekday_1cdkj_67";
|
|
20
|
+
const grid = "_grid_1cdkj_87";
|
|
21
|
+
const day = "_day_1cdkj_94";
|
|
22
|
+
const dayOutside = "_dayOutside_1cdkj_121";
|
|
23
|
+
const dayToday = "_dayToday_1cdkj_125";
|
|
24
|
+
const daySelected = "_daySelected_1cdkj_129";
|
|
25
|
+
const dayWeekend = "_dayWeekend_1cdkj_139";
|
|
26
|
+
const footer = "_footer_1cdkj_152";
|
|
27
|
+
const footerBtn = "_footerBtn_1cdkj_161";
|
|
28
|
+
const s = {
|
|
29
|
+
overlay,
|
|
30
|
+
picker,
|
|
31
|
+
header,
|
|
32
|
+
navBtn,
|
|
33
|
+
headerTitle,
|
|
34
|
+
weekdays,
|
|
35
|
+
weekday,
|
|
36
|
+
grid,
|
|
37
|
+
day,
|
|
38
|
+
dayOutside,
|
|
39
|
+
dayToday,
|
|
40
|
+
daySelected,
|
|
41
|
+
dayWeekend,
|
|
42
|
+
footer,
|
|
43
|
+
footerBtn
|
|
44
|
+
};
|
|
45
|
+
export {
|
|
46
|
+
day,
|
|
47
|
+
dayOutside,
|
|
48
|
+
daySelected,
|
|
49
|
+
dayToday,
|
|
50
|
+
dayWeekend,
|
|
51
|
+
s as default,
|
|
52
|
+
footer,
|
|
53
|
+
footerBtn,
|
|
54
|
+
grid,
|
|
55
|
+
header,
|
|
56
|
+
headerTitle,
|
|
57
|
+
navBtn,
|
|
58
|
+
overlay,
|
|
59
|
+
picker,
|
|
60
|
+
weekday,
|
|
61
|
+
weekdays
|
|
62
|
+
};
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
|
+
const react = require("react");
|
|
4
5
|
const dateUtils = require("../../core/dateUtils.cjs");
|
|
6
|
+
const DatePicker = require("../DateField/DatePicker.cjs");
|
|
5
7
|
const fieldBase_module = require("../fieldBase.module.css.cjs");
|
|
6
8
|
const fieldUtils = require("../fieldUtils.cjs");
|
|
9
|
+
const icons = require("../icons.cjs");
|
|
7
10
|
const iconUtils = require("../iconUtils.cjs");
|
|
11
|
+
const TimePicker = require("../TimeField/TimePicker.cjs");
|
|
8
12
|
function DateTimeField({
|
|
9
13
|
name,
|
|
10
14
|
value,
|
|
@@ -21,16 +25,80 @@ function DateTimeField({
|
|
|
21
25
|
max,
|
|
22
26
|
locale,
|
|
23
27
|
ampm,
|
|
24
|
-
icon
|
|
28
|
+
icon,
|
|
29
|
+
form,
|
|
30
|
+
showSeconds
|
|
25
31
|
}) {
|
|
32
|
+
const [isDateOpen, setIsDateOpen] = react.useState(false);
|
|
33
|
+
const [isTimeOpen, setIsTimeOpen] = react.useState(false);
|
|
34
|
+
const wrapperRef = react.useRef(null);
|
|
26
35
|
const aria = fieldUtils.ariaProps(name, { error, helperText, required, label });
|
|
27
36
|
const resolvedLocale = locale ?? dateUtils.getDefaultLocale();
|
|
28
37
|
const resolvedIcon = iconUtils.resolveFieldIcon(icon, "datetime");
|
|
38
|
+
const resolvedShowSeconds = showSeconds === true;
|
|
29
39
|
const dtValue = typeof value === "string" ? value : "";
|
|
30
40
|
const displayText = dtValue ? dateUtils.formatDateTimeLocale(dtValue, resolvedLocale, ampm) : "";
|
|
31
41
|
const handleChange = (e) => {
|
|
32
42
|
onChange(e);
|
|
33
43
|
};
|
|
44
|
+
const openDatePicker = react.useCallback(() => {
|
|
45
|
+
if (!disabled && !readOnly) {
|
|
46
|
+
setIsTimeOpen(false);
|
|
47
|
+
setIsDateOpen(true);
|
|
48
|
+
}
|
|
49
|
+
}, [disabled, readOnly]);
|
|
50
|
+
const openTimePicker = react.useCallback(() => {
|
|
51
|
+
if (!disabled && !readOnly) {
|
|
52
|
+
setIsDateOpen(false);
|
|
53
|
+
setIsTimeOpen(true);
|
|
54
|
+
}
|
|
55
|
+
}, [disabled, readOnly]);
|
|
56
|
+
const handleDateApply = react.useCallback(
|
|
57
|
+
(isoDate) => {
|
|
58
|
+
const timePart = dtValue.includes("T") ? dtValue.split("T")[1] ?? "" : "";
|
|
59
|
+
if (isoDate === "") {
|
|
60
|
+
form.setFieldValue(name, "");
|
|
61
|
+
} else {
|
|
62
|
+
const newValue = timePart ? `${isoDate}T${timePart}` : `${isoDate}T00:00`;
|
|
63
|
+
form.setFieldValue(name, newValue);
|
|
64
|
+
}
|
|
65
|
+
setIsDateOpen(false);
|
|
66
|
+
},
|
|
67
|
+
[form, name, dtValue]
|
|
68
|
+
);
|
|
69
|
+
const handleTimeApply = react.useCallback(
|
|
70
|
+
(isoTime) => {
|
|
71
|
+
const datePart = dtValue.includes("T") ? dtValue.split("T")[0] : "";
|
|
72
|
+
const fallbackDate = (/* @__PURE__ */ new Date()).toISOString().split("T")[0];
|
|
73
|
+
const newValue = `${datePart || fallbackDate}T${isoTime}`;
|
|
74
|
+
form.setFieldValue(name, newValue);
|
|
75
|
+
setIsTimeOpen(false);
|
|
76
|
+
},
|
|
77
|
+
[form, name, dtValue]
|
|
78
|
+
);
|
|
79
|
+
const handleDateClose = react.useCallback(() => {
|
|
80
|
+
setIsDateOpen(false);
|
|
81
|
+
}, []);
|
|
82
|
+
const handleTimeClose = react.useCallback(() => {
|
|
83
|
+
setIsTimeOpen(false);
|
|
84
|
+
}, []);
|
|
85
|
+
const handleBlur = react.useCallback(
|
|
86
|
+
(e) => {
|
|
87
|
+
setTimeout(() => {
|
|
88
|
+
var _a;
|
|
89
|
+
if (!((_a = wrapperRef.current) == null ? void 0 : _a.contains(document.activeElement))) {
|
|
90
|
+
setIsDateOpen(false);
|
|
91
|
+
setIsTimeOpen(false);
|
|
92
|
+
onBlur(e);
|
|
93
|
+
}
|
|
94
|
+
}, 150);
|
|
95
|
+
},
|
|
96
|
+
[onBlur]
|
|
97
|
+
);
|
|
98
|
+
const currentDate = dtValue.includes("T") ? dtValue.split("T")[0] ?? "" : "";
|
|
99
|
+
const currentTime = dtValue.includes("T") ? dtValue.split("T")[1] ?? "" : "";
|
|
100
|
+
const minDate = (min == null ? void 0 : min.includes("T")) ? min.split("T")[0] : min;
|
|
101
|
+
const maxDate = (max == null ? void 0 : max.includes("T")) ? max.split("T")[0] : max;
|
|
34
102
|
const inputEl = /* @__PURE__ */ jsxRuntime.jsx(
|
|
35
103
|
"input",
|
|
36
104
|
{
|
|
@@ -39,17 +107,22 @@ function DateTimeField({
|
|
|
39
107
|
name,
|
|
40
108
|
value: dtValue,
|
|
41
109
|
onChange: handleChange,
|
|
42
|
-
onBlur,
|
|
110
|
+
onBlur: handleBlur,
|
|
43
111
|
placeholder,
|
|
44
112
|
disabled,
|
|
45
113
|
readOnly,
|
|
46
114
|
min,
|
|
47
115
|
max,
|
|
48
116
|
lang: resolvedLocale,
|
|
49
|
-
className: fieldUtils.cx(
|
|
117
|
+
className: fieldUtils.cx(
|
|
118
|
+
fieldBase_module.default.input,
|
|
119
|
+
resolvedIcon && fieldBase_module.default.inputWithIcon,
|
|
120
|
+
fieldBase_module.default.inputWithPicker,
|
|
121
|
+
error && fieldBase_module.default.inputError
|
|
122
|
+
)
|
|
50
123
|
}
|
|
51
124
|
);
|
|
52
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: fieldBase_module.default.wrapper, children: [
|
|
125
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: fieldBase_module.default.wrapper, ref: wrapperRef, style: { position: "relative" }, children: [
|
|
53
126
|
label && /* @__PURE__ */ jsxRuntime.jsx(
|
|
54
127
|
"label",
|
|
55
128
|
{
|
|
@@ -59,10 +132,55 @@ function DateTimeField({
|
|
|
59
132
|
children: label
|
|
60
133
|
}
|
|
61
134
|
),
|
|
62
|
-
|
|
63
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
64
|
-
|
|
65
|
-
|
|
135
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: fieldBase_module.default.inputIconWrapper, children: [
|
|
136
|
+
resolvedIcon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
137
|
+
"button",
|
|
138
|
+
{
|
|
139
|
+
type: "button",
|
|
140
|
+
className: fieldBase_module.default.fieldIconClickable,
|
|
141
|
+
onClick: openDatePicker,
|
|
142
|
+
disabled: disabled || readOnly,
|
|
143
|
+
"aria-label": "Open date picker",
|
|
144
|
+
tabIndex: -1,
|
|
145
|
+
children: resolvedIcon
|
|
146
|
+
}
|
|
147
|
+
),
|
|
148
|
+
inputEl,
|
|
149
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
150
|
+
"button",
|
|
151
|
+
{
|
|
152
|
+
type: "button",
|
|
153
|
+
className: fieldBase_module.default.pickerTrigger,
|
|
154
|
+
onClick: openTimePicker,
|
|
155
|
+
disabled: disabled || readOnly,
|
|
156
|
+
"aria-label": "Open time picker",
|
|
157
|
+
tabIndex: -1,
|
|
158
|
+
children: icons.ClockIcon
|
|
159
|
+
}
|
|
160
|
+
)
|
|
161
|
+
] }),
|
|
162
|
+
isDateOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
163
|
+
DatePicker.DatePicker,
|
|
164
|
+
{
|
|
165
|
+
value: currentDate,
|
|
166
|
+
min: minDate,
|
|
167
|
+
max: maxDate,
|
|
168
|
+
pickerId: `${name}-datepicker`,
|
|
169
|
+
onApply: handleDateApply,
|
|
170
|
+
onClose: handleDateClose
|
|
171
|
+
}
|
|
172
|
+
),
|
|
173
|
+
isTimeOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
174
|
+
TimePicker.TimePicker,
|
|
175
|
+
{
|
|
176
|
+
value: currentTime,
|
|
177
|
+
showSeconds: resolvedShowSeconds,
|
|
178
|
+
ampm: ampm === true,
|
|
179
|
+
pickerId: `${name}-timepicker`,
|
|
180
|
+
onApply: handleTimeApply,
|
|
181
|
+
onClose: handleTimeClose
|
|
182
|
+
}
|
|
183
|
+
),
|
|
66
184
|
displayText && /* @__PURE__ */ jsxRuntime.jsx("span", { className: fieldBase_module.default.helperText, "aria-hidden": "true", children: displayText }),
|
|
67
185
|
helperText && /* @__PURE__ */ jsxRuntime.jsx(
|
|
68
186
|
"span",
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { FieldComponentProps } from '../../types';
|
|
2
|
-
export declare function DateTimeField({ name, value, onChange, onBlur, error, helperText, label, placeholder, disabled, readOnly, required, min, max, locale, ampm, icon, }: Readonly<FieldComponentProps & {
|
|
2
|
+
export declare function DateTimeField({ name, value, onChange, onBlur, error, helperText, label, placeholder, disabled, readOnly, required, min, max, locale, ampm, icon, form, showSeconds, }: Readonly<FieldComponentProps & {
|
|
3
3
|
min?: string;
|
|
4
4
|
max?: string;
|
|
5
5
|
locale?: string;
|
|
6
6
|
ampm?: boolean;
|
|
7
|
+
showSeconds?: boolean;
|
|
7
8
|
}>): import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
//# sourceMappingURL=DateTimeField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeField.d.ts","sourceRoot":"","sources":["../../../src/fields/DateTimeField/DateTimeField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"DateTimeField.d.ts","sourceRoot":"","sources":["../../../src/fields/DateTimeField/DateTimeField.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQvD,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,UAAU,EACV,KAAK,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,GAAG,EACH,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,WAAW,GACZ,EAAE,QAAQ,CACT,mBAAmB,GAAG;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CACF,2CAyLA"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useRef, useCallback } from "react";
|
|
2
3
|
import { formatDateTimeLocale, getDefaultLocale } from "../../core/dateUtils.js";
|
|
4
|
+
import { DatePicker } from "../DateField/DatePicker.js";
|
|
3
5
|
import styles from "../fieldBase.module.css.js";
|
|
4
6
|
import { ariaProps, cx, labelId, helperId } from "../fieldUtils.js";
|
|
7
|
+
import { ClockIcon } from "../icons.js";
|
|
5
8
|
import { resolveFieldIcon } from "../iconUtils.js";
|
|
9
|
+
import { TimePicker } from "../TimeField/TimePicker.js";
|
|
6
10
|
function DateTimeField({
|
|
7
11
|
name,
|
|
8
12
|
value,
|
|
@@ -19,16 +23,80 @@ function DateTimeField({
|
|
|
19
23
|
max,
|
|
20
24
|
locale,
|
|
21
25
|
ampm,
|
|
22
|
-
icon
|
|
26
|
+
icon,
|
|
27
|
+
form,
|
|
28
|
+
showSeconds
|
|
23
29
|
}) {
|
|
30
|
+
const [isDateOpen, setIsDateOpen] = useState(false);
|
|
31
|
+
const [isTimeOpen, setIsTimeOpen] = useState(false);
|
|
32
|
+
const wrapperRef = useRef(null);
|
|
24
33
|
const aria = ariaProps(name, { error, helperText, required, label });
|
|
25
34
|
const resolvedLocale = locale ?? getDefaultLocale();
|
|
26
35
|
const resolvedIcon = resolveFieldIcon(icon, "datetime");
|
|
36
|
+
const resolvedShowSeconds = showSeconds === true;
|
|
27
37
|
const dtValue = typeof value === "string" ? value : "";
|
|
28
38
|
const displayText = dtValue ? formatDateTimeLocale(dtValue, resolvedLocale, ampm) : "";
|
|
29
39
|
const handleChange = (e) => {
|
|
30
40
|
onChange(e);
|
|
31
41
|
};
|
|
42
|
+
const openDatePicker = useCallback(() => {
|
|
43
|
+
if (!disabled && !readOnly) {
|
|
44
|
+
setIsTimeOpen(false);
|
|
45
|
+
setIsDateOpen(true);
|
|
46
|
+
}
|
|
47
|
+
}, [disabled, readOnly]);
|
|
48
|
+
const openTimePicker = useCallback(() => {
|
|
49
|
+
if (!disabled && !readOnly) {
|
|
50
|
+
setIsDateOpen(false);
|
|
51
|
+
setIsTimeOpen(true);
|
|
52
|
+
}
|
|
53
|
+
}, [disabled, readOnly]);
|
|
54
|
+
const handleDateApply = useCallback(
|
|
55
|
+
(isoDate) => {
|
|
56
|
+
const timePart = dtValue.includes("T") ? dtValue.split("T")[1] ?? "" : "";
|
|
57
|
+
if (isoDate === "") {
|
|
58
|
+
form.setFieldValue(name, "");
|
|
59
|
+
} else {
|
|
60
|
+
const newValue = timePart ? `${isoDate}T${timePart}` : `${isoDate}T00:00`;
|
|
61
|
+
form.setFieldValue(name, newValue);
|
|
62
|
+
}
|
|
63
|
+
setIsDateOpen(false);
|
|
64
|
+
},
|
|
65
|
+
[form, name, dtValue]
|
|
66
|
+
);
|
|
67
|
+
const handleTimeApply = useCallback(
|
|
68
|
+
(isoTime) => {
|
|
69
|
+
const datePart = dtValue.includes("T") ? dtValue.split("T")[0] : "";
|
|
70
|
+
const fallbackDate = (/* @__PURE__ */ new Date()).toISOString().split("T")[0];
|
|
71
|
+
const newValue = `${datePart || fallbackDate}T${isoTime}`;
|
|
72
|
+
form.setFieldValue(name, newValue);
|
|
73
|
+
setIsTimeOpen(false);
|
|
74
|
+
},
|
|
75
|
+
[form, name, dtValue]
|
|
76
|
+
);
|
|
77
|
+
const handleDateClose = useCallback(() => {
|
|
78
|
+
setIsDateOpen(false);
|
|
79
|
+
}, []);
|
|
80
|
+
const handleTimeClose = useCallback(() => {
|
|
81
|
+
setIsTimeOpen(false);
|
|
82
|
+
}, []);
|
|
83
|
+
const handleBlur = useCallback(
|
|
84
|
+
(e) => {
|
|
85
|
+
setTimeout(() => {
|
|
86
|
+
var _a;
|
|
87
|
+
if (!((_a = wrapperRef.current) == null ? void 0 : _a.contains(document.activeElement))) {
|
|
88
|
+
setIsDateOpen(false);
|
|
89
|
+
setIsTimeOpen(false);
|
|
90
|
+
onBlur(e);
|
|
91
|
+
}
|
|
92
|
+
}, 150);
|
|
93
|
+
},
|
|
94
|
+
[onBlur]
|
|
95
|
+
);
|
|
96
|
+
const currentDate = dtValue.includes("T") ? dtValue.split("T")[0] ?? "" : "";
|
|
97
|
+
const currentTime = dtValue.includes("T") ? dtValue.split("T")[1] ?? "" : "";
|
|
98
|
+
const minDate = (min == null ? void 0 : min.includes("T")) ? min.split("T")[0] : min;
|
|
99
|
+
const maxDate = (max == null ? void 0 : max.includes("T")) ? max.split("T")[0] : max;
|
|
32
100
|
const inputEl = /* @__PURE__ */ jsx(
|
|
33
101
|
"input",
|
|
34
102
|
{
|
|
@@ -37,17 +105,22 @@ function DateTimeField({
|
|
|
37
105
|
name,
|
|
38
106
|
value: dtValue,
|
|
39
107
|
onChange: handleChange,
|
|
40
|
-
onBlur,
|
|
108
|
+
onBlur: handleBlur,
|
|
41
109
|
placeholder,
|
|
42
110
|
disabled,
|
|
43
111
|
readOnly,
|
|
44
112
|
min,
|
|
45
113
|
max,
|
|
46
114
|
lang: resolvedLocale,
|
|
47
|
-
className: cx(
|
|
115
|
+
className: cx(
|
|
116
|
+
styles.input,
|
|
117
|
+
resolvedIcon && styles.inputWithIcon,
|
|
118
|
+
styles.inputWithPicker,
|
|
119
|
+
error && styles.inputError
|
|
120
|
+
)
|
|
48
121
|
}
|
|
49
122
|
);
|
|
50
|
-
return /* @__PURE__ */ jsxs("div", { className: styles.wrapper, children: [
|
|
123
|
+
return /* @__PURE__ */ jsxs("div", { className: styles.wrapper, ref: wrapperRef, style: { position: "relative" }, children: [
|
|
51
124
|
label && /* @__PURE__ */ jsx(
|
|
52
125
|
"label",
|
|
53
126
|
{
|
|
@@ -57,10 +130,55 @@ function DateTimeField({
|
|
|
57
130
|
children: label
|
|
58
131
|
}
|
|
59
132
|
),
|
|
60
|
-
|
|
61
|
-
/* @__PURE__ */ jsx(
|
|
62
|
-
|
|
63
|
-
|
|
133
|
+
/* @__PURE__ */ jsxs("div", { className: styles.inputIconWrapper, children: [
|
|
134
|
+
resolvedIcon && /* @__PURE__ */ jsx(
|
|
135
|
+
"button",
|
|
136
|
+
{
|
|
137
|
+
type: "button",
|
|
138
|
+
className: styles.fieldIconClickable,
|
|
139
|
+
onClick: openDatePicker,
|
|
140
|
+
disabled: disabled || readOnly,
|
|
141
|
+
"aria-label": "Open date picker",
|
|
142
|
+
tabIndex: -1,
|
|
143
|
+
children: resolvedIcon
|
|
144
|
+
}
|
|
145
|
+
),
|
|
146
|
+
inputEl,
|
|
147
|
+
/* @__PURE__ */ jsx(
|
|
148
|
+
"button",
|
|
149
|
+
{
|
|
150
|
+
type: "button",
|
|
151
|
+
className: styles.pickerTrigger,
|
|
152
|
+
onClick: openTimePicker,
|
|
153
|
+
disabled: disabled || readOnly,
|
|
154
|
+
"aria-label": "Open time picker",
|
|
155
|
+
tabIndex: -1,
|
|
156
|
+
children: ClockIcon
|
|
157
|
+
}
|
|
158
|
+
)
|
|
159
|
+
] }),
|
|
160
|
+
isDateOpen && /* @__PURE__ */ jsx(
|
|
161
|
+
DatePicker,
|
|
162
|
+
{
|
|
163
|
+
value: currentDate,
|
|
164
|
+
min: minDate,
|
|
165
|
+
max: maxDate,
|
|
166
|
+
pickerId: `${name}-datepicker`,
|
|
167
|
+
onApply: handleDateApply,
|
|
168
|
+
onClose: handleDateClose
|
|
169
|
+
}
|
|
170
|
+
),
|
|
171
|
+
isTimeOpen && /* @__PURE__ */ jsx(
|
|
172
|
+
TimePicker,
|
|
173
|
+
{
|
|
174
|
+
value: currentTime,
|
|
175
|
+
showSeconds: resolvedShowSeconds,
|
|
176
|
+
ampm: ampm === true,
|
|
177
|
+
pickerId: `${name}-timepicker`,
|
|
178
|
+
onApply: handleTimeApply,
|
|
179
|
+
onClose: handleTimeClose
|
|
180
|
+
}
|
|
181
|
+
),
|
|
64
182
|
displayText && /* @__PURE__ */ jsx("span", { className: styles.helperText, "aria-hidden": "true", children: displayText }),
|
|
65
183
|
helperText && /* @__PURE__ */ jsx(
|
|
66
184
|
"span",
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
"use strict";
|
|
3
|
+
try {
|
|
4
|
+
if (typeof document != "undefined") {
|
|
5
|
+
var elementStyle = document.createElement("style");
|
|
6
|
+
elementStyle.appendChild(document.createTextNode("._inputWrap_1nxa7_1 {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n._passwordInput_1nxa7_7 {\n padding-right: 2.5rem;\n}\n\n._toggle_1nxa7_11 {\n position: absolute;\n right: 0.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n color: var(--axen-color-text-secondary);\n font-size: var(--axen-font-size-lg);\n border-radius: var(--axen-border-radius-sm);\n transition: color var(--axen-transition-fast);\n}\n\n._toggle_1nxa7_11:hover:not(:disabled) {\n color: var(--axen-color-text);\n}\n\n._toggle_1nxa7_11:focus-visible {\n outline: var(--axen-focus-ring-width) solid var(--axen-focus-ring-color);\n outline-offset: var(--axen-focus-ring-offset);\n}\n\n._toggle_1nxa7_11:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}"));
|
|
7
|
+
document.head.appendChild(elementStyle);
|
|
8
|
+
}
|
|
9
|
+
} catch (e) {
|
|
10
|
+
console.error("vite-plugin-css-injected-by-js", e);
|
|
11
|
+
}
|
|
12
|
+
})();
|
|
1
13
|
"use strict";
|
|
2
14
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
15
|
const inputWrap = "_inputWrap_1nxa7_1";
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
"use strict";
|
|
3
|
+
try {
|
|
4
|
+
if (typeof document != "undefined") {
|
|
5
|
+
var elementStyle = document.createElement("style");
|
|
6
|
+
elementStyle.appendChild(document.createTextNode("._inputWrap_1nxa7_1 {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n._passwordInput_1nxa7_7 {\n padding-right: 2.5rem;\n}\n\n._toggle_1nxa7_11 {\n position: absolute;\n right: 0.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 2rem;\n height: 2rem;\n padding: 0;\n border: none;\n background: transparent;\n cursor: pointer;\n color: var(--axen-color-text-secondary);\n font-size: var(--axen-font-size-lg);\n border-radius: var(--axen-border-radius-sm);\n transition: color var(--axen-transition-fast);\n}\n\n._toggle_1nxa7_11:hover:not(:disabled) {\n color: var(--axen-color-text);\n}\n\n._toggle_1nxa7_11:focus-visible {\n outline: var(--axen-focus-ring-width) solid var(--axen-focus-ring-color);\n outline-offset: var(--axen-focus-ring-offset);\n}\n\n._toggle_1nxa7_11:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}"));
|
|
7
|
+
document.head.appendChild(elementStyle);
|
|
8
|
+
}
|
|
9
|
+
} catch (e) {
|
|
10
|
+
console.error("vite-plugin-css-injected-by-js", e);
|
|
11
|
+
}
|
|
12
|
+
})();
|
|
1
13
|
const inputWrap = "_inputWrap_1nxa7_1";
|
|
2
14
|
const passwordInput = "_passwordInput_1nxa7_7";
|
|
3
15
|
const toggle = "_toggle_1nxa7_11";
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
"use strict";
|
|
3
|
+
try {
|
|
4
|
+
if (typeof document != "undefined") {
|
|
5
|
+
var elementStyle = document.createElement("style");
|
|
6
|
+
elementStyle.appendChild(document.createTextNode("._radioGroup_1nz5i_1 {\n display: flex;\n flex-direction: column;\n gap: var(--axen-space-xs);\n}\n\n._radioLabel_1nz5i_7 {\n cursor: pointer;\n}\n\n._radio_1nz5i_1 {\n width: 20px;\n height: 20px;\n margin: 0;\n cursor: pointer;\n accent-color: var(--axen-color-primary);\n}\n\n._radio_1nz5i_1:focus-visible {\n outline: var(--axen-focus-ring-width) solid var(--axen-focus-ring-color);\n outline-offset: var(--axen-focus-ring-offset);\n}\n\n._radio_1nz5i_1:disabled {\n cursor: not-allowed;\n}\n\n/* Mobile: larger touch target */\n@media (max-width: 599px) {\n ._radio_1nz5i_1 {\n width: 24px;\n height: 24px;\n }\n}"));
|
|
7
|
+
document.head.appendChild(elementStyle);
|
|
8
|
+
}
|
|
9
|
+
} catch (e) {
|
|
10
|
+
console.error("vite-plugin-css-injected-by-js", e);
|
|
11
|
+
}
|
|
12
|
+
})();
|
|
1
13
|
"use strict";
|
|
2
14
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
15
|
const radioGroup = "_radioGroup_1nz5i_1";
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
"use strict";
|
|
3
|
+
try {
|
|
4
|
+
if (typeof document != "undefined") {
|
|
5
|
+
var elementStyle = document.createElement("style");
|
|
6
|
+
elementStyle.appendChild(document.createTextNode("._radioGroup_1nz5i_1 {\n display: flex;\n flex-direction: column;\n gap: var(--axen-space-xs);\n}\n\n._radioLabel_1nz5i_7 {\n cursor: pointer;\n}\n\n._radio_1nz5i_1 {\n width: 20px;\n height: 20px;\n margin: 0;\n cursor: pointer;\n accent-color: var(--axen-color-primary);\n}\n\n._radio_1nz5i_1:focus-visible {\n outline: var(--axen-focus-ring-width) solid var(--axen-focus-ring-color);\n outline-offset: var(--axen-focus-ring-offset);\n}\n\n._radio_1nz5i_1:disabled {\n cursor: not-allowed;\n}\n\n/* Mobile: larger touch target */\n@media (max-width: 599px) {\n ._radio_1nz5i_1 {\n width: 24px;\n height: 24px;\n }\n}"));
|
|
7
|
+
document.head.appendChild(elementStyle);
|
|
8
|
+
}
|
|
9
|
+
} catch (e) {
|
|
10
|
+
console.error("vite-plugin-css-injected-by-js", e);
|
|
11
|
+
}
|
|
12
|
+
})();
|
|
1
13
|
const radioGroup = "_radioGroup_1nz5i_1";
|
|
2
14
|
const radioLabel = "_radioLabel_1nz5i_7";
|
|
3
15
|
const radio = "_radio_1nz5i_1";
|
|
@@ -37,7 +37,12 @@ function SelectField({
|
|
|
37
37
|
onChange,
|
|
38
38
|
onBlur,
|
|
39
39
|
disabled: disabled || readOnly,
|
|
40
|
-
className: fieldUtils.cx(
|
|
40
|
+
className: fieldUtils.cx(
|
|
41
|
+
fieldBase_module.default.input,
|
|
42
|
+
fieldBase_module.default.select,
|
|
43
|
+
error && fieldBase_module.default.inputError,
|
|
44
|
+
!value && fieldBase_module.default.selectPlaceholder
|
|
45
|
+
),
|
|
41
46
|
children: [
|
|
42
47
|
placeholder && /* @__PURE__ */ jsxRuntime.jsx("option", { value: "", disabled: true, children: placeholder }),
|
|
43
48
|
options == null ? void 0 : options.map((opt) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: opt.value, disabled: opt.disabled, children: opt.label }, opt.value))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectField.d.ts","sourceRoot":"","sources":["../../../src/fields/SelectField/SelectField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIvD,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,UAAU,EACV,KAAK,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,EAAE,QAAQ,CAAC,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"SelectField.d.ts","sourceRoot":"","sources":["../../../src/fields/SelectField/SelectField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAIvD,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,EACL,UAAU,EACV,KAAK,EACL,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,GACR,EAAE,QAAQ,CAAC,mBAAmB,CAAC,2CAkD/B"}
|
|
@@ -35,7 +35,12 @@ function SelectField({
|
|
|
35
35
|
onChange,
|
|
36
36
|
onBlur,
|
|
37
37
|
disabled: disabled || readOnly,
|
|
38
|
-
className: cx(
|
|
38
|
+
className: cx(
|
|
39
|
+
styles.input,
|
|
40
|
+
styles.select,
|
|
41
|
+
error && styles.inputError,
|
|
42
|
+
!value && styles.selectPlaceholder
|
|
43
|
+
),
|
|
39
44
|
children: [
|
|
40
45
|
placeholder && /* @__PURE__ */ jsx("option", { value: "", disabled: true, children: placeholder }),
|
|
41
46
|
options == null ? void 0 : options.map((opt) => /* @__PURE__ */ jsx("option", { value: opt.value, disabled: opt.disabled, children: opt.label }, opt.value))
|
|
@@ -1,8 +1,20 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
"use strict";
|
|
3
|
+
try {
|
|
4
|
+
if (typeof document != "undefined") {
|
|
5
|
+
var elementStyle = document.createElement("style");
|
|
6
|
+
elementStyle.appendChild(document.createTextNode("._sliderWrap_1x3d4_1 {\n display: flex;\n align-items: center;\n gap: var(--axen-space-md);\n min-height: var(--axen-field-min-height);\n}\n\n._slider_1x3d4_1 {\n flex: 1;\n min-width: 0;\n width: 100%;\n height: 6px;\n appearance: none;\n background: var(--axen-color-border);\n border-radius: var(--axen-border-radius-pill);\n outline: none;\n cursor: pointer;\n transition: background var(--axen-transition-fast);\n}\n\n._slider_1x3d4_1::-webkit-slider-thumb {\n appearance: none;\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: var(--axen-color-primary);\n border: 2px solid var(--axen-color-bg);\n box-shadow: var(--axen-shadow-sm);\n cursor: pointer;\n transition:\n background var(--axen-transition-fast),\n transform var(--axen-transition-fast);\n}\n\n._slider_1x3d4_1::-webkit-slider-thumb:hover {\n background: var(--axen-color-primary-hover);\n transform: scale(1.15);\n}\n\n._slider_1x3d4_1:focus-visible::-webkit-slider-thumb {\n box-shadow: var(--axen-shadow-focus);\n}\n\n._slider_1x3d4_1::-moz-range-thumb {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: var(--axen-color-primary);\n border: 2px solid var(--axen-color-bg);\n box-shadow: var(--axen-shadow-sm);\n cursor: pointer;\n}\n\n._slider_1x3d4_1:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n._output_1x3d4_59 {\n min-width: 2.5em;\n text-align: center;\n font-size: var(--axen-font-size-sm);\n font-weight: var(--axen-font-weight-medium);\n color: var(--axen-color-text);\n}\n\n/* Touch target for mobile */\n@media (max-width: 599px) {\n ._slider_1x3d4_1::-webkit-slider-thumb {\n width: 28px;\n height: 28px;\n }\n\n ._slider_1x3d4_1::-moz-range-thumb {\n width: 28px;\n height: 28px;\n }\n}"));
|
|
7
|
+
document.head.appendChild(elementStyle);
|
|
8
|
+
}
|
|
9
|
+
} catch (e) {
|
|
10
|
+
console.error("vite-plugin-css-injected-by-js", e);
|
|
11
|
+
}
|
|
12
|
+
})();
|
|
1
13
|
"use strict";
|
|
2
14
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const sliderWrap = "
|
|
4
|
-
const slider = "
|
|
5
|
-
const output = "
|
|
15
|
+
const sliderWrap = "_sliderWrap_1x3d4_1";
|
|
16
|
+
const slider = "_slider_1x3d4_1";
|
|
17
|
+
const output = "_output_1x3d4_59";
|
|
6
18
|
const localStyles = {
|
|
7
19
|
sliderWrap,
|
|
8
20
|
slider,
|