@canlooks/can-ui 0.0.69 → 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 +39 -34
- 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 +40 -35
- 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
|
@@ -5,9 +5,8 @@ const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
|
5
5
|
const utils_1 = require("../../utils");
|
|
6
6
|
const grid_style_1 = require("./grid.style");
|
|
7
7
|
const transportStyle_1 = require("../transportStyle");
|
|
8
|
-
|
|
8
|
+
exports.GridItem = (({ span = { xs: 1 }, offset = { xs: 0 }, ...props }) => {
|
|
9
9
|
span = (0, utils_1.toResponsiveValue)(span);
|
|
10
10
|
offset = (0, utils_1.toResponsiveValue)(offset);
|
|
11
11
|
return ((0, jsx_runtime_1.jsx)(transportStyle_1.TransportStyle, { ...props, css: (0, grid_style_1.useItemStyle)({ span, offset }), className: (0, utils_1.clsx)(grid_style_1.classes.item, props.className) }));
|
|
12
|
-
};
|
|
13
|
-
exports.GridItem = GridItem;
|
|
12
|
+
});
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import React, { CSSProperties, ReactNode,
|
|
1
|
+
import React, { CSSProperties, ReactNode, ReactElement, ComponentProps } from 'react';
|
|
2
2
|
import { DivProps } from '../../types';
|
|
3
3
|
import { Gallery, ImagePreviewProps } from '../gallery';
|
|
4
4
|
export interface ImageProps extends DivProps {
|
|
5
5
|
src?: string;
|
|
6
6
|
fallback?: string;
|
|
7
|
-
onLoad?:
|
|
8
|
-
onError?:
|
|
7
|
+
onLoad?: ComponentProps<'img'>['onLoad'];
|
|
8
|
+
onError?: ComponentProps<'img'>['onError'];
|
|
9
9
|
renderLoading?: ReactNode;
|
|
10
10
|
alt?: string;
|
|
11
11
|
width?: string | number;
|
|
12
12
|
height?: string | number;
|
|
13
13
|
objectFit?: CSSProperties['objectFit'];
|
|
14
14
|
objectPosition?: CSSProperties['objectPosition'];
|
|
15
|
-
imgProps?:
|
|
15
|
+
imgProps?: ComponentProps<'img'>;
|
|
16
16
|
actions?: ReactNode;
|
|
17
17
|
previewable?: boolean;
|
|
18
18
|
previewProps?: ImagePreviewProps;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
2
|
import { InputBaseProps } from '../inputBase';
|
|
3
3
|
export interface InputProps extends Omit<InputBaseProps<'input'>, 'children'> {
|
|
4
|
-
inputProps?:
|
|
4
|
+
inputProps?: ComponentProps<'input'>;
|
|
5
5
|
/** 是否根据内容自动调整宽度 */
|
|
6
6
|
widthAdaptable?: boolean;
|
|
7
7
|
}
|
|
@@ -7,8 +7,15 @@ const input_style_1 = require("./input.style");
|
|
|
7
7
|
const react_1 = require("react");
|
|
8
8
|
const inputBase_1 = require("../inputBase");
|
|
9
9
|
exports.Input = (0, react_1.memo)(({ inputProps, widthAdaptable, ...props }) => {
|
|
10
|
-
return ((0, jsx_runtime_1.jsx)(inputBase_1.InputBase, { ...
|
|
11
|
-
|
|
10
|
+
return ((0, jsx_runtime_1.jsx)(inputBase_1.InputBase, { ...(0, utils_1.mergeComponentProps)(props, {
|
|
11
|
+
css: input_style_1.style,
|
|
12
|
+
className: input_style_1.classes.root,
|
|
13
|
+
'data-adaptable': widthAdaptable
|
|
14
|
+
}), children: inputBaseProps => {
|
|
15
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("input", { ...(0, utils_1.mergeComponentProps)({
|
|
16
|
+
size: 1,
|
|
17
|
+
className: input_style_1.classes.input
|
|
18
|
+
}, inputBaseProps, inputProps) }), widthAdaptable &&
|
|
12
19
|
(0, jsx_runtime_1.jsx)("span", { className: input_style_1.classes.adaptable, children: inputBaseProps.value })] }));
|
|
13
20
|
} }));
|
|
14
21
|
});
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentProps, ReactElement, ReactNode, Ref } from 'react';
|
|
2
2
|
import { ColorPropsValue, DivProps, Size } from '../../types';
|
|
3
|
-
export interface
|
|
3
|
+
export interface InputBaseRef extends HTMLDivElement {
|
|
4
|
+
select?: HTMLInputElement['select'];
|
|
5
|
+
setSelectionRange?: HTMLInputElement['setSelectionRange'];
|
|
6
|
+
}
|
|
7
|
+
export interface InputBaseProps<T extends 'input' | 'textarea'> extends Omit<DivProps, 'ref' | 'prefix' | 'onChange' | 'children'> {
|
|
8
|
+
ref?: Ref<InputBaseRef>;
|
|
4
9
|
variant?: 'outlined' | 'underlined' | 'plain';
|
|
5
10
|
size?: Size;
|
|
6
11
|
shape?: 'square' | 'rounded';
|
|
@@ -10,18 +15,18 @@ export interface InputBaseProps<T extends 'input' | 'textarea'> extends Omit<Div
|
|
|
10
15
|
clearable?: boolean;
|
|
11
16
|
onClear?(): void;
|
|
12
17
|
loading?: boolean;
|
|
13
|
-
type?: T extends 'input' ?
|
|
14
|
-
min?: T extends 'input' ?
|
|
15
|
-
max?: T extends 'input' ?
|
|
16
|
-
step?: T extends 'input' ?
|
|
18
|
+
type?: T extends 'input' ? ComponentProps<T>['type'] : never;
|
|
19
|
+
min?: T extends 'input' ? ComponentProps<T>['min'] : never;
|
|
20
|
+
max?: T extends 'input' ? ComponentProps<T>['max'] : never;
|
|
21
|
+
step?: T extends 'input' ? ComponentProps<T>['step'] : never;
|
|
17
22
|
precision?: T extends 'input' ? number : never;
|
|
18
23
|
placeholder?: string;
|
|
19
24
|
disabled?: boolean;
|
|
20
25
|
readOnly?: boolean;
|
|
21
|
-
autoFocus?:
|
|
22
|
-
defaultValue?:
|
|
23
|
-
value?:
|
|
24
|
-
onChange?:
|
|
25
|
-
children(childProps:
|
|
26
|
+
autoFocus?: ComponentProps<T>['autoFocus'];
|
|
27
|
+
defaultValue?: ComponentProps<T>['defaultValue'];
|
|
28
|
+
value?: ComponentProps<T>['value'];
|
|
29
|
+
onChange?: ComponentProps<T>['onChange'];
|
|
30
|
+
children(childProps: ComponentProps<T>): ReactNode;
|
|
26
31
|
}
|
|
27
32
|
export declare const InputBase: <T extends "input" | "textarea">(props: InputBaseProps<T>) => ReactElement;
|
|
@@ -10,14 +10,23 @@ const button_1 = require("../button");
|
|
|
10
10
|
const loadingIndicator_1 = require("../loadingIndicator");
|
|
11
11
|
const icon_1 = require("../icon");
|
|
12
12
|
const faCircleXmark_1 = require("@fortawesome/free-solid-svg-icons/faCircleXmark");
|
|
13
|
-
exports.InputBase = (({ variant = 'outlined', size, shape, color = 'primary', children, prefix, suffix, onClear, loading, type, clearable = type !== 'number',
|
|
13
|
+
exports.InputBase = (({ ref, variant = 'outlined', size, shape, color = 'primary', children, prefix, suffix, onClear, loading, type, clearable = type !== 'number',
|
|
14
14
|
// 以下属性传递给<input/>
|
|
15
15
|
min, max, step, precision, placeholder, disabled, readOnly, autoFocus, defaultValue, value, onChange, ...props }) => {
|
|
16
|
+
const innerRef = (0, react_1.useRef)(null);
|
|
17
|
+
const innerInputRef = (0, react_1.useRef)(null);
|
|
18
|
+
(0, react_1.useImperativeHandle)(ref, () => {
|
|
19
|
+
if (innerRef.current) {
|
|
20
|
+
innerRef.current.focus = () => innerInputRef.current?.focus();
|
|
21
|
+
innerRef.current.blur = () => innerInputRef.current?.blur();
|
|
22
|
+
innerRef.current.select = () => innerInputRef.current?.select();
|
|
23
|
+
innerRef.current.setSelectionRange = (...args) => innerInputRef.current?.setSelectionRange(...args);
|
|
24
|
+
}
|
|
25
|
+
return innerRef.current;
|
|
26
|
+
});
|
|
16
27
|
const theme = (0, theme_1.useTheme)();
|
|
17
28
|
size ??= theme.size;
|
|
18
|
-
const innerInputRef = (0, react_1.useRef)(null);
|
|
19
29
|
const wrapClickHandler = (e) => {
|
|
20
|
-
props.onClick?.(e);
|
|
21
30
|
// 点击包裹元素时,聚焦到内部的input元素
|
|
22
31
|
!disabled && innerInputRef.current && innerInputRef.current !== document.activeElement && innerInputRef.current.focus();
|
|
23
32
|
};
|
|
@@ -47,15 +56,17 @@ min, max, step, precision, placeholder, disabled, readOnly, autoFocus, defaultVa
|
|
|
47
56
|
changeHandler(e);
|
|
48
57
|
}
|
|
49
58
|
};
|
|
50
|
-
return ((0, jsx_runtime_1.jsxs)("div", { ...
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
59
|
+
return ((0, jsx_runtime_1.jsxs)("div", { ...(0, utils_1.mergeComponentProps)(props, {
|
|
60
|
+
ref: innerRef,
|
|
61
|
+
className: inputBase_style_1.classes.root,
|
|
62
|
+
onClick: wrapClickHandler,
|
|
63
|
+
onPointerDown: e => {
|
|
64
|
+
const { target } = e;
|
|
65
|
+
if (!(target instanceof HTMLInputElement) && !(target instanceof HTMLTextAreaElement)) {
|
|
66
|
+
e.preventDefault();
|
|
67
|
+
}
|
|
57
68
|
}
|
|
58
|
-
}, children: [!!prefix &&
|
|
69
|
+
}), css: (0, inputBase_style_1.useStyle)({ color: color || 'primary' }), "data-variant": variant, "data-size": size, "data-shape": shape, children: [!!prefix &&
|
|
59
70
|
(0, jsx_runtime_1.jsx)("div", { className: inputBase_style_1.classes.prefix, children: prefix }), (0, jsx_runtime_1.jsx)("div", { className: inputBase_style_1.classes.content, children: children({
|
|
60
71
|
ref: innerInputRef,
|
|
61
72
|
type,
|
|
@@ -75,7 +86,7 @@ min, max, step, precision, placeholder, disabled, readOnly, autoFocus, defaultVa
|
|
|
75
86
|
onBlur: blurHandler,
|
|
76
87
|
onKeyDown: (e) => e.key === 'Enter' && blurHandler(e)
|
|
77
88
|
}) }), loading &&
|
|
78
|
-
(0, jsx_runtime_1.jsx)(loadingIndicator_1.LoadingIndicator, {}), clearable && !disabled && !readOnly && (
|
|
89
|
+
(0, jsx_runtime_1.jsx)(loadingIndicator_1.LoadingIndicator, {}), clearable && !disabled && !readOnly && (0, utils_1.toArray)(innerValue.current)?.length &&
|
|
79
90
|
(0, jsx_runtime_1.jsx)(button_1.Button, { className: inputBase_style_1.classes.clear, variant: "plain", color: "text.disabled", onClick: clear, tabIndex: -1, children: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faCircleXmark_1.faCircleXmark }) }), !!suffix &&
|
|
80
91
|
(0, jsx_runtime_1.jsx)("div", { className: inputBase_style_1.classes.suffix, children: suffix })] }));
|
|
81
92
|
});
|
|
@@ -2,5 +2,7 @@ import { DivProps } from '../../types';
|
|
|
2
2
|
import { LoadingMaskProps } from '../loadingMask';
|
|
3
3
|
export interface LoadingProps extends Omit<LoadingMaskProps, 'children'>, DivProps {
|
|
4
4
|
containerProps?: DivProps;
|
|
5
|
+
/** 是否占满父元素,默认为`true` */
|
|
6
|
+
fill?: boolean;
|
|
5
7
|
}
|
|
6
|
-
export declare const Loading: import("react").MemoExoticComponent<({ containerProps, open, text, progress, color, indicatorProps, progressProps, ...props }: LoadingProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
|
|
8
|
+
export declare const Loading: import("react").MemoExoticComponent<({ containerProps, fill, open, text, progress, color, indicatorProps, progressProps, ...props }: LoadingProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
|
|
@@ -6,6 +6,6 @@ const react_1 = require("react");
|
|
|
6
6
|
const utils_1 = require("../../utils");
|
|
7
7
|
const loading_style_1 = require("./loading.style");
|
|
8
8
|
const loadingMask_1 = require("../loadingMask");
|
|
9
|
-
exports.Loading = (0, react_1.memo)(({ containerProps, open = false, text = '加载中...', progress, color, indicatorProps, progressProps, ...props }) => {
|
|
10
|
-
return ((0, jsx_runtime_1.jsxs)("div", { ...props, css: loading_style_1.style, className: (0, utils_1.clsx)(loading_style_1.classes.root, props.className), children: [(0, jsx_runtime_1.jsx)("div", { ...containerProps, className: (0, utils_1.clsx)(loading_style_1.classes.container, containerProps?.className), children: props.children }), (0, jsx_runtime_1.jsx)(loadingMask_1.LoadingMask, { open, text, progress, color, indicatorProps, progressProps, className: loading_style_1.classes.mask })] }));
|
|
9
|
+
exports.Loading = (0, react_1.memo)(({ containerProps, fill = true, open = false, text = '加载中...', progress, color, indicatorProps, progressProps, ...props }) => {
|
|
10
|
+
return ((0, jsx_runtime_1.jsxs)("div", { ...props, css: loading_style_1.style, className: (0, utils_1.clsx)(loading_style_1.classes.root, props.className), "data-fill": fill, children: [(0, jsx_runtime_1.jsx)("div", { ...containerProps, className: (0, utils_1.clsx)(loading_style_1.classes.container, containerProps?.className), children: props.children }), (0, jsx_runtime_1.jsx)(loadingMask_1.LoadingMask, { open, text, progress, color, indicatorProps, progressProps, className: loading_style_1.classes.mask })] }));
|
|
11
11
|
});
|
|
@@ -8,12 +8,13 @@ exports.classes = (0, utils_1.defineInnerClasses)('loading', [
|
|
|
8
8
|
'mask'
|
|
9
9
|
]);
|
|
10
10
|
exports.style = (0, react_1.css) `
|
|
11
|
-
|
|
11
|
+
position: relative;
|
|
12
|
+
z-index: 0;
|
|
13
|
+
|
|
14
|
+
&[data-fill=true] {
|
|
12
15
|
width: 100%;
|
|
13
16
|
height: 100%;
|
|
14
17
|
flex: 1;
|
|
15
|
-
position: relative;
|
|
16
|
-
z-index: 0;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
.${exports.classes.container} {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { ColorPropsValue, DivProps } from '../../types';
|
|
2
2
|
export interface LoadingIndicatorProps extends DivProps {
|
|
3
|
+
/** 默认为`1rem` */
|
|
3
4
|
size?: number;
|
|
4
|
-
|
|
5
|
+
/** 圆环的粗细,默认为`2px` */
|
|
6
|
+
borderWidth?: number;
|
|
5
7
|
color?: ColorPropsValue;
|
|
6
8
|
}
|
|
7
|
-
export declare const LoadingIndicator: import("react").MemoExoticComponent<({ size,
|
|
9
|
+
export declare const LoadingIndicator: import("react").MemoExoticComponent<({ size, borderWidth, color, ...props }: LoadingIndicatorProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
|
|
@@ -5,8 +5,8 @@ const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
|
5
5
|
const utils_1 = require("../../utils");
|
|
6
6
|
const loadingIndicator_style_1 = require("./loadingIndicator.style");
|
|
7
7
|
const react_1 = require("react");
|
|
8
|
-
exports.LoadingIndicator = (0, react_1.memo)(({ size,
|
|
9
|
-
return ((0, jsx_runtime_1.jsx)("div", { ...props, css: (0, loadingIndicator_style_1.useStyle)({ color: color || 'primary',
|
|
8
|
+
exports.LoadingIndicator = (0, react_1.memo)(({ size, borderWidth = 2, color = 'primary', ...props }) => {
|
|
9
|
+
return ((0, jsx_runtime_1.jsx)("div", { ...props, css: (0, loadingIndicator_style_1.useStyle)({ color: color || 'primary', borderWidth }), className: (0, utils_1.clsx)(loadingIndicator_style_1.classes.root, props.className), style: {
|
|
10
10
|
width: size ?? '1em',
|
|
11
11
|
height: size ?? '1em',
|
|
12
12
|
...props.style
|
|
@@ -4,4 +4,4 @@ export declare const classes: {
|
|
|
4
4
|
} & {
|
|
5
5
|
root: string;
|
|
6
6
|
};
|
|
7
|
-
export declare function useStyle({ color,
|
|
7
|
+
export declare function useStyle({ color, borderWidth }: Required<Pick<LoadingIndicatorProps, 'color' | 'borderWidth'>>): import("@emotion/react").SerializedStyles;
|
|
@@ -9,9 +9,8 @@ const color_1 = tslib_1.__importDefault(require("color"));
|
|
|
9
9
|
exports.classes = (0, utils_1.defineInnerClasses)('loading-indicator', [
|
|
10
10
|
'indicator'
|
|
11
11
|
]);
|
|
12
|
-
function useStyle({ color,
|
|
12
|
+
function useStyle({ color, borderWidth }) {
|
|
13
13
|
const colorValue = (0, utils_1.useColor)(color);
|
|
14
|
-
const borderWidth = width;
|
|
15
14
|
return (0, utils_1.useCss)(({ mode }) => {
|
|
16
15
|
const borderColor = mode === 'light' ? (0, color_1.default)(colorValue).alpha(.6).string() : colorValue;
|
|
17
16
|
return (0, react_1.css) `
|
|
@@ -19,7 +19,7 @@ exports.LoadingMask = (0, react_1.memo)(({ open = false, text = '加载中...',
|
|
|
19
19
|
};
|
|
20
20
|
const showProgress = typeof progress === 'number';
|
|
21
21
|
return open || visible.current
|
|
22
|
-
? (0, jsx_runtime_1.jsxs)(backdrop_1.Backdrop, { variant: "light", ...props, css: loadingMask_style_1.style, open: open, className: (0, utils_1.clsx)(loadingMask_style_1.classes.root, props.className), onExited: onExited, "data-show-progress": showProgress, children: [(0, jsx_runtime_1.jsxs)("div", { className: loadingMask_style_1.classes.indicator, children: [(0, jsx_runtime_1.jsx)(loadingIndicator_1.LoadingIndicator, { size: showProgress ? 14 : 30,
|
|
22
|
+
? (0, jsx_runtime_1.jsxs)(backdrop_1.Backdrop, { variant: "light", ...props, css: loadingMask_style_1.style, open: open, className: (0, utils_1.clsx)(loadingMask_style_1.classes.root, props.className), onExited: onExited, "data-show-progress": showProgress, children: [(0, jsx_runtime_1.jsxs)("div", { className: loadingMask_style_1.classes.indicator, children: [(0, jsx_runtime_1.jsx)(loadingIndicator_1.LoadingIndicator, { size: showProgress ? 14 : 30, borderWidth: showProgress ? 2 : 3, color: color, ...indicatorProps }), (0, jsx_runtime_1.jsx)("div", { className: loadingMask_style_1.classes.text, children: text })] }), showProgress &&
|
|
23
23
|
(0, jsx_runtime_1.jsx)(progress_1.Progress, { className: loadingMask_style_1.classes.progress, value: progress, ...progressProps })] })
|
|
24
24
|
: null;
|
|
25
25
|
});
|
|
@@ -30,7 +30,7 @@ size = 'large', showCheckbox, ellipsis, indent, ...props }) => {
|
|
|
30
30
|
return newExpanded;
|
|
31
31
|
});
|
|
32
32
|
};
|
|
33
|
-
const [innerValue, toggleSelected] = (0, selectionContext_1.
|
|
33
|
+
const [innerValue, toggleSelected] = (0, selectionContext_1.useFlatSelection)({ multiple, defaultValue, value, onChange });
|
|
34
34
|
const renderItems = (items) => {
|
|
35
35
|
return items?.map((p, i) => (0, react_1.createElement)(menuItem_1.MenuItem, { ...p, key: p[primaryKey] ?? i, value: p[primaryKey], label: p[labelKey] }, renderItems(p[childrenKey])));
|
|
36
36
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
import { ColorPropsValue, DivProps, Size } from '../../types';
|
|
3
3
|
import { CheckboxProps } from '../checkbox';
|
|
4
4
|
export interface MenuItemProps extends Omit<DivProps, 'prefix'> {
|
|
@@ -29,4 +29,4 @@ export interface MenuItemProps extends Omit<DivProps, 'prefix'> {
|
|
|
29
29
|
expanded?: boolean;
|
|
30
30
|
onExpandedChange?(expanded: boolean): void;
|
|
31
31
|
}
|
|
32
|
-
export declare const MenuItem:
|
|
32
|
+
export declare const MenuItem: React.MemoExoticComponent<({ value, size, color, emphasized, selected, focused, disabled, showCheckbox, checkboxProps, ellipsis, prefix, label, suffix, searchToken, _level, indent, expandIcon, defaultExpanded, expanded, onExpandedChange, ...props }: MenuItemProps) => import("@emotion/react/jsx-runtime").JSX.Element>;
|
|
@@ -83,6 +83,7 @@ searchValue, selectedValue, onToggleSelected, ...props }) => {
|
|
|
83
83
|
? (0, jsx_runtime_1.jsx)(highlight_1.Highlight, { keywords: searchValue?.split(' '), children: params.label })
|
|
84
84
|
: params.label,
|
|
85
85
|
onClick: e => {
|
|
86
|
+
e.stopPropagation();
|
|
86
87
|
params.opt.onClick?.(e);
|
|
87
88
|
syncOnToggleSelected.current?.(params.value, e);
|
|
88
89
|
},
|
|
@@ -27,18 +27,21 @@ function OverlayBase({ container, effectContainer, forceRender, open, onMaskClic
|
|
|
27
27
|
containerEl.current.style.overflow = '';
|
|
28
28
|
};
|
|
29
29
|
}, [open]);
|
|
30
|
-
const
|
|
31
|
-
maskProps?.onClick?.(e);
|
|
30
|
+
const onClick = (e) => {
|
|
32
31
|
onMaskClick?.(e);
|
|
33
32
|
};
|
|
34
|
-
const onEntered = (
|
|
35
|
-
maskProps?.onEntered?.(node);
|
|
33
|
+
const onEntered = () => {
|
|
36
34
|
onOpened?.();
|
|
37
35
|
};
|
|
38
36
|
const onExited = () => {
|
|
39
|
-
maskProps?.onExited?.();
|
|
40
37
|
onClosed?.();
|
|
41
38
|
forceRender === false && setShouldRender(false);
|
|
42
39
|
};
|
|
43
|
-
return shouldRender.current && (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsxs)("div", { ...props, css: overlayBase_style_1.style, className: (0, utils_1.clsx)(overlayBase_style_1.classes.root, props.className), "data-open": open, "data-custom-container": containerEl.current !== document.body, children: [(0, jsx_runtime_1.jsx)(transitionBase_1.Fade, { timeout: exports.overlayBaseTransitionDuration, ...
|
|
40
|
+
return shouldRender.current && (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsxs)("div", { ...props, css: overlayBase_style_1.style, className: (0, utils_1.clsx)(overlayBase_style_1.classes.root, props.className), "data-open": open, "data-custom-container": containerEl.current !== document.body, children: [(0, jsx_runtime_1.jsx)(transitionBase_1.Fade, { timeout: exports.overlayBaseTransitionDuration, ...(0, utils_1.mergeComponentProps)(maskProps, {
|
|
41
|
+
in: open,
|
|
42
|
+
className: overlayBase_style_1.classes.mask,
|
|
43
|
+
onClick,
|
|
44
|
+
onEntered,
|
|
45
|
+
onExited
|
|
46
|
+
}) }), props.children] }), containerEl.current);
|
|
44
47
|
}
|
|
@@ -9,12 +9,9 @@ exports.classes = (0, utils_1.defineInnerClasses)('overlay-base', [
|
|
|
9
9
|
'mask'
|
|
10
10
|
]);
|
|
11
11
|
exports.style = (0, utils_1.defineCss)(theme => {
|
|
12
|
-
const { text, fontSize } = theme;
|
|
13
12
|
return [
|
|
14
13
|
(0, app_style_1.appStyleCallback)(theme),
|
|
15
14
|
(0, react_1.css) `
|
|
16
|
-
color: ${text.primary};
|
|
17
|
-
font-size: ${fontSize}px;
|
|
18
15
|
position: fixed;
|
|
19
16
|
inset: 0;
|
|
20
17
|
z-index: ${theme_1.zIndex.overlay};
|
|
@@ -31,7 +31,7 @@ options = rows ?? nodes, primaryKey = 'id', childrenKey = 'children', relation =
|
|
|
31
31
|
!multiple && confirmHandler(value);
|
|
32
32
|
};
|
|
33
33
|
const [innerOpen, setInnerOpen] = (0, utils_1.useControlled)(props.defaultOpen, props.open);
|
|
34
|
-
const
|
|
34
|
+
const closeHandler = (reason) => {
|
|
35
35
|
if (reason === 'confirmed') {
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
@@ -49,8 +49,7 @@ options = rows ?? nodes, primaryKey = 'id', childrenKey = 'children', relation =
|
|
|
49
49
|
resolvers.current?.resolve(value);
|
|
50
50
|
setInnerOpen(false);
|
|
51
51
|
};
|
|
52
|
-
const
|
|
53
|
-
props.modalProps?.onExited?.();
|
|
52
|
+
const onExited = () => {
|
|
54
53
|
_setInnerValue(null);
|
|
55
54
|
};
|
|
56
55
|
const renderChildren = () => {
|
|
@@ -65,10 +64,24 @@ options = rows ?? nodes, primaryKey = 'id', childrenKey = 'children', relation =
|
|
|
65
64
|
: children;
|
|
66
65
|
};
|
|
67
66
|
const selectedCount = (0, utils_1.toArray)(innerValue)?.length || 0;
|
|
68
|
-
return ((0, jsx_runtime_1.jsx)(selectionContext_1.SelectionContext, { options
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
return ((0, jsx_runtime_1.jsx)(selectionContext_1.SelectionContext, { options,
|
|
68
|
+
primaryKey,
|
|
69
|
+
childrenKey,
|
|
70
|
+
relation,
|
|
71
|
+
integration,
|
|
72
|
+
disabled,
|
|
73
|
+
clearable,
|
|
74
|
+
multiple, value: innerValue, onChange: setInnerValue, onToggle: onToggle, children: (0, jsx_runtime_1.jsx)(dialog_1.Dialog, { ...(0, utils_1.mergeComponentProps)({
|
|
75
|
+
width: multiple ? '90%' : 1080,
|
|
76
|
+
footer: null,
|
|
77
|
+
maskClosable: false
|
|
78
|
+
}, props, {
|
|
79
|
+
ref: dialogRef,
|
|
80
|
+
css: pickerDialog_style_1.style,
|
|
81
|
+
className: pickerDialog_style_1.classes.root,
|
|
82
|
+
open: innerOpen.current,
|
|
83
|
+
modalProps: (0, utils_1.mergeComponentProps)(props.modalProps, { onExited })
|
|
84
|
+
}), onClose: closeHandler, ...showSelectedList && {
|
|
72
85
|
[selectedListPlacement === 'left' ? 'prefix' : 'suffix']: ((0, jsx_runtime_1.jsxs)("div", { className: pickerDialog_style_1.classes.selectedArea, children: [(0, jsx_runtime_1.jsxs)(divider_1.Divider, { className: pickerDialog_style_1.classes.count, textAlign: "start", children: [(0, jsx_runtime_1.jsxs)("div", { children: ["\u5DF2\u9009\u62E9", (0, jsx_runtime_1.jsx)("b", { children: selectedCount }), "\u9879"] }), clearable &&
|
|
73
86
|
(0, jsx_runtime_1.jsx)(button_1.Button, { prefix: (0, jsx_runtime_1.jsx)(icon_1.Icon, { icon: faTrashCan_1.faTrashCan }), variant: "plain", color: "text.secondary", onClick: () => setInnerValue(multiple ? [] : null), children: "\u6E05\u7A7A" })] }), (0, jsx_runtime_1.jsx)(selectedList_1.SelectedList, { itemProps: selectedItemProps, ...selectedListProps, className: (0, utils_1.clsx)(pickerDialog_style_1.classes.list, selectedListProps?.className) }), (0, jsx_runtime_1.jsx)(button_1.Button, { className: pickerDialog_style_1.classes.confirm, disabled: selectedCount === 0, onClick: () => confirmHandler(), children: "\u786E\u5B9A" })] }))
|
|
74
87
|
}, children: renderChildren() }) }));
|
|
@@ -2,6 +2,7 @@ import { ReactElement, ReactNode, Ref } from 'react';
|
|
|
2
2
|
import { DivProps, DefineElement, Placement } from '../../types';
|
|
3
3
|
export type Trigger = 'click' | 'hover' | 'focus' | 'enter' | 'contextMenu';
|
|
4
4
|
export interface PopperProps extends Omit<DivProps, 'content' | 'children'> {
|
|
5
|
+
/** 默认的ref会传递至`children` */
|
|
5
6
|
popperRef?: Ref<PopperRef | null>;
|
|
6
7
|
/** 若不指定anchorElement,默认使用{@link children}作为目标锚点元素 */
|
|
7
8
|
anchorElement?: DefineElement<HTMLElement>;
|
|
@@ -15,6 +16,8 @@ export interface PopperProps extends Omit<DivProps, 'content' | 'children'> {
|
|
|
15
16
|
offset?: number;
|
|
16
17
|
/** 自动打开弹框的触发方法,默认为`hover` */
|
|
17
18
|
trigger?: Trigger | Trigger[] | false;
|
|
19
|
+
/** 点击元素时关闭,主要用于某元素同时存在tooltip与其他popper的情况,点击时打开popper同时关闭tooltip */
|
|
20
|
+
clickToClose?: boolean;
|
|
18
21
|
placement?: Placement;
|
|
19
22
|
variant?: 'zoom' | 'collapse';
|
|
20
23
|
/**
|
|
@@ -23,7 +26,7 @@ export interface PopperProps extends Omit<DivProps, 'content' | 'children'> {
|
|
|
23
26
|
* @enum {@link variant}为`collapse`时,默认为`true`
|
|
24
27
|
*/
|
|
25
28
|
sizeAdaptable?: boolean;
|
|
26
|
-
/** trigger{@link trigger}包含"hover"时,鼠标移入移的延迟时间,默认为`
|
|
29
|
+
/** trigger{@link trigger}包含"hover"时,鼠标移入移的延迟时间,默认为`150(ms)` */
|
|
27
30
|
mouseEnterDelay?: number;
|
|
28
31
|
/**默认为`150(ms)` */
|
|
29
32
|
mouseLeaveDelay?: number;
|
|
@@ -48,4 +51,4 @@ export interface PopperRef extends HTMLDivElement {
|
|
|
48
51
|
openAnimation?: boolean;
|
|
49
52
|
}, beforeOpen?: () => void): void;
|
|
50
53
|
}
|
|
51
|
-
export declare function Popper({ ref, popperRef, anchorElement, container, effectContainer, content, offset, trigger, placement, variant, sizeAdaptable, mouseEnterDelay, mouseLeaveDelay, defaultOpen, open, onOpenChange, onOpenChangeEnd, disabled, autoClose, forceRender, children, ...props }: PopperProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
54
|
+
export declare function Popper({ ref, popperRef, anchorElement, container, effectContainer, content, offset, trigger, clickToClose, placement, variant, sizeAdaptable, mouseEnterDelay, mouseLeaveDelay, defaultOpen, open, onOpenChange, onOpenChangeEnd, disabled, autoClose, forceRender, children, ...props }: PopperProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -22,7 +22,7 @@ const getAttemptOrder = (placement) => {
|
|
|
22
22
|
}
|
|
23
23
|
return order;
|
|
24
24
|
};
|
|
25
|
-
function Popper({ ref, popperRef, anchorElement, container = document.body, effectContainer, content, offset, trigger = 'hover', placement = 'top', variant = 'zoom', sizeAdaptable = variant === 'collapse', mouseEnterDelay =
|
|
25
|
+
function Popper({ ref, popperRef, anchorElement, container = document.body, effectContainer, content, offset, trigger = 'hover', clickToClose, placement = 'top', variant = 'zoom', sizeAdaptable = variant === 'collapse', mouseEnterDelay = 150, mouseLeaveDelay = 150, defaultOpen = false, open, onOpenChange, onOpenChangeEnd, disabled, autoClose = false, forceRender, children, ...props }) {
|
|
26
26
|
const { spacing } = (0, theme_1.useTheme)();
|
|
27
27
|
offset ??= spacing[2];
|
|
28
28
|
(0, react_1.useImperativeHandle)(popperRef, () => {
|
|
@@ -40,11 +40,10 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
|
|
|
40
40
|
const hold = (open) => {
|
|
41
41
|
return open ? ++openHolding.current
|
|
42
42
|
: openHolding.current > 0 ? --openHolding.current
|
|
43
|
-
:
|
|
43
|
+
: 0;
|
|
44
44
|
};
|
|
45
45
|
const [innerOpen, _setInnerOpen] = (0, utils_1.useControlled)(defaultOpen, open, onOpenChange);
|
|
46
|
-
const
|
|
47
|
-
const setInnerOpen = (open, force) => {
|
|
46
|
+
const setInnerOpen = (open) => {
|
|
48
47
|
if (disabled || unmounted.current) {
|
|
49
48
|
return;
|
|
50
49
|
}
|
|
@@ -53,15 +52,15 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
|
|
|
53
52
|
return;
|
|
54
53
|
}
|
|
55
54
|
// 打开时无需判断,关闭时需要判断openHolding.current是否归0
|
|
56
|
-
if (newOpen ||
|
|
55
|
+
if (newOpen || openHolding.current === 0) {
|
|
57
56
|
_setInnerOpen(newOpen);
|
|
58
57
|
}
|
|
59
58
|
};
|
|
60
59
|
const { onChildrenOpenChange: tellParentOpenChange } = (0, popperContext_1.usePopperContext)();
|
|
61
|
-
const
|
|
60
|
+
const initialized = (0, react_1.useRef)(false);
|
|
62
61
|
(0, react_1.useEffect)(() => {
|
|
63
|
-
if (
|
|
64
|
-
|
|
62
|
+
if (!initialized.current) {
|
|
63
|
+
initialized.current = true;
|
|
65
64
|
return;
|
|
66
65
|
}
|
|
67
66
|
tellParentOpenChange(innerOpen.current);
|
|
@@ -70,7 +69,10 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
|
|
|
70
69
|
hold(open) === 0 && setInnerOpen(false);
|
|
71
70
|
};
|
|
72
71
|
const setOpenForce = (open) => {
|
|
73
|
-
|
|
72
|
+
if (!open) {
|
|
73
|
+
openHolding.current = 0;
|
|
74
|
+
}
|
|
75
|
+
setInnerOpen(open);
|
|
74
76
|
};
|
|
75
77
|
const openAndHold = (open) => {
|
|
76
78
|
hold(open);
|
|
@@ -107,6 +109,7 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
|
|
|
107
109
|
const containerEl = (0, utils_1.useContainer)(container, effectContainer);
|
|
108
110
|
const innerPopperRef = (0, react_1.useRef)(null);
|
|
109
111
|
const [popperBounding, setPopperBounding] = (0, react_1.useState)();
|
|
112
|
+
const [contextMenuEvent, setContextMenuEvent] = (0, utils_1.useSyncState)();
|
|
110
113
|
const [openNextFrame, setOpenNextFrame] = (0, utils_1.useDerivedState)(!innerOpen.current, [innerOpen.current, contextMenuEvent.current]);
|
|
111
114
|
const placeA = (0, react_1.useRef)(void 0);
|
|
112
115
|
const placeB = (0, react_1.useRef)(void 0);
|
|
@@ -364,7 +367,7 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
|
|
|
364
367
|
}
|
|
365
368
|
isEntered.current = true;
|
|
366
369
|
hold(true);
|
|
367
|
-
clearTimeout(
|
|
370
|
+
clearTimeout(leaveTimeout.current);
|
|
368
371
|
mouseEnterDelay
|
|
369
372
|
? enterTimeout.current = setTimeout(() => setInnerOpen(true), mouseEnterDelay)
|
|
370
373
|
: setInnerOpen(true);
|
|
@@ -372,7 +375,7 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
|
|
|
372
375
|
const pointerLeave = () => {
|
|
373
376
|
isEntered.current = false;
|
|
374
377
|
hold(false);
|
|
375
|
-
clearTimeout(
|
|
378
|
+
clearTimeout(enterTimeout.current);
|
|
376
379
|
mouseLeaveDelay
|
|
377
380
|
? leaveTimeout.current = setTimeout(() => setInnerOpen(false), mouseLeaveDelay)
|
|
378
381
|
: setInnerOpen(false);
|
|
@@ -444,7 +447,9 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
|
|
|
444
447
|
if (!clickable) {
|
|
445
448
|
return;
|
|
446
449
|
}
|
|
447
|
-
const click = () =>
|
|
450
|
+
const click = () => {
|
|
451
|
+
openAndHold(true);
|
|
452
|
+
};
|
|
448
453
|
const anchorEl = anchorRef.current;
|
|
449
454
|
anchorEl.addEventListener('click', click);
|
|
450
455
|
return () => {
|
|
@@ -454,6 +459,20 @@ function Popper({ ref, popperRef, anchorElement, container = document.body, effe
|
|
|
454
459
|
const onClickAway = () => {
|
|
455
460
|
innerOpen.current && openAndHold(false);
|
|
456
461
|
};
|
|
462
|
+
/**
|
|
463
|
+
* clickToClose
|
|
464
|
+
*/
|
|
465
|
+
(0, react_1.useEffect)(() => {
|
|
466
|
+
if (clickToClose) {
|
|
467
|
+
const click = () => {
|
|
468
|
+
setOpenForce(false);
|
|
469
|
+
};
|
|
470
|
+
anchorRef.current.addEventListener('click', click);
|
|
471
|
+
return () => {
|
|
472
|
+
anchorRef.current.removeEventListener('click', click);
|
|
473
|
+
};
|
|
474
|
+
}
|
|
475
|
+
}, [clickToClose]);
|
|
457
476
|
/**
|
|
458
477
|
* contextmenu相关
|
|
459
478
|
*/
|
|
@@ -9,11 +9,10 @@ exports.classes = (0, utils_1.defineInnerClasses)('popper', [
|
|
|
9
9
|
'popper',
|
|
10
10
|
]);
|
|
11
11
|
exports.style = (0, utils_1.defineCss)(theme => {
|
|
12
|
-
const { easing
|
|
12
|
+
const { easing } = theme;
|
|
13
13
|
return [
|
|
14
14
|
(0, app_style_1.appStyleCallback)(theme),
|
|
15
15
|
(0, react_1.css) `
|
|
16
|
-
font-size: ${fontSize}px;
|
|
17
16
|
position: absolute;
|
|
18
17
|
top: 0;
|
|
19
18
|
left: 0;
|
|
@@ -56,7 +56,7 @@ exports.Progress = (0, react_1.memo)(({ showInfo = true, renderInfo, color, stat
|
|
|
56
56
|
return (0, react_2.css)({ animation: `${anim} 1.4s linear infinite` });
|
|
57
57
|
}
|
|
58
58
|
return;
|
|
59
|
-
}, [indeterminate, variant,
|
|
59
|
+
}, [indeterminate, variant, commonCircleProps.r]);
|
|
60
60
|
return ((0, jsx_runtime_1.jsx)("div", { ...props, css: (0, progress_style_1.useStyle)({ color: color || 'primary', variant }), className: (0, utils_1.clsx)(progress_style_1.classes.root, props.className), "data-variant": variant, "data-indeterminate": indeterminate, "data-processing": value < 100 && status === 'processing', "data-success": isColorSpecified ? void 0 : isSucceed, "data-error": isColorSpecified ? void 0 : status === 'error', children: variant === 'linear'
|
|
61
61
|
? (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { className: progress_style_1.classes.track, style: {
|
|
62
62
|
height: barWidth,
|