@simplysm/solid 13.0.29 → 13.0.31

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 (220) hide show
  1. package/README.md +10 -5
  2. package/dist/components/data/Pagination.d.ts +4 -5
  3. package/dist/components/data/Pagination.d.ts.map +1 -1
  4. package/dist/components/data/Pagination.js +14 -14
  5. package/dist/components/data/Pagination.js.map +2 -2
  6. package/dist/components/data/Table.js +1 -1
  7. package/dist/components/data/calendar/Calendar.js +1 -1
  8. package/dist/components/data/kanban/Kanban.d.ts +9 -9
  9. package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
  10. package/dist/components/data/kanban/Kanban.js +4 -4
  11. package/dist/components/data/kanban/Kanban.js.map +2 -2
  12. package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
  13. package/dist/components/data/sheet/DataSheet.js +102 -107
  14. package/dist/components/data/sheet/DataSheet.js.map +2 -2
  15. package/dist/components/data/sheet/DataSheet.styles.js +1 -1
  16. package/dist/components/data/sheet/types.d.ts +2 -2
  17. package/dist/components/data/sheet/types.d.ts.map +1 -1
  18. package/dist/components/disclosure/Dialog.d.ts +8 -8
  19. package/dist/components/disclosure/Dialog.d.ts.map +1 -1
  20. package/dist/components/disclosure/Dialog.js +64 -69
  21. package/dist/components/disclosure/Dialog.js.map +2 -2
  22. package/dist/components/disclosure/DialogContext.d.ts +4 -4
  23. package/dist/components/disclosure/DialogContext.d.ts.map +1 -1
  24. package/dist/components/disclosure/DialogProvider.js +8 -8
  25. package/dist/components/disclosure/DialogProvider.js.map +2 -2
  26. package/dist/components/feedback/Progress.d.ts +3 -3
  27. package/dist/components/feedback/Progress.d.ts.map +1 -1
  28. package/dist/components/feedback/Progress.js +1 -1
  29. package/dist/components/feedback/Progress.js.map +2 -2
  30. package/dist/components/feedback/busy/BusyContainer.d.ts +1 -0
  31. package/dist/components/feedback/busy/BusyContainer.d.ts.map +1 -1
  32. package/dist/components/feedback/busy/BusyContainer.js +13 -6
  33. package/dist/components/feedback/busy/BusyContainer.js.map +2 -2
  34. package/dist/components/feedback/notification/NotificationBanner.js +1 -1
  35. package/dist/components/feedback/notification/NotificationBanner.js.map +1 -1
  36. package/dist/components/feedback/notification/NotificationBell.d.ts.map +1 -1
  37. package/dist/components/feedback/notification/NotificationBell.js +4 -2
  38. package/dist/components/feedback/notification/NotificationBell.js.map +2 -2
  39. package/dist/components/feedback/notification/NotificationProvider.d.ts.map +1 -1
  40. package/dist/components/feedback/notification/NotificationProvider.js +1 -0
  41. package/dist/components/feedback/notification/NotificationProvider.js.map +1 -1
  42. package/dist/components/form-control/Invalid.d.ts +4 -2
  43. package/dist/components/form-control/Invalid.d.ts.map +1 -1
  44. package/dist/components/form-control/Invalid.js +81 -41
  45. package/dist/components/form-control/Invalid.js.map +2 -2
  46. package/dist/components/form-control/ThemeToggle.d.ts.map +1 -1
  47. package/dist/components/form-control/ThemeToggle.js +4 -5
  48. package/dist/components/form-control/ThemeToggle.js.map +2 -2
  49. package/dist/components/form-control/checkbox/Checkbox.d.ts +4 -2
  50. package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
  51. package/dist/components/form-control/checkbox/Checkbox.js +65 -52
  52. package/dist/components/form-control/checkbox/Checkbox.js.map +2 -2
  53. package/dist/components/form-control/checkbox/Checkbox.styles.d.ts +1 -2
  54. package/dist/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -1
  55. package/dist/components/form-control/checkbox/Checkbox.styles.js +3 -9
  56. package/dist/components/form-control/checkbox/Checkbox.styles.js.map +1 -1
  57. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts +9 -9
  58. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -1
  59. package/dist/components/form-control/checkbox/CheckboxGroup.js +10 -82
  60. package/dist/components/form-control/checkbox/CheckboxGroup.js.map +2 -2
  61. package/dist/components/form-control/checkbox/Radio.d.ts +4 -2
  62. package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
  63. package/dist/components/form-control/checkbox/Radio.js +64 -51
  64. package/dist/components/form-control/checkbox/Radio.js.map +2 -2
  65. package/dist/components/form-control/checkbox/RadioGroup.d.ts +9 -9
  66. package/dist/components/form-control/checkbox/RadioGroup.d.ts.map +1 -1
  67. package/dist/components/form-control/checkbox/RadioGroup.js +10 -77
  68. package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -2
  69. package/dist/components/form-control/color-picker/ColorPicker.d.ts +8 -3
  70. package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
  71. package/dist/components/form-control/color-picker/ColorPicker.js +43 -26
  72. package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
  73. package/dist/components/form-control/combobox/Combobox.d.ts +8 -8
  74. package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
  75. package/dist/components/form-control/combobox/Combobox.js +72 -59
  76. package/dist/components/form-control/combobox/Combobox.js.map +2 -2
  77. package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -1
  78. package/dist/components/form-control/editor/EditorToolbar.js +3 -2
  79. package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
  80. package/dist/components/form-control/field/DatePicker.d.ts +6 -0
  81. package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
  82. package/dist/components/form-control/field/DatePicker.js +138 -117
  83. package/dist/components/form-control/field/DatePicker.js.map +2 -2
  84. package/dist/components/form-control/field/DateTimePicker.d.ts +6 -0
  85. package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
  86. package/dist/components/form-control/field/DateTimePicker.js +138 -115
  87. package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
  88. package/dist/components/form-control/field/Field.styles.d.ts +14 -0
  89. package/dist/components/form-control/field/Field.styles.d.ts.map +1 -1
  90. package/dist/components/form-control/field/Field.styles.js +30 -0
  91. package/dist/components/form-control/field/Field.styles.js.map +1 -1
  92. package/dist/components/form-control/field/FieldPlaceholder.d.ts +7 -0
  93. package/dist/components/form-control/field/FieldPlaceholder.d.ts.map +1 -0
  94. package/dist/components/form-control/field/FieldPlaceholder.js +34 -0
  95. package/dist/components/form-control/field/FieldPlaceholder.js.map +6 -0
  96. package/dist/components/form-control/field/NumberInput.d.ts +10 -0
  97. package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
  98. package/dist/components/form-control/field/NumberInput.js +149 -115
  99. package/dist/components/form-control/field/NumberInput.js.map +2 -2
  100. package/dist/components/form-control/field/TextInput.d.ts +12 -0
  101. package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
  102. package/dist/components/form-control/field/TextInput.js +162 -116
  103. package/dist/components/form-control/field/TextInput.js.map +2 -2
  104. package/dist/components/form-control/field/Textarea.d.ts +10 -0
  105. package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
  106. package/dist/components/form-control/field/Textarea.js +156 -121
  107. package/dist/components/form-control/field/Textarea.js.map +2 -2
  108. package/dist/components/form-control/field/TimePicker.d.ts +10 -0
  109. package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
  110. package/dist/components/form-control/field/TimePicker.js +126 -94
  111. package/dist/components/form-control/field/TimePicker.js.map +2 -2
  112. package/dist/components/form-control/select/Select.d.ts +7 -9
  113. package/dist/components/form-control/select/Select.d.ts.map +1 -1
  114. package/dist/components/form-control/select/Select.js +71 -60
  115. package/dist/components/form-control/select/Select.js.map +2 -2
  116. package/dist/components/form-control/state-preset/StatePreset.d.ts.map +1 -1
  117. package/dist/components/form-control/state-preset/StatePreset.js +2 -1
  118. package/dist/components/form-control/state-preset/StatePreset.js.map +2 -2
  119. package/dist/components/layout/sidebar/SidebarMenu.js +1 -1
  120. package/dist/components/layout/sidebar/SidebarMenu.js.map +1 -1
  121. package/dist/components/layout/sidebar/SidebarUser.js +2 -2
  122. package/dist/components/layout/sidebar/SidebarUser.js.map +1 -1
  123. package/dist/hooks/createItemTemplate.d.ts +17 -0
  124. package/dist/hooks/createItemTemplate.d.ts.map +1 -0
  125. package/dist/hooks/createItemTemplate.js +40 -0
  126. package/dist/hooks/createItemTemplate.js.map +6 -0
  127. package/dist/hooks/createPointerDrag.d.ts +13 -0
  128. package/dist/hooks/createPointerDrag.d.ts.map +1 -0
  129. package/dist/hooks/createPointerDrag.js +15 -0
  130. package/dist/hooks/createPointerDrag.js.map +6 -0
  131. package/dist/hooks/createSelectionGroup.d.ts +70 -0
  132. package/dist/hooks/createSelectionGroup.d.ts.map +1 -0
  133. package/dist/hooks/createSelectionGroup.js +141 -0
  134. package/dist/hooks/createSelectionGroup.js.map +6 -0
  135. package/dist/hooks/useLocalStorage.d.ts +5 -3
  136. package/dist/hooks/useLocalStorage.d.ts.map +1 -1
  137. package/dist/hooks/useLocalStorage.js.map +1 -1
  138. package/dist/hooks/{createPwaUpdate.d.ts → usePwaUpdate.d.ts} +2 -2
  139. package/dist/hooks/usePwaUpdate.d.ts.map +1 -0
  140. package/dist/hooks/{createPwaUpdate.js → usePwaUpdate.js} +3 -3
  141. package/dist/hooks/usePwaUpdate.js.map +6 -0
  142. package/dist/hooks/useSyncConfig.d.ts +3 -3
  143. package/dist/hooks/useSyncConfig.d.ts.map +1 -1
  144. package/dist/hooks/useSyncConfig.js +6 -7
  145. package/dist/hooks/useSyncConfig.js.map +1 -1
  146. package/dist/index.d.ts +1 -3
  147. package/dist/index.d.ts.map +1 -1
  148. package/dist/index.js +2 -4
  149. package/dist/index.js.map +1 -1
  150. package/dist/providers/InitializeProvider.js +2 -2
  151. package/dist/providers/InitializeProvider.js.map +2 -2
  152. package/dist/providers/ThemeContext.d.ts.map +1 -1
  153. package/dist/providers/ThemeContext.js +2 -1
  154. package/dist/providers/ThemeContext.js.map +2 -2
  155. package/dist/styles/patterns.styles.d.ts +1 -0
  156. package/dist/styles/patterns.styles.d.ts.map +1 -1
  157. package/dist/styles/patterns.styles.js +11 -0
  158. package/dist/styles/patterns.styles.js.map +1 -1
  159. package/dist/styles/tokens.styles.d.ts +1 -0
  160. package/dist/styles/tokens.styles.d.ts.map +1 -1
  161. package/dist/styles/tokens.styles.js.map +1 -1
  162. package/docs/data-components.md +34 -5
  163. package/docs/disclosure.md +28 -8
  164. package/docs/feedback.md +25 -2
  165. package/docs/form-controls.md +289 -33
  166. package/docs/hooks.md +19 -7
  167. package/docs/layout.md +12 -0
  168. package/docs/providers.md +120 -8
  169. package/docs/styling.md +90 -0
  170. package/package.json +3 -3
  171. package/src/components/data/Pagination.tsx +20 -21
  172. package/src/components/data/Table.tsx +1 -1
  173. package/src/components/data/calendar/Calendar.tsx +1 -1
  174. package/src/components/data/kanban/Kanban.tsx +18 -25
  175. package/src/components/data/sheet/DataSheet.styles.ts +1 -1
  176. package/src/components/data/sheet/DataSheet.tsx +122 -131
  177. package/src/components/data/sheet/types.ts +2 -2
  178. package/src/components/disclosure/Dialog.tsx +87 -100
  179. package/src/components/disclosure/DialogContext.ts +4 -4
  180. package/src/components/disclosure/DialogProvider.tsx +4 -4
  181. package/src/components/feedback/Progress.tsx +9 -5
  182. package/src/components/feedback/busy/BusyContainer.tsx +9 -5
  183. package/src/components/feedback/notification/NotificationBanner.tsx +1 -1
  184. package/src/components/feedback/notification/NotificationBell.tsx +4 -12
  185. package/src/components/feedback/notification/NotificationProvider.tsx +1 -0
  186. package/src/components/form-control/Invalid.tsx +114 -52
  187. package/src/components/form-control/ThemeToggle.tsx +4 -17
  188. package/src/components/form-control/checkbox/Checkbox.styles.ts +2 -9
  189. package/src/components/form-control/checkbox/Checkbox.tsx +39 -28
  190. package/src/components/form-control/checkbox/CheckboxGroup.tsx +18 -97
  191. package/src/components/form-control/checkbox/Radio.tsx +39 -28
  192. package/src/components/form-control/checkbox/RadioGroup.tsx +18 -92
  193. package/src/components/form-control/color-picker/ColorPicker.tsx +36 -16
  194. package/src/components/form-control/combobox/Combobox.tsx +43 -33
  195. package/src/components/form-control/editor/EditorToolbar.tsx +3 -14
  196. package/src/components/form-control/field/DatePicker.tsx +99 -97
  197. package/src/components/form-control/field/DateTimePicker.tsx +107 -95
  198. package/src/components/form-control/field/Field.styles.ts +45 -0
  199. package/src/components/form-control/field/FieldPlaceholder.tsx +18 -0
  200. package/src/components/form-control/field/NumberInput.tsx +122 -94
  201. package/src/components/form-control/field/TextInput.tsx +119 -95
  202. package/src/components/form-control/field/Textarea.tsx +124 -98
  203. package/src/components/form-control/field/TimePicker.tsx +101 -75
  204. package/src/components/form-control/select/Select.tsx +52 -44
  205. package/src/components/form-control/state-preset/StatePreset.tsx +2 -8
  206. package/src/components/layout/sidebar/SidebarMenu.tsx +1 -1
  207. package/src/components/layout/sidebar/SidebarUser.tsx +3 -3
  208. package/src/hooks/createItemTemplate.tsx +42 -0
  209. package/src/hooks/createPointerDrag.ts +28 -0
  210. package/src/hooks/createSelectionGroup.tsx +235 -0
  211. package/src/hooks/useLocalStorage.ts +8 -4
  212. package/src/hooks/{createPwaUpdate.ts → usePwaUpdate.ts} +1 -1
  213. package/src/hooks/useSyncConfig.ts +9 -13
  214. package/src/index.ts +1 -3
  215. package/src/providers/InitializeProvider.tsx +2 -2
  216. package/src/providers/ThemeContext.tsx +2 -1
  217. package/src/styles/patterns.styles.ts +12 -0
  218. package/src/styles/tokens.styles.ts +1 -0
  219. package/dist/hooks/createPwaUpdate.d.ts.map +0 -1
  220. package/dist/hooks/createPwaUpdate.js.map +0 -6
@@ -5,18 +5,19 @@ import { setAttribute as _$setAttribute } from "solid-js/web";
5
5
  import { effect as _$effect } from "solid-js/web";
6
6
  import { className as _$className } from "solid-js/web";
7
7
  import { insert as _$insert } from "solid-js/web";
8
- import { memo as _$memo } from "solid-js/web";
9
8
  import { spread as _$spread } from "solid-js/web";
10
9
  import { mergeProps as _$mergeProps } from "solid-js/web";
10
+ import { memo as _$memo } from "solid-js/web";
11
11
  import { createComponent as _$createComponent } from "solid-js/web";
12
- var _tmpl$ = /* @__PURE__ */ _$template(`<div><input type=text inputmode=numeric>`), _tmpl$2 = /* @__PURE__ */ _$template(`<div><div data-number-field-content>`), _tmpl$3 = /* @__PURE__ */ _$template(`<div>`), _tmpl$4 = /* @__PURE__ */ _$template(`<span>`);
13
- import { Show, splitProps, createSignal, createEffect } from "solid-js";
12
+ var _tmpl$ = /* @__PURE__ */ _$template(`<div><input type=text inputmode=numeric>`), _tmpl$2 = /* @__PURE__ */ _$template(`<div><div data-number-field-content>`), _tmpl$3 = /* @__PURE__ */ _$template(`<div>`);
13
+ import { createEffect, createMemo, Show, splitProps, createSignal } from "solid-js";
14
14
  import clsx from "clsx";
15
15
  import { twMerge } from "tailwind-merge";
16
16
  import { createControllableSignal } from "../../../hooks/createControllableSignal.js";
17
- import { fieldBaseClass, fieldSizeClasses, fieldInsetClass, fieldInsetHeightClass, fieldInsetSizeHeightClasses, fieldDisabledClass, fieldInputClass } from "./Field.styles.js";
18
- import { textMuted } from "../../../styles/tokens.styles.js";
17
+ import { fieldInputClass, fieldGapClasses, getFieldWrapperClass } from "./Field.styles.js";
19
18
  import { Icon } from "../../display/Icon.js";
19
+ import { PlaceholderFallback } from "./FieldPlaceholder.js";
20
+ import { Invalid } from "../../form-control/Invalid.js";
20
21
  const numberInputClass = clsx(fieldInputClass, "text-right", "[&::-webkit-outer-spin-button]:appearance-none", "[&::-webkit-inner-spin-button]:appearance-none");
21
22
  function formatNumber(value, useComma, minDigits) {
22
23
  if (value == null) return "";
@@ -55,7 +56,7 @@ function isValidNumberInput(str) {
55
56
  return /^-?\d*\.?\d*$/.test(cleanStr);
56
57
  }
57
58
  const NumberInput = (props) => {
58
- const [local, rest] = splitProps(props, ["value", "onValueChange", "comma", "minDigits", "placeholder", "title", "disabled", "readonly", "size", "inset", "prefixIcon", "class", "style"]);
59
+ const [local, rest] = splitProps(props, ["value", "onValueChange", "comma", "minDigits", "placeholder", "title", "disabled", "readonly", "size", "inset", "prefixIcon", "required", "min", "max", "validate", "touchMode", "class", "style"]);
59
60
  const [inputStr, setInputStr] = createSignal("");
60
61
  const [isEditing, setIsEditing] = createSignal(false);
61
62
  const [value, setValue] = createControllableSignal({
@@ -98,7 +99,13 @@ const NumberInput = (props) => {
98
99
  setIsEditing(false);
99
100
  setInputStr(formatNumber(value(), local.comma ?? true, local.minDigits));
100
101
  };
101
- const getWrapperClass = (includeCustomClass) => twMerge(fieldBaseClass, local.prefixIcon && (local.size === "sm" ? "gap-1.5" : local.size === "lg" ? "gap-3" : local.size === "xl" ? "gap-4" : "gap-2"), local.size && fieldSizeClasses[local.size], local.disabled && fieldDisabledClass, local.inset && fieldInsetClass, local.inset && (local.size ? fieldInsetSizeHeightClasses[local.size] : fieldInsetHeightClass), includeCustomClass && local.class);
102
+ const getWrapperClass = (includeCustomClass) => getFieldWrapperClass({
103
+ size: local.size,
104
+ disabled: local.disabled,
105
+ inset: local.inset,
106
+ includeCustomClass: includeCustomClass && local.class,
107
+ extra: local.prefixIcon && fieldGapClasses[local.size ?? "default"]
108
+ });
102
109
  const isEditable = () => !local.disabled && !local.readonly;
103
110
  const prefixIconEl = () => _$createComponent(Show, {
104
111
  get when() {
@@ -113,129 +120,156 @@ const NumberInput = (props) => {
113
120
  });
114
121
  }
115
122
  });
116
- return _$createComponent(Show, {
117
- get when() {
118
- return local.inset;
123
+ const errorMsg = createMemo(() => {
124
+ var _a;
125
+ const v = value();
126
+ if (local.required && v === void 0) return "\uD544\uC218 \uC785\uB825 \uD56D\uBAA9\uC785\uB2C8\uB2E4";
127
+ if (v !== void 0) {
128
+ if (local.min !== void 0 && v < local.min) return `\uCD5C\uC19F\uAC12\uC740 ${local.min}\uC785\uB2C8\uB2E4`;
129
+ if (local.max !== void 0 && v > local.max) return `\uCD5C\uB313\uAC12\uC740 ${local.max}\uC785\uB2C8\uB2E4`;
130
+ }
131
+ return (_a = local.validate) == null ? void 0 : _a.call(local, v);
132
+ });
133
+ return _$createComponent(Invalid, {
134
+ get message() {
135
+ return errorMsg();
119
136
  },
120
- get fallback() {
121
- return (
122
- // standalone 모드: 기존 Show 패턴 유지
123
- _$createComponent(Show, {
124
- get when() {
125
- return isEditable();
126
- },
127
- get fallback() {
128
- return (() => {
129
- var _el$7 = _tmpl$3();
130
- _$spread(_el$7, _$mergeProps(rest, {
131
- "data-number-field": "",
132
- get ["class"]() {
133
- return twMerge(getWrapperClass(true), "sd-number-field", "justify-end");
134
- },
135
- get style() {
136
- return local.style;
137
- },
138
- get title() {
139
- return local.title;
140
- }
141
- }), false, true);
142
- _$insert(_el$7, prefixIconEl, null);
143
- _$insert(_el$7, () => formatNumber(value(), local.comma ?? true, local.minDigits) || (local.placeholder != null && local.placeholder !== "" ? (() => {
144
- var _el$8 = _tmpl$4();
145
- _$className(_el$8, textMuted);
146
- _$insert(_el$8, () => local.placeholder);
147
- return _el$8;
148
- })() : "\xA0"), null);
149
- return _el$7;
150
- })();
151
- },
152
- get children() {
153
- var _el$5 = _tmpl$(), _el$6 = _el$5.firstChild;
154
- _$spread(_el$5, _$mergeProps(rest, {
155
- "data-number-field": "",
156
- get ["class"]() {
157
- return getWrapperClass(true);
158
- },
159
- get style() {
160
- return local.style;
161
- }
162
- }), false, true);
163
- _$insert(_el$5, prefixIconEl, _el$6);
164
- _el$6.addEventListener("blur", handleBlur);
165
- _el$6.addEventListener("focus", handleFocus);
166
- _el$6.$$input = handleInput;
167
- _$className(_el$6, numberInputClass);
168
- _$effect((_p$) => {
169
- var _v$7 = local.placeholder, _v$8 = local.title;
170
- _v$7 !== _p$.e && _$setAttribute(_el$6, "placeholder", _p$.e = _v$7);
171
- _v$8 !== _p$.t && _$setAttribute(_el$6, "title", _p$.t = _v$8);
172
- return _p$;
173
- }, {
174
- e: void 0,
175
- t: void 0
176
- });
177
- _$effect(() => _el$6.value = displayValue());
178
- return _el$5;
179
- }
180
- })
181
- );
137
+ get variant() {
138
+ return local.inset ? "dot" : "border";
139
+ },
140
+ get touchMode() {
141
+ return local.touchMode;
182
142
  },
183
143
  get children() {
184
- var _el$ = _tmpl$2(), _el$2 = _el$.firstChild;
185
- _$spread(_el$, _$mergeProps(rest, {
186
- "data-number-field": "",
187
- get ["class"]() {
188
- return clsx("relative", local.class);
189
- },
190
- get style() {
191
- return local.style;
192
- }
193
- }), false, true);
194
- _$insert(_el$2, prefixIconEl, null);
195
- _$insert(_el$2, () => formatNumber(value(), local.comma ?? true, local.minDigits) || (local.placeholder != null && local.placeholder !== "" ? (() => {
196
- var _el$9 = _tmpl$4();
197
- _$className(_el$9, textMuted);
198
- _$insert(_el$9, () => local.placeholder);
199
- return _el$9;
200
- })() : "\xA0"), null);
201
- _$insert(_el$, _$createComponent(Show, {
144
+ return _$createComponent(Show, {
202
145
  get when() {
203
- return isEditable();
146
+ return local.inset;
147
+ },
148
+ get fallback() {
149
+ return (
150
+ // standalone 모드: 기존 Show 패턴 유지
151
+ _$createComponent(Show, {
152
+ get when() {
153
+ return isEditable();
154
+ },
155
+ get fallback() {
156
+ return (() => {
157
+ var _el$7 = _tmpl$3();
158
+ _$spread(_el$7, _$mergeProps(rest, {
159
+ "data-number-field": "",
160
+ get ["class"]() {
161
+ return twMerge(getWrapperClass(true), "sd-number-field", "justify-end");
162
+ },
163
+ get style() {
164
+ return local.style;
165
+ },
166
+ get title() {
167
+ return local.title;
168
+ }
169
+ }), false, true);
170
+ _$insert(_el$7, prefixIconEl, null);
171
+ _$insert(_el$7, _$createComponent(PlaceholderFallback, {
172
+ get value() {
173
+ return formatNumber(value(), local.comma ?? true, local.minDigits);
174
+ },
175
+ get placeholder() {
176
+ return local.placeholder;
177
+ }
178
+ }), null);
179
+ return _el$7;
180
+ })();
181
+ },
182
+ get children() {
183
+ var _el$5 = _tmpl$(), _el$6 = _el$5.firstChild;
184
+ _$spread(_el$5, _$mergeProps(rest, {
185
+ "data-number-field": "",
186
+ get ["class"]() {
187
+ return getWrapperClass(true);
188
+ },
189
+ get style() {
190
+ return local.style;
191
+ }
192
+ }), false, true);
193
+ _$insert(_el$5, prefixIconEl, _el$6);
194
+ _el$6.addEventListener("blur", handleBlur);
195
+ _el$6.addEventListener("focus", handleFocus);
196
+ _el$6.$$input = handleInput;
197
+ _$className(_el$6, numberInputClass);
198
+ _$effect((_p$) => {
199
+ var _v$7 = local.placeholder, _v$8 = local.title;
200
+ _v$7 !== _p$.e && _$setAttribute(_el$6, "placeholder", _p$.e = _v$7);
201
+ _v$8 !== _p$.t && _$setAttribute(_el$6, "title", _p$.t = _v$8);
202
+ return _p$;
203
+ }, {
204
+ e: void 0,
205
+ t: void 0
206
+ });
207
+ _$effect(() => _el$6.value = displayValue());
208
+ return _el$5;
209
+ }
210
+ })
211
+ );
204
212
  },
205
213
  get children() {
206
- var _el$3 = _tmpl$(), _el$4 = _el$3.firstChild;
207
- _$insert(_el$3, prefixIconEl, _el$4);
208
- _el$4.addEventListener("blur", handleBlur);
209
- _el$4.addEventListener("focus", handleFocus);
210
- _el$4.$$input = handleInput;
211
- _$className(_el$4, numberInputClass);
214
+ var _el$ = _tmpl$2(), _el$2 = _el$.firstChild;
215
+ _$spread(_el$, _$mergeProps(rest, {
216
+ "data-number-field": "",
217
+ get ["class"]() {
218
+ return clsx("relative", local.class);
219
+ },
220
+ get style() {
221
+ return local.style;
222
+ }
223
+ }), false, true);
224
+ _$insert(_el$2, prefixIconEl, null);
225
+ _$insert(_el$2, _$createComponent(PlaceholderFallback, {
226
+ get value() {
227
+ return formatNumber(value(), local.comma ?? true, local.minDigits);
228
+ },
229
+ get placeholder() {
230
+ return local.placeholder;
231
+ }
232
+ }), null);
233
+ _$insert(_el$, _$createComponent(Show, {
234
+ get when() {
235
+ return isEditable();
236
+ },
237
+ get children() {
238
+ var _el$3 = _tmpl$(), _el$4 = _el$3.firstChild;
239
+ _$insert(_el$3, prefixIconEl, _el$4);
240
+ _el$4.addEventListener("blur", handleBlur);
241
+ _el$4.addEventListener("focus", handleFocus);
242
+ _el$4.$$input = handleInput;
243
+ _$className(_el$4, numberInputClass);
244
+ _$effect((_p$) => {
245
+ var _v$ = twMerge(getWrapperClass(false), "absolute left-0 top-0 size-full"), _v$2 = local.placeholder, _v$3 = local.title;
246
+ _v$ !== _p$.e && _$className(_el$3, _p$.e = _v$);
247
+ _v$2 !== _p$.t && _$setAttribute(_el$4, "placeholder", _p$.t = _v$2);
248
+ _v$3 !== _p$.a && _$setAttribute(_el$4, "title", _p$.a = _v$3);
249
+ return _p$;
250
+ }, {
251
+ e: void 0,
252
+ t: void 0,
253
+ a: void 0
254
+ });
255
+ _$effect(() => _el$4.value = displayValue());
256
+ return _el$3;
257
+ }
258
+ }), null);
212
259
  _$effect((_p$) => {
213
- var _v$ = twMerge(getWrapperClass(false), "absolute left-0 top-0 size-full"), _v$2 = local.placeholder, _v$3 = local.title;
214
- _v$ !== _p$.e && _$className(_el$3, _p$.e = _v$);
215
- _v$2 !== _p$.t && _$setAttribute(_el$4, "placeholder", _p$.t = _v$2);
216
- _v$3 !== _p$.a && _$setAttribute(_el$4, "title", _p$.a = _v$3);
260
+ var _v$4 = twMerge(getWrapperClass(false), "justify-end"), _v$5 = isEditable() ? "hidden" : void 0, _v$6 = local.title;
261
+ _v$4 !== _p$.e && _$className(_el$2, _p$.e = _v$4);
262
+ _v$5 !== _p$.t && _$setStyleProperty(_el$2, "visibility", _p$.t = _v$5);
263
+ _v$6 !== _p$.a && _$setAttribute(_el$2, "title", _p$.a = _v$6);
217
264
  return _p$;
218
265
  }, {
219
266
  e: void 0,
220
267
  t: void 0,
221
268
  a: void 0
222
269
  });
223
- _$effect(() => _el$4.value = displayValue());
224
- return _el$3;
270
+ return _el$;
225
271
  }
226
- }), null);
227
- _$effect((_p$) => {
228
- var _v$4 = twMerge(getWrapperClass(false), "justify-end"), _v$5 = isEditable() ? "hidden" : void 0, _v$6 = local.title;
229
- _v$4 !== _p$.e && _$className(_el$2, _p$.e = _v$4);
230
- _v$5 !== _p$.t && _$setStyleProperty(_el$2, "visibility", _p$.t = _v$5);
231
- _v$6 !== _p$.a && _$setAttribute(_el$2, "title", _p$.a = _v$6);
232
- return _p$;
233
- }, {
234
- e: void 0,
235
- t: void 0,
236
- a: void 0
237
272
  });
238
- return _el$;
239
273
  }
240
274
  });
241
275
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/form-control/field/NumberInput.tsx"],
4
- "mappings": ";;;;;;;;;;;;AAAA,SAAmCA,MAAMC,YAAYC,cAAcC,oBAAoB;AACvF,OAAOC,UAAU;AACjB,SAASC,eAAe;AAExB,SAASC,gCAAgC;AACzC,SAEEC,gBACAC,kBACAC,iBACAC,uBACAC,6BACAC,oBACAC,uBACK;AACP,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AAGrB,MAAMC,mBAAmBZ,KACvBS,iBACA,cACA,kDACA,gDACF;AAkDA,SAASI,aAAaC,OAA2BC,UAAmBC,WAA4B;AAC9F,MAAIF,SAAS,KAAM,QAAO;AAE1B,MAAIG;AAEJ,MAAID,aAAa,QAAQA,YAAY,GAAG;AAEtC,UAAME,WAAWC,OAAOL,KAAK;AAC7B,UAAMM,eAAeF,SAASG,QAAQ,GAAG;AACzC,UAAMC,gBAAgBF,gBAAgB,IAAIF,SAASK,SAASH,eAAe,IAAI;AAG/E,QAAIE,gBAAgBN,WAAW;AAC7BC,eAASH,MAAMU,QAAQR,SAAS;IAClC,OAAO;AACLC,eAASC;IACX;EACF,OAAO;AACLD,aAASE,OAAOL,KAAK;EACvB;AAEA,MAAIC,UAAU;AAEZ,UAAMU,WAAWR,OAAOI,QAAQ,GAAG;AACnC,UAAMK,cAAcD,YAAY,IAAIR,OAAOU,MAAM,GAAGF,QAAQ,IAAIR;AAChE,UAAMW,cAAcH,YAAY,IAAIR,OAAOU,MAAMF,WAAW,CAAC,IAAI;AAEjE,UAAMI,mBAAmBH,YAAYI,QAAQ,yBAAyB,GAAG;AACzEb,aAASW,gBAAgB,OAAO,GAAGC,gBAAgB,IAAID,WAAW,KAAKC;EACzE;AAEA,SAAOZ;AACT;AAOA,SAASc,YAAYC,KAAiC;AACpD,MAAIA,QAAQ,MAAMA,QAAQ,IAAK,QAAOC;AAGtC,QAAMC,WAAWF,IAAIF,QAAQ,MAAM,EAAE;AAGrC,QAAMK,MAAMC,OAAOF,QAAQ;AAE3B,MAAIE,OAAOC,MAAMF,GAAG,EAAG,QAAOF;AAE9B,SAAOE;AACT;AAOA,SAASG,mBAAmBN,KAAsB;AAChD,MAAIA,QAAQ,MAAMA,QAAQ,OAAOA,QAAQ,IAAK,QAAO;AAGrD,QAAME,WAAWF,IAAIF,QAAQ,MAAM,EAAE;AAIrC,SAAO,gBAAgBS,KAAKL,QAAQ;AACtC;AAiBO,MAAMM,cAA4CC,WAAU;AACjE,QAAM,CAACC,OAAOC,IAAI,IAAI9C,WAAW4C,OAAO,CACtC,SACA,iBACA,SACA,aACA,eACA,SACA,YACA,YACA,QACA,SACA,cACA,SACA,OAAO,CACR;AAGD,QAAM,CAACG,UAAUC,WAAW,IAAI/C,aAAqB,EAAE;AACvD,QAAM,CAACgD,WAAWC,YAAY,IAAIjD,aAAa,KAAK;AAGpD,QAAM,CAACgB,OAAOkC,QAAQ,IAAI9C,yBAAyB;IACjDY,OAAOA,MAAM4B,MAAM5B;IACnBmC,UAAUA,MAAMP,MAAMQ;EACxB,CAAC;AAGDnD,eAAa,MAAM;AACjB,UAAMoD,MAAMrC,MAAM;AAClB,QAAI,CAACgC,UAAU,GAAG;AAChBD,kBAAYhC,aAAasC,KAAKT,MAAMU,SAAS,MAAMV,MAAM1B,SAAS,CAAC;IACrE;EACF,CAAC;AAGD,QAAMqC,eAAeA,MAAM;AACzB,QAAIP,UAAU,GAAG;AACf,aAAOF,SAAS;IAClB;AACA,WAAO/B,aAAaC,MAAM,GAAG4B,MAAMU,SAAS,MAAMV,MAAM1B,SAAS;EACnE;AAGA,QAAMsC,cAAoEC,OAAM;AAC9E,UAAMC,WAAWD,EAAEE,cAAc3C;AAGjC,QAAI,CAACwB,mBAAmBkB,QAAQ,GAAG;AAEjCD,QAAEE,cAAc3C,QAAQ8B,SAAS;AACjC;IACF;AAEAC,gBAAYW,QAAQ;AACpBT,iBAAa,IAAI;AAGjB,UAAMZ,MAAMJ,YAAYyB,QAAQ;AAChCR,aAASb,GAAG;EACd;AAGA,QAAMuB,cAAmEA,MAAM;AAC7EX,iBAAa,IAAI;AAEjB,UAAMI,MAAMrC,MAAM;AAClB,QAAIqC,OAAO,MAAM;AACfN,kBAAY1B,OAAOgC,GAAG,CAAC;IACzB,OAAO;AACLN,kBAAY,EAAE;IAChB;EACF;AAGA,QAAMc,aAAkEA,MAAM;AAC5EZ,iBAAa,KAAK;AAElBF,gBAAYhC,aAAaC,MAAM,GAAG4B,MAAMU,SAAS,MAAMV,MAAM1B,SAAS,CAAC;EACzE;AAGA,QAAM4C,kBAAmBC,wBACvB5D,QACEE,gBACAuC,MAAMoB,eACHpB,MAAMqB,SAAS,OACZ,YACArB,MAAMqB,SAAS,OACb,UACArB,MAAMqB,SAAS,OACb,UACA,UACVrB,MAAMqB,QAAQ3D,iBAAiBsC,MAAMqB,IAAI,GACzCrB,MAAMsB,YAAYxD,oBAClBkC,MAAMuB,SAAS5D,iBACfqC,MAAMuB,UAAUvB,MAAMqB,OAAOxD,4BAA4BmC,MAAMqB,IAAI,IAAIzD,wBAEvEuD,sBAAsBnB,MAAMwB,KAC9B;AAEF,QAAMC,aAAaA,MAAM,CAACzB,MAAMsB,YAAY,CAACtB,MAAM0B;AAEnD,QAAMC,eAAeA,MAAAC,kBAClB1E,MAAI;IAAA,IAAC2E,OAAI;AAAA,aAAE7B,MAAMoB;IAAU;IAAA,IAAAU,WAAA;AAAA,aAAAF,kBACzB3D,MAAI;QAAA,IAAC8D,OAAI;AAAA,iBAAE/B,MAAMoB;QAAU;QAAA,SAAA;MAAA,CAAA;IAAA;EAAA,CAAA;AAIhC,SAAAQ,kBACG1E,MAAI;IAAA,IACH2E,OAAI;AAAA,aAAE7B,MAAMuB;IAAK;IAAA,IACjBS,WAAQ;AAAA;;QACNJ,kBACC1E,MAAI;UAAA,IACH2E,OAAI;AAAA,mBAAEJ,WAAW;UAAC;UAAA,IAClBO,WAAQ;AAAA,oBAAA,MAAA;AAAA,kBAAAC,QAAAC,QAAA;AAAAC,uBAAAF,OAAAG,aAEAnC,MAAI;gBAAA,qBAAA;gBAAA,KAAA,OAAA,IAAA;AAAA,yBAED1C,QAAQ2D,gBAAgB,IAAI,GAAG,mBAAmB,aAAa;gBAAC;gBAAA,IACvEmB,QAAK;AAAA,yBAAErC,MAAMqC;gBAAK;gBAAA,IAClBC,QAAK;AAAA,yBAAEtC,MAAMsC;gBAAK;cAAA,CAAA,GAAA,OAAA,IAAA;AAAAC,uBAAAN,OAEjBN,cAAY,IAAA;AAAAY,uBAAAN,OAAA,MACZ9D,aAAaC,MAAM,GAAG4B,MAAMU,SAAS,MAAMV,MAAM1B,SAAS,MACxD0B,MAAMwC,eAAe,QAAQxC,MAAMwC,gBAAgB,MAAE,MAAA;AAAA,oBAAAC,QAAAC,QAAA;AAAAC,4BAAAF,OACvCzE,SAAS;AAAAuE,yBAAAE,OAAA,MAAGzC,MAAMwC,WAAW;AAAA,uBAAAC;cAAA,GAAA,IAE1C,SACA,IAAA;AAAA,qBAAAR;YAAA,GAAA;UAAA;UAAA,IAAAH,WAAA;AAAA,gBAAAc,QAAAC,OAAA,GAAAC,QAAAF,MAAAG;AAAAZ,qBAAAS,OAAAR,aAICnC,MAAI;cAAA,qBAAA;cAAA,KAAA,OAAA,IAAA;AAAA,uBAA2BiB,gBAAgB,IAAI;cAAC;cAAA,IAAEmB,QAAK;AAAA,uBAAErC,MAAMqC;cAAK;YAAA,CAAA,GAAA,OAAA,IAAA;AAAAE,qBAAAK,OAC9EjB,cAAYmB,KAAA;AAAAA,kBAAAE,iBAAA,QAUH/B,UAAU;AAAA6B,kBAAAE,iBAAA,SADThC,WAAW;AAAA8B,kBAAAG,UADXrC;AAAW+B,wBAAAG,OAJb5E,gBAAgB;AAAAgF,qBAAAC,SAAA;AAAA,kBAAAC,OAEVpD,MAAMwC,aAAWa,OACvBrD,MAAMsC;AAAKc,uBAAAD,IAAAtC,KAAAyC,eAAAR,OAAA,eAAAK,IAAAtC,IAAAuC,IAAA;AAAAC,uBAAAF,IAAAI,KAAAD,eAAAR,OAAA,SAAAK,IAAAI,IAAAF,IAAA;AAAA,qBAAAF;YAAA,GAAA;cAAAtC,GAAAtB;cAAAgE,GAAAhE;YAAA,CAAA;AAAA2D,qBAAA,MAAAJ,MAAA1E,QAFXuC,aAAa,CAAC;AAAA,mBAAAiC;UAAA;QAAA,CAAA;;IAAA;IAAA,IAAAd,WAAA;AAAA,UAAA0B,OAAAC,QAAA,GAAAC,QAAAF,KAAAT;AAAAZ,eAAAqB,MAAApB,aAYpBnC,MAAI;QAAA,qBAAA;QAAA,KAAA,OAAA,IAAA;AAAA,iBAA2B3C,KAAK,YAAY0C,MAAMwB,KAAK;QAAC;QAAA,IAAEa,QAAK;AAAA,iBAAErC,MAAMqC;QAAK;MAAA,CAAA,GAAA,OAAA,IAAA;AAAAE,eAAAmB,OAOpF/B,cAAY,IAAA;AAAAY,eAAAmB,OAAA,MACZvF,aAAaC,MAAM,GAAG4B,MAAMU,SAAS,MAAMV,MAAM1B,SAAS,MACxD0B,MAAMwC,eAAe,QAAQxC,MAAMwC,gBAAgB,MAAE,MAAA;AAAA,YAAAmB,QAAAjB,QAAA;AAAAC,oBAAAgB,OACvC3F,SAAS;AAAAuE,iBAAAoB,OAAA,MAAG3D,MAAMwC,WAAW;AAAA,eAAAmB;MAAA,GAAA,IAE1C,SACA,IAAA;AAAApB,eAAAiB,MAAA5B,kBAGL1E,MAAI;QAAA,IAAC2E,OAAI;AAAA,iBAAEJ,WAAW;QAAC;QAAA,IAAAK,WAAA;AAAA,cAAA8B,QAAAf,OAAA,GAAAgB,QAAAD,MAAAb;AAAAR,mBAAAqB,OAEnBjC,cAAYkC,KAAA;AAAAA,gBAAAb,iBAAA,QAUH/B,UAAU;AAAA4C,gBAAAb,iBAAA,SADThC,WAAW;AAAA6C,gBAAAZ,UADXrC;AAAW+B,sBAAAkB,OAJb3F,gBAAgB;AAAAgF,mBAAAC,SAAA;AAAA,gBAAAW,MALfvG,QAAQ2D,gBAAgB,KAAK,GAAG,iCAAiC,GAAC6C,OAO7D/D,MAAMwC,aAAWwB,OACvBhE,MAAMsC;AAAKwB,oBAAAX,IAAAtC,KAAA8B,YAAAiB,OAAAT,IAAAtC,IAAAiD,GAAA;AAAAC,qBAAAZ,IAAAI,KAAAD,eAAAO,OAAA,eAAAV,IAAAI,IAAAQ,IAAA;AAAAC,qBAAAb,IAAAc,KAAAX,eAAAO,OAAA,SAAAV,IAAAc,IAAAD,IAAA;AAAA,mBAAAb;UAAA,GAAA;YAAAtC,GAAAtB;YAAAgE,GAAAhE;YAAA0E,GAAA1E;UAAA,CAAA;AAAA2D,mBAAA,MAAAW,MAAAzF,QAFXuC,aAAa,CAAC;AAAA,iBAAAiD;QAAA;MAAA,CAAA,GAAA,IAAA;AAAAV,eAAAC,SAAA;AAAA,YAAAe,OApBlB3G,QAAQ2D,gBAAgB,KAAK,GAAG,aAAa,GAACiD,OAChC1C,WAAW,IAAI,WAAWlC,QAAS6E,OACjDpE,MAAMsC;AAAK4B,iBAAAf,IAAAtC,KAAA8B,YAAAe,OAAAP,IAAAtC,IAAAqD,IAAA;AAAAC,iBAAAhB,IAAAI,KAAAc,mBAAAX,OAAA,cAAAP,IAAAI,IAAAY,IAAA;AAAAC,iBAAAjB,IAAAc,KAAAX,eAAAI,OAAA,SAAAP,IAAAc,IAAAG,IAAA;AAAA,eAAAjB;MAAA,GAAA;QAAAtC,GAAAtB;QAAAgE,GAAAhE;QAAA0E,GAAA1E;MAAA,CAAA;AAAA,aAAAiE;IAAA;EAAA,CAAA;AA8B5B;AAAEc,iBAAA,CAAA,OAAA,CAAA;",
5
- "names": ["Show", "splitProps", "createSignal", "createEffect", "clsx", "twMerge", "createControllableSignal", "fieldBaseClass", "fieldSizeClasses", "fieldInsetClass", "fieldInsetHeightClass", "fieldInsetSizeHeightClasses", "fieldDisabledClass", "fieldInputClass", "textMuted", "Icon", "numberInputClass", "formatNumber", "value", "useComma", "minDigits", "result", "valueStr", "String", "decimalIndex", "indexOf", "currentDigits", "length", "toFixed", "dotIndex", "integerPart", "slice", "decimalPart", "formattedInteger", "replace", "parseNumber", "str", "undefined", "cleanStr", "num", "Number", "isNaN", "isValidNumberInput", "test", "NumberInput", "props", "local", "rest", "inputStr", "setInputStr", "isEditing", "setIsEditing", "setValue", "onChange", "onValueChange", "val", "comma", "displayValue", "handleInput", "e", "newValue", "currentTarget", "handleFocus", "handleBlur", "getWrapperClass", "includeCustomClass", "prefixIcon", "size", "disabled", "inset", "class", "isEditable", "readonly", "prefixIconEl", "_$createComponent", "when", "children", "icon", "fallback", "_el$7", "_tmpl$3", "_$spread", "_$mergeProps", "style", "title", "_$insert", "placeholder", "_el$8", "_tmpl$4", "_$className", "_el$5", "_tmpl$", "_el$6", "firstChild", "addEventListener", "$$input", "_$effect", "_p$", "_v$7", "_v$8", "_$setAttribute", "t", "_el$", "_tmpl$2", "_el$2", "_el$9", "_el$3", "_el$4", "_v$", "_v$2", "_v$3", "a", "_v$4", "_v$5", "_v$6", "_$setStyleProperty", "_$delegateEvents"]
4
+ "mappings": "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",
5
+ "names": ["createEffect", "createMemo", "Show", "splitProps", "createSignal", "clsx", "twMerge", "createControllableSignal", "fieldInputClass", "fieldGapClasses", "getFieldWrapperClass", "Icon", "PlaceholderFallback", "Invalid", "numberInputClass", "formatNumber", "value", "useComma", "minDigits", "result", "valueStr", "String", "decimalIndex", "indexOf", "currentDigits", "length", "toFixed", "dotIndex", "integerPart", "slice", "decimalPart", "formattedInteger", "replace", "parseNumber", "str", "undefined", "cleanStr", "num", "Number", "isNaN", "isValidNumberInput", "test", "NumberInput", "props", "local", "rest", "inputStr", "setInputStr", "isEditing", "setIsEditing", "setValue", "onChange", "onValueChange", "val", "comma", "displayValue", "handleInput", "e", "newValue", "currentTarget", "handleFocus", "handleBlur", "getWrapperClass", "includeCustomClass", "size", "disabled", "inset", "class", "extra", "prefixIcon", "isEditable", "readonly", "prefixIconEl", "_$createComponent", "when", "children", "icon", "errorMsg", "v", "required", "min", "max", "validate", "message", "variant", "touchMode", "fallback", "_el$7", "_tmpl$3", "_$spread", "_$mergeProps", "style", "title", "_$insert", "placeholder", "_el$5", "_tmpl$", "_el$6", "firstChild", "addEventListener", "$$input", "_$className", "_$effect", "_p$", "_v$7", "_v$8", "_$setAttribute", "t", "_el$", "_tmpl$2", "_el$2", "_el$3", "_el$4", "_v$", "_v$2", "_v$3", "a", "_v$4", "_v$5", "_v$6", "_$setStyleProperty", "_$delegateEvents"]
6
6
  }
@@ -27,6 +27,18 @@ export interface TextInputProps {
27
27
  format?: string;
28
28
  /** 접두 아이콘 */
29
29
  prefixIcon?: Component<TablerIconProps>;
30
+ /** 필수 입력 여부 */
31
+ required?: boolean;
32
+ /** 최소 길이 */
33
+ minLength?: number;
34
+ /** 최대 길이 */
35
+ maxLength?: number;
36
+ /** 입력 패턴 (정규식 문자열) */
37
+ pattern?: string;
38
+ /** 커스텀 유효성 검사 함수 */
39
+ validate?: (value: string) => string | undefined;
40
+ /** touchMode: 포커스 해제 후에만 에러 표시 */
41
+ touchMode?: boolean;
30
42
  /** 커스텀 class */
31
43
  class?: string;
32
44
  /** 커스텀 style */
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../../src/components/form-control/field/TextInput.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAgB,KAAK,GAAG,EAAoB,MAAM,UAAU,CAAC;AAEpF,OAAO,KAAK,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG1E,OAAO,EAOL,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AAIxB,KAAK,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,cAAc;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC,YAAY;IACZ,IAAI,CAAC,EAAE,aAAa,CAAC;IAErB,aAAa;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,eAAe;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,WAAW;IACX,YAAY,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC;IAEpC,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,YAAY;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,UAAU;IACV,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,iBAAiB;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,aAAa;IACb,UAAU,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAExC,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gBAAgB;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;CAC3B;AAgDD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,CAAC,cAAc,CAiL/C,CAAC"}
1
+ {"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../../src/components/form-control/field/TextInput.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAA4B,KAAK,GAAG,EAAoB,MAAM,UAAU,CAAC;AAEhG,OAAO,KAAK,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG1E,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AAKxB,KAAK,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,cAAc;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC,YAAY;IACZ,IAAI,CAAC,EAAE,aAAa,CAAC;IAErB,aAAa;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,eAAe;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,WAAW;IACX,YAAY,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC;IAEpC,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,YAAY;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,UAAU;IACV,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,iBAAiB;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,aAAa;IACb,UAAU,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAExC,eAAe;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,oBAAoB;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAEjD,kCAAkC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gBAAgB;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;CAC3B;AA+CD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS,EAAE,SAAS,CAAC,cAAc,CA2L/C,CAAC"}