@simplysm/solid 13.0.69 → 13.0.70

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 (477) 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 +24 -24
  30. package/dist/components/disclosure/Tabs.js +1 -1
  31. package/dist/components/disclosure/Tabs.js.map +1 -1
  32. package/dist/components/disclosure/dialogZIndex.d.ts +7 -7
  33. package/dist/components/disclosure/dialogZIndex.d.ts.map +1 -1
  34. package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -1
  35. package/dist/components/features/crud-detail/CrudDetail.js +19 -16
  36. package/dist/components/features/crud-detail/CrudDetail.js.map +2 -2
  37. package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -1
  38. package/dist/components/features/crud-sheet/CrudSheet.js +34 -28
  39. package/dist/components/features/crud-sheet/CrudSheet.js.map +2 -2
  40. package/dist/components/features/data-select-button/DataSelectButton.d.ts +14 -14
  41. package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -1
  42. package/dist/components/features/data-select-button/DataSelectButton.js +27 -9
  43. package/dist/components/features/data-select-button/DataSelectButton.js.map +2 -2
  44. package/dist/components/features/permission-table/PermissionTable.d.ts +3 -3
  45. package/dist/components/features/permission-table/PermissionTable.d.ts.map +1 -1
  46. package/dist/components/features/permission-table/PermissionTable.js +6 -2
  47. package/dist/components/features/permission-table/PermissionTable.js.map +2 -2
  48. package/dist/components/features/shared-data/SharedDataSelect.d.ts +12 -12
  49. package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -1
  50. package/dist/components/features/shared-data/SharedDataSelect.js +8 -2
  51. package/dist/components/features/shared-data/SharedDataSelect.js.map +2 -2
  52. package/dist/components/features/shared-data/SharedDataSelectButton.d.ts +10 -10
  53. package/dist/components/features/shared-data/SharedDataSelectButton.d.ts.map +1 -1
  54. package/dist/components/features/shared-data/SharedDataSelectList.d.ts +23 -13
  55. package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -1
  56. package/dist/components/features/shared-data/SharedDataSelectList.js +219 -58
  57. package/dist/components/features/shared-data/SharedDataSelectList.js.map +2 -2
  58. package/dist/components/features/shared-data/SharedDataSelectListContext.d.ts +15 -0
  59. package/dist/components/features/shared-data/SharedDataSelectListContext.d.ts.map +1 -0
  60. package/dist/components/features/shared-data/SharedDataSelectListContext.js +27 -0
  61. package/dist/components/features/shared-data/SharedDataSelectListContext.js.map +6 -0
  62. package/dist/components/feedback/Progress.d.ts +1 -1
  63. package/dist/components/feedback/Progress.d.ts.map +1 -1
  64. package/dist/components/feedback/busy/BusyContainer.d.ts +2 -2
  65. package/dist/components/feedback/busy/BusyContainer.d.ts.map +1 -1
  66. package/dist/components/feedback/busy/BusyContext.d.ts +11 -11
  67. package/dist/components/feedback/busy/BusyContext.d.ts.map +1 -1
  68. package/dist/components/feedback/busy/BusyContext.js +1 -1
  69. package/dist/components/feedback/busy/BusyContext.js.map +1 -1
  70. package/dist/components/feedback/busy/BusyProvider.d.ts +6 -6
  71. package/dist/components/feedback/busy/BusyProvider.d.ts.map +1 -1
  72. package/dist/components/feedback/notification/NotificationBanner.d.ts.map +1 -1
  73. package/dist/components/feedback/notification/NotificationBanner.js +7 -3
  74. package/dist/components/feedback/notification/NotificationBanner.js.map +2 -2
  75. package/dist/components/feedback/notification/NotificationBell.js +2 -2
  76. package/dist/components/feedback/notification/NotificationBell.js.map +1 -1
  77. package/dist/components/feedback/notification/NotificationContext.d.ts +22 -22
  78. package/dist/components/feedback/notification/NotificationContext.d.ts.map +1 -1
  79. package/dist/components/feedback/notification/NotificationContext.js +1 -1
  80. package/dist/components/feedback/notification/NotificationContext.js.map +1 -1
  81. package/dist/components/feedback/notification/NotificationProvider.d.ts +5 -5
  82. package/dist/components/feedback/notification/NotificationProvider.js +1 -1
  83. package/dist/components/feedback/notification/NotificationProvider.js.map +1 -1
  84. package/dist/components/feedback/print/PrintContext.js +1 -1
  85. package/dist/components/feedback/print/PrintContext.js.map +1 -1
  86. package/dist/components/form-control/DropdownTrigger.styles.d.ts +1 -1
  87. package/dist/components/form-control/DropdownTrigger.styles.d.ts.map +1 -1
  88. package/dist/components/form-control/ThemeToggle.d.ts +7 -7
  89. package/dist/components/form-control/ThemeToggle.d.ts.map +1 -1
  90. package/dist/components/form-control/ThemeToggle.js +3 -3
  91. package/dist/components/form-control/checkbox/Checkbox.js +1 -1
  92. package/dist/components/form-control/checkbox/CheckboxGroup.js +1 -1
  93. package/dist/components/form-control/checkbox/Radio.js +1 -1
  94. package/dist/components/form-control/checkbox/RadioGroup.js +1 -1
  95. package/dist/components/form-control/color-picker/ColorPicker.d.ts +12 -12
  96. package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
  97. package/dist/components/form-control/color-picker/ColorPicker.js +2 -2
  98. package/dist/components/form-control/combobox/Combobox.d.ts +22 -22
  99. package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
  100. package/dist/components/form-control/combobox/Combobox.js +2 -2
  101. package/dist/components/form-control/combobox/ComboboxContext.d.ts +4 -4
  102. package/dist/components/form-control/combobox/ComboboxContext.d.ts.map +1 -1
  103. package/dist/components/form-control/combobox/ComboboxContext.js +1 -1
  104. package/dist/components/form-control/combobox/ComboboxContext.js.map +1 -1
  105. package/dist/components/form-control/combobox/ComboboxItem.d.ts +3 -3
  106. package/dist/components/form-control/combobox/ComboboxItem.d.ts.map +1 -1
  107. package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts +14 -14
  108. package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts.map +1 -1
  109. package/dist/components/form-control/date-range-picker/DateRangePicker.js +20 -9
  110. package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -2
  111. package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -1
  112. package/dist/components/form-control/editor/EditorToolbar.js +65 -20
  113. package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
  114. package/dist/components/form-control/editor/RichTextEditor.d.ts +6 -6
  115. package/dist/components/form-control/editor/RichTextEditor.d.ts.map +1 -1
  116. package/dist/components/form-control/editor/RichTextEditor.js +1 -1
  117. package/dist/components/form-control/editor/editor.css +5 -5
  118. package/dist/components/form-control/field/DatePicker.d.ts +22 -22
  119. package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
  120. package/dist/components/form-control/field/DatePicker.js +4 -4
  121. package/dist/components/form-control/field/DatePicker.js.map +1 -1
  122. package/dist/components/form-control/field/DateTimePicker.d.ts +21 -21
  123. package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
  124. package/dist/components/form-control/field/DateTimePicker.js +4 -4
  125. package/dist/components/form-control/field/DateTimePicker.js.map +1 -1
  126. package/dist/components/form-control/field/FieldPlaceholder.d.ts +1 -1
  127. package/dist/components/form-control/field/FieldPlaceholder.d.ts.map +1 -1
  128. package/dist/components/form-control/field/NumberInput.d.ts +23 -23
  129. package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
  130. package/dist/components/form-control/field/NumberInput.js +4 -4
  131. package/dist/components/form-control/field/NumberInput.js.map +1 -1
  132. package/dist/components/form-control/field/TextInput.d.ts +25 -25
  133. package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
  134. package/dist/components/form-control/field/TextInput.js +5 -5
  135. package/dist/components/form-control/field/TextInput.js.map +1 -1
  136. package/dist/components/form-control/field/Textarea.d.ts +19 -19
  137. package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
  138. package/dist/components/form-control/field/Textarea.js +4 -4
  139. package/dist/components/form-control/field/Textarea.js.map +1 -1
  140. package/dist/components/form-control/field/TimePicker.d.ts +20 -20
  141. package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
  142. package/dist/components/form-control/field/TimePicker.js +4 -4
  143. package/dist/components/form-control/field/TimePicker.js.map +1 -1
  144. package/dist/components/form-control/numpad/Numpad.d.ts +11 -11
  145. package/dist/components/form-control/numpad/Numpad.d.ts.map +1 -1
  146. package/dist/components/form-control/select/Select.d.ts +26 -26
  147. package/dist/components/form-control/select/Select.d.ts.map +1 -1
  148. package/dist/components/form-control/select/Select.js +34 -23
  149. package/dist/components/form-control/select/Select.js.map +2 -2
  150. package/dist/components/form-control/select/SelectContext.d.ts +7 -7
  151. package/dist/components/form-control/select/SelectContext.d.ts.map +1 -1
  152. package/dist/components/form-control/select/SelectContext.js +1 -1
  153. package/dist/components/form-control/select/SelectContext.js.map +1 -1
  154. package/dist/components/form-control/select/SelectItem.d.ts +4 -4
  155. package/dist/components/form-control/select/SelectItem.d.ts.map +1 -1
  156. package/dist/components/form-control/state-preset/StatePreset.js +8 -8
  157. package/dist/components/form-control/state-preset/StatePreset.js.map +1 -1
  158. package/dist/components/layout/FormTable.js +4 -4
  159. package/dist/components/layout/sidebar/Sidebar.d.ts +5 -5
  160. package/dist/components/layout/sidebar/SidebarContainer.d.ts +11 -11
  161. package/dist/components/layout/sidebar/SidebarContainer.d.ts.map +1 -1
  162. package/dist/components/layout/sidebar/SidebarContainer.js +6 -1
  163. package/dist/components/layout/sidebar/SidebarContainer.js.map +2 -2
  164. package/dist/components/layout/sidebar/SidebarContext.d.ts +7 -7
  165. package/dist/components/layout/sidebar/SidebarContext.js +1 -1
  166. package/dist/components/layout/sidebar/SidebarContext.js.map +1 -1
  167. package/dist/components/layout/sidebar/SidebarMenu.d.ts +11 -11
  168. package/dist/components/layout/sidebar/SidebarUser.d.ts +14 -14
  169. package/dist/components/layout/topbar/Topbar.d.ts +6 -6
  170. package/dist/components/layout/topbar/Topbar.d.ts.map +1 -1
  171. package/dist/components/layout/topbar/Topbar.js +11 -6
  172. package/dist/components/layout/topbar/Topbar.js.map +2 -2
  173. package/dist/components/layout/topbar/TopbarContainer.d.ts +6 -6
  174. package/dist/components/layout/topbar/TopbarContext.js +2 -2
  175. package/dist/components/layout/topbar/TopbarContext.js.map +1 -1
  176. package/dist/components/layout/topbar/TopbarMenu.d.ts +11 -11
  177. package/dist/components/layout/topbar/TopbarMenu.d.ts.map +1 -1
  178. package/dist/components/layout/topbar/TopbarMenu.js +5 -1
  179. package/dist/components/layout/topbar/TopbarMenu.js.map +2 -2
  180. package/dist/components/layout/topbar/TopbarUser.d.ts +9 -9
  181. package/dist/directives/ripple.d.ts +5 -5
  182. package/dist/helpers/createAppStructure.d.ts.map +1 -1
  183. package/dist/helpers/createAppStructure.js +4 -1
  184. package/dist/helpers/createAppStructure.js.map +1 -1
  185. package/dist/helpers/createSlotComponent.d.ts +3 -3
  186. package/dist/helpers/mergeStyles.d.ts +8 -8
  187. package/dist/hooks/createControllableSignal.d.ts +10 -10
  188. package/dist/hooks/createControllableStore.d.ts +6 -6
  189. package/dist/hooks/createIMEHandler.d.ts +7 -7
  190. package/dist/hooks/createMountTransition.d.ts +4 -4
  191. package/dist/hooks/createSelectionGroup.js +1 -1
  192. package/dist/hooks/createSelectionGroup.js.map +1 -1
  193. package/dist/hooks/createSlotSignal.d.ts +2 -2
  194. package/dist/hooks/useLocalStorage.d.ts +11 -11
  195. package/dist/hooks/useLogger.d.ts +1 -1
  196. package/dist/hooks/useLogger.d.ts.map +1 -1
  197. package/dist/hooks/useLogger.js +1 -1
  198. package/dist/hooks/useLogger.js.map +1 -1
  199. package/dist/hooks/useRouterLink.d.ts +10 -10
  200. package/dist/hooks/useRouterLink.d.ts.map +1 -1
  201. package/dist/index.d.ts +2 -1
  202. package/dist/index.d.ts.map +1 -1
  203. package/dist/index.js +2 -1
  204. package/dist/index.js.map +1 -1
  205. package/dist/providers/ClipboardProvider.d.ts +5 -5
  206. package/dist/providers/ConfigContext.d.ts +6 -6
  207. package/dist/providers/ConfigContext.js +2 -2
  208. package/dist/providers/ConfigContext.js.map +1 -1
  209. package/dist/providers/ErrorLoggerProvider.d.ts +3 -3
  210. package/dist/providers/LoggerContext.d.ts +13 -13
  211. package/dist/providers/PwaUpdateProvider.d.ts +4 -4
  212. package/dist/providers/PwaUpdateProvider.js +2 -2
  213. package/dist/providers/PwaUpdateProvider.js.map +1 -1
  214. package/dist/providers/ServiceClientContext.d.ts +8 -8
  215. package/dist/providers/ServiceClientContext.d.ts.map +1 -1
  216. package/dist/providers/ServiceClientContext.js +1 -1
  217. package/dist/providers/ServiceClientContext.js.map +1 -1
  218. package/dist/providers/ServiceClientProvider.d.ts +6 -6
  219. package/dist/providers/ServiceClientProvider.js +7 -7
  220. package/dist/providers/ServiceClientProvider.js.map +1 -1
  221. package/dist/providers/SyncStorageContext.d.ts +14 -14
  222. package/dist/providers/SystemProvider.d.ts.map +1 -1
  223. package/dist/providers/SystemProvider.js +21 -16
  224. package/dist/providers/SystemProvider.js.map +2 -2
  225. package/dist/providers/ThemeContext.d.ts +20 -20
  226. package/dist/providers/ThemeContext.d.ts.map +1 -1
  227. package/dist/providers/ThemeContext.js +1 -1
  228. package/dist/providers/ThemeContext.js.map +1 -1
  229. package/dist/providers/i18n/I18nContext.d.ts +44 -0
  230. package/dist/providers/i18n/I18nContext.d.ts.map +1 -0
  231. package/dist/providers/i18n/I18nContext.js +73 -0
  232. package/dist/providers/i18n/I18nContext.js.map +6 -0
  233. package/dist/providers/i18n/I18nContext.types.d.ts +28 -0
  234. package/dist/providers/i18n/I18nContext.types.d.ts.map +1 -0
  235. package/dist/providers/i18n/I18nContext.types.js +1 -0
  236. package/dist/providers/i18n/I18nContext.types.js.map +6 -0
  237. package/dist/providers/i18n/i18nUtils.d.ts +18 -0
  238. package/dist/providers/i18n/i18nUtils.d.ts.map +1 -0
  239. package/dist/providers/i18n/i18nUtils.js +25 -0
  240. package/dist/providers/i18n/i18nUtils.js.map +6 -0
  241. package/dist/providers/i18n/locales/en.d.ts +163 -0
  242. package/dist/providers/i18n/locales/en.d.ts.map +1 -0
  243. package/dist/providers/i18n/locales/en.js +165 -0
  244. package/dist/providers/i18n/locales/en.js.map +6 -0
  245. package/dist/providers/i18n/locales/ko.d.ts +163 -0
  246. package/dist/providers/i18n/locales/ko.d.ts.map +1 -0
  247. package/dist/providers/i18n/locales/ko.js +165 -0
  248. package/dist/providers/i18n/locales/ko.js.map +6 -0
  249. package/dist/providers/shared-data/SharedDataChangeEvent.d.ts +4 -4
  250. package/dist/providers/shared-data/SharedDataContext.d.ts +28 -28
  251. package/dist/providers/shared-data/SharedDataContext.d.ts.map +1 -1
  252. package/dist/providers/shared-data/SharedDataContext.js +1 -1
  253. package/dist/providers/shared-data/SharedDataContext.js.map +1 -1
  254. package/dist/providers/shared-data/SharedDataProvider.d.ts +9 -9
  255. package/dist/providers/shared-data/SharedDataProvider.js +4 -4
  256. package/dist/providers/shared-data/SharedDataProvider.js.map +1 -1
  257. package/package.json +8 -8
  258. package/src/components/data/calendar/Calendar.tsx +10 -4
  259. package/src/components/data/kanban/Kanban.tsx +14 -14
  260. package/src/components/data/kanban/KanbanContext.ts +3 -3
  261. package/src/components/data/list/List.tsx +10 -10
  262. package/src/components/data/list/ListContext.ts +1 -1
  263. package/src/components/data/list/ListItem.styles.ts +8 -8
  264. package/src/components/data/list/ListItem.tsx +15 -15
  265. package/src/components/data/sheet/DataSheet.styles.ts +22 -22
  266. package/src/components/data/sheet/DataSheet.tsx +52 -48
  267. package/src/components/data/sheet/DataSheetColumn.tsx +1 -1
  268. package/src/components/data/sheet/DataSheetConfigDialog.tsx +9 -9
  269. package/src/components/data/sheet/sheetUtils.ts +7 -7
  270. package/src/components/data/sheet/types.ts +16 -16
  271. package/src/components/disclosure/Collapse.tsx +11 -11
  272. package/src/components/disclosure/Dialog.tsx +60 -57
  273. package/src/components/disclosure/DialogContext.ts +26 -26
  274. package/src/components/disclosure/DialogInstanceContext.ts +7 -7
  275. package/src/components/disclosure/DialogProvider.tsx +5 -5
  276. package/src/components/disclosure/Dropdown.tsx +64 -64
  277. package/src/components/disclosure/Tabs.tsx +1 -1
  278. package/src/components/disclosure/dialogZIndex.ts +11 -11
  279. package/src/components/display/Echarts.tsx +4 -4
  280. package/src/components/features/address/AddressSearch.tsx +2 -2
  281. package/src/components/features/crud-detail/CrudDetail.tsx +18 -16
  282. package/src/components/features/crud-detail/CrudDetailAfter.tsx +1 -1
  283. package/src/components/features/crud-detail/CrudDetailBefore.tsx +1 -1
  284. package/src/components/features/crud-detail/CrudDetailTools.tsx +1 -1
  285. package/src/components/features/crud-sheet/CrudSheet.tsx +39 -37
  286. package/src/components/features/crud-sheet/CrudSheetColumn.tsx +1 -1
  287. package/src/components/features/crud-sheet/CrudSheetFilter.tsx +1 -1
  288. package/src/components/features/crud-sheet/CrudSheetHeader.tsx +1 -1
  289. package/src/components/features/crud-sheet/CrudSheetTools.tsx +1 -1
  290. package/src/components/features/data-select-button/DataSelectButton.tsx +34 -32
  291. package/src/components/features/permission-table/PermissionTable.tsx +22 -19
  292. package/src/components/features/shared-data/SharedDataSelect.tsx +22 -20
  293. package/src/components/features/shared-data/SharedDataSelectButton.tsx +10 -10
  294. package/src/components/features/shared-data/SharedDataSelectList.tsx +245 -48
  295. package/src/components/features/shared-data/SharedDataSelectListContext.ts +39 -0
  296. package/src/components/feedback/Progress.tsx +1 -1
  297. package/src/components/feedback/busy/BusyContainer.tsx +6 -6
  298. package/src/components/feedback/busy/BusyContext.ts +12 -12
  299. package/src/components/feedback/busy/BusyProvider.tsx +6 -6
  300. package/src/components/feedback/notification/NotificationBanner.tsx +3 -1
  301. package/src/components/feedback/notification/NotificationBell.tsx +4 -4
  302. package/src/components/feedback/notification/NotificationContext.ts +28 -28
  303. package/src/components/feedback/notification/NotificationProvider.tsx +9 -9
  304. package/src/components/feedback/print/PrintContext.ts +1 -1
  305. package/src/components/form-control/Button.tsx +1 -1
  306. package/src/components/form-control/DropdownTrigger.styles.ts +1 -1
  307. package/src/components/form-control/Invalid.tsx +5 -5
  308. package/src/components/form-control/ThemeToggle.tsx +10 -10
  309. package/src/components/form-control/checkbox/Checkbox.styles.ts +8 -8
  310. package/src/components/form-control/checkbox/Checkbox.tsx +2 -2
  311. package/src/components/form-control/checkbox/CheckboxGroup.tsx +1 -1
  312. package/src/components/form-control/checkbox/Radio.tsx +2 -2
  313. package/src/components/form-control/checkbox/RadioGroup.tsx +1 -1
  314. package/src/components/form-control/color-picker/ColorPicker.tsx +17 -17
  315. package/src/components/form-control/combobox/Combobox.tsx +55 -55
  316. package/src/components/form-control/combobox/ComboboxContext.ts +5 -5
  317. package/src/components/form-control/combobox/ComboboxItem.tsx +3 -3
  318. package/src/components/form-control/date-range-picker/DateRangePicker.tsx +40 -26
  319. package/src/components/form-control/editor/EditorToolbar.tsx +52 -50
  320. package/src/components/form-control/editor/RichTextEditor.tsx +16 -16
  321. package/src/components/form-control/editor/editor.css +5 -5
  322. package/src/components/form-control/field/DatePicker.tsx +39 -39
  323. package/src/components/form-control/field/DateTimePicker.tsx +38 -38
  324. package/src/components/form-control/field/Field.styles.ts +11 -11
  325. package/src/components/form-control/field/FieldPlaceholder.tsx +1 -1
  326. package/src/components/form-control/field/NumberInput.tsx +63 -63
  327. package/src/components/form-control/field/TextInput.tsx +48 -48
  328. package/src/components/form-control/field/Textarea.tsx +32 -32
  329. package/src/components/form-control/field/TimePicker.tsx +37 -37
  330. package/src/components/form-control/numpad/Numpad.tsx +26 -26
  331. package/src/components/form-control/select/Select.tsx +84 -84
  332. package/src/components/form-control/select/SelectContext.ts +8 -8
  333. package/src/components/form-control/select/SelectItem.tsx +5 -5
  334. package/src/components/form-control/state-preset/StatePreset.tsx +13 -13
  335. package/src/components/layout/FormTable.tsx +4 -4
  336. package/src/components/layout/sidebar/Sidebar.tsx +8 -8
  337. package/src/components/layout/sidebar/SidebarContainer.tsx +19 -17
  338. package/src/components/layout/sidebar/SidebarContext.ts +8 -8
  339. package/src/components/layout/sidebar/SidebarMenu.tsx +19 -19
  340. package/src/components/layout/sidebar/SidebarUser.tsx +14 -14
  341. package/src/components/layout/topbar/Topbar.tsx +15 -13
  342. package/src/components/layout/topbar/TopbarContainer.tsx +6 -6
  343. package/src/components/layout/topbar/TopbarContext.ts +2 -2
  344. package/src/components/layout/topbar/TopbarMenu.tsx +18 -16
  345. package/src/components/layout/topbar/TopbarUser.tsx +9 -9
  346. package/src/directives/ripple.ts +8 -8
  347. package/src/helpers/createAppStructure.ts +12 -6
  348. package/src/helpers/createSlotComponent.ts +4 -4
  349. package/src/helpers/mergeStyles.ts +11 -11
  350. package/src/hooks/createControllableSignal.ts +11 -11
  351. package/src/hooks/createControllableStore.ts +8 -8
  352. package/src/hooks/createIMEHandler.ts +7 -7
  353. package/src/hooks/createMountTransition.ts +4 -4
  354. package/src/hooks/createSelectionGroup.tsx +1 -1
  355. package/src/hooks/createSlotSignal.ts +2 -2
  356. package/src/hooks/useLocalStorage.ts +13 -13
  357. package/src/hooks/useLogger.ts +2 -2
  358. package/src/hooks/useRouterLink.ts +15 -15
  359. package/src/index.ts +4 -3
  360. package/src/providers/ClipboardProvider.tsx +19 -19
  361. package/src/providers/ConfigContext.tsx +8 -8
  362. package/src/providers/ErrorLoggerProvider.tsx +3 -3
  363. package/src/providers/LoggerContext.tsx +13 -13
  364. package/src/providers/PwaUpdateProvider.tsx +6 -6
  365. package/src/providers/ServiceClientContext.ts +9 -9
  366. package/src/providers/ServiceClientProvider.tsx +15 -15
  367. package/src/providers/SyncStorageContext.tsx +15 -15
  368. package/src/providers/SystemProvider.tsx +15 -12
  369. package/src/providers/ThemeContext.tsx +26 -26
  370. package/src/providers/i18n/I18nContext.tsx +129 -0
  371. package/src/providers/i18n/I18nContext.types.ts +30 -0
  372. package/src/providers/i18n/i18nUtils.ts +38 -0
  373. package/src/providers/i18n/locales/en.ts +161 -0
  374. package/src/providers/i18n/locales/ko.ts +161 -0
  375. package/src/providers/shared-data/SharedDataChangeEvent.ts +4 -4
  376. package/src/providers/shared-data/SharedDataContext.ts +29 -29
  377. package/src/providers/shared-data/SharedDataProvider.tsx +21 -21
  378. package/src/styles/patterns.styles.ts +6 -6
  379. package/src/styles/tokens.styles.ts +5 -5
  380. package/tailwind.config.ts +1 -1
  381. package/tailwind.css +4 -4
  382. package/tests/components/data/List.spec.tsx +689 -0
  383. package/tests/components/data/Pagination.spec.tsx +336 -0
  384. package/tests/components/data/Table.spec.tsx +55 -0
  385. package/tests/components/data/kanban/Kanban.selection.spec.tsx +213 -0
  386. package/tests/components/data/sheet/DataSheet.spec.tsx +645 -0
  387. package/tests/components/disclosure/Collapse.spec.tsx +173 -0
  388. package/tests/components/disclosure/Dialog.spec.tsx +438 -0
  389. package/tests/components/disclosure/DialogProvider.spec.tsx +142 -0
  390. package/tests/components/disclosure/Dropdown.spec.tsx +213 -0
  391. package/tests/components/disclosure/Tabs.spec.tsx +220 -0
  392. package/tests/components/display/Alert.spec.tsx +47 -0
  393. package/tests/components/display/Barcode.spec.tsx +61 -0
  394. package/tests/components/display/Card.spec.tsx +41 -0
  395. package/tests/components/display/Link.spec.tsx +62 -0
  396. package/tests/components/display/Tag.spec.tsx +47 -0
  397. package/tests/components/features/address/AddressSearch.spec.tsx +45 -0
  398. package/tests/components/features/crud-detail/CrudDetail.spec.tsx +537 -0
  399. package/tests/components/features/crud-sheet/CrudSheet.spec.tsx +491 -0
  400. package/tests/components/features/data-select-button/DataSelectButton.spec.tsx +482 -0
  401. package/tests/components/features/permission-table/PermissionTable.spec.tsx +288 -0
  402. package/tests/components/features/shared-data/SharedDataSelectList.spec.tsx +463 -0
  403. package/tests/components/feedback/busy/BusyContainer.spec.tsx +80 -0
  404. package/tests/components/feedback/notification/LiveRegion.spec.tsx +52 -0
  405. package/tests/components/feedback/notification/NotificationBanner.spec.tsx +187 -0
  406. package/tests/components/feedback/notification/NotificationBell.spec.tsx +226 -0
  407. package/tests/components/feedback/notification/NotificationContext.spec.tsx +362 -0
  408. package/tests/components/feedback/print/Print.spec.tsx +45 -0
  409. package/tests/components/form-control/Button.spec.tsx +119 -0
  410. package/tests/components/form-control/Invalid.spec.tsx +131 -0
  411. package/tests/components/form-control/checkbox/Checkbox.spec.tsx +137 -0
  412. package/tests/components/form-control/checkbox/CheckboxGroup.spec.tsx +108 -0
  413. package/tests/components/form-control/checkbox/Radio.spec.tsx +138 -0
  414. package/tests/components/form-control/checkbox/RadioGroup.spec.tsx +108 -0
  415. package/tests/components/form-control/color-picker/ColorPicker.spec.tsx +94 -0
  416. package/tests/components/form-control/combobox/Combobox.spec.tsx +253 -0
  417. package/tests/components/form-control/combobox/ComboboxItem.spec.tsx +88 -0
  418. package/tests/components/form-control/date-range-picker/DateRangePicker.spec.tsx +208 -0
  419. package/tests/components/form-control/field/DatePicker.spec.tsx +381 -0
  420. package/tests/components/form-control/field/DateTimePicker.spec.tsx +383 -0
  421. package/tests/components/form-control/field/NumberInput.spec.tsx +371 -0
  422. package/tests/components/form-control/field/TextInput.spec.tsx +341 -0
  423. package/tests/components/form-control/field/Textarea.spec.tsx +224 -0
  424. package/tests/components/form-control/field/TimePicker.spec.tsx +315 -0
  425. package/tests/components/form-control/numpad/Numpad.spec.tsx +248 -0
  426. package/tests/components/form-control/select/Select.spec.tsx +676 -0
  427. package/tests/components/form-control/select/SelectItem.spec.tsx +174 -0
  428. package/tests/components/layout/FormGroup.spec.tsx +104 -0
  429. package/tests/components/layout/FormTable.spec.tsx +43 -0
  430. package/tests/components/layout/sidebar/Sidebar.spec.tsx +192 -0
  431. package/tests/components/layout/sidebar/SidebarContainer.spec.tsx +261 -0
  432. package/tests/components/layout/sidebar/SidebarMenu.spec.tsx +219 -0
  433. package/tests/components/layout/sidebar/SidebarUser.spec.tsx +133 -0
  434. package/tests/components/layout/topbar/TopbarActions.spec.tsx +77 -0
  435. package/tests/components/layout/topbar/TopbarContainer.spec.tsx +38 -0
  436. package/tests/components/layout/topbar/createTopbarActions.spec.tsx +66 -0
  437. package/tests/directives/ripple.spec.tsx +130 -0
  438. package/tests/helpers/createAppStructure.spec.tsx +843 -0
  439. package/tests/helpers/mergeStyles.spec.ts +172 -0
  440. package/tests/hooks/createControllableSignal.spec.ts +194 -0
  441. package/tests/hooks/createIMEHandler.spec.ts +80 -0
  442. package/tests/hooks/createMountTransition.spec.ts +86 -0
  443. package/tests/hooks/useLocalStorage.spec.tsx +223 -0
  444. package/tests/hooks/useLogger.spec.tsx +116 -0
  445. package/tests/hooks/usePrint.spec.tsx +134 -0
  446. package/tests/hooks/useRouterLink.spec.tsx +183 -0
  447. package/tests/hooks/useSyncConfig.spec.tsx +304 -0
  448. package/tests/providers/ClipboardProvider.spec.tsx +20 -0
  449. package/tests/providers/ConfigContext.spec.tsx +42 -0
  450. package/tests/providers/ErrorLoggerProvider.spec.tsx +73 -0
  451. package/tests/providers/LoggerContext.spec.tsx +76 -0
  452. package/tests/providers/PwaUpdateProvider.spec.tsx +22 -0
  453. package/tests/providers/ServiceClientContext.spec.tsx +88 -0
  454. package/tests/providers/SyncStorageContext.spec.tsx +77 -0
  455. package/tests/providers/i18n/I18nContext.spec.tsx +110 -0
  456. package/tests/providers/shared-data/SharedDataProvider.spec.tsx +401 -0
  457. package/tests/vitest-env.d.ts +1 -0
  458. package/dist/components/form-control/select-list/SelectList.d.ts +0 -54
  459. package/dist/components/form-control/select-list/SelectList.d.ts.map +0 -1
  460. package/dist/components/form-control/select-list/SelectList.js +0 -280
  461. package/dist/components/form-control/select-list/SelectList.js.map +0 -6
  462. package/dist/components/form-control/select-list/SelectListContext.d.ts +0 -13
  463. package/dist/components/form-control/select-list/SelectListContext.d.ts.map +0 -1
  464. package/dist/components/form-control/select-list/SelectListContext.js +0 -14
  465. package/dist/components/form-control/select-list/SelectListContext.js.map +0 -6
  466. package/docs/data-components.md +0 -782
  467. package/docs/disclosure.md +0 -254
  468. package/docs/display.md +0 -153
  469. package/docs/feedback.md +0 -238
  470. package/docs/form-controls.md +0 -1068
  471. package/docs/helpers.md +0 -54
  472. package/docs/hooks.md +0 -588
  473. package/docs/layout.md +0 -384
  474. package/docs/providers.md +0 -211
  475. package/docs/styling.md +0 -184
  476. package/src/components/form-control/select-list/SelectList.tsx +0 -385
  477. package/src/components/form-control/select-list/SelectListContext.ts +0 -23
@@ -10,68 +10,68 @@ import { createMediaQuery } from "@solid-primitives/media";
10
10
  import { useSyncConfig } from "../hooks/useSyncConfig";
11
11
 
12
12
  /**
13
- * 테마 모드
14
- * - `light`: 라이트 모드
15
- * - `dark`: 다크 모드
16
- * - `system`: 시스템 설정 따름
13
+ * Theme mode.
14
+ * - `light`: Light mode
15
+ * - `dark`: Dark mode
16
+ * - `system`: Follows system setting
17
17
  */
18
18
  export type ThemeMode = "light" | "dark" | "system";
19
19
 
20
20
  /**
21
- * 실제 적용되는 테마 (system일 OS 설정에 따라 결정)
21
+ * Resolved theme (determined by OS setting when mode is system)
22
22
  */
23
23
  export type ResolvedTheme = "light" | "dark";
24
24
 
25
25
  interface ThemeContextValue {
26
- /** 현재 테마 모드 (사용자 선택값) */
26
+ /** Current theme mode (user selection) */
27
27
  mode: () => ThemeMode;
28
- /** 테마 모드 설정 */
28
+ /** Set theme mode */
29
29
  setMode: (mode: ThemeMode) => void;
30
- /** 실제 적용되는 테마 (system일 OS 설정 따름) */
30
+ /** Resolved theme (follows OS setting when mode is system) */
31
31
  resolvedTheme: () => ResolvedTheme;
32
- /** 다음 모드로 순환 (light system dark light) */
32
+ /** Cycle to next mode (light -> system -> dark -> light) */
33
33
  cycleMode: () => void;
34
34
  }
35
35
 
36
36
  const ThemeContext = createContext<ThemeContextValue>();
37
37
 
38
38
  /**
39
- * 테마 Context에 접근하는
39
+ * Hook to access the theme Context.
40
40
  *
41
- * @throws ThemeProvider 없으면 에러 발생
41
+ * @throws Throws an error if ThemeProvider is not present
42
42
  *
43
43
  * @example
44
44
  * ```tsx
45
45
  * const { mode, setMode, resolvedTheme, cycleMode } = useTheme();
46
46
  *
47
- * // 현재 모드 확인
47
+ * // Check current mode
48
48
  * console.log(mode()); // "light" | "dark" | "system"
49
49
  *
50
- * // 실제 적용 테마 확인
50
+ * // Check resolved theme
51
51
  * console.log(resolvedTheme()); // "light" | "dark"
52
52
  *
53
- * // 모드 변경
53
+ * // Change mode
54
54
  * setMode("dark");
55
55
  *
56
- * // 순환 (토글 버튼용)
57
- * cycleMode(); // light system dark light
56
+ * // Cycle (for toggle button)
57
+ * cycleMode(); // light -> system -> dark -> light
58
58
  * ```
59
59
  */
60
60
  export function useTheme(): ThemeContextValue {
61
61
  const context = useContext(ThemeContext);
62
62
  if (!context) {
63
- throw new Error("useTheme ThemeProvider 내부에서만 사용할 있습니다");
63
+ throw new Error("useTheme can only be used inside ThemeProvider");
64
64
  }
65
65
  return context;
66
66
  }
67
67
 
68
68
  /**
69
- * 테마 Provider 컴포넌트
69
+ * Theme Provider component.
70
70
  *
71
71
  * @remarks
72
- * - ConfigContext.Provider 내부에서 사용해야 함 (useSyncConfig 의존)
73
- * - localStorage에 테마 설정 저장
74
- * - `<html>` 요소에 `dark` 클래스 자동 토글
72
+ * - Must be used inside ConfigContext.Provider (depends on useSyncConfig)
73
+ * - Persists theme setting to localStorage
74
+ * - Automatically toggles `dark` class on the `<html>` element
75
75
  *
76
76
  * @example
77
77
  * ```tsx
@@ -85,10 +85,10 @@ export function useTheme(): ThemeContextValue {
85
85
  export const ThemeProvider: ParentComponent = (props) => {
86
86
  const [mode, setMode, ready] = useSyncConfig<ThemeMode>("theme", "system");
87
87
 
88
- // OS 다크모드 감지
88
+ // Detect OS dark mode
89
89
  const prefersDark = createMediaQuery("(prefers-color-scheme: dark)");
90
90
 
91
- // 실제 적용 테마 계산
91
+ // Calculate resolved theme
92
92
  const resolvedTheme = createMemo<ResolvedTheme>(() => {
93
93
  const currentMode = mode();
94
94
  if (currentMode === "system") {
@@ -97,7 +97,7 @@ export const ThemeProvider: ParentComponent = (props) => {
97
97
  return currentMode;
98
98
  });
99
99
 
100
- // 다음 모드로 순환
100
+ // Cycle to next mode
101
101
  const cycleMode = () => {
102
102
  const current = mode();
103
103
  const next: ThemeMode =
@@ -105,14 +105,14 @@ export const ThemeProvider: ParentComponent = (props) => {
105
105
  setMode(next);
106
106
  };
107
107
 
108
- // <html>에 dark 클래스 토글
108
+ // Toggle dark class on <html>
109
109
  createEffect(() => {
110
110
  if (!ready()) return; // Don't apply theme until storage has been read
111
111
  const isDark = resolvedTheme() === "dark";
112
112
  document.documentElement.classList.toggle("dark", isDark);
113
113
  });
114
114
 
115
- // cleanup dark 클래스 제거
115
+ // Remove dark class on cleanup
116
116
  onCleanup(() => {
117
117
  document.documentElement.classList.remove("dark");
118
118
  });
@@ -0,0 +1,129 @@
1
+ import {
2
+ createContext,
3
+ useContext,
4
+ type ParentComponent,
5
+ createSignal,
6
+ createMemo,
7
+ } from "solid-js";
8
+ import type { I18nContextValue, I18nConfigureOptions, FlatDict } from "./I18nContext.types";
9
+ import { flattenDict, mergeDict, interpolate } from "./i18nUtils";
10
+ import enDict from "./locales/en";
11
+ import koDict from "./locales/ko";
12
+ import { useSyncConfig } from "../../hooks/useSyncConfig";
13
+
14
+ /**
15
+ * I18n Context
16
+ */
17
+ const I18nContext = createContext<I18nContextValue>();
18
+
19
+ /**
20
+ * Detect locale from navigator.language
21
+ * "ko-KR" → "ko", "en-US" → "en", etc.
22
+ */
23
+ function detectLocaleFromNavigator(): string {
24
+ const lang = navigator.language.split("-")[0];
25
+ return ["ko", "en"].includes(lang) ? lang : "en";
26
+ }
27
+
28
+ /**
29
+ * Get i18n context value
30
+ *
31
+ * @throws Throws error if I18nProvider is not present
32
+ */
33
+ export function useI18n(): I18nContextValue {
34
+ const context = useContext(I18nContext);
35
+ if (!context) {
36
+ throw new Error("useI18n can only be used inside I18nProvider");
37
+ }
38
+ return context;
39
+ }
40
+
41
+ /**
42
+ * Get i18n context value (optional, returns undefined if not in provider)
43
+ */
44
+ export function useI18nOptional(): I18nContextValue | undefined {
45
+ return useContext(I18nContext);
46
+ }
47
+
48
+ /**
49
+ * I18n Provider component
50
+ *
51
+ * @remarks
52
+ * - Provides i18n context with t(), locale, setLocale, configure
53
+ * - Built-in dictionaries: en, ko (nested, flattened at runtime)
54
+ * - localStorage persistence via @simplysm/solid useSyncConfig pattern
55
+ * - Apps can override/extend dicts via configure()
56
+ *
57
+ * @example
58
+ * ```tsx
59
+ * <I18nProvider>
60
+ * <App />
61
+ * </I18nProvider>
62
+ *
63
+ * // Later in app:
64
+ * const { t, setLocale, configure } = useI18n();
65
+ *
66
+ * // Change locale
67
+ * setLocale("ko");
68
+ *
69
+ * // Or override/add languages
70
+ * configure({
71
+ * locale: "ja",
72
+ * dict: {
73
+ * ja: { "calendar.weeks.sun": "日" },
74
+ * },
75
+ * });
76
+ * ```
77
+ */
78
+ export const I18nProvider: ParentComponent = (props) => {
79
+ // Flatten built-in dictionaries
80
+ const builtInDicts: Record<string, FlatDict> = {
81
+ en: flattenDict(enDict),
82
+ ko: flattenDict(koDict),
83
+ };
84
+
85
+ // State for active locale and loaded dictionaries
86
+ const [locale, setLocale] = useSyncConfig<string>("i18n-locale", detectLocaleFromNavigator());
87
+ const [dicts, setDicts] = createSignal<Record<string, FlatDict>>(builtInDicts);
88
+
89
+ // Current dictionary (locale-specific)
90
+ const currentDict = createMemo(() => {
91
+ const current = locale();
92
+ return dicts()[current] ?? dicts()["en"];
93
+ });
94
+
95
+ // Translate function
96
+ const t = (key: string, params?: Record<string, string>): string => {
97
+ const dict = currentDict();
98
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
99
+ const template = dict[key] ?? dicts()["en"][key] ?? key;
100
+ return interpolate(template, params);
101
+ };
102
+
103
+ // Configure function (cumulative merge)
104
+ const configure = (options: I18nConfigureOptions) => {
105
+ if (options.locale !== undefined) {
106
+ setLocale(options.locale);
107
+ }
108
+
109
+ if (options.dict !== undefined) {
110
+ setDicts((prevDicts) => {
111
+ const newDicts = { ...prevDicts };
112
+ for (const [loc, nestedDict] of Object.entries(options.dict!)) {
113
+ const flattened = flattenDict(nestedDict);
114
+ newDicts[loc] = mergeDict(newDicts[loc] ?? {}, flattened);
115
+ }
116
+ return newDicts;
117
+ });
118
+ }
119
+ };
120
+
121
+ const contextValue: I18nContextValue = {
122
+ t,
123
+ locale,
124
+ setLocale,
125
+ configure,
126
+ };
127
+
128
+ return <I18nContext.Provider value={contextValue}>{props.children}</I18nContext.Provider>;
129
+ };
@@ -0,0 +1,30 @@
1
+ import type { Accessor } from "solid-js";
2
+
3
+ /**
4
+ * I18n context value
5
+ */
6
+ export interface I18nContextValue {
7
+ /** Translate function */
8
+ t: (key: string, params?: Record<string, string>) => string;
9
+ /** Current active locale (reactive) */
10
+ locale: Accessor<string>;
11
+ /** Set active locale */
12
+ setLocale: (locale: string) => void;
13
+ /** Configure dictionary and locale */
14
+ configure: (options: I18nConfigureOptions) => void;
15
+ }
16
+
17
+ /**
18
+ * I18n configure options
19
+ */
20
+ export interface I18nConfigureOptions {
21
+ /** Active locale (if omitted, current locale is kept) */
22
+ locale?: string;
23
+ /** Nested dictionaries to merge into built-in dicts */
24
+ dict?: Record<string, Record<string, unknown>>;
25
+ }
26
+
27
+ /**
28
+ * Flattened i18n dictionary
29
+ */
30
+ export type FlatDict = Record<string, string>;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Flatten nested object to dot-notation keys
3
+ * @example
4
+ * flatten({ a: { b: { c: "value" } } })
5
+ * // { "a.b.c": "value" }
6
+ */
7
+ export function flattenDict(obj: Record<string, unknown>, prefix = ""): Record<string, string> {
8
+ const result: Record<string, string> = {};
9
+
10
+ for (const [key, value] of Object.entries(obj)) {
11
+ const fullKey = prefix ? `${prefix}.${key}` : key;
12
+
13
+ if (typeof value === "string") {
14
+ result[fullKey] = value;
15
+ } else if (typeof value === "object" && value !== null && !Array.isArray(value)) {
16
+ Object.assign(result, flattenDict(value as Record<string, unknown>, fullKey));
17
+ }
18
+ }
19
+
20
+ return result;
21
+ }
22
+
23
+ /**
24
+ * Merge two flat dictionaries (b overwrites a)
25
+ */
26
+ export function mergeDict(a: Record<string, string>, b: Record<string, string>): Record<string, string> {
27
+ return { ...a, ...b };
28
+ }
29
+
30
+ /**
31
+ * Interpolate template with {{key}} syntax
32
+ * @example
33
+ * interpolate("Hello {{name}}", { name: "World" }) // "Hello World"
34
+ */
35
+ export function interpolate(template: string, params?: Record<string, string>): string {
36
+ if (!params) return template;
37
+ return template.replace(/\{\{(\w+)\}\}/g, (_, key) => params[key] || `{{${key}}}`);
38
+ }
@@ -0,0 +1,161 @@
1
+ export default {
2
+ calendar: {
3
+ weeks: {
4
+ sun: "Sun",
5
+ mon: "Mon",
6
+ tue: "Tue",
7
+ wed: "Wed",
8
+ thu: "Thu",
9
+ fri: "Fri",
10
+ sat: "Sat",
11
+ },
12
+ },
13
+ dataSheet: {
14
+ collapseAll: "Collapse all",
15
+ expandAll: "Expand all",
16
+ sheetSettings: "Sheet Settings",
17
+ },
18
+ dataSheetConfigDialog: {
19
+ column: "Column",
20
+ fixed: "Fixed",
21
+ hidden: "Hidden",
22
+ width: "Width",
23
+ autoPlaceholder: "auto",
24
+ resetConfirm: "Are you sure you want to reset all sheet settings?",
25
+ reset: "Reset",
26
+ cancel: "Cancel",
27
+ confirm: "Confirm",
28
+ },
29
+ dateRangePicker: {
30
+ day: "Day",
31
+ month: "Month",
32
+ range: "Range",
33
+ },
34
+ select: {
35
+ searchPlaceholder: "Search...",
36
+ selectAll: "Select all",
37
+ deselectAll: "Deselect all",
38
+ unset: "Unset",
39
+ },
40
+ topbar: {
41
+ toggleSidebar: "Toggle sidebar",
42
+ },
43
+ sidebar: {
44
+ closeSidebar: "Close sidebar",
45
+ },
46
+ editorToolbar: {
47
+ heading1: "Heading 1",
48
+ heading2: "Heading 2",
49
+ bold: "Bold",
50
+ italic: "Italic",
51
+ underline: "Underline",
52
+ strikethrough: "Strikethrough",
53
+ textColor: "Text color",
54
+ bgColor: "Background color",
55
+ bulletList: "Bullet list",
56
+ numberedList: "Numbered list",
57
+ increaseIndent: "Increase indent",
58
+ decreaseIndent: "Decrease indent",
59
+ blockquote: "Blockquote",
60
+ codeBlock: "Code block",
61
+ alignLeft: "Align left",
62
+ alignCenter: "Align center",
63
+ alignRight: "Align right",
64
+ justify: "Justify",
65
+ insertTable: "Insert table",
66
+ insertImage: "Insert image",
67
+ clearFormatting: "Clear formatting",
68
+ },
69
+ statePreset: {
70
+ addPreset: "Add preset",
71
+ overwrite: "Overwrite with current state",
72
+ deletePreset: "Delete preset",
73
+ namePlaceholder: "Name...",
74
+ duplicateName: "Duplicate name",
75
+ duplicateMessage: "A preset with this name already exists.",
76
+ saved: "Preset saved",
77
+ savedMessage: "Preset \"{{name}}\" has been saved.",
78
+ overwritten: "Preset overwritten",
79
+ overwrittenMessage: "Preset \"{{name}}\" has been updated with the current state.",
80
+ undo: "Undo",
81
+ deleted: "Preset deleted",
82
+ deletedMessage: "Preset \"{{name}}\" has been deleted.",
83
+ },
84
+ permissionTable: {
85
+ permissionItem: "Permission Item",
86
+ },
87
+ crudSheet: {
88
+ save: "Save",
89
+ refresh: "Refresh",
90
+ search: "Search",
91
+ addRow: "Add Row",
92
+ register: "Register",
93
+ deleteSelected: "Delete Selected",
94
+ restoreSelected: "Restore Selected",
95
+ excelUpload: "Excel Upload",
96
+ excelDownload: "Excel Download",
97
+ deselect: "Deselect",
98
+ deselectAll: "Deselect All",
99
+ confirm: "Confirm",
100
+ lastModified: "Last Modified",
101
+ modifiedBy: "Modified By",
102
+ notice: "Notice",
103
+ noChanges: "No changes to save.",
104
+ saveCompleted: "Save completed",
105
+ saveSuccess: "Saved successfully.",
106
+ deleteCompleted: "Delete completed",
107
+ deleteSuccess: "Deleted successfully.",
108
+ restoreCompleted: "Restore completed",
109
+ restoreSuccess: "Restored successfully.",
110
+ excelCompleted: "Completed",
111
+ excelUploadSuccess: "Excel upload completed successfully.",
112
+ lookupFailed: "Lookup failed",
113
+ saveFailed: "Save failed",
114
+ deleteFailed: "Delete failed",
115
+ restoreFailed: "Restore failed",
116
+ excelDownloadFailed: "Excel download failed",
117
+ excelUploadFailed: "Excel upload failed",
118
+ discardChanges: "You have unsaved changes. Discard them?",
119
+ },
120
+ crudDetail: {
121
+ save: "Save",
122
+ delete: "Delete",
123
+ restore: "Restore",
124
+ refresh: "Refresh",
125
+ confirm: "Confirm",
126
+ lastModified: "Last modified",
127
+ discardChanges: "Discard changes?",
128
+ lookupFailed: "Lookup failed",
129
+ notice: "Notice",
130
+ noChanges: "No changes to save.",
131
+ saveCompleted: "Save completed",
132
+ saveSuccess: "Saved successfully.",
133
+ saveFailed: "Save failed",
134
+ deleteCompleted: "Delete completed",
135
+ deleteSuccess: "Deleted successfully.",
136
+ deleteFailed: "Delete failed",
137
+ restoreCompleted: "Restore completed",
138
+ restoreSuccess: "Restored successfully.",
139
+ restoreFailed: "Restore failed",
140
+ },
141
+ sharedDataSelect: {
142
+ search: "Search",
143
+ edit: "Edit",
144
+ },
145
+ sharedDataSelectList: {
146
+ searchPlaceholder: "Search...",
147
+ },
148
+ dataSelectButton: {
149
+ deselect: "Deselect",
150
+ search: "Search",
151
+ },
152
+ dialog: {
153
+ close: "Close dialog",
154
+ },
155
+ notification: {
156
+ close: "Close notification",
157
+ },
158
+ topbarMenu: {
159
+ menu: "Menu",
160
+ },
161
+ };
@@ -0,0 +1,161 @@
1
+ export default {
2
+ calendar: {
3
+ weeks: {
4
+ sun: "일",
5
+ mon: "월",
6
+ tue: "화",
7
+ wed: "수",
8
+ thu: "목",
9
+ fri: "금",
10
+ sat: "토",
11
+ },
12
+ },
13
+ dataSheet: {
14
+ collapseAll: "전체 접기",
15
+ expandAll: "전체 펼치기",
16
+ sheetSettings: "시트 설정",
17
+ },
18
+ dataSheetConfigDialog: {
19
+ column: "컬럼",
20
+ fixed: "고정",
21
+ hidden: "숨김",
22
+ width: "너비",
23
+ autoPlaceholder: "자동",
24
+ resetConfirm: "모든 시트 설정을 초기화하시겠습니까?",
25
+ reset: "초기화",
26
+ cancel: "취소",
27
+ confirm: "확인",
28
+ },
29
+ dateRangePicker: {
30
+ day: "일",
31
+ month: "월",
32
+ range: "범위",
33
+ },
34
+ select: {
35
+ searchPlaceholder: "검색...",
36
+ selectAll: "전체 선택",
37
+ deselectAll: "전체 선택 해제",
38
+ unset: "미설정",
39
+ },
40
+ topbar: {
41
+ toggleSidebar: "사이드바 토글",
42
+ },
43
+ sidebar: {
44
+ closeSidebar: "사이드바 닫기",
45
+ },
46
+ editorToolbar: {
47
+ heading1: "제목 1",
48
+ heading2: "제목 2",
49
+ bold: "굵게",
50
+ italic: "기울임",
51
+ underline: "밑줄",
52
+ strikethrough: "취소선",
53
+ textColor: "텍스트 색상",
54
+ bgColor: "배경색",
55
+ bulletList: "글머리 목록",
56
+ numberedList: "번호 목록",
57
+ increaseIndent: "들여쓰기 증가",
58
+ decreaseIndent: "들여쓰기 감소",
59
+ blockquote: "인용구",
60
+ codeBlock: "코드 블록",
61
+ alignLeft: "왼쪽 정렬",
62
+ alignCenter: "중앙 정렬",
63
+ alignRight: "오른쪽 정렬",
64
+ justify: "양쪽 정렬",
65
+ insertTable: "표 삽입",
66
+ insertImage: "이미지 삽입",
67
+ clearFormatting: "서식 지우기",
68
+ },
69
+ statePreset: {
70
+ addPreset: "프리셋 추가",
71
+ overwrite: "현재 상태로 덮어쓰기",
72
+ deletePreset: "프리셋 삭제",
73
+ namePlaceholder: "이름...",
74
+ duplicateName: "중복된 이름",
75
+ duplicateMessage: "이 이름의 프리셋이 이미 존재합니다.",
76
+ saved: "프리셋 저장됨",
77
+ savedMessage: "프리셋 \"{{name}}\"이(가) 저장되었습니다.",
78
+ overwritten: "프리셋 덮어쓰기됨",
79
+ overwrittenMessage: "프리셋 \"{{name}}\"이(가) 현재 상태로 업데이트되었습니다.",
80
+ undo: "실행 취소",
81
+ deleted: "프리셋 삭제됨",
82
+ deletedMessage: "프리셋 \"{{name}}\"이(가) 삭제되었습니다.",
83
+ },
84
+ permissionTable: {
85
+ permissionItem: "권한 항목",
86
+ },
87
+ crudSheet: {
88
+ save: "저장",
89
+ refresh: "새로고침",
90
+ search: "조회",
91
+ addRow: "행 추가",
92
+ register: "등록",
93
+ deleteSelected: "선택 삭제",
94
+ restoreSelected: "선택 복원",
95
+ excelUpload: "엑셀 업로드",
96
+ excelDownload: "엑셀 다운로드",
97
+ deselect: "선택 해제",
98
+ deselectAll: "전체 선택 해제",
99
+ confirm: "확인",
100
+ lastModified: "마지막 수정",
101
+ modifiedBy: "수정자",
102
+ notice: "알림",
103
+ noChanges: "저장할 변경 사항이 없습니다.",
104
+ saveCompleted: "저장 완료",
105
+ saveSuccess: "저장되었습니다.",
106
+ deleteCompleted: "삭제 완료",
107
+ deleteSuccess: "삭제되었습니다.",
108
+ restoreCompleted: "복원 완료",
109
+ restoreSuccess: "복원되었습니다.",
110
+ excelCompleted: "완료",
111
+ excelUploadSuccess: "엑셀 업로드가 완료되었습니다.",
112
+ lookupFailed: "조회 실패",
113
+ saveFailed: "저장 실패",
114
+ deleteFailed: "삭제 실패",
115
+ restoreFailed: "복원 실패",
116
+ excelDownloadFailed: "엑셀 다운로드 실패",
117
+ excelUploadFailed: "엑셀 업로드 실패",
118
+ discardChanges: "저장하지 않은 변경 사항이 있습니다. 삭제하시겠습니까?",
119
+ },
120
+ crudDetail: {
121
+ save: "저장",
122
+ delete: "삭제",
123
+ restore: "복원",
124
+ refresh: "새로고침",
125
+ confirm: "확인",
126
+ lastModified: "마지막 수정",
127
+ discardChanges: "변경 사항을 삭제하시겠습니까?",
128
+ lookupFailed: "조회 실패",
129
+ notice: "알림",
130
+ noChanges: "저장할 변경 사항이 없습니다.",
131
+ saveCompleted: "저장 완료",
132
+ saveSuccess: "저장되었습니다.",
133
+ saveFailed: "저장 실패",
134
+ deleteCompleted: "삭제 완료",
135
+ deleteSuccess: "삭제되었습니다.",
136
+ deleteFailed: "삭제 실패",
137
+ restoreCompleted: "복원 완료",
138
+ restoreSuccess: "복원되었습니다.",
139
+ restoreFailed: "복원 실패",
140
+ },
141
+ sharedDataSelect: {
142
+ search: "검색",
143
+ edit: "편집",
144
+ },
145
+ sharedDataSelectList: {
146
+ searchPlaceholder: "검색...",
147
+ },
148
+ dataSelectButton: {
149
+ deselect: "선택 해제",
150
+ search: "검색",
151
+ },
152
+ dialog: {
153
+ close: "대화상자 닫기",
154
+ },
155
+ notification: {
156
+ close: "알림 닫기",
157
+ },
158
+ topbarMenu: {
159
+ menu: "메뉴",
160
+ },
161
+ };
@@ -1,12 +1,12 @@
1
1
  import { defineEvent } from "@simplysm/service-common";
2
2
 
3
3
  /**
4
- * SharedData 변경 이벤트 정의
4
+ * SharedData change event definition.
5
5
  *
6
6
  * @remarks
7
- * 서버-클라이언트 공유 데이터 변경을 알리는 이벤트.
8
- * - 이벤트 정보: `{ name: string; filter: unknown }` 데이터 이름과 필터
9
- * - 이벤트 데이터: `(string | number)[] | undefined` 변경된 항목의 key 배열 (undefined 전체 갱신)
7
+ * Event that notifies shared data changes between server and client.
8
+ * - Event info: `{ name: string; filter: unknown }` -- data name and filter
9
+ * - Event data: `(string | number)[] | undefined` -- array of changed item keys (undefined means full refresh)
10
10
  */
11
11
  export const SharedDataChangeEvent = defineEvent<
12
12
  { name: string; filter: unknown },