@simplysm/solid 13.0.69 → 13.0.71

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 (495) hide show
  1. package/README.md +168 -195
  2. package/dist/components/data/calendar/Calendar.d.ts.map +1 -1
  3. package/dist/components/data/calendar/Calendar.js +15 -2
  4. package/dist/components/data/calendar/Calendar.js.map +2 -2
  5. package/dist/components/data/kanban/KanbanContext.js +2 -2
  6. package/dist/components/data/kanban/KanbanContext.js.map +1 -1
  7. package/dist/components/data/list/List.d.ts +8 -8
  8. package/dist/components/data/list/ListContext.d.ts +1 -1
  9. package/dist/components/data/list/ListItem.d.ts +15 -15
  10. package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
  11. package/dist/components/data/sheet/DataSheet.js +6 -4
  12. package/dist/components/data/sheet/DataSheet.js.map +2 -2
  13. package/dist/components/data/sheet/DataSheetConfigDialog.js +8 -8
  14. package/dist/components/data/sheet/DataSheetConfigDialog.js.map +1 -1
  15. package/dist/components/data/sheet/types.d.ts +4 -4
  16. package/dist/components/data/sheet/types.d.ts.map +1 -1
  17. package/dist/components/disclosure/Collapse.d.ts +4 -4
  18. package/dist/components/disclosure/Dialog.d.ts +24 -24
  19. package/dist/components/disclosure/Dialog.d.ts.map +1 -1
  20. package/dist/components/disclosure/Dialog.js +7 -2
  21. package/dist/components/disclosure/Dialog.js.map +2 -2
  22. package/dist/components/disclosure/DialogContext.d.ts +25 -25
  23. package/dist/components/disclosure/DialogContext.d.ts.map +1 -1
  24. package/dist/components/disclosure/DialogContext.js +1 -1
  25. package/dist/components/disclosure/DialogContext.js.map +1 -1
  26. package/dist/components/disclosure/DialogInstanceContext.d.ts +7 -7
  27. package/dist/components/disclosure/DialogInstanceContext.d.ts.map +1 -1
  28. package/dist/components/disclosure/DialogProvider.d.ts +3 -3
  29. package/dist/components/disclosure/Dropdown.d.ts +26 -24
  30. package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
  31. package/dist/components/disclosure/Dropdown.js +24 -8
  32. package/dist/components/disclosure/Dropdown.js.map +2 -2
  33. package/dist/components/disclosure/Tabs.js +1 -1
  34. package/dist/components/disclosure/Tabs.js.map +1 -1
  35. package/dist/components/disclosure/dialogZIndex.d.ts +9 -7
  36. package/dist/components/disclosure/dialogZIndex.d.ts.map +1 -1
  37. package/dist/components/disclosure/dialogZIndex.js +4 -0
  38. package/dist/components/disclosure/dialogZIndex.js.map +1 -1
  39. package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -1
  40. package/dist/components/features/crud-detail/CrudDetail.js +34 -22
  41. package/dist/components/features/crud-detail/CrudDetail.js.map +2 -2
  42. package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -1
  43. package/dist/components/features/crud-sheet/CrudSheet.js +48 -33
  44. package/dist/components/features/crud-sheet/CrudSheet.js.map +2 -2
  45. package/dist/components/features/crudRegistry.d.ts +16 -0
  46. package/dist/components/features/crudRegistry.d.ts.map +1 -0
  47. package/dist/components/features/crudRegistry.js +37 -0
  48. package/dist/components/features/crudRegistry.js.map +6 -0
  49. package/dist/components/features/data-select-button/DataSelectButton.d.ts +14 -14
  50. package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -1
  51. package/dist/components/features/data-select-button/DataSelectButton.js +27 -9
  52. package/dist/components/features/data-select-button/DataSelectButton.js.map +2 -2
  53. package/dist/components/features/permission-table/PermissionTable.d.ts +3 -3
  54. package/dist/components/features/permission-table/PermissionTable.d.ts.map +1 -1
  55. package/dist/components/features/permission-table/PermissionTable.js +74 -85
  56. package/dist/components/features/permission-table/PermissionTable.js.map +2 -2
  57. package/dist/components/features/shared-data/SharedDataSelect.d.ts +12 -12
  58. package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -1
  59. package/dist/components/features/shared-data/SharedDataSelect.js +10 -6
  60. package/dist/components/features/shared-data/SharedDataSelect.js.map +2 -2
  61. package/dist/components/features/shared-data/SharedDataSelectButton.d.ts +10 -10
  62. package/dist/components/features/shared-data/SharedDataSelectButton.d.ts.map +1 -1
  63. package/dist/components/features/shared-data/SharedDataSelectList.d.ts +23 -15
  64. package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -1
  65. package/dist/components/features/shared-data/SharedDataSelectList.js +191 -65
  66. package/dist/components/features/shared-data/SharedDataSelectList.js.map +2 -2
  67. package/dist/components/features/shared-data/SharedDataSelectListContext.d.ts +15 -0
  68. package/dist/components/features/shared-data/SharedDataSelectListContext.d.ts.map +1 -0
  69. package/dist/components/features/shared-data/SharedDataSelectListContext.js +27 -0
  70. package/dist/components/features/shared-data/SharedDataSelectListContext.js.map +6 -0
  71. package/dist/components/feedback/Progress.d.ts +1 -1
  72. package/dist/components/feedback/Progress.d.ts.map +1 -1
  73. package/dist/components/feedback/busy/BusyContainer.d.ts +2 -2
  74. package/dist/components/feedback/busy/BusyContainer.d.ts.map +1 -1
  75. package/dist/components/feedback/busy/BusyContext.d.ts +11 -11
  76. package/dist/components/feedback/busy/BusyContext.d.ts.map +1 -1
  77. package/dist/components/feedback/busy/BusyContext.js +1 -1
  78. package/dist/components/feedback/busy/BusyContext.js.map +1 -1
  79. package/dist/components/feedback/busy/BusyProvider.d.ts +6 -6
  80. package/dist/components/feedback/busy/BusyProvider.d.ts.map +1 -1
  81. package/dist/components/feedback/notification/NotificationBanner.d.ts.map +1 -1
  82. package/dist/components/feedback/notification/NotificationBanner.js +7 -3
  83. package/dist/components/feedback/notification/NotificationBanner.js.map +2 -2
  84. package/dist/components/feedback/notification/NotificationBell.js +2 -2
  85. package/dist/components/feedback/notification/NotificationBell.js.map +1 -1
  86. package/dist/components/feedback/notification/NotificationContext.d.ts +22 -22
  87. package/dist/components/feedback/notification/NotificationContext.d.ts.map +1 -1
  88. package/dist/components/feedback/notification/NotificationContext.js +1 -1
  89. package/dist/components/feedback/notification/NotificationContext.js.map +1 -1
  90. package/dist/components/feedback/notification/NotificationProvider.d.ts +5 -5
  91. package/dist/components/feedback/notification/NotificationProvider.js +1 -1
  92. package/dist/components/feedback/notification/NotificationProvider.js.map +1 -1
  93. package/dist/components/feedback/print/PrintContext.js +1 -1
  94. package/dist/components/feedback/print/PrintContext.js.map +1 -1
  95. package/dist/components/form-control/DropdownTrigger.styles.d.ts +1 -1
  96. package/dist/components/form-control/DropdownTrigger.styles.d.ts.map +1 -1
  97. package/dist/components/form-control/ThemeToggle.d.ts +7 -7
  98. package/dist/components/form-control/ThemeToggle.d.ts.map +1 -1
  99. package/dist/components/form-control/ThemeToggle.js +3 -3
  100. package/dist/components/form-control/checkbox/Checkbox.js +1 -1
  101. package/dist/components/form-control/checkbox/CheckboxGroup.js +1 -1
  102. package/dist/components/form-control/checkbox/Radio.js +1 -1
  103. package/dist/components/form-control/checkbox/RadioGroup.js +1 -1
  104. package/dist/components/form-control/color-picker/ColorPicker.d.ts +12 -12
  105. package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
  106. package/dist/components/form-control/color-picker/ColorPicker.js +2 -2
  107. package/dist/components/form-control/combobox/Combobox.d.ts +22 -22
  108. package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
  109. package/dist/components/form-control/combobox/Combobox.js +2 -2
  110. package/dist/components/form-control/combobox/ComboboxContext.d.ts +4 -4
  111. package/dist/components/form-control/combobox/ComboboxContext.d.ts.map +1 -1
  112. package/dist/components/form-control/combobox/ComboboxContext.js +1 -1
  113. package/dist/components/form-control/combobox/ComboboxContext.js.map +1 -1
  114. package/dist/components/form-control/combobox/ComboboxItem.d.ts +3 -3
  115. package/dist/components/form-control/combobox/ComboboxItem.d.ts.map +1 -1
  116. package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts +14 -14
  117. package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts.map +1 -1
  118. package/dist/components/form-control/date-range-picker/DateRangePicker.js +20 -9
  119. package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -2
  120. package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -1
  121. package/dist/components/form-control/editor/EditorToolbar.js +65 -20
  122. package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
  123. package/dist/components/form-control/editor/RichTextEditor.d.ts +6 -6
  124. package/dist/components/form-control/editor/RichTextEditor.d.ts.map +1 -1
  125. package/dist/components/form-control/editor/RichTextEditor.js +1 -1
  126. package/dist/components/form-control/editor/editor.css +5 -5
  127. package/dist/components/form-control/field/DatePicker.d.ts +22 -22
  128. package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
  129. package/dist/components/form-control/field/DatePicker.js +4 -4
  130. package/dist/components/form-control/field/DatePicker.js.map +1 -1
  131. package/dist/components/form-control/field/DateTimePicker.d.ts +21 -21
  132. package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
  133. package/dist/components/form-control/field/DateTimePicker.js +4 -4
  134. package/dist/components/form-control/field/DateTimePicker.js.map +1 -1
  135. package/dist/components/form-control/field/FieldPlaceholder.d.ts +1 -1
  136. package/dist/components/form-control/field/FieldPlaceholder.d.ts.map +1 -1
  137. package/dist/components/form-control/field/NumberInput.d.ts +23 -23
  138. package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
  139. package/dist/components/form-control/field/NumberInput.js +4 -4
  140. package/dist/components/form-control/field/NumberInput.js.map +1 -1
  141. package/dist/components/form-control/field/TextInput.d.ts +25 -25
  142. package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
  143. package/dist/components/form-control/field/TextInput.js +5 -5
  144. package/dist/components/form-control/field/TextInput.js.map +1 -1
  145. package/dist/components/form-control/field/Textarea.d.ts +19 -19
  146. package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
  147. package/dist/components/form-control/field/Textarea.js +4 -4
  148. package/dist/components/form-control/field/Textarea.js.map +1 -1
  149. package/dist/components/form-control/field/TimePicker.d.ts +20 -20
  150. package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
  151. package/dist/components/form-control/field/TimePicker.js +4 -4
  152. package/dist/components/form-control/field/TimePicker.js.map +1 -1
  153. package/dist/components/form-control/numpad/Numpad.d.ts +11 -11
  154. package/dist/components/form-control/numpad/Numpad.d.ts.map +1 -1
  155. package/dist/components/form-control/select/Select.d.ts +26 -26
  156. package/dist/components/form-control/select/Select.d.ts.map +1 -1
  157. package/dist/components/form-control/select/Select.js +34 -23
  158. package/dist/components/form-control/select/Select.js.map +2 -2
  159. package/dist/components/form-control/select/SelectContext.d.ts +7 -7
  160. package/dist/components/form-control/select/SelectContext.d.ts.map +1 -1
  161. package/dist/components/form-control/select/SelectContext.js +1 -1
  162. package/dist/components/form-control/select/SelectContext.js.map +1 -1
  163. package/dist/components/form-control/select/SelectItem.d.ts +4 -4
  164. package/dist/components/form-control/select/SelectItem.d.ts.map +1 -1
  165. package/dist/components/form-control/state-preset/StatePreset.js +8 -8
  166. package/dist/components/form-control/state-preset/StatePreset.js.map +1 -1
  167. package/dist/components/layout/FormTable.js +4 -4
  168. package/dist/components/layout/sidebar/Sidebar.d.ts +5 -5
  169. package/dist/components/layout/sidebar/SidebarContainer.d.ts +11 -11
  170. package/dist/components/layout/sidebar/SidebarContainer.d.ts.map +1 -1
  171. package/dist/components/layout/sidebar/SidebarContainer.js +6 -1
  172. package/dist/components/layout/sidebar/SidebarContainer.js.map +2 -2
  173. package/dist/components/layout/sidebar/SidebarContext.d.ts +7 -7
  174. package/dist/components/layout/sidebar/SidebarContext.js +1 -1
  175. package/dist/components/layout/sidebar/SidebarContext.js.map +1 -1
  176. package/dist/components/layout/sidebar/SidebarMenu.d.ts +11 -11
  177. package/dist/components/layout/sidebar/SidebarUser.d.ts +14 -14
  178. package/dist/components/layout/topbar/Topbar.d.ts +6 -6
  179. package/dist/components/layout/topbar/Topbar.d.ts.map +1 -1
  180. package/dist/components/layout/topbar/Topbar.js +11 -6
  181. package/dist/components/layout/topbar/Topbar.js.map +2 -2
  182. package/dist/components/layout/topbar/TopbarContainer.d.ts +6 -6
  183. package/dist/components/layout/topbar/TopbarContext.js +2 -2
  184. package/dist/components/layout/topbar/TopbarContext.js.map +1 -1
  185. package/dist/components/layout/topbar/TopbarMenu.d.ts +11 -11
  186. package/dist/components/layout/topbar/TopbarMenu.d.ts.map +1 -1
  187. package/dist/components/layout/topbar/TopbarMenu.js +5 -1
  188. package/dist/components/layout/topbar/TopbarMenu.js.map +2 -2
  189. package/dist/components/layout/topbar/TopbarUser.d.ts +9 -9
  190. package/dist/directives/ripple.d.ts +5 -5
  191. package/dist/helpers/createAppStructure.d.ts.map +1 -1
  192. package/dist/helpers/createAppStructure.js +7 -3
  193. package/dist/helpers/createAppStructure.js.map +1 -1
  194. package/dist/helpers/createHmrSafeContext.d.ts +3 -0
  195. package/dist/helpers/createHmrSafeContext.d.ts.map +1 -0
  196. package/dist/helpers/createHmrSafeContext.js +10 -0
  197. package/dist/helpers/createHmrSafeContext.js.map +6 -0
  198. package/dist/helpers/createSlotComponent.d.ts +3 -3
  199. package/dist/helpers/mergeStyles.d.ts +8 -8
  200. package/dist/hooks/createControllableSignal.d.ts +10 -10
  201. package/dist/hooks/createControllableStore.d.ts +6 -6
  202. package/dist/hooks/createIMEHandler.d.ts +7 -7
  203. package/dist/hooks/createMountTransition.d.ts +4 -4
  204. package/dist/hooks/createSelectionGroup.d.ts.map +1 -1
  205. package/dist/hooks/createSelectionGroup.js +4 -3
  206. package/dist/hooks/createSelectionGroup.js.map +2 -2
  207. package/dist/hooks/createSlotSignal.d.ts +2 -2
  208. package/dist/hooks/useLocalStorage.d.ts +11 -11
  209. package/dist/hooks/useLogger.d.ts +1 -1
  210. package/dist/hooks/useLogger.d.ts.map +1 -1
  211. package/dist/hooks/useLogger.js +1 -1
  212. package/dist/hooks/useLogger.js.map +1 -1
  213. package/dist/hooks/useRouterLink.d.ts +10 -10
  214. package/dist/hooks/useRouterLink.d.ts.map +1 -1
  215. package/dist/index.d.ts +2 -1
  216. package/dist/index.d.ts.map +1 -1
  217. package/dist/index.js +2 -1
  218. package/dist/index.js.map +1 -1
  219. package/dist/providers/ClipboardProvider.d.ts +5 -5
  220. package/dist/providers/ConfigContext.d.ts +6 -6
  221. package/dist/providers/ConfigContext.js +2 -2
  222. package/dist/providers/ConfigContext.js.map +1 -1
  223. package/dist/providers/ErrorLoggerProvider.d.ts +3 -3
  224. package/dist/providers/LoggerContext.d.ts +13 -13
  225. package/dist/providers/PwaUpdateProvider.d.ts +4 -4
  226. package/dist/providers/PwaUpdateProvider.js +2 -2
  227. package/dist/providers/PwaUpdateProvider.js.map +1 -1
  228. package/dist/providers/ServiceClientContext.d.ts +8 -8
  229. package/dist/providers/ServiceClientContext.d.ts.map +1 -1
  230. package/dist/providers/ServiceClientContext.js +1 -1
  231. package/dist/providers/ServiceClientContext.js.map +1 -1
  232. package/dist/providers/ServiceClientProvider.d.ts +6 -6
  233. package/dist/providers/ServiceClientProvider.js +7 -7
  234. package/dist/providers/ServiceClientProvider.js.map +1 -1
  235. package/dist/providers/SyncStorageContext.d.ts +14 -14
  236. package/dist/providers/SystemProvider.d.ts.map +1 -1
  237. package/dist/providers/SystemProvider.js +21 -16
  238. package/dist/providers/SystemProvider.js.map +2 -2
  239. package/dist/providers/ThemeContext.d.ts +20 -20
  240. package/dist/providers/ThemeContext.d.ts.map +1 -1
  241. package/dist/providers/ThemeContext.js +1 -1
  242. package/dist/providers/ThemeContext.js.map +1 -1
  243. package/dist/providers/i18n/I18nContext.d.ts +44 -0
  244. package/dist/providers/i18n/I18nContext.d.ts.map +1 -0
  245. package/dist/providers/i18n/I18nContext.js +73 -0
  246. package/dist/providers/i18n/I18nContext.js.map +6 -0
  247. package/dist/providers/i18n/I18nContext.types.d.ts +28 -0
  248. package/dist/providers/i18n/I18nContext.types.d.ts.map +1 -0
  249. package/dist/providers/i18n/I18nContext.types.js +1 -0
  250. package/dist/providers/i18n/I18nContext.types.js.map +6 -0
  251. package/dist/providers/i18n/i18nUtils.d.ts +18 -0
  252. package/dist/providers/i18n/i18nUtils.d.ts.map +1 -0
  253. package/dist/providers/i18n/i18nUtils.js +25 -0
  254. package/dist/providers/i18n/i18nUtils.js.map +6 -0
  255. package/dist/providers/i18n/locales/en.d.ts +163 -0
  256. package/dist/providers/i18n/locales/en.d.ts.map +1 -0
  257. package/dist/providers/i18n/locales/en.js +165 -0
  258. package/dist/providers/i18n/locales/en.js.map +6 -0
  259. package/dist/providers/i18n/locales/ko.d.ts +163 -0
  260. package/dist/providers/i18n/locales/ko.d.ts.map +1 -0
  261. package/dist/providers/i18n/locales/ko.js +165 -0
  262. package/dist/providers/i18n/locales/ko.js.map +6 -0
  263. package/dist/providers/shared-data/SharedDataChangeEvent.d.ts +4 -4
  264. package/dist/providers/shared-data/SharedDataContext.d.ts +28 -28
  265. package/dist/providers/shared-data/SharedDataContext.d.ts.map +1 -1
  266. package/dist/providers/shared-data/SharedDataContext.js +1 -1
  267. package/dist/providers/shared-data/SharedDataContext.js.map +1 -1
  268. package/dist/providers/shared-data/SharedDataProvider.d.ts +9 -9
  269. package/dist/providers/shared-data/SharedDataProvider.js +4 -4
  270. package/dist/providers/shared-data/SharedDataProvider.js.map +1 -1
  271. package/package.json +9 -8
  272. package/src/components/data/calendar/Calendar.tsx +10 -4
  273. package/src/components/data/kanban/Kanban.tsx +14 -14
  274. package/src/components/data/kanban/KanbanContext.ts +3 -3
  275. package/src/components/data/list/List.tsx +10 -10
  276. package/src/components/data/list/ListContext.ts +1 -1
  277. package/src/components/data/list/ListItem.styles.ts +8 -8
  278. package/src/components/data/list/ListItem.tsx +15 -15
  279. package/src/components/data/sheet/DataSheet.styles.ts +22 -22
  280. package/src/components/data/sheet/DataSheet.tsx +52 -48
  281. package/src/components/data/sheet/DataSheetColumn.tsx +1 -1
  282. package/src/components/data/sheet/DataSheetConfigDialog.tsx +9 -9
  283. package/src/components/data/sheet/sheetUtils.ts +7 -7
  284. package/src/components/data/sheet/types.ts +16 -16
  285. package/src/components/disclosure/Collapse.tsx +11 -11
  286. package/src/components/disclosure/Dialog.tsx +60 -57
  287. package/src/components/disclosure/DialogContext.ts +26 -26
  288. package/src/components/disclosure/DialogInstanceContext.ts +7 -7
  289. package/src/components/disclosure/DialogProvider.tsx +5 -5
  290. package/src/components/disclosure/Dropdown.tsx +89 -75
  291. package/src/components/disclosure/Tabs.tsx +1 -1
  292. package/src/components/disclosure/dialogZIndex.ts +16 -11
  293. package/src/components/display/Echarts.tsx +4 -4
  294. package/src/components/features/address/AddressSearch.tsx +2 -2
  295. package/src/components/features/crud-detail/CrudDetail.tsx +34 -21
  296. package/src/components/features/crud-detail/CrudDetailAfter.tsx +1 -1
  297. package/src/components/features/crud-detail/CrudDetailBefore.tsx +1 -1
  298. package/src/components/features/crud-detail/CrudDetailTools.tsx +1 -1
  299. package/src/components/features/crud-sheet/CrudSheet.tsx +52 -40
  300. package/src/components/features/crud-sheet/CrudSheetColumn.tsx +1 -1
  301. package/src/components/features/crud-sheet/CrudSheetFilter.tsx +1 -1
  302. package/src/components/features/crud-sheet/CrudSheetHeader.tsx +1 -1
  303. package/src/components/features/crud-sheet/CrudSheetTools.tsx +1 -1
  304. package/src/components/features/crudRegistry.ts +60 -0
  305. package/src/components/features/data-select-button/DataSelectButton.tsx +34 -32
  306. package/src/components/features/permission-table/PermissionTable.tsx +70 -64
  307. package/src/components/features/shared-data/SharedDataSelect.tsx +24 -22
  308. package/src/components/features/shared-data/SharedDataSelectButton.tsx +10 -10
  309. package/src/components/features/shared-data/SharedDataSelectList.tsx +231 -59
  310. package/src/components/features/shared-data/SharedDataSelectListContext.ts +39 -0
  311. package/src/components/feedback/Progress.tsx +1 -1
  312. package/src/components/feedback/busy/BusyContainer.tsx +6 -6
  313. package/src/components/feedback/busy/BusyContext.ts +12 -12
  314. package/src/components/feedback/busy/BusyProvider.tsx +6 -6
  315. package/src/components/feedback/notification/NotificationBanner.tsx +3 -1
  316. package/src/components/feedback/notification/NotificationBell.tsx +4 -4
  317. package/src/components/feedback/notification/NotificationContext.ts +28 -28
  318. package/src/components/feedback/notification/NotificationProvider.tsx +9 -9
  319. package/src/components/feedback/print/PrintContext.ts +1 -1
  320. package/src/components/form-control/Button.tsx +1 -1
  321. package/src/components/form-control/DropdownTrigger.styles.ts +1 -1
  322. package/src/components/form-control/Invalid.tsx +5 -5
  323. package/src/components/form-control/ThemeToggle.tsx +10 -10
  324. package/src/components/form-control/checkbox/Checkbox.styles.ts +8 -8
  325. package/src/components/form-control/checkbox/Checkbox.tsx +2 -2
  326. package/src/components/form-control/checkbox/CheckboxGroup.tsx +1 -1
  327. package/src/components/form-control/checkbox/Radio.tsx +2 -2
  328. package/src/components/form-control/checkbox/RadioGroup.tsx +1 -1
  329. package/src/components/form-control/color-picker/ColorPicker.tsx +17 -17
  330. package/src/components/form-control/combobox/Combobox.tsx +55 -55
  331. package/src/components/form-control/combobox/ComboboxContext.ts +5 -5
  332. package/src/components/form-control/combobox/ComboboxItem.tsx +3 -3
  333. package/src/components/form-control/date-range-picker/DateRangePicker.tsx +40 -26
  334. package/src/components/form-control/editor/EditorToolbar.tsx +52 -50
  335. package/src/components/form-control/editor/RichTextEditor.tsx +16 -16
  336. package/src/components/form-control/editor/editor.css +5 -5
  337. package/src/components/form-control/field/DatePicker.tsx +39 -39
  338. package/src/components/form-control/field/DateTimePicker.tsx +38 -38
  339. package/src/components/form-control/field/Field.styles.ts +11 -11
  340. package/src/components/form-control/field/FieldPlaceholder.tsx +1 -1
  341. package/src/components/form-control/field/NumberInput.tsx +63 -63
  342. package/src/components/form-control/field/TextInput.tsx +48 -48
  343. package/src/components/form-control/field/Textarea.tsx +32 -32
  344. package/src/components/form-control/field/TimePicker.tsx +37 -37
  345. package/src/components/form-control/numpad/Numpad.tsx +26 -26
  346. package/src/components/form-control/select/Select.tsx +82 -86
  347. package/src/components/form-control/select/SelectContext.ts +8 -8
  348. package/src/components/form-control/select/SelectItem.tsx +5 -5
  349. package/src/components/form-control/state-preset/StatePreset.tsx +13 -13
  350. package/src/components/layout/FormTable.tsx +4 -4
  351. package/src/components/layout/sidebar/Sidebar.tsx +8 -8
  352. package/src/components/layout/sidebar/SidebarContainer.tsx +19 -17
  353. package/src/components/layout/sidebar/SidebarContext.ts +8 -8
  354. package/src/components/layout/sidebar/SidebarMenu.tsx +19 -19
  355. package/src/components/layout/sidebar/SidebarUser.tsx +14 -14
  356. package/src/components/layout/topbar/Topbar.tsx +15 -13
  357. package/src/components/layout/topbar/TopbarContainer.tsx +6 -6
  358. package/src/components/layout/topbar/TopbarContext.ts +2 -2
  359. package/src/components/layout/topbar/TopbarMenu.tsx +18 -16
  360. package/src/components/layout/topbar/TopbarUser.tsx +9 -9
  361. package/src/directives/ripple.ts +8 -8
  362. package/src/helpers/createAppStructure.ts +15 -8
  363. package/src/helpers/createHmrSafeContext.ts +8 -0
  364. package/src/helpers/createSlotComponent.ts +4 -4
  365. package/src/helpers/mergeStyles.ts +11 -11
  366. package/src/hooks/createControllableSignal.ts +11 -11
  367. package/src/hooks/createControllableStore.ts +8 -8
  368. package/src/hooks/createIMEHandler.ts +7 -7
  369. package/src/hooks/createMountTransition.ts +4 -4
  370. package/src/hooks/createSelectionGroup.tsx +5 -3
  371. package/src/hooks/createSlotSignal.ts +2 -2
  372. package/src/hooks/useLocalStorage.ts +13 -13
  373. package/src/hooks/useLogger.ts +2 -2
  374. package/src/hooks/useRouterLink.ts +15 -15
  375. package/src/index.ts +4 -3
  376. package/src/providers/ClipboardProvider.tsx +19 -19
  377. package/src/providers/ConfigContext.tsx +8 -8
  378. package/src/providers/ErrorLoggerProvider.tsx +3 -3
  379. package/src/providers/LoggerContext.tsx +13 -13
  380. package/src/providers/PwaUpdateProvider.tsx +6 -6
  381. package/src/providers/ServiceClientContext.ts +9 -9
  382. package/src/providers/ServiceClientProvider.tsx +15 -15
  383. package/src/providers/SyncStorageContext.tsx +15 -15
  384. package/src/providers/SystemProvider.tsx +15 -12
  385. package/src/providers/ThemeContext.tsx +26 -26
  386. package/src/providers/i18n/I18nContext.tsx +129 -0
  387. package/src/providers/i18n/I18nContext.types.ts +30 -0
  388. package/src/providers/i18n/i18nUtils.ts +38 -0
  389. package/src/providers/i18n/locales/en.ts +161 -0
  390. package/src/providers/i18n/locales/ko.ts +161 -0
  391. package/src/providers/shared-data/SharedDataChangeEvent.ts +4 -4
  392. package/src/providers/shared-data/SharedDataContext.ts +29 -29
  393. package/src/providers/shared-data/SharedDataProvider.tsx +21 -21
  394. package/src/styles/patterns.styles.ts +6 -6
  395. package/src/styles/tokens.styles.ts +5 -5
  396. package/tailwind.config.ts +1 -1
  397. package/tailwind.css +4 -4
  398. package/tests/components/data/List.spec.tsx +689 -0
  399. package/tests/components/data/Pagination.spec.tsx +336 -0
  400. package/tests/components/data/Table.spec.tsx +55 -0
  401. package/tests/components/data/kanban/Kanban.selection.spec.tsx +213 -0
  402. package/tests/components/data/sheet/DataSheet.spec.tsx +645 -0
  403. package/tests/components/disclosure/Collapse.spec.tsx +173 -0
  404. package/tests/components/disclosure/Dialog.spec.tsx +438 -0
  405. package/tests/components/disclosure/DialogProvider.spec.tsx +142 -0
  406. package/tests/components/disclosure/Dropdown.spec.tsx +333 -0
  407. package/tests/components/disclosure/Tabs.spec.tsx +220 -0
  408. package/tests/components/disclosure/dialogZIndex.spec.ts +45 -0
  409. package/tests/components/display/Alert.spec.tsx +47 -0
  410. package/tests/components/display/Barcode.spec.tsx +61 -0
  411. package/tests/components/display/Card.spec.tsx +41 -0
  412. package/tests/components/display/Link.spec.tsx +62 -0
  413. package/tests/components/display/Tag.spec.tsx +47 -0
  414. package/tests/components/features/address/AddressSearch.spec.tsx +45 -0
  415. package/tests/components/features/crud-detail/CrudDetail.spec.tsx +537 -0
  416. package/tests/components/features/crud-sheet/CrudSheet.spec.tsx +491 -0
  417. package/tests/components/features/crudRegistry.spec.ts +119 -0
  418. package/tests/components/features/data-select-button/DataSelectButton.spec.tsx +482 -0
  419. package/tests/components/features/permission-table/PermissionTable.spec.tsx +288 -0
  420. package/tests/components/features/shared-data/SharedDataSelectList.spec.tsx +448 -0
  421. package/tests/components/feedback/busy/BusyContainer.spec.tsx +80 -0
  422. package/tests/components/feedback/notification/LiveRegion.spec.tsx +52 -0
  423. package/tests/components/feedback/notification/NotificationBanner.spec.tsx +187 -0
  424. package/tests/components/feedback/notification/NotificationBell.spec.tsx +226 -0
  425. package/tests/components/feedback/notification/NotificationContext.spec.tsx +362 -0
  426. package/tests/components/feedback/print/Print.spec.tsx +45 -0
  427. package/tests/components/form-control/Button.spec.tsx +119 -0
  428. package/tests/components/form-control/Invalid.spec.tsx +131 -0
  429. package/tests/components/form-control/checkbox/Checkbox.spec.tsx +137 -0
  430. package/tests/components/form-control/checkbox/CheckboxGroup.spec.tsx +108 -0
  431. package/tests/components/form-control/checkbox/Radio.spec.tsx +138 -0
  432. package/tests/components/form-control/checkbox/RadioGroup.spec.tsx +108 -0
  433. package/tests/components/form-control/color-picker/ColorPicker.spec.tsx +94 -0
  434. package/tests/components/form-control/combobox/Combobox.spec.tsx +253 -0
  435. package/tests/components/form-control/combobox/ComboboxItem.spec.tsx +88 -0
  436. package/tests/components/form-control/date-range-picker/DateRangePicker.spec.tsx +208 -0
  437. package/tests/components/form-control/field/DatePicker.spec.tsx +381 -0
  438. package/tests/components/form-control/field/DateTimePicker.spec.tsx +383 -0
  439. package/tests/components/form-control/field/NumberInput.spec.tsx +371 -0
  440. package/tests/components/form-control/field/TextInput.spec.tsx +341 -0
  441. package/tests/components/form-control/field/Textarea.spec.tsx +224 -0
  442. package/tests/components/form-control/field/TimePicker.spec.tsx +315 -0
  443. package/tests/components/form-control/numpad/Numpad.spec.tsx +248 -0
  444. package/tests/components/form-control/select/Select.spec.tsx +676 -0
  445. package/tests/components/form-control/select/SelectItem.spec.tsx +174 -0
  446. package/tests/components/layout/FormGroup.spec.tsx +104 -0
  447. package/tests/components/layout/FormTable.spec.tsx +43 -0
  448. package/tests/components/layout/sidebar/Sidebar.spec.tsx +192 -0
  449. package/tests/components/layout/sidebar/SidebarContainer.spec.tsx +261 -0
  450. package/tests/components/layout/sidebar/SidebarMenu.spec.tsx +219 -0
  451. package/tests/components/layout/sidebar/SidebarUser.spec.tsx +133 -0
  452. package/tests/components/layout/topbar/TopbarActions.spec.tsx +77 -0
  453. package/tests/components/layout/topbar/TopbarContainer.spec.tsx +38 -0
  454. package/tests/components/layout/topbar/createTopbarActions.spec.tsx +66 -0
  455. package/tests/directives/ripple.spec.tsx +130 -0
  456. package/tests/helpers/createAppStructure.spec.tsx +843 -0
  457. package/tests/helpers/mergeStyles.spec.ts +172 -0
  458. package/tests/hooks/createControllableSignal.spec.ts +194 -0
  459. package/tests/hooks/createIMEHandler.spec.ts +80 -0
  460. package/tests/hooks/createMountTransition.spec.ts +86 -0
  461. package/tests/hooks/useLocalStorage.spec.tsx +223 -0
  462. package/tests/hooks/useLogger.spec.tsx +116 -0
  463. package/tests/hooks/usePrint.spec.tsx +134 -0
  464. package/tests/hooks/useRouterLink.spec.tsx +183 -0
  465. package/tests/hooks/useSyncConfig.spec.tsx +304 -0
  466. package/tests/providers/ClipboardProvider.spec.tsx +20 -0
  467. package/tests/providers/ConfigContext.spec.tsx +42 -0
  468. package/tests/providers/ErrorLoggerProvider.spec.tsx +73 -0
  469. package/tests/providers/LoggerContext.spec.tsx +76 -0
  470. package/tests/providers/PwaUpdateProvider.spec.tsx +22 -0
  471. package/tests/providers/ServiceClientContext.spec.tsx +88 -0
  472. package/tests/providers/SyncStorageContext.spec.tsx +77 -0
  473. package/tests/providers/i18n/I18nContext.spec.tsx +110 -0
  474. package/tests/providers/shared-data/SharedDataProvider.spec.tsx +401 -0
  475. package/tests/vitest-env.d.ts +1 -0
  476. package/dist/components/form-control/select-list/SelectList.d.ts +0 -54
  477. package/dist/components/form-control/select-list/SelectList.d.ts.map +0 -1
  478. package/dist/components/form-control/select-list/SelectList.js +0 -280
  479. package/dist/components/form-control/select-list/SelectList.js.map +0 -6
  480. package/dist/components/form-control/select-list/SelectListContext.d.ts +0 -13
  481. package/dist/components/form-control/select-list/SelectListContext.d.ts.map +0 -1
  482. package/dist/components/form-control/select-list/SelectListContext.js +0 -14
  483. package/dist/components/form-control/select-list/SelectListContext.js.map +0 -6
  484. package/docs/data-components.md +0 -782
  485. package/docs/disclosure.md +0 -254
  486. package/docs/display.md +0 -153
  487. package/docs/feedback.md +0 -238
  488. package/docs/form-controls.md +0 -1068
  489. package/docs/helpers.md +0 -54
  490. package/docs/hooks.md +0 -588
  491. package/docs/layout.md +0 -384
  492. package/docs/providers.md +0 -211
  493. package/docs/styling.md +0 -184
  494. package/src/components/form-control/select-list/SelectList.tsx +0 -385
  495. package/src/components/form-control/select-list/SelectListContext.ts +0 -23
@@ -1,95 +1,95 @@
1
1
  import { type Accessor, createContext, useContext } from "solid-js";
2
2
 
3
- /** 알림 테마 */
3
+ /** Notification theme */
4
4
  export type NotificationTheme = "info" | "success" | "warning" | "danger";
5
5
 
6
- /** 알림 액션 버튼 */
6
+ /** Notification action button */
7
7
  export interface NotificationAction {
8
- /** 버튼 텍스트 */
8
+ /** Button text */
9
9
  label: string;
10
- /** 클릭 핸들러 */
10
+ /** Click handler */
11
11
  onClick: () => void;
12
12
  }
13
13
 
14
- /** 알림 항목 */
14
+ /** Notification item */
15
15
  export interface NotificationItem {
16
- /** 고유 식별자 */
16
+ /** Unique identifier */
17
17
  id: string;
18
- /** 테마 (info, success, warning, danger) */
18
+ /** Theme (info, success, warning, danger) */
19
19
  theme: NotificationTheme;
20
- /** 알림 제목 */
20
+ /** Notification title */
21
21
  title: string;
22
- /** 알림 메시지 (선택) */
22
+ /** Notification message (optional) */
23
23
  message?: string;
24
- /** 액션 버튼 (선택) */
24
+ /** Action button (optional) */
25
25
  action?: NotificationAction;
26
- /** 생성 시각 */
26
+ /** Creation time */
27
27
  createdAt: Date;
28
- /** 읽음 여부 */
28
+ /** Read status */
29
29
  read: boolean;
30
30
  }
31
31
 
32
- /** 알림 생성 옵션 */
32
+ /** Notification creation options */
33
33
  export interface NotificationOptions {
34
- /** 알림에 표시할 액션 버튼 */
34
+ /** Action button to display in notification */
35
35
  action?: NotificationAction;
36
36
  }
37
37
 
38
- /** 알림 수정 옵션 */
38
+ /** Notification update options */
39
39
  export interface NotificationUpdateOptions {
40
- /** true 읽은 알림을 다시 읽지 않음 상태로 변경 (배너 재표시) */
40
+ /** If true, mark read notification as unread (redisplay banner) */
41
41
  renotify?: boolean;
42
42
  }
43
43
 
44
44
  /**
45
- * 알림 시스템 Context
45
+ * Notification system Context value
46
46
  *
47
47
  * @remarks
48
- * 알림 생성, 수정, 삭제 읽음 관리를 위한 메서드 제공.
49
- * 최대 50개까지 유지되며 초과 오래된 항목부터 제거.
48
+ * Provides methods to create, update, delete, and manage read status of notifications.
49
+ * Maintains up to 50 notifications; older items are removed when exceeded.
50
50
  */
51
51
  export interface NotificationContextValue {
52
- // 상태
52
+ // State
53
53
  items: Accessor<NotificationItem[]>;
54
54
  unreadCount: Accessor<number>;
55
55
  latestUnread: Accessor<NotificationItem | undefined>;
56
56
 
57
- // 알림 발생 (id 반환)
57
+ // Create notification (returns id)
58
58
  info: (title: string, message?: string, options?: NotificationOptions) => string;
59
59
  success: (title: string, message?: string, options?: NotificationOptions) => string;
60
60
  warning: (title: string, message?: string, options?: NotificationOptions) => string;
61
61
  danger: (title: string, message?: string, options?: NotificationOptions) => string;
62
62
  error: (err?: any, header?: string) => void;
63
63
 
64
- // 알림 수정
64
+ // Update notification
65
65
  update: (
66
66
  id: string,
67
67
  updates: Partial<Pick<NotificationItem, "title" | "message" | "theme" | "action">>,
68
68
  options?: NotificationUpdateOptions,
69
69
  ) => void;
70
70
 
71
- // 알림 삭제
71
+ // Delete notification
72
72
  remove: (id: string) => void;
73
73
 
74
- // 관리
74
+ // Management
75
75
  markAsRead: (id: string) => void;
76
76
  markAllAsRead: () => void;
77
77
  dismissBanner: () => void;
78
78
  clear: () => void;
79
79
  }
80
80
 
81
- /** 알림 시스템 Context */
81
+ /** Notification system Context */
82
82
  export const NotificationContext = createContext<NotificationContextValue>();
83
83
 
84
84
  /**
85
- * 알림 시스템에 접근하는
85
+ * Hook to access the notification system
86
86
  *
87
- * @throws NotificationProvider가 없으면 에러 발생
87
+ * @throws Error if used outside NotificationProvider
88
88
  */
89
89
  export function useNotification(): NotificationContextValue {
90
90
  const context = useContext(NotificationContext);
91
91
  if (!context) {
92
- throw new Error("useNotification NotificationProvider 내부에서만 사용할 있습니다");
92
+ throw new Error("useNotification can only be used inside NotificationProvider");
93
93
  }
94
94
  return context;
95
95
  }
@@ -12,13 +12,13 @@ import { useLogger } from "../../../hooks/useLogger";
12
12
  const MAX_ITEMS = 50;
13
13
 
14
14
  /**
15
- * 알림 시스템 Provider
15
+ * Notification system Provider
16
16
  *
17
17
  * @remarks
18
- * - 최대 50 알림 유지 (초과 오래된 항목 자동 제거)
19
- * - 읽지 않은 최신 알림을 배너로 표시
20
- * - 스크린 리더용 aria-live region 포함
21
- * - LoggerProvider가 있으면 에러 알림을 로거에도 기록
18
+ * - Maintains up to 50 notifications (older items auto-removed)
19
+ * - Shows latest unread notification in banner
20
+ * - Includes aria-live region for screen readers
21
+ * - Logs errors to logger if LoggerProvider is present
22
22
  */
23
23
  export const NotificationProvider: ParentComponent = (props) => {
24
24
  const logger = useLogger();
@@ -99,10 +99,10 @@ export const NotificationProvider: ParentComponent = (props) => {
99
99
 
100
100
  const updated = { ...item, ...updates };
101
101
 
102
- // renotify: 읽은 상태면 다시 읽지 않음으로 변경
102
+ // renotify: if read, change back to unread
103
103
  if (options?.renotify && item.read) {
104
104
  updated.read = false;
105
- // 배너가 dismiss된 상태에서 renotify되면 다시 보이게
105
+ // if dismissed banner is renotified, show it again
106
106
  setDismissedBannerId(null);
107
107
  }
108
108
 
@@ -155,10 +155,10 @@ export const NotificationProvider: ParentComponent = (props) => {
155
155
 
156
156
  return (
157
157
  <NotificationContext.Provider value={contextValue}>
158
- {/* 스크린 리더용 Live Region */}
158
+ {/* Screen reader Live Region */}
159
159
  <div role="status" aria-live="polite" aria-atomic="true" class="sr-only">
160
160
  <Show when={latestUnread()}>
161
- {(item) => `알림: ${item().title} ${item().message ?? ""}`}
161
+ {(item) => `Notification: ${item().title} ${item().message ?? ""}`}
162
162
  </Show>
163
163
  </div>
164
164
  {props.children}
@@ -15,6 +15,6 @@ export const PrintContext = createContext<PrintContextValue>();
15
15
 
16
16
  export function usePrint(): PrintContextValue {
17
17
  const ctx = useContext(PrintContext);
18
- if (!ctx) throw new Error("usePrint PrintProvider 내부에서만 사용할 있습니다");
18
+ if (!ctx) throw new Error("usePrint can only be used inside PrintProvider");
19
19
  return ctx;
20
20
  }
@@ -9,7 +9,7 @@ import {
9
9
  disabledOpacity,
10
10
  } from "../../styles/tokens.styles";
11
11
 
12
- // Directive 사용 선언 (TypeScript)
12
+ // Directive usage declaration (for TypeScript)
13
13
  void ripple;
14
14
 
15
15
  type ButtonTheme = SemanticTheme;
@@ -38,7 +38,7 @@ export const triggerSizeClasses: Record<ComponentSize, string> = {
38
38
 
39
39
  export const chevronWrapperClass = clsx("opacity-30", "hover:opacity-100");
40
40
 
41
- /** Select/Combobox 공유 트리거 클래스 빌더 */
41
+ /** Select/Combobox shared trigger class builder */
42
42
  export function getTriggerClass(options: {
43
43
  size?: ComponentSize;
44
44
  disabled?: boolean;
@@ -27,13 +27,13 @@ export const Invalid: ParentComponent<InvalidProps> = (props) => {
27
27
 
28
28
  const resolved = children(() => props.children);
29
29
 
30
- // message 변경 setCustomValidity 반응형 업데이트 (touchMode 무관하게 항상)
30
+ // Reactively update setCustomValidity when message changes (always, regardless of touchMode)
31
31
  createEffect(() => {
32
32
  const msg = props.message ?? "";
33
33
  hiddenInputEl.setCustomValidity(msg);
34
34
  });
35
35
 
36
- // target relative 설정 + hidden input target 내부에 삽입
36
+ // Set target to relative + insert hidden input inside target
37
37
  createEffect(() => {
38
38
  const targetEl = resolved.toArray().find((el): el is HTMLElement => el instanceof HTMLElement);
39
39
  if (!targetEl) return;
@@ -52,7 +52,7 @@ export const Invalid: ParentComponent<InvalidProps> = (props) => {
52
52
  });
53
53
  });
54
54
 
55
- // 시각적 표시 처리
55
+ // Handle visual indication
56
56
  createEffect(() => {
57
57
  const variant = props.variant ?? "dot";
58
58
  const message = props.message ?? "";
@@ -102,7 +102,7 @@ export const Invalid: ParentComponent<InvalidProps> = (props) => {
102
102
  }
103
103
  });
104
104
 
105
- // touchMode: target에 focusout 이벤트 등록하여 touched 상태 추적
105
+ // touchMode: register focusout event on target to track touched state
106
106
  createEffect(() => {
107
107
  if (!(props.touchMode ?? false)) return;
108
108
 
@@ -121,7 +121,7 @@ export const Invalid: ParentComponent<InvalidProps> = (props) => {
121
121
  });
122
122
  });
123
123
 
124
- // hidden input 포커스 target의 focusable child 리디렉션
124
+ // Redirect hidden input focus to focusable child of target
125
125
  hiddenInputEl.addEventListener("focus", () => {
126
126
  const targetEl = resolved.toArray().find((el): el is HTMLElement => el instanceof HTMLElement);
127
127
 
@@ -19,33 +19,33 @@ const iconSizes: Record<"sm" | "lg", string> = {
19
19
  };
20
20
 
21
21
  const modeLabels: Record<ThemeMode, string> = {
22
- light: "라이트 모드",
23
- system: "시스템 설정",
24
- dark: "다크 모드",
22
+ light: "Light mode",
23
+ system: "System settings",
24
+ dark: "Dark mode",
25
25
  };
26
26
 
27
27
  export interface ThemeToggleProps extends Omit<
28
28
  JSX.ButtonHTMLAttributes<HTMLButtonElement>,
29
29
  "children"
30
30
  > {
31
- /** 버튼 크기 */
31
+ /** Button size */
32
32
  size?: "sm" | "lg";
33
33
  }
34
34
 
35
35
  /**
36
- * 테마 토글 버튼 컴포넌트
36
+ * Theme toggle button component
37
37
  *
38
38
  * @remarks
39
- * - ThemeProvider 내부에서 사용해야
40
- * - 클릭 light → system → dark → light 순환
41
- * - 현재 모드에 맞는 아이콘 표시 (☀️ / 💻 / 🌙)
39
+ * - Must be used inside ThemeProvider
40
+ * - Cycles through light → system → dark → light on click
41
+ * - Shows appropriate icon for current mode (☀️ / 💻 / 🌙)
42
42
  *
43
43
  * @example
44
44
  * ```tsx
45
- * // 기본 사용
45
+ * // Basic usage
46
46
  * <ThemeToggle />
47
47
  *
48
- * // 크기 조절
48
+ * // Adjust size
49
49
  * <ThemeToggle size="sm" />
50
50
  * <ThemeToggle size="lg" />
51
51
  * ```
@@ -12,7 +12,7 @@ import { insetBase, insetFocusOutlineSelf } from "../../../styles/patterns.style
12
12
 
13
13
  export type CheckboxSize = ComponentSize;
14
14
 
15
- // wrapper 기본 스타일
15
+ // wrapper base styles
16
16
  export const checkboxBaseClass = clsx(
17
17
  "inline-flex items-center gap-2",
18
18
  "whitespace-nowrap",
@@ -25,7 +25,7 @@ export const checkboxBaseClass = clsx(
25
25
  "focus-visible:ring-2",
26
26
  );
27
27
 
28
- // 인디케이터 기본 스타일
28
+ // Indicator base styles
29
29
  export const indicatorBaseClass = clsx(
30
30
  "flex shrink-0 items-center justify-center",
31
31
  "size-4",
@@ -36,10 +36,10 @@ export const indicatorBaseClass = clsx(
36
36
  "transition-colors",
37
37
  );
38
38
 
39
- // 체크 상태 스타일 (primary 고정)
39
+ // Checked state styles (primary fixed)
40
40
  export const checkedClass = clsx("border-primary-500 bg-primary-500", "text-white");
41
41
 
42
- // 사이즈별 스타일
42
+ // Size-specific styles
43
43
  export const checkboxSizeClasses: Record<CheckboxSize, string> = {
44
44
  xs: clsx("h-field-xs", paddingXs),
45
45
  sm: clsx("h-field-sm", paddingSm),
@@ -47,14 +47,14 @@ export const checkboxSizeClasses: Record<CheckboxSize, string> = {
47
47
  xl: clsx("h-field-xl", paddingXl),
48
48
  };
49
49
 
50
- // inset 스타일
50
+ // Inset styles
51
51
  export const checkboxInsetClass = clsx(
52
52
  "h-field-inset justify-center bg-transparent",
53
53
  insetBase,
54
54
  insetFocusOutlineSelf,
55
55
  );
56
56
 
57
- // inset 사이즈별 높이 (border 2px 제외)
57
+ // Inset size-specific heights (excluding 2px border)
58
58
  export const checkboxInsetSizeHeightClasses: Record<CheckboxSize, string> = {
59
59
  xs: "h-field-inset-xs",
60
60
  sm: "h-field-inset-sm",
@@ -62,8 +62,8 @@ export const checkboxInsetSizeHeightClasses: Record<CheckboxSize, string> = {
62
62
  xl: "h-field-inset-xl",
63
63
  };
64
64
 
65
- // inline 스타일
65
+ // Inline styles
66
66
  export const checkboxInlineClass = clsx("!h-auto", "!p-0", "gap-1");
67
67
 
68
- // disabled 스타일
68
+ // Disabled styles
69
69
  export const checkboxDisabledClass = disabledOpacity;
@@ -17,7 +17,7 @@ import {
17
17
  } from "./Checkbox.styles";
18
18
  import { Invalid } from "../Invalid";
19
19
 
20
- // Directive 사용 선언 (TypeScript)
20
+ // Directive usage declaration (for TypeScript)
21
21
  void ripple;
22
22
 
23
23
  export interface CheckboxProps {
@@ -84,7 +84,7 @@ export const Checkbox: ParentComponent<CheckboxProps> = (props) => {
84
84
 
85
85
  const errorMsg = createMemo(() => {
86
86
  const v = local.value ?? false;
87
- if (local.required && !v) return "필수 선택 항목입니다";
87
+ if (local.required && !v) return "This is a required selection";
88
88
  return local.validate?.(v);
89
89
  });
90
90
 
@@ -31,7 +31,7 @@ const { Group } = createSelectionGroup({
31
31
  mode: "multiple",
32
32
  contextName: "CheckboxGroup",
33
33
  ItemComponent: Checkbox,
34
- emptyErrorMsg: "항목을 선택해 주세요",
34
+ emptyErrorMsg: "Please select an item",
35
35
  });
36
36
 
37
37
  export const CheckboxGroup = Group as unknown as CheckboxGroupComponent;
@@ -18,7 +18,7 @@ import { Invalid } from "../Invalid";
18
18
 
19
19
  const radioDotClass = clsx("size-2", "rounded-full", "bg-current");
20
20
 
21
- // Directive 사용 선언 (TypeScript)
21
+ // Directive usage declaration (for TypeScript)
22
22
  void ripple;
23
23
 
24
24
  export interface RadioProps {
@@ -85,7 +85,7 @@ export const Radio: ParentComponent<RadioProps> = (props) => {
85
85
 
86
86
  const errorMsg = createMemo(() => {
87
87
  const v = local.value ?? false;
88
- if (local.required && !v) return "필수 선택 항목입니다";
88
+ if (local.required && !v) return "This is a required selection";
89
89
  return local.validate?.(v);
90
90
  });
91
91
 
@@ -31,7 +31,7 @@ const { Group } = createSelectionGroup({
31
31
  mode: "single",
32
32
  contextName: "RadioGroup",
33
33
  ItemComponent: Radio,
34
- emptyErrorMsg: "항목을 선택해 주세요",
34
+ emptyErrorMsg: "Please select an item",
35
35
  });
36
36
 
37
37
  export const RadioGroup = Group as unknown as RadioGroupComponent;
@@ -5,13 +5,13 @@ import { createControllableSignal } from "../../../hooks/createControllableSigna
5
5
  import { Invalid } from "../Invalid";
6
6
  import { type ComponentSize } from "../../../styles/tokens.styles";
7
7
 
8
- // 기본 스타일
8
+ // Base style
9
9
  const baseClass = clsx(
10
10
  "size-field",
11
11
  "rounded",
12
12
  "border border-black/10 dark:border-white/10",
13
13
  "cursor-pointer",
14
- // color input 기본 스타일 제거
14
+ // Remove color input default styles
15
15
  "[&::-webkit-color-swatch-wrapper]:p-0",
16
16
  "[&::-webkit-color-swatch]:border-none",
17
17
  "[&::-webkit-color-swatch]:rounded-none",
@@ -19,7 +19,7 @@ const baseClass = clsx(
19
19
  "[&::-moz-color-swatch]:rounded-none",
20
20
  );
21
21
 
22
- // 사이즈별 스타일
22
+ // Size-specific styles
23
23
  const sizeClasses: Record<ComponentSize, string> = {
24
24
  xs: "size-field-xs",
25
25
  sm: "size-field-sm",
@@ -27,7 +27,7 @@ const sizeClasses: Record<ComponentSize, string> = {
27
27
  xl: "size-field-xl",
28
28
  };
29
29
 
30
- // disabled 스타일 - 대각선 줄무늬로 표시
30
+ // Disabled style - shown as diagonal stripes
31
31
  // eslint-disable-next-line tailwindcss/enforces-shorthand
32
32
  const disabledClass = clsx(
33
33
  "cursor-default",
@@ -37,42 +37,42 @@ const disabledClass = clsx(
37
37
  );
38
38
 
39
39
  export interface ColorPickerProps {
40
- /** 색상 (#RRGGBB 형식) */
40
+ /** Color value (#RRGGBB format) */
41
41
  value?: string;
42
42
 
43
- /** 변경 콜백 */
43
+ /** Value change callback */
44
44
  onValueChange?: (value: string | undefined) => void;
45
45
 
46
- /** 타이틀 (툴팁) */
46
+ /** Title (tooltip) */
47
47
  title?: string;
48
48
 
49
- /** 비활성화 */
49
+ /** Disable input */
50
50
  disabled?: boolean;
51
51
 
52
- /** 사이즈 */
52
+ /** Size */
53
53
  size?: ComponentSize;
54
54
 
55
- /** inset 모드 (DataSheet 내부 ) */
55
+ /** inset mode (e.g., inside DataSheet cell) */
56
56
  inset?: boolean;
57
57
 
58
- /** 필수 입력 여부 */
58
+ /** Required input */
59
59
  required?: boolean;
60
60
 
61
- /** 커스텀 유효성 검사 함수 */
61
+ /** Custom validation function */
62
62
  validate?: (value: string | undefined) => string | undefined;
63
63
 
64
- /** touchMode: 포커스 해제 후에만 에러 표시 */
64
+ /** touchMode: show errors only after blur */
65
65
  touchMode?: boolean;
66
66
 
67
- /** 커스텀 class */
67
+ /** Custom class */
68
68
  class?: string;
69
69
 
70
- /** 커스텀 style */
70
+ /** Custom style */
71
71
  style?: JSX.CSSProperties;
72
72
  }
73
73
 
74
74
  /**
75
- * ColorPicker 컴포넌트
75
+ * ColorPicker component
76
76
  *
77
77
  * @example
78
78
  * ```tsx
@@ -113,7 +113,7 @@ export const ColorPicker: Component<ColorPickerProps> = (props) => {
113
113
 
114
114
  const errorMsg = createMemo(() => {
115
115
  const v = value();
116
- if (local.required && (v === undefined || v === "")) return "필수 입력 항목입니다";
116
+ if (local.required && (v === undefined || v === "")) return "This field is required";
117
117
  return local.validate?.(v);
118
118
  });
119
119