@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,68 +1,68 @@
1
1
  import { type Accessor, createContext, useContext } from "solid-js";
2
2
 
3
3
  /**
4
- * 공유 데이터 정의
4
+ * Shared data definition.
5
5
  *
6
6
  * @remarks
7
- * SharedDataProvider 전달하여 서버 데이터 구독을 설정한다.
7
+ * Passed to SharedDataProvider to set up server data subscriptions.
8
8
  */
9
9
  export interface SharedDataDefinition<TData> {
10
- /** 서비스 연결 key (생략 "default") */
10
+ /** Service connection key (defaults to "default" if omitted) */
11
11
  serviceKey?: string;
12
- /** 데이터 조회 함수 (changeKeys가 있으면 해당 항목만 부분 갱신) */
12
+ /** Data fetch function (partial refresh for specified changeKeys only) */
13
13
  fetch: (changeKeys?: Array<string | number>) => Promise<TData[]>;
14
- /** 항목의 고유 key 추출 함수 */
14
+ /** Function to extract the unique key from an item */
15
15
  getKey: (item: TData) => string | number;
16
- /** 정렬 기준 배열 (여러 기준 적용 가능) */
16
+ /** Sort criteria array (multiple criteria supported) */
17
17
  orderBy: [(item: TData) => unknown, "asc" | "desc"][];
18
- /** 서버 이벤트 필터 (같은 name의 이벤트 filter 일치하는 것만 수신) */
18
+ /** Server event filter (receives only events with matching filter among same-name events) */
19
19
  filter?: unknown;
20
- /** 항목에서 검색 텍스트를 추출하는 함수 */
20
+ /** Function to extract search text from an item */
21
21
  getSearchText?: (item: TData) => string;
22
- /** 항목이 숨김 상태인지 판별하는 함수 */
22
+ /** Function to determine if an item is hidden */
23
23
  getIsHidden?: (item: TData) => boolean;
24
- /** 항목의 부모 key 추출하는 함수 (트리 구조 지원) */
24
+ /** Function to extract parent key from an item (tree structure support) */
25
25
  getParentKey?: (item: TData) => string | number | undefined;
26
26
  }
27
27
 
28
28
  /**
29
- * 공유 데이터 접근자
29
+ * Shared data accessor.
30
30
  *
31
31
  * @remarks
32
- * 데이터 key에 대한 반응형 접근 변경 알림을 제공한다.
32
+ * Provides reactive access and change notifications for each data key.
33
33
  */
34
34
  export interface SharedDataAccessor<TData> {
35
- /** 반응형 항목 배열 */
35
+ /** Reactive items array */
36
36
  items: Accessor<TData[]>;
37
- /** key로 단일 항목 조회 */
37
+ /** Get a single item by key */
38
38
  get: (key: string | number | undefined) => TData | undefined;
39
- /** 서버에 변경 이벤트 전파 (모든 구독자에게 refetch 트리거) */
39
+ /** Propagate change event to server (triggers refetch for all subscribers) */
40
40
  emit: (changeKeys?: Array<string | number>) => Promise<void>;
41
- /** 항목의 고유 key 추출 함수 */
41
+ /** Function to extract the unique key from an item */
42
42
  getKey: (item: TData) => string | number;
43
- /** 항목에서 검색 텍스트를 추출하는 함수 */
43
+ /** Function to extract search text from an item */
44
44
  getSearchText?: (item: TData) => string;
45
- /** 항목이 숨김 상태인지 판별하는 함수 */
45
+ /** Function to determine if an item is hidden */
46
46
  getIsHidden?: (item: TData) => boolean;
47
- /** 항목의 부모 key 추출하는 함수 (트리 구조 지원) */
47
+ /** Function to extract parent key from an item (tree structure support) */
48
48
  getParentKey?: (item: TData) => string | number | undefined;
49
49
  }
50
50
 
51
51
  /**
52
- * 공유 데이터 Context
52
+ * Shared data context value.
53
53
  *
54
54
  * @remarks
55
- * - configure 호출 전: wait, busy, configure 접근 가능. 데이터 접근 시 throw
56
- * - configure 호출 후: 데이터 key SharedDataAccessor와 전체 상태 관리 메서드 포함
55
+ * - Before configure: only wait, busy, configure are accessible. Data access throws
56
+ * - After configure: includes SharedDataAccessor per data key and overall state management methods
57
57
  */
58
58
  export type SharedDataValue<TSharedData extends Record<string, unknown>> = {
59
59
  [K in keyof TSharedData]: SharedDataAccessor<TSharedData[K]>;
60
60
  } & {
61
- /** 모든 초기 fetch 완료까지 대기 */
61
+ /** Wait until all initial fetches complete */
62
62
  wait: () => Promise<void>;
63
- /** fetch 진행 여부 */
63
+ /** Whether a fetch is in progress */
64
64
  busy: Accessor<boolean>;
65
- /** definitions 설정하여 데이터 구독 시작 (decorator 패턴) */
65
+ /** Set definitions to start data subscriptions (decorator pattern) */
66
66
  configure: (
67
67
  fn: (origin: {
68
68
  [K in keyof TSharedData]: SharedDataDefinition<TSharedData[K]>;
@@ -72,20 +72,20 @@ export type SharedDataValue<TSharedData extends Record<string, unknown>> = {
72
72
  ) => void;
73
73
  };
74
74
 
75
- /** 공유 데이터 Context */
75
+ /** Shared data Context */
76
76
  export const SharedDataContext = createContext<SharedDataValue<Record<string, unknown>>>();
77
77
 
78
78
  /**
79
- * 공유 데이터에 접근하는
79
+ * Hook to access shared data.
80
80
  *
81
- * @throws SharedDataProvider 없으면 에러 발생
81
+ * @throws Throws an error if SharedDataProvider is not present
82
82
  */
83
83
  export function useSharedData<
84
84
  TSharedData extends Record<string, unknown> = Record<string, unknown>,
85
85
  >(): SharedDataValue<TSharedData> {
86
86
  const context = useContext(SharedDataContext);
87
87
  if (!context) {
88
- throw new Error("useSharedData SharedDataProvider 내부에서만 사용할 있습니다");
88
+ throw new Error("useSharedData can only be used inside SharedDataProvider");
89
89
  }
90
90
  return context as unknown as SharedDataValue<TSharedData>;
91
91
  }
@@ -12,16 +12,16 @@ import { useNotification } from "../../components/feedback/notification/Notifica
12
12
  import { useLogger } from "../../hooks/useLogger";
13
13
 
14
14
  /**
15
- * 공유 데이터 Provider
15
+ * Shared data Provider.
16
16
  *
17
17
  * @remarks
18
- * - ServiceClientProvider와 NotificationProvider 내부에서 사용해야
19
- * - LoggerProvider가 있으면 fetch 실패를 로거에도 기록
20
- * - configure() 호출 전: wait, busy, configure 접근 가능. 데이터 접근 시 throw
21
- * - configure() 호출 후: definitions 등록. key의 items()/get() 접근 서버 이벤트 리스너 등록 + fetch (lazy)
22
- * - 동시 fetch 호출 version counter로 데이터 역전 방지
23
- * - fetch 실패 사용자에게 danger 알림 표시
24
- * - cleanup 모든 이벤트 리스너 자동 해제
18
+ * - Must be used inside ServiceClientProvider and NotificationProvider
19
+ * - Logs fetch failures to logger if LoggerProvider is present
20
+ * - Before configure(): only wait, busy, configure are accessible. Data access throws
21
+ * - After configure(): registers definitions. Registers server event listeners + fetch on first items()/get() access per key (lazy)
22
+ * - Prevents data inversion on concurrent fetch calls via version counter
23
+ * - Displays danger notification to the user on fetch failure
24
+ * - Automatically releases all event listeners on cleanup
25
25
  *
26
26
  * @example
27
27
  * ```tsx
@@ -29,7 +29,7 @@ import { useLogger } from "../../hooks/useLogger";
29
29
  * <App />
30
30
  * </SharedDataProvider>
31
31
  *
32
- * // 자식 컴포넌트에서 나중에 설정:
32
+ * // Configure later in a child component:
33
33
  * useSharedData().configure(() => ({
34
34
  * users: {
35
35
  * fetch: async (changeKeys) => fetchUsers(changeKeys),
@@ -73,19 +73,19 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
73
73
  def: SharedDataDefinition<unknown>,
74
74
  changeKeys?: Array<string | number>,
75
75
  ): Promise<void> {
76
- // CR-1: version counter로 동시 호출 데이터 역전 방지
76
+ // CR-1: Prevent data inversion on concurrent calls via version counter
77
77
  const currentVersion = (versionMap.get(name) ?? 0) + 1;
78
78
  versionMap.set(name, currentVersion);
79
79
 
80
80
  setBusyCount((c) => c + 1);
81
81
  try {
82
82
  const signal = signalMap.get(name);
83
- if (!signal) throw new Error(`'${name}'에 대한 공유데이터 저장소가 없습니다.`);
83
+ if (!signal) throw new Error(`No shared data store found for '${name}'.`);
84
84
 
85
85
  const [, setItems] = signal;
86
86
  const resData = await def.fetch(changeKeys);
87
87
 
88
- // CR-1: 오래된 응답은 무시
88
+ // CR-1: Ignore stale responses
89
89
  if (versionMap.get(name) !== currentVersion) return;
90
90
 
91
91
  if (!changeKeys) {
@@ -98,11 +98,11 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
98
98
  });
99
99
  }
100
100
  } catch (err) {
101
- // CR-2: fetch 실패 사용자에게 알림
101
+ // CR-2: Notify user on fetch failure
102
102
  logger.error(`SharedData '${name}' fetch failed:`, err);
103
103
  notification.danger(
104
- "공유 데이터 로드 실패",
105
- err instanceof Error ? err.message : `'${name}' 데이터를 불러오는 중 오류가 발생했습니다.`,
104
+ "Shared data load failed",
105
+ err instanceof Error ? err.message : `Error occurred while loading '${name}' data.`,
106
106
  );
107
107
  } finally {
108
108
  setBusyCount((c) => c - 1);
@@ -110,7 +110,7 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
110
110
  }
111
111
 
112
112
  async function wait(): Promise<void> {
113
- // eslint-disable-next-line solid/reactivity -- waitUntil 폴링 기반이므로 tracked scope 불필요
113
+ // eslint-disable-next-line solid/reactivity -- waitUntil is polling-based, so tracked scope is unnecessary
114
114
  await waitUntil(() => busyCount() <= 0);
115
115
  }
116
116
 
@@ -120,7 +120,7 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
120
120
  ) => Record<string, SharedDataDefinition<unknown>>,
121
121
  ): void {
122
122
  if (configured) {
123
- throw new Error("SharedDataProvider: configure() 1회만 호출할 있습니다");
123
+ throw new Error("SharedDataProvider: configure() can only be called once");
124
124
  }
125
125
  configured = true;
126
126
 
@@ -129,7 +129,7 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
129
129
 
130
130
  for (const [name, def] of Object.entries(definitions)) {
131
131
  const [items, setItems] = createSignal<unknown[]>([]);
132
- // eslint-disable-next-line solid/reactivity -- signal 참조를 Map 저장하는 것은 반응성 접근이 아님
132
+ // eslint-disable-next-line solid/reactivity -- Storing signal references in a Map is not a reactive access
133
133
  signalMap.set(name, [items, setItems]);
134
134
 
135
135
  const itemMap = createMemo(() => {
@@ -139,7 +139,7 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
139
139
  }
140
140
  return map;
141
141
  });
142
- // eslint-disable-next-line solid/reactivity -- memo 참조를 Map 저장하는 것은 반응성 접근이 아님
142
+ // eslint-disable-next-line solid/reactivity -- Storing memo references in a Map is not a reactive access
143
143
  memoMap.set(name, itemMap);
144
144
 
145
145
  const client = serviceClient.get(def.serviceKey ?? "default");
@@ -211,7 +211,7 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
211
211
 
212
212
  const KNOWN_KEYS = new Set(["wait", "busy", "configure"]);
213
213
 
214
- // Proxy: configure 데이터 접근 throw
214
+ // Proxy: throw on data access before configure
215
215
  const contextValue = new Proxy(
216
216
  { wait, busy, configure } as SharedDataValue<Record<string, unknown>>,
217
217
  {
@@ -220,7 +220,7 @@ export function SharedDataProvider(props: { children: JSX.Element }): JSX.Elemen
220
220
  return target[prop];
221
221
  }
222
222
  if (!configured) {
223
- throw new Error("SharedDataProvider: configure() 먼저 호출해야 합니다");
223
+ throw new Error("SharedDataProvider: configure() must be called first");
224
224
  }
225
225
  return accessors[prop];
226
226
  },
@@ -1,7 +1,7 @@
1
1
  import clsx from "clsx";
2
2
  import { borderDefault, textDefault, textPlaceholder } from "./tokens.styles";
3
3
 
4
- // ── 아이콘 버튼 공통 ──
4
+ // ── Icon Button Common ──
5
5
  export const iconButtonBase = clsx(
6
6
  "inline-flex items-center justify-center",
7
7
  "cursor-pointer",
@@ -13,24 +13,24 @@ export const iconButtonBase = clsx(
13
13
  "focus-visible:ring-2",
14
14
  );
15
15
 
16
- // ── inset 포커스 아웃라인 (focus-within 버전: Field, TextArea) ──
16
+ // ── Inset Focus Outline (focus-within variant: Field, TextArea) ──
17
17
  export const insetFocusOutline = clsx(
18
18
  "focus-within:[outline-style:solid]",
19
19
  "focus-within:outline-1 focus-within:-outline-offset-1",
20
20
  "focus-within:outline-primary-400 dark:focus-within:outline-primary-400",
21
21
  );
22
22
 
23
- // ── inset 포커스 아웃라인 (focus 버전: Checkbox, Select trigger) ──
23
+ // ── Inset Focus Outline (focus variant: Checkbox, Select trigger) ──
24
24
  export const insetFocusOutlineSelf = clsx(
25
25
  "focus:[outline-style:solid]",
26
26
  "focus:outline-1 focus:-outline-offset-1",
27
27
  "focus:outline-primary-400 dark:focus:outline-primary-400",
28
28
  );
29
29
 
30
- // ── inset 기본 레이아웃 ──
30
+ // ── Inset Base Layout ──
31
31
  export const insetBase = "w-full rounded-none border-none";
32
32
 
33
- // ── 필드 공통 표면 (배경 + 텍스트 + 테두리 + 포커스) ──
33
+ // ── Form Field Common Surface (background + text + border + focus) ──
34
34
  export const fieldSurface = clsx(
35
35
  "bg-primary-50 dark:bg-primary-950/30",
36
36
  textDefault,
@@ -40,7 +40,7 @@ export const fieldSurface = clsx(
40
40
  "focus-within:border-primary-500 dark:focus-within:border-primary-400",
41
41
  );
42
42
 
43
- // ── 입력 요소 공통 ──
43
+ // ── Input Element Common ──
44
44
  export const inputBase = clsx(
45
45
  "min-w-0 flex-1",
46
46
  "bg-transparent",
@@ -1,11 +1,11 @@
1
- // ── 테두리 ──
1
+ // ── Border ──
2
2
  export const borderDefault = "border-base-200 dark:border-base-700";
3
3
  export const borderSubtle = "border-base-200 dark:border-base-700";
4
4
 
5
- // ── 표면 배경 ──
5
+ // ── Surface Background ──
6
6
  export const bgSurface = "bg-white dark:bg-base-900";
7
7
 
8
- // ── 텍스트 ──
8
+ // ── Text ──
9
9
  export const textDefault = "text-base-900 dark:text-base-100";
10
10
  export const textMuted = "text-base-400 dark:text-base-500";
11
11
  export const textPlaceholder = "placeholder:text-base-400 dark:placeholder:text-base-500";
@@ -13,7 +13,7 @@ export const textPlaceholder = "placeholder:text-base-400 dark:placeholder:text-
13
13
  // ── disabled ──
14
14
  export const disabledOpacity = "cursor-default opacity-30 pointer-events-none";
15
15
 
16
- // ── 사이즈 ──
16
+ // ── Size ──
17
17
  export type ComponentSize = "xs" | "sm" | "lg" | "xl";
18
18
  export type ComponentSizeCompact = "sm" | "lg";
19
19
  export const paddingXs = "px-1 py-0";
@@ -21,7 +21,7 @@ export const paddingSm = "px-1.5 py-0.5";
21
21
  export const paddingLg = "px-3 py-2";
22
22
  export const paddingXl = "px-4 py-3";
23
23
 
24
- // ── 테마 ──
24
+ // ── Theme ──
25
25
  export type SemanticTheme = "primary" | "info" | "success" | "warning" | "danger" | "base";
26
26
 
27
27
  export const themeTokens: Record<
@@ -58,6 +58,6 @@ export default {
58
58
  },
59
59
  content: [`${__dirname}src/**/*.{ts,tsx}`, `${__dirname}dist/**/*.js`],
60
60
  corePlugins: {
61
- aspectRatio: false, // Chrome 84 미지원
61
+ aspectRatio: false, // Not supported in Chrome 84
62
62
  },
63
63
  };
package/tailwind.css CHANGED
@@ -26,7 +26,7 @@
26
26
  outline: none;
27
27
  }
28
28
 
29
- /* 스크롤바 스타일 */
29
+ /* Scrollbar styles */
30
30
  ::-webkit-scrollbar {
31
31
  width: 0.5rem;
32
32
  height: 0.5rem;
@@ -49,7 +49,7 @@
49
49
  background-color: rgb(0 0 0 / 8%);
50
50
  }
51
51
 
52
- /* 다크모드 스크롤바 - zinc 계열 중립 톤 */
52
+ /* Dark mode scrollbar - neutral zinc tones */
53
53
  .dark ::-webkit-scrollbar-track {
54
54
  background-color: rgb(161 161 170 / 10%);
55
55
  }
@@ -67,7 +67,7 @@
67
67
  background-color: rgb(161 161 170 / 10%);
68
68
  }
69
69
 
70
- /* 텍스트 선택 영역 */
70
+ /* Text selection area */
71
71
  ::selection {
72
72
  @apply bg-primary-200 text-primary-900;
73
73
  }
@@ -76,7 +76,7 @@
76
76
  @apply bg-primary-800 text-primary-100;
77
77
  }
78
78
 
79
- /* 다크모드 날짜/시간 입력 아이콘 */
79
+ /* Dark mode date/time input icon */
80
80
  .dark ::-webkit-calendar-picker-indicator {
81
81
  filter: invert(1);
82
82
  }