@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.
- package/README.md +9 -10
- package/dist/components/data/kanban/Kanban.d.ts +31 -38
- package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
- package/dist/components/data/kanban/Kanban.js.map +1 -1
- package/dist/components/data/list/List.d.ts +7 -28
- package/dist/components/data/list/List.d.ts.map +1 -1
- package/dist/components/data/list/List.js +3 -2
- package/dist/components/data/list/List.js.map +2 -2
- package/dist/components/data/sheet/DataSheet.d.ts +3 -8
- package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.js +305 -418
- package/dist/components/data/sheet/DataSheet.js.map +2 -2
- package/dist/components/data/sheet/{types.d.ts → DataSheet.types.d.ts} +9 -3
- package/dist/components/data/sheet/DataSheet.types.d.ts.map +1 -0
- package/dist/components/data/sheet/DataSheet.types.js +1 -0
- package/dist/components/data/sheet/{sheetUtils.d.ts → DataSheet.utils.d.ts} +2 -2
- package/dist/components/data/sheet/DataSheet.utils.d.ts.map +1 -0
- package/dist/components/data/sheet/{sheetUtils.js → DataSheet.utils.js} +3 -3
- package/dist/components/data/sheet/DataSheet.utils.js.map +6 -0
- package/dist/components/data/sheet/DataSheetColumn.d.ts +1 -1
- package/dist/components/data/sheet/DataSheetColumn.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheetConfigDialog.d.ts +1 -1
- package/dist/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -1
- package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts +1 -1
- package/dist/components/data/sheet/hooks/useDataSheetExpansion.d.ts.map +1 -1
- package/dist/components/data/sheet/hooks/useDataSheetExpansion.js +1 -1
- package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts +2 -2
- package/dist/components/data/sheet/hooks/useDataSheetFixedColumns.d.ts.map +1 -1
- package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.d.ts +27 -0
- package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.d.ts.map +1 -0
- package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.js +173 -0
- package/dist/components/data/sheet/hooks/useDataSheetHeaderCell.js.map +6 -0
- package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts +1 -2
- package/dist/components/data/sheet/hooks/useDataSheetReorder.d.ts.map +1 -1
- package/dist/components/data/sheet/hooks/useDataSheetReorder.js.map +1 -1
- package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts +2 -2
- package/dist/components/data/sheet/hooks/useDataSheetSelection.d.ts.map +1 -1
- package/dist/components/data/sheet/hooks/useDataSheetSelection.js +2 -2
- package/dist/components/data/sheet/hooks/useDataSheetSelection.js.map +1 -1
- package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts +1 -1
- package/dist/components/data/sheet/hooks/useDataSheetSorting.d.ts.map +1 -1
- package/dist/components/data/sheet/hooks/useDataSheetSorting.js +1 -1
- package/dist/components/disclosure/Dialog.d.ts +6 -10
- package/dist/components/disclosure/Dialog.d.ts.map +1 -1
- package/dist/components/disclosure/Dialog.js +11 -14
- package/dist/components/disclosure/Dialog.js.map +2 -2
- package/dist/components/disclosure/Dropdown.d.ts +8 -12
- package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
- package/dist/components/disclosure/Dropdown.js.map +1 -1
- package/dist/components/disclosure/Tabs.d.ts +3 -5
- package/dist/components/disclosure/Tabs.d.ts.map +1 -1
- package/dist/components/disclosure/Tabs.js.map +1 -1
- package/dist/components/display/Barcode.d.ts +1 -1
- package/dist/components/display/Barcode.d.ts.map +1 -1
- package/dist/components/display/Barcode.js +2 -1
- package/dist/components/display/Barcode.js.map +2 -2
- package/dist/components/display/Barcode.types.d.ts +2 -0
- package/dist/components/display/Barcode.types.d.ts.map +1 -0
- package/dist/components/display/Barcode.types.js +1 -0
- package/dist/components/display/Echarts.d.ts +2 -2
- package/dist/components/display/Echarts.d.ts.map +1 -1
- package/dist/components/display/Echarts.js +7 -8
- package/dist/components/display/Echarts.js.map +2 -2
- package/dist/components/features/address/AddressSearch.d.ts.map +1 -1
- package/dist/components/features/address/AddressSearch.js +4 -1
- package/dist/components/features/address/AddressSearch.js.map +2 -2
- package/dist/components/features/crud-detail/CrudDetail.d.ts +12 -13
- package/dist/components/features/crud-detail/CrudDetail.d.ts.map +1 -1
- package/dist/components/features/crud-detail/CrudDetail.js +18 -15
- package/dist/components/features/crud-detail/CrudDetail.js.map +2 -2
- package/dist/components/features/crud-detail/{types.d.ts → CrudDetail.types.d.ts} +1 -1
- package/dist/components/features/crud-detail/CrudDetail.types.d.ts.map +1 -0
- package/dist/components/features/crud-detail/CrudDetail.types.js +1 -0
- package/dist/components/features/crud-sheet/CrudSheet.d.ts +3 -13
- package/dist/components/features/crud-sheet/CrudSheet.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheet.js +62 -73
- package/dist/components/features/crud-sheet/CrudSheet.js.map +2 -2
- package/dist/components/features/crud-sheet/{types.d.ts → CrudSheet.types.d.ts} +10 -10
- package/dist/components/features/crud-sheet/CrudSheet.types.d.ts.map +1 -0
- package/dist/components/features/crud-sheet/CrudSheet.types.js +1 -0
- package/dist/components/features/crud-sheet/CrudSheet.types.js.map +6 -0
- package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts +1 -1
- package/dist/components/features/crud-sheet/CrudSheetColumn.d.ts.map +1 -1
- package/dist/components/features/crud-sheet/CrudSheetTools.d.ts +1 -1
- package/dist/components/features/crud-sheet/CrudSheetTools.d.ts.map +1 -1
- package/dist/components/features/data-select-button/DataSelectButton.d.ts +2 -2
- package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -1
- package/dist/components/features/data-select-button/DataSelectButton.js +3 -3
- package/dist/components/features/data-select-button/DataSelectButton.js.map +2 -2
- package/dist/components/features/shared-data/SharedDataSelect.d.ts +7 -11
- package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelect.js +5 -4
- package/dist/components/features/shared-data/SharedDataSelect.js.map +2 -2
- 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 +8 -15
- package/dist/components/features/shared-data/SharedDataSelectList.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelectList.js +5 -3
- package/dist/components/features/shared-data/SharedDataSelectList.js.map +2 -2
- package/dist/components/feedback/notification/NotificationProvider.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationProvider.js +9 -1
- package/dist/components/feedback/notification/NotificationProvider.js.map +2 -2
- package/dist/components/feedback/print/Print.d.ts +4 -6
- package/dist/components/feedback/print/Print.d.ts.map +1 -1
- package/dist/components/feedback/print/Print.js +3 -2
- package/dist/components/feedback/print/Print.js.map +2 -2
- package/dist/components/feedback/print/PrintProvider.d.ts.map +1 -1
- package/dist/components/feedback/print/PrintProvider.js +1 -0
- package/dist/components/feedback/print/PrintProvider.js.map +1 -1
- package/dist/components/form-control/Invalid.d.ts +1 -1
- package/dist/components/form-control/Invalid.d.ts.map +1 -1
- package/dist/components/form-control/Invalid.js +27 -26
- package/dist/components/form-control/Invalid.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/CheckboxGroup.d.ts +10 -10
- package/dist/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/CheckboxGroup.js +2 -2
- 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/RadioGroup.d.ts +10 -10
- package/dist/components/form-control/checkbox/RadioGroup.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/RadioGroup.js +2 -2
- package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -2
- package/dist/components/form-control/checkbox/SelectableBase.d.ts +1 -1
- package/dist/components/form-control/checkbox/SelectableBase.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/SelectableBase.js +3 -3
- package/dist/components/form-control/checkbox/SelectableBase.js.map +2 -2
- package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts +1 -1
- package/dist/components/form-control/checkbox/SelectionGroupBase.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/SelectionGroupBase.js +3 -3
- package/dist/components/form-control/checkbox/SelectionGroupBase.js.map +2 -2
- package/dist/components/form-control/color-picker/ColorPicker.d.ts +2 -2
- package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
- package/dist/components/form-control/color-picker/ColorPicker.js +3 -3
- package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
- package/dist/components/form-control/combobox/Combobox.d.ts +3 -3
- package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/form-control/combobox/Combobox.js +10 -5
- package/dist/components/form-control/combobox/Combobox.js.map +2 -2
- package/dist/components/form-control/date-range-picker/DateRangePicker.js +4 -4
- 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 +176 -312
- package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
- package/dist/components/form-control/field/DatePicker.d.ts +2 -2
- package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DatePicker.js +3 -3
- package/dist/components/form-control/field/DatePicker.js.map +2 -2
- package/dist/components/form-control/field/DateTimePicker.d.ts +2 -2
- package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DateTimePicker.js +3 -3
- package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
- package/dist/components/form-control/field/FieldShell.d.ts +1 -1
- package/dist/components/form-control/field/FieldShell.d.ts.map +1 -1
- package/dist/components/form-control/field/FieldShell.js +2 -2
- package/dist/components/form-control/field/FieldShell.js.map +2 -2
- package/dist/components/form-control/field/NumberInput.d.ts +7 -28
- package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
- package/dist/components/form-control/field/NumberInput.js +7 -5
- package/dist/components/form-control/field/NumberInput.js.map +2 -2
- package/dist/components/form-control/field/TextInput.d.ts +7 -23
- package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
- package/dist/components/form-control/field/TextInput.js +6 -5
- package/dist/components/form-control/field/TextInput.js.map +2 -2
- package/dist/components/form-control/field/Textarea.d.ts +2 -2
- package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
- package/dist/components/form-control/field/Textarea.js +3 -3
- package/dist/components/form-control/field/Textarea.js.map +2 -2
- package/dist/components/form-control/field/TimePicker.d.ts +2 -2
- package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/TimePicker.js +3 -3
- package/dist/components/form-control/field/TimePicker.js.map +2 -2
- package/dist/components/form-control/select/Select.d.ts +22 -44
- package/dist/components/form-control/select/Select.d.ts.map +1 -1
- package/dist/components/form-control/select/Select.js +8 -6
- package/dist/components/form-control/select/Select.js.map +2 -2
- package/dist/components/form-control/state-preset/StatePreset.js +5 -5
- package/dist/components/form-control/state-preset/StatePreset.js.map +2 -2
- package/dist/components/layout/sidebar/Sidebar.d.ts +5 -102
- package/dist/components/layout/sidebar/Sidebar.d.ts.map +1 -1
- package/dist/components/layout/sidebar/Sidebar.js.map +1 -1
- package/dist/components/layout/topbar/Topbar.d.ts +1 -1
- package/dist/components/layout/topbar/Topbar.d.ts.map +1 -1
- package/dist/components/layout/topbar/Topbar.js +3 -3
- package/dist/components/layout/topbar/Topbar.js.map +2 -2
- package/dist/helpers/createAppStructure.d.ts.map +1 -1
- package/dist/helpers/createAppStructure.js.map +1 -1
- package/dist/hooks/createControllableStore.js +5 -5
- package/dist/hooks/createControllableStore.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/providers/ServiceClientProvider.d.ts +2 -2
- package/dist/providers/ServiceClientProvider.d.ts.map +1 -1
- package/dist/providers/ServiceClientProvider.js.map +1 -1
- package/dist/providers/shared-data/SharedDataProvider.d.ts +1 -1
- package/dist/providers/shared-data/SharedDataProvider.d.ts.map +1 -1
- package/dist/providers/shared-data/SharedDataProvider.js +98 -86
- package/dist/providers/shared-data/SharedDataProvider.js.map +2 -2
- package/package.json +5 -5
- package/src/components/data/kanban/Kanban.tsx +37 -32
- package/src/components/data/list/List.tsx +3 -6
- package/src/components/data/sheet/DataSheet.tsx +224 -334
- package/src/components/data/sheet/{types.ts → DataSheet.types.ts} +8 -2
- package/src/components/data/sheet/{sheetUtils.ts → DataSheet.utils.ts} +3 -3
- package/src/components/data/sheet/DataSheetColumn.tsx +1 -1
- package/src/components/data/sheet/DataSheetConfigDialog.tsx +1 -1
- package/src/components/data/sheet/hooks/useDataSheetExpansion.ts +2 -2
- package/src/components/data/sheet/hooks/useDataSheetFixedColumns.ts +2 -2
- package/src/components/data/sheet/hooks/useDataSheetHeaderCell.tsx +168 -0
- package/src/components/data/sheet/hooks/useDataSheetReorder.ts +1 -2
- package/src/components/data/sheet/hooks/useDataSheetSelection.ts +4 -4
- package/src/components/data/sheet/hooks/useDataSheetSorting.ts +2 -2
- package/src/components/disclosure/Dialog.tsx +21 -27
- package/src/components/disclosure/Dropdown.tsx +1 -6
- package/src/components/disclosure/Tabs.tsx +1 -6
- package/src/components/display/Barcode.tsx +4 -113
- package/src/components/display/Barcode.types.ts +111 -0
- package/src/components/display/Echarts.tsx +10 -11
- package/src/components/features/address/AddressSearch.tsx +21 -3
- package/src/components/features/crud-detail/CrudDetail.tsx +21 -38
- package/src/components/features/crud-sheet/CrudSheet.tsx +77 -93
- package/src/components/features/crud-sheet/{types.ts → CrudSheet.types.ts} +9 -9
- package/src/components/features/crud-sheet/CrudSheetColumn.tsx +1 -1
- package/src/components/features/crud-sheet/CrudSheetTools.tsx +1 -1
- package/src/components/features/data-select-button/DataSelectButton.tsx +8 -8
- package/src/components/features/shared-data/SharedDataSelect.tsx +23 -34
- package/src/components/features/shared-data/SharedDataSelectButton.tsx +1 -4
- package/src/components/features/shared-data/SharedDataSelectList.tsx +6 -10
- package/src/components/feedback/notification/NotificationProvider.tsx +9 -1
- package/src/components/feedback/print/Print.tsx +4 -8
- package/src/components/feedback/print/PrintProvider.tsx +2 -1
- package/src/components/form-control/Invalid.tsx +33 -29
- package/src/components/form-control/checkbox/Checkbox.tsx +1 -1
- package/src/components/form-control/checkbox/CheckboxGroup.tsx +3 -12
- package/src/components/form-control/checkbox/Radio.tsx +1 -1
- package/src/components/form-control/checkbox/RadioGroup.tsx +3 -12
- package/src/components/form-control/checkbox/SelectableBase.tsx +3 -3
- package/src/components/form-control/checkbox/SelectionGroupBase.tsx +3 -3
- package/src/components/form-control/color-picker/ColorPicker.tsx +4 -4
- package/src/components/form-control/combobox/Combobox.tsx +23 -18
- package/src/components/form-control/date-range-picker/DateRangePicker.tsx +5 -5
- package/src/components/form-control/editor/EditorToolbar.tsx +82 -202
- package/src/components/form-control/field/DatePicker.tsx +4 -4
- package/src/components/form-control/field/DateTimePicker.tsx +4 -4
- package/src/components/form-control/field/FieldShell.tsx +2 -2
- package/src/components/form-control/field/NumberInput.tsx +8 -11
- package/src/components/form-control/field/TextInput.tsx +7 -11
- package/src/components/form-control/field/Textarea.tsx +4 -4
- package/src/components/form-control/field/TimePicker.tsx +4 -4
- package/src/components/form-control/select/Select.tsx +33 -42
- package/src/components/form-control/state-preset/StatePreset.tsx +5 -5
- package/src/components/layout/sidebar/Sidebar.tsx +1 -7
- package/src/components/layout/topbar/Topbar.tsx +3 -3
- package/src/helpers/createAppStructure.ts +16 -0
- package/src/hooks/createControllableStore.ts +5 -5
- package/src/index.ts +4 -3
- package/src/providers/ServiceClientProvider.tsx +4 -4
- package/src/providers/shared-data/SharedDataProvider.tsx +136 -113
- package/tests/components/data/sheet/DataSheet.spec.tsx +2 -2
- package/tests/components/data/sheet/hooks/useDataSheetFixedColumns.spec.ts +1 -1
- package/tests/components/data/sheet/hooks/useDataSheetSelection.spec.ts +34 -17
- package/tests/components/data/sheet/hooks/useDataSheetSorting.spec.ts +1 -1
- package/tests/components/disclosure/Dialog.spec.tsx +7 -7
- package/tests/components/display/Barcode.spec.tsx +15 -1
- package/tests/components/features/crud-sheet/CrudSheet.spec.tsx +6 -6
- package/tests/components/form-control/Invalid.spec.tsx +5 -5
- package/tests/components/form-control/combobox/Combobox.spec.tsx +24 -1
- package/tests/components/layout/topbar/TopbarActions.spec.tsx +4 -4
- package/tests/components/layout/topbar/{createTopbarActions.spec.tsx → useTopbarActions.spec.tsx} +4 -4
- package/tests/providers/shared-data/SharedDataProvider.spec.tsx +130 -8
- package/dist/components/data/sheet/sheetUtils.d.ts.map +0 -1
- package/dist/components/data/sheet/sheetUtils.js.map +0 -6
- package/dist/components/data/sheet/types.d.ts.map +0 -1
- package/dist/components/data/sheet/types.js +0 -1
- package/dist/components/features/crud-detail/types.d.ts.map +0 -1
- package/dist/components/features/crud-detail/types.js +0 -1
- package/dist/components/features/crud-sheet/types.d.ts.map +0 -1
- package/dist/components/features/crud-sheet/types.js +0 -1
- package/dist/components/feedback/notification/index.d.ts +0 -4
- package/dist/components/feedback/notification/index.d.ts.map +0 -1
- package/dist/components/feedback/notification/index.js +0 -4
- package/dist/components/feedback/notification/index.js.map +0 -6
- package/src/components/feedback/notification/index.ts +0 -3
- /package/dist/components/data/sheet/{types.js.map → DataSheet.types.js.map} +0 -0
- /package/dist/components/{features/crud-detail/types.js.map → display/Barcode.types.js.map} +0 -0
- /package/dist/components/features/{crud-sheet/types.js.map → crud-detail/CrudDetail.types.js.map} +0 -0
- /package/src/components/features/crud-detail/{types.ts → CrudDetail.types.ts} +0 -0
|
@@ -27,42 +27,45 @@ import { createSlot } from "../../../helpers/createSlot";
|
|
|
27
27
|
import "./Kanban.animate.css";
|
|
28
28
|
import { Button } from "../../form-control/Button";
|
|
29
29
|
|
|
30
|
+
//#region Types
|
|
30
31
|
// ── Types ──────────────────────────────────────────────────────
|
|
31
32
|
|
|
32
|
-
export interface KanbanCardRef<
|
|
33
|
-
value:
|
|
34
|
-
laneValue:
|
|
33
|
+
export interface KanbanCardRef<TLaneValue = unknown, TCardValue = unknown> {
|
|
34
|
+
value: TCardValue | undefined;
|
|
35
|
+
laneValue: TLaneValue | undefined;
|
|
35
36
|
heightOnDrag: number;
|
|
36
37
|
}
|
|
37
38
|
|
|
38
|
-
export interface KanbanDropInfo<
|
|
39
|
-
sourceValue?:
|
|
40
|
-
targetLaneValue?:
|
|
41
|
-
targetCardValue?:
|
|
39
|
+
export interface KanbanDropInfo<TLaneValue = unknown, TCardValue = unknown> {
|
|
40
|
+
sourceValue?: TCardValue;
|
|
41
|
+
targetLaneValue?: TLaneValue;
|
|
42
|
+
targetCardValue?: TCardValue;
|
|
42
43
|
position?: "before" | "after";
|
|
43
44
|
}
|
|
44
45
|
|
|
45
|
-
export interface KanbanDropTarget<
|
|
46
|
+
export interface KanbanDropTarget<TCardValue = unknown> {
|
|
46
47
|
element: HTMLElement;
|
|
47
|
-
value:
|
|
48
|
+
value: TCardValue | undefined;
|
|
48
49
|
position: "before" | "after";
|
|
49
50
|
}
|
|
51
|
+
//#endregion
|
|
50
52
|
|
|
53
|
+
//#region Board Context
|
|
51
54
|
// ── Board Context ──────────────────────────────────────────────
|
|
52
55
|
|
|
53
|
-
export interface KanbanContextValue<
|
|
54
|
-
dragCard: Accessor<KanbanCardRef<
|
|
55
|
-
setDragCard: Setter<KanbanCardRef<
|
|
56
|
+
export interface KanbanContextValue<TLaneValue = unknown, TCardValue = unknown> {
|
|
57
|
+
dragCard: Accessor<KanbanCardRef<TLaneValue, TCardValue> | undefined>;
|
|
58
|
+
setDragCard: Setter<KanbanCardRef<TLaneValue, TCardValue> | undefined>;
|
|
56
59
|
onDropTo: (
|
|
57
|
-
targetLaneValue:
|
|
58
|
-
targetCardValue:
|
|
60
|
+
targetLaneValue: TLaneValue | undefined,
|
|
61
|
+
targetCardValue: TCardValue | undefined,
|
|
59
62
|
position: "before" | "after" | undefined,
|
|
60
63
|
) => void;
|
|
61
64
|
|
|
62
65
|
// Selection (Phase 4)
|
|
63
|
-
selectedValues: Accessor<
|
|
64
|
-
setSelectedValues: (updater:
|
|
65
|
-
toggleSelection: (value:
|
|
66
|
+
selectedValues: Accessor<TCardValue[]>;
|
|
67
|
+
setSelectedValues: (updater: TCardValue[] | ((prev: TCardValue[]) => TCardValue[])) => void;
|
|
68
|
+
toggleSelection: (value: TCardValue) => void;
|
|
66
69
|
}
|
|
67
70
|
|
|
68
71
|
export const KanbanContext = createContext<KanbanContextValue>();
|
|
@@ -74,16 +77,18 @@ export function useKanbanContext(): KanbanContextValue {
|
|
|
74
77
|
}
|
|
75
78
|
return context;
|
|
76
79
|
}
|
|
80
|
+
//#endregion
|
|
77
81
|
|
|
82
|
+
//#region Lane Context
|
|
78
83
|
// ── Lane Context ───────────────────────────────────────────────
|
|
79
84
|
|
|
80
|
-
export interface KanbanLaneContextValue<
|
|
81
|
-
value: Accessor<
|
|
82
|
-
dropTarget: Accessor<KanbanDropTarget<
|
|
83
|
-
setDropTarget: (target: KanbanDropTarget<
|
|
85
|
+
export interface KanbanLaneContextValue<TLaneValue = unknown, TCardValue = unknown> {
|
|
86
|
+
value: Accessor<TLaneValue | undefined>;
|
|
87
|
+
dropTarget: Accessor<KanbanDropTarget<TCardValue> | undefined>;
|
|
88
|
+
setDropTarget: (target: KanbanDropTarget<TCardValue> | undefined) => void;
|
|
84
89
|
|
|
85
90
|
// Card registration (Phase 4)
|
|
86
|
-
registerCard: (id: string, info: { value:
|
|
91
|
+
registerCard: (id: string, info: { value: TCardValue | undefined; selectable: boolean }) => void;
|
|
87
92
|
unregisterCard: (id: string) => void;
|
|
88
93
|
}
|
|
89
94
|
|
|
@@ -96,7 +101,9 @@ export function useKanbanLaneContext(): KanbanLaneContextValue {
|
|
|
96
101
|
}
|
|
97
102
|
return context;
|
|
98
103
|
}
|
|
104
|
+
//#endregion
|
|
99
105
|
|
|
106
|
+
//#region Slots
|
|
100
107
|
// ─── KanbanLaneTitle ─────────────────────────────────────────────
|
|
101
108
|
|
|
102
109
|
const [KanbanLaneTitle, createTitleSlotAccessor] = createSlot<{ children: JSX.Element }>();
|
|
@@ -104,7 +111,9 @@ const [KanbanLaneTitle, createTitleSlotAccessor] = createSlot<{ children: JSX.El
|
|
|
104
111
|
// ─── KanbanLaneTools ─────────────────────────────────────────────
|
|
105
112
|
|
|
106
113
|
const [KanbanLaneTools, createToolsSlotAccessor] = createSlot<{ children: JSX.Element }>();
|
|
114
|
+
//#endregion
|
|
107
115
|
|
|
116
|
+
//#region KanbanCard
|
|
108
117
|
// ─── KanbanCard ──────────────────────────────────────────────────
|
|
109
118
|
|
|
110
119
|
export interface KanbanCardProps<TCardValue = unknown> extends Omit<
|
|
@@ -277,7 +286,9 @@ const KanbanCard: ParentComponent<KanbanCardProps> = (props) => {
|
|
|
277
286
|
</div>
|
|
278
287
|
);
|
|
279
288
|
};
|
|
289
|
+
//#endregion
|
|
280
290
|
|
|
291
|
+
//#region KanbanLane
|
|
281
292
|
// ─── KanbanLane ──────────────────────────────────────────────────
|
|
282
293
|
|
|
283
294
|
export interface KanbanLaneProps<TLaneValue = unknown> extends Omit<
|
|
@@ -507,7 +518,9 @@ const KanbanLane: ParentComponent<KanbanLaneProps> = (props) => {
|
|
|
507
518
|
</TitleProvider>
|
|
508
519
|
);
|
|
509
520
|
};
|
|
521
|
+
//#endregion
|
|
510
522
|
|
|
523
|
+
//#region KanbanBoard
|
|
511
524
|
// ─── Kanban (Board) ──────────────────────────────────────────────
|
|
512
525
|
|
|
513
526
|
export interface KanbanProps<TCardValue = unknown, TLaneValue = unknown> extends Omit<
|
|
@@ -521,15 +534,6 @@ export interface KanbanProps<TCardValue = unknown, TLaneValue = unknown> extends
|
|
|
521
534
|
}
|
|
522
535
|
|
|
523
536
|
|
|
524
|
-
interface KanbanComponent {
|
|
525
|
-
<TCardValue = unknown, TLaneValue = unknown>(
|
|
526
|
-
props: KanbanProps<TCardValue, TLaneValue>,
|
|
527
|
-
): JSX.Element;
|
|
528
|
-
Lane: typeof KanbanLane;
|
|
529
|
-
Card: typeof KanbanCard;
|
|
530
|
-
LaneTitle: typeof KanbanLaneTitle;
|
|
531
|
-
LaneTools: typeof KanbanLaneTools;
|
|
532
|
-
}
|
|
533
537
|
|
|
534
538
|
const KanbanInner = (props: KanbanProps) => {
|
|
535
539
|
const [local, rest] = splitProps(props, [
|
|
@@ -600,6 +604,7 @@ const KanbanInner = (props: KanbanProps) => {
|
|
|
600
604
|
</KanbanContext.Provider>
|
|
601
605
|
);
|
|
602
606
|
};
|
|
607
|
+
//#endregion
|
|
603
608
|
|
|
604
609
|
//#region Export
|
|
605
610
|
export const Kanban = Object.assign(KanbanInner, {
|
|
@@ -607,5 +612,5 @@ export const Kanban = Object.assign(KanbanInner, {
|
|
|
607
612
|
Card: KanbanCard,
|
|
608
613
|
LaneTitle: KanbanLaneTitle,
|
|
609
614
|
LaneTools: KanbanLaneTools,
|
|
610
|
-
})
|
|
615
|
+
});
|
|
611
616
|
//#endregion
|
|
@@ -34,10 +34,6 @@ export interface ListProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
|
34
34
|
* </List>
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
|
-
interface ListComponent extends ParentComponent<ListProps> {
|
|
38
|
-
Item: typeof ListItem;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
37
|
const ListBase: ParentComponent<ListProps> = (props) => {
|
|
42
38
|
const [local, rest] = splitProps(props, ["children", "class", "inset"]);
|
|
43
39
|
|
|
@@ -176,5 +172,6 @@ const ListBase: ParentComponent<ListProps> = (props) => {
|
|
|
176
172
|
);
|
|
177
173
|
};
|
|
178
174
|
|
|
179
|
-
export const List = ListBase
|
|
180
|
-
|
|
175
|
+
export const List = Object.assign(ListBase, {
|
|
176
|
+
Item: ListItem,
|
|
177
|
+
});
|