@simplysm/solid 13.0.75 → 13.0.76
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.
- package/README.md +4 -4
- package/dist/components/data/Pagination.d.ts +2 -2
- package/dist/components/data/Pagination.d.ts.map +1 -1
- package/dist/components/data/Pagination.js +7 -5
- package/dist/components/data/Pagination.js.map +2 -2
- package/dist/components/data/Table.d.ts +5 -1
- package/dist/components/data/Table.d.ts.map +1 -1
- package/dist/components/data/Table.js +64 -22
- package/dist/components/data/Table.js.map +2 -2
- package/dist/components/data/calendar/Calendar.d.ts.map +1 -1
- package/dist/components/data/calendar/Calendar.js +10 -26
- package/dist/components/data/calendar/Calendar.js.map +2 -2
- package/dist/components/data/kanban/{Kanban.css → Kanban.animate.css} +0 -2
- package/dist/components/data/kanban/Kanban.d.ts +46 -5
- package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
- package/dist/components/data/kanban/Kanban.js +144 -119
- package/dist/components/data/kanban/Kanban.js.map +2 -2
- package/dist/components/data/list/List.d.ts.map +1 -1
- package/dist/components/data/list/List.js +2 -5
- package/dist/components/data/list/List.js.map +2 -2
- package/dist/components/data/list/ListItem.d.ts +7 -34
- package/dist/components/data/list/ListItem.d.ts.map +1 -1
- package/dist/components/data/list/ListItem.js +15 -20
- package/dist/components/data/list/ListItem.js.map +2 -2
- package/dist/components/data/list/ListItem.styles.d.ts +1 -1
- package/dist/components/data/list/ListItem.styles.d.ts.map +1 -1
- package/dist/components/data/list/ListItem.styles.js +8 -8
- package/dist/components/data/list/ListItem.styles.js.map +1 -1
- package/dist/components/data/sheet/DataSheet.d.ts +3 -2
- package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.js +677 -850
- package/dist/components/data/sheet/DataSheet.js.map +2 -2
- package/dist/components/data/sheet/DataSheet.styles.d.ts +2 -1
- package/dist/components/data/sheet/DataSheet.styles.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.styles.js +32 -10
- package/dist/components/data/sheet/DataSheet.styles.js.map +1 -1
- package/dist/components/data/sheet/DataSheetColumn.d.ts +4 -3
- package/dist/components/data/sheet/DataSheetColumn.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheetColumn.js +4 -22
- package/dist/components/data/sheet/DataSheetColumn.js.map +2 -2
- package/dist/components/data/sheet/DataSheetConfigDialog.d.ts +1 -0
- package/dist/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheetConfigDialog.js +19 -18
- package/dist/components/data/sheet/DataSheetConfigDialog.js.map +2 -2
- package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts +17 -0
- package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts.map +1 -0
- package/dist/components/data/sheet/hooks/useDataSheetExpansion.js +61 -0
- package/dist/components/data/sheet/hooks/useDataSheetExpansion.js.map +6 -0
- package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts +29 -0
- package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts.map +1 -0
- package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.js +101 -0
- package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.js.map +6 -0
- package/dist/components/data/sheet/hooks/useDataSheetPaging.d.ts +17 -0
- package/dist/components/data/sheet/hooks/useDataSheetPaging.d.ts.map +1 -0
- package/dist/components/data/sheet/hooks/useDataSheetPaging.js +32 -0
- package/dist/components/data/sheet/hooks/useDataSheetPaging.js.map +6 -0
- package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts +21 -0
- package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts.map +1 -0
- package/dist/components/data/sheet/hooks/useDataSheetReorder.js +112 -0
- package/dist/components/data/sheet/hooks/useDataSheetReorder.js.map +6 -0
- package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts +22 -0
- package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts.map +1 -0
- package/dist/components/data/sheet/hooks/useDataSheetSelection.js +63 -0
- package/dist/components/data/sheet/hooks/useDataSheetSelection.js.map +6 -0
- package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts +17 -0
- package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts.map +1 -0
- package/dist/components/data/sheet/hooks/useDataSheetSorting.js +45 -0
- package/dist/components/data/sheet/hooks/useDataSheetSorting.js.map +6 -0
- package/dist/components/data/sheet/sheetUtils.d.ts +2 -2
- package/dist/components/data/sheet/sheetUtils.d.ts.map +1 -1
- package/dist/components/data/sheet/sheetUtils.js +5 -5
- package/dist/components/data/sheet/sheetUtils.js.map +1 -1
- package/dist/components/data/sheet/types.d.ts +7 -8
- package/dist/components/data/sheet/types.d.ts.map +1 -1
- package/dist/components/disclosure/Collapse.d.ts.map +1 -1
- package/dist/components/disclosure/Collapse.js +1 -3
- package/dist/components/disclosure/Collapse.js.map +2 -2
- package/dist/components/disclosure/Dialog.d.ts +78 -20
- package/dist/components/disclosure/Dialog.d.ts.map +1 -1
- package/dist/components/disclosure/Dialog.js +251 -110
- package/dist/components/disclosure/Dialog.js.map +2 -2
- package/dist/components/disclosure/Dropdown.d.ts +6 -29
- package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
- package/dist/components/disclosure/Dropdown.js +60 -61
- package/dist/components/disclosure/Dropdown.js.map +2 -2
- package/dist/components/disclosure/Tabs.d.ts +1 -1
- package/dist/components/disclosure/Tabs.d.ts.map +1 -1
- package/dist/components/disclosure/Tabs.js +16 -17
- package/dist/components/disclosure/Tabs.js.map +2 -2
- package/dist/components/display/Alert.d.ts +1 -1
- package/dist/components/display/Alert.d.ts.map +1 -1
- package/dist/components/display/Alert.js +2 -4
- package/dist/components/display/Alert.js.map +2 -2
- package/dist/components/display/Barcode.d.ts.map +1 -1
- package/dist/components/display/Barcode.js +1 -3
- package/dist/components/display/Barcode.js.map +2 -2
- package/dist/components/display/Card.animate.css +11 -0
- package/dist/components/display/Card.d.ts +1 -0
- package/dist/components/display/Card.d.ts.map +1 -1
- package/dist/components/display/Card.js +3 -2
- package/dist/components/display/Card.js.map +2 -2
- package/dist/components/display/Echarts.d.ts.map +1 -1
- package/dist/components/display/Echarts.js +1 -3
- package/dist/components/display/Echarts.js.map +2 -2
- package/dist/components/display/Link.d.ts +1 -1
- package/dist/components/display/Link.d.ts.map +1 -1
- package/dist/components/display/Link.js +3 -4
- package/dist/components/display/Link.js.map +2 -2
- package/dist/components/display/Tag.d.ts +1 -1
- package/dist/components/display/Tag.d.ts.map +1 -1
- package/dist/components/display/Tag.js +2 -4
- package/dist/components/display/Tag.js.map +2 -2
- package/dist/components/features/address/AddressSearch.d.ts +3 -1
- package/dist/components/features/address/AddressSearch.d.ts.map +1 -1
- package/dist/components/features/address/AddressSearch.js +3 -4
- package/dist/components/features/address/AddressSearch.js.map +2 -2
- package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -1
- package/dist/components/features/crud-detail/CrudDetail.js +205 -196
- package/dist/components/features/crud-detail/CrudDetail.js.map +2 -2
- package/dist/components/features/crud-detail/CrudDetailAfter.d.ts +5 -4
- package/dist/components/features/crud-detail/CrudDetailAfter.d.ts.map +1 -1
- package/dist/components/features/crud-detail/CrudDetailAfter.js +3 -10
- package/dist/components/features/crud-detail/CrudDetailAfter.js.map +2 -2
- package/dist/components/features/crud-detail/CrudDetailBefore.d.ts +5 -4
- package/dist/components/features/crud-detail/CrudDetailBefore.d.ts.map +1 -1
- package/dist/components/features/crud-detail/CrudDetailBefore.js +3 -10
- package/dist/components/features/crud-detail/CrudDetailBefore.js.map +2 -2
- package/dist/components/features/crud-detail/CrudDetailTools.d.ts +5 -4
- package/dist/components/features/crud-detail/CrudDetailTools.d.ts.map +1 -1
- package/dist/components/features/crud-detail/CrudDetailTools.js +3 -10
- package/dist/components/features/crud-detail/CrudDetailTools.js.map +2 -2
- package/dist/components/features/crud-detail/types.d.ts +2 -12
- package/dist/components/features/crud-detail/types.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheet.d.ts +8 -1
- package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheet.js +94 -77
- package/dist/components/features/crud-sheet/CrudSheet.js.map +2 -2
- package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts +4 -3
- package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheetColumn.js +4 -23
- package/dist/components/features/crud-sheet/CrudSheetColumn.js.map +2 -2
- package/dist/components/features/crud-sheet/CrudSheetFilter.d.ts +7 -5
- package/dist/components/features/crud-sheet/CrudSheetFilter.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheetFilter.js +4 -8
- package/dist/components/features/crud-sheet/CrudSheetFilter.js.map +2 -2
- package/dist/components/features/crud-sheet/CrudSheetHeader.d.ts +5 -4
- package/dist/components/features/crud-sheet/CrudSheetHeader.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheetHeader.js +3 -10
- package/dist/components/features/crud-sheet/CrudSheetHeader.js.map +2 -2
- package/dist/components/features/crud-sheet/CrudSheetTools.d.ts +7 -5
- package/dist/components/features/crud-sheet/CrudSheetTools.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheetTools.js +4 -8
- package/dist/components/features/crud-sheet/CrudSheetTools.js.map +2 -2
- package/dist/components/features/crud-sheet/types.d.ts +6 -36
- package/dist/components/features/crud-sheet/types.d.ts.map +1 -1
- package/dist/components/features/data-select-button/DataSelectButton.d.ts +23 -26
- package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -1
- package/dist/components/features/data-select-button/DataSelectButton.js +25 -36
- package/dist/components/features/data-select-button/DataSelectButton.js.map +2 -2
- package/dist/components/features/permission-table/PermissionTable.d.ts.map +1 -1
- package/dist/components/features/permission-table/PermissionTable.js +9 -13
- package/dist/components/features/permission-table/PermissionTable.js.map +2 -2
- package/dist/components/features/shared-data/SharedDataSelect.d.ts +17 -12
- package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelect.js +57 -80
- package/dist/components/features/shared-data/SharedDataSelect.js.map +2 -2
- package/dist/components/features/shared-data/SharedDataSelectButton.d.ts +12 -9
- package/dist/components/features/shared-data/SharedDataSelectButton.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelectButton.js.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelectList.d.ts +13 -2
- package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelectList.js +131 -113
- package/dist/components/features/shared-data/SharedDataSelectList.js.map +2 -2
- package/dist/components/feedback/Progress.d.ts +3 -2
- package/dist/components/feedback/Progress.d.ts.map +1 -1
- package/dist/components/feedback/Progress.js +9 -7
- package/dist/components/feedback/Progress.js.map +2 -2
- package/dist/components/feedback/busy/BusyContainer.d.ts +2 -2
- package/dist/components/feedback/busy/BusyContainer.d.ts.map +1 -1
- package/dist/components/feedback/busy/BusyContainer.js +35 -32
- package/dist/components/feedback/busy/BusyContainer.js.map +2 -2
- package/dist/components/feedback/busy/BusyProvider.d.ts +26 -2
- package/dist/components/feedback/busy/BusyProvider.d.ts.map +1 -1
- package/dist/components/feedback/busy/BusyProvider.js +13 -7
- package/dist/components/feedback/busy/BusyProvider.js.map +2 -2
- package/dist/components/feedback/notification/NotificationBanner.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationBanner.js +13 -19
- package/dist/components/feedback/notification/NotificationBanner.js.map +2 -2
- package/dist/components/feedback/notification/NotificationBell.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationBell.js +69 -71
- package/dist/components/feedback/notification/NotificationBell.js.map +2 -2
- package/dist/components/feedback/notification/NotificationProvider.d.ts +68 -1
- package/dist/components/feedback/notification/NotificationProvider.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationProvider.js +13 -4
- package/dist/components/feedback/notification/NotificationProvider.js.map +2 -2
- package/dist/components/feedback/notification/index.d.ts +0 -1
- package/dist/components/feedback/notification/index.d.ts.map +1 -1
- package/dist/components/feedback/notification/index.js +0 -1
- package/dist/components/feedback/notification/index.js.map +1 -1
- package/dist/components/feedback/print/PrintProvider.d.ts +14 -1
- package/dist/components/feedback/print/PrintProvider.d.ts.map +1 -1
- package/dist/components/feedback/print/PrintProvider.js +15 -5
- package/dist/components/feedback/print/PrintProvider.js.map +2 -2
- package/dist/components/form-control/Button.d.ts +2 -1
- package/dist/components/form-control/Button.d.ts.map +1 -1
- package/dist/components/form-control/Button.js +9 -8
- package/dist/components/form-control/Button.js.map +2 -2
- package/dist/components/form-control/DropdownTrigger.styles.d.ts +1 -1
- package/dist/components/form-control/DropdownTrigger.styles.d.ts.map +1 -1
- package/dist/components/form-control/DropdownTrigger.styles.js +16 -16
- package/dist/components/form-control/DropdownTrigger.styles.js.map +1 -1
- package/dist/components/form-control/ThemeToggle.d.ts +2 -1
- package/dist/components/form-control/ThemeToggle.d.ts.map +1 -1
- package/dist/components/form-control/ThemeToggle.js +71 -74
- package/dist/components/form-control/ThemeToggle.js.map +2 -2
- package/dist/components/form-control/checkbox/Checkbox.d.ts +1 -1
- package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Checkbox.js +14 -95
- package/dist/components/form-control/checkbox/Checkbox.js.map +2 -2
- package/dist/components/form-control/checkbox/Checkbox.styles.d.ts +2 -2
- package/dist/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Checkbox.styles.js +20 -25
- package/dist/components/form-control/checkbox/Checkbox.styles.js.map +1 -1
- package/dist/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/CheckboxGroup.js +84 -9
- package/dist/components/form-control/checkbox/CheckboxGroup.js.map +2 -2
- package/dist/components/form-control/checkbox/Radio.d.ts +1 -1
- package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Radio.js +12 -95
- package/dist/components/form-control/checkbox/Radio.js.map +2 -2
- package/dist/components/form-control/checkbox/RadioGroup.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/RadioGroup.js +81 -9
- package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -2
- package/dist/components/form-control/checkbox/SelectableBase.d.ts +26 -0
- package/dist/components/form-control/checkbox/SelectableBase.d.ts.map +1 -0
- package/dist/components/form-control/checkbox/SelectableBase.js +100 -0
- package/dist/components/form-control/checkbox/SelectableBase.js.map +6 -0
- package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts +17 -0
- package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts.map +1 -0
- package/dist/components/form-control/checkbox/SelectionGroupBase.js +53 -0
- package/dist/components/form-control/checkbox/SelectionGroupBase.js.map +6 -0
- package/dist/components/form-control/color-picker/ColorPicker.d.ts +1 -1
- package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
- package/dist/components/form-control/color-picker/ColorPicker.js +3 -15
- package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
- package/dist/components/form-control/combobox/Combobox.d.ts +26 -47
- package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/form-control/combobox/Combobox.js +107 -59
- package/dist/components/form-control/combobox/Combobox.js.map +2 -2
- package/dist/components/form-control/date-range-picker/DateRangePicker.d.ts.map +1 -1
- package/dist/components/form-control/date-range-picker/DateRangePicker.js +12 -5
- package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -2
- package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -1
- package/dist/components/form-control/editor/EditorToolbar.js +358 -211
- package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
- package/dist/components/form-control/editor/RichTextEditor.d.ts +1 -1
- package/dist/components/form-control/editor/RichTextEditor.d.ts.map +1 -1
- package/dist/components/form-control/editor/RichTextEditor.js +10 -10
- package/dist/components/form-control/editor/RichTextEditor.js.map +2 -2
- package/{src/components/form-control/editor/editor.css → dist/components/form-control/editor/RichTextEditor.tiptap.css} +0 -1
- package/dist/components/form-control/field/DatePicker.d.ts +1 -1
- package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DatePicker.js +48 -129
- package/dist/components/form-control/field/DatePicker.js.map +2 -2
- package/dist/components/form-control/field/DateTimePicker.d.ts +1 -1
- package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DateTimePicker.js +48 -129
- package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
- package/dist/components/form-control/field/Field.styles.d.ts +3 -3
- package/dist/components/form-control/field/Field.styles.d.ts.map +1 -1
- package/dist/components/form-control/field/Field.styles.js +46 -40
- package/dist/components/form-control/field/Field.styles.js.map +1 -1
- package/dist/components/form-control/field/FieldPlaceholder.js +4 -3
- package/dist/components/form-control/field/FieldPlaceholder.js.map +2 -2
- package/dist/components/form-control/field/FieldShell.d.ts +37 -0
- package/dist/components/form-control/field/FieldShell.d.ts.map +1 -0
- package/dist/components/form-control/field/FieldShell.js +124 -0
- package/dist/components/form-control/field/FieldShell.js.map +6 -0
- package/dist/components/form-control/field/NumberInput.d.ts +8 -6
- package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
- package/dist/components/form-control/field/NumberInput.js +86 -192
- package/dist/components/form-control/field/NumberInput.js.map +2 -2
- package/dist/components/form-control/field/TextInput.d.ts +7 -6
- package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
- package/dist/components/form-control/field/TextInput.js +82 -193
- package/dist/components/form-control/field/TextInput.js.map +2 -2
- package/dist/components/form-control/field/Textarea.d.ts +1 -1
- package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
- package/dist/components/form-control/field/Textarea.js +79 -154
- package/dist/components/form-control/field/Textarea.js.map +2 -2
- package/dist/components/form-control/field/TimePicker.d.ts +1 -1
- package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/TimePicker.js +44 -121
- package/dist/components/form-control/field/TimePicker.js.map +2 -2
- package/dist/components/form-control/numpad/Numpad.d.ts +1 -1
- package/dist/components/form-control/numpad/Numpad.d.ts.map +1 -1
- package/dist/components/form-control/numpad/Numpad.js +5 -5
- package/dist/components/form-control/numpad/Numpad.js.map +2 -2
- package/dist/components/form-control/select/Select.d.ts +54 -35
- package/dist/components/form-control/select/Select.d.ts.map +1 -1
- package/dist/components/form-control/select/Select.js +215 -114
- package/dist/components/form-control/select/Select.js.map +2 -2
- package/dist/components/form-control/state-preset/StatePreset.d.ts +2 -2
- package/dist/components/form-control/state-preset/StatePreset.d.ts.map +1 -1
- package/dist/components/form-control/state-preset/StatePreset.js +63 -52
- package/dist/components/form-control/state-preset/StatePreset.js.map +2 -2
- package/dist/components/layout/FormGroup.d.ts +3 -6
- package/dist/components/layout/FormGroup.d.ts.map +1 -1
- package/dist/components/layout/FormGroup.js +5 -7
- package/dist/components/layout/FormGroup.js.map +2 -2
- package/dist/components/layout/FormTable.d.ts +7 -1
- package/dist/components/layout/FormTable.d.ts.map +1 -1
- package/dist/components/layout/FormTable.js +52 -18
- package/dist/components/layout/FormTable.js.map +2 -2
- package/dist/components/layout/sidebar/Sidebar.d.ts +136 -8
- package/dist/components/layout/sidebar/Sidebar.d.ts.map +1 -1
- package/dist/components/layout/sidebar/Sidebar.js +341 -21
- package/dist/components/layout/sidebar/Sidebar.js.map +2 -2
- package/dist/components/layout/topbar/Topbar.d.ts +44 -33
- package/dist/components/layout/topbar/Topbar.d.ts.map +1 -1
- package/dist/components/layout/topbar/Topbar.js +426 -39
- package/dist/components/layout/topbar/Topbar.js.map +2 -2
- package/dist/helpers/createAppStructure.d.ts.map +1 -1
- package/dist/helpers/createAppStructure.js +4 -5
- package/dist/helpers/createAppStructure.js.map +1 -1
- package/dist/helpers/createSlot.d.ts +3 -0
- package/dist/helpers/createSlot.d.ts.map +1 -0
- package/dist/helpers/createSlot.js +40 -0
- package/dist/helpers/createSlot.js.map +6 -0
- package/dist/helpers/createSlots.d.ts +7 -0
- package/dist/helpers/createSlots.d.ts.map +1 -0
- package/dist/helpers/createSlots.js +34 -0
- package/dist/helpers/createSlots.js.map +6 -0
- package/dist/hooks/createControllableSignal.d.ts +4 -12
- package/dist/hooks/createControllableSignal.d.ts.map +1 -1
- package/dist/hooks/createControllableSignal.js +4 -3
- package/dist/hooks/createControllableSignal.js.map +1 -1
- package/dist/hooks/createControllableStore.d.ts.map +1 -1
- package/dist/hooks/createControllableStore.js +3 -4
- package/dist/hooks/createControllableStore.js.map +1 -1
- package/dist/hooks/useLogger.d.ts +1 -1
- package/dist/hooks/useLogger.d.ts.map +1 -1
- package/dist/hooks/useLogger.js +1 -1
- package/dist/hooks/useSyncConfig.js +1 -1
- package/dist/index.d.ts +13 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -20
- package/dist/index.js.map +1 -1
- package/dist/providers/ConfigContext.d.ts.map +1 -1
- package/dist/providers/ConfigContext.js +10 -13
- package/dist/providers/ConfigContext.js.map +1 -1
- package/dist/providers/{LoggerContext.d.ts → LoggerProvider.d.ts} +1 -1
- package/dist/providers/LoggerProvider.d.ts.map +1 -0
- package/dist/providers/{LoggerContext.js → LoggerProvider.js} +1 -1
- package/dist/providers/{LoggerContext.js.map → LoggerProvider.js.map} +1 -1
- package/dist/providers/PwaUpdateProvider.js +1 -1
- package/dist/providers/ServiceClientProvider.d.ts +22 -0
- package/dist/providers/ServiceClientProvider.d.ts.map +1 -1
- package/dist/providers/ServiceClientProvider.js +39 -48
- package/dist/providers/ServiceClientProvider.js.map +2 -2
- package/dist/providers/{SyncStorageContext.d.ts → SyncStorageProvider.d.ts} +1 -1
- package/dist/providers/SyncStorageProvider.d.ts.map +1 -0
- package/dist/providers/{SyncStorageContext.js → SyncStorageProvider.js} +1 -1
- package/dist/providers/{SyncStorageContext.js.map → SyncStorageProvider.js.map} +1 -1
- package/dist/providers/SystemProvider.d.ts +1 -1
- package/dist/providers/SystemProvider.d.ts.map +1 -1
- package/dist/providers/SystemProvider.js +3 -3
- package/dist/providers/SystemProvider.js.map +1 -1
- package/dist/providers/i18n/{I18nContext.d.ts → I18nProvider.d.ts} +2 -2
- package/dist/providers/i18n/I18nProvider.d.ts.map +1 -0
- package/dist/providers/i18n/{I18nContext.js → I18nProvider.js} +1 -1
- package/dist/providers/i18n/{I18nContext.js.map → I18nProvider.js.map} +1 -1
- package/dist/providers/i18n/{I18nContext.types.d.ts → I18nProvider.types.d.ts} +1 -1
- package/dist/providers/i18n/I18nProvider.types.d.ts.map +1 -0
- package/dist/providers/i18n/I18nProvider.types.js +1 -0
- package/dist/providers/shared-data/SharedDataProvider.d.ts +74 -1
- package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
- package/dist/providers/shared-data/SharedDataProvider.js +15 -7
- package/dist/providers/shared-data/SharedDataProvider.js.map +2 -2
- package/dist/styles/base.styles.d.ts +15 -0
- package/dist/styles/base.styles.d.ts.map +1 -0
- package/dist/styles/base.styles.js +21 -0
- package/dist/styles/base.styles.js.map +6 -0
- package/dist/styles/control.styles.d.ts +19 -0
- package/dist/styles/control.styles.d.ts.map +1 -0
- package/dist/styles/control.styles.js +24 -0
- package/dist/styles/control.styles.js.map +6 -0
- package/dist/styles/theme.styles.d.ts +52 -0
- package/dist/styles/theme.styles.d.ts.map +1 -0
- package/dist/styles/theme.styles.js +55 -0
- package/dist/styles/theme.styles.js.map +6 -0
- package/package.json +5 -5
- package/src/components/data/Pagination.tsx +9 -9
- package/src/components/data/Table.tsx +63 -30
- package/src/components/data/calendar/Calendar.tsx +38 -36
- package/src/components/data/kanban/{Kanban.css → Kanban.animate.css} +0 -2
- package/src/components/data/kanban/Kanban.tsx +118 -84
- package/src/components/data/list/List.tsx +5 -16
- package/src/components/data/list/ListItem.styles.ts +8 -8
- package/src/components/data/list/ListItem.tsx +20 -31
- package/src/components/data/sheet/DataSheet.styles.ts +32 -9
- package/src/components/data/sheet/DataSheet.tsx +159 -440
- package/src/components/data/sheet/DataSheetColumn.tsx +7 -29
- package/src/components/data/sheet/DataSheetConfigDialog.tsx +14 -20
- package/src/components/data/sheet/hooks/useDataSheetExpansion.ts +85 -0
- package/src/components/data/sheet/hooks/useDataSheetFixedColumns.ts +131 -0
- package/src/components/data/sheet/hooks/useDataSheetPaging.ts +51 -0
- package/src/components/data/sheet/hooks/useDataSheetReorder.ts +155 -0
- package/src/components/data/sheet/hooks/useDataSheetSelection.ts +99 -0
- package/src/components/data/sheet/hooks/useDataSheetSorting.ts +68 -0
- package/src/components/data/sheet/sheetUtils.ts +5 -5
- package/src/components/data/sheet/types.ts +7 -8
- package/src/components/disclosure/Collapse.tsx +1 -9
- package/src/components/disclosure/Dialog.tsx +242 -41
- package/src/components/disclosure/Dropdown.tsx +66 -75
- package/src/components/disclosure/Tabs.tsx +23 -32
- package/src/components/display/Alert.tsx +2 -5
- package/src/components/display/Barcode.tsx +1 -4
- package/src/components/display/Card.animate.css +11 -0
- package/src/components/display/Card.tsx +10 -11
- package/src/components/display/Echarts.tsx +1 -4
- package/src/components/display/Link.tsx +3 -5
- package/src/components/display/Tag.tsx +2 -5
- package/src/components/features/address/AddressSearch.tsx +4 -5
- package/src/components/features/crud-detail/CrudDetail.tsx +129 -142
- package/src/components/features/crud-detail/CrudDetailAfter.tsx +3 -16
- package/src/components/features/crud-detail/CrudDetailBefore.tsx +3 -16
- package/src/components/features/crud-detail/CrudDetailTools.tsx +3 -16
- package/src/components/features/crud-detail/types.ts +3 -16
- package/src/components/features/crud-sheet/CrudSheet.tsx +90 -92
- package/src/components/features/crud-sheet/CrudSheetColumn.tsx +7 -30
- package/src/components/features/crud-sheet/CrudSheetFilter.tsx +12 -16
- package/src/components/features/crud-sheet/CrudSheetHeader.tsx +3 -16
- package/src/components/features/crud-sheet/CrudSheetTools.tsx +12 -16
- package/src/components/features/crud-sheet/types.ts +6 -40
- package/src/components/features/data-select-button/DataSelectButton.tsx +55 -64
- package/src/components/features/permission-table/PermissionTable.tsx +9 -13
- package/src/components/features/shared-data/SharedDataSelect.tsx +89 -108
- package/src/components/features/shared-data/SharedDataSelectButton.tsx +26 -15
- package/src/components/features/shared-data/SharedDataSelectList.tsx +55 -32
- package/src/components/feedback/Progress.tsx +16 -21
- package/src/components/feedback/busy/BusyContainer.tsx +18 -45
- package/src/components/feedback/busy/BusyProvider.tsx +40 -7
- package/src/components/feedback/notification/NotificationBanner.tsx +13 -32
- package/src/components/feedback/notification/NotificationBell.tsx +18 -47
- package/src/components/feedback/notification/NotificationProvider.tsx +96 -10
- package/src/components/feedback/notification/index.ts +0 -1
- package/src/components/feedback/print/PrintProvider.tsx +35 -4
- package/src/components/form-control/Button.tsx +11 -29
- package/src/components/form-control/DropdownTrigger.styles.ts +16 -17
- package/src/components/form-control/ThemeToggle.tsx +18 -15
- package/src/components/form-control/checkbox/Checkbox.styles.ts +20 -26
- package/src/components/form-control/checkbox/Checkbox.tsx +14 -100
- package/src/components/form-control/checkbox/CheckboxGroup.tsx +85 -10
- package/src/components/form-control/checkbox/Radio.tsx +14 -103
- package/src/components/form-control/checkbox/RadioGroup.tsx +82 -10
- package/src/components/form-control/checkbox/SelectableBase.tsx +123 -0
- package/src/components/form-control/checkbox/SelectionGroupBase.tsx +57 -0
- package/src/components/form-control/color-picker/ColorPicker.tsx +8 -28
- package/src/components/form-control/combobox/Combobox.tsx +124 -30
- package/src/components/form-control/date-range-picker/DateRangePicker.tsx +5 -5
- package/src/components/form-control/editor/EditorToolbar.tsx +105 -82
- package/{dist/components/form-control/editor/editor.css → src/components/form-control/editor/RichTextEditor.tiptap.css} +0 -1
- package/src/components/form-control/editor/RichTextEditor.tsx +14 -29
- package/src/components/form-control/field/DatePicker.tsx +30 -72
- package/src/components/form-control/field/DateTimePicker.tsx +31 -79
- package/src/components/form-control/field/Field.styles.ts +48 -42
- package/src/components/form-control/field/FieldPlaceholder.tsx +2 -2
- package/src/components/form-control/field/FieldShell.tsx +113 -0
- package/src/components/form-control/field/NumberInput.tsx +67 -126
- package/src/components/form-control/field/TextInput.tsx +51 -109
- package/src/components/form-control/field/Textarea.tsx +64 -108
- package/src/components/form-control/field/TimePicker.tsx +29 -70
- package/src/components/form-control/numpad/Numpad.tsx +5 -6
- package/src/components/form-control/select/Select.tsx +243 -119
- package/src/components/form-control/state-preset/StatePreset.tsx +60 -83
- package/src/components/layout/FormGroup.tsx +10 -13
- package/src/components/layout/FormTable.tsx +40 -19
- package/src/components/layout/sidebar/Sidebar.tsx +456 -38
- package/src/components/layout/topbar/Topbar.tsx +420 -49
- package/src/helpers/createAppStructure.ts +6 -7
- package/src/helpers/createSlot.ts +45 -0
- package/src/helpers/createSlots.ts +44 -0
- package/src/hooks/createControllableSignal.ts +10 -18
- package/src/hooks/createControllableStore.ts +3 -4
- package/src/hooks/useLogger.ts +1 -1
- package/src/hooks/useSyncConfig.ts +1 -1
- package/src/index.ts +14 -20
- package/src/providers/ConfigContext.tsx +0 -1
- package/src/providers/PwaUpdateProvider.tsx +1 -1
- package/src/providers/ServiceClientProvider.tsx +59 -53
- package/src/providers/SystemProvider.tsx +4 -5
- package/src/providers/i18n/{I18nContext.tsx → I18nProvider.tsx} +1 -1
- package/src/providers/shared-data/SharedDataProvider.tsx +95 -14
- package/src/styles/base.styles.ts +21 -0
- package/src/styles/control.styles.ts +25 -0
- package/src/styles/theme.styles.ts +54 -0
- package/tailwind.config.ts +0 -11
- package/tests/components/data/List.spec.tsx +1 -262
- package/tests/components/data/Pagination.spec.tsx +0 -75
- package/tests/components/data/kanban/Kanban.selection.spec.tsx +1 -17
- package/tests/components/data/sheet/DataSheet.spec.tsx +36 -65
- package/tests/components/data/sheet/hooks/useDataSheetExpansion.spec.ts +254 -0
- package/tests/components/data/sheet/hooks/useDataSheetFixedColumns.spec.ts +488 -0
- package/tests/components/data/sheet/hooks/useDataSheetPaging.spec.ts +359 -0
- package/tests/components/data/sheet/hooks/useDataSheetReorder.spec.ts +251 -0
- package/tests/components/data/sheet/hooks/useDataSheetSelection.spec.ts +345 -0
- package/tests/components/data/sheet/hooks/useDataSheetSorting.spec.ts +279 -0
- package/tests/components/disclosure/Collapse.spec.tsx +0 -24
- package/tests/components/disclosure/Dialog.spec.tsx +4 -54
- package/tests/components/disclosure/DialogProvider.spec.tsx +9 -12
- package/tests/components/disclosure/Tabs.spec.tsx +0 -99
- package/tests/components/display/Barcode.spec.tsx +0 -14
- package/tests/components/features/address/AddressSearch.spec.tsx +3 -4
- package/tests/components/features/crud-detail/CrudDetail.spec.tsx +12 -74
- package/tests/components/features/crud-sheet/CrudSheet.spec.tsx +13 -66
- package/tests/components/features/data-select-button/DataSelectButton.spec.tsx +51 -29
- package/tests/components/features/permission-table/PermissionTable.spec.tsx +5 -30
- package/tests/components/features/shared-data/SharedDataSelect.spec.tsx +15 -19
- package/tests/components/features/shared-data/SharedDataSelectList.spec.tsx +17 -44
- package/tests/components/feedback/busy/BusyContainer.spec.tsx +15 -9
- package/tests/components/feedback/notification/LiveRegion.spec.tsx +2 -27
- package/tests/components/feedback/notification/NotificationBanner.spec.tsx +2 -27
- package/tests/components/feedback/notification/NotificationBell.spec.tsx +2 -16
- package/tests/components/feedback/notification/NotificationContext.spec.tsx +2 -16
- package/tests/components/form-control/Button.spec.tsx +0 -97
- package/tests/components/form-control/Invalid.spec.tsx +0 -15
- package/tests/components/form-control/checkbox/Checkbox.spec.tsx +1 -47
- package/tests/components/form-control/checkbox/CheckboxGroup.spec.tsx +1 -26
- package/tests/components/form-control/checkbox/Radio.spec.tsx +1 -46
- package/tests/components/form-control/checkbox/RadioGroup.spec.tsx +1 -26
- package/tests/components/form-control/color-picker/ColorPicker.spec.tsx +1 -31
- package/tests/components/form-control/combobox/Combobox.spec.tsx +5 -49
- package/tests/components/form-control/combobox/ComboboxItem.spec.tsx +7 -27
- package/tests/components/form-control/date-range-picker/DateRangePicker.spec.tsx +1 -58
- package/tests/components/form-control/field/DatePicker.spec.tsx +5 -93
- package/tests/components/form-control/field/DateTimePicker.spec.tsx +5 -86
- package/tests/components/form-control/field/FieldShell.spec.tsx +127 -0
- package/tests/components/form-control/field/NumberInput.spec.tsx +14 -133
- package/tests/components/form-control/field/TextInput.spec.tsx +6 -148
- package/tests/components/form-control/field/Textarea.spec.tsx +5 -69
- package/tests/components/form-control/field/TimePicker.spec.tsx +5 -84
- package/tests/components/form-control/numpad/Numpad.spec.tsx +1 -78
- package/tests/components/form-control/select/Select.spec.tsx +9 -59
- package/tests/components/form-control/select/SelectItem.spec.tsx +10 -62
- package/tests/components/layout/sidebar/Sidebar.spec.tsx +3 -122
- package/tests/components/layout/sidebar/SidebarContainer.spec.tsx +3 -45
- package/tests/components/layout/sidebar/SidebarMenu.spec.tsx +1 -74
- package/tests/components/layout/sidebar/SidebarUser.spec.tsx +0 -48
- package/tests/components/layout/topbar/TopbarActions.spec.tsx +1 -1
- package/tests/components/layout/topbar/createTopbarActions.spec.tsx +0 -9
- package/tests/helpers/createAppStructure.spec.tsx +0 -26
- package/tests/helpers/createSlot.spec.tsx +99 -0
- package/tests/helpers/createSlots.spec.tsx +100 -0
- package/tests/hooks/createControllableSignal.spec.ts +0 -50
- package/tests/hooks/createControllableStore.spec.ts +67 -0
- package/tests/hooks/createMountTransition.spec.ts +0 -9
- package/tests/hooks/useLocalStorage.spec.tsx +0 -34
- package/tests/hooks/useLogger.spec.tsx +1 -18
- package/tests/hooks/usePrint.spec.tsx +1 -24
- package/tests/hooks/useSyncConfig.spec.tsx +1 -18
- package/tests/providers/ErrorLoggerProvider.spec.tsx +1 -11
- package/tests/providers/ServiceClientContext.spec.tsx +2 -20
- package/tests/providers/i18n/I18nContext.spec.tsx +1 -5
- package/tests/providers/shared-data/SharedDataProvider.spec.tsx +13 -13
- package/dist/components/data/kanban/KanbanContext.d.ts +0 -43
- package/dist/components/data/kanban/KanbanContext.d.ts.map +0 -1
- package/dist/components/data/kanban/KanbanContext.js +0 -24
- package/dist/components/data/kanban/KanbanContext.js.map +0 -6
- package/dist/components/data/sheet/DataSheet.css +0 -44
- package/dist/components/disclosure/DialogContext.d.ts +0 -57
- package/dist/components/disclosure/DialogContext.d.ts.map +0 -1
- package/dist/components/disclosure/DialogContext.js +0 -14
- package/dist/components/disclosure/DialogContext.js.map +0 -6
- package/dist/components/disclosure/DialogInstanceContext.d.ts +0 -20
- package/dist/components/disclosure/DialogInstanceContext.d.ts.map +0 -1
- package/dist/components/disclosure/DialogInstanceContext.js +0 -10
- package/dist/components/disclosure/DialogInstanceContext.js.map +0 -6
- package/dist/components/disclosure/DialogProvider.d.ts +0 -19
- package/dist/components/disclosure/DialogProvider.d.ts.map +0 -1
- package/dist/components/disclosure/DialogProvider.js +0 -145
- package/dist/components/disclosure/DialogProvider.js.map +0 -6
- package/dist/components/features/shared-data/SharedDataSelectListContext.d.ts +0 -15
- package/dist/components/features/shared-data/SharedDataSelectListContext.d.ts.map +0 -1
- package/dist/components/features/shared-data/SharedDataSelectListContext.js +0 -27
- package/dist/components/features/shared-data/SharedDataSelectListContext.js.map +0 -6
- package/dist/components/feedback/busy/BusyContext.d.ts +0 -29
- package/dist/components/feedback/busy/BusyContext.d.ts.map +0 -1
- package/dist/components/feedback/busy/BusyContext.js +0 -14
- package/dist/components/feedback/busy/BusyContext.js.map +0 -6
- package/dist/components/feedback/notification/NotificationContext.d.ts +0 -69
- package/dist/components/feedback/notification/NotificationContext.d.ts.map +0 -1
- package/dist/components/feedback/notification/NotificationContext.js +0 -14
- package/dist/components/feedback/notification/NotificationContext.js.map +0 -6
- package/dist/components/feedback/print/PrintContext.d.ts +0 -12
- package/dist/components/feedback/print/PrintContext.d.ts.map +0 -1
- package/dist/components/feedback/print/PrintContext.js +0 -12
- package/dist/components/feedback/print/PrintContext.js.map +0 -6
- package/dist/components/feedback/print/PrintInstanceContext.d.ts +0 -6
- package/dist/components/feedback/print/PrintInstanceContext.d.ts.map +0 -1
- package/dist/components/feedback/print/PrintInstanceContext.js +0 -10
- package/dist/components/feedback/print/PrintInstanceContext.js.map +0 -6
- package/dist/components/form-control/combobox/ComboboxContext.d.ts +0 -14
- package/dist/components/form-control/combobox/ComboboxContext.d.ts.map +0 -1
- package/dist/components/form-control/combobox/ComboboxContext.js +0 -14
- package/dist/components/form-control/combobox/ComboboxContext.js.map +0 -6
- package/dist/components/form-control/combobox/ComboboxItem.d.ts +0 -12
- package/dist/components/form-control/combobox/ComboboxItem.d.ts.map +0 -1
- package/dist/components/form-control/combobox/ComboboxItem.js +0 -56
- package/dist/components/form-control/combobox/ComboboxItem.js.map +0 -6
- package/dist/components/form-control/select/SelectContext.d.ts +0 -21
- package/dist/components/form-control/select/SelectContext.d.ts.map +0 -1
- package/dist/components/form-control/select/SelectContext.js +0 -14
- package/dist/components/form-control/select/SelectContext.js.map +0 -6
- package/dist/components/form-control/select/SelectItem.d.ts +0 -30
- package/dist/components/form-control/select/SelectItem.d.ts.map +0 -1
- package/dist/components/form-control/select/SelectItem.js +0 -112
- package/dist/components/form-control/select/SelectItem.js.map +0 -6
- package/dist/components/layout/sidebar/SidebarContainer.d.ts +0 -34
- package/dist/components/layout/sidebar/SidebarContainer.d.ts.map +0 -1
- package/dist/components/layout/sidebar/SidebarContainer.js +0 -88
- package/dist/components/layout/sidebar/SidebarContainer.js.map +0 -6
- package/dist/components/layout/sidebar/SidebarContext.d.ts +0 -28
- package/dist/components/layout/sidebar/SidebarContext.d.ts.map +0 -1
- package/dist/components/layout/sidebar/SidebarContext.js +0 -20
- package/dist/components/layout/sidebar/SidebarContext.js.map +0 -6
- package/dist/components/layout/sidebar/SidebarMenu.d.ts +0 -35
- package/dist/components/layout/sidebar/SidebarMenu.d.ts.map +0 -1
- package/dist/components/layout/sidebar/SidebarMenu.js +0 -153
- package/dist/components/layout/sidebar/SidebarMenu.js.map +0 -6
- package/dist/components/layout/sidebar/SidebarUser.d.ts +0 -48
- package/dist/components/layout/sidebar/SidebarUser.d.ts.map +0 -1
- package/dist/components/layout/sidebar/SidebarUser.js +0 -128
- package/dist/components/layout/sidebar/SidebarUser.js.map +0 -6
- package/dist/components/layout/topbar/TopbarActions.d.ts +0 -3
- package/dist/components/layout/topbar/TopbarActions.d.ts.map +0 -1
- package/dist/components/layout/topbar/TopbarActions.js +0 -17
- package/dist/components/layout/topbar/TopbarActions.js.map +0 -6
- package/dist/components/layout/topbar/TopbarContainer.d.ts +0 -25
- package/dist/components/layout/topbar/TopbarContainer.d.ts.map +0 -1
- package/dist/components/layout/topbar/TopbarContainer.js +0 -37
- package/dist/components/layout/topbar/TopbarContainer.js.map +0 -6
- package/dist/components/layout/topbar/TopbarContext.d.ts +0 -9
- package/dist/components/layout/topbar/TopbarContext.d.ts.map +0 -1
- package/dist/components/layout/topbar/TopbarContext.js +0 -29
- package/dist/components/layout/topbar/TopbarContext.js.map +0 -6
- package/dist/components/layout/topbar/TopbarMenu.d.ts +0 -41
- package/dist/components/layout/topbar/TopbarMenu.d.ts.map +0 -1
- package/dist/components/layout/topbar/TopbarMenu.js +0 -288
- package/dist/components/layout/topbar/TopbarMenu.js.map +0 -6
- package/dist/components/layout/topbar/TopbarUser.d.ts +0 -35
- package/dist/components/layout/topbar/TopbarUser.d.ts.map +0 -1
- package/dist/components/layout/topbar/TopbarUser.js +0 -110
- package/dist/components/layout/topbar/TopbarUser.js.map +0 -6
- package/dist/helpers/createHmrSafeContext.d.ts +0 -3
- package/dist/helpers/createHmrSafeContext.d.ts.map +0 -1
- package/dist/helpers/createHmrSafeContext.js +0 -10
- package/dist/helpers/createHmrSafeContext.js.map +0 -6
- package/dist/helpers/createSlotComponent.d.ts +0 -12
- package/dist/helpers/createSlotComponent.d.ts.map +0 -1
- package/dist/helpers/createSlotComponent.js +0 -13
- package/dist/helpers/createSlotComponent.js.map +0 -6
- package/dist/hooks/createSelectionGroup.d.ts +0 -70
- package/dist/hooks/createSelectionGroup.d.ts.map +0 -1
- package/dist/hooks/createSelectionGroup.js +0 -145
- package/dist/hooks/createSelectionGroup.js.map +0 -6
- package/dist/hooks/createSlotSignal.d.ts +0 -9
- package/dist/hooks/createSlotSignal.d.ts.map +0 -1
- package/dist/hooks/createSlotSignal.js +0 -10
- package/dist/hooks/createSlotSignal.js.map +0 -6
- package/dist/providers/LoggerContext.d.ts.map +0 -1
- package/dist/providers/ServiceClientContext.d.ts +0 -23
- package/dist/providers/ServiceClientContext.d.ts.map +0 -1
- package/dist/providers/ServiceClientContext.js +0 -14
- package/dist/providers/ServiceClientContext.js.map +0 -6
- package/dist/providers/SyncStorageContext.d.ts.map +0 -1
- package/dist/providers/i18n/I18nContext.d.ts.map +0 -1
- package/dist/providers/i18n/I18nContext.types.d.ts.map +0 -1
- package/dist/providers/i18n/I18nContext.types.js +0 -1
- package/dist/providers/shared-data/SharedDataContext.d.ts +0 -77
- package/dist/providers/shared-data/SharedDataContext.d.ts.map +0 -1
- package/dist/providers/shared-data/SharedDataContext.js +0 -14
- package/dist/providers/shared-data/SharedDataContext.js.map +0 -6
- package/dist/styles/patterns.styles.d.ts +0 -7
- package/dist/styles/patterns.styles.d.ts.map +0 -1
- package/dist/styles/patterns.styles.js +0 -47
- package/dist/styles/patterns.styles.js.map +0 -6
- package/dist/styles/tokens.styles.d.ts +0 -23
- package/dist/styles/tokens.styles.d.ts.map +0 -1
- package/dist/styles/tokens.styles.js +0 -76
- package/dist/styles/tokens.styles.js.map +0 -6
- package/src/components/data/kanban/KanbanContext.ts +0 -76
- package/src/components/data/sheet/DataSheet.css +0 -44
- package/src/components/disclosure/DialogContext.ts +0 -69
- package/src/components/disclosure/DialogInstanceContext.ts +0 -25
- package/src/components/disclosure/DialogProvider.tsx +0 -147
- package/src/components/features/shared-data/SharedDataSelectListContext.ts +0 -39
- package/src/components/feedback/busy/BusyContext.ts +0 -38
- package/src/components/feedback/notification/NotificationContext.ts +0 -95
- package/src/components/feedback/print/PrintContext.ts +0 -20
- package/src/components/feedback/print/PrintInstanceContext.ts +0 -11
- package/src/components/form-control/combobox/ComboboxContext.ts +0 -25
- package/src/components/form-control/combobox/ComboboxItem.tsx +0 -69
- package/src/components/form-control/select/SelectContext.ts +0 -35
- package/src/components/form-control/select/SelectItem.tsx +0 -128
- package/src/components/layout/sidebar/SidebarContainer.tsx +0 -123
- package/src/components/layout/sidebar/SidebarContext.ts +0 -40
- package/src/components/layout/sidebar/SidebarMenu.tsx +0 -182
- package/src/components/layout/sidebar/SidebarUser.tsx +0 -142
- package/src/components/layout/topbar/TopbarActions.tsx +0 -8
- package/src/components/layout/topbar/TopbarContainer.tsx +0 -44
- package/src/components/layout/topbar/TopbarContext.ts +0 -36
- package/src/components/layout/topbar/TopbarMenu.tsx +0 -227
- package/src/components/layout/topbar/TopbarUser.tsx +0 -97
- package/src/helpers/createHmrSafeContext.ts +0 -8
- package/src/helpers/createSlotComponent.ts +0 -23
- package/src/hooks/createSelectionGroup.tsx +0 -241
- package/src/hooks/createSlotSignal.ts +0 -14
- package/src/providers/ServiceClientContext.ts +0 -32
- package/src/providers/shared-data/SharedDataContext.ts +0 -91
- package/src/styles/patterns.styles.ts +0 -50
- package/src/styles/tokens.styles.ts +0 -86
- package/tests/components/data/Table.spec.tsx +0 -55
- package/tests/components/display/Alert.spec.tsx +0 -47
- package/tests/components/display/Card.spec.tsx +0 -41
- package/tests/components/display/Link.spec.tsx +0 -62
- package/tests/components/display/Tag.spec.tsx +0 -47
- package/tests/components/feedback/print/Print.spec.tsx +0 -45
- package/tests/components/layout/FormGroup.spec.tsx +0 -104
- package/tests/components/layout/FormTable.spec.tsx +0 -43
- package/tests/components/layout/topbar/TopbarContainer.spec.tsx +0 -38
- package/tests/providers/ClipboardProvider.spec.tsx +0 -20
- package/tests/providers/ConfigContext.spec.tsx +0 -42
- package/tests/providers/LoggerContext.spec.tsx +0 -76
- package/tests/providers/PwaUpdateProvider.spec.tsx +0 -32
- package/tests/providers/SyncStorageContext.spec.tsx +0 -77
- /package/dist/components/feedback/busy/{BusyContainer.css → BusyContainer.animate.css} +0 -0
- /package/dist/providers/i18n/{I18nContext.types.js.map → I18nProvider.types.js.map} +0 -0
- /package/src/components/feedback/busy/{BusyContainer.css → BusyContainer.animate.css} +0 -0
- /package/src/providers/{LoggerContext.tsx → LoggerProvider.tsx} +0 -0
- /package/src/providers/{SyncStorageContext.tsx → SyncStorageProvider.tsx} +0 -0
- /package/src/providers/i18n/{I18nContext.types.ts → I18nProvider.types.ts} +0 -0
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
children,
|
|
3
2
|
createEffect,
|
|
4
|
-
createMemo,
|
|
5
3
|
createSignal,
|
|
6
4
|
createUniqueId,
|
|
7
5
|
For,
|
|
@@ -19,19 +17,21 @@ import "@simplysm/core-common"; // register extensions
|
|
|
19
17
|
import type { SortingDef } from "../../data/sheet/types";
|
|
20
18
|
import { DataSheet } from "../../data/sheet/DataSheet";
|
|
21
19
|
import { DataSheetColumn } from "../../data/sheet/DataSheetColumn";
|
|
20
|
+
import { normalizeHeader } from "../../data/sheet/sheetUtils";
|
|
22
21
|
import { BusyContainer } from "../../feedback/busy/BusyContainer";
|
|
23
|
-
import { useNotification } from "../../feedback/notification/
|
|
24
|
-
import { useI18n } from "../../../providers/i18n/
|
|
22
|
+
import { useNotification } from "../../feedback/notification/NotificationProvider";
|
|
23
|
+
import { useI18n } from "../../../providers/i18n/I18nProvider";
|
|
25
24
|
import { Button } from "../../form-control/Button";
|
|
26
25
|
import { Icon } from "../../display/Icon";
|
|
27
26
|
import { FormGroup } from "../../layout/FormGroup";
|
|
28
|
-
import { createTopbarActions, TopbarContext } from "../../layout/topbar/
|
|
29
|
-
import { useDialogInstance } from "../../disclosure/DialogInstanceContext";
|
|
27
|
+
import { createTopbarActions, TopbarContext } from "../../layout/topbar/Topbar";
|
|
30
28
|
import { Dialog } from "../../disclosure/Dialog";
|
|
31
29
|
import { Link } from "../../display/Link";
|
|
32
30
|
import { createEventListener } from "@solid-primitives/event-listener";
|
|
33
31
|
import { useBeforeLeave } from "@solidjs/router";
|
|
34
32
|
import clsx from "clsx";
|
|
33
|
+
import { text } from "../../../styles/base.styles";
|
|
34
|
+
import { gap, pad } from "../../../styles/control.styles";
|
|
35
35
|
import {
|
|
36
36
|
IconDeviceFloppy,
|
|
37
37
|
IconExternalLink,
|
|
@@ -44,17 +44,14 @@ import {
|
|
|
44
44
|
IconUpload,
|
|
45
45
|
} from "@tabler/icons-solidjs";
|
|
46
46
|
import { registerCrud, unregisterCrud, activateCrud, isActiveCrud } from "../crudRegistry";
|
|
47
|
-
import { CrudSheetColumn,
|
|
48
|
-
import { CrudSheetFilter,
|
|
49
|
-
import { CrudSheetTools,
|
|
50
|
-
import { CrudSheetHeader,
|
|
47
|
+
import { CrudSheetColumn, createCrudSheetColumnSlotsAccessor } from "./CrudSheetColumn";
|
|
48
|
+
import { CrudSheetFilter, createCrudSheetFilterSlotAccessor } from "./CrudSheetFilter";
|
|
49
|
+
import { CrudSheetTools, createCrudSheetToolsSlotAccessor } from "./CrudSheetTools";
|
|
50
|
+
import { CrudSheetHeader, createCrudSheetHeaderSlotAccessor } from "./CrudSheetHeader";
|
|
51
51
|
import type {
|
|
52
|
-
|
|
52
|
+
CrudSheetCellContext,
|
|
53
53
|
CrudSheetContext,
|
|
54
|
-
CrudSheetFilterDef,
|
|
55
|
-
CrudSheetHeaderDef,
|
|
56
54
|
CrudSheetProps,
|
|
57
|
-
CrudSheetToolsDef,
|
|
58
55
|
SearchResult,
|
|
59
56
|
} from "./types";
|
|
60
57
|
|
|
@@ -72,24 +69,25 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
72
69
|
const [local] = splitProps(props, [
|
|
73
70
|
"search",
|
|
74
71
|
"getItemKey",
|
|
75
|
-
"
|
|
72
|
+
"storageKey",
|
|
76
73
|
"editable",
|
|
77
74
|
"itemEditable",
|
|
78
75
|
"itemDeletable",
|
|
79
76
|
"itemDeleted",
|
|
80
|
-
"
|
|
77
|
+
"itemSelectable",
|
|
81
78
|
"lastModifiedAtProp",
|
|
82
79
|
"lastModifiedByProp",
|
|
83
|
-
"
|
|
80
|
+
"onSubmitComplete",
|
|
84
81
|
"filterInitial",
|
|
85
82
|
"items",
|
|
86
83
|
"onItemsChange",
|
|
87
84
|
"inlineEdit",
|
|
88
85
|
"dialogEdit",
|
|
89
86
|
"excel",
|
|
90
|
-
"
|
|
87
|
+
"selectionMode",
|
|
91
88
|
"onSelect",
|
|
92
89
|
"hideAutoTools",
|
|
90
|
+
"close",
|
|
93
91
|
"class",
|
|
94
92
|
"children",
|
|
95
93
|
]);
|
|
@@ -97,22 +95,15 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
97
95
|
const noti = useNotification();
|
|
98
96
|
const i18n = useI18n();
|
|
99
97
|
const topbarCtx = useContext(TopbarContext);
|
|
100
|
-
const
|
|
101
|
-
const
|
|
102
|
-
const isSelectMode = () => local.selectMode != null;
|
|
98
|
+
const isInDialog = local.close !== undefined;
|
|
99
|
+
const isSelectMode = () => local.selectionMode != null;
|
|
103
100
|
const canEdit = () => (isInDialog && isSelectMode() ? false : (local.editable ?? true));
|
|
104
101
|
|
|
105
|
-
// --
|
|
106
|
-
const
|
|
107
|
-
const
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
filter: arr.find(isCrudSheetFilterDef) as CrudSheetFilterDef<TFilter> | undefined,
|
|
111
|
-
columns: arr.filter(isCrudSheetColumnDef) as unknown as CrudSheetColumnDef<TItem>[],
|
|
112
|
-
tools: arr.find(isCrudSheetToolsDef) as CrudSheetToolsDef<TItem> | undefined,
|
|
113
|
-
header: arr.find(isCrudSheetHeaderDef) as CrudSheetHeaderDef | undefined,
|
|
114
|
-
};
|
|
115
|
-
});
|
|
102
|
+
// -- Slot Accessors --
|
|
103
|
+
const [headerSlot, HeaderProvider] = createCrudSheetHeaderSlotAccessor();
|
|
104
|
+
const [filterSlot, FilterProvider] = createCrudSheetFilterSlotAccessor();
|
|
105
|
+
const [toolsSlot, ToolsProvider] = createCrudSheetToolsSlotAccessor();
|
|
106
|
+
const [columnSlots, ColumnsProvider] = createCrudSheetColumnSlotsAccessor();
|
|
116
107
|
|
|
117
108
|
// -- State --
|
|
118
109
|
const [items, setItems] = createControllableStore<TItem[]>({
|
|
@@ -121,7 +112,6 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
121
112
|
});
|
|
122
113
|
let originalItems: TItem[] = [];
|
|
123
114
|
|
|
124
|
-
// eslint-disable-next-line solid/reactivity -- filterInitial is used only for initial value
|
|
125
115
|
const [filter, setFilter] = createStore<TFilter>((local.filterInitial ?? {}) as TFilter);
|
|
126
116
|
const [lastFilter, setLastFilter] = createSignal<TFilter>(objClone(filter));
|
|
127
117
|
|
|
@@ -132,7 +122,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
132
122
|
const [busyCount, setBusyCount] = createSignal(0);
|
|
133
123
|
const [ready, setReady] = createSignal(false);
|
|
134
124
|
|
|
135
|
-
const [
|
|
125
|
+
const [selection, setSelection] = createSignal<TItem[]>([]);
|
|
136
126
|
const [selectedKeys, setSelectedKeys] = createSignal<Set<string | number>>(new Set());
|
|
137
127
|
|
|
138
128
|
let formRef: HTMLFormElement | undefined;
|
|
@@ -146,13 +136,13 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
146
136
|
void doRefresh();
|
|
147
137
|
});
|
|
148
138
|
|
|
149
|
-
// -- Key-based selection: restore
|
|
139
|
+
// -- Key-based selection: restore selection when items change --
|
|
150
140
|
createEffect(() => {
|
|
151
141
|
const currentItems = items as unknown as TItem[];
|
|
152
142
|
const keys = selectedKeys();
|
|
153
143
|
if (keys.size === 0) {
|
|
154
|
-
if (
|
|
155
|
-
|
|
144
|
+
if (selection().length > 0) {
|
|
145
|
+
setSelection([]);
|
|
156
146
|
}
|
|
157
147
|
return;
|
|
158
148
|
}
|
|
@@ -160,7 +150,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
160
150
|
const key = local.getItemKey(item);
|
|
161
151
|
return key != null && keys.has(key);
|
|
162
152
|
});
|
|
163
|
-
|
|
153
|
+
setSelection(restored);
|
|
164
154
|
});
|
|
165
155
|
|
|
166
156
|
async function doRefresh() {
|
|
@@ -181,13 +171,11 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
181
171
|
setTotalPageCount(result.pageCount ?? 0);
|
|
182
172
|
}
|
|
183
173
|
|
|
184
|
-
/* eslint-disable solid/reactivity -- called only in event handlers, immediate store read */
|
|
185
174
|
function getItemDiffs() {
|
|
186
175
|
return items.oneWayDiffs(originalItems, (item) => local.getItemKey(item), {
|
|
187
176
|
excludes: local.inlineEdit?.diffsExcludes,
|
|
188
177
|
});
|
|
189
178
|
}
|
|
190
|
-
/* eslint-enable solid/reactivity */
|
|
191
179
|
|
|
192
180
|
function checkIgnoreChanges(): boolean {
|
|
193
181
|
if (!local.inlineEdit) return true;
|
|
@@ -252,7 +240,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
252
240
|
await local.inlineEdit.submit(diffs);
|
|
253
241
|
noti.success(i18n.t("crudSheet.saveCompleted"), i18n.t("crudSheet.saveSuccess"));
|
|
254
242
|
await refresh();
|
|
255
|
-
local.
|
|
243
|
+
local.onSubmitComplete?.();
|
|
256
244
|
} catch (err) {
|
|
257
245
|
noti.error(err, i18n.t("crudSheet.saveFailed"));
|
|
258
246
|
}
|
|
@@ -281,7 +269,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
281
269
|
|
|
282
270
|
async function handleDeleteItems() {
|
|
283
271
|
if (!local.dialogEdit?.deleteItems) return;
|
|
284
|
-
const result = await local.dialogEdit.deleteItems(
|
|
272
|
+
const result = await local.dialogEdit.deleteItems(selection());
|
|
285
273
|
if (!result) return;
|
|
286
274
|
|
|
287
275
|
setBusyCount((c) => c + 1);
|
|
@@ -296,7 +284,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
296
284
|
|
|
297
285
|
async function handleRestoreItems() {
|
|
298
286
|
if (!local.dialogEdit?.restoreItems) return;
|
|
299
|
-
const result = await local.dialogEdit.restoreItems(
|
|
287
|
+
const result = await local.dialogEdit.restoreItems(selection());
|
|
300
288
|
if (!result) return;
|
|
301
289
|
|
|
302
290
|
setBusyCount((c) => c + 1);
|
|
@@ -347,7 +335,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
347
335
|
}
|
|
348
336
|
|
|
349
337
|
// -- Select Mode --
|
|
350
|
-
function
|
|
338
|
+
function handleSelectionChange(newSelection: TItem[]) {
|
|
351
339
|
// Current page items key Set
|
|
352
340
|
const currentItems = items as unknown as TItem[];
|
|
353
341
|
const currentKeys = new Set<string | number>();
|
|
@@ -358,7 +346,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
358
346
|
|
|
359
347
|
// Newly selected items key
|
|
360
348
|
const newSelectedKeys = new Set<string | number>();
|
|
361
|
-
for (const item of
|
|
349
|
+
for (const item of newSelection) {
|
|
362
350
|
const key = local.getItemKey(item);
|
|
363
351
|
if (key != null) newSelectedKeys.add(key);
|
|
364
352
|
}
|
|
@@ -375,17 +363,17 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
375
363
|
}
|
|
376
364
|
|
|
377
365
|
setSelectedKeys(merged);
|
|
378
|
-
|
|
366
|
+
setSelection(newSelection);
|
|
379
367
|
}
|
|
380
368
|
|
|
381
369
|
function clearSelection() {
|
|
382
370
|
setSelectedKeys(new Set<string | number>());
|
|
383
|
-
|
|
371
|
+
setSelection([]);
|
|
384
372
|
}
|
|
385
373
|
|
|
386
374
|
function handleSelectConfirm() {
|
|
387
375
|
local.onSelect?.({
|
|
388
|
-
items:
|
|
376
|
+
items: selection(),
|
|
389
377
|
keys: [...selectedKeys()],
|
|
390
378
|
});
|
|
391
379
|
}
|
|
@@ -412,7 +400,6 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
412
400
|
});
|
|
413
401
|
|
|
414
402
|
// -- Route Leave Guard --
|
|
415
|
-
// eslint-disable-next-line solid/reactivity -- inlineEdit is used only for initial value
|
|
416
403
|
if (!isInDialog && local.inlineEdit) {
|
|
417
404
|
try {
|
|
418
405
|
useBeforeLeave((e) => {
|
|
@@ -451,7 +438,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
451
438
|
// -- Context for Tools --
|
|
452
439
|
const ctx: CrudSheetContext<TItem> = {
|
|
453
440
|
items: () => items as unknown as TItem[],
|
|
454
|
-
|
|
441
|
+
selection,
|
|
455
442
|
page,
|
|
456
443
|
sorts,
|
|
457
444
|
busy: () => busyCount() > 0,
|
|
@@ -475,11 +462,19 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
475
462
|
|
|
476
463
|
return (
|
|
477
464
|
<>
|
|
465
|
+
<ColumnsProvider>
|
|
466
|
+
<HeaderProvider>
|
|
467
|
+
<FilterProvider>
|
|
468
|
+
<ToolsProvider>{local.children}</ToolsProvider>
|
|
469
|
+
</FilterProvider>
|
|
470
|
+
</HeaderProvider>
|
|
471
|
+
</ColumnsProvider>
|
|
472
|
+
|
|
478
473
|
{/* Dialog mode: Dialog.Action (refresh button in header) */}
|
|
479
474
|
<Show when={isInDialog}>
|
|
480
475
|
<Dialog.Action>
|
|
481
476
|
<button
|
|
482
|
-
class="flex items-center px-2
|
|
477
|
+
class={clsx("flex items-center px-2 hover:text-base-600", text.muted)}
|
|
483
478
|
onClick={handleRefresh}
|
|
484
479
|
>
|
|
485
480
|
<Icon icon={IconRefresh} />
|
|
@@ -514,11 +509,11 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
514
509
|
</Show>
|
|
515
510
|
|
|
516
511
|
{/* Header (optional) */}
|
|
517
|
-
<Show when={
|
|
512
|
+
<Show when={headerSlot()}>{(slot) => slot().children}</Show>
|
|
518
513
|
|
|
519
514
|
{/* Filter */}
|
|
520
|
-
<Show when={
|
|
521
|
-
{(
|
|
515
|
+
<Show when={filterSlot()}>
|
|
516
|
+
{(slot) => (
|
|
522
517
|
<form class="p-2" onSubmit={handleFilterSubmit}>
|
|
523
518
|
<FormGroup inline>
|
|
524
519
|
<FormGroup.Item>
|
|
@@ -527,7 +522,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
527
522
|
{i18n.t("crudSheet.search")}
|
|
528
523
|
</Button>
|
|
529
524
|
</FormGroup.Item>
|
|
530
|
-
{
|
|
525
|
+
{slot().children(filter, setFilter)}
|
|
531
526
|
</FormGroup>
|
|
532
527
|
</form>
|
|
533
528
|
)}
|
|
@@ -563,8 +558,8 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
563
558
|
variant="ghost"
|
|
564
559
|
onClick={handleDeleteItems}
|
|
565
560
|
disabled={
|
|
566
|
-
|
|
567
|
-
!
|
|
561
|
+
selection().length === 0 ||
|
|
562
|
+
!selection().some(
|
|
568
563
|
(item) =>
|
|
569
564
|
(local.itemDeletable?.(item) ?? true) &&
|
|
570
565
|
!(local.itemDeleted?.(item) ?? false),
|
|
@@ -582,8 +577,8 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
582
577
|
variant="ghost"
|
|
583
578
|
onClick={handleRestoreItems}
|
|
584
579
|
disabled={
|
|
585
|
-
|
|
586
|
-
!
|
|
580
|
+
selection().length === 0 ||
|
|
581
|
+
!selection().some((item) => local.itemDeleted?.(item) ?? false)
|
|
587
582
|
}
|
|
588
583
|
>
|
|
589
584
|
<Icon icon={IconTrashOff} class="mr-1" />
|
|
@@ -607,7 +602,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
607
602
|
</Show>
|
|
608
603
|
|
|
609
604
|
{/* Custom tools */}
|
|
610
|
-
<Show when={
|
|
605
|
+
<Show when={toolsSlot()}>{(slot) => slot().children(ctx)}</Show>
|
|
611
606
|
</div>
|
|
612
607
|
</Show>
|
|
613
608
|
|
|
@@ -616,23 +611,23 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
616
611
|
<DataSheet
|
|
617
612
|
class="h-full"
|
|
618
613
|
items={items}
|
|
619
|
-
|
|
614
|
+
storageKey={local.storageKey != null ? `${local.storageKey}-sheet` : undefined}
|
|
620
615
|
page={totalPageCount() > 0 ? page() : undefined}
|
|
621
616
|
onPageChange={setPage}
|
|
622
617
|
totalPageCount={totalPageCount()}
|
|
623
618
|
sorts={sorts()}
|
|
624
619
|
onSortsChange={setSorts}
|
|
625
|
-
|
|
626
|
-
|
|
620
|
+
itemSelectable={local.itemSelectable}
|
|
621
|
+
selectionMode={
|
|
627
622
|
isSelectMode()
|
|
628
|
-
? local.
|
|
623
|
+
? local.selectionMode
|
|
629
624
|
: local.dialogEdit?.deleteItems != null || local.dialogEdit?.restoreItems != null
|
|
630
625
|
? "multiple"
|
|
631
626
|
: undefined
|
|
632
627
|
}
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
autoSelect={isSelectMode() && local.
|
|
628
|
+
selection={selection()}
|
|
629
|
+
onSelectionChange={handleSelectionChange}
|
|
630
|
+
autoSelect={isSelectMode() && local.selectionMode === "single" ? "click" : undefined}
|
|
636
631
|
cellClass={(item) => {
|
|
637
632
|
if (isItemDeleted(item)) {
|
|
638
633
|
return "line-through";
|
|
@@ -664,41 +659,41 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
664
659
|
</Show>
|
|
665
660
|
|
|
666
661
|
{/* User-defined columns -- map CrudSheetColumn to DataSheetColumn */}
|
|
667
|
-
<For each={
|
|
662
|
+
<For each={columnSlots()}>
|
|
668
663
|
{(col) => (
|
|
669
664
|
<DataSheetColumn<TItem>
|
|
670
665
|
key={col.key}
|
|
671
|
-
header={col.header}
|
|
666
|
+
header={normalizeHeader(col.header)}
|
|
672
667
|
headerContent={col.headerContent}
|
|
673
668
|
headerStyle={col.headerStyle}
|
|
674
669
|
summary={col.summary}
|
|
675
670
|
tooltip={col.tooltip}
|
|
676
|
-
fixed={col.fixed}
|
|
677
|
-
hidden={col.hidden}
|
|
678
|
-
collapse={col.collapse}
|
|
671
|
+
fixed={col.fixed ?? false}
|
|
672
|
+
hidden={col.hidden ?? false}
|
|
673
|
+
collapse={col.collapse ?? false}
|
|
679
674
|
width={col.width}
|
|
680
675
|
class={col.class}
|
|
681
|
-
sortable={col.sortable}
|
|
682
|
-
resizable={col.resizable}
|
|
676
|
+
sortable={col.sortable ?? true}
|
|
677
|
+
resizable={col.resizable ?? true}
|
|
683
678
|
>
|
|
684
679
|
{(dsCtx) => {
|
|
685
|
-
const crudCtx = {
|
|
680
|
+
const crudCtx: CrudSheetCellContext<any> = {
|
|
686
681
|
...dsCtx,
|
|
687
|
-
setItem:
|
|
688
|
-
setItems(dsCtx.index as any, key as any, value
|
|
682
|
+
setItem: (key, value) => {
|
|
683
|
+
setItems(dsCtx.index as any, key as any, value);
|
|
689
684
|
},
|
|
690
685
|
};
|
|
691
686
|
|
|
692
687
|
// dialogEdit editable column -- wrap with edit link
|
|
693
688
|
if (
|
|
694
689
|
local.dialogEdit &&
|
|
695
|
-
col.editTrigger &&
|
|
690
|
+
(col.editTrigger ?? false) &&
|
|
696
691
|
canEdit() &&
|
|
697
692
|
(local.itemEditable?.(dsCtx.item) ?? true)
|
|
698
693
|
) {
|
|
699
694
|
return (
|
|
700
695
|
<Link
|
|
701
|
-
class={clsx("flex",
|
|
696
|
+
class={clsx("flex", gap.default)}
|
|
702
697
|
onClick={(e) => {
|
|
703
698
|
e.preventDefault();
|
|
704
699
|
e.stopPropagation();
|
|
@@ -708,12 +703,12 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
708
703
|
<div class={"p-1"}>
|
|
709
704
|
<Icon icon={IconExternalLink} />
|
|
710
705
|
</div>
|
|
711
|
-
<div class={"flex-1"}>{col.
|
|
706
|
+
<div class={"flex-1"}>{col.children(crudCtx)}</div>
|
|
712
707
|
</Link>
|
|
713
708
|
);
|
|
714
709
|
}
|
|
715
710
|
|
|
716
|
-
return col.
|
|
711
|
+
return col.children(crudCtx);
|
|
717
712
|
}}
|
|
718
713
|
</DataSheetColumn>
|
|
719
714
|
)}
|
|
@@ -723,7 +718,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
723
718
|
<Show when={local.lastModifiedAtProp}>
|
|
724
719
|
<DataSheetColumn<TItem> key={local.lastModifiedAtProp!} header={i18n.t("crudSheet.lastModified")} hidden>
|
|
725
720
|
{(dsCtx) => (
|
|
726
|
-
<div class="
|
|
721
|
+
<div class={clsx(pad.default, "text-center")}>
|
|
727
722
|
{(
|
|
728
723
|
objGetChainValue(dsCtx.item, local.lastModifiedAtProp!, true) as
|
|
729
724
|
| DateTime
|
|
@@ -737,7 +732,7 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
737
732
|
<Show when={local.lastModifiedByProp}>
|
|
738
733
|
<DataSheetColumn<TItem> key={local.lastModifiedByProp!} header={i18n.t("crudSheet.modifiedBy")} hidden>
|
|
739
734
|
{(dsCtx) => (
|
|
740
|
-
<div class="
|
|
735
|
+
<div class={clsx(pad.default, "text-center")}>
|
|
741
736
|
{objGetChainValue(dsCtx.item, local.lastModifiedByProp!, true) as string}
|
|
742
737
|
</div>
|
|
743
738
|
)}
|
|
@@ -750,14 +745,14 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
750
745
|
<Show when={isInDialog && isSelectMode()}>
|
|
751
746
|
<div class="flex gap-2 border-t p-2">
|
|
752
747
|
<div class="flex-1" />
|
|
753
|
-
<Show when={
|
|
748
|
+
<Show when={selection().length > 0}>
|
|
754
749
|
<Button size="sm" theme="danger" onClick={handleSelectCancel}>
|
|
755
|
-
{local.
|
|
750
|
+
{local.selectionMode === "multiple" ? i18n.t("crudSheet.deselectAll") : i18n.t("crudSheet.deselect")}
|
|
756
751
|
</Button>
|
|
757
752
|
</Show>
|
|
758
|
-
<Show when={local.
|
|
753
|
+
<Show when={local.selectionMode === "multiple"}>
|
|
759
754
|
<Button size="sm" theme="primary" onClick={handleSelectConfirm}>
|
|
760
|
-
{i18n.t("crudSheet.confirm")} ({
|
|
755
|
+
{i18n.t("crudSheet.confirm")} ({selection().length})
|
|
761
756
|
</Button>
|
|
762
757
|
</Show>
|
|
763
758
|
</div>
|
|
@@ -767,8 +762,11 @@ const CrudSheetBase = <TItem, TFilter extends Record<string, any>>(
|
|
|
767
762
|
);
|
|
768
763
|
};
|
|
769
764
|
|
|
770
|
-
|
|
771
|
-
CrudSheet
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
765
|
+
//#region Export
|
|
766
|
+
export const CrudSheet = Object.assign(CrudSheetBase as unknown as CrudSheetComponent, {
|
|
767
|
+
Column: CrudSheetColumn,
|
|
768
|
+
Filter: CrudSheetFilter,
|
|
769
|
+
Tools: CrudSheetTools,
|
|
770
|
+
Header: CrudSheetHeader,
|
|
771
|
+
});
|
|
772
|
+
//#endregion
|
|
@@ -1,34 +1,11 @@
|
|
|
1
1
|
import type { JSX } from "solid-js";
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import { createSlots } from "../../../helpers/createSlots";
|
|
3
|
+
import type { CrudSheetColumnProps } from "./types";
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
return (
|
|
7
|
-
value != null &&
|
|
8
|
-
typeof value === "object" &&
|
|
9
|
-
(value as Record<string, unknown>)["__type"] === "crud-sheet-column"
|
|
10
|
-
);
|
|
11
|
-
}
|
|
5
|
+
const [SlotComponent, createCrudSheetColumnSlotsAccessor] = createSlots<CrudSheetColumnProps<any>>();
|
|
12
6
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return {
|
|
16
|
-
__type: "crud-sheet-column",
|
|
17
|
-
key: props.key,
|
|
18
|
-
header: normalizeHeader(props.header),
|
|
19
|
-
headerContent: props.headerContent,
|
|
20
|
-
headerStyle: props.headerStyle,
|
|
21
|
-
summary: props.summary,
|
|
22
|
-
tooltip: props.tooltip,
|
|
23
|
-
cell: props.children,
|
|
24
|
-
class: props.class,
|
|
25
|
-
fixed: props.fixed ?? false,
|
|
26
|
-
hidden: props.hidden ?? false,
|
|
27
|
-
collapse: props.collapse ?? false,
|
|
28
|
-
width: props.width,
|
|
29
|
-
sortable: props.sortable ?? true,
|
|
30
|
-
resizable: props.resizable ?? true,
|
|
31
|
-
editTrigger: props.editTrigger ?? false,
|
|
32
|
-
} as unknown as JSX.Element;
|
|
7
|
+
function CrudSheetColumn<TItem>(props: CrudSheetColumnProps<TItem>): JSX.Element {
|
|
8
|
+
return SlotComponent(props as CrudSheetColumnProps<any>);
|
|
33
9
|
}
|
|
34
|
-
|
|
10
|
+
|
|
11
|
+
export { CrudSheetColumn, createCrudSheetColumnSlotsAccessor };
|
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
import type { JSX } from "solid-js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { SetStoreFunction } from "solid-js/store";
|
|
3
|
+
import { createSlot } from "../../../helpers/createSlot";
|
|
3
4
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
value != null &&
|
|
7
|
-
typeof value === "object" &&
|
|
8
|
-
(value as Record<string, unknown>)["__type"] === "crud-sheet-filter"
|
|
9
|
-
);
|
|
5
|
+
export interface CrudSheetFilterSlotProps<TFilter> {
|
|
6
|
+
children: (filter: TFilter, setFilter: SetStoreFunction<TFilter>) => JSX.Element;
|
|
10
7
|
}
|
|
11
8
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
children: props.children,
|
|
19
|
-
} as unknown as JSX.Element;
|
|
9
|
+
const [CrudSheetFilterBase, createCrudSheetFilterSlotAccessor] = createSlot<
|
|
10
|
+
CrudSheetFilterSlotProps<any>
|
|
11
|
+
>();
|
|
12
|
+
|
|
13
|
+
function CrudSheetFilter<TFilter>(props: CrudSheetFilterSlotProps<TFilter>): JSX.Element {
|
|
14
|
+
return CrudSheetFilterBase(props as CrudSheetFilterSlotProps<any>);
|
|
20
15
|
}
|
|
21
|
-
|
|
16
|
+
|
|
17
|
+
export { CrudSheetFilter, createCrudSheetFilterSlotAccessor };
|
|
@@ -1,19 +1,6 @@
|
|
|
1
1
|
import type { JSX } from "solid-js";
|
|
2
|
-
import
|
|
2
|
+
import { createSlot } from "../../../helpers/createSlot";
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
return (
|
|
6
|
-
value != null &&
|
|
7
|
-
typeof value === "object" &&
|
|
8
|
-
(value as Record<string, unknown>)["__type"] === "crud-sheet-header"
|
|
9
|
-
);
|
|
10
|
-
}
|
|
4
|
+
const [CrudSheetHeader, createCrudSheetHeaderSlotAccessor] = createSlot<{ children: JSX.Element }>();
|
|
11
5
|
|
|
12
|
-
|
|
13
|
-
export function CrudSheetHeader(props: { children: JSX.Element }): JSX.Element {
|
|
14
|
-
return {
|
|
15
|
-
__type: "crud-sheet-header",
|
|
16
|
-
children: props.children,
|
|
17
|
-
} as unknown as JSX.Element;
|
|
18
|
-
}
|
|
19
|
-
/* eslint-enable solid/reactivity */
|
|
6
|
+
export { CrudSheetHeader, createCrudSheetHeaderSlotAccessor };
|
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
import type { JSX } from "solid-js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { CrudSheetContext } from "./types";
|
|
3
|
+
import { createSlot } from "../../../helpers/createSlot";
|
|
3
4
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
value != null &&
|
|
7
|
-
typeof value === "object" &&
|
|
8
|
-
(value as Record<string, unknown>)["__type"] === "crud-sheet-tools"
|
|
9
|
-
);
|
|
5
|
+
export interface CrudSheetToolsSlotProps<TItem> {
|
|
6
|
+
children: (ctx: CrudSheetContext<TItem>) => JSX.Element;
|
|
10
7
|
}
|
|
11
8
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
children: props.children,
|
|
19
|
-
} as unknown as JSX.Element;
|
|
9
|
+
const [CrudSheetToolsBase, createCrudSheetToolsSlotAccessor] = createSlot<
|
|
10
|
+
CrudSheetToolsSlotProps<any>
|
|
11
|
+
>();
|
|
12
|
+
|
|
13
|
+
function CrudSheetTools<TItem>(props: CrudSheetToolsSlotProps<TItem>): JSX.Element {
|
|
14
|
+
return CrudSheetToolsBase(props as CrudSheetToolsSlotProps<any>);
|
|
20
15
|
}
|
|
21
|
-
|
|
16
|
+
|
|
17
|
+
export { CrudSheetTools, createCrudSheetToolsSlotAccessor };
|