@simplysm/solid 13.0.76 → 13.0.77

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 (291) hide show
  1. package/README.md +9 -10
  2. package/dist/components/data/kanban/Kanban.d.ts +31 -38
  3. package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
  4. package/dist/components/data/kanban/Kanban.js.map +1 -1
  5. package/dist/components/data/list/List.d.ts +7 -28
  6. package/dist/components/data/list/List.d.ts.map +1 -1
  7. package/dist/components/data/list/List.js +3 -2
  8. package/dist/components/data/list/List.js.map +2 -2
  9. package/dist/components/data/sheet/DataSheet.d.ts +3 -8
  10. package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
  11. package/dist/components/data/sheet/DataSheet.js +305 -418
  12. package/dist/components/data/sheet/DataSheet.js.map +2 -2
  13. package/dist/components/data/sheet/{types.d.ts → DataSheet.types.d.ts} +9 -3
  14. package/dist/components/data/sheet/DataSheet.types.d.ts.map +1 -0
  15. package/dist/components/data/sheet/DataSheet.types.js +1 -0
  16. package/dist/components/data/sheet/{sheetUtils.d.ts → DataSheet.utils.d.ts} +2 -2
  17. package/dist/components/data/sheet/DataSheet.utils.d.ts.map +1 -0
  18. package/dist/components/data/sheet/{sheetUtils.js → DataSheet.utils.js} +3 -3
  19. package/dist/components/data/sheet/DataSheet.utils.js.map +6 -0
  20. package/dist/components/data/sheet/DataSheetColumn.d.ts +1 -1
  21. package/dist/components/data/sheet/DataSheetColumn.d.ts.map +1 -1
  22. package/dist/components/data/sheet/DataSheetConfigDialog.d.ts +1 -1
  23. package/dist/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -1
  24. package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts +1 -1
  25. package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts.map +1 -1
  26. package/dist/components/data/sheet/hooks/useDataSheetExpansion.js +1 -1
  27. package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts +2 -2
  28. package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts.map +1 -1
  29. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.d.ts +27 -0
  30. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.d.ts.map +1 -0
  31. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.js +173 -0
  32. package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.js.map +6 -0
  33. package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts +1 -2
  34. package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts.map +1 -1
  35. package/dist/components/data/sheet/hooks/useDataSheetReorder.js.map +1 -1
  36. package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts +2 -2
  37. package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts.map +1 -1
  38. package/dist/components/data/sheet/hooks/useDataSheetSelection.js +2 -2
  39. package/dist/components/data/sheet/hooks/useDataSheetSelection.js.map +1 -1
  40. package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts +1 -1
  41. package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts.map +1 -1
  42. package/dist/components/data/sheet/hooks/useDataSheetSorting.js +1 -1
  43. package/dist/components/disclosure/Dialog.d.ts +6 -10
  44. package/dist/components/disclosure/Dialog.d.ts.map +1 -1
  45. package/dist/components/disclosure/Dialog.js +11 -14
  46. package/dist/components/disclosure/Dialog.js.map +2 -2
  47. package/dist/components/disclosure/Dropdown.d.ts +8 -12
  48. package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
  49. package/dist/components/disclosure/Dropdown.js.map +1 -1
  50. package/dist/components/disclosure/Tabs.d.ts +3 -5
  51. package/dist/components/disclosure/Tabs.d.ts.map +1 -1
  52. package/dist/components/disclosure/Tabs.js.map +1 -1
  53. package/dist/components/display/Barcode.d.ts +1 -1
  54. package/dist/components/display/Barcode.d.ts.map +1 -1
  55. package/dist/components/display/Barcode.js +2 -1
  56. package/dist/components/display/Barcode.js.map +2 -2
  57. package/dist/components/display/Barcode.types.d.ts +2 -0
  58. package/dist/components/display/Barcode.types.d.ts.map +1 -0
  59. package/dist/components/display/Barcode.types.js +1 -0
  60. package/dist/components/display/Echarts.d.ts +2 -2
  61. package/dist/components/display/Echarts.d.ts.map +1 -1
  62. package/dist/components/display/Echarts.js +7 -8
  63. package/dist/components/display/Echarts.js.map +2 -2
  64. package/dist/components/features/address/AddressSearch.d.ts.map +1 -1
  65. package/dist/components/features/address/AddressSearch.js +4 -1
  66. package/dist/components/features/address/AddressSearch.js.map +2 -2
  67. package/dist/components/features/crud-detail/CrudDetail.d.ts +12 -13
  68. package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -1
  69. package/dist/components/features/crud-detail/CrudDetail.js +18 -15
  70. package/dist/components/features/crud-detail/CrudDetail.js.map +2 -2
  71. package/dist/components/features/crud-detail/{types.d.ts → CrudDetail.types.d.ts} +1 -1
  72. package/dist/components/features/crud-detail/CrudDetail.types.d.ts.map +1 -0
  73. package/dist/components/features/crud-detail/CrudDetail.types.js +1 -0
  74. package/dist/components/features/crud-sheet/CrudSheet.d.ts +3 -13
  75. package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -1
  76. package/dist/components/features/crud-sheet/CrudSheet.js +62 -73
  77. package/dist/components/features/crud-sheet/CrudSheet.js.map +2 -2
  78. package/dist/components/features/crud-sheet/{types.d.ts → CrudSheet.types.d.ts} +10 -10
  79. package/dist/components/features/crud-sheet/CrudSheet.types.d.ts.map +1 -0
  80. package/dist/components/features/crud-sheet/CrudSheet.types.js +1 -0
  81. package/dist/components/features/crud-sheet/CrudSheet.types.js.map +6 -0
  82. package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts +1 -1
  83. package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts.map +1 -1
  84. package/dist/components/features/crud-sheet/CrudSheetTools.d.ts +1 -1
  85. package/dist/components/features/crud-sheet/CrudSheetTools.d.ts.map +1 -1
  86. package/dist/components/features/data-select-button/DataSelectButton.d.ts +2 -2
  87. package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -1
  88. package/dist/components/features/data-select-button/DataSelectButton.js +3 -3
  89. package/dist/components/features/data-select-button/DataSelectButton.js.map +2 -2
  90. package/dist/components/features/shared-data/SharedDataSelect.d.ts +7 -11
  91. package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -1
  92. package/dist/components/features/shared-data/SharedDataSelect.js +5 -4
  93. package/dist/components/features/shared-data/SharedDataSelect.js.map +2 -2
  94. package/dist/components/features/shared-data/SharedDataSelectButton.d.ts.map +1 -1
  95. package/dist/components/features/shared-data/SharedDataSelectButton.js.map +1 -1
  96. package/dist/components/features/shared-data/SharedDataSelectList.d.ts +8 -15
  97. package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -1
  98. package/dist/components/features/shared-data/SharedDataSelectList.js +5 -3
  99. package/dist/components/features/shared-data/SharedDataSelectList.js.map +2 -2
  100. package/dist/components/feedback/notification/NotificationProvider.d.ts.map +1 -1
  101. package/dist/components/feedback/notification/NotificationProvider.js +9 -1
  102. package/dist/components/feedback/notification/NotificationProvider.js.map +2 -2
  103. package/dist/components/feedback/print/Print.d.ts +4 -6
  104. package/dist/components/feedback/print/Print.d.ts.map +1 -1
  105. package/dist/components/feedback/print/Print.js +3 -2
  106. package/dist/components/feedback/print/Print.js.map +2 -2
  107. package/dist/components/feedback/print/PrintProvider.d.ts.map +1 -1
  108. package/dist/components/feedback/print/PrintProvider.js +1 -0
  109. package/dist/components/feedback/print/PrintProvider.js.map +1 -1
  110. package/dist/components/form-control/Invalid.d.ts +1 -1
  111. package/dist/components/form-control/Invalid.d.ts.map +1 -1
  112. package/dist/components/form-control/Invalid.js +27 -26
  113. package/dist/components/form-control/Invalid.js.map +2 -2
  114. package/dist/components/form-control/checkbox/Checkbox.d.ts +1 -1
  115. package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
  116. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts +10 -10
  117. package/dist/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -1
  118. package/dist/components/form-control/checkbox/CheckboxGroup.js +2 -2
  119. package/dist/components/form-control/checkbox/CheckboxGroup.js.map +2 -2
  120. package/dist/components/form-control/checkbox/Radio.d.ts +1 -1
  121. package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
  122. package/dist/components/form-control/checkbox/RadioGroup.d.ts +10 -10
  123. package/dist/components/form-control/checkbox/RadioGroup.d.ts.map +1 -1
  124. package/dist/components/form-control/checkbox/RadioGroup.js +2 -2
  125. package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -2
  126. package/dist/components/form-control/checkbox/SelectableBase.d.ts +1 -1
  127. package/dist/components/form-control/checkbox/SelectableBase.d.ts.map +1 -1
  128. package/dist/components/form-control/checkbox/SelectableBase.js +3 -3
  129. package/dist/components/form-control/checkbox/SelectableBase.js.map +2 -2
  130. package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts +1 -1
  131. package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts.map +1 -1
  132. package/dist/components/form-control/checkbox/SelectionGroupBase.js +3 -3
  133. package/dist/components/form-control/checkbox/SelectionGroupBase.js.map +2 -2
  134. package/dist/components/form-control/color-picker/ColorPicker.d.ts +2 -2
  135. package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
  136. package/dist/components/form-control/color-picker/ColorPicker.js +3 -3
  137. package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
  138. package/dist/components/form-control/combobox/Combobox.d.ts +3 -3
  139. package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
  140. package/dist/components/form-control/combobox/Combobox.js +10 -5
  141. package/dist/components/form-control/combobox/Combobox.js.map +2 -2
  142. package/dist/components/form-control/date-range-picker/DateRangePicker.js +4 -4
  143. package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -2
  144. package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -1
  145. package/dist/components/form-control/editor/EditorToolbar.js +176 -312
  146. package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
  147. package/dist/components/form-control/field/DatePicker.d.ts +2 -2
  148. package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
  149. package/dist/components/form-control/field/DatePicker.js +3 -3
  150. package/dist/components/form-control/field/DatePicker.js.map +2 -2
  151. package/dist/components/form-control/field/DateTimePicker.d.ts +2 -2
  152. package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
  153. package/dist/components/form-control/field/DateTimePicker.js +3 -3
  154. package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
  155. package/dist/components/form-control/field/FieldShell.d.ts +1 -1
  156. package/dist/components/form-control/field/FieldShell.d.ts.map +1 -1
  157. package/dist/components/form-control/field/FieldShell.js +2 -2
  158. package/dist/components/form-control/field/FieldShell.js.map +2 -2
  159. package/dist/components/form-control/field/NumberInput.d.ts +7 -28
  160. package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
  161. package/dist/components/form-control/field/NumberInput.js +7 -5
  162. package/dist/components/form-control/field/NumberInput.js.map +2 -2
  163. package/dist/components/form-control/field/TextInput.d.ts +7 -23
  164. package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
  165. package/dist/components/form-control/field/TextInput.js +6 -5
  166. package/dist/components/form-control/field/TextInput.js.map +2 -2
  167. package/dist/components/form-control/field/Textarea.d.ts +2 -2
  168. package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
  169. package/dist/components/form-control/field/Textarea.js +3 -3
  170. package/dist/components/form-control/field/Textarea.js.map +2 -2
  171. package/dist/components/form-control/field/TimePicker.d.ts +2 -2
  172. package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
  173. package/dist/components/form-control/field/TimePicker.js +3 -3
  174. package/dist/components/form-control/field/TimePicker.js.map +2 -2
  175. package/dist/components/form-control/select/Select.d.ts +22 -44
  176. package/dist/components/form-control/select/Select.d.ts.map +1 -1
  177. package/dist/components/form-control/select/Select.js +8 -6
  178. package/dist/components/form-control/select/Select.js.map +2 -2
  179. package/dist/components/form-control/state-preset/StatePreset.js +5 -5
  180. package/dist/components/form-control/state-preset/StatePreset.js.map +2 -2
  181. package/dist/components/layout/sidebar/Sidebar.d.ts +5 -102
  182. package/dist/components/layout/sidebar/Sidebar.d.ts.map +1 -1
  183. package/dist/components/layout/sidebar/Sidebar.js.map +1 -1
  184. package/dist/components/layout/topbar/Topbar.d.ts +1 -1
  185. package/dist/components/layout/topbar/Topbar.d.ts.map +1 -1
  186. package/dist/components/layout/topbar/Topbar.js +3 -3
  187. package/dist/components/layout/topbar/Topbar.js.map +2 -2
  188. package/dist/helpers/createAppStructure.d.ts.map +1 -1
  189. package/dist/helpers/createAppStructure.js.map +1 -1
  190. package/dist/hooks/createControllableStore.js +5 -5
  191. package/dist/hooks/createControllableStore.js.map +1 -1
  192. package/dist/index.d.ts +4 -3
  193. package/dist/index.d.ts.map +1 -1
  194. package/dist/index.js +4 -3
  195. package/dist/index.js.map +1 -1
  196. package/dist/providers/ServiceClientProvider.d.ts +2 -2
  197. package/dist/providers/ServiceClientProvider.d.ts.map +1 -1
  198. package/dist/providers/ServiceClientProvider.js.map +1 -1
  199. package/dist/providers/shared-data/SharedDataProvider.d.ts +1 -1
  200. package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
  201. package/dist/providers/shared-data/SharedDataProvider.js +98 -86
  202. package/dist/providers/shared-data/SharedDataProvider.js.map +2 -2
  203. package/package.json +5 -5
  204. package/src/components/data/kanban/Kanban.tsx +37 -32
  205. package/src/components/data/list/List.tsx +3 -6
  206. package/src/components/data/sheet/DataSheet.tsx +224 -334
  207. package/src/components/data/sheet/{types.ts → DataSheet.types.ts} +8 -2
  208. package/src/components/data/sheet/{sheetUtils.ts → DataSheet.utils.ts} +3 -3
  209. package/src/components/data/sheet/DataSheetColumn.tsx +1 -1
  210. package/src/components/data/sheet/DataSheetConfigDialog.tsx +1 -1
  211. package/src/components/data/sheet/hooks/useDataSheetExpansion.ts +2 -2
  212. package/src/components/data/sheet/hooks/useDataSheetFixedColumns.ts +2 -2
  213. package/src/components/data/sheet/hooks/useDataSheetHeaderCell.tsx +168 -0
  214. package/src/components/data/sheet/hooks/useDataSheetReorder.ts +1 -2
  215. package/src/components/data/sheet/hooks/useDataSheetSelection.ts +4 -4
  216. package/src/components/data/sheet/hooks/useDataSheetSorting.ts +2 -2
  217. package/src/components/disclosure/Dialog.tsx +21 -27
  218. package/src/components/disclosure/Dropdown.tsx +1 -6
  219. package/src/components/disclosure/Tabs.tsx +1 -6
  220. package/src/components/display/Barcode.tsx +4 -113
  221. package/src/components/display/Barcode.types.ts +111 -0
  222. package/src/components/display/Echarts.tsx +10 -11
  223. package/src/components/features/address/AddressSearch.tsx +21 -3
  224. package/src/components/features/crud-detail/CrudDetail.tsx +21 -38
  225. package/src/components/features/crud-sheet/CrudSheet.tsx +77 -93
  226. package/src/components/features/crud-sheet/{types.ts → CrudSheet.types.ts} +9 -9
  227. package/src/components/features/crud-sheet/CrudSheetColumn.tsx +1 -1
  228. package/src/components/features/crud-sheet/CrudSheetTools.tsx +1 -1
  229. package/src/components/features/data-select-button/DataSelectButton.tsx +8 -8
  230. package/src/components/features/shared-data/SharedDataSelect.tsx +23 -34
  231. package/src/components/features/shared-data/SharedDataSelectButton.tsx +1 -4
  232. package/src/components/features/shared-data/SharedDataSelectList.tsx +6 -10
  233. package/src/components/feedback/notification/NotificationProvider.tsx +9 -1
  234. package/src/components/feedback/print/Print.tsx +4 -8
  235. package/src/components/feedback/print/PrintProvider.tsx +2 -1
  236. package/src/components/form-control/Invalid.tsx +33 -29
  237. package/src/components/form-control/checkbox/Checkbox.tsx +1 -1
  238. package/src/components/form-control/checkbox/CheckboxGroup.tsx +3 -12
  239. package/src/components/form-control/checkbox/Radio.tsx +1 -1
  240. package/src/components/form-control/checkbox/RadioGroup.tsx +3 -12
  241. package/src/components/form-control/checkbox/SelectableBase.tsx +3 -3
  242. package/src/components/form-control/checkbox/SelectionGroupBase.tsx +3 -3
  243. package/src/components/form-control/color-picker/ColorPicker.tsx +4 -4
  244. package/src/components/form-control/combobox/Combobox.tsx +23 -18
  245. package/src/components/form-control/date-range-picker/DateRangePicker.tsx +5 -5
  246. package/src/components/form-control/editor/EditorToolbar.tsx +82 -202
  247. package/src/components/form-control/field/DatePicker.tsx +4 -4
  248. package/src/components/form-control/field/DateTimePicker.tsx +4 -4
  249. package/src/components/form-control/field/FieldShell.tsx +2 -2
  250. package/src/components/form-control/field/NumberInput.tsx +8 -11
  251. package/src/components/form-control/field/TextInput.tsx +7 -11
  252. package/src/components/form-control/field/Textarea.tsx +4 -4
  253. package/src/components/form-control/field/TimePicker.tsx +4 -4
  254. package/src/components/form-control/select/Select.tsx +33 -42
  255. package/src/components/form-control/state-preset/StatePreset.tsx +5 -5
  256. package/src/components/layout/sidebar/Sidebar.tsx +1 -7
  257. package/src/components/layout/topbar/Topbar.tsx +3 -3
  258. package/src/helpers/createAppStructure.ts +16 -0
  259. package/src/hooks/createControllableStore.ts +5 -5
  260. package/src/index.ts +4 -3
  261. package/src/providers/ServiceClientProvider.tsx +4 -4
  262. package/src/providers/shared-data/SharedDataProvider.tsx +136 -113
  263. package/tests/components/data/sheet/DataSheet.spec.tsx +2 -2
  264. package/tests/components/data/sheet/hooks/useDataSheetFixedColumns.spec.ts +1 -1
  265. package/tests/components/data/sheet/hooks/useDataSheetSelection.spec.ts +34 -17
  266. package/tests/components/data/sheet/hooks/useDataSheetSorting.spec.ts +1 -1
  267. package/tests/components/disclosure/Dialog.spec.tsx +7 -7
  268. package/tests/components/display/Barcode.spec.tsx +15 -1
  269. package/tests/components/features/crud-sheet/CrudSheet.spec.tsx +6 -6
  270. package/tests/components/form-control/Invalid.spec.tsx +5 -5
  271. package/tests/components/form-control/combobox/Combobox.spec.tsx +24 -1
  272. package/tests/components/layout/topbar/TopbarActions.spec.tsx +4 -4
  273. package/tests/components/layout/topbar/{createTopbarActions.spec.tsx → useTopbarActions.spec.tsx} +4 -4
  274. package/tests/providers/shared-data/SharedDataProvider.spec.tsx +130 -8
  275. package/dist/components/data/sheet/sheetUtils.d.ts.map +0 -1
  276. package/dist/components/data/sheet/sheetUtils.js.map +0 -6
  277. package/dist/components/data/sheet/types.d.ts.map +0 -1
  278. package/dist/components/data/sheet/types.js +0 -1
  279. package/dist/components/features/crud-detail/types.d.ts.map +0 -1
  280. package/dist/components/features/crud-detail/types.js +0 -1
  281. package/dist/components/features/crud-sheet/types.d.ts.map +0 -1
  282. package/dist/components/features/crud-sheet/types.js +0 -1
  283. package/dist/components/feedback/notification/index.d.ts +0 -4
  284. package/dist/components/feedback/notification/index.d.ts.map +0 -1
  285. package/dist/components/feedback/notification/index.js +0 -4
  286. package/dist/components/feedback/notification/index.js.map +0 -6
  287. package/src/components/feedback/notification/index.ts +0 -3
  288. /package/dist/components/data/sheet/{types.js.map → DataSheet.types.js.map} +0 -0
  289. /package/dist/components/{features/crud-detail/types.js.map → display/Barcode.types.js.map} +0 -0
  290. /package/dist/components/features/{crud-sheet/types.js.map → crud-detail/CrudDetail.types.js.map} +0 -0
  291. /package/src/components/features/crud-detail/{types.ts → CrudDetail.types.ts} +0 -0
@@ -0,0 +1,111 @@
1
+ export type BarcodeType =
2
+ | "auspost"
3
+ | "azteccode"
4
+ | "azteccodecompact"
5
+ | "aztecrune"
6
+ | "bc412"
7
+ | "channelcode"
8
+ | "codablockf"
9
+ | "code11"
10
+ | "code128"
11
+ | "code16k"
12
+ | "code2of5"
13
+ | "code32"
14
+ | "code39"
15
+ | "code39ext"
16
+ | "code49"
17
+ | "code93"
18
+ | "code93ext"
19
+ | "codeone"
20
+ | "coop2of5"
21
+ | "daft"
22
+ | "databarexpanded"
23
+ | "databarexpandedcomposite"
24
+ | "databarexpandedstacked"
25
+ | "databarexpandedstackedcomposite"
26
+ | "databarlimited"
27
+ | "databarlimitedcomposite"
28
+ | "databaromni"
29
+ | "databaromnicomposite"
30
+ | "databarstacked"
31
+ | "databarstackedcomposite"
32
+ | "databarstackedomni"
33
+ | "databarstackedomnicomposite"
34
+ | "databartruncated"
35
+ | "databartruncatedcomposite"
36
+ | "datalogic2of5"
37
+ | "datamatrix"
38
+ | "datamatrixrectangular"
39
+ | "datamatrixrectangularextension"
40
+ | "dotcode"
41
+ | "ean13"
42
+ | "ean13composite"
43
+ | "ean14"
44
+ | "ean2"
45
+ | "ean5"
46
+ | "ean8"
47
+ | "ean8composite"
48
+ | "flattermarken"
49
+ | "gs1-128"
50
+ | "gs1-128composite"
51
+ | "gs1-cc"
52
+ | "gs1datamatrix"
53
+ | "gs1datamatrixrectangular"
54
+ | "gs1dldatamatrix"
55
+ | "gs1dlqrcode"
56
+ | "gs1dotcode"
57
+ | "gs1northamericancoupon"
58
+ | "gs1qrcode"
59
+ | "hanxin"
60
+ | "hibcazteccode"
61
+ | "hibccodablockf"
62
+ | "hibccode128"
63
+ | "hibccode39"
64
+ | "hibcdatamatrix"
65
+ | "hibcdatamatrixrectangular"
66
+ | "hibcmicropdf417"
67
+ | "hibcpdf417"
68
+ | "hibcqrcode"
69
+ | "iata2of5"
70
+ | "identcode"
71
+ | "industrial2of5"
72
+ | "interleaved2of5"
73
+ | "isbn"
74
+ | "ismn"
75
+ | "issn"
76
+ | "itf14"
77
+ | "japanpost"
78
+ | "kix"
79
+ | "leitcode"
80
+ | "mailmark"
81
+ | "mands"
82
+ | "matrix2of5"
83
+ | "maxicode"
84
+ | "micropdf417"
85
+ | "microqrcode"
86
+ | "msi"
87
+ | "onecode"
88
+ | "pdf417"
89
+ | "pdf417compact"
90
+ | "pharmacode"
91
+ | "pharmacode2"
92
+ | "planet"
93
+ | "plessey"
94
+ | "posicode"
95
+ | "postnet"
96
+ | "pzn"
97
+ | "qrcode"
98
+ | "rationalizedCodabar"
99
+ | "raw"
100
+ | "rectangularmicroqrcode"
101
+ | "royalmail"
102
+ | "sscc18"
103
+ | "swissqrcode"
104
+ | "symbol"
105
+ | "telepen"
106
+ | "telepennumeric"
107
+ | "ultracode"
108
+ | "upca"
109
+ | "upcacomposite"
110
+ | "upce"
111
+ | "upcecomposite";
@@ -3,34 +3,33 @@ import {
3
3
  createEffect,
4
4
  createSignal,
5
5
  onCleanup,
6
+ onMount,
6
7
  splitProps,
7
8
  type JSX,
8
9
  } from "solid-js";
9
10
  import { createResizeObserver } from "@solid-primitives/resize-observer";
10
- import type * as echartsType from "echarts";
11
+ import * as echarts from "echarts";
11
12
  import { twMerge } from "tailwind-merge";
12
13
 
13
14
  export interface EchartsProps extends JSX.HTMLAttributes<HTMLDivElement> {
14
- option: echartsType.EChartsOption;
15
+ option: echarts.EChartsOption;
15
16
  busy?: boolean;
16
17
  }
17
18
 
18
19
  export const Echarts: Component<EchartsProps> = (props) => {
19
20
  const [local, rest] = splitProps(props, ["option", "busy", "class"]);
20
21
  let containerRef!: HTMLDivElement;
21
- let chart: echartsType.EChartsType | undefined;
22
+ let chart: echarts.EChartsType | undefined;
22
23
  const [ready, setReady] = createSignal(false);
23
24
 
24
- // On mount, dynamically load echarts + initialize chart
25
- createEffect(() => {
26
- void import("echarts").then((echarts) => {
27
- chart = echarts.init(containerRef, null, { renderer: "svg" });
28
- setReady(true);
29
- });
30
-
31
- onCleanup(() => chart?.dispose());
25
+ // Initialize chart on mount
26
+ onMount(() => {
27
+ chart = echarts.init(containerRef, null, { renderer: "svg" });
28
+ setReady(true);
32
29
  });
33
30
 
31
+ onCleanup(() => chart?.dispose());
32
+
34
33
  // Detect option changes
35
34
  createEffect(() => {
36
35
  if (!ready()) return;
@@ -7,6 +7,21 @@ export interface AddressSearchResult {
7
7
  buildingName: string | undefined;
8
8
  }
9
9
 
10
+ interface DaumPostcodeResult {
11
+ userSelectedType: "R" | "J";
12
+ roadAddress: string;
13
+ jibunAddress: string;
14
+ zonecode: string;
15
+ bname: string;
16
+ buildingName: string;
17
+ apartment: "Y" | "N";
18
+ }
19
+
20
+ interface DaumPostcodeSize {
21
+ width: number;
22
+ height: number;
23
+ }
24
+
10
25
  export const AddressSearchContent: Component<{
11
26
  close?: (result?: AddressSearchResult) => void;
12
27
  }> = (props) => {
@@ -15,7 +30,7 @@ export const AddressSearchContent: Component<{
15
30
 
16
31
  onMount(async () => {
17
32
  if (!document.getElementById("daum_address")) {
18
- await new Promise<void>((resolve) => {
33
+ await new Promise<void>((resolve, reject) => {
19
34
  const scriptEl = document.createElement("script");
20
35
  scriptEl.src = "//t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js";
21
36
  scriptEl.setAttribute("id", "daum_address");
@@ -26,13 +41,16 @@ export const AddressSearchContent: Component<{
26
41
  resolve();
27
42
  });
28
43
  };
44
+ scriptEl.onerror = () => {
45
+ reject(new Error("Failed to load Daum postcode script"));
46
+ };
29
47
  document.head.appendChild(scriptEl);
30
48
  });
31
49
  }
32
50
 
33
51
  // @ts-expect-error -- Daum Postcode global API
34
52
  new daum.Postcode({
35
- oncomplete: (data: any): void => {
53
+ oncomplete: (data: DaumPostcodeResult): void => {
36
54
  const addr = data.userSelectedType === "R" ? data.roadAddress : data.jibunAddress;
37
55
 
38
56
  let extraAddr = "";
@@ -56,7 +74,7 @@ export const AddressSearchContent: Component<{
56
74
  buildingName: data.buildingName,
57
75
  });
58
76
  },
59
- onresize: (size: any): void => {
77
+ onresize: (size: DaumPostcodeSize): void => {
60
78
  contentEl.style.height = size.height + "px";
61
79
  },
62
80
  width: "100%",
@@ -1,7 +1,6 @@
1
1
  import {
2
2
  createSignal,
3
3
  createUniqueId,
4
- type JSX,
5
4
  onCleanup,
6
5
  onMount,
7
6
  Show,
@@ -11,12 +10,12 @@ import {
11
10
  import { registerCrud, unregisterCrud, activateCrud, isActiveCrud } from "../crudRegistry";
12
11
  import { reconcile, unwrap } from "solid-js/store";
13
12
  import { createControllableStore } from "../../../hooks/createControllableStore";
14
- import { objClone, objEqual } from "@simplysm/core-common";
13
+ import { obj } from "@simplysm/core-common";
15
14
  import { BusyContainer } from "../../feedback/busy/BusyContainer";
16
15
  import { useNotification } from "../../feedback/notification/NotificationProvider";
17
16
  import { Button } from "../../form-control/Button";
18
17
  import { Icon } from "../../display/Icon";
19
- import { createTopbarActions, TopbarContext } from "../../layout/topbar/Topbar";
18
+ import { useTopbarActions, TopbarContext } from "../../layout/topbar/Topbar";
20
19
  import { Dialog } from "../../disclosure/Dialog";
21
20
  import { createEventListener } from "@solid-primitives/event-listener";
22
21
  import { useI18n } from "../../../providers/i18n/I18nProvider";
@@ -36,14 +35,7 @@ import type {
36
35
  CrudDetailContext,
37
36
  CrudDetailInfo,
38
37
  CrudDetailProps,
39
- } from "./types";
40
-
41
- interface CrudDetailComponent {
42
- <TData extends object>(props: CrudDetailProps<TData>): JSX.Element;
43
- Tools: typeof CrudDetailTools;
44
- Before: typeof CrudDetailBefore;
45
- After: typeof CrudDetailAfter;
46
- }
38
+ } from "./CrudDetail.types";
47
39
 
48
40
  const CrudDetailBase = <TData extends object>(props: CrudDetailProps<TData>) => {
49
41
  const [local] = splitProps(props, [
@@ -92,13 +84,14 @@ const CrudDetailBase = <TData extends object>(props: CrudDetailProps<TData>) =>
92
84
  try {
93
85
  const result = await local.load();
94
86
  setData(reconcile(result.data) as any);
95
- originalData = objClone(result.data);
87
+ originalData = obj.clone(result.data);
96
88
  setInfo(result.info);
89
+ setReady(true);
97
90
  } catch (err) {
98
91
  noti.error(err, i18n.t("crudDetail.lookupFailed"));
92
+ } finally {
93
+ setBusyCount((c) => c - 1);
99
94
  }
100
- setBusyCount((c) => c - 1);
101
- setReady(true);
102
95
  }
103
96
 
104
97
  onMount(() => {
@@ -112,7 +105,7 @@ const CrudDetailBase = <TData extends object>(props: CrudDetailProps<TData>) =>
112
105
  // -- Change Detection --
113
106
  function hasChanges(): boolean {
114
107
  if (originalData == null) return false;
115
- return !objEqual(unwrap(data) as unknown, originalData as unknown);
108
+ return !obj.equal(unwrap(data) as unknown, originalData as unknown);
116
109
  }
117
110
 
118
111
  // -- Refresh --
@@ -136,7 +129,7 @@ const CrudDetailBase = <TData extends object>(props: CrudDetailProps<TData>) =>
136
129
 
137
130
  setBusyCount((c) => c + 1);
138
131
  try {
139
- const result = await local.submit(objClone(unwrap(data)));
132
+ const result = await local.submit(obj.clone(unwrap(data)));
140
133
  if (result) {
141
134
  noti.success(i18n.t("crudDetail.saveCompleted"), i18n.t("crudDetail.saveSuccess"));
142
135
  if (local.close) {
@@ -198,11 +191,15 @@ const CrudDetailBase = <TData extends object>(props: CrudDetailProps<TData>) =>
198
191
  }
199
192
  });
200
193
 
194
+ const showSave = () => canEdit() && local.submit;
195
+ const showDelete = () =>
196
+ canEdit() && local.toggleDelete && info() && !info()!.isNew && (local.deletable ?? true);
197
+
201
198
  // -- Topbar Actions (Page mode) --
202
199
  if (topbarCtx) {
203
- createTopbarActions(() => (
200
+ useTopbarActions(() => (
204
201
  <>
205
- <Show when={canEdit() && local.submit}>
202
+ <Show when={showSave()}>
206
203
  <Button
207
204
  size="lg"
208
205
  variant="ghost"
@@ -213,11 +210,7 @@ const CrudDetailBase = <TData extends object>(props: CrudDetailProps<TData>) =>
213
210
  {i18n.t("crudDetail.save")}
214
211
  </Button>
215
212
  </Show>
216
- <Show
217
- when={
218
- canEdit() && local.toggleDelete && info() && !info()!.isNew && (local.deletable ?? true)
219
- }
220
- >
213
+ <Show when={showDelete()}>
221
214
  {(_) => (
222
215
  <Button
223
216
  size="lg"
@@ -272,7 +265,7 @@ const CrudDetailBase = <TData extends object>(props: CrudDetailProps<TData>) =>
272
265
  <Show when={(!isInDialog && !topbarCtx) || tools()}>
273
266
  <div class="flex gap-2 pb-0">
274
267
  <Show when={!topbarCtx && !isInDialog}>
275
- <Show when={canEdit() && local.submit}>
268
+ <Show when={showSave()}>
276
269
  <Button
277
270
  size="sm"
278
271
  theme="primary"
@@ -283,15 +276,7 @@ const CrudDetailBase = <TData extends object>(props: CrudDetailProps<TData>) =>
283
276
  {i18n.t("crudDetail.save")}
284
277
  </Button>
285
278
  </Show>
286
- <Show
287
- when={
288
- canEdit() &&
289
- local.toggleDelete &&
290
- info() &&
291
- !info()!.isNew &&
292
- (local.deletable ?? true)
293
- }
294
- >
279
+ <Show when={showDelete()}>
295
280
  {(_) => (
296
281
  <Button
297
282
  size="sm"
@@ -338,9 +323,7 @@ const CrudDetailBase = <TData extends object>(props: CrudDetailProps<TData>) =>
338
323
  <Show when={isInDialog && canEdit()}>
339
324
  <div class={clsx("flex gap-2 border-t px-3 py-1.5", border.default)}>
340
325
  <div class="flex-1" />
341
- <Show
342
- when={local.toggleDelete && info() && !info()!.isNew && (local.deletable ?? true)}
343
- >
326
+ <Show when={showDelete()}>
344
327
  {(_) => (
345
328
  <Button variant={"solid"} theme="danger" onClick={() => void handleToggleDelete()}>
346
329
  <Icon icon={info()!.isDeleted ? IconTrashOff : IconTrash} class="mr-1" />
@@ -348,7 +331,7 @@ const CrudDetailBase = <TData extends object>(props: CrudDetailProps<TData>) =>
348
331
  </Button>
349
332
  )}
350
333
  </Show>
351
- <Show when={local.submit}>
334
+ <Show when={showSave()}>
352
335
  <Button
353
336
  variant={"solid"}
354
337
  theme="primary"
@@ -373,5 +356,5 @@ export const CrudDetail = Object.assign(CrudDetailBase, {
373
356
  Tools: CrudDetailTools,
374
357
  Before: CrudDetailBefore,
375
358
  After: CrudDetailAfter,
376
- }) as unknown as CrudDetailComponent;
359
+ });
377
360
  //#endregion