@canlooks/can-ui 0.0.70 → 0.0.71
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/dist/cjs/components/actionSheet/actionSheet.js +9 -4
- package/dist/cjs/components/alert/alert.style.d.ts +2 -2
- package/dist/cjs/components/app/appDialog.js +28 -24
- package/dist/cjs/components/autocomplete/autocomplete.js +21 -27
- package/dist/cjs/components/avatar/avatar.d.ts +2 -2
- package/dist/cjs/components/avatar/avatar.js +6 -5
- package/dist/cjs/components/avatar/avatarGroup.js +1 -1
- package/dist/cjs/components/bubbleConfirm/bubbleConfirm.js +9 -2
- package/dist/cjs/components/bubbleConfirm/bubbleConfirm.style.d.ts +1 -1
- package/dist/cjs/components/cascade/cascade.d.ts +2 -2
- package/dist/cjs/components/cascade/cascade.js +33 -21
- package/dist/cjs/components/cascade/cascadePanel.js +23 -13
- package/dist/cjs/components/checkboxBase/checkboxBase.d.ts +2 -2
- package/dist/cjs/components/checkboxBase/checkboxBase.js +9 -2
- package/dist/cjs/components/checkboxBase/checkboxBase.style.d.ts +1 -1
- package/dist/cjs/components/checkboxBaseGroup/checkboxBaseGroup.js +2 -2
- package/dist/cjs/components/clickAway/clickAway.d.ts +27 -27
- package/dist/cjs/components/colorPicker/colorPicker.d.ts +2 -2
- package/dist/cjs/components/colorPicker/colorPicker.js +2 -2
- package/dist/cjs/components/counter/counter.js +9 -10
- package/dist/cjs/components/curd/curd.d.ts +10 -12
- package/dist/cjs/components/curd/curd.js +38 -33
- package/dist/cjs/components/curd/curd.style.d.ts +2 -1
- package/dist/cjs/components/curd/curd.style.js +14 -4
- package/dist/cjs/components/curd/curdDialog.js +2 -1
- package/dist/cjs/components/curd/curdFilterable.d.ts +21 -0
- package/dist/cjs/components/curd/{curdFilter.js → curdFilterable.js} +19 -24
- package/dist/cjs/components/curd/index.d.ts +1 -1
- package/dist/cjs/components/curd/index.js +1 -1
- package/dist/cjs/components/dataGrid/columnResize.js +2 -2
- package/dist/cjs/components/dataGrid/dataGrid.d.ts +29 -12
- package/dist/cjs/components/dataGrid/dataGrid.js +46 -20
- package/dist/cjs/components/dataGrid/dataGrid.style.d.ts +5 -3
- package/dist/cjs/components/dataGrid/dataGrid.style.js +38 -33
- package/dist/cjs/components/dataGrid/dataGridHead.d.ts +4 -1
- package/dist/cjs/components/dataGrid/dataGridHead.js +28 -19
- package/dist/cjs/components/dataGrid/dataGridRows.js +1 -1
- package/dist/cjs/components/dataGrid/filterBubbleContent.d.ts +19 -0
- package/dist/cjs/components/dataGrid/filterBubbleContent.js +42 -0
- package/dist/cjs/components/dateTimePicker/dateTimePicker.d.ts +2 -2
- package/dist/cjs/components/dateTimePicker/dateTimePicker.js +27 -9
- package/dist/cjs/components/dateTimePicker/dateTimePicker.style.d.ts +1 -1
- package/dist/cjs/components/dateTimeRangePicker/dateTimeRangePicker.d.ts +4 -3
- package/dist/cjs/components/dateTimeRangePicker/dateTimeRangePicker.js +45 -23
- package/dist/cjs/components/descriptions/descriptions.js +2 -0
- package/dist/cjs/components/descriptions/descriptions.style.d.ts +1 -1
- package/dist/cjs/components/dialog/dialog.d.ts +1 -1
- package/dist/cjs/components/dialog/dialog.js +2 -2
- package/dist/cjs/components/dialog/dialog.style.d.ts +2 -2
- package/dist/cjs/components/draggable/draggable.d.ts +12 -2
- package/dist/cjs/components/draggable/draggable.js +34 -4
- package/dist/cjs/components/flex/flex.d.ts +7 -4
- package/dist/cjs/components/flex/flex.js +3 -3
- package/dist/cjs/components/form/form.d.ts +10 -5
- package/dist/cjs/components/form/form.js +45 -9
- package/dist/cjs/components/form/formItem.d.ts +12 -7
- package/dist/cjs/components/form/formItem.js +47 -33
- package/dist/cjs/components/form/formRelatable.js +2 -1
- package/dist/cjs/components/gallery/gallery.style.d.ts +1 -1
- package/dist/cjs/components/gallery/imageItem.js +1 -1
- package/dist/cjs/components/grid/grid.d.ts +5 -5
- package/dist/cjs/components/grid/gridItem.d.ts +8 -7
- package/dist/cjs/components/grid/gridItem.js +2 -3
- package/dist/cjs/components/image/image.d.ts +4 -4
- package/dist/cjs/components/input/input.d.ts +2 -2
- package/dist/cjs/components/input/input.js +9 -2
- package/dist/cjs/components/inputBase/inputBase.d.ts +16 -11
- package/dist/cjs/components/inputBase/inputBase.js +23 -12
- package/dist/cjs/components/loading/loading.d.ts +3 -1
- package/dist/cjs/components/loading/loading.js +2 -2
- package/dist/cjs/components/loading/loading.style.js +4 -3
- package/dist/cjs/components/loadingIndicator/loadingIndicator.d.ts +4 -2
- package/dist/cjs/components/loadingIndicator/loadingIndicator.js +2 -2
- package/dist/cjs/components/loadingIndicator/loadingIndicator.style.d.ts +1 -1
- package/dist/cjs/components/loadingIndicator/loadingIndicator.style.js +1 -2
- package/dist/cjs/components/loadingMask/loadingMask.js +1 -1
- package/dist/cjs/components/menu/menu.js +1 -1
- package/dist/cjs/components/menuItem/menuItem.d.ts +2 -2
- package/dist/cjs/components/optionsBase/optionsBase.js +1 -0
- package/dist/cjs/components/overlayBase/overlayBase.js +9 -6
- package/dist/cjs/components/overlayBase/overlayBase.style.js +0 -3
- package/dist/cjs/components/palette/palette.style.d.ts +1 -1
- package/dist/cjs/components/pickerDialog/pickerDialog.js +20 -7
- package/dist/cjs/components/pickerDialog/pickerDialog.style.d.ts +1 -1
- package/dist/cjs/components/popper/popper.d.ts +5 -2
- package/dist/cjs/components/popper/popper.js +31 -12
- package/dist/cjs/components/popper/popper.style.js +1 -2
- package/dist/cjs/components/progress/progress.js +1 -1
- package/dist/cjs/components/resizable/resizable.style.d.ts +1 -1
- package/dist/cjs/components/segmented/segmented.style.d.ts +1 -1
- package/dist/cjs/components/select/select.d.ts +2 -2
- package/dist/cjs/components/select/select.js +44 -20
- package/dist/cjs/components/selectedList/selectedItem.d.ts +1 -1
- package/dist/cjs/components/selectedList/selectedItem.js +2 -2
- package/dist/cjs/components/selectionContext/selectionContext.d.ts +0 -1
- package/dist/cjs/components/selectionContext/selectionHook.d.ts +1 -1
- package/dist/cjs/components/selectionContext/selectionHook.js +2 -2
- package/dist/cjs/components/serialInput/index.d.ts +1 -0
- package/dist/cjs/components/serialInput/index.js +4 -0
- package/dist/cjs/components/serialInput/serialInput.d.ts +21 -0
- package/dist/cjs/components/serialInput/serialInput.js +58 -0
- package/dist/cjs/components/serialInput/serialInput.style.d.ts +6 -0
- package/dist/cjs/components/serialInput/serialInput.style.js +13 -0
- package/dist/cjs/components/skeleton/skeleton.d.ts +2 -2
- package/dist/cjs/components/slidableActions/slidableActionsAction.js +15 -6
- package/dist/cjs/components/slider/slider.d.ts +2 -2
- package/dist/cjs/components/slider/slider.js +15 -21
- package/dist/cjs/components/snackbarBase/snackbarBase.style.d.ts +1 -1
- package/dist/cjs/components/snackbarBase/snackbarBase.style.js +1 -3
- package/dist/cjs/components/sortableItem/sortableItem.js +9 -10
- package/dist/cjs/components/switch/switch.d.ts +2 -2
- package/dist/cjs/components/table/table.d.ts +3 -3
- package/dist/cjs/components/table/table.style.d.ts +1 -1
- package/dist/cjs/components/table/tableSticky.d.ts +5 -5
- package/dist/cjs/components/table/tableSticky.js +4 -4
- package/dist/cjs/components/tabs/tabs.style.d.ts +3 -3
- package/dist/cjs/components/tag/tag.d.ts +1 -1
- package/dist/cjs/components/tag/tag.js +2 -1
- package/dist/cjs/components/tag/tag.style.d.ts +1 -1
- package/dist/cjs/components/textarea/textarea.d.ts +2 -2
- package/dist/cjs/components/textarea/textarea.js +5 -1
- package/dist/cjs/components/toggleButton/toggleButton.js +1 -1
- package/dist/cjs/components/transfer/transfer.style.d.ts +2 -2
- package/dist/cjs/components/transitionBase/collapse.js +36 -14
- package/dist/cjs/components/transitionBase/transitionBase.js +1 -1
- package/dist/cjs/components/transitionBase/transitionBase.style.js +1 -1
- package/dist/cjs/components/transportStyle/transportStyle.d.ts +1 -1
- package/dist/cjs/components/transportStyle/transportStyle.js +2 -3
- package/dist/cjs/components/tree/tree.d.ts +17 -4
- package/dist/cjs/components/tree/tree.js +15 -14
- package/dist/cjs/components/tree/tree.style.d.ts +9 -3
- package/dist/cjs/components/tree/tree.style.js +135 -4
- package/dist/cjs/components/tree/treeDnd.d.ts +25 -0
- package/dist/cjs/components/tree/treeDnd.js +23 -0
- package/dist/cjs/components/tree/treeNode.d.ts +2 -2
- package/dist/cjs/components/tree/treeNode.js +94 -16
- package/dist/cjs/components/treeSelect/treeSelect.d.ts +2 -2
- package/dist/cjs/components/treeSelect/treeSelect.js +3 -3
- package/dist/cjs/components/upload/upload.d.ts +2 -2
- package/dist/cjs/components/upload/upload.js +5 -2
- package/dist/cjs/components/upload/upload.style.d.ts +2 -2
- package/dist/cjs/extensions/curd/curd.d.ts +20 -0
- package/dist/cjs/extensions/curd/curd.js +20 -0
- package/dist/cjs/extensions/documentViewer/pdfViewer.d.ts +2 -2
- package/dist/cjs/extensions/reactiveForm/index.d.ts +2 -0
- package/dist/cjs/extensions/reactiveForm/index.js +5 -0
- package/dist/cjs/extensions/reactiveForm/reactiveForm.d.ts +19 -0
- package/dist/cjs/extensions/reactiveForm/reactiveForm.js +29 -0
- package/dist/cjs/extensions/reactiveForm/reactiveFormItem.d.ts +7 -0
- package/dist/cjs/extensions/reactiveForm/reactiveFormItem.js +39 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/types.d.ts +2 -2
- package/dist/cjs/utils/curd.js +5 -2
- package/dist/cjs/utils/dataGrid.d.ts +3 -2
- package/dist/cjs/utils/hooks.js +3 -3
- package/dist/cjs/utils/index.d.ts +2 -2
- package/dist/cjs/utils/index.js +2 -2
- package/dist/cjs/utils/utils.d.ts +17 -9
- package/dist/cjs/utils/utils.js +59 -16
- package/dist/esm/components/actionSheet/actionSheet.js +10 -5
- package/dist/esm/components/alert/alert.style.d.ts +2 -2
- package/dist/esm/components/app/appDialog.js +28 -24
- package/dist/esm/components/autocomplete/autocomplete.js +22 -28
- package/dist/esm/components/avatar/avatar.d.ts +2 -2
- package/dist/esm/components/avatar/avatar.js +7 -6
- package/dist/esm/components/avatar/avatarGroup.js +1 -1
- package/dist/esm/components/bubbleConfirm/bubbleConfirm.js +10 -3
- package/dist/esm/components/bubbleConfirm/bubbleConfirm.style.d.ts +1 -1
- package/dist/esm/components/cascade/cascade.d.ts +2 -2
- package/dist/esm/components/cascade/cascade.js +34 -22
- package/dist/esm/components/cascade/cascadePanel.js +24 -14
- package/dist/esm/components/checkboxBase/checkboxBase.d.ts +2 -2
- package/dist/esm/components/checkboxBase/checkboxBase.js +10 -3
- package/dist/esm/components/checkboxBase/checkboxBase.style.d.ts +1 -1
- package/dist/esm/components/checkboxBaseGroup/checkboxBaseGroup.js +3 -3
- package/dist/esm/components/clickAway/clickAway.d.ts +27 -27
- package/dist/esm/components/colorPicker/colorPicker.d.ts +2 -2
- package/dist/esm/components/colorPicker/colorPicker.js +3 -3
- package/dist/esm/components/counter/counter.js +10 -11
- package/dist/esm/components/curd/curd.d.ts +10 -12
- package/dist/esm/components/curd/curd.js +39 -34
- package/dist/esm/components/curd/curd.style.d.ts +2 -1
- package/dist/esm/components/curd/curd.style.js +14 -4
- package/dist/esm/components/curd/curdDialog.js +2 -1
- package/dist/esm/components/curd/curdFilterable.d.ts +21 -0
- package/dist/esm/components/curd/{curdFilter.js → curdFilterable.js} +20 -25
- package/dist/esm/components/curd/index.d.ts +1 -1
- package/dist/esm/components/curd/index.js +1 -1
- package/dist/esm/components/dataGrid/columnResize.js +3 -3
- package/dist/esm/components/dataGrid/dataGrid.d.ts +29 -12
- package/dist/esm/components/dataGrid/dataGrid.js +48 -22
- package/dist/esm/components/dataGrid/dataGrid.style.d.ts +5 -3
- package/dist/esm/components/dataGrid/dataGrid.style.js +38 -33
- package/dist/esm/components/dataGrid/dataGridHead.d.ts +4 -1
- package/dist/esm/components/dataGrid/dataGridHead.js +29 -20
- package/dist/esm/components/dataGrid/dataGridRows.js +1 -1
- package/dist/esm/components/dataGrid/filterBubbleContent.d.ts +19 -0
- package/dist/esm/components/dataGrid/filterBubbleContent.js +39 -0
- package/dist/esm/components/dateTimePicker/dateTimePicker.d.ts +2 -2
- package/dist/esm/components/dateTimePicker/dateTimePicker.js +28 -10
- package/dist/esm/components/dateTimePicker/dateTimePicker.style.d.ts +1 -1
- package/dist/esm/components/dateTimeRangePicker/dateTimeRangePicker.d.ts +4 -3
- package/dist/esm/components/dateTimeRangePicker/dateTimeRangePicker.js +46 -24
- package/dist/esm/components/descriptions/descriptions.js +2 -0
- package/dist/esm/components/descriptions/descriptions.style.d.ts +1 -1
- package/dist/esm/components/dialog/dialog.d.ts +1 -1
- package/dist/esm/components/dialog/dialog.js +2 -2
- package/dist/esm/components/dialog/dialog.style.d.ts +2 -2
- package/dist/esm/components/draggable/draggable.d.ts +12 -2
- package/dist/esm/components/draggable/draggable.js +35 -5
- package/dist/esm/components/flex/flex.d.ts +7 -4
- package/dist/esm/components/flex/flex.js +2 -2
- package/dist/esm/components/form/form.d.ts +10 -5
- package/dist/esm/components/form/form.js +43 -9
- package/dist/esm/components/form/formItem.d.ts +12 -7
- package/dist/esm/components/form/formItem.js +49 -35
- package/dist/esm/components/form/formRelatable.js +3 -2
- package/dist/esm/components/gallery/gallery.style.d.ts +1 -1
- package/dist/esm/components/gallery/imageItem.js +1 -1
- package/dist/esm/components/grid/grid.d.ts +5 -5
- package/dist/esm/components/grid/gridItem.d.ts +8 -7
- package/dist/esm/components/grid/gridItem.js +2 -2
- package/dist/esm/components/image/image.d.ts +4 -4
- package/dist/esm/components/input/input.d.ts +2 -2
- package/dist/esm/components/input/input.js +10 -3
- package/dist/esm/components/inputBase/inputBase.d.ts +16 -11
- package/dist/esm/components/inputBase/inputBase.js +25 -14
- package/dist/esm/components/loading/loading.d.ts +3 -1
- package/dist/esm/components/loading/loading.js +2 -2
- package/dist/esm/components/loading/loading.style.js +4 -3
- package/dist/esm/components/loadingIndicator/loadingIndicator.d.ts +4 -2
- package/dist/esm/components/loadingIndicator/loadingIndicator.js +2 -2
- package/dist/esm/components/loadingIndicator/loadingIndicator.style.d.ts +1 -1
- package/dist/esm/components/loadingIndicator/loadingIndicator.style.js +1 -2
- package/dist/esm/components/loadingMask/loadingMask.js +1 -1
- package/dist/esm/components/menu/menu.js +2 -2
- package/dist/esm/components/menuItem/menuItem.d.ts +2 -2
- package/dist/esm/components/optionsBase/optionsBase.js +1 -0
- package/dist/esm/components/overlayBase/overlayBase.js +10 -7
- package/dist/esm/components/overlayBase/overlayBase.style.js +0 -3
- package/dist/esm/components/palette/palette.style.d.ts +1 -1
- package/dist/esm/components/pickerDialog/pickerDialog.js +21 -8
- package/dist/esm/components/pickerDialog/pickerDialog.style.d.ts +1 -1
- package/dist/esm/components/popper/popper.d.ts +5 -2
- package/dist/esm/components/popper/popper.js +31 -12
- package/dist/esm/components/popper/popper.style.js +1 -2
- package/dist/esm/components/progress/progress.js +1 -1
- package/dist/esm/components/resizable/resizable.style.d.ts +1 -1
- package/dist/esm/components/segmented/segmented.style.d.ts +1 -1
- package/dist/esm/components/select/select.d.ts +2 -2
- package/dist/esm/components/select/select.js +46 -22
- package/dist/esm/components/selectedList/selectedItem.d.ts +1 -1
- package/dist/esm/components/selectedList/selectedItem.js +2 -2
- package/dist/esm/components/selectionContext/selectionContext.d.ts +0 -1
- package/dist/esm/components/selectionContext/selectionHook.d.ts +1 -1
- package/dist/esm/components/selectionContext/selectionHook.js +1 -1
- package/dist/esm/components/serialInput/index.d.ts +1 -0
- package/dist/esm/components/serialInput/index.js +1 -0
- package/dist/esm/components/serialInput/serialInput.d.ts +21 -0
- package/dist/esm/components/serialInput/serialInput.js +55 -0
- package/dist/esm/components/serialInput/serialInput.style.d.ts +6 -0
- package/dist/esm/components/serialInput/serialInput.style.js +10 -0
- package/dist/esm/components/skeleton/skeleton.d.ts +2 -2
- package/dist/esm/components/slidableActions/slidableActionsAction.js +16 -7
- package/dist/esm/components/slider/slider.d.ts +2 -2
- package/dist/esm/components/slider/slider.js +16 -22
- package/dist/esm/components/snackbarBase/snackbarBase.style.d.ts +1 -1
- package/dist/esm/components/snackbarBase/snackbarBase.style.js +1 -3
- package/dist/esm/components/sortableItem/sortableItem.js +10 -11
- package/dist/esm/components/switch/switch.d.ts +2 -2
- package/dist/esm/components/table/table.d.ts +3 -3
- package/dist/esm/components/table/table.style.d.ts +1 -1
- package/dist/esm/components/table/tableSticky.d.ts +5 -5
- package/dist/esm/components/table/tableSticky.js +3 -3
- package/dist/esm/components/tabs/tabs.style.d.ts +3 -3
- package/dist/esm/components/tag/tag.d.ts +1 -1
- package/dist/esm/components/tag/tag.js +2 -1
- package/dist/esm/components/tag/tag.style.d.ts +1 -1
- package/dist/esm/components/textarea/textarea.d.ts +2 -2
- package/dist/esm/components/textarea/textarea.js +6 -2
- package/dist/esm/components/toggleButton/toggleButton.js +2 -2
- package/dist/esm/components/transfer/transfer.style.d.ts +2 -2
- package/dist/esm/components/transitionBase/collapse.js +38 -16
- package/dist/esm/components/transitionBase/transitionBase.js +1 -1
- package/dist/esm/components/transitionBase/transitionBase.style.js +1 -1
- package/dist/esm/components/transportStyle/transportStyle.d.ts +1 -1
- package/dist/esm/components/transportStyle/transportStyle.js +2 -2
- package/dist/esm/components/tree/tree.d.ts +17 -4
- package/dist/esm/components/tree/tree.js +17 -16
- package/dist/esm/components/tree/tree.style.d.ts +9 -3
- package/dist/esm/components/tree/tree.style.js +135 -4
- package/dist/esm/components/tree/treeDnd.d.ts +25 -0
- package/dist/esm/components/tree/treeDnd.js +19 -0
- package/dist/esm/components/tree/treeNode.d.ts +2 -2
- package/dist/esm/components/tree/treeNode.js +96 -18
- package/dist/esm/components/treeSelect/treeSelect.d.ts +2 -2
- package/dist/esm/components/treeSelect/treeSelect.js +4 -4
- package/dist/esm/components/upload/upload.d.ts +2 -2
- package/dist/esm/components/upload/upload.js +6 -3
- package/dist/esm/components/upload/upload.style.d.ts +2 -2
- package/dist/esm/extensions/curd/curd.d.ts +20 -0
- package/dist/esm/extensions/curd/curd.js +20 -0
- package/dist/esm/extensions/documentViewer/pdfViewer.d.ts +2 -2
- package/dist/esm/extensions/reactiveForm/index.d.ts +2 -0
- package/dist/esm/extensions/reactiveForm/index.js +2 -0
- package/dist/esm/extensions/reactiveForm/reactiveForm.d.ts +19 -0
- package/dist/esm/extensions/reactiveForm/reactiveForm.js +25 -0
- package/dist/esm/extensions/reactiveForm/reactiveFormItem.d.ts +7 -0
- package/dist/esm/extensions/reactiveForm/reactiveFormItem.js +36 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/types.d.ts +2 -2
- package/dist/esm/utils/curd.js +5 -2
- package/dist/esm/utils/dataGrid.d.ts +3 -2
- package/dist/esm/utils/hooks.js +3 -3
- package/dist/esm/utils/index.d.ts +2 -2
- package/dist/esm/utils/index.js +2 -2
- package/dist/esm/utils/utils.d.ts +17 -9
- package/dist/esm/utils/utils.js +58 -16
- package/extensions/reactiveForm.cjs +5 -0
- package/extensions/reactiveForm.d.ts +1 -0
- package/extensions/reactiveForm.js +1 -0
- package/package.json +2 -1
- package/dist/cjs/components/curd/curdFilter.d.ts +0 -16
- package/dist/esm/components/curd/curdFilter.d.ts +0 -16
- package/documentation/bootstrap.mjs +0 -8
- package/documentation/vite.config.mjs +0 -18
|
@@ -7,6 +7,7 @@ const tag_style_1 = require("./tag.style");
|
|
|
7
7
|
const utils_1 = require("../../utils");
|
|
8
8
|
const icon_1 = require("../icon");
|
|
9
9
|
const faXmark_1 = require("@fortawesome/free-solid-svg-icons/faXmark");
|
|
10
|
+
const button_1 = require("../button");
|
|
10
11
|
exports.Tag = (0, react_1.memo)(({ variant = 'outlined', color = 'text.secondary', shape = 'square', size = 'small', prefix, suffix, clickable, closable, onClose, ...props }) => {
|
|
11
12
|
const closeHandler = (e) => {
|
|
12
13
|
e.preventDefault();
|
|
@@ -16,5 +17,5 @@ exports.Tag = (0, react_1.memo)(({ variant = 'outlined', color = 'text.secondary
|
|
|
16
17
|
return ((0, jsx_runtime_1.jsxs)("div", { ...props, css: (0, tag_style_1.useStyle)({ color: color || 'text.secondary' }), className: (0, utils_1.clsx)(tag_style_1.classes.root, props.className), "data-variant": variant, "data-size": size, "data-shape": shape, "data-clickable": clickable, children: [!!prefix &&
|
|
17
18
|
(0, jsx_runtime_1.jsx)("div", { className: tag_style_1.classes.prefix, children: prefix }), (0, jsx_runtime_1.jsx)("div", { className: tag_style_1.classes.content, children: props.children }), !!suffix &&
|
|
18
19
|
(0, jsx_runtime_1.jsx)("div", { className: tag_style_1.classes.suffix, children: suffix }), closable &&
|
|
19
|
-
(0, jsx_runtime_1.jsx)("
|
|
20
|
+
(0, jsx_runtime_1.jsx)(button_1.Button, { variant: "plain", className: tag_style_1.classes.close, onClick: closeHandler, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faXmark_1.faXmark }) })] }));
|
|
20
21
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Ref,
|
|
1
|
+
import { Ref, ComponentProps } from 'react';
|
|
2
2
|
import { InputBaseProps } from '../inputBase';
|
|
3
3
|
export interface TextareaProps extends Omit<InputBaseProps<'textarea'>, 'children' | 'prefix' | 'suffix'> {
|
|
4
|
-
textareaProps?:
|
|
4
|
+
textareaProps?: ComponentProps<'textarea'>;
|
|
5
5
|
textareaRef?: Ref<HTMLTextAreaElement>;
|
|
6
6
|
rows?: number;
|
|
7
7
|
fullWidth?: boolean;
|
|
@@ -7,5 +7,9 @@ const inputBase_1 = require("../inputBase");
|
|
|
7
7
|
const textarea_style_1 = require("./textarea.style");
|
|
8
8
|
const utils_1 = require("../../utils");
|
|
9
9
|
exports.Textarea = (0, react_1.memo)(({ textareaProps, textareaRef, rows, fullWidth = false, ...props }) => {
|
|
10
|
-
return ((0, jsx_runtime_1.jsx)(inputBase_1.InputBase, { ...props, css: textarea_style_1.style, className: (0, utils_1.clsx)(textarea_style_1.classes.root, props.className), "data-full-width": fullWidth, children:
|
|
10
|
+
return ((0, jsx_runtime_1.jsx)(inputBase_1.InputBase, { ...props, css: textarea_style_1.style, className: (0, utils_1.clsx)(textarea_style_1.classes.root, props.className), "data-full-width": fullWidth, children: inputBaseProps => (0, jsx_runtime_1.jsx)("textarea", { ...(0, utils_1.mergeComponentProps)(inputBaseProps, {
|
|
11
|
+
rows,
|
|
12
|
+
ref: textareaRef,
|
|
13
|
+
className: textarea_style_1.classes.textarea
|
|
14
|
+
}) }) }));
|
|
11
15
|
});
|
|
@@ -10,7 +10,7 @@ const toggleButton_style_1 = require("./toggleButton.style");
|
|
|
10
10
|
const button_1 = require("../button");
|
|
11
11
|
const selectionContext_1 = require("../selectionContext");
|
|
12
12
|
exports.ToggleButton = (({ variant = 'filled', size, color = 'primary', disabled, readOnly, items, primaryKey = 'value', multiple, defaultValue, value, onChange, ...props }) => {
|
|
13
|
-
const [innerValue, toggleSelected] = (0, selectionContext_1.
|
|
13
|
+
const [innerValue, toggleSelected] = (0, selectionContext_1.useFlatSelection)({
|
|
14
14
|
disabled: disabled ?? readOnly,
|
|
15
15
|
multiple,
|
|
16
16
|
defaultValue,
|
|
@@ -12,22 +12,44 @@ const Collapse = ({ transitionType = 'sweeping', ...props }) => {
|
|
|
12
12
|
exports.Collapse = Collapse;
|
|
13
13
|
const Sweeping = ({ ref, in: _in = false, appear = true, orientation = 'vertical', collapsedSize = 0, ...props }) => {
|
|
14
14
|
const innerRef = (0, react_1.useRef)(null);
|
|
15
|
-
const
|
|
16
|
-
return typeof
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
const getCollapsedSize = () => {
|
|
16
|
+
return typeof collapsedSize === 'function' ? collapsedSize() : collapsedSize;
|
|
17
|
+
};
|
|
18
|
+
const [size, setSize] = (0, react_1.useState)(() => {
|
|
19
|
+
if (_in && !appear) {
|
|
20
|
+
return 'auto';
|
|
21
|
+
}
|
|
22
|
+
return getCollapsedSize();
|
|
23
|
+
});
|
|
24
|
+
const [isEntered, setIsEntered] = (0, react_1.useState)(_in && !appear);
|
|
25
|
+
const expand = () => {
|
|
26
|
+
requestAnimationFrame(() => {
|
|
27
|
+
innerRef.current && setSize(innerRef.current[orientation === 'vertical' ? 'scrollHeight' : 'scrollWidth']);
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
const collapse = () => {
|
|
31
|
+
setIsEntered(false);
|
|
32
|
+
requestAnimationFrame(() => {
|
|
33
|
+
setSize(getCollapsedSize());
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
const initialized = (0, react_1.useRef)(false);
|
|
22
37
|
(0, react_1.useEffect)(() => {
|
|
23
|
-
if (
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
38
|
+
if (!initialized.current) {
|
|
39
|
+
// 首次渲染
|
|
40
|
+
initialized.current = true;
|
|
41
|
+
if (!appear) {
|
|
42
|
+
// 若appear为false,则跳过首次动画
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
27
45
|
}
|
|
46
|
+
_in
|
|
47
|
+
? expand()
|
|
48
|
+
: collapse();
|
|
28
49
|
}, [_in]);
|
|
29
|
-
return ((0, jsx_runtime_1.jsx)(transitionBase_1.TransitionBase, { ...props, in: _in, ref: (0, utils_1.cloneRef)(ref, innerRef), style: {
|
|
30
|
-
[orientation === 'vertical' ? 'height' : 'width']: size
|
|
50
|
+
return ((0, jsx_runtime_1.jsx)(transitionBase_1.TransitionBase, { ...props, appear: appear, orientation: orientation, in: _in, ref: (0, utils_1.cloneRef)(ref, innerRef), style: {
|
|
51
|
+
[orientation === 'vertical' ? 'height' : 'width']: isEntered ? 'auto' : size,
|
|
52
|
+
...!isEntered ? { overflow: 'hidden' } : {},
|
|
31
53
|
...props.style
|
|
32
|
-
} }));
|
|
54
|
+
}, onEntered: () => setIsEntered(true) }));
|
|
33
55
|
};
|
|
@@ -25,5 +25,5 @@ exports.TransitionBase = (({ ref, component: Component = 'div', orientation = 'v
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
const innerRef = (0, react_1.useRef)(null);
|
|
28
|
-
return ((0, jsx_runtime_1.jsx)(react_transition_group_1.CSSTransition, { ...props, nodeRef: innerRef, className: (0, utils_1.clsx)(transitionBase_style_1.classes.root, props.className), timeout: timeout, appear: appear, children: (0, jsx_runtime_1.jsx)(Component, { ref: (0, utils_1.cloneRef)(ref, innerRef),
|
|
28
|
+
return ((0, jsx_runtime_1.jsx)(react_transition_group_1.CSSTransition, { ...props, css: cssArr, nodeRef: innerRef, className: (0, utils_1.clsx)(transitionBase_style_1.classes.root, props.className), timeout: timeout, appear: appear, children: (0, jsx_runtime_1.jsx)(Component, { ref: (0, utils_1.cloneRef)(ref, innerRef), children: props.children }) }));
|
|
29
29
|
});
|
|
@@ -48,7 +48,7 @@ exports.fadeStyle = (0, utils_1.defineCss)(({ easing }) => (0, react_1.css) `
|
|
|
48
48
|
}
|
|
49
49
|
`);
|
|
50
50
|
exports.sweepingStyle = (0, utils_1.defineCss)(({ easing }) => (0, react_1.css) `
|
|
51
|
-
overflow: hidden;
|
|
51
|
+
//overflow: hidden;
|
|
52
52
|
transition-property: opacity, width, height;
|
|
53
53
|
|
|
54
54
|
&.appear-active,
|
|
@@ -31,4 +31,4 @@ export type TransportStyleOwnProps = {
|
|
|
31
31
|
overflow?: CSSProperties['overflow'];
|
|
32
32
|
};
|
|
33
33
|
export type TransportStyleProps<C extends ElementType = 'div'> = OverridableProps<TransportStyleOwnProps, C>;
|
|
34
|
-
export declare const TransportStyle: OverridableComponent<
|
|
34
|
+
export declare const TransportStyle: OverridableComponent<TransportStyleOwnProps>;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.TransportStyle = void 0;
|
|
4
4
|
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
5
5
|
const utils_1 = require("../../utils");
|
|
6
|
-
|
|
6
|
+
exports.TransportStyle = (({ component: Component = 'div', alignItems, justifyContent, alignSelf, justifySelf, flex, width, minWidth, maxWidth, height, minHeight, maxHeight, lineHeight, paddingTop, paddingRight, paddingBottom, paddingLeft, padding, marginTop, marginRight, marginBottom, marginLeft, margin, overflowX, overflowY, overflow, ...props }) => {
|
|
7
7
|
return ((0, jsx_runtime_1.jsx)(Component, { ...props, style: (0, utils_1.filterProperties)({
|
|
8
8
|
alignItems, justifyContent, alignSelf, justifySelf, flex,
|
|
9
9
|
width, minWidth, maxWidth, height, minHeight, maxHeight, lineHeight,
|
|
@@ -12,5 +12,4 @@ const TransportStyle = ({ component: Component = 'div', alignItems, justifyConte
|
|
|
12
12
|
overflow, overflowX, overflowY,
|
|
13
13
|
...props.style
|
|
14
14
|
}) }));
|
|
15
|
-
};
|
|
16
|
-
exports.TransportStyle = TransportStyle;
|
|
15
|
+
});
|
|
@@ -6,13 +6,21 @@ import { TreeNode, TreeNodeProps } from './treeNode';
|
|
|
6
6
|
export interface NodeType<V extends Id = Id> extends Partial<Omit<TreeNodeProps, 'children'>>, Omit<OptionType<V>, 'children'> {
|
|
7
7
|
children?: NodeType<V>[];
|
|
8
8
|
}
|
|
9
|
+
export type SortPlacement = 'before' | 'after';
|
|
10
|
+
export type SortInfo<V extends Id = Id> = {
|
|
11
|
+
source: V;
|
|
12
|
+
destination: V;
|
|
13
|
+
placement: SortPlacement | 'child';
|
|
14
|
+
};
|
|
9
15
|
export interface TreeBaseProps<N extends NodeType<V>, V extends Id = Id> extends Omit<SelectionContextBaseProps<N, V>, 'options'>, Omit<DivProps, 'defaultValue' | 'onChange' | 'onToggle'> {
|
|
10
16
|
nodes?: N[];
|
|
17
|
+
/** 默认为`label` */
|
|
11
18
|
labelKey?: keyof N;
|
|
12
19
|
searchTokenKey?: keyof N;
|
|
13
20
|
showLine?: boolean;
|
|
14
21
|
indent?: number;
|
|
15
22
|
renderExpandIcon?(nodeValue: V, isExpand: boolean, expanded: V[]): ReactNode;
|
|
23
|
+
/** 是否显示`checkbox`选择框,`multiple`为`true`时,默认为`true`,否则默认为`false` */
|
|
16
24
|
showCheckbox?: boolean;
|
|
17
25
|
readOnly?: boolean;
|
|
18
26
|
/** 为true时,点击标签也会展开节点,默认为`false`, 仅点击展开按钮才能展开节点 */
|
|
@@ -20,6 +28,11 @@ export interface TreeBaseProps<N extends NodeType<V>, V extends Id = Id> extends
|
|
|
20
28
|
defaultExpanded?: V[];
|
|
21
29
|
expanded?: V[];
|
|
22
30
|
onExpandedChange?(expanded: V[], nodeValue: V, isExpand: boolean): void;
|
|
31
|
+
/** 是否可以拖拽排序,默认为`false` */
|
|
32
|
+
sortable?: boolean;
|
|
33
|
+
/** 是否显示拖拽把手,默认为`true` */
|
|
34
|
+
showDragHandle?: boolean;
|
|
35
|
+
onSort?(info: SortInfo<V>): void;
|
|
23
36
|
searchable?: boolean;
|
|
24
37
|
searchInputProps?: InputProps;
|
|
25
38
|
defaultSearchValue?: string;
|
|
@@ -28,11 +41,11 @@ export interface TreeBaseProps<N extends NodeType<V>, V extends Id = Id> extends
|
|
|
28
41
|
}
|
|
29
42
|
export type TreeProps<N extends NodeType<V>, V extends Id = Id> = TreeBaseProps<N, V> & SelectableProps<V>;
|
|
30
43
|
type TreeContext<V extends Id = Id> = {
|
|
31
|
-
expandedSet
|
|
32
|
-
toggleExpanded
|
|
33
|
-
indent
|
|
44
|
+
expandedSet: Set<V>;
|
|
45
|
+
toggleExpanded(value: V): void;
|
|
46
|
+
indent: number;
|
|
34
47
|
renderExpandIcon?: TreeBaseProps<any, V>['renderExpandIcon'];
|
|
35
|
-
showCheckbox
|
|
48
|
+
showCheckbox: boolean;
|
|
36
49
|
readOnly?: boolean;
|
|
37
50
|
disabled?: boolean;
|
|
38
51
|
clickLabelToExpand?: boolean;
|
|
@@ -10,21 +10,22 @@ const input_1 = require("../input");
|
|
|
10
10
|
const tree_style_1 = require("./tree.style");
|
|
11
11
|
const utils_1 = require("../../utils");
|
|
12
12
|
const highlight_1 = require("../highlight");
|
|
13
|
-
const placeholder_1 = require("../placeholder");
|
|
14
13
|
const treeNode_1 = require("./treeNode");
|
|
15
14
|
const icon_1 = require("../icon");
|
|
16
15
|
const faMagnifyingGlass_1 = require("@fortawesome/free-solid-svg-icons/faMagnifyingGlass");
|
|
16
|
+
const treeDnd_1 = require("./treeDnd");
|
|
17
17
|
const TreeContext = (0, react_2.createContext)({});
|
|
18
18
|
function useTreeContext() {
|
|
19
19
|
return (0, react_2.useContext)(TreeContext);
|
|
20
20
|
}
|
|
21
|
-
exports.Tree = (0, react_2.memo)(({ nodes, labelKey = 'label', searchTokenKey, showLine = true, indent = 24, renderExpandIcon, multiple, showCheckbox = !!multiple, readOnly, clickLabelToExpand, defaultExpanded, expanded, onExpandedChange, searchable, searchInputProps, defaultSearchValue, searchValue, onSearchChange,
|
|
21
|
+
exports.Tree = (0, react_2.memo)(({ nodes, labelKey = 'label', searchTokenKey, showLine = true, indent = 24, renderExpandIcon, multiple, showCheckbox = !!multiple, readOnly, clickLabelToExpand, defaultExpanded, expanded, onExpandedChange, sortable = false, showDragHandle = true, onSort, searchable, searchInputProps, defaultSearchValue, searchValue, onSearchChange,
|
|
22
22
|
// 从SelectionContext继承来的属性
|
|
23
|
-
primaryKey = '
|
|
23
|
+
primaryKey = 'id', childrenKey = 'children', relation = 'dependent', integration = 'shallowest', clearable, disabled, defaultValue, value, onChange, onToggle, ...props }) => {
|
|
24
24
|
const selectionContextProps = {
|
|
25
25
|
options: nodes, primaryKey, childrenKey, relation, integration,
|
|
26
26
|
multiple, defaultValue, value, onChange, disabled
|
|
27
27
|
};
|
|
28
|
+
const containerRef = (0, react_2.useRef)(null);
|
|
28
29
|
/**
|
|
29
30
|
* --------------------------------------------------------------
|
|
30
31
|
* 统一处理nodes与children
|
|
@@ -56,20 +57,22 @@ primaryKey = 'value', childrenKey = 'children', relation = 'dependent', integrat
|
|
|
56
57
|
defaultExpanded, expanded, onExpandedChange,
|
|
57
58
|
defaultSearchValue, searchValue, onSearchChange
|
|
58
59
|
});
|
|
59
|
-
return ((0, jsx_runtime_1.jsxs)("div", { ...props, css: tree_style_1.style, className: (0, utils_1.clsx)(tree_style_1.classes.root, props.className), "data-show-line": showLine, children: [searchable &&
|
|
60
|
+
return ((0, jsx_runtime_1.jsxs)("div", { ...props, ref: (0, utils_1.cloneRef)(containerRef, props.ref), css: tree_style_1.style, className: (0, utils_1.clsx)(tree_style_1.classes.root, tree_style_1.classes.levelBlock, props.className), "data-show-line": showLine, "data-sortable": sortable, children: [searchable &&
|
|
60
61
|
(0, jsx_runtime_1.jsx)(input_1.Input, { className: tree_style_1.classes.search, prefix: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faMagnifyingGlass_1.faMagnifyingGlass }), placeholder: "\u641C\u7D22", value: innerSearchValue.current, ...searchInputProps, onChange: e => {
|
|
61
62
|
searchInputProps?.onChange?.(e);
|
|
62
63
|
setInnerSearchValue(e.target.value);
|
|
63
64
|
} }), (0, jsx_runtime_1.jsx)(selectionContext_1.SelectionContext, { ...selectionContextProps, children: (0, jsx_runtime_1.jsx)(TreeContext, { value: (0, react_2.useMemo)(() => ({
|
|
64
|
-
expandedSet, toggleExpanded, indent, renderExpandIcon,
|
|
65
|
-
showCheckbox, readOnly, disabled
|
|
65
|
+
expandedSet, toggleExpanded, indent, renderExpandIcon, clickLabelToExpand,
|
|
66
|
+
showCheckbox, readOnly, disabled
|
|
66
67
|
}), [
|
|
67
|
-
expandedSet, indent, renderExpandIcon,
|
|
68
|
-
showCheckbox, readOnly, disabled
|
|
69
|
-
]), children: (0, react_2.useMemo)(() => {
|
|
70
|
-
|
|
68
|
+
expandedSet, indent, renderExpandIcon, clickLabelToExpand,
|
|
69
|
+
showCheckbox, readOnly, disabled
|
|
70
|
+
]), children: (0, jsx_runtime_1.jsx)(treeDnd_1.TreeDnd, { sortable: sortable, showDragHandle: showDragHandle, onSort: onSort, containerRef: containerRef, children: (0, react_2.useMemo)(() => {
|
|
71
|
+
if (!filteredTreeData?.length) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
71
74
|
const fn = (arr) => {
|
|
72
|
-
return arr?.map(({ _parentId, ...nodeProps }) => {
|
|
75
|
+
return arr?.map(({ _parentId, ...nodeProps }, i) => {
|
|
73
76
|
const currentValue = nodeProps[primaryKey];
|
|
74
77
|
const label = nodeProps[labelKey];
|
|
75
78
|
return ((0, react_1.createElement)(treeNode_1.TreeNode, { ...nodeProps, key: currentValue, value: currentValue, label: typeof label === 'string' && deferredSearchValue
|
|
@@ -78,8 +81,6 @@ primaryKey = 'value', childrenKey = 'children', relation = 'dependent', integrat
|
|
|
78
81
|
});
|
|
79
82
|
};
|
|
80
83
|
return fn(filteredTreeData);
|
|
81
|
-
}
|
|
82
|
-
return (0, jsx_runtime_1.jsx)(placeholder_1.Placeholder, {});
|
|
83
|
-
}, [filteredTreeData]) }) })] }));
|
|
84
|
+
}, [filteredTreeData]) }) }) })] }));
|
|
84
85
|
});
|
|
85
86
|
exports.Tree.Node = treeNode_1.TreeNode;
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
export declare const classes: {
|
|
2
2
|
label: string;
|
|
3
3
|
search: string;
|
|
4
|
-
icon: string;
|
|
5
4
|
prefix: string;
|
|
6
|
-
|
|
7
|
-
suffix: string;
|
|
5
|
+
icon: string;
|
|
8
6
|
expand: string;
|
|
9
7
|
indent: string;
|
|
10
8
|
node: string;
|
|
9
|
+
checkbox: string;
|
|
10
|
+
suffix: string;
|
|
11
|
+
contentWrap: string;
|
|
12
|
+
levelBlock: string;
|
|
13
|
+
dragHandle: string;
|
|
14
|
+
dragMask: string;
|
|
15
|
+
dragMaskPrev: string;
|
|
16
|
+
dragMaskNext: string;
|
|
11
17
|
} & {
|
|
12
18
|
root: string;
|
|
13
19
|
};
|
|
@@ -6,15 +6,21 @@ const react_1 = require("@emotion/react");
|
|
|
6
6
|
const utils_1 = require("../../utils");
|
|
7
7
|
const color_1 = tslib_1.__importDefault(require("color"));
|
|
8
8
|
exports.classes = (0, utils_1.defineInnerClasses)('tree', [
|
|
9
|
+
'levelBlock',
|
|
9
10
|
'search',
|
|
10
11
|
'node',
|
|
12
|
+
'contentWrap',
|
|
11
13
|
'indent',
|
|
12
14
|
'expand',
|
|
13
15
|
'checkbox',
|
|
16
|
+
'dragHandle',
|
|
14
17
|
'icon',
|
|
15
18
|
'label',
|
|
16
19
|
'prefix',
|
|
17
|
-
'suffix'
|
|
20
|
+
'suffix',
|
|
21
|
+
'dragMask',
|
|
22
|
+
'dragMaskPrev',
|
|
23
|
+
'dragMaskNext'
|
|
18
24
|
]);
|
|
19
25
|
exports.style = (0, utils_1.defineCss)(({ spacing, mode, borderRadius, text, easing, gray, divider, colors }) => {
|
|
20
26
|
const c = (0, color_1.default)(colors.primary.main);
|
|
@@ -32,10 +38,9 @@ exports.style = (0, utils_1.defineCss)(({ spacing, mode, borderRadius, text, eas
|
|
|
32
38
|
display: flex;
|
|
33
39
|
align-items: center;
|
|
34
40
|
padding-right: ${spacing[2]}px;
|
|
35
|
-
margin-bottom: 1px;
|
|
36
|
-
cursor: pointer;
|
|
37
41
|
border-radius: ${borderRadius}px;
|
|
38
42
|
transition: background-color .25s ${easing.easeOut};
|
|
43
|
+
touch-action: none;
|
|
39
44
|
-webkit-tap-highlight-color: transparent;
|
|
40
45
|
|
|
41
46
|
&[data-disabled=true] {
|
|
@@ -43,6 +48,10 @@ exports.style = (0, utils_1.defineCss)(({ spacing, mode, borderRadius, text, eas
|
|
|
43
48
|
cursor: not-allowed;
|
|
44
49
|
}
|
|
45
50
|
|
|
51
|
+
&:not([data-read-only=true]) {
|
|
52
|
+
cursor: pointer;
|
|
53
|
+
}
|
|
54
|
+
|
|
46
55
|
&[data-selected=true] {
|
|
47
56
|
background-color: ${selectedBg};
|
|
48
57
|
|
|
@@ -55,7 +64,7 @@ exports.style = (0, utils_1.defineCss)(({ spacing, mode, borderRadius, text, eas
|
|
|
55
64
|
background-color: ${selectedActive};
|
|
56
65
|
}
|
|
57
66
|
}
|
|
58
|
-
|
|
67
|
+
|
|
59
68
|
&:not([data-disabled=true]):not([data-selected=true]):hover {
|
|
60
69
|
background-color: ${hover};
|
|
61
70
|
}
|
|
@@ -81,6 +90,21 @@ exports.style = (0, utils_1.defineCss)(({ spacing, mode, borderRadius, text, eas
|
|
|
81
90
|
}
|
|
82
91
|
}
|
|
83
92
|
|
|
93
|
+
.${exports.classes.contentWrap} {
|
|
94
|
+
flex: 1;
|
|
95
|
+
display: flex;
|
|
96
|
+
align-items: center;
|
|
97
|
+
position: relative;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.${exports.classes.dragHandle} {
|
|
101
|
+
width: 20px;
|
|
102
|
+
margin-right: ${spacing[3]}px;
|
|
103
|
+
text-align: center;
|
|
104
|
+
color: ${gray(.12)};
|
|
105
|
+
cursor: grab;
|
|
106
|
+
}
|
|
107
|
+
|
|
84
108
|
.${exports.classes.checkbox} {
|
|
85
109
|
margin-right: ${spacing[3]}px;
|
|
86
110
|
}
|
|
@@ -88,6 +112,7 @@ exports.style = (0, utils_1.defineCss)(({ spacing, mode, borderRadius, text, eas
|
|
|
88
112
|
.${exports.classes.label} {
|
|
89
113
|
flex: 1;
|
|
90
114
|
padding: 5px 0;
|
|
115
|
+
|
|
91
116
|
}
|
|
92
117
|
|
|
93
118
|
.${exports.classes.prefix} {
|
|
@@ -99,6 +124,88 @@ exports.style = (0, utils_1.defineCss)(({ spacing, mode, borderRadius, text, eas
|
|
|
99
124
|
color: ${text.disabled};
|
|
100
125
|
margin-left: ${spacing[2]}px;
|
|
101
126
|
}
|
|
127
|
+
|
|
128
|
+
.${exports.classes.dragMask} {
|
|
129
|
+
position: absolute;
|
|
130
|
+
inset: 0;
|
|
131
|
+
|
|
132
|
+
> div {
|
|
133
|
+
width: 100%;
|
|
134
|
+
height: 50%;
|
|
135
|
+
position: absolute;
|
|
136
|
+
left: 0;
|
|
137
|
+
|
|
138
|
+
&:before, &:after {
|
|
139
|
+
content: '';
|
|
140
|
+
display: none;
|
|
141
|
+
position: absolute;
|
|
142
|
+
pointer-events: none;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
&:before {
|
|
146
|
+
width: 8px;
|
|
147
|
+
height: 8px;
|
|
148
|
+
border: 2px solid ${colors.primary.main};
|
|
149
|
+
border-radius: 50%;
|
|
150
|
+
left: 0;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
&:after {
|
|
154
|
+
width: 100%;
|
|
155
|
+
height: 2px;
|
|
156
|
+
background: ${colors.primary.main};
|
|
157
|
+
left: 8px;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
&.${exports.classes.dragMaskPrev} {
|
|
161
|
+
top: 0;
|
|
162
|
+
|
|
163
|
+
&:before {
|
|
164
|
+
top: -4px;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
&:after {
|
|
168
|
+
top: -1px;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
&.${exports.classes.dragMaskNext} {
|
|
173
|
+
bottom: 0;
|
|
174
|
+
|
|
175
|
+
&:before {
|
|
176
|
+
bottom: -4px;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
&:after {
|
|
180
|
+
bottom: -1px;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
&[data-offset=true] {
|
|
185
|
+
&:before {
|
|
186
|
+
width: 10px;
|
|
187
|
+
border-top: 0;
|
|
188
|
+
border-right: 0;
|
|
189
|
+
border-bottom: 2px dashed ${colors.primary.main};
|
|
190
|
+
border-left: 2px dashed ${colors.primary.main};
|
|
191
|
+
border-radius: 0;
|
|
192
|
+
left: 24px;
|
|
193
|
+
bottom: -1px;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
&:after {
|
|
197
|
+
width: calc(100% - 36px);
|
|
198
|
+
left: 36px;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
&[data-overing=true] {
|
|
203
|
+
&:before, &:after {
|
|
204
|
+
display: block;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
102
209
|
}
|
|
103
210
|
|
|
104
211
|
&[data-show-line=true] {
|
|
@@ -110,5 +217,29 @@ exports.style = (0, utils_1.defineCss)(({ spacing, mode, borderRadius, text, eas
|
|
|
110
217
|
background-color: ${divider};
|
|
111
218
|
}
|
|
112
219
|
}
|
|
220
|
+
|
|
221
|
+
&, .${exports.classes.levelBlock} {
|
|
222
|
+
&[data-active=true] {
|
|
223
|
+
outline: 1px dashed ${colors.primary.main};
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
&[data-sortable=true] {
|
|
228
|
+
.${exports.classes.node} {
|
|
229
|
+
&:not(:has(.${exports.classes.dragHandle})) {
|
|
230
|
+
cursor: grab;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
&[data-dragging=true] {
|
|
234
|
+
&, &:active {
|
|
235
|
+
background-color: ${selectedBg};
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
&:has(+ .${exports.classes.levelBlock}[data-active=true]) {
|
|
240
|
+
outline: 1px solid ${colors.primary.main};
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
113
244
|
`;
|
|
114
245
|
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Dispatch, ReactNode, RefObject, SetStateAction } from 'react';
|
|
2
|
+
import { Id } from '../../types';
|
|
3
|
+
import { SortPlacement, TreeBaseProps } from './tree';
|
|
4
|
+
type TreeDndContextItem<T> = [T | undefined, Dispatch<SetStateAction<T | undefined>>];
|
|
5
|
+
type ITreeDndContext = {
|
|
6
|
+
sortable: boolean;
|
|
7
|
+
showDragHandle: boolean;
|
|
8
|
+
containerRef: RefObject<HTMLDivElement | null>;
|
|
9
|
+
isOffsetSatisfied: [boolean, Dispatch<SetStateAction<boolean>>];
|
|
10
|
+
dragging: TreeDndContextItem<Id>;
|
|
11
|
+
overing: TreeDndContextItem<Id>;
|
|
12
|
+
placement: [RefObject<SortPlacement | undefined>, Dispatch<SetStateAction<SortPlacement | undefined>>];
|
|
13
|
+
onSort: TreeBaseProps<any>['onSort'];
|
|
14
|
+
overingTimer: RefObject<any>;
|
|
15
|
+
};
|
|
16
|
+
export declare const TreeDndContext: import("react").Context<ITreeDndContext>;
|
|
17
|
+
export declare function useTreeDndContext(): ITreeDndContext;
|
|
18
|
+
export declare const TreeDnd: import("react").MemoExoticComponent<({ sortable, showDragHandle, onSort, containerRef, children }: {
|
|
19
|
+
sortable: boolean;
|
|
20
|
+
showDragHandle: boolean;
|
|
21
|
+
onSort: TreeBaseProps<any>["onSort"];
|
|
22
|
+
containerRef: RefObject<HTMLDivElement | null>;
|
|
23
|
+
children: ReactNode;
|
|
24
|
+
}) => import("@emotion/react/jsx-runtime").JSX.Element>;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TreeDnd = exports.TreeDndContext = void 0;
|
|
4
|
+
exports.useTreeDndContext = useTreeDndContext;
|
|
5
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const utils_1 = require("../../utils");
|
|
8
|
+
exports.TreeDndContext = (0, react_1.createContext)({});
|
|
9
|
+
function useTreeDndContext() {
|
|
10
|
+
return (0, react_1.useContext)(exports.TreeDndContext);
|
|
11
|
+
}
|
|
12
|
+
exports.TreeDnd = (0, react_1.memo)(({ sortable, showDragHandle, onSort, containerRef, children }) => {
|
|
13
|
+
const isOffsetSatisfied = (0, react_1.useState)(false);
|
|
14
|
+
const dragging = (0, react_1.useState)(void 0);
|
|
15
|
+
const overing = (0, react_1.useState)(void 0);
|
|
16
|
+
const placement = (0, utils_1.useSyncState)(void 0);
|
|
17
|
+
const overingTimer = (0, react_1.useRef)(void 0);
|
|
18
|
+
return ((0, jsx_runtime_1.jsx)(exports.TreeDndContext, { value: {
|
|
19
|
+
sortable, showDragHandle, onSort, containerRef,
|
|
20
|
+
isOffsetSatisfied, dragging, overing, placement,
|
|
21
|
+
overingTimer
|
|
22
|
+
}, children: children }));
|
|
23
|
+
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
import { DivProps, Id } from '../../types';
|
|
3
3
|
export interface TreeNodeProps extends Omit<DivProps, 'prefix'> {
|
|
4
4
|
value: Id;
|
|
@@ -9,4 +9,4 @@ export interface TreeNodeProps extends Omit<DivProps, 'prefix'> {
|
|
|
9
9
|
/** @private 内部使用,表明该节点的层级 */
|
|
10
10
|
_level?: number;
|
|
11
11
|
}
|
|
12
|
-
export declare const TreeNode:
|
|
12
|
+
export declare const TreeNode: React.MemoExoticComponent<({ value, label, prefix, suffix, disabled, _level, ...props }: TreeNodeProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
|