@simplysm/solid 13.0.29 → 13.0.30

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
@@ -1,23 +1,24 @@
1
1
  import { template as _$template } from "solid-js/web";
2
2
  import { delegateEvents as _$delegateEvents } from "solid-js/web";
3
3
  import { setStyleProperty as _$setStyleProperty } from "solid-js/web";
4
- import { className as _$className } from "solid-js/web";
5
4
  import { setAttribute as _$setAttribute } from "solid-js/web";
6
5
  import { effect as _$effect } from "solid-js/web";
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(`<input>`), _tmpl$2 = /* @__PURE__ */ _$template(`<div><div data-text-field-content>`), _tmpl$3 = /* @__PURE__ */ _$template(`<div><input>`), _tmpl$4 = /* @__PURE__ */ _$template(`<div>`), _tmpl$5 = /* @__PURE__ */ _$template(`<span>`);
12
+ var _tmpl$ = /* @__PURE__ */ _$template(`<div><input>`), _tmpl$2 = /* @__PURE__ */ _$template(`<div><div data-text-field-content>`), _tmpl$3 = /* @__PURE__ */ _$template(`<div>`);
13
13
  import clsx from "clsx";
14
- import { createEffect, Show, splitProps } from "solid-js";
14
+ import { createEffect, createMemo, Show, splitProps } from "solid-js";
15
15
  import { twMerge } from "tailwind-merge";
16
16
  import { createControllableSignal } from "../../../hooks/createControllableSignal.js";
17
17
  import { createIMEHandler } from "../../../hooks/createIMEHandler.js";
18
- import { fieldBaseClass, fieldDisabledClass, fieldInputClass, fieldInsetClass, fieldInsetHeightClass, fieldInsetSizeHeightClasses, fieldSizeClasses } from "./Field.styles.js";
19
- import { textMuted } from "../../../styles/tokens.styles.js";
18
+ import { fieldGapClasses, fieldInputClass, getFieldWrapperClass } from "./Field.styles.js";
19
+ import { PlaceholderFallback } from "./FieldPlaceholder.js";
20
20
  import { Icon } from "../../display/Icon.js";
21
+ import { Invalid } from "../../form-control/Invalid.js";
21
22
  function applyFormat(value, format) {
22
23
  if (!value || !format) return value;
23
24
  let result = "";
@@ -36,15 +37,14 @@ function removeFormat(formattedValue, format) {
36
37
  if (!formattedValue || !format) return formattedValue;
37
38
  let result = "";
38
39
  for (let i = 0; i < formattedValue.length; i++) {
39
- const formatChar = format[i];
40
- if (formatChar === "X") {
40
+ if (i >= format.length || format[i] === "X") {
41
41
  result += formattedValue[i];
42
42
  }
43
43
  }
44
44
  return result;
45
45
  }
46
46
  const TextInput = (props) => {
47
- const [local, rest] = splitProps(props, ["value", "onValueChange", "type", "placeholder", "title", "autocomplete", "disabled", "readonly", "size", "inset", "format", "prefixIcon", "class", "style"]);
47
+ const [local, rest] = splitProps(props, ["value", "onValueChange", "type", "placeholder", "title", "autocomplete", "disabled", "readonly", "size", "inset", "format", "prefixIcon", "required", "minLength", "maxLength", "pattern", "validate", "touchMode", "class", "style"]);
48
48
  const [value, setValue] = createControllableSignal({
49
49
  value: () => local.value ?? "",
50
50
  onChange: () => local.onValueChange
@@ -81,7 +81,13 @@ const TextInput = (props) => {
81
81
  const handleCompositionEnd = (e) => {
82
82
  ime.handleCompositionEnd(extractValue(e.currentTarget));
83
83
  };
84
- 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);
84
+ const getWrapperClass = (includeCustomClass) => getFieldWrapperClass({
85
+ size: local.size,
86
+ disabled: local.disabled,
87
+ inset: local.inset,
88
+ includeCustomClass: includeCustomClass && local.class,
89
+ extra: local.prefixIcon && fieldGapClasses[local.size ?? "default"]
90
+ });
85
91
  const isEditable = () => !local.disabled && !local.readonly;
86
92
  const prefixIconEl = () => _$createComponent(Show, {
87
93
  get when() {
@@ -101,125 +107,165 @@ const TextInput = (props) => {
101
107
  ime.flushComposition();
102
108
  }
103
109
  });
104
- return _$createComponent(Show, {
105
- get when() {
106
- return local.inset;
110
+ const errorMsg = createMemo(() => {
111
+ var _a;
112
+ const v = value();
113
+ if (local.required && !v) return "\uD544\uC218 \uC785\uB825 \uD56D\uBAA9\uC785\uB2C8\uB2E4";
114
+ if (v) {
115
+ if (local.minLength != null && v.length < local.minLength) return `\uCD5C\uC18C ${local.minLength}\uC790 \uC774\uC0C1 \uC785\uB825\uD558\uC138\uC694`;
116
+ if (local.maxLength != null && v.length > local.maxLength) return `\uCD5C\uB300 ${local.maxLength}\uC790\uAE4C\uC9C0 \uC785\uB825 \uAC00\uB2A5\uD569\uB2C8\uB2E4`;
117
+ if (local.pattern != null && !new RegExp(local.pattern).test(v)) return "\uC785\uB825 \uD615\uC2DD\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4";
118
+ }
119
+ return (_a = local.validate) == null ? void 0 : _a.call(local, v);
120
+ });
121
+ return _$createComponent(Invalid, {
122
+ get message() {
123
+ return errorMsg();
107
124
  },
108
- get fallback() {
109
- return (
110
- // standalone 모드: 기존 Show 패턴 유지
111
- _$createComponent(Show, {
112
- get when() {
113
- return isEditable();
114
- },
115
- get fallback() {
116
- return (() => {
117
- var _el$6 = _tmpl$4();
118
- _$spread(_el$6, _$mergeProps(rest, {
119
- "data-text-field": "",
120
- get ["class"]() {
121
- return twMerge(getWrapperClass(true), "sd-text-field");
122
- },
123
- get style() {
124
- return local.style;
125
- },
126
- get title() {
127
- return local.title;
128
- }
129
- }), false, true);
130
- _$insert(_el$6, prefixIconEl, null);
131
- _$insert(_el$6, () => displayValue() || (local.placeholder != null && local.placeholder !== "" ? (() => {
132
- var _el$7 = _tmpl$5();
133
- _$className(_el$7, textMuted);
134
- _$insert(_el$7, () => local.placeholder);
135
- return _el$7;
136
- })() : "\xA0"), null);
137
- return _el$6;
138
- })();
139
- },
140
- get children() {
141
- var _el$4 = _tmpl$3(), _el$5 = _el$4.firstChild;
142
- _$spread(_el$4, _$mergeProps(rest, {
143
- "data-text-field": "",
144
- get ["class"]() {
145
- return getWrapperClass(true);
146
- },
147
- get style() {
148
- return local.style;
149
- }
150
- }), false, true);
151
- _$insert(_el$4, prefixIconEl, _el$5);
152
- _el$5.addEventListener("compositionend", handleCompositionEnd);
153
- _el$5.addEventListener("compositionstart", handleCompositionStart);
154
- _el$5.$$input = handleInput;
155
- _$className(_el$5, fieldInputClass);
156
- _$effect((_p$) => {
157
- var _v$6 = local.type ?? "text", _v$7 = local.placeholder, _v$8 = local.title, _v$9 = local.autocomplete;
158
- _v$6 !== _p$.e && _$setAttribute(_el$5, "type", _p$.e = _v$6);
159
- _v$7 !== _p$.t && _$setAttribute(_el$5, "placeholder", _p$.t = _v$7);
160
- _v$8 !== _p$.a && _$setAttribute(_el$5, "title", _p$.a = _v$8);
161
- _v$9 !== _p$.o && _$setAttribute(_el$5, "autocomplete", _p$.o = _v$9);
162
- return _p$;
163
- }, {
164
- e: void 0,
165
- t: void 0,
166
- a: void 0,
167
- o: void 0
168
- });
169
- _$effect(() => _el$5.value = inputValue());
170
- return _el$4;
171
- }
172
- })
173
- );
125
+ get variant() {
126
+ return local.inset ? "dot" : "border";
127
+ },
128
+ get touchMode() {
129
+ return local.touchMode;
174
130
  },
175
131
  get children() {
176
- var _el$ = _tmpl$2(), _el$2 = _el$.firstChild;
177
- _$spread(_el$, _$mergeProps(rest, {
178
- "data-text-field": "",
179
- get ["class"]() {
180
- return twMerge(getWrapperClass(false), "relative", local.class);
181
- },
182
- get style() {
183
- return local.style;
184
- }
185
- }), false, true);
186
- _$insert(_el$2, prefixIconEl, null);
187
- _$insert(_el$2, () => displayValue() || (local.placeholder != null && local.placeholder !== "" ? (() => {
188
- var _el$8 = _tmpl$5();
189
- _$className(_el$8, textMuted);
190
- _$insert(_el$8, () => local.placeholder);
191
- return _el$8;
192
- })() : "\xA0"), null);
193
- _$insert(_el$, _$createComponent(Show, {
132
+ return _$createComponent(Show, {
194
133
  get when() {
195
- return isEditable();
134
+ return local.inset;
135
+ },
136
+ get fallback() {
137
+ return (
138
+ // standalone 모드: 기존 Show 패턴 유지
139
+ _$createComponent(Show, {
140
+ get when() {
141
+ return isEditable();
142
+ },
143
+ get fallback() {
144
+ return (() => {
145
+ var _el$7 = _tmpl$3();
146
+ _$spread(_el$7, _$mergeProps(rest, {
147
+ "data-text-field": "",
148
+ get ["class"]() {
149
+ return twMerge(getWrapperClass(true), "sd-text-field");
150
+ },
151
+ get style() {
152
+ return local.style;
153
+ },
154
+ get title() {
155
+ return local.title;
156
+ }
157
+ }), false, true);
158
+ _$insert(_el$7, prefixIconEl, null);
159
+ _$insert(_el$7, _$createComponent(PlaceholderFallback, {
160
+ get value() {
161
+ return displayValue();
162
+ },
163
+ get placeholder() {
164
+ return local.placeholder;
165
+ }
166
+ }), null);
167
+ return _el$7;
168
+ })();
169
+ },
170
+ get children() {
171
+ var _el$5 = _tmpl$(), _el$6 = _el$5.firstChild;
172
+ _$spread(_el$5, _$mergeProps(rest, {
173
+ "data-text-field": "",
174
+ get ["class"]() {
175
+ return getWrapperClass(true);
176
+ },
177
+ get style() {
178
+ return local.style;
179
+ }
180
+ }), false, true);
181
+ _$insert(_el$5, prefixIconEl, _el$6);
182
+ _el$6.addEventListener("compositionend", handleCompositionEnd);
183
+ _el$6.addEventListener("compositionstart", handleCompositionStart);
184
+ _el$6.$$input = handleInput;
185
+ _$className(_el$6, fieldInputClass);
186
+ _$effect((_p$) => {
187
+ var _v$9 = local.type ?? "text", _v$0 = local.placeholder, _v$1 = local.title, _v$10 = local.autocomplete;
188
+ _v$9 !== _p$.e && _$setAttribute(_el$6, "type", _p$.e = _v$9);
189
+ _v$0 !== _p$.t && _$setAttribute(_el$6, "placeholder", _p$.t = _v$0);
190
+ _v$1 !== _p$.a && _$setAttribute(_el$6, "title", _p$.a = _v$1);
191
+ _v$10 !== _p$.o && _$setAttribute(_el$6, "autocomplete", _p$.o = _v$10);
192
+ return _p$;
193
+ }, {
194
+ e: void 0,
195
+ t: void 0,
196
+ a: void 0,
197
+ o: void 0
198
+ });
199
+ _$effect(() => _el$6.value = inputValue());
200
+ return _el$5;
201
+ }
202
+ })
203
+ );
196
204
  },
197
205
  get children() {
198
- var _el$3 = _tmpl$();
199
- _el$3.addEventListener("compositionend", handleCompositionEnd);
200
- _el$3.addEventListener("compositionstart", handleCompositionStart);
201
- _el$3.$$input = handleInput;
206
+ var _el$ = _tmpl$2(), _el$2 = _el$.firstChild;
207
+ _$spread(_el$, _$mergeProps(rest, {
208
+ "data-text-field": "",
209
+ get ["class"]() {
210
+ return clsx("relative", local.class);
211
+ },
212
+ get style() {
213
+ return local.style;
214
+ }
215
+ }), false, true);
216
+ _$insert(_el$2, prefixIconEl, null);
217
+ _$insert(_el$2, _$createComponent(PlaceholderFallback, {
218
+ get value() {
219
+ return displayValue();
220
+ },
221
+ get placeholder() {
222
+ return local.placeholder;
223
+ }
224
+ }), null);
225
+ _$insert(_el$, _$createComponent(Show, {
226
+ get when() {
227
+ return isEditable();
228
+ },
229
+ get children() {
230
+ var _el$3 = _tmpl$(), _el$4 = _el$3.firstChild;
231
+ _$insert(_el$3, prefixIconEl, _el$4);
232
+ _el$4.addEventListener("compositionend", handleCompositionEnd);
233
+ _el$4.addEventListener("compositionstart", handleCompositionStart);
234
+ _el$4.$$input = handleInput;
235
+ _$className(_el$4, fieldInputClass);
236
+ _$effect((_p$) => {
237
+ var _v$ = twMerge(getWrapperClass(false), "absolute left-0 top-0 size-full"), _v$2 = local.type ?? "text", _v$3 = local.placeholder, _v$4 = local.title, _v$5 = local.autocomplete;
238
+ _v$ !== _p$.e && _$className(_el$3, _p$.e = _v$);
239
+ _v$2 !== _p$.t && _$setAttribute(_el$4, "type", _p$.t = _v$2);
240
+ _v$3 !== _p$.a && _$setAttribute(_el$4, "placeholder", _p$.a = _v$3);
241
+ _v$4 !== _p$.o && _$setAttribute(_el$4, "title", _p$.o = _v$4);
242
+ _v$5 !== _p$.i && _$setAttribute(_el$4, "autocomplete", _p$.i = _v$5);
243
+ return _p$;
244
+ }, {
245
+ e: void 0,
246
+ t: void 0,
247
+ a: void 0,
248
+ o: void 0,
249
+ i: void 0
250
+ });
251
+ _$effect(() => _el$4.value = inputValue());
252
+ return _el$3;
253
+ }
254
+ }), null);
202
255
  _$effect((_p$) => {
203
- var _v$ = local.type ?? "text", _v$2 = clsx(fieldInputClass, "absolute left-0 top-0 size-full", "px-2 py-1"), _v$3 = local.placeholder, _v$4 = local.title, _v$5 = local.autocomplete;
204
- _v$ !== _p$.e && _$setAttribute(_el$3, "type", _p$.e = _v$);
205
- _v$2 !== _p$.t && _$className(_el$3, _p$.t = _v$2);
206
- _v$3 !== _p$.a && _$setAttribute(_el$3, "placeholder", _p$.a = _v$3);
207
- _v$4 !== _p$.o && _$setAttribute(_el$3, "title", _p$.o = _v$4);
208
- _v$5 !== _p$.i && _$setAttribute(_el$3, "autocomplete", _p$.i = _v$5);
256
+ var _v$6 = getWrapperClass(false), _v$7 = isEditable() ? "hidden" : void 0, _v$8 = local.title;
257
+ _v$6 !== _p$.e && _$className(_el$2, _p$.e = _v$6);
258
+ _v$7 !== _p$.t && _$setStyleProperty(_el$2, "visibility", _p$.t = _v$7);
259
+ _v$8 !== _p$.a && _$setAttribute(_el$2, "title", _p$.a = _v$8);
209
260
  return _p$;
210
261
  }, {
211
262
  e: void 0,
212
263
  t: void 0,
213
- a: void 0,
214
- o: void 0,
215
- i: void 0
264
+ a: void 0
216
265
  });
217
- _$effect(() => _el$3.value = inputValue());
218
- return _el$3;
266
+ return _el$;
219
267
  }
220
- }), null);
221
- _$effect((_$p) => _$setStyleProperty(_el$2, "visibility", isEditable() ? "hidden" : void 0));
222
- return _el$;
268
+ });
223
269
  }
224
270
  });
225
271
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/form-control/field/TextInput.tsx"],
4
- "mappings": "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",
5
- "names": ["clsx", "createEffect", "Show", "splitProps", "twMerge", "createControllableSignal", "createIMEHandler", "fieldBaseClass", "fieldDisabledClass", "fieldInputClass", "fieldInsetClass", "fieldInsetHeightClass", "fieldInsetSizeHeightClasses", "fieldSizeClasses", "textMuted", "Icon", "applyFormat", "value", "format", "result", "valueIndex", "i", "length", "removeFormat", "formattedValue", "formatChar", "TextInput", "props", "local", "rest", "setValue", "onChange", "onValueChange", "ime", "v", "extractValue", "el", "val", "inputValue", "displayValue", "composing", "composingValue", "handleCompositionStart", "handleInput", "e", "currentTarget", "isComposing", "handleCompositionEnd", "getWrapperClass", "includeCustomClass", "prefixIcon", "size", "disabled", "inset", "class", "isEditable", "readonly", "prefixIconEl", "_$createComponent", "when", "children", "icon", "flushComposition", "fallback", "_el$6", "_tmpl$4", "_$spread", "_$mergeProps", "style", "title", "_$insert", "placeholder", "_el$7", "_tmpl$5", "_$className", "_el$4", "_tmpl$3", "_el$5", "firstChild", "addEventListener", "$$input", "_$effect", "_p$", "_v$6", "type", "_v$7", "_v$8", "_v$9", "autocomplete", "_$setAttribute", "t", "a", "o", "undefined", "_el$", "_tmpl$2", "_el$2", "_el$8", "_el$3", "_tmpl$", "_v$", "_v$2", "_v$3", "_v$4", "_v$5", "_$p", "_$setStyleProperty", "_$delegateEvents"]
4
+ "mappings": "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",
5
+ "names": ["clsx", "createEffect", "createMemo", "Show", "splitProps", "twMerge", "createControllableSignal", "createIMEHandler", "fieldGapClasses", "fieldInputClass", "getFieldWrapperClass", "PlaceholderFallback", "Icon", "Invalid", "applyFormat", "value", "format", "result", "valueIndex", "i", "length", "removeFormat", "formattedValue", "TextInput", "props", "local", "rest", "setValue", "onChange", "onValueChange", "ime", "v", "extractValue", "el", "val", "inputValue", "displayValue", "composing", "composingValue", "handleCompositionStart", "handleInput", "e", "currentTarget", "isComposing", "handleCompositionEnd", "getWrapperClass", "includeCustomClass", "size", "disabled", "inset", "class", "extra", "prefixIcon", "isEditable", "readonly", "prefixIconEl", "_$createComponent", "when", "children", "icon", "flushComposition", "errorMsg", "required", "minLength", "maxLength", "pattern", "RegExp", "test", "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$9", "type", "_v$0", "_v$1", "_v$10", "autocomplete", "_$setAttribute", "t", "a", "o", "undefined", "_el$", "_tmpl$2", "_el$2", "_el$3", "_el$4", "_v$", "_v$2", "_v$3", "_v$4", "_v$5", "_v$6", "_v$7", "_v$8", "_$setStyleProperty", "_$delegateEvents"]
6
6
  }
@@ -19,6 +19,16 @@ export interface TextareaProps {
19
19
  inset?: boolean;
20
20
  /** 최소 줄 수 (기본값: 1) */
21
21
  minRows?: number;
22
+ /** 필수 입력 여부 */
23
+ required?: boolean;
24
+ /** 최소 길이 */
25
+ minLength?: number;
26
+ /** 최대 길이 */
27
+ maxLength?: number;
28
+ /** 커스텀 유효성 검사 함수 */
29
+ validate?: (value: string) => string | undefined;
30
+ /** touchMode: 포커스 해제 후에만 에러 표시 */
31
+ touchMode?: boolean;
22
32
  /** 커스텀 class */
23
33
  class?: string;
24
34
  /** 커스텀 style */
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/components/form-control/field/Textarea.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAgB,KAAK,GAAG,EAAoB,MAAM,UAAU,CAAC;AAIpF,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,aAAa;IAC5B,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,cAAc;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC,aAAa;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,eAAe;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,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,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gBAAgB;IAChB,KAAK,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;CAC3B;AAWD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,CAAC,aAAa,CA0L7C,CAAC"}
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/components/form-control/field/Textarea.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAA4B,KAAK,GAAG,EAAoB,MAAM,UAAU,CAAC;AAIhG,OAAO,EAAE,KAAK,SAAS,EAAgD,MAAM,gBAAgB,CAAC;AAI9F,MAAM,WAAW,aAAa;IAC5B,WAAW;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,cAAc;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAExC,aAAa;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,eAAe;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,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,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,eAAe;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,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;AAWD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,EAAE,SAAS,CAAC,aAAa,CA0M7C,CAAC"}