@axenstudio/axen-form 0.1.10 → 0.1.11

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.
Files changed (85) hide show
  1. package/README.md +783 -270
  2. package/dist/core/dateUtils.cjs +7 -3
  3. package/dist/core/dateUtils.d.ts +1 -1
  4. package/dist/core/dateUtils.d.ts.map +1 -1
  5. package/dist/core/dateUtils.js +7 -3
  6. package/dist/core/validation.cjs +4 -1
  7. package/dist/core/validation.d.ts.map +1 -1
  8. package/dist/core/validation.js +4 -1
  9. package/dist/fields/AutocompleteField/AutocompleteField.cjs +32 -32
  10. package/dist/fields/AutocompleteField/AutocompleteField.js +32 -32
  11. package/dist/fields/AutocompleteField/AutocompleteField.module.css.cjs +34 -13
  12. package/dist/fields/AutocompleteField/AutocompleteField.module.css.js +34 -13
  13. package/dist/fields/AutocompleteMultiField/AutocompleteMultiField.cjs +90 -88
  14. package/dist/fields/AutocompleteMultiField/AutocompleteMultiField.d.ts.map +1 -1
  15. package/dist/fields/AutocompleteMultiField/AutocompleteMultiField.js +90 -88
  16. package/dist/fields/AutocompletePredictField/AutocompletePredictField.cjs +81 -64
  17. package/dist/fields/AutocompletePredictField/AutocompletePredictField.d.ts.map +1 -1
  18. package/dist/fields/AutocompletePredictField/AutocompletePredictField.js +81 -64
  19. package/dist/fields/CheckboxField/CheckboxField.module.css.cjs +12 -0
  20. package/dist/fields/CheckboxField/CheckboxField.module.css.js +12 -0
  21. package/dist/fields/ColorField/ColorField.module.css.cjs +12 -0
  22. package/dist/fields/ColorField/ColorField.module.css.js +12 -0
  23. package/dist/fields/DateField/DateField.cjs +56 -4
  24. package/dist/fields/DateField/DateField.d.ts +1 -1
  25. package/dist/fields/DateField/DateField.d.ts.map +1 -1
  26. package/dist/fields/DateField/DateField.js +56 -4
  27. package/dist/fields/DateField/DatePicker.cjs +194 -0
  28. package/dist/fields/DateField/DatePicker.d.ts +11 -0
  29. package/dist/fields/DateField/DatePicker.d.ts.map +1 -0
  30. package/dist/fields/DateField/DatePicker.js +194 -0
  31. package/dist/fields/DateField/DatePicker.module.css.cjs +62 -0
  32. package/dist/fields/DateField/DatePicker.module.css.js +62 -0
  33. package/dist/fields/DateTimeField/DateTimeField.cjs +126 -8
  34. package/dist/fields/DateTimeField/DateTimeField.d.ts +2 -1
  35. package/dist/fields/DateTimeField/DateTimeField.d.ts.map +1 -1
  36. package/dist/fields/DateTimeField/DateTimeField.js +126 -8
  37. package/dist/fields/PasswordField/PasswordField.module.css.cjs +12 -0
  38. package/dist/fields/PasswordField/PasswordField.module.css.js +12 -0
  39. package/dist/fields/RadioField/RadioField.module.css.cjs +12 -0
  40. package/dist/fields/RadioField/RadioField.module.css.js +12 -0
  41. package/dist/fields/SliderField/SliderField.module.css.cjs +15 -3
  42. package/dist/fields/SliderField/SliderField.module.css.js +15 -3
  43. package/dist/fields/SwitchField/SwitchField.module.css.cjs +12 -0
  44. package/dist/fields/SwitchField/SwitchField.module.css.js +12 -0
  45. package/dist/fields/TimeField/TimeField.cjs +60 -5
  46. package/dist/fields/TimeField/TimeField.d.ts +2 -1
  47. package/dist/fields/TimeField/TimeField.d.ts.map +1 -1
  48. package/dist/fields/TimeField/TimeField.js +60 -5
  49. package/dist/fields/TimeField/TimePicker.cjs +182 -0
  50. package/dist/fields/TimeField/TimePicker.d.ts +11 -0
  51. package/dist/fields/TimeField/TimePicker.d.ts.map +1 -0
  52. package/dist/fields/TimeField/TimePicker.js +182 -0
  53. package/dist/fields/TimeField/TimePicker.module.css.cjs +50 -0
  54. package/dist/fields/TimeField/TimePicker.module.css.js +50 -0
  55. package/dist/fields/defaultPlaceholders.cjs +1 -0
  56. package/dist/fields/defaultPlaceholders.d.ts.map +1 -1
  57. package/dist/fields/defaultPlaceholders.js +1 -0
  58. package/dist/fields/fieldBase.module.css.cjs +366 -18
  59. package/dist/fields/fieldBase.module.css.js +366 -18
  60. package/dist/fields/icons.cjs +2 -0
  61. package/dist/fields/icons.d.ts +4 -0
  62. package/dist/fields/icons.d.ts.map +1 -1
  63. package/dist/fields/icons.js +2 -0
  64. package/dist/index.cjs +230 -3
  65. package/dist/index.d.ts +2 -0
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +230 -3
  68. package/dist/layout/Box/Box.module.css.cjs +12 -0
  69. package/dist/layout/Box/Box.module.css.js +12 -0
  70. package/dist/layout/Divider/Divider.module.css.cjs +12 -0
  71. package/dist/layout/Divider/Divider.module.css.js +12 -0
  72. package/dist/layout/Grid/Grid.module.css.cjs +12 -0
  73. package/dist/layout/Grid/Grid.module.css.js +12 -0
  74. package/dist/layout/Stack/Stack.module.css.cjs +12 -0
  75. package/dist/layout/Stack/Stack.module.css.js +12 -0
  76. package/dist/react/AxenForm.cjs +228 -3
  77. package/dist/react/AxenForm.js +228 -3
  78. package/dist/react/fieldGroup.module.css.cjs +12 -0
  79. package/dist/react/fieldGroup.module.css.js +12 -0
  80. package/dist/react/gridCell.module.css.cjs +12 -0
  81. package/dist/react/gridCell.module.css.js +12 -0
  82. package/dist/types.d.ts +1 -0
  83. package/dist/types.d.ts.map +1 -1
  84. package/package.json +4 -9
  85. package/dist/axen-form.css +0 -1057
@@ -0,0 +1,50 @@
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 Time Picker\n Custom dropdown picker for TimeField\n ═══════════════════════════════════════════════ */\n\n._overlay_1qexq_6 {\n position: fixed;\n inset: 0;\n z-index: calc(var(--axen-z-dropdown, 100) - 1);\n}\n\n._picker_1qexq_12 {\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: 200px;\n}\n\n/* ── Column layout ───────────────────────────── */\n._columns_1qexq_27 {\n display: flex;\n gap: var(--axen-space-xs, 0.25rem);\n justify-content: center;\n}\n\n._column_1qexq_27 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2px;\n max-height: 200px;\n overflow-y: auto;\n padding: var(--axen-space-xs, 0.25rem) 0;\n scrollbar-width: thin;\n}\n\n._column_1qexq_27::-webkit-scrollbar {\n width: 4px;\n}\n\n._column_1qexq_27::-webkit-scrollbar-thumb {\n background: var(--axen-color-border, #d0d5dd);\n border-radius: var(--axen-border-radius-pill, 9999px);\n}\n\n._columnLabel_1qexq_53 {\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 padding-bottom: var(--axen-space-xs, 0.25rem);\n flex-shrink: 0;\n}\n\n/* ── Individual cell ─────────────────────────── */\n._cell_1qexq_64 {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 44px;\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-md, 1rem);\n font-family: var(--axen-font-family);\n cursor: pointer;\n transition: background-color var(--axen-transition-fast, 150ms ease);\n padding: 0;\n flex-shrink: 0;\n}\n\n._cell_1qexq_64:hover {\n background-color: var(--axen-color-bg-hover, #fafafa);\n}\n\n._cell_1qexq_64:focus-visible {\n outline: var(--axen-focus-ring-width, 2px) solid var(--axen-focus-ring-color);\n outline-offset: -2px;\n}\n\n._cellSelected_1qexq_91 {\n background-color: var(--axen-color-primary, #1976d2);\n color: #ffffff;\n font-weight: var(--axen-font-weight-medium, 500);\n}\n\n._cellSelected_1qexq_91:hover {\n background-color: var(--axen-color-primary-hover, #1565c0);\n}\n\n/* ── Separator between columns ───────────────── */\n._separator_1qexq_102 {\n display: flex;\n align-items: center;\n padding: 0 2px;\n font-size: var(--axen-font-size-lg, 1.125rem);\n font-weight: var(--axen-font-weight-bold, 600);\n color: var(--axen-color-text-secondary, #666666);\n user-select: none;\n margin-top: 20px;\n}\n\n/* ── Footer actions ──────────────────────────── */\n._footer_1qexq_114 {\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_1qexq_123 {\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_1qexq_123:hover {\n background-color: var(--axen-color-bg-hover, #fafafa);\n border-color: var(--axen-color-border-hover, #888888);\n}\n\n._footerBtn_1qexq_123:focus-visible {\n outline: var(--axen-focus-ring-width, 2px) solid var(--axen-focus-ring-color);\n outline-offset: -2px;\n}\n\n._footerBtnPrimary_1qexq_152 {\n background-color: var(--axen-color-primary, #1976d2);\n border-color: var(--axen-color-primary, #1976d2);\n color: #ffffff;\n}\n\n._footerBtnPrimary_1qexq_152:hover {\n background-color: var(--axen-color-primary-hover, #1565c0);\n border-color: var(--axen-color-primary-hover, #1565c0);\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_1qexq_6";
16
+ const picker = "_picker_1qexq_12";
17
+ const columns = "_columns_1qexq_27";
18
+ const column = "_column_1qexq_27";
19
+ const columnLabel = "_columnLabel_1qexq_53";
20
+ const cell = "_cell_1qexq_64";
21
+ const cellSelected = "_cellSelected_1qexq_91";
22
+ const separator = "_separator_1qexq_102";
23
+ const footer = "_footer_1qexq_114";
24
+ const footerBtn = "_footerBtn_1qexq_123";
25
+ const footerBtnPrimary = "_footerBtnPrimary_1qexq_152";
26
+ const s = {
27
+ overlay,
28
+ picker,
29
+ columns,
30
+ column,
31
+ columnLabel,
32
+ cell,
33
+ cellSelected,
34
+ separator,
35
+ footer,
36
+ footerBtn,
37
+ footerBtnPrimary
38
+ };
39
+ exports.cell = cell;
40
+ exports.cellSelected = cellSelected;
41
+ exports.column = column;
42
+ exports.columnLabel = columnLabel;
43
+ exports.columns = columns;
44
+ exports.default = s;
45
+ exports.footer = footer;
46
+ exports.footerBtn = footerBtn;
47
+ exports.footerBtnPrimary = footerBtnPrimary;
48
+ exports.overlay = overlay;
49
+ exports.picker = picker;
50
+ exports.separator = separator;
@@ -0,0 +1,50 @@
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 Time Picker\n Custom dropdown picker for TimeField\n ═══════════════════════════════════════════════ */\n\n._overlay_1qexq_6 {\n position: fixed;\n inset: 0;\n z-index: calc(var(--axen-z-dropdown, 100) - 1);\n}\n\n._picker_1qexq_12 {\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: 200px;\n}\n\n/* ── Column layout ───────────────────────────── */\n._columns_1qexq_27 {\n display: flex;\n gap: var(--axen-space-xs, 0.25rem);\n justify-content: center;\n}\n\n._column_1qexq_27 {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2px;\n max-height: 200px;\n overflow-y: auto;\n padding: var(--axen-space-xs, 0.25rem) 0;\n scrollbar-width: thin;\n}\n\n._column_1qexq_27::-webkit-scrollbar {\n width: 4px;\n}\n\n._column_1qexq_27::-webkit-scrollbar-thumb {\n background: var(--axen-color-border, #d0d5dd);\n border-radius: var(--axen-border-radius-pill, 9999px);\n}\n\n._columnLabel_1qexq_53 {\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 padding-bottom: var(--axen-space-xs, 0.25rem);\n flex-shrink: 0;\n}\n\n/* ── Individual cell ─────────────────────────── */\n._cell_1qexq_64 {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 44px;\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-md, 1rem);\n font-family: var(--axen-font-family);\n cursor: pointer;\n transition: background-color var(--axen-transition-fast, 150ms ease);\n padding: 0;\n flex-shrink: 0;\n}\n\n._cell_1qexq_64:hover {\n background-color: var(--axen-color-bg-hover, #fafafa);\n}\n\n._cell_1qexq_64:focus-visible {\n outline: var(--axen-focus-ring-width, 2px) solid var(--axen-focus-ring-color);\n outline-offset: -2px;\n}\n\n._cellSelected_1qexq_91 {\n background-color: var(--axen-color-primary, #1976d2);\n color: #ffffff;\n font-weight: var(--axen-font-weight-medium, 500);\n}\n\n._cellSelected_1qexq_91:hover {\n background-color: var(--axen-color-primary-hover, #1565c0);\n}\n\n/* ── Separator between columns ───────────────── */\n._separator_1qexq_102 {\n display: flex;\n align-items: center;\n padding: 0 2px;\n font-size: var(--axen-font-size-lg, 1.125rem);\n font-weight: var(--axen-font-weight-bold, 600);\n color: var(--axen-color-text-secondary, #666666);\n user-select: none;\n margin-top: 20px;\n}\n\n/* ── Footer actions ──────────────────────────── */\n._footer_1qexq_114 {\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_1qexq_123 {\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_1qexq_123:hover {\n background-color: var(--axen-color-bg-hover, #fafafa);\n border-color: var(--axen-color-border-hover, #888888);\n}\n\n._footerBtn_1qexq_123:focus-visible {\n outline: var(--axen-focus-ring-width, 2px) solid var(--axen-focus-ring-color);\n outline-offset: -2px;\n}\n\n._footerBtnPrimary_1qexq_152 {\n background-color: var(--axen-color-primary, #1976d2);\n border-color: var(--axen-color-primary, #1976d2);\n color: #ffffff;\n}\n\n._footerBtnPrimary_1qexq_152:hover {\n background-color: var(--axen-color-primary-hover, #1565c0);\n border-color: var(--axen-color-primary-hover, #1565c0);\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_1qexq_6";
14
+ const picker = "_picker_1qexq_12";
15
+ const columns = "_columns_1qexq_27";
16
+ const column = "_column_1qexq_27";
17
+ const columnLabel = "_columnLabel_1qexq_53";
18
+ const cell = "_cell_1qexq_64";
19
+ const cellSelected = "_cellSelected_1qexq_91";
20
+ const separator = "_separator_1qexq_102";
21
+ const footer = "_footer_1qexq_114";
22
+ const footerBtn = "_footerBtn_1qexq_123";
23
+ const footerBtnPrimary = "_footerBtnPrimary_1qexq_152";
24
+ const s = {
25
+ overlay,
26
+ picker,
27
+ columns,
28
+ column,
29
+ columnLabel,
30
+ cell,
31
+ cellSelected,
32
+ separator,
33
+ footer,
34
+ footerBtn,
35
+ footerBtnPrimary
36
+ };
37
+ export {
38
+ cell,
39
+ cellSelected,
40
+ column,
41
+ columnLabel,
42
+ columns,
43
+ s as default,
44
+ footer,
45
+ footerBtn,
46
+ footerBtnPrimary,
47
+ overlay,
48
+ picker,
49
+ separator
50
+ };
@@ -9,6 +9,7 @@ const defaultPlaceholders = {
9
9
  textarea: "Enter description...",
10
10
  number: "0",
11
11
  currency: "0.00",
12
+ select: "Select...",
12
13
  date: "Select date",
13
14
  time: "Select time",
14
15
  datetime: "Select date and time",
@@ -1 +1 @@
1
- {"version":3,"file":"defaultPlaceholders.d.ts","sourceRoot":"","sources":["../../src/fields/defaultPlaceholders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAOjD,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAczE,CAAC"}
1
+ {"version":3,"file":"defaultPlaceholders.d.ts","sourceRoot":"","sources":["../../src/fields/defaultPlaceholders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAOjD,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAezE,CAAC"}
@@ -7,6 +7,7 @@ const defaultPlaceholders = {
7
7
  textarea: "Enter description...",
8
8
  number: "0",
9
9
  currency: "0.00",
10
+ select: "Select...",
10
11
  date: "Select date",
11
12
  time: "Select time",
12
13
  datetime: "Select date and time",
@@ -1,23 +1,365 @@
1
+ (function() {
2
+ "use strict";
3
+ try {
4
+ if (typeof document != "undefined") {
5
+ var elementStyle = document.createElement("style");
6
+ elementStyle.appendChild(document.createTextNode(`/* ═══════════════════════════════════════════════
7
+ axen-form Field Base Styles
8
+ Shared styles for all field components
9
+ A11y-aware + Responsive
10
+ ═══════════════════════════════════════════════ */
11
+
12
+ /* ── Field Wrapper ───────────────────────────── */
13
+ ._wrapper_1hrya_8 {
14
+ display: flex;
15
+ flex-direction: column;
16
+ width: 100%;
17
+ }
18
+
19
+ /* ── Label ───────────────────────────────────── */
20
+ ._label_1hrya_15 {
21
+ display: block;
22
+ font-size: var(--axen-font-size-sm, 0.875rem);
23
+ font-weight: var(--axen-font-weight-medium, 500);
24
+ color: var(--axen-color-label, var(--axen-color-text, #1a1a1a));
25
+ margin-bottom: var(--axen-label-margin-bottom, 0.375rem);
26
+ line-height: var(--axen-line-height, 1.5);
27
+ letter-spacing: 0.01em;
28
+ }
29
+
30
+ ._labelRequired_1hrya_25::after {
31
+ content: ' *';
32
+ color: var(--axen-color-error, #d32f2f);
33
+ font-weight: var(--axen-font-weight-bold, 600);
34
+ }
35
+
36
+ /* ── Input Base ──────────────────────────────── */
37
+ ._input_1hrya_32 {
38
+ display: block;
39
+ width: 100%;
40
+ height: var(--axen-field-height, 2.75rem);
41
+ min-height: var(--axen-field-min-height, 44px);
42
+ padding: var(--axen-field-padding-y, 0.5rem) var(--axen-field-padding-x, 0.75rem);
43
+ font-family: var(
44
+ --axen-font-family,
45
+ -apple-system,
46
+ BlinkMacSystemFont,
47
+ 'Segoe UI',
48
+ Roboto,
49
+ 'Helvetica Neue',
50
+ Arial,
51
+ sans-serif
52
+ );
53
+ font-size: var(--axen-font-size-md, 1rem);
54
+ line-height: var(--axen-line-height, 1.5);
55
+ color: var(--axen-color-text, #1a1a1a);
56
+ background-color: var(--axen-color-input-bg, var(--axen-color-bg, #ffffff));
57
+ border: var(--axen-border-width, 1px) solid var(--axen-color-border, #d0d5dd);
58
+ border-radius: var(--axen-border-radius, 8px);
59
+ transition:
60
+ border-color var(--axen-transition-fast, 150ms ease),
61
+ box-shadow var(--axen-transition-fast, 150ms ease);
62
+ outline: none;
63
+ }
64
+
65
+ ._input_1hrya_32::placeholder {
66
+ color: var(--axen-color-text-disabled, #9e9e9e);
67
+ }
68
+
69
+ ._input_1hrya_32:hover:not(:disabled):not(:read-only) {
70
+ border-color: var(--axen-color-border-hover, #888888);
71
+ }
72
+
73
+ /* Focus ring (keyboard + mouse) */
74
+ ._input_1hrya_32:focus {
75
+ border-color: var(--axen-color-border-focus, var(--axen-color-primary, #1976d2));
76
+ box-shadow: var(--axen-shadow-focus, 0 0 0 2px rgba(25, 118, 210, 0.5));
77
+ outline: none;
78
+ }
79
+
80
+ ._input_1hrya_32:disabled {
81
+ background-color: var(--axen-color-bg-disabled, #f5f5f5);
82
+ color: var(--axen-color-text-disabled, #9e9e9e);
83
+ cursor: not-allowed;
84
+ }
85
+
86
+ /* Scope :read-only to actual text inputs only.
87
+ <select> and <div> match :read-only by default in modern browsers,
88
+ which would incorrectly apply the disabled-looking background. */
89
+ input._input_1hrya_32:read-only,
90
+ textarea._input_1hrya_32:read-only {
91
+ background-color: var(--axen-color-bg-disabled, #f5f5f5);
92
+ }
93
+
94
+ /* Hide native browser picker icons for date/time/datetime inputs.
95
+ We provide our own custom pickers via DatePicker / TimePicker components,
96
+ so the native chromium dark-themed popups must not appear. */
97
+ ._input_1hrya_32::-webkit-calendar-picker-indicator {
98
+ display: none;
99
+ -webkit-appearance: none;
100
+ }
101
+
102
+ ._input_1hrya_32::-webkit-date-and-time-value {
103
+ text-align: left;
104
+ }
105
+
106
+ /* ── Error State ─────────────────────────────── */
107
+ ._inputError_1hrya_102 {
108
+ border-color: var(--axen-color-error, #d32f2f);
109
+ }
110
+
111
+ ._inputError_1hrya_102:focus {
112
+ border-color: var(--axen-color-error, #d32f2f);
113
+ box-shadow: 0 0 0 var(--axen-focus-ring-width, 2px) rgba(211, 47, 47, 0.3);
114
+ }
115
+
116
+ /* ── Helper Text ─────────────────────────────── */
117
+ ._helperText_1hrya_112 {
118
+ display: block;
119
+ font-size: var(--axen-font-size-xs, 0.75rem);
120
+ color: var(--axen-color-text-secondary, #666666);
121
+ margin-top: var(--axen-helper-margin-top, 0.25rem);
122
+ line-height: var(--axen-line-height, 1.5);
123
+ }
124
+
125
+ ._helperTextError_1hrya_120 {
126
+ color: var(--axen-color-error, #d32f2f);
127
+ }
128
+
129
+ /* ── Textarea ────────────────────────────────── */
130
+ ._textarea_1hrya_125 {
131
+ height: auto;
132
+ min-height: calc(var(--axen-field-min-height, 44px) * 2);
133
+ resize: vertical;
134
+ padding-top: var(--axen-field-padding-x, 0.75rem);
135
+ }
136
+
137
+ /* ── Select ──────────────────────────────────── */
138
+ ._select_1hrya_133 {
139
+ appearance: none;
140
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
141
+ background-repeat: no-repeat;
142
+ background-position: right 0.75rem center;
143
+ padding-right: 2rem;
144
+ cursor: pointer;
145
+ }
146
+
147
+ /* Dark-mode override removed — axen-form is now light-only by default.
148
+ See tokens.css for color-scheme: light declaration. */
149
+
150
+ /* ── Input with prefix/suffix ────────────────── */
151
+ ._inputGroup_1hrya_146 {
152
+ display: flex;
153
+ align-items: stretch;
154
+ }
155
+
156
+ /* ── Icon inside input ───────────────────────── */
157
+ ._inputIconWrapper_1hrya_152 {
158
+ position: relative;
159
+ }
160
+
161
+ ._fieldIcon_1hrya_156 {
162
+ position: absolute;
163
+ left: 0.75rem;
164
+ top: 50%;
165
+ transform: translateY(-50%);
166
+ width: 1.125rem;
167
+ height: 1.125rem;
168
+ color: var(--axen-color-text-secondary, #666666);
169
+ pointer-events: none;
170
+ display: flex;
171
+ align-items: center;
172
+ justify-content: center;
173
+ z-index: 1;
174
+ }
175
+
176
+ /* Clickable variant for icons that open pickers */
177
+ ._fieldIconClickable_1hrya_172 {
178
+ position: absolute;
179
+ left: 0.75rem;
180
+ top: 50%;
181
+ transform: translateY(-50%);
182
+ width: 1.125rem;
183
+ height: 1.125rem;
184
+ color: var(--axen-color-text-secondary, #666666);
185
+ display: flex;
186
+ align-items: center;
187
+ justify-content: center;
188
+ z-index: 1;
189
+ cursor: pointer;
190
+ border: none;
191
+ background: transparent;
192
+ padding: 0;
193
+ margin: 0;
194
+ }
195
+
196
+ ._fieldIconClickable_1hrya_172:hover {
197
+ color: var(--axen-color-primary, #1976d2);
198
+ }
199
+
200
+ ._fieldIconClickable_1hrya_172:focus-visible {
201
+ outline: var(--axen-focus-ring-width, 2px) solid var(--axen-focus-ring-color);
202
+ outline-offset: 2px;
203
+ border-radius: var(--axen-border-radius-sm, 4px);
204
+ }
205
+
206
+ /* Right-side picker trigger button inside inputIconWrapper */
207
+ ._pickerTrigger_1hrya_202 {
208
+ position: absolute;
209
+ right: 0.5rem;
210
+ top: 50%;
211
+ transform: translateY(-50%);
212
+ width: 1.5rem;
213
+ height: 1.5rem;
214
+ color: var(--axen-color-text-secondary, #666666);
215
+ display: flex;
216
+ align-items: center;
217
+ justify-content: center;
218
+ cursor: pointer;
219
+ border: none;
220
+ border-radius: var(--axen-border-radius-sm, 4px);
221
+ background: transparent;
222
+ padding: 0;
223
+ z-index: 1;
224
+ }
225
+
226
+ ._pickerTrigger_1hrya_202:hover {
227
+ color: var(--axen-color-primary, #1976d2);
228
+ background-color: var(--axen-color-bg-hover, #fafafa);
229
+ }
230
+
231
+ ._pickerTrigger_1hrya_202:focus-visible {
232
+ outline: var(--axen-focus-ring-width, 2px) solid var(--axen-focus-ring-color);
233
+ outline-offset: 2px;
234
+ }
235
+
236
+ /* Input with right-side picker trigger needs extra right padding */
237
+ ._inputWithPicker_1hrya_232 {
238
+ padding-right: 2.25rem;
239
+ }
240
+
241
+ ._inputWithIcon_1hrya_236 {
242
+ padding-left: 2.5rem;
243
+ }
244
+
245
+ ._inputPrefix_1hrya_240,
246
+ ._inputSuffix_1hrya_241 {
247
+ display: flex;
248
+ align-items: center;
249
+ padding: 0 var(--axen-space-sm, 0.5rem);
250
+ font-size: var(--axen-font-size-sm, 0.875rem);
251
+ color: var(--axen-color-text-secondary, #666666);
252
+ background-color: var(--axen-color-input-bg, #ffffff);
253
+ border: var(--axen-border-width, 1px) solid var(--axen-color-border, #d0d5dd);
254
+ white-space: nowrap;
255
+ }
256
+
257
+ ._inputPrefix_1hrya_240 {
258
+ border-right: none;
259
+ border-radius: var(--axen-border-radius, 6px) 0 0 var(--axen-border-radius, 6px);
260
+ }
261
+
262
+ ._inputSuffix_1hrya_241 {
263
+ border-left: none;
264
+ border-radius: 0 var(--axen-border-radius, 6px) var(--axen-border-radius, 6px) 0;
265
+ }
266
+
267
+ ._inputGroupInput_1hrya_262 {
268
+ border-radius: 0;
269
+ }
270
+
271
+ ._inputPrefix_1hrya_240 + ._inputGroupInput_1hrya_262 {
272
+ border-top-left-radius: 0;
273
+ border-bottom-left-radius: 0;
274
+ }
275
+
276
+ ._inputGroupInput_1hrya_262:has(+ ._inputSuffix_1hrya_241) {
277
+ border-top-right-radius: 0;
278
+ border-bottom-right-radius: 0;
279
+ }
280
+
281
+ /* ── Checkbox/Radio/Switch shared ────────────── */
282
+ ._inlineWrapper_1hrya_277 {
283
+ display: flex;
284
+ align-items: center;
285
+ gap: var(--axen-space-sm, 0.5rem);
286
+ min-height: var(--axen-field-min-height, 44px);
287
+ cursor: pointer;
288
+ }
289
+
290
+ ._inlineWrapper_1hrya_277:has(:disabled) {
291
+ cursor: not-allowed;
292
+ opacity: 0.6;
293
+ }
294
+
295
+ ._inlineLabel_1hrya_290 {
296
+ font-size: var(--axen-font-size-md, 1rem);
297
+ color: var(--axen-color-text, #1a1a1a);
298
+ user-select: none;
299
+ }
300
+
301
+ /* ── Responsive: mobile touch targets ────────── */
302
+ @media (max-width: 599px) {
303
+ ._input_1hrya_32 {
304
+ font-size: 16px; /* Prevent iOS zoom on focus */
305
+ min-height: 48px;
306
+ }
307
+
308
+ ._inlineWrapper_1hrya_277 {
309
+ min-height: 48px;
310
+ }
311
+ }
312
+
313
+ /* ── High Contrast Mode ──────────────────────── */
314
+ @media (prefers-contrast: more) {
315
+ ._input_1hrya_32 {
316
+ border-width: 2px;
317
+ }
318
+
319
+ ._inputError_1hrya_102 {
320
+ border-width: 3px;
321
+ }
322
+
323
+ ._helperTextError_1hrya_120 {
324
+ font-weight: var(--axen-font-weight-bold, 600);
325
+ }
326
+ }
327
+
328
+ /* ── Reduced Motion (A11y: WCAG 2.3.3) ──────── */
329
+ @media (prefers-reduced-motion: reduce) {
330
+ ._input_1hrya_32 {
331
+ transition: none;
332
+ }
333
+ }`));
334
+ document.head.appendChild(elementStyle);
335
+ }
336
+ } catch (e) {
337
+ console.error("vite-plugin-css-injected-by-js", e);
338
+ }
339
+ })();
1
340
  "use strict";
2
341
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const wrapper = "_wrapper_1w6h8_8";
4
- const label = "_label_1w6h8_15";
5
- const labelRequired = "_labelRequired_1w6h8_25";
6
- const input = "_input_1w6h8_32";
7
- const inputError = "_inputError_1w6h8_86";
8
- const helperText = "_helperText_1w6h8_96";
9
- const helperTextError = "_helperTextError_1w6h8_104";
10
- const textarea = "_textarea_1w6h8_109";
11
- const select = "_select_1w6h8_117";
12
- const inputGroup = "_inputGroup_1w6h8_127";
13
- const inputIconWrapper = "_inputIconWrapper_1w6h8_133";
14
- const fieldIcon = "_fieldIcon_1w6h8_137";
15
- const inputWithIcon = "_inputWithIcon_1w6h8_152";
16
- const inputPrefix = "_inputPrefix_1w6h8_156";
17
- const inputSuffix = "_inputSuffix_1w6h8_157";
18
- const inputGroupInput = "_inputGroupInput_1w6h8_178";
19
- const inlineWrapper = "_inlineWrapper_1w6h8_193";
20
- const inlineLabel = "_inlineLabel_1w6h8_206";
342
+ const wrapper = "_wrapper_1hrya_8";
343
+ const label = "_label_1hrya_15";
344
+ const labelRequired = "_labelRequired_1hrya_25";
345
+ const input = "_input_1hrya_32";
346
+ const inputError = "_inputError_1hrya_102";
347
+ const helperText = "_helperText_1hrya_112";
348
+ const helperTextError = "_helperTextError_1hrya_120";
349
+ const textarea = "_textarea_1hrya_125";
350
+ const select = "_select_1hrya_133";
351
+ const inputGroup = "_inputGroup_1hrya_146";
352
+ const inputIconWrapper = "_inputIconWrapper_1hrya_152";
353
+ const fieldIcon = "_fieldIcon_1hrya_156";
354
+ const fieldIconClickable = "_fieldIconClickable_1hrya_172";
355
+ const pickerTrigger = "_pickerTrigger_1hrya_202";
356
+ const inputWithPicker = "_inputWithPicker_1hrya_232";
357
+ const inputWithIcon = "_inputWithIcon_1hrya_236";
358
+ const inputPrefix = "_inputPrefix_1hrya_240";
359
+ const inputSuffix = "_inputSuffix_1hrya_241";
360
+ const inputGroupInput = "_inputGroupInput_1hrya_262";
361
+ const inlineWrapper = "_inlineWrapper_1hrya_277";
362
+ const inlineLabel = "_inlineLabel_1hrya_290";
21
363
  const styles = {
22
364
  wrapper,
23
365
  label,
@@ -31,6 +373,9 @@ const styles = {
31
373
  inputGroup,
32
374
  inputIconWrapper,
33
375
  fieldIcon,
376
+ fieldIconClickable,
377
+ pickerTrigger,
378
+ inputWithPicker,
34
379
  inputWithIcon,
35
380
  inputPrefix,
36
381
  inputSuffix,
@@ -40,6 +385,7 @@ const styles = {
40
385
  };
41
386
  exports.default = styles;
42
387
  exports.fieldIcon = fieldIcon;
388
+ exports.fieldIconClickable = fieldIconClickable;
43
389
  exports.helperText = helperText;
44
390
  exports.helperTextError = helperTextError;
45
391
  exports.inlineLabel = inlineLabel;
@@ -52,8 +398,10 @@ exports.inputIconWrapper = inputIconWrapper;
52
398
  exports.inputPrefix = inputPrefix;
53
399
  exports.inputSuffix = inputSuffix;
54
400
  exports.inputWithIcon = inputWithIcon;
401
+ exports.inputWithPicker = inputWithPicker;
55
402
  exports.label = label;
56
403
  exports.labelRequired = labelRequired;
404
+ exports.pickerTrigger = pickerTrigger;
57
405
  exports.select = select;
58
406
  exports.textarea = textarea;
59
407
  exports.wrapper = wrapper;