@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
@@ -1,25 +1,24 @@
1
1
  import { template as _$template } from "solid-js/web";
2
2
  import { delegateEvents as _$delegateEvents } from "solid-js/web";
3
- import { setStyleProperty as _$setStyleProperty } from "solid-js/web";
4
3
  import { addEventListener as _$addEventListener } from "solid-js/web";
5
4
  import { use as _$use } from "solid-js/web";
5
+ import { memo as _$memo } from "solid-js/web";
6
6
  import { style as _$style } from "solid-js/web";
7
+ import { setStyleProperty as _$setStyleProperty } from "solid-js/web";
7
8
  import { setAttribute as _$setAttribute } from "solid-js/web";
8
9
  import { effect as _$effect } from "solid-js/web";
9
10
  import { insert as _$insert } from "solid-js/web";
10
11
  import { createComponent as _$createComponent } from "solid-js/web";
11
12
  import { className as _$className } from "solid-js/web";
12
- import { memo as _$memo } from "solid-js/web";
13
- var _tmpl$ = /* @__PURE__ */ _$template(`<button title="Sheet Settings"type=button>`), _tmpl$2 = /* @__PURE__ */ _$template(`<div><div class=flex-1>`), _tmpl$3 = /* @__PURE__ */ _$template(`<col>`), _tmpl$4 = /* @__PURE__ */ _$template(`<tr>`), _tmpl$5 = /* @__PURE__ */ _$template(`<div><div data-sheet-scroll><table><colgroup></colgroup><thead></thead><tbody></tbody></table><div></div><div data-reorder-indicator style=display:none>`), _tmpl$6 = /* @__PURE__ */ _$template(`<th style=top:0;left:0><div><button type=button>`), _tmpl$7 = /* @__PURE__ */ _$template(`<div>`), _tmpl$8 = /* @__PURE__ */ _$template(`<th style=top:0>`), _tmpl$9 = /* @__PURE__ */ _$template(`<th><div><div class=flex-1>`), _tmpl$0 = /* @__PURE__ */ _$template(`<sub>`), _tmpl$1 = /* @__PURE__ */ _$template(`<th><div>`), _tmpl$10 = /* @__PURE__ */ _$template(`<button type=button>`), _tmpl$11 = /* @__PURE__ */ _$template(`<td style=left:0><div>`), _tmpl$12 = /* @__PURE__ */ _$template(`<td><div><div>`), _tmpl$13 = /* @__PURE__ */ _$template(`<div><div>`), _tmpl$14 = /* @__PURE__ */ _$template(`<td>`);
13
+ var _tmpl$ = /* @__PURE__ */ _$template(`<button type=button>`), _tmpl$2 = /* @__PURE__ */ _$template(`<td style=left:0><div>`), _tmpl$3 = /* @__PURE__ */ _$template(`<div><div>`), _tmpl$4 = /* @__PURE__ */ _$template(`<div>`), _tmpl$5 = /* @__PURE__ */ _$template(`<td>`), _tmpl$6 = /* @__PURE__ */ _$template(`<td><div><div>`), _tmpl$7 = /* @__PURE__ */ _$template(`<tr>`), _tmpl$8 = /* @__PURE__ */ _$template(`<th><div>`), _tmpl$9 = /* @__PURE__ */ _$template(`<button title="Sheet Settings"type=button>`), _tmpl$0 = /* @__PURE__ */ _$template(`<div><div class=flex-1>`), _tmpl$1 = /* @__PURE__ */ _$template(`<col>`), _tmpl$10 = /* @__PURE__ */ _$template(`<div><div data-sheet-scroll><table><colgroup></colgroup><thead></thead><tbody></tbody></table><div></div><div data-reorder-indicator style=display:none>`), _tmpl$11 = /* @__PURE__ */ _$template(`<th style=top:0;left:0><div><button type=button>`), _tmpl$12 = /* @__PURE__ */ _$template(`<th style=top:0>`);
14
14
  import { createMemo, createSignal, For, Show, splitProps, useContext } from "solid-js";
15
15
  import { createResizeObserver } from "@solid-primitives/resize-observer";
16
16
  import clsx from "clsx";
17
17
  import { twMerge } from "tailwind-merge";
18
- import { IconArrowsSort, IconChevronDown, IconChevronRight, IconGripVertical, IconSettings, IconSortAscending, IconSortDescending } from "@tabler/icons-solidjs";
18
+ import { IconChevronDown, IconChevronRight, IconGripVertical, IconSettings } from "@tabler/icons-solidjs";
19
19
  import "@simplysm/core-browser";
20
20
  import { DataSheetColumn, createColumnSlotsAccessor } from "./DataSheetColumn.js";
21
- import { DataSheetConfigDialog } from "./DataSheetConfigDialog.js";
22
- import { buildHeaderTable, normalizeHeader } from "./sheetUtils.js";
21
+ import { buildHeaderTable, normalizeHeader } from "./DataSheet.utils.js";
23
22
  import { startPointerDrag } from "../../../helpers/startPointerDrag.js";
24
23
  import { Icon } from "../../display/Icon.js";
25
24
  import { Checkbox } from "../../form-control/checkbox/Checkbox.js";
@@ -34,8 +33,9 @@ import { useDataSheetExpansion } from "./hooks/useDataSheetExpansion.js";
34
33
  import { useDataSheetSelection } from "./hooks/useDataSheetSelection.js";
35
34
  import { useDataSheetReorder } from "./hooks/useDataSheetReorder.js";
36
35
  import { useDataSheetFixedColumns } from "./hooks/useDataSheetFixedColumns.js";
36
+ import { useDataSheetHeaderCell } from "./hooks/useDataSheetHeaderCell.js";
37
37
  const DataSheetInner = (props) => {
38
- const [local] = splitProps(props, ["items", "storageKey", "hideConfigBar", "inset", "contentStyle", "sorts", "onSortsChange", "autoSort", "page", "onPageChange", "totalPageCount", "pageSize", "displayPageCount", "expandedItems", "onExpandedItemsChange", "itemChildren", "selectionMode", "selection", "onSelectionChange", "autoSelect", "itemSelectable", "cellClass", "cellStyle", "onItemsReorder", "class", "children"]);
38
+ const [local] = splitProps(props, ["items", "storageKey", "hideConfigBar", "inset", "contentStyle", "sorts", "onSortsChange", "autoSort", "page", "onPageChange", "totalPageCount", "pageSize", "displayPageCount", "expandedItems", "onExpandedItemsChange", "itemChildren", "selectionMode", "selection", "onSelectionChange", "autoSelect", "isItemSelectable", "cellClass", "cellStyle", "onItemsReorder", "class", "children"]);
39
39
  const dialog = useContext(DialogContext);
40
40
  const i18n = useI18n();
41
41
  const [rawColumns, ColumnsProvider] = createColumnSlotsAccessor();
@@ -285,8 +285,8 @@ const DataSheetInner = (props) => {
285
285
  get onSelectionChange() {
286
286
  return local.onSelectionChange;
287
287
  },
288
- get itemSelectable() {
289
- return local.itemSelectable;
288
+ get isItemSelectable() {
289
+ return local.isItemSelectable;
290
290
  }
291
291
  }, displayItems);
292
292
  function selectItem(item) {
@@ -341,18 +341,213 @@ const DataSheetInner = (props) => {
341
341
  return headerRows + summaryRow;
342
342
  });
343
343
  void dragState;
344
+ const {
345
+ renderHeaderCell
346
+ } = useDataSheetHeaderCell({
347
+ effectiveColumns,
348
+ headerRowTops,
349
+ getFixedStyle,
350
+ isLastFixed,
351
+ registerColumnRef,
352
+ toggleSort,
353
+ getSortDef,
354
+ sortIndex,
355
+ onResizerPointerdown,
356
+ onResizerDoubleClick,
357
+ thClass,
358
+ fixedClass,
359
+ sortableThClass,
360
+ fixedLastClass,
361
+ thContentClass,
362
+ resizerClass,
363
+ sortIconClass
364
+ });
365
+ function renderExpandCell(flatItem) {
366
+ return (() => {
367
+ var _el$ = _tmpl$2(), _el$2 = _el$.firstChild;
368
+ _$className(_el$2, featureCellBodyWrapperClass);
369
+ _$insert(_el$2, _$createComponent(For, {
370
+ get each() {
371
+ return Array.from({
372
+ length: flatItem.depth
373
+ });
374
+ },
375
+ children: () => (() => {
376
+ var _el$4 = _tmpl$3(), _el$5 = _el$4.firstChild;
377
+ _$className(_el$4, expandIndentGuideClass);
378
+ _$className(_el$5, expandIndentGuideLineClass);
379
+ return _el$4;
380
+ })()
381
+ }), null);
382
+ _$insert(_el$2, _$createComponent(Show, {
383
+ get when() {
384
+ return flatItem.hasChildren;
385
+ },
386
+ get children() {
387
+ var _el$3 = _tmpl$();
388
+ _el$3.$$click = () => toggleExpand(flatItem.item);
389
+ _$className(_el$3, expandToggleClass);
390
+ _$insert(_el$3, _$createComponent(Icon, {
391
+ icon: IconChevronDown,
392
+ size: "1em",
393
+ get ["class"]() {
394
+ return clsx("transition-transform", expandedItems().includes(flatItem.item) ? "rotate-0" : "-rotate-90");
395
+ }
396
+ }));
397
+ return _el$3;
398
+ }
399
+ }), null);
400
+ _$effect(() => _$className(_el$, twMerge(featureTdClass, fixedClass, "z-[2]", isExpandColLastFixed() ? fixedLastClass : void 0)));
401
+ return _el$;
402
+ })();
403
+ }
404
+ function renderSelectCell(flatItem) {
405
+ const selectable = () => getItemSelectable(flatItem.item);
406
+ const isSelected = () => selection().includes(flatItem.item);
407
+ const rowIndex = () => flatItem.row;
408
+ return (() => {
409
+ var _el$6 = _tmpl$5();
410
+ _$insert(_el$6, _$createComponent(Show, {
411
+ get when() {
412
+ return local.selectionMode === "multiple";
413
+ },
414
+ get fallback() {
415
+ return (
416
+ /* single mode */
417
+ _$createComponent(Show, {
418
+ get when() {
419
+ return selectable() === true;
420
+ },
421
+ get children() {
422
+ var _el$8 = _tmpl$3(), _el$9 = _el$8.firstChild;
423
+ _el$8.$$click = () => toggleSelect(flatItem.item);
424
+ _$className(_el$8, featureCellBodyClickableClass);
425
+ _$insert(_el$9, _$createComponent(Icon, {
426
+ icon: IconChevronRight,
427
+ size: "1em"
428
+ }));
429
+ _$effect(() => _$className(_el$9, twMerge(selectSingleClass, isSelected() ? selectSingleSelectedClass : selectSingleUnselectedClass)));
430
+ return _el$8;
431
+ }
432
+ })
433
+ );
434
+ },
435
+ get children() {
436
+ var _el$7 = _tmpl$4();
437
+ _el$7.$$click = (e) => {
438
+ if (e.shiftKey) {
439
+ rangeSelect(rowIndex());
440
+ } else {
441
+ toggleSelect(flatItem.item);
442
+ }
443
+ setLastClickedRow(rowIndex());
444
+ };
445
+ _$className(_el$7, featureCellBodyClickableClass);
446
+ _$insert(_el$7, _$createComponent(Checkbox, {
447
+ get value() {
448
+ return isSelected();
449
+ },
450
+ get disabled() {
451
+ return selectable() !== true;
452
+ },
453
+ inset: true,
454
+ get ["class"]() {
455
+ return twMerge("pointer-events-none", lastClickedRow() === rowIndex() ? "[&>div]:ring-2 [&>div]:ring-primary-200 dark:[&>div]:ring-primary-700" : void 0);
456
+ }
457
+ }));
458
+ _$effect(() => _$setAttribute(_el$7, "title", typeof selectable() === "string" ? selectable() : void 0));
459
+ return _el$7;
460
+ }
461
+ }));
462
+ _$effect((_p$) => {
463
+ var _v$ = twMerge(featureTdClass, fixedClass, "z-[2]", isSelectColLastFixed() ? fixedLastClass : void 0), _v$2 = selectColLeft();
464
+ _v$ !== _p$.e && _$className(_el$6, _p$.e = _v$);
465
+ _v$2 !== _p$.t && _$setStyleProperty(_el$6, "left", _p$.t = _v$2);
466
+ return _p$;
467
+ }, {
468
+ e: void 0,
469
+ t: void 0
470
+ });
471
+ return _el$6;
472
+ })();
473
+ }
474
+ function renderReorderCell(flatItem) {
475
+ return (() => {
476
+ var _el$0 = _tmpl$6(), _el$1 = _el$0.firstChild, _el$10 = _el$1.firstChild;
477
+ _el$1.$$pointerdown = (e) => onReorderPointerDown(e, flatItem.item);
478
+ _$className(_el$1, reorderCellWrapperClass);
479
+ _$className(_el$10, reorderHandleClass);
480
+ _$insert(_el$10, _$createComponent(Icon, {
481
+ icon: IconGripVertical,
482
+ size: "1em"
483
+ }));
484
+ _$effect((_p$) => {
485
+ var _v$3 = twMerge(featureTdClass, fixedClass, "z-[2]", isReorderColLastFixed() ? fixedLastClass : void 0), _v$4 = reorderColLeft();
486
+ _v$3 !== _p$.e && _$className(_el$0, _p$.e = _v$3);
487
+ _v$4 !== _p$.t && _$setStyleProperty(_el$0, "left", _p$.t = _v$4);
488
+ return _p$;
489
+ }, {
490
+ e: void 0,
491
+ t: void 0
492
+ });
493
+ return _el$0;
494
+ })();
495
+ }
496
+ function renderSummaryRow() {
497
+ return _$createComponent(Show, {
498
+ get when() {
499
+ return hasSummary();
500
+ },
501
+ get children() {
502
+ var _el$11 = _tmpl$7();
503
+ _$insert(_el$11, _$createComponent(For, {
504
+ get each() {
505
+ return effectiveColumns();
506
+ },
507
+ children: (col, colIndex) => {
508
+ const summaryStyle = () => {
509
+ const parts = [];
510
+ parts.push(`top: ${summaryRowTop()}px`);
511
+ const left = getFixedStyle(colIndex());
512
+ if (left != null) parts.push(left);
513
+ return parts.join("; ");
514
+ };
515
+ return (() => {
516
+ var _el$12 = _tmpl$8(), _el$13 = _el$12.firstChild;
517
+ _$className(_el$13, thContentClass);
518
+ _$insert(_el$13, () => {
519
+ var _a;
520
+ return (_a = col.summary) == null ? void 0 : _a.call(col);
521
+ });
522
+ _$effect((_p$) => {
523
+ var _v$5 = twMerge(thClass, summaryThClass, fixedClass, col.fixed ? "z-[5]" : "z-[3]", isLastFixed(colIndex()) ? fixedLastClass : void 0), _v$6 = summaryStyle();
524
+ _v$5 !== _p$.e && _$className(_el$12, _p$.e = _v$5);
525
+ _p$.t = _$style(_el$12, _v$6, _p$.t);
526
+ return _p$;
527
+ }, {
528
+ e: void 0,
529
+ t: void 0
530
+ });
531
+ return _el$12;
532
+ })();
533
+ }
534
+ }));
535
+ return _el$11;
536
+ }
537
+ });
538
+ }
344
539
  return _$createComponent(ColumnsProvider, {
345
540
  get children() {
346
541
  return [_$memo(() => local.children), (() => {
347
- var _el$ = _tmpl$5(), _el$5 = _el$.firstChild, _el$6 = _el$5.firstChild, _el$7 = _el$6.firstChild, _el$1 = _el$7.nextSibling, _el$11 = _el$1.nextSibling, _el$12 = _el$6.nextSibling, _el$13 = _el$12.nextSibling;
348
- _$insert(_el$, _$createComponent(Show, {
542
+ var _el$14 = _tmpl$10(), _el$18 = _el$14.firstChild, _el$19 = _el$18.firstChild, _el$20 = _el$19.firstChild, _el$24 = _el$20.nextSibling, _el$25 = _el$24.nextSibling, _el$26 = _el$19.nextSibling, _el$27 = _el$26.nextSibling;
543
+ _$insert(_el$14, _$createComponent(Show, {
349
544
  get when() {
350
545
  return _$memo(() => !!!local.hideConfigBar)() && (dialog != null || pageCount() > 1);
351
546
  },
352
547
  get children() {
353
- var _el$2 = _tmpl$2(), _el$3 = _el$2.firstChild;
354
- _$className(_el$2, toolbarClass);
355
- _$insert(_el$2, _$createComponent(Show, {
548
+ var _el$15 = _tmpl$0(), _el$16 = _el$15.firstChild;
549
+ _$className(_el$15, toolbarClass);
550
+ _$insert(_el$15, _$createComponent(Show, {
356
551
  get when() {
357
552
  return pageCount() > 1;
358
553
  },
@@ -371,83 +566,83 @@ const DataSheetInner = (props) => {
371
566
  size: "sm"
372
567
  });
373
568
  }
374
- }), _el$3);
375
- _$insert(_el$2, _$createComponent(Show, {
569
+ }), _el$16);
570
+ _$insert(_el$15, _$createComponent(Show, {
376
571
  when: dialog != null,
377
572
  get children() {
378
- var _el$4 = _tmpl$();
379
- _el$4.$$click = openConfigDialog;
380
- _$className(_el$4, configButtonClass);
381
- _$insert(_el$4, _$createComponent(Icon, {
573
+ var _el$17 = _tmpl$9();
574
+ _el$17.$$click = openConfigDialog;
575
+ _$className(_el$17, configButtonClass);
576
+ _$insert(_el$17, _$createComponent(Icon, {
382
577
  icon: IconSettings,
383
578
  size: "1em"
384
579
  }));
385
- return _el$4;
580
+ return _el$17;
386
581
  }
387
582
  }), null);
388
- return _el$2;
583
+ return _el$15;
389
584
  }
390
- }), _el$5);
391
- _el$6.$$pointerdown = (e) => {
585
+ }), _el$18);
586
+ _el$19.$$pointerdown = (e) => {
392
587
  if (e.shiftKey && hasSelectFeature()) {
393
588
  e.preventDefault();
394
589
  }
395
590
  };
396
- _el$6.$$keydown = onTableKeyDown;
397
- _$insert(_el$7, _$createComponent(Show, {
591
+ _el$19.$$keydown = onTableKeyDown;
592
+ _$insert(_el$20, _$createComponent(Show, {
398
593
  get when() {
399
594
  return hasExpandFeature();
400
595
  },
401
596
  get children() {
402
- return _tmpl$3();
597
+ return _tmpl$1();
403
598
  }
404
599
  }), null);
405
- _$insert(_el$7, _$createComponent(Show, {
600
+ _$insert(_el$20, _$createComponent(Show, {
406
601
  get when() {
407
602
  return hasSelectFeature();
408
603
  },
409
604
  get children() {
410
- return _tmpl$3();
605
+ return _tmpl$1();
411
606
  }
412
607
  }), null);
413
- _$insert(_el$7, _$createComponent(Show, {
608
+ _$insert(_el$20, _$createComponent(Show, {
414
609
  get when() {
415
610
  return hasReorderFeature();
416
611
  },
417
612
  get children() {
418
- return _tmpl$3();
613
+ return _tmpl$1();
419
614
  }
420
615
  }), null);
421
- _$insert(_el$7, _$createComponent(For, {
616
+ _$insert(_el$20, _$createComponent(For, {
422
617
  get each() {
423
618
  return effectiveColumns();
424
619
  },
425
620
  children: (col) => (() => {
426
- var _el$14 = _tmpl$3();
427
- _$effect((_$p) => _$style(_el$14, col.width != null ? {
621
+ var _el$28 = _tmpl$1();
622
+ _$effect((_$p) => _$style(_el$28, col.width != null ? {
428
623
  width: col.width.replace(/;/g, "")
429
624
  } : void 0, _$p));
430
- return _el$14;
625
+ return _el$28;
431
626
  })()
432
627
  }), null);
433
- _$insert(_el$1, _$createComponent(For, {
628
+ _$insert(_el$24, _$createComponent(For, {
434
629
  get each() {
435
630
  return headerTable();
436
631
  },
437
632
  children: (row, rowIndex) => (() => {
438
- var _el$15 = _tmpl$4();
439
- _$use((el) => registerHeaderRow(rowIndex(), el), _el$15);
440
- _$insert(_el$15, _$createComponent(Show, {
633
+ var _el$29 = _tmpl$7();
634
+ _$use((el) => registerHeaderRow(rowIndex(), el), _el$29);
635
+ _$insert(_el$29, _$createComponent(Show, {
441
636
  get when() {
442
637
  return _$memo(() => !!hasExpandFeature())() && rowIndex() === 0;
443
638
  },
444
639
  get children() {
445
- var _el$16 = _tmpl$6(), _el$17 = _el$16.firstChild, _el$18 = _el$17.firstChild;
446
- _$use(registerExpandColRef, _el$16);
447
- _$className(_el$17, featureCellWrapperClass);
448
- _$addEventListener(_el$18, "click", toggleExpandAll, true);
449
- _$className(_el$18, expandToggleClass);
450
- _$insert(_el$18, _$createComponent(Icon, {
640
+ var _el$30 = _tmpl$11(), _el$31 = _el$30.firstChild, _el$32 = _el$31.firstChild;
641
+ _$use(registerExpandColRef, _el$30);
642
+ _$className(_el$31, featureCellWrapperClass);
643
+ _$addEventListener(_el$32, "click", toggleExpandAll, true);
644
+ _$className(_el$32, expandToggleClass);
645
+ _$insert(_el$32, _$createComponent(Icon, {
451
646
  icon: IconChevronDown,
452
647
  size: "1em",
453
648
  get ["class"]() {
@@ -455,35 +650,35 @@ const DataSheetInner = (props) => {
455
650
  }
456
651
  }));
457
652
  _$effect((_p$) => {
458
- var _v$7 = twMerge(featureThClass, fixedClass, "z-[5]", isExpandColLastFixed() ? fixedLastClass : void 0), _v$8 = featureHeaderRowspan(), _v$9 = isAllExpanded() ? i18n.t("dataSheet.collapseAll") : i18n.t("dataSheet.expandAll");
459
- _v$7 !== _p$.e && _$className(_el$16, _p$.e = _v$7);
460
- _v$8 !== _p$.t && _$setAttribute(_el$16, "rowspan", _p$.t = _v$8);
461
- _v$9 !== _p$.a && _$setAttribute(_el$18, "title", _p$.a = _v$9);
653
+ var _v$11 = twMerge(featureThClass, fixedClass, "z-[5]", isExpandColLastFixed() ? fixedLastClass : void 0), _v$12 = featureHeaderRowspan(), _v$13 = isAllExpanded() ? i18n.t("dataSheet.collapseAll") : i18n.t("dataSheet.expandAll");
654
+ _v$11 !== _p$.e && _$className(_el$30, _p$.e = _v$11);
655
+ _v$12 !== _p$.t && _$setAttribute(_el$30, "rowspan", _p$.t = _v$12);
656
+ _v$13 !== _p$.a && _$setAttribute(_el$32, "title", _p$.a = _v$13);
462
657
  return _p$;
463
658
  }, {
464
659
  e: void 0,
465
660
  t: void 0,
466
661
  a: void 0
467
662
  });
468
- return _el$16;
663
+ return _el$30;
469
664
  }
470
665
  }), null);
471
- _$insert(_el$15, _$createComponent(Show, {
666
+ _$insert(_el$29, _$createComponent(Show, {
472
667
  get when() {
473
668
  return _$memo(() => !!hasSelectFeature())() && rowIndex() === 0;
474
669
  },
475
670
  get children() {
476
- var _el$19 = _tmpl$8();
477
- _$use(registerSelectColRef, _el$19);
478
- _$insert(_el$19, _$createComponent(Show, {
671
+ var _el$33 = _tmpl$12();
672
+ _$use(registerSelectColRef, _el$33);
673
+ _$insert(_el$33, _$createComponent(Show, {
479
674
  get when() {
480
675
  return local.selectionMode === "multiple";
481
676
  },
482
677
  get children() {
483
- var _el$20 = _tmpl$7();
484
- _el$20.$$click = () => toggleSelectAll();
485
- _$className(_el$20, featureCellClickableClass);
486
- _$insert(_el$20, _$createComponent(Checkbox, {
678
+ var _el$34 = _tmpl$4();
679
+ _el$34.$$click = () => toggleSelectAll();
680
+ _$className(_el$34, featureCellClickableClass);
681
+ _$insert(_el$34, _$createComponent(Checkbox, {
487
682
  get value() {
488
683
  const selectableItems = displayItems().map((flat) => flat.item).filter((item) => getItemSelectable(item) === true);
489
684
  return selectableItems.length > 0 && selectableItems.every((item) => selection().includes(item));
@@ -491,403 +686,97 @@ const DataSheetInner = (props) => {
491
686
  inset: true,
492
687
  "class": "pointer-events-none"
493
688
  }));
494
- return _el$20;
689
+ return _el$34;
495
690
  }
496
691
  }));
497
692
  _$effect((_p$) => {
498
- var _v$0 = twMerge(featureThClass, fixedClass, "z-[5]", isSelectColLastFixed() ? fixedLastClass : void 0), _v$1 = featureHeaderRowspan(), _v$10 = selectColLeft();
499
- _v$0 !== _p$.e && _$className(_el$19, _p$.e = _v$0);
500
- _v$1 !== _p$.t && _$setAttribute(_el$19, "rowspan", _p$.t = _v$1);
501
- _v$10 !== _p$.a && _$setStyleProperty(_el$19, "left", _p$.a = _v$10);
693
+ var _v$14 = twMerge(featureThClass, fixedClass, "z-[5]", isSelectColLastFixed() ? fixedLastClass : void 0), _v$15 = featureHeaderRowspan(), _v$16 = selectColLeft();
694
+ _v$14 !== _p$.e && _$className(_el$33, _p$.e = _v$14);
695
+ _v$15 !== _p$.t && _$setAttribute(_el$33, "rowspan", _p$.t = _v$15);
696
+ _v$16 !== _p$.a && _$setStyleProperty(_el$33, "left", _p$.a = _v$16);
502
697
  return _p$;
503
698
  }, {
504
699
  e: void 0,
505
700
  t: void 0,
506
701
  a: void 0
507
702
  });
508
- return _el$19;
703
+ return _el$33;
509
704
  }
510
705
  }), null);
511
- _$insert(_el$15, _$createComponent(Show, {
706
+ _$insert(_el$29, _$createComponent(Show, {
512
707
  get when() {
513
708
  return _$memo(() => !!hasReorderFeature())() && rowIndex() === 0;
514
709
  },
515
710
  get children() {
516
- var _el$21 = _tmpl$8();
517
- _$use(registerReorderColRef, _el$21);
711
+ var _el$35 = _tmpl$12();
712
+ _$use(registerReorderColRef, _el$35);
518
713
  _$effect((_p$) => {
519
- var _v$11 = twMerge(featureThClass, fixedClass, "z-[5]", isReorderColLastFixed() ? fixedLastClass : void 0), _v$12 = featureHeaderRowspan(), _v$13 = reorderColLeft();
520
- _v$11 !== _p$.e && _$className(_el$21, _p$.e = _v$11);
521
- _v$12 !== _p$.t && _$setAttribute(_el$21, "rowspan", _p$.t = _v$12);
522
- _v$13 !== _p$.a && _$setStyleProperty(_el$21, "left", _p$.a = _v$13);
714
+ var _v$17 = twMerge(featureThClass, fixedClass, "z-[5]", isReorderColLastFixed() ? fixedLastClass : void 0), _v$18 = featureHeaderRowspan(), _v$19 = reorderColLeft();
715
+ _v$17 !== _p$.e && _$className(_el$35, _p$.e = _v$17);
716
+ _v$18 !== _p$.t && _$setAttribute(_el$35, "rowspan", _p$.t = _v$18);
717
+ _v$19 !== _p$.a && _$setStyleProperty(_el$35, "left", _p$.a = _v$19);
523
718
  return _p$;
524
719
  }, {
525
720
  e: void 0,
526
721
  t: void 0,
527
722
  a: void 0
528
723
  });
529
- return _el$21;
724
+ return _el$35;
530
725
  }
531
726
  }), null);
532
- _$insert(_el$15, _$createComponent(For, {
727
+ _$insert(_el$29, _$createComponent(For, {
533
728
  each: row,
534
729
  children: (cell, cellColIndex) => _$createComponent(Show, {
535
730
  when: cell,
536
- children: (c) => {
537
- const isSortable = () => c().isLastRow && c().colIndex != null && effectiveColumns()[c().colIndex].sortable;
538
- const colKey = () => c().colIndex != null ? effectiveColumns()[c().colIndex].key : void 0;
539
- const isGroupFixed = () => {
540
- if (c().isLastRow) return false;
541
- const start = cellColIndex();
542
- const span = c().colspan;
543
- const cols = effectiveColumns();
544
- for (let i = start; i < start + span && i < cols.length; i++) {
545
- if (!cols[i].fixed) return false;
546
- }
547
- return true;
548
- };
549
- const isCellFixed = () => c().isLastRow && c().colIndex != null && effectiveColumns()[c().colIndex].fixed || isGroupFixed();
550
- const isCellLastFixed = () => {
551
- if (c().isLastRow && c().colIndex != null) return isLastFixed(c().colIndex);
552
- if (isGroupFixed()) {
553
- const lastCol = cellColIndex() + c().colspan - 1;
554
- return isLastFixed(lastCol);
555
- }
556
- return false;
557
- };
558
- const cellStyle = () => {
559
- const parts = [];
560
- const top = headerRowTops()[rowIndex()];
561
- parts.push(`top: ${top}px`);
562
- if (c().isLastRow && c().colIndex != null) {
563
- const left = getFixedStyle(c().colIndex);
564
- if (left != null) parts.push(left);
565
- const col = effectiveColumns()[c().colIndex];
566
- if (col.width != null) parts.push(`max-width: ${col.width.replace(/;/g, "")}`);
567
- } else if (isGroupFixed()) {
568
- const left = getFixedStyle(cellColIndex());
569
- if (left != null) parts.push(left);
570
- }
571
- return parts.length > 0 ? parts.join("; ") : void 0;
572
- };
573
- return (() => {
574
- var _el$22 = _tmpl$9(), _el$23 = _el$22.firstChild, _el$24 = _el$23.firstChild;
575
- _el$22.$$click = (e) => {
576
- if (!isSortable()) return;
577
- const key = colKey();
578
- if (key == null) return;
579
- toggleSort(key, e.shiftKey || e.ctrlKey);
580
- };
581
- _$use((el) => {
582
- if (c().isLastRow && c().colIndex != null && effectiveColumns()[c().colIndex].fixed) {
583
- registerColumnRef(c().colIndex, el);
584
- }
585
- }, _el$22);
586
- _$insert(_el$24, () => {
587
- var _a, _b;
588
- return ((_b = (_a = c()).headerContent) == null ? void 0 : _b.call(_a)) ?? c().text;
589
- });
590
- _$insert(_el$23, _$createComponent(Show, {
591
- get when() {
592
- return _$memo(() => !!isSortable())() && colKey();
593
- },
594
- children: (key) => {
595
- const sortDef = () => getSortDef(key());
596
- const sortIdx = () => sortIndex(key());
597
- return (() => {
598
- var _el$26 = _tmpl$7();
599
- _$className(_el$26, sortIconClass);
600
- _$insert(_el$26, _$createComponent(Show, {
601
- get when() {
602
- var _a;
603
- return ((_a = sortDef()) == null ? void 0 : _a.desc) === false;
604
- },
605
- get children() {
606
- return _$createComponent(Icon, {
607
- icon: IconSortAscending
608
- });
609
- }
610
- }), null);
611
- _$insert(_el$26, _$createComponent(Show, {
612
- get when() {
613
- var _a;
614
- return ((_a = sortDef()) == null ? void 0 : _a.desc) === true;
615
- },
616
- get children() {
617
- return _$createComponent(Icon, {
618
- icon: IconSortDescending
619
- });
620
- }
621
- }), null);
622
- _$insert(_el$26, _$createComponent(Show, {
623
- get when() {
624
- return sortDef() == null;
625
- },
626
- get children() {
627
- return _$createComponent(Icon, {
628
- icon: IconArrowsSort,
629
- "class": "opacity-30"
630
- });
631
- }
632
- }), null);
633
- _$insert(_el$26, _$createComponent(Show, {
634
- get when() {
635
- return sortIdx();
636
- },
637
- children: (idx) => (() => {
638
- var _el$27 = _tmpl$0();
639
- _$insert(_el$27, idx);
640
- return _el$27;
641
- })()
642
- }), null);
643
- return _el$26;
644
- })();
645
- }
646
- }), null);
647
- _$insert(_el$22, _$createComponent(Show, {
648
- get when() {
649
- return _$memo(() => !!(c().isLastRow && c().colIndex != null))() && effectiveColumns()[c().colIndex].resizable;
650
- },
651
- get children() {
652
- var _el$25 = _tmpl$7();
653
- _el$25.$$dblclick = (e) => {
654
- e.stopPropagation();
655
- onResizerDoubleClick(effectiveColumns()[c().colIndex].key);
656
- };
657
- _el$25.$$pointerdown = (e) => onResizerPointerdown(e, effectiveColumns()[c().colIndex].key);
658
- _el$25.$$click = (e) => e.stopPropagation();
659
- _$className(_el$25, resizerClass);
660
- return _el$25;
661
- }
662
- }), null);
663
- _$effect((_p$) => {
664
- var _v$14 = twMerge(thClass, fixedClass, isSortable() ? sortableThClass : void 0, isCellFixed() ? "z-[5]" : "z-[3]", isCellLastFixed() ? fixedLastClass : void 0), _v$15 = c().colspan > 1 ? c().colspan : void 0, _v$16 = c().rowspan > 1 ? c().rowspan : void 0, _v$17 = cellStyle(), _v$18 = c().isLastRow && c().colIndex != null ? effectiveColumns()[c().colIndex].tooltip ?? c().text : c().text, _v$19 = clsx("flex items-center gap-2", thContentClass);
665
- _v$14 !== _p$.e && _$className(_el$22, _p$.e = _v$14);
666
- _v$15 !== _p$.t && _$setAttribute(_el$22, "colspan", _p$.t = _v$15);
667
- _v$16 !== _p$.a && _$setAttribute(_el$22, "rowspan", _p$.a = _v$16);
668
- _p$.o = _$style(_el$22, _v$17, _p$.o);
669
- _v$18 !== _p$.i && _$setAttribute(_el$22, "title", _p$.i = _v$18);
670
- _v$19 !== _p$.n && _$className(_el$23, _p$.n = _v$19);
671
- return _p$;
672
- }, {
673
- e: void 0,
674
- t: void 0,
675
- a: void 0,
676
- o: void 0,
677
- i: void 0,
678
- n: void 0
679
- });
680
- return _el$22;
681
- })();
682
- }
731
+ children: (c) => renderHeaderCell(c(), cellColIndex(), rowIndex())
683
732
  })
684
733
  }), null);
685
- return _el$15;
734
+ return _el$29;
686
735
  })()
687
736
  }), null);
688
- _$insert(_el$1, _$createComponent(Show, {
689
- get when() {
690
- return hasSummary();
691
- },
692
- get children() {
693
- var _el$10 = _tmpl$4();
694
- _$insert(_el$10, _$createComponent(For, {
695
- get each() {
696
- return effectiveColumns();
697
- },
698
- children: (col, colIndex) => {
699
- const summaryStyle = () => {
700
- const parts = [];
701
- parts.push(`top: ${summaryRowTop()}px`);
702
- const left = getFixedStyle(colIndex());
703
- if (left != null) parts.push(left);
704
- return parts.join("; ");
705
- };
706
- return (() => {
707
- var _el$28 = _tmpl$1(), _el$29 = _el$28.firstChild;
708
- _$className(_el$29, thContentClass);
709
- _$insert(_el$29, () => {
710
- var _a;
711
- return (_a = col.summary) == null ? void 0 : _a.call(col);
712
- });
713
- _$effect((_p$) => {
714
- var _v$20 = twMerge(thClass, summaryThClass, fixedClass, col.fixed ? "z-[5]" : "z-[3]", isLastFixed(colIndex()) ? fixedLastClass : void 0), _v$21 = summaryStyle();
715
- _v$20 !== _p$.e && _$className(_el$28, _p$.e = _v$20);
716
- _p$.t = _$style(_el$28, _v$21, _p$.t);
717
- return _p$;
718
- }, {
719
- e: void 0,
720
- t: void 0
721
- });
722
- return _el$28;
723
- })();
724
- }
725
- }));
726
- return _el$10;
727
- }
728
- }), null);
729
- _$insert(_el$11, _$createComponent(For, {
737
+ _$insert(_el$24, renderSummaryRow, null);
738
+ _$insert(_el$25, _$createComponent(For, {
730
739
  get each() {
731
740
  return displayItems();
732
741
  },
733
742
  children: (flat) => (() => {
734
- var _el$30 = _tmpl$4();
735
- _el$30.$$click = () => {
736
- if (local.autoSelect === "click") {
743
+ var _el$36 = _tmpl$7();
744
+ _el$36.$$click = () => {
745
+ if (local.autoSelect) {
737
746
  selectItem(flat.item);
738
747
  }
739
748
  };
740
- _$insert(_el$30, _$createComponent(Show, {
749
+ _$insert(_el$36, _$createComponent(Show, {
741
750
  get when() {
742
751
  return hasExpandFeature();
743
752
  },
744
753
  get children() {
745
- var _el$31 = _tmpl$11(), _el$32 = _el$31.firstChild;
746
- _$className(_el$32, featureCellBodyWrapperClass);
747
- _$insert(_el$32, _$createComponent(For, {
748
- get each() {
749
- return Array.from({
750
- length: flat.depth
751
- });
752
- },
753
- children: () => (() => {
754
- var _el$37 = _tmpl$13(), _el$38 = _el$37.firstChild;
755
- _$className(_el$37, expandIndentGuideClass);
756
- _$className(_el$38, expandIndentGuideLineClass);
757
- return _el$37;
758
- })()
759
- }), null);
760
- _$insert(_el$32, _$createComponent(Show, {
761
- get when() {
762
- return flat.hasChildren;
763
- },
764
- get children() {
765
- var _el$33 = _tmpl$10();
766
- _el$33.$$click = () => toggleExpand(flat.item);
767
- _$className(_el$33, expandToggleClass);
768
- _$insert(_el$33, _$createComponent(Icon, {
769
- icon: IconChevronDown,
770
- size: "1em",
771
- get ["class"]() {
772
- return clsx("transition-transform", expandedItems().includes(flat.item) ? "rotate-0" : "-rotate-90");
773
- }
774
- }));
775
- return _el$33;
776
- }
777
- }), null);
778
- _$effect(() => _$className(_el$31, twMerge(featureTdClass, fixedClass, "z-[2]", isExpandColLastFixed() ? fixedLastClass : void 0)));
779
- return _el$31;
754
+ return renderExpandCell(flat);
780
755
  }
781
756
  }), null);
782
- _$insert(_el$30, _$createComponent(Show, {
757
+ _$insert(_el$36, _$createComponent(Show, {
783
758
  get when() {
784
759
  return hasSelectFeature();
785
760
  },
786
761
  get children() {
787
- return (() => {
788
- const selectable = () => getItemSelectable(flat.item);
789
- const isSelected = () => selection().includes(flat.item);
790
- const rowIndex = () => flat.row;
791
- return (() => {
792
- var _el$39 = _tmpl$14();
793
- _$insert(_el$39, _$createComponent(Show, {
794
- get when() {
795
- return local.selectionMode === "multiple";
796
- },
797
- get fallback() {
798
- return (
799
- /* single mode */
800
- _$createComponent(Show, {
801
- get when() {
802
- return selectable() === true;
803
- },
804
- get children() {
805
- var _el$41 = _tmpl$13(), _el$42 = _el$41.firstChild;
806
- _el$41.$$click = () => toggleSelect(flat.item);
807
- _$className(_el$41, featureCellBodyClickableClass);
808
- _$insert(_el$42, _$createComponent(Icon, {
809
- icon: IconChevronRight,
810
- size: "1em"
811
- }));
812
- _$effect(() => _$className(_el$42, twMerge(selectSingleClass, isSelected() ? selectSingleSelectedClass : selectSingleUnselectedClass)));
813
- return _el$41;
814
- }
815
- })
816
- );
817
- },
818
- get children() {
819
- var _el$40 = _tmpl$7();
820
- _el$40.$$click = (e) => {
821
- if (e.shiftKey) {
822
- rangeSelect(rowIndex());
823
- } else {
824
- toggleSelect(flat.item);
825
- }
826
- setLastClickedRow(rowIndex());
827
- };
828
- _$className(_el$40, featureCellBodyClickableClass);
829
- _$insert(_el$40, _$createComponent(Checkbox, {
830
- get value() {
831
- return isSelected();
832
- },
833
- get disabled() {
834
- return selectable() !== true;
835
- },
836
- inset: true,
837
- get ["class"]() {
838
- return twMerge("pointer-events-none", lastClickedRow() === rowIndex() ? "[&>div]:ring-2 [&>div]:ring-primary-200 dark:[&>div]:ring-primary-700" : void 0);
839
- }
840
- }));
841
- _$effect(() => _$setAttribute(_el$40, "title", typeof selectable() === "string" ? selectable() : void 0));
842
- return _el$40;
843
- }
844
- }));
845
- _$effect((_p$) => {
846
- var _v$26 = twMerge(featureTdClass, fixedClass, "z-[2]", isSelectColLastFixed() ? fixedLastClass : void 0), _v$27 = selectColLeft();
847
- _v$26 !== _p$.e && _$className(_el$39, _p$.e = _v$26);
848
- _v$27 !== _p$.t && _$setStyleProperty(_el$39, "left", _p$.t = _v$27);
849
- return _p$;
850
- }, {
851
- e: void 0,
852
- t: void 0
853
- });
854
- return _el$39;
855
- })();
856
- })();
762
+ return renderSelectCell(flat);
857
763
  }
858
764
  }), null);
859
- _$insert(_el$30, _$createComponent(Show, {
765
+ _$insert(_el$36, _$createComponent(Show, {
860
766
  get when() {
861
767
  return hasReorderFeature();
862
768
  },
863
769
  get children() {
864
- var _el$34 = _tmpl$12(), _el$35 = _el$34.firstChild, _el$36 = _el$35.firstChild;
865
- _el$35.$$pointerdown = (e) => onReorderPointerDown(e, flat.item);
866
- _$className(_el$35, reorderCellWrapperClass);
867
- _$className(_el$36, reorderHandleClass);
868
- _$insert(_el$36, _$createComponent(Icon, {
869
- icon: IconGripVertical,
870
- size: "1em"
871
- }));
872
- _$effect((_p$) => {
873
- var _v$22 = twMerge(featureTdClass, fixedClass, "z-[2]", isReorderColLastFixed() ? fixedLastClass : void 0), _v$23 = reorderColLeft();
874
- _v$22 !== _p$.e && _$className(_el$34, _p$.e = _v$22);
875
- _v$23 !== _p$.t && _$setStyleProperty(_el$34, "left", _p$.t = _v$23);
876
- return _p$;
877
- }, {
878
- e: void 0,
879
- t: void 0
880
- });
881
- return _el$34;
770
+ return renderReorderCell(flat);
882
771
  }
883
772
  }), null);
884
- _$insert(_el$30, _$createComponent(For, {
773
+ _$insert(_el$36, _$createComponent(For, {
885
774
  get each() {
886
775
  return effectiveColumns();
887
776
  },
888
777
  children: (col, colIndex) => (() => {
889
- var _el$43 = _tmpl$14();
890
- _$insert(_el$43, () => col.cell({
778
+ var _el$37 = _tmpl$5();
779
+ _$insert(_el$37, () => col.cell({
891
780
  item: flat.item,
892
781
  index: flat.index,
893
782
  row: flat.row,
@@ -895,39 +784,39 @@ const DataSheetInner = (props) => {
895
784
  }));
896
785
  _$effect((_p$) => {
897
786
  var _a, _b;
898
- var _v$28 = twMerge(tdClass, col.fixed ? clsx(fixedClass, "z-[2]") : void 0, isLastFixed(colIndex()) ? fixedLastClass : void 0, col.class, (_a = local.cellClass) == null ? void 0 : _a.call(local, flat.item, col.key)), _v$29 = [getFixedStyle(colIndex()), col.width != null ? `max-width: ${col.width.replace(/;/g, "")}` : void 0, (_b = local.cellStyle) == null ? void 0 : _b.call(local, flat.item, col.key)].filter(Boolean).join("; ") || void 0;
899
- _v$28 !== _p$.e && _$className(_el$43, _p$.e = _v$28);
900
- _p$.t = _$style(_el$43, _v$29, _p$.t);
787
+ var _v$22 = twMerge(tdClass, col.fixed ? clsx(fixedClass, "z-[2]") : void 0, isLastFixed(colIndex()) ? fixedLastClass : void 0, col.class, (_a = local.cellClass) == null ? void 0 : _a.call(local, flat.item, col.key)), _v$23 = [getFixedStyle(colIndex()), col.width != null ? `max-width: ${col.width.replace(/;/g, "")}` : void 0, (_b = local.cellStyle) == null ? void 0 : _b.call(local, flat.item, col.key)].filter(Boolean).join("; ") || void 0;
788
+ _v$22 !== _p$.e && _$className(_el$37, _p$.e = _v$22);
789
+ _p$.t = _$style(_el$37, _v$23, _p$.t);
901
790
  return _p$;
902
791
  }, {
903
792
  e: void 0,
904
793
  t: void 0
905
794
  });
906
- return _el$43;
795
+ return _el$37;
907
796
  })()
908
797
  }), null);
909
798
  _$effect((_p$) => {
910
- var _v$24 = selection().includes(flat.item) ? "" : void 0, _v$25 = clsx(trRowClass, local.autoSelect === "click" && "cursor-pointer");
911
- _v$24 !== _p$.e && _$setAttribute(_el$30, "data-selected", _p$.e = _v$24);
912
- _v$25 !== _p$.t && _$className(_el$30, _p$.t = _v$25);
799
+ var _v$20 = selection().includes(flat.item) ? "" : void 0, _v$21 = clsx(trRowClass, local.autoSelect && "cursor-pointer");
800
+ _v$20 !== _p$.e && _$setAttribute(_el$36, "data-selected", _p$.e = _v$20);
801
+ _v$21 !== _p$.t && _$className(_el$36, _p$.t = _v$21);
913
802
  return _p$;
914
803
  }, {
915
804
  e: void 0,
916
805
  t: void 0
917
806
  });
918
- return _el$30;
807
+ return _el$36;
919
808
  })()
920
809
  }));
921
- _$className(_el$12, resizeIndicatorClass);
922
- _$className(_el$13, reorderIndicatorClass);
810
+ _$className(_el$26, resizeIndicatorClass);
811
+ _$className(_el$27, reorderIndicatorClass);
923
812
  _$effect((_p$) => {
924
- var _v$ = local.storageKey ?? "", _v$2 = twMerge("flex flex-col", local.inset ? insetContainerClass : defaultContainerClass, local.class), _v$3 = twMerge(dataSheetContainerClass, "flex-1 min-h-0"), _v$4 = local.contentStyle, _v$5 = twMerge(tableClass, local.inset ? insetTableClass : void 0), _v$6 = resizeIndicatorStyle();
925
- _v$ !== _p$.e && _$setAttribute(_el$, "data-sheet", _p$.e = _v$);
926
- _v$2 !== _p$.t && _$className(_el$, _p$.t = _v$2);
927
- _v$3 !== _p$.a && _$className(_el$5, _p$.a = _v$3);
928
- _p$.o = _$style(_el$5, _v$4, _p$.o);
929
- _v$5 !== _p$.i && _$className(_el$6, _p$.i = _v$5);
930
- _p$.n = _$style(_el$12, _v$6, _p$.n);
813
+ var _v$7 = local.storageKey ?? "", _v$8 = twMerge("flex flex-col", local.inset ? insetContainerClass : defaultContainerClass, local.class), _v$9 = twMerge(dataSheetContainerClass, "flex-1 min-h-0"), _v$0 = local.contentStyle, _v$1 = twMerge(tableClass, local.inset ? insetTableClass : void 0), _v$10 = resizeIndicatorStyle();
814
+ _v$7 !== _p$.e && _$setAttribute(_el$14, "data-sheet", _p$.e = _v$7);
815
+ _v$8 !== _p$.t && _$className(_el$14, _p$.t = _v$8);
816
+ _v$9 !== _p$.a && _$className(_el$18, _p$.a = _v$9);
817
+ _p$.o = _$style(_el$18, _v$0, _p$.o);
818
+ _v$1 !== _p$.i && _$className(_el$19, _p$.i = _v$1);
819
+ _p$.n = _$style(_el$26, _v$10, _p$.n);
931
820
  return _p$;
932
821
  }, {
933
822
  e: void 0,
@@ -937,18 +826,16 @@ const DataSheetInner = (props) => {
937
826
  i: void 0,
938
827
  n: void 0
939
828
  });
940
- return _el$;
829
+ return _el$14;
941
830
  })()];
942
831
  }
943
832
  });
944
833
  };
945
834
  const DataSheet = Object.assign(DataSheetInner, {
946
- Column: DataSheetColumn,
947
- ConfigDialog: DataSheetConfigDialog
835
+ Column: DataSheetColumn
948
836
  });
949
- _$delegateEvents(["click", "keydown", "pointerdown", "dblclick"]);
837
+ _$delegateEvents(["click", "pointerdown", "keydown"]);
950
838
  export {
951
- DataSheet,
952
- DataSheetConfigDialog
839
+ DataSheet
953
840
  };
954
841
  //# sourceMappingURL=DataSheet.js.map