@ncds/ui-admin 1.7.0 → 1.8.1
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/assets/scripts/baseBox.js +54 -56
- package/dist/cjs/assets/scripts/comboBox.js +54 -105
- package/dist/cjs/assets/scripts/datePicker.js +289 -324
- package/dist/cjs/assets/scripts/featuredIcon.js +41 -49
- package/dist/cjs/assets/scripts/fileInput/const/classNames.js +4 -10
- package/dist/cjs/assets/scripts/fileInput/fileInput.js +33 -34
- package/dist/cjs/assets/scripts/fileInput/fileInputModel.js +27 -35
- package/dist/cjs/assets/scripts/fileInput/fileInputView.js +53 -48
- package/dist/cjs/assets/scripts/imageFileInput/ImageFileInput.js +61 -64
- package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputModel.js +79 -112
- package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputView.js +107 -105
- package/dist/cjs/assets/scripts/imageFileInput/const/classNames.js +6 -16
- package/dist/cjs/assets/scripts/index.js +2 -0
- package/dist/cjs/assets/scripts/modal/Modal.js +43 -55
- package/dist/cjs/assets/scripts/modal/ModalActions.js +40 -52
- package/dist/cjs/assets/scripts/modal/ModalContent.js +22 -22
- package/dist/cjs/assets/scripts/modal/ModalHeader.js +37 -48
- package/dist/cjs/assets/scripts/modal/const/classNames.js +5 -13
- package/dist/cjs/assets/scripts/modal/utils/contentUtils.js +1 -1
- package/dist/cjs/assets/scripts/notification/FloatingNotification.js +91 -93
- package/dist/cjs/assets/scripts/notification/FullWidthNotification.js +92 -80
- package/dist/cjs/assets/scripts/notification/MessageNotification.js +92 -79
- package/dist/cjs/assets/scripts/notification/Notification.js +50 -65
- package/dist/cjs/assets/scripts/notification/const/classNames.js +1 -1
- package/dist/cjs/assets/scripts/notification/const/icons.js +11 -25
- package/dist/cjs/assets/scripts/notification/const/sizes.js +11 -19
- package/dist/cjs/assets/scripts/notification/const/types.js +1 -1
- package/dist/cjs/assets/scripts/notification/utils.js +28 -23
- package/dist/cjs/assets/scripts/progress-bar/ProgressBar.js +140 -141
- package/dist/cjs/assets/scripts/selectBox.js +72 -132
- package/dist/cjs/assets/scripts/shared/ButtonCloseX.js +18 -19
- package/dist/cjs/assets/scripts/slider.js +104 -122
- package/dist/cjs/assets/scripts/tab.js +8 -8
- package/dist/cjs/assets/scripts/table/Table.js +377 -0
- package/dist/cjs/assets/scripts/table/const/classNames.js +33 -0
- package/dist/cjs/assets/scripts/table/const/index.js +27 -0
- package/dist/cjs/assets/scripts/table/const/types.js +5 -0
- package/dist/cjs/assets/scripts/table/index.js +43 -0
- package/dist/cjs/assets/scripts/tag/Tag.js +108 -115
- package/dist/cjs/assets/scripts/tag/const/classNames.js +3 -7
- package/dist/cjs/assets/scripts/tag/const/sizes.js +4 -4
- package/dist/cjs/assets/scripts/tooltip/Tooltip.js +155 -182
- package/dist/cjs/assets/scripts/tooltip/TooltipLayerManager.js +23 -25
- package/dist/cjs/assets/scripts/tooltip/const/classNames.js +1 -1
- package/dist/cjs/assets/scripts/tooltip/const/constants.js +14 -14
- package/dist/cjs/assets/scripts/tooltip/const/icons.js +7 -7
- package/dist/cjs/assets/scripts/tooltip/const/templates.js +42 -25
- package/dist/cjs/assets/scripts/tooltip/utils.js +17 -18
- package/dist/cjs/assets/scripts/utils/debounce.js +7 -8
- package/dist/cjs/assets/scripts/utils/unifiedBox/domRenderer.js +102 -116
- package/dist/cjs/assets/scripts/utils/unifiedBox/dropdownModel.js +103 -144
- package/dist/cjs/assets/scripts/utils/unifiedBox/unifiedBoxController.js +180 -207
- package/dist/cjs/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +166 -362
- package/dist/cjs/constant/color.js +1 -1
- package/dist/cjs/index.js +0 -297
- package/dist/cjs/src/components/badge/Badge.js +17 -30
- package/dist/cjs/src/components/badge/index.js +0 -11
- package/dist/cjs/src/components/badge/utils.js +11 -10
- package/dist/cjs/src/components/badge-group/BadgeGroup.js +42 -0
- package/dist/cjs/src/components/badge-group/index.js +16 -0
- package/dist/cjs/src/components/bread-crumb/BreadCrumb.js +55 -0
- package/dist/cjs/src/components/button/Button.js +37 -58
- package/dist/cjs/src/components/button/ButtonCloseX.js +12 -22
- package/dist/cjs/src/components/button/ButtonStepper.js +9 -7
- package/dist/cjs/src/components/button/index.js +0 -11
- package/dist/cjs/src/components/button-group/ButtonGroup.js +97 -0
- package/dist/cjs/src/components/button-group/index.js +16 -0
- package/dist/cjs/src/components/carousel-arrow/CarouselArrow.js +34 -0
- package/dist/cjs/src/components/carousel-arrow/index.js +16 -0
- package/dist/cjs/src/components/carousel-number-group/CarouselNumberGroup.js +33 -0
- package/dist/cjs/src/components/{carousel → carousel-number-group}/index.js +0 -11
- package/dist/cjs/src/components/checkbox/Checkbox.js +28 -49
- package/dist/cjs/src/components/checkbox/CheckboxInput.js +23 -42
- package/dist/cjs/src/components/combo-box/ComboBox.js +291 -0
- package/dist/cjs/src/components/data-grid/DataGrid.js +182 -0
- package/dist/cjs/src/components/data-grid/DataGrid.types.js +5 -0
- package/dist/cjs/src/components/data-grid/index.js +27 -0
- package/dist/cjs/src/components/date-picker/CustomInput.js +16 -32
- package/dist/cjs/src/components/date-picker/DatePicker.js +416 -256
- package/dist/cjs/src/components/date-picker/index.js +0 -22
- package/dist/cjs/src/components/date-picker/utils.js +2 -4
- package/dist/cjs/src/components/divider/Divider.js +14 -25
- package/dist/cjs/src/components/dot/Dot.js +11 -28
- package/dist/cjs/src/components/dropdown/Dropdown.js +90 -132
- package/dist/cjs/src/components/empty-state/EmptyState.js +28 -45
- package/dist/cjs/src/components/featured-icon/FeaturedIcon.js +14 -33
- package/dist/cjs/src/components/file-input/FileInput.js +102 -148
- package/dist/cjs/src/components/horizontal-tab/HorizontalTab.js +53 -0
- package/dist/cjs/src/components/horizontal-tab/index.js +16 -0
- package/dist/cjs/src/components/image-file-input/ImageFileInput.js +109 -170
- package/dist/cjs/src/components/image-file-input/components/ImagePreview.js +8 -17
- package/dist/cjs/src/components/index.js +156 -24
- package/dist/cjs/src/components/input-base/InputBase.js +195 -0
- package/dist/cjs/src/components/input-base/index.js +16 -0
- package/dist/cjs/src/components/modal/Modal.js +76 -105
- package/dist/cjs/src/components/notification/FloatingNotification.js +52 -80
- package/dist/cjs/src/components/notification/FullWidthNotification.js +67 -101
- package/dist/cjs/src/components/notification/MessageNotification.js +60 -89
- package/dist/cjs/src/components/notification/Notification.js +18 -36
- package/dist/cjs/src/components/number-input/NumberInput.js +112 -0
- package/dist/cjs/src/components/number-input/index.js +16 -0
- package/dist/cjs/src/components/pagination/NavButton.js +28 -42
- package/dist/cjs/src/components/pagination/Pagination.js +58 -97
- package/dist/cjs/src/components/password-input/PasswordInput.js +55 -0
- package/dist/cjs/src/components/password-input/index.js +16 -0
- package/dist/cjs/src/components/progress-bar/ProgressBar.js +45 -60
- package/dist/cjs/src/components/progress-bar/components/SegmentBar.js +11 -9
- package/dist/cjs/src/components/progress-bar/components/SegmentLabels.js +32 -43
- package/dist/cjs/src/components/progress-bar/hooks/useProgressBar.js +59 -78
- package/dist/cjs/src/components/progress-bar/utils.js +8 -8
- package/dist/cjs/src/components/progress-circle/ProgressCircle.js +49 -72
- package/dist/cjs/src/components/radio/Radio.js +24 -43
- package/dist/cjs/src/components/radio/RadioInput.js +18 -36
- package/dist/cjs/src/components/range-date-picker/RangeDatePicker.js +147 -0
- package/dist/cjs/src/components/range-date-picker/index.js +16 -0
- package/dist/cjs/src/components/range-date-picker-with-buttons/RangeDatePickerWithButtons.js +81 -0
- package/dist/cjs/src/components/range-date-picker-with-buttons/index.js +16 -0
- package/dist/cjs/src/components/select/Select.js +36 -63
- package/dist/cjs/src/components/select-box/SelectBox.js +260 -0
- package/dist/cjs/src/components/select-dropdown/SelectDropdown.js +64 -100
- package/dist/cjs/src/components/shared/hintText/HintText.js +13 -30
- package/dist/cjs/src/components/shared/label/Label.js +12 -29
- package/dist/cjs/src/components/slider/Slider.js +25 -28
- package/dist/cjs/src/components/spinner/Spinner.js +25 -39
- package/dist/cjs/src/components/switch/Switch.js +44 -69
- package/dist/cjs/src/components/tab/TabButton.js +41 -61
- package/dist/cjs/src/components/tab/index.js +0 -22
- package/dist/cjs/src/components/table/Table.js +381 -0
- package/dist/cjs/src/components/table/index.js +16 -0
- package/dist/cjs/src/components/table/types.js +5 -0
- package/dist/cjs/src/components/tag/Tag.js +65 -85
- package/dist/cjs/src/components/textarea/Textarea.js +79 -0
- package/dist/cjs/src/components/textarea/index.js +16 -0
- package/dist/cjs/src/components/toggle/Toggle.js +28 -52
- package/dist/cjs/src/components/tooltip/Tooltip.js +75 -108
- package/dist/cjs/src/components/vertical-tab/VerticalTab.js +48 -0
- package/dist/cjs/src/components/vertical-tab/index.js +16 -0
- package/dist/cjs/src/constant/breakpoint.js +3 -3
- package/dist/cjs/src/constant/date-picker.js +1 -1
- package/dist/cjs/src/constant/size.js +1 -1
- package/dist/cjs/src/hooks/dropdown/useDropdown.js +58 -60
- package/dist/cjs/src/hooks/dropdown/useDropdownKeyboard.js +37 -40
- package/dist/cjs/src/hooks/dropdown/useDropdownPosition.js +7 -9
- package/dist/cjs/src/hooks/dropdown/useOutsideClick.js +11 -11
- package/dist/cjs/src/hooks/dropdown/useScrollLock.js +23 -19
- package/dist/cjs/src/hooks/dropdown/useWindowResize.js +12 -13
- package/dist/cjs/src/hooks/useCallbackRef.js +2 -2
- package/dist/cjs/src/hooks/useMediaQuery.js +8 -11
- package/dist/cjs/src/hooks/useMergeRefs.js +2 -2
- package/dist/cjs/src/utils/date-picker.js +29 -30
- package/dist/cjs/src/utils/dropdown/dropdownUtils.js +39 -35
- package/dist/cjs/src/utils/dropdown/multiSelect.js +25 -45
- package/dist/esm/assets/scripts/baseBox.js +53 -57
- package/dist/esm/assets/scripts/comboBox.js +54 -107
- package/dist/esm/assets/scripts/datePicker.js +288 -324
- package/dist/esm/assets/scripts/featuredIcon.js +40 -50
- package/dist/esm/assets/scripts/fileInput/const/classNames.js +4 -10
- package/dist/esm/assets/scripts/fileInput/fileInput.js +32 -35
- package/dist/esm/assets/scripts/fileInput/fileInputModel.js +26 -36
- package/dist/esm/assets/scripts/fileInput/fileInputView.js +52 -49
- package/dist/esm/assets/scripts/imageFileInput/ImageFileInput.js +60 -65
- package/dist/esm/assets/scripts/imageFileInput/ImageFileInputModel.js +78 -113
- package/dist/esm/assets/scripts/imageFileInput/ImageFileInputView.js +106 -106
- package/dist/esm/assets/scripts/imageFileInput/const/classNames.js +6 -16
- package/dist/esm/assets/scripts/index.js +2 -0
- package/dist/esm/assets/scripts/modal/Modal.js +43 -55
- package/dist/esm/assets/scripts/modal/ModalActions.js +39 -53
- package/dist/esm/assets/scripts/modal/ModalContent.js +21 -23
- package/dist/esm/assets/scripts/modal/ModalHeader.js +36 -49
- package/dist/esm/assets/scripts/modal/const/classNames.js +5 -13
- package/dist/esm/assets/scripts/modal/utils/contentUtils.js +1 -1
- package/dist/esm/assets/scripts/notification/FloatingNotification.js +90 -94
- package/dist/esm/assets/scripts/notification/FullWidthNotification.js +91 -81
- package/dist/esm/assets/scripts/notification/MessageNotification.js +91 -80
- package/dist/esm/assets/scripts/notification/Notification.js +49 -66
- package/dist/esm/assets/scripts/notification/const/classNames.js +1 -1
- package/dist/esm/assets/scripts/notification/const/icons.js +11 -25
- package/dist/esm/assets/scripts/notification/const/sizes.js +11 -19
- package/dist/esm/assets/scripts/notification/const/types.js +1 -1
- package/dist/esm/assets/scripts/notification/utils.js +28 -23
- package/dist/esm/assets/scripts/progress-bar/ProgressBar.js +139 -142
- package/dist/esm/assets/scripts/selectBox.js +71 -133
- package/dist/esm/assets/scripts/shared/ButtonCloseX.js +18 -19
- package/dist/esm/assets/scripts/slider.js +103 -123
- package/dist/esm/assets/scripts/tab.js +7 -9
- package/dist/esm/assets/scripts/table/Table.js +370 -0
- package/dist/esm/assets/scripts/table/const/classNames.js +27 -0
- package/dist/esm/assets/scripts/table/const/index.js +2 -0
- package/dist/esm/assets/scripts/table/const/types.js +1 -0
- package/dist/esm/assets/scripts/table/index.js +8 -0
- package/dist/esm/assets/scripts/tag/Tag.js +107 -116
- package/dist/esm/assets/scripts/tag/const/classNames.js +3 -7
- package/dist/esm/assets/scripts/tag/const/sizes.js +4 -4
- package/dist/esm/assets/scripts/tooltip/Tooltip.js +154 -183
- package/dist/esm/assets/scripts/tooltip/TooltipLayerManager.js +22 -26
- package/dist/esm/assets/scripts/tooltip/const/classNames.js +1 -1
- package/dist/esm/assets/scripts/tooltip/const/constants.js +14 -14
- package/dist/esm/assets/scripts/tooltip/const/icons.js +7 -7
- package/dist/esm/assets/scripts/tooltip/const/templates.js +42 -25
- package/dist/esm/assets/scripts/tooltip/utils.js +17 -18
- package/dist/esm/assets/scripts/utils/debounce.js +7 -8
- package/dist/esm/assets/scripts/utils/unifiedBox/domRenderer.js +101 -117
- package/dist/esm/assets/scripts/utils/unifiedBox/dropdownModel.js +103 -144
- package/dist/esm/assets/scripts/utils/unifiedBox/unifiedBoxController.js +179 -208
- package/dist/esm/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +165 -363
- package/dist/esm/constant/color.js +1 -1
- package/dist/esm/index.js +0 -27
- package/dist/esm/src/components/badge/Badge.js +17 -30
- package/dist/esm/src/components/badge/index.js +1 -2
- package/dist/esm/src/components/badge/utils.js +11 -10
- package/dist/esm/src/components/badge-group/BadgeGroup.js +35 -0
- package/dist/esm/src/components/badge-group/index.js +1 -0
- package/dist/esm/src/components/bread-crumb/BreadCrumb.js +48 -0
- package/dist/esm/src/components/button/Button.js +37 -58
- package/dist/esm/src/components/button/ButtonCloseX.js +12 -22
- package/dist/esm/src/components/button/ButtonStepper.js +9 -7
- package/dist/esm/src/components/button/index.js +0 -1
- package/dist/esm/src/components/button-group/ButtonGroup.js +89 -0
- package/dist/esm/src/components/button-group/index.js +1 -0
- package/dist/esm/src/components/carousel-arrow/CarouselArrow.js +26 -0
- package/dist/esm/src/components/carousel-arrow/index.js +1 -0
- package/dist/esm/src/components/carousel-number-group/CarouselNumberGroup.js +25 -0
- package/dist/esm/src/components/carousel-number-group/index.js +1 -0
- package/dist/esm/src/components/checkbox/Checkbox.js +28 -49
- package/dist/esm/src/components/checkbox/CheckboxInput.js +23 -42
- package/dist/esm/src/components/combo-box/ComboBox.js +285 -0
- package/dist/esm/src/components/data-grid/DataGrid.js +175 -0
- package/dist/esm/src/components/data-grid/DataGrid.types.js +1 -0
- package/dist/esm/src/components/data-grid/index.js +2 -0
- package/dist/esm/src/components/date-picker/CustomInput.js +16 -32
- package/dist/esm/src/components/date-picker/DatePicker.js +421 -260
- package/dist/esm/src/components/date-picker/index.js +0 -2
- package/dist/esm/src/components/date-picker/utils.js +2 -4
- package/dist/esm/src/components/divider/Divider.js +14 -25
- package/dist/esm/src/components/dot/Dot.js +11 -28
- package/dist/esm/src/components/dropdown/Dropdown.js +90 -132
- package/dist/esm/src/components/empty-state/EmptyState.js +28 -45
- package/dist/esm/src/components/featured-icon/FeaturedIcon.js +14 -33
- package/dist/esm/src/components/file-input/FileInput.js +102 -148
- package/dist/esm/src/components/horizontal-tab/HorizontalTab.js +46 -0
- package/dist/esm/src/components/horizontal-tab/index.js +1 -0
- package/dist/esm/src/components/image-file-input/ImageFileInput.js +109 -170
- package/dist/esm/src/components/image-file-input/components/ImagePreview.js +8 -17
- package/dist/esm/src/components/index.js +18 -6
- package/dist/esm/src/components/input-base/InputBase.js +189 -0
- package/dist/esm/src/components/input-base/index.js +1 -0
- package/dist/esm/src/components/modal/Modal.js +76 -105
- package/dist/esm/src/components/notification/FloatingNotification.js +52 -80
- package/dist/esm/src/components/notification/FullWidthNotification.js +67 -101
- package/dist/esm/src/components/notification/MessageNotification.js +60 -89
- package/dist/esm/src/components/notification/Notification.js +18 -36
- package/dist/esm/src/components/{input → number-input}/NumberInput.js +34 -54
- package/dist/esm/src/components/number-input/index.js +1 -0
- package/dist/esm/src/components/pagination/NavButton.js +28 -42
- package/dist/esm/src/components/pagination/Pagination.js +58 -97
- package/dist/esm/src/components/password-input/PasswordInput.js +48 -0
- package/dist/esm/src/components/password-input/index.js +1 -0
- package/dist/esm/src/components/progress-bar/ProgressBar.js +45 -60
- package/dist/esm/src/components/progress-bar/components/SegmentBar.js +11 -9
- package/dist/esm/src/components/progress-bar/components/SegmentLabels.js +32 -43
- package/dist/esm/src/components/progress-bar/hooks/useProgressBar.js +59 -78
- package/dist/esm/src/components/progress-bar/utils.js +8 -8
- package/dist/esm/src/components/progress-circle/ProgressCircle.js +49 -72
- package/dist/esm/src/components/radio/Radio.js +24 -43
- package/dist/esm/src/components/radio/RadioInput.js +18 -36
- package/dist/esm/src/components/range-date-picker/RangeDatePicker.js +141 -0
- package/dist/esm/src/components/range-date-picker/index.js +1 -0
- package/dist/esm/src/components/range-date-picker-with-buttons/RangeDatePickerWithButtons.js +75 -0
- package/dist/esm/src/components/range-date-picker-with-buttons/index.js +1 -0
- package/dist/esm/src/components/select/Select.js +36 -63
- package/dist/esm/src/components/select-box/SelectBox.js +254 -0
- package/dist/esm/src/components/select-dropdown/SelectDropdown.js +64 -100
- package/dist/esm/src/components/shared/hintText/HintText.js +13 -30
- package/dist/esm/src/components/shared/label/Label.js +12 -29
- package/dist/esm/src/components/slider/Slider.js +25 -28
- package/dist/esm/src/components/spinner/Spinner.js +25 -39
- package/dist/esm/src/components/switch/Switch.js +44 -69
- package/dist/esm/src/components/tab/TabButton.js +41 -61
- package/dist/esm/src/components/tab/index.js +1 -3
- package/dist/esm/src/components/table/Table.js +374 -0
- package/dist/esm/src/components/table/index.js +1 -0
- package/dist/esm/src/components/table/types.js +1 -0
- package/dist/esm/src/components/tag/Tag.js +65 -85
- package/dist/esm/src/components/textarea/Textarea.js +72 -0
- package/dist/esm/src/components/textarea/index.js +1 -0
- package/dist/esm/src/components/toggle/Toggle.js +28 -52
- package/dist/esm/src/components/tooltip/Tooltip.js +75 -108
- package/dist/esm/src/components/vertical-tab/VerticalTab.js +40 -0
- package/dist/esm/src/components/vertical-tab/index.js +1 -0
- package/dist/esm/src/constant/breakpoint.js +3 -3
- package/dist/esm/src/constant/date-picker.js +1 -1
- package/dist/esm/src/constant/size.js +1 -1
- package/dist/esm/src/hooks/dropdown/useDropdown.js +58 -60
- package/dist/esm/src/hooks/dropdown/useDropdownKeyboard.js +37 -40
- package/dist/esm/src/hooks/dropdown/useDropdownPosition.js +7 -9
- package/dist/esm/src/hooks/dropdown/useOutsideClick.js +11 -11
- package/dist/esm/src/hooks/dropdown/useScrollLock.js +23 -19
- package/dist/esm/src/hooks/dropdown/useWindowResize.js +12 -13
- package/dist/esm/src/hooks/useCallbackRef.js +2 -2
- package/dist/esm/src/hooks/useMediaQuery.js +8 -11
- package/dist/esm/src/hooks/useMergeRefs.js +2 -2
- package/dist/esm/src/utils/date-picker.js +29 -30
- package/dist/esm/src/utils/dropdown/dropdownUtils.js +39 -35
- package/dist/esm/src/utils/dropdown/multiSelect.js +25 -45
- package/dist/temp/assets/scripts/baseBox.js +53 -57
- package/dist/temp/assets/scripts/comboBox.js +62 -93
- package/dist/temp/assets/scripts/datePicker.js +286 -293
- package/dist/temp/assets/scripts/featuredIcon.js +40 -47
- package/dist/temp/assets/scripts/fileInput/const/classNames.js +4 -8
- package/dist/temp/assets/scripts/fileInput/fileInput.js +29 -33
- package/dist/temp/assets/scripts/fileInput/fileInputModel.js +24 -32
- package/dist/temp/assets/scripts/fileInput/fileInputView.js +52 -49
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInput.js +57 -63
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInputModel.js +79 -99
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInputView.js +106 -104
- package/dist/temp/assets/scripts/imageFileInput/const/classNames.js +6 -10
- package/dist/temp/assets/scripts/index.d.ts +2 -0
- package/dist/temp/assets/scripts/index.js +2 -0
- package/dist/temp/assets/scripts/modal/Modal.js +46 -52
- package/dist/temp/assets/scripts/modal/ModalActions.js +42 -50
- package/dist/temp/assets/scripts/modal/ModalContent.js +21 -23
- package/dist/temp/assets/scripts/modal/ModalHeader.js +40 -46
- package/dist/temp/assets/scripts/modal/const/classNames.js +5 -5
- package/dist/temp/assets/scripts/modal/utils/contentUtils.js +1 -1
- package/dist/temp/assets/scripts/notification/FloatingNotification.js +80 -77
- package/dist/temp/assets/scripts/notification/FullWidthNotification.js +78 -62
- package/dist/temp/assets/scripts/notification/MessageNotification.js +81 -64
- package/dist/temp/assets/scripts/notification/Notification.js +48 -62
- package/dist/temp/assets/scripts/notification/const/classNames.js +1 -1
- package/dist/temp/assets/scripts/notification/const/icons.js +11 -25
- package/dist/temp/assets/scripts/notification/const/sizes.js +11 -11
- package/dist/temp/assets/scripts/notification/const/types.js +1 -1
- package/dist/temp/assets/scripts/notification/utils.js +31 -26
- package/dist/temp/assets/scripts/progress-bar/ProgressBar.js +124 -119
- package/dist/temp/assets/scripts/selectBox.js +81 -105
- package/dist/temp/assets/scripts/shared/ButtonCloseX.js +14 -13
- package/dist/temp/assets/scripts/slider.js +105 -113
- package/dist/temp/assets/scripts/tab.js +7 -9
- package/dist/temp/assets/scripts/table/Table.d.ts +41 -0
- package/dist/temp/assets/scripts/table/Table.js +378 -0
- package/dist/temp/assets/scripts/table/const/classNames.d.ts +27 -0
- package/dist/temp/assets/scripts/table/const/classNames.js +27 -0
- package/dist/temp/assets/scripts/table/const/index.d.ts +2 -0
- package/dist/temp/assets/scripts/table/const/index.js +2 -0
- package/dist/temp/assets/scripts/table/const/types.d.ts +23 -0
- package/dist/temp/assets/scripts/table/const/types.js +1 -0
- package/dist/temp/assets/scripts/table/index.d.ts +3 -0
- package/dist/temp/assets/scripts/table/index.js +8 -0
- package/dist/temp/assets/scripts/tag/Tag.js +104 -112
- package/dist/temp/assets/scripts/tag/const/classNames.js +3 -3
- package/dist/temp/assets/scripts/tag/const/sizes.js +4 -4
- package/dist/temp/assets/scripts/tooltip/Tooltip.js +125 -150
- package/dist/temp/assets/scripts/tooltip/TooltipLayerManager.js +20 -23
- package/dist/temp/assets/scripts/tooltip/const/classNames.js +1 -1
- package/dist/temp/assets/scripts/tooltip/const/constants.d.ts +1 -1
- package/dist/temp/assets/scripts/tooltip/const/constants.js +14 -14
- package/dist/temp/assets/scripts/tooltip/const/icons.js +7 -7
- package/dist/temp/assets/scripts/tooltip/const/templates.js +42 -13
- package/dist/temp/assets/scripts/tooltip/utils.js +13 -15
- package/dist/temp/assets/scripts/utils/debounce.js +5 -9
- package/dist/temp/assets/scripts/utils/unifiedBox/domRenderer.js +96 -105
- package/dist/temp/assets/scripts/utils/unifiedBox/dropdownModel.js +96 -121
- package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxController.js +170 -193
- package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +173 -250
- package/dist/temp/constant/color.js +1 -1
- package/dist/temp/index.d.ts +0 -27
- package/dist/temp/index.js +0 -27
- package/dist/temp/src/components/badge/Badge.js +3 -15
- package/dist/temp/src/components/badge/index.d.ts +0 -1
- package/dist/temp/src/components/badge/index.js +0 -1
- package/dist/temp/src/components/badge/utils.js +5 -7
- package/dist/{types/src/components/badge → temp/src/components/badge-group}/BadgeGroup.d.ts +1 -1
- package/dist/temp/src/components/badge-group/BadgeGroup.js +13 -0
- package/dist/temp/src/components/badge-group/index.d.ts +1 -0
- package/dist/temp/src/components/badge-group/index.js +1 -0
- package/dist/temp/src/components/bread-crumb/BreadCrumb.js +20 -0
- package/dist/temp/src/components/button/Button.js +21 -38
- package/dist/temp/src/components/button/ButtonCloseX.js +3 -15
- package/dist/temp/src/components/button/ButtonStepper.js +2 -3
- package/dist/temp/src/components/button/index.d.ts +0 -1
- package/dist/temp/src/components/button/index.js +0 -1
- package/dist/{types/src/components/button → temp/src/components/button-group}/ButtonGroup.d.ts +5 -4
- package/dist/temp/src/components/button-group/ButtonGroup.js +51 -0
- package/dist/temp/src/components/button-group/index.d.ts +1 -0
- package/dist/temp/src/components/button-group/index.js +1 -0
- package/dist/temp/src/components/carousel-arrow/CarouselArrow.js +9 -0
- package/dist/temp/src/components/carousel-arrow/index.d.ts +1 -0
- package/dist/temp/src/components/carousel-arrow/index.js +1 -0
- package/dist/temp/src/components/carousel-number-group/CarouselNumberGroup.js +10 -0
- package/dist/{types/src/components/carousel → temp/src/components/carousel-number-group}/index.d.ts +0 -1
- package/dist/temp/src/components/{carousel → carousel-number-group}/index.js +0 -1
- package/dist/temp/src/components/checkbox/Checkbox.js +2 -25
- package/dist/temp/src/components/checkbox/CheckboxInput.js +6 -29
- package/dist/temp/src/components/combo-box/ComboBox.js +166 -0
- package/dist/temp/src/components/data-grid/DataGrid.d.ts +28 -0
- package/dist/temp/src/components/data-grid/DataGrid.js +88 -0
- package/dist/temp/src/components/data-grid/DataGrid.types.d.ts +35 -0
- package/dist/temp/src/components/data-grid/DataGrid.types.js +1 -0
- package/dist/temp/src/components/data-grid/index.d.ts +2 -0
- package/dist/temp/src/components/data-grid/index.js +2 -0
- package/dist/temp/src/components/date-picker/CustomInput.js +5 -28
- package/dist/temp/src/components/date-picker/DatePicker.d.ts +11 -7
- package/dist/temp/src/components/date-picker/DatePicker.js +394 -221
- package/dist/temp/src/components/date-picker/index.d.ts +0 -2
- package/dist/temp/src/components/date-picker/index.js +0 -2
- package/dist/temp/src/components/date-picker/utils.js +1 -2
- package/dist/temp/src/components/divider/Divider.js +1 -15
- package/dist/temp/src/components/dot/Dot.js +2 -25
- package/dist/temp/src/components/dropdown/Dropdown.js +23 -39
- package/dist/temp/src/components/empty-state/EmptyState.js +3 -29
- package/dist/temp/src/components/featured-icon/FeaturedIcon.js +3 -26
- package/dist/temp/src/components/file-input/FileInput.d.ts +1 -1
- package/dist/temp/src/components/file-input/FileInput.js +33 -69
- package/dist/{types/src/components/tab → temp/src/components/horizontal-tab}/HorizontalTab.d.ts +1 -1
- package/dist/temp/src/components/horizontal-tab/HorizontalTab.js +24 -0
- package/dist/temp/src/components/horizontal-tab/index.d.ts +1 -0
- package/dist/temp/src/components/horizontal-tab/index.js +1 -0
- package/dist/temp/src/components/image-file-input/ImageFileInput.d.ts +1 -1
- package/dist/temp/src/components/image-file-input/ImageFileInput.js +45 -73
- package/dist/temp/src/components/image-file-input/components/ImagePreview.js +2 -14
- package/dist/temp/src/components/index.d.ts +17 -5
- package/dist/temp/src/components/index.js +17 -5
- package/dist/temp/src/components/{input → input-base}/InputBase.d.ts +1 -0
- package/dist/temp/src/components/input-base/InputBase.js +96 -0
- package/dist/temp/src/components/input-base/index.d.ts +1 -0
- package/dist/temp/src/components/input-base/index.js +1 -0
- package/dist/temp/src/components/modal/Modal.js +15 -41
- package/dist/temp/src/components/notification/FloatingNotification.js +11 -34
- package/dist/temp/src/components/notification/FullWidthNotification.js +12 -35
- package/dist/temp/src/components/notification/MessageNotification.js +8 -31
- package/dist/temp/src/components/notification/Notification.js +4 -27
- package/dist/{types/src/components/input → temp/src/components/number-input}/NumberInput.d.ts +1 -1
- package/dist/temp/src/components/number-input/NumberInput.js +68 -0
- package/dist/temp/src/components/number-input/index.d.ts +1 -0
- package/dist/temp/src/components/number-input/index.js +1 -0
- package/dist/temp/src/components/pagination/NavButton.js +19 -31
- package/dist/temp/src/components/pagination/Pagination.js +33 -60
- package/dist/temp/src/components/{input → password-input}/PasswordInput.d.ts +1 -1
- package/dist/temp/src/components/password-input/PasswordInput.js +28 -0
- package/dist/temp/src/components/password-input/index.d.ts +1 -0
- package/dist/temp/src/components/password-input/index.js +1 -0
- package/dist/temp/src/components/progress-bar/ProgressBar.js +10 -22
- package/dist/temp/src/components/progress-bar/components/SegmentBar.js +5 -6
- package/dist/temp/src/components/progress-bar/components/SegmentLabels.js +11 -24
- package/dist/temp/src/components/progress-bar/hooks/useProgressBar.js +36 -45
- package/dist/temp/src/components/progress-bar/utils.js +8 -8
- package/dist/temp/src/components/progress-circle/ProgressCircle.js +5 -17
- package/dist/temp/src/components/radio/Radio.js +2 -25
- package/dist/temp/src/components/radio/RadioInput.js +2 -25
- package/dist/{types/src/components/date-picker → temp/src/components/range-date-picker}/RangeDatePicker.d.ts +1 -1
- package/dist/temp/src/components/range-date-picker/RangeDatePicker.js +104 -0
- package/dist/temp/src/components/range-date-picker/index.d.ts +1 -0
- package/dist/temp/src/components/range-date-picker/index.js +1 -0
- package/dist/{types/src/components/date-picker → temp/src/components/range-date-picker-with-buttons}/RangeDatePickerWithButtons.d.ts +1 -1
- package/dist/temp/src/components/range-date-picker-with-buttons/RangeDatePickerWithButtons.js +43 -0
- package/dist/temp/src/components/range-date-picker-with-buttons/index.d.ts +1 -0
- package/dist/temp/src/components/range-date-picker-with-buttons/index.js +1 -0
- package/dist/temp/src/components/select/Select.js +3 -26
- package/dist/temp/src/components/select-box/SelectBox.js +130 -0
- package/dist/temp/src/components/select-dropdown/SelectDropdown.js +11 -34
- package/dist/temp/src/components/shared/hintText/HintText.js +2 -25
- package/dist/temp/src/components/shared/label/Label.js +2 -25
- package/dist/temp/src/components/slider/Slider.js +15 -16
- package/dist/temp/src/components/spinner/Spinner.js +4 -17
- package/dist/temp/src/components/switch/Switch.js +17 -30
- package/dist/temp/src/components/tab/TabButton.js +6 -29
- package/dist/temp/src/components/tab/index.d.ts +0 -2
- package/dist/temp/src/components/tab/index.js +0 -2
- package/dist/temp/src/components/table/Table.d.ts +48 -0
- package/dist/temp/src/components/table/Table.js +199 -0
- package/dist/temp/src/components/table/index.d.ts +1 -0
- package/dist/temp/src/components/table/index.js +1 -0
- package/dist/temp/src/components/table/types.d.ts +47 -0
- package/dist/temp/src/components/table/types.js +1 -0
- package/dist/temp/src/components/tag/Tag.js +39 -53
- package/dist/temp/src/components/textarea/Textarea.js +34 -0
- package/dist/temp/src/components/textarea/index.d.ts +1 -0
- package/dist/temp/src/components/textarea/index.js +1 -0
- package/dist/temp/src/components/toggle/Toggle.js +3 -26
- package/dist/temp/src/components/tooltip/Tooltip.js +49 -67
- package/dist/temp/src/components/{tab → vertical-tab}/VerticalTab.d.ts +1 -1
- package/dist/temp/src/components/vertical-tab/VerticalTab.js +20 -0
- package/dist/temp/src/components/vertical-tab/index.d.ts +1 -0
- package/dist/temp/src/components/vertical-tab/index.js +1 -0
- package/dist/temp/src/constant/breakpoint.js +3 -3
- package/dist/temp/src/constant/date-picker.js +1 -1
- package/dist/temp/src/constant/size.js +1 -1
- package/dist/temp/src/hooks/dropdown/useDropdown.js +37 -37
- package/dist/temp/src/hooks/dropdown/useDropdownKeyboard.js +26 -27
- package/dist/temp/src/hooks/dropdown/useDropdownPosition.js +7 -7
- package/dist/temp/src/hooks/dropdown/useOutsideClick.js +7 -7
- package/dist/temp/src/hooks/dropdown/useScrollLock.js +17 -17
- package/dist/temp/src/hooks/dropdown/useWindowResize.js +10 -11
- package/dist/temp/src/hooks/useCallbackRef.js +2 -2
- package/dist/temp/src/hooks/useMediaQuery.js +8 -9
- package/dist/temp/src/hooks/useMergeRefs.js +2 -2
- package/dist/temp/src/utils/date-picker.js +23 -25
- package/dist/temp/src/utils/dropdown/dropdownUtils.js +26 -27
- package/dist/temp/src/utils/dropdown/multiSelect.js +23 -25
- package/dist/types/assets/scripts/index.d.ts +2 -0
- package/dist/types/assets/scripts/table/Table.d.ts +41 -0
- package/dist/types/assets/scripts/table/const/classNames.d.ts +27 -0
- package/dist/types/assets/scripts/table/const/index.d.ts +2 -0
- package/dist/types/assets/scripts/table/const/types.d.ts +23 -0
- package/dist/types/assets/scripts/table/index.d.ts +3 -0
- package/dist/types/assets/scripts/tooltip/const/constants.d.ts +1 -1
- package/dist/types/index.d.ts +0 -27
- package/dist/types/src/components/badge/index.d.ts +0 -1
- package/dist/{temp/src/components/badge → types/src/components/badge-group}/BadgeGroup.d.ts +1 -1
- package/dist/types/src/components/badge-group/index.d.ts +1 -0
- package/dist/types/src/components/button/index.d.ts +0 -1
- package/dist/{temp/src/components/button → types/src/components/button-group}/ButtonGroup.d.ts +5 -4
- package/dist/types/src/components/button-group/index.d.ts +1 -0
- package/dist/types/src/components/carousel-arrow/index.d.ts +1 -0
- package/dist/{temp/src/components/carousel → types/src/components/carousel-number-group}/index.d.ts +0 -1
- package/dist/types/src/components/data-grid/DataGrid.d.ts +28 -0
- package/dist/types/src/components/data-grid/DataGrid.types.d.ts +35 -0
- package/dist/types/src/components/data-grid/index.d.ts +2 -0
- package/dist/types/src/components/date-picker/DatePicker.d.ts +11 -7
- package/dist/types/src/components/date-picker/index.d.ts +0 -2
- package/dist/types/src/components/file-input/FileInput.d.ts +1 -1
- package/dist/{temp/src/components/tab → types/src/components/horizontal-tab}/HorizontalTab.d.ts +1 -1
- package/dist/types/src/components/horizontal-tab/index.d.ts +1 -0
- package/dist/types/src/components/image-file-input/ImageFileInput.d.ts +1 -1
- package/dist/types/src/components/index.d.ts +17 -5
- package/dist/types/src/components/{input → input-base}/InputBase.d.ts +1 -0
- package/dist/types/src/components/input-base/index.d.ts +1 -0
- package/dist/{temp/src/components/input → types/src/components/number-input}/NumberInput.d.ts +1 -1
- package/dist/types/src/components/number-input/index.d.ts +1 -0
- package/dist/types/src/components/{input → password-input}/PasswordInput.d.ts +1 -1
- package/dist/types/src/components/password-input/index.d.ts +1 -0
- package/dist/{temp/src/components/date-picker → types/src/components/range-date-picker}/RangeDatePicker.d.ts +1 -1
- package/dist/types/src/components/range-date-picker/index.d.ts +1 -0
- package/dist/{temp/src/components/date-picker → types/src/components/range-date-picker-with-buttons}/RangeDatePickerWithButtons.d.ts +1 -1
- package/dist/types/src/components/range-date-picker-with-buttons/index.d.ts +1 -0
- package/dist/types/src/components/tab/index.d.ts +0 -2
- package/dist/types/src/components/table/Table.d.ts +48 -0
- package/dist/types/src/components/table/index.d.ts +1 -0
- package/dist/types/src/components/table/types.d.ts +47 -0
- package/dist/types/src/components/textarea/index.d.ts +1 -0
- package/dist/types/src/components/{tab → vertical-tab}/VerticalTab.d.ts +1 -1
- package/dist/types/src/components/vertical-tab/index.d.ts +1 -0
- package/dist/ui-admin/assets/styles/style.css +735 -168
- package/package.json +2 -1
- package/dist/cjs/src/components/badge/BadgeGroup.js +0 -62
- package/dist/cjs/src/components/breadcrumb/BreadCrumb.js +0 -66
- package/dist/cjs/src/components/button/ButtonGroup.js +0 -116
- package/dist/cjs/src/components/carousel/CarouselArrow.js +0 -41
- package/dist/cjs/src/components/carousel/CarouselNumberGroup.js +0 -45
- package/dist/cjs/src/components/combobox/ComboBox.js +0 -349
- package/dist/cjs/src/components/date-picker/RangeDatePicker.js +0 -154
- package/dist/cjs/src/components/date-picker/RangeDatePickerWithButtons.js +0 -99
- package/dist/cjs/src/components/input/InputBase.js +0 -229
- package/dist/cjs/src/components/input/NumberInput.js +0 -132
- package/dist/cjs/src/components/input/PasswordInput.js +0 -72
- package/dist/cjs/src/components/input/Textarea.js +0 -107
- package/dist/cjs/src/components/input/index.js +0 -49
- package/dist/cjs/src/components/selectbox/SelectBox.js +0 -318
- package/dist/cjs/src/components/tab/HorizontalTab.js +0 -68
- package/dist/cjs/src/components/tab/VerticalTab.js +0 -60
- package/dist/esm/src/components/badge/BadgeGroup.js +0 -55
- package/dist/esm/src/components/breadcrumb/BreadCrumb.js +0 -59
- package/dist/esm/src/components/button/ButtonGroup.js +0 -108
- package/dist/esm/src/components/carousel/CarouselArrow.js +0 -33
- package/dist/esm/src/components/carousel/CarouselNumberGroup.js +0 -37
- package/dist/esm/src/components/carousel/index.js +0 -2
- package/dist/esm/src/components/combobox/ComboBox.js +0 -343
- package/dist/esm/src/components/date-picker/RangeDatePicker.js +0 -148
- package/dist/esm/src/components/date-picker/RangeDatePickerWithButtons.js +0 -93
- package/dist/esm/src/components/input/InputBase.js +0 -223
- package/dist/esm/src/components/input/PasswordInput.js +0 -65
- package/dist/esm/src/components/input/Textarea.js +0 -100
- package/dist/esm/src/components/input/index.js +0 -4
- package/dist/esm/src/components/selectbox/SelectBox.js +0 -312
- package/dist/esm/src/components/tab/HorizontalTab.js +0 -61
- package/dist/esm/src/components/tab/VerticalTab.js +0 -52
- package/dist/temp/src/components/badge/BadgeGroup.js +0 -36
- package/dist/temp/src/components/breadcrumb/BreadCrumb.js +0 -33
- package/dist/temp/src/components/button/ButtonGroup.js +0 -72
- package/dist/temp/src/components/carousel/CarouselArrow.js +0 -24
- package/dist/temp/src/components/carousel/CarouselNumberGroup.js +0 -24
- package/dist/temp/src/components/combobox/ComboBox.js +0 -199
- package/dist/temp/src/components/date-picker/RangeDatePicker.js +0 -117
- package/dist/temp/src/components/date-picker/RangeDatePickerWithButtons.js +0 -55
- package/dist/temp/src/components/input/InputBase.js +0 -121
- package/dist/temp/src/components/input/NumberInput.js +0 -93
- package/dist/temp/src/components/input/PasswordInput.js +0 -51
- package/dist/temp/src/components/input/Textarea.js +0 -60
- package/dist/temp/src/components/input/index.d.ts +0 -4
- package/dist/temp/src/components/input/index.js +0 -4
- package/dist/temp/src/components/selectbox/SelectBox.js +0 -163
- package/dist/temp/src/components/tab/HorizontalTab.js +0 -37
- package/dist/temp/src/components/tab/VerticalTab.js +0 -32
- package/dist/types/src/components/input/index.d.ts +0 -4
- /package/dist/cjs/src/components/{breadcrumb → bread-crumb}/index.js +0 -0
- /package/dist/cjs/src/components/{combobox → combo-box}/index.js +0 -0
- /package/dist/cjs/src/components/{selectbox → select-box}/index.js +0 -0
- /package/dist/esm/src/components/{breadcrumb → bread-crumb}/index.js +0 -0
- /package/dist/esm/src/components/{combobox → combo-box}/index.js +0 -0
- /package/dist/esm/src/components/{selectbox → select-box}/index.js +0 -0
- /package/dist/temp/src/components/{breadcrumb → bread-crumb}/BreadCrumb.d.ts +0 -0
- /package/dist/temp/src/components/{breadcrumb → bread-crumb}/index.d.ts +0 -0
- /package/dist/temp/src/components/{breadcrumb → bread-crumb}/index.js +0 -0
- /package/dist/temp/src/components/{carousel → carousel-arrow}/CarouselArrow.d.ts +0 -0
- /package/dist/temp/src/components/{carousel → carousel-number-group}/CarouselNumberGroup.d.ts +0 -0
- /package/dist/temp/src/components/{combobox → combo-box}/ComboBox.d.ts +0 -0
- /package/dist/temp/src/components/{combobox → combo-box}/index.d.ts +0 -0
- /package/dist/temp/src/components/{combobox → combo-box}/index.js +0 -0
- /package/dist/temp/src/components/{selectbox → select-box}/SelectBox.d.ts +0 -0
- /package/dist/temp/src/components/{selectbox → select-box}/index.d.ts +0 -0
- /package/dist/temp/src/components/{selectbox → select-box}/index.js +0 -0
- /package/dist/temp/src/components/{input → textarea}/Textarea.d.ts +0 -0
- /package/dist/types/src/components/{breadcrumb → bread-crumb}/BreadCrumb.d.ts +0 -0
- /package/dist/types/src/components/{breadcrumb → bread-crumb}/index.d.ts +0 -0
- /package/dist/types/src/components/{carousel → carousel-arrow}/CarouselArrow.d.ts +0 -0
- /package/dist/types/src/components/{carousel → carousel-number-group}/CarouselNumberGroup.d.ts +0 -0
- /package/dist/types/src/components/{combobox → combo-box}/ComboBox.d.ts +0 -0
- /package/dist/types/src/components/{combobox → combo-box}/index.d.ts +0 -0
- /package/dist/types/src/components/{selectbox → select-box}/SelectBox.d.ts +0 -0
- /package/dist/types/src/components/{selectbox → select-box}/index.d.ts +0 -0
- /package/dist/types/src/components/{input → textarea}/Textarea.d.ts +0 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RangeDatePicker = void 0;
|
|
7
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
+
var _moment = _interopRequireDefault(require("moment"));
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
var _DatePicker = require("../date-picker/DatePicker");
|
|
11
|
+
var _utils = require("../date-picker/utils");
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
const RangeDatePicker = exports.RangeDatePicker = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
14
|
+
let {
|
|
15
|
+
startDateOptions,
|
|
16
|
+
endDateOptions,
|
|
17
|
+
validationOption,
|
|
18
|
+
onDateValidation,
|
|
19
|
+
size = 'xs'
|
|
20
|
+
} = _ref;
|
|
21
|
+
const getOverlapResult = (0, _react.useCallback)(type => {
|
|
22
|
+
if (type === 'start' && (0, _moment.default)(startDateOptions.currentDate).isAfter(endDateOptions.currentDate)) {
|
|
23
|
+
return {
|
|
24
|
+
newDate: endDateOptions.currentDate,
|
|
25
|
+
currentDate: startDateOptions.currentDate
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
if (type === 'end' && (0, _moment.default)(endDateOptions.currentDate).isBefore(startDateOptions.currentDate)) {
|
|
29
|
+
return {
|
|
30
|
+
newDate: startDateOptions.currentDate,
|
|
31
|
+
currentDate: endDateOptions.currentDate
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return null;
|
|
35
|
+
}, [startDateOptions.currentDate, endDateOptions.currentDate]);
|
|
36
|
+
const getSettingNewDate = (0, _react.useCallback)((type, isOverPeriod, unit, period) => {
|
|
37
|
+
if (type === 'start') {
|
|
38
|
+
if (isOverPeriod) {
|
|
39
|
+
return (0, _utils.getDateFormat)((0, _moment.default)(endDateOptions.currentDate).subtract(period, unit).toDate());
|
|
40
|
+
}
|
|
41
|
+
if ((0, _moment.default)(startDateOptions.currentDate).isAfter(endDateOptions.currentDate)) {
|
|
42
|
+
return endDateOptions.currentDate;
|
|
43
|
+
}
|
|
44
|
+
} else {
|
|
45
|
+
if (isOverPeriod) {
|
|
46
|
+
return (0, _utils.getDateFormat)((0, _moment.default)(startDateOptions.currentDate).add(period, unit).toDate());
|
|
47
|
+
}
|
|
48
|
+
if ((0, _moment.default)(endDateOptions.currentDate).isBefore(startDateOptions.currentDate)) {
|
|
49
|
+
return startDateOptions.currentDate;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return '';
|
|
53
|
+
}, [startDateOptions.currentDate, endDateOptions.currentDate]);
|
|
54
|
+
const changeSettingDateAndAlert = (0, _react.useCallback)(function (type) {
|
|
55
|
+
let isOverPeriod = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
56
|
+
if (!validationOption?.setting) {
|
|
57
|
+
const result = getOverlapResult(type);
|
|
58
|
+
if (result) {
|
|
59
|
+
onDateValidation?.({
|
|
60
|
+
type,
|
|
61
|
+
errorType: 'overlap',
|
|
62
|
+
...result
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const {
|
|
68
|
+
unit,
|
|
69
|
+
period
|
|
70
|
+
} = validationOption.setting;
|
|
71
|
+
const newDate = getSettingNewDate(type, isOverPeriod, unit, period);
|
|
72
|
+
if (newDate) {
|
|
73
|
+
onDateValidation?.({
|
|
74
|
+
type,
|
|
75
|
+
errorType: isOverPeriod ? 'period' : 'overlap',
|
|
76
|
+
newDate,
|
|
77
|
+
currentDate: type === 'start' ? startDateOptions.currentDate : endDateOptions.currentDate
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}, [startDateOptions, endDateOptions, validationOption, onDateValidation, getOverlapResult, getSettingNewDate]);
|
|
81
|
+
(0, _react.useEffect)(() => {
|
|
82
|
+
const isOverDate = (0, _moment.default)(startDateOptions.currentDate).isAfter(endDateOptions.currentDate);
|
|
83
|
+
if (isOverDate) {
|
|
84
|
+
changeSettingDateAndAlert('start');
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (!validationOption?.setting) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const {
|
|
91
|
+
unit,
|
|
92
|
+
period
|
|
93
|
+
} = validationOption.setting;
|
|
94
|
+
const isValidPeriod = (0, _moment.default)(startDateOptions.currentDate).isSameOrAfter((0, _moment.default)(endDateOptions.currentDate).subtract(period, unit));
|
|
95
|
+
if (isValidPeriod) {
|
|
96
|
+
onDateValidation?.({
|
|
97
|
+
type: 'start',
|
|
98
|
+
errorType: null,
|
|
99
|
+
newDate: startDateOptions.currentDate,
|
|
100
|
+
currentDate: startDateOptions.currentDate
|
|
101
|
+
});
|
|
102
|
+
} else {
|
|
103
|
+
changeSettingDateAndAlert('start', true);
|
|
104
|
+
}
|
|
105
|
+
}, [startDateOptions.currentDate]);
|
|
106
|
+
(0, _react.useEffect)(() => {
|
|
107
|
+
const isNotTodayEndDate = !(0, _moment.default)(endDateOptions.currentDate).isSame((0, _moment.default)(), 'day');
|
|
108
|
+
if (!validationOption?.setting || !isNotTodayEndDate) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const isOverDate = (0, _moment.default)(endDateOptions.currentDate).isBefore(startDateOptions.currentDate);
|
|
112
|
+
if (isOverDate) {
|
|
113
|
+
changeSettingDateAndAlert('end');
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const {
|
|
117
|
+
unit,
|
|
118
|
+
period
|
|
119
|
+
} = validationOption.setting;
|
|
120
|
+
const isValidPeriod = (0, _moment.default)(endDateOptions.currentDate).isSameOrBefore((0, _moment.default)(startDateOptions.currentDate).add(period, unit));
|
|
121
|
+
if (isValidPeriod) {
|
|
122
|
+
onDateValidation?.({
|
|
123
|
+
type: 'end',
|
|
124
|
+
errorType: null,
|
|
125
|
+
newDate: endDateOptions.currentDate,
|
|
126
|
+
currentDate: endDateOptions.currentDate
|
|
127
|
+
});
|
|
128
|
+
} else {
|
|
129
|
+
changeSettingDateAndAlert('end', true);
|
|
130
|
+
}
|
|
131
|
+
}, [endDateOptions.currentDate]);
|
|
132
|
+
return (0, _jsxRuntime.jsxs)("div", {
|
|
133
|
+
className: "ncua-range-date-picker",
|
|
134
|
+
ref: ref || undefined,
|
|
135
|
+
children: [(0, _jsxRuntime.jsx)(_DatePicker.DatePicker, {
|
|
136
|
+
...startDateOptions,
|
|
137
|
+
ref: undefined,
|
|
138
|
+
size: size
|
|
139
|
+
}), "~", (0, _jsxRuntime.jsx)(_DatePicker.DatePicker, {
|
|
140
|
+
isEndDate: true,
|
|
141
|
+
...endDateOptions,
|
|
142
|
+
ref: undefined,
|
|
143
|
+
size: size
|
|
144
|
+
})]
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
RangeDatePicker.displayName = 'RangeDatePicker';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _RangeDatePicker = require("./RangeDatePicker");
|
|
7
|
+
Object.keys(_RangeDatePicker).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _RangeDatePicker[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _RangeDatePicker[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.RangeDatePickerWithButtons = void 0;
|
|
7
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _datePicker = require("../../constant/date-picker");
|
|
10
|
+
var _datePicker2 = require("../../utils/date-picker");
|
|
11
|
+
var _buttonGroup = require("../button-group");
|
|
12
|
+
var _RangeDatePicker = require("../range-date-picker/RangeDatePicker");
|
|
13
|
+
const RangeDatePickerWithButtons = _ref => {
|
|
14
|
+
let {
|
|
15
|
+
useYesterdayAsEndDate = false,
|
|
16
|
+
size = 'xs',
|
|
17
|
+
currentButtonId,
|
|
18
|
+
setCurrentButtonId,
|
|
19
|
+
startDateOptions,
|
|
20
|
+
endDateOptions,
|
|
21
|
+
validationOption,
|
|
22
|
+
periodKeys,
|
|
23
|
+
periodItems,
|
|
24
|
+
onDateValidation
|
|
25
|
+
} = _ref;
|
|
26
|
+
const items = periodItems ?? _datePicker.PERIOD_ITEM;
|
|
27
|
+
const setCalculatedDate = () => {
|
|
28
|
+
const currentPeriodItem = items[currentButtonId];
|
|
29
|
+
if (!currentPeriodItem) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
if (currentButtonId === 'ENTIRE') {
|
|
33
|
+
startDateOptions.onChangeDate('');
|
|
34
|
+
endDateOptions.onChangeDate('');
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const startDate = (0, _datePicker2.getDateFormat)((0, _datePicker2.getSubtractDate)({
|
|
38
|
+
period: currentPeriodItem.period,
|
|
39
|
+
unit: currentPeriodItem.unit
|
|
40
|
+
}));
|
|
41
|
+
startDateOptions.onChangeDate(startDate);
|
|
42
|
+
const endDate = useYesterdayAsEndDate ? (0, _datePicker2.getDateFormat)((0, _datePicker2.getSubtractDate)({
|
|
43
|
+
period: 1,
|
|
44
|
+
unit: 'days'
|
|
45
|
+
})) : (0, _datePicker2.getDateFormat)();
|
|
46
|
+
endDateOptions.onChangeDate(endDate);
|
|
47
|
+
};
|
|
48
|
+
const handleOnChangeDate = (date, type) => {
|
|
49
|
+
type === 'START' ? startDateOptions.onChangeDate(date) : endDateOptions.onChangeDate(date);
|
|
50
|
+
currentButtonId && setCurrentButtonId('NONE');
|
|
51
|
+
};
|
|
52
|
+
(0, _react.useEffect)(() => {
|
|
53
|
+
if (currentButtonId !== 'NONE') {
|
|
54
|
+
setCalculatedDate();
|
|
55
|
+
}
|
|
56
|
+
}, [currentButtonId]);
|
|
57
|
+
return (0, _jsxRuntime.jsxs)("div", {
|
|
58
|
+
className: "ncua-range-date-picker-with-buttons",
|
|
59
|
+
children: [(0, _jsxRuntime.jsx)(_buttonGroup.ButtonGroup, {
|
|
60
|
+
size: size,
|
|
61
|
+
children: periodKeys.map(key => (0, _jsxRuntime.jsx)(_buttonGroup.ButtonGroup.Item, {
|
|
62
|
+
isCurrent: currentButtonId === key,
|
|
63
|
+
label: items[key].text,
|
|
64
|
+
onClick: () => setCurrentButtonId(key)
|
|
65
|
+
}, key))
|
|
66
|
+
}), (0, _jsxRuntime.jsx)(_RangeDatePicker.RangeDatePicker, {
|
|
67
|
+
startDateOptions: {
|
|
68
|
+
...startDateOptions,
|
|
69
|
+
onChangeDate: date => handleOnChangeDate(date, 'START')
|
|
70
|
+
},
|
|
71
|
+
endDateOptions: {
|
|
72
|
+
...endDateOptions,
|
|
73
|
+
onChangeDate: date => handleOnChangeDate(date, 'END')
|
|
74
|
+
},
|
|
75
|
+
validationOption: validationOption,
|
|
76
|
+
onDateValidation: onDateValidation,
|
|
77
|
+
size: size
|
|
78
|
+
})]
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
exports.RangeDatePickerWithButtons = RangeDatePickerWithButtons;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _RangeDatePickerWithButtons = require("./RangeDatePickerWithButtons");
|
|
7
|
+
Object.keys(_RangeDatePickerWithButtons).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _RangeDatePickerWithButtons[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _RangeDatePickerWithButtons[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -9,79 +9,52 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
9
9
|
var _react = require("react");
|
|
10
10
|
var _HintText = require("../shared/hintText/HintText");
|
|
11
11
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
var Select = exports.Select = /*#__PURE__*/(0, _react.forwardRef)(function (_a, ref) {
|
|
31
|
-
var placeholder = _a.placeholder,
|
|
32
|
-
_b = _a.disabledPlaceholder,
|
|
33
|
-
disabledPlaceholder = _b === void 0 ? false : _b,
|
|
34
|
-
id = _a.id,
|
|
35
|
-
className = _a.className,
|
|
36
|
-
hintText = _a.hintText,
|
|
37
|
-
children = _a.children,
|
|
38
|
-
_c = _a.size,
|
|
39
|
-
size = _c === void 0 ? 'md' : _c,
|
|
40
|
-
_d = _a.type,
|
|
41
|
-
type = _d === void 0 ? 'default' : _d,
|
|
42
|
-
_e = _a.destructive,
|
|
43
|
-
destructive = _e === void 0 ? false : _e,
|
|
44
|
-
value = _a.value,
|
|
45
|
-
optionItems = _a.optionItems,
|
|
46
|
-
register = _a.register,
|
|
47
|
-
_f = _a.disabled,
|
|
48
|
-
disabled = _f === void 0 ? false : _f,
|
|
49
|
-
props = __rest(_a, ["placeholder", "disabledPlaceholder", "id", "className", "hintText", "children", "size", "type", "destructive", "value", "optionItems", "register", "disabled"]);
|
|
50
|
-
return (0, _jsxRuntime.jsxs)("span", __assign({
|
|
12
|
+
const Select = exports.Select = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
13
|
+
let {
|
|
14
|
+
placeholder,
|
|
15
|
+
disabledPlaceholder = false,
|
|
16
|
+
id,
|
|
17
|
+
className,
|
|
18
|
+
hintText,
|
|
19
|
+
children,
|
|
20
|
+
size = 'xs',
|
|
21
|
+
type = 'default',
|
|
22
|
+
destructive = false,
|
|
23
|
+
value,
|
|
24
|
+
optionItems,
|
|
25
|
+
register,
|
|
26
|
+
disabled = false,
|
|
27
|
+
...props
|
|
28
|
+
} = _ref;
|
|
29
|
+
return (0, _jsxRuntime.jsxs)("span", {
|
|
51
30
|
className: (0, _classnames.default)('ncua-select', {
|
|
52
31
|
destructive: destructive,
|
|
53
32
|
'ncua-select--simple': type === 'simple'
|
|
54
|
-
}, className,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}, {
|
|
59
|
-
children: (0, _jsxRuntime.jsxs)("select", __assign({
|
|
33
|
+
}, className, `ncua-select--${size}`),
|
|
34
|
+
children: [(0, _jsxRuntime.jsx)("span", {
|
|
35
|
+
className: "ncua-select__content",
|
|
36
|
+
children: (0, _jsxRuntime.jsxs)("select", {
|
|
60
37
|
value: value,
|
|
61
38
|
ref: ref,
|
|
62
39
|
id: id,
|
|
63
40
|
className: (0, _classnames.default)('ncua-select__tag', className),
|
|
64
|
-
disabled: disabled
|
|
65
|
-
|
|
66
|
-
|
|
41
|
+
disabled: disabled,
|
|
42
|
+
...register,
|
|
43
|
+
...props,
|
|
44
|
+
children: [placeholder && (0, _jsxRuntime.jsx)("option", {
|
|
67
45
|
value: "",
|
|
68
46
|
selected: true,
|
|
69
|
-
disabled: disabledPlaceholder
|
|
70
|
-
}, {
|
|
47
|
+
disabled: disabledPlaceholder,
|
|
71
48
|
children: placeholder
|
|
72
|
-
})
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}), children]
|
|
79
|
-
}))
|
|
80
|
-
})), hintText && (0, _jsxRuntime.jsx)(_HintText.HintText, __assign({
|
|
49
|
+
}), optionItems?.map(item => (0, _jsxRuntime.jsx)("option", {
|
|
50
|
+
value: item.id,
|
|
51
|
+
children: item.label
|
|
52
|
+
}, item.id)), children]
|
|
53
|
+
})
|
|
54
|
+
}), hintText && (0, _jsxRuntime.jsx)(_HintText.HintText, {
|
|
81
55
|
destructive: destructive,
|
|
82
|
-
className: "ncua-hint-text"
|
|
83
|
-
}, {
|
|
56
|
+
className: "ncua-hint-text",
|
|
84
57
|
children: hintText
|
|
85
|
-
})
|
|
86
|
-
})
|
|
58
|
+
})]
|
|
59
|
+
});
|
|
87
60
|
});
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SelectBox = exports.DEFAULT_MAX_HEIGHT = void 0;
|
|
7
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
+
var _uiAdminIcon = require("@ncds/ui-admin-icon");
|
|
9
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
var _color = require("../../../constant/color");
|
|
12
|
+
var _dropdown = require("../../hooks/dropdown");
|
|
13
|
+
var _multiSelect = require("../../utils/dropdown/multiSelect");
|
|
14
|
+
var _selectDropdown = require("../select-dropdown");
|
|
15
|
+
var _HintText = require("../shared/hintText/HintText");
|
|
16
|
+
var _tag = require("../tag");
|
|
17
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
+
const ICON_SIZE_XS = 14;
|
|
19
|
+
const ICON_SIZE_SM = 16;
|
|
20
|
+
const DEFAULT_MAX_HEIGHT = exports.DEFAULT_MAX_HEIGHT = 275;
|
|
21
|
+
function computeNewValue(option, value, multiple) {
|
|
22
|
+
if (multiple) {
|
|
23
|
+
const currentValues = Array.isArray(value) ? value : [];
|
|
24
|
+
if (currentValues.includes(option.id)) {
|
|
25
|
+
return currentValues.filter(v => v !== option.id);
|
|
26
|
+
}
|
|
27
|
+
return [...currentValues, option.id];
|
|
28
|
+
}
|
|
29
|
+
return option.id;
|
|
30
|
+
}
|
|
31
|
+
function notifyRegister(register, newValue, multiple) {
|
|
32
|
+
if (!register?.onChange) return;
|
|
33
|
+
register.onChange({
|
|
34
|
+
target: {
|
|
35
|
+
value: multiple ? JSON.stringify(newValue) : newValue,
|
|
36
|
+
name: register.name
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function DisplayValue(_ref) {
|
|
41
|
+
let {
|
|
42
|
+
displayValue
|
|
43
|
+
} = _ref;
|
|
44
|
+
if (typeof displayValue === 'string') {
|
|
45
|
+
return (0, _jsxRuntime.jsx)("span", {
|
|
46
|
+
className: "ncua-selectbox__value-text",
|
|
47
|
+
children: displayValue
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return (0, _jsxRuntime.jsxs)("div", {
|
|
51
|
+
className: "ncua-selectbox__value-container",
|
|
52
|
+
children: [displayValue.icon && (0, _jsxRuntime.jsx)("span", {
|
|
53
|
+
className: "ncua-selectbox__value-icon",
|
|
54
|
+
children: (0, _jsxRuntime.jsx)(displayValue.icon, {
|
|
55
|
+
width: 16,
|
|
56
|
+
height: 16
|
|
57
|
+
})
|
|
58
|
+
}), (0, _jsxRuntime.jsx)("span", {
|
|
59
|
+
className: "ncua-selectbox__value-text",
|
|
60
|
+
children: displayValue.label
|
|
61
|
+
})]
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
const SelectBox = exports.SelectBox = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
|
|
65
|
+
let {
|
|
66
|
+
placeholder = '선택하세요',
|
|
67
|
+
disabledPlaceholder = false,
|
|
68
|
+
hintText,
|
|
69
|
+
size = 'xs',
|
|
70
|
+
type = 'default',
|
|
71
|
+
autoWidth = true,
|
|
72
|
+
destructive = false,
|
|
73
|
+
value,
|
|
74
|
+
optionItems = [],
|
|
75
|
+
disabled = false,
|
|
76
|
+
maxHeight = DEFAULT_MAX_HEIGHT,
|
|
77
|
+
multiple = false,
|
|
78
|
+
align = 'left',
|
|
79
|
+
id,
|
|
80
|
+
className,
|
|
81
|
+
children,
|
|
82
|
+
register,
|
|
83
|
+
onChange,
|
|
84
|
+
onEdit,
|
|
85
|
+
...props
|
|
86
|
+
} = _ref2;
|
|
87
|
+
const internalRef = (0, _react.useRef)(null);
|
|
88
|
+
const dropdownRef = (0, _react.useRef)(null);
|
|
89
|
+
const [selectedTags, setSelectedTags] = (0, _react.useState)([]);
|
|
90
|
+
const selectedOption = (0, _react.useMemo)(() => {
|
|
91
|
+
if (multiple) return null;
|
|
92
|
+
return optionItems.find(option => option.id === value);
|
|
93
|
+
}, [optionItems, value, multiple]);
|
|
94
|
+
const displayValue = (0, _react.useMemo)(() => {
|
|
95
|
+
if (multiple) {
|
|
96
|
+
return placeholder;
|
|
97
|
+
}
|
|
98
|
+
return selectedOption ? selectedOption : placeholder;
|
|
99
|
+
}, [multiple, selectedOption, placeholder]);
|
|
100
|
+
const handleOptionSelect = option => {
|
|
101
|
+
if (disabled) return;
|
|
102
|
+
const newValue = computeNewValue(option, value, multiple);
|
|
103
|
+
onChange?.(newValue);
|
|
104
|
+
notifyRegister(register, newValue, multiple);
|
|
105
|
+
};
|
|
106
|
+
const {
|
|
107
|
+
isOpen,
|
|
108
|
+
direction: dropdownDirection,
|
|
109
|
+
focusedIndex,
|
|
110
|
+
toggleDropdown,
|
|
111
|
+
closeDropdown,
|
|
112
|
+
handleKeyDown,
|
|
113
|
+
handleOptionSelect: handleDropdownSelect,
|
|
114
|
+
handleMouseMove,
|
|
115
|
+
isKeyboardNavigation,
|
|
116
|
+
setFocusedIndex
|
|
117
|
+
} = (0, _dropdown.useDropdown)({
|
|
118
|
+
triggerRef: internalRef,
|
|
119
|
+
dropdownRef,
|
|
120
|
+
maxHeight,
|
|
121
|
+
itemCount: optionItems.length,
|
|
122
|
+
optionItems,
|
|
123
|
+
disabled,
|
|
124
|
+
multiple,
|
|
125
|
+
onSelect: handleOptionSelect
|
|
126
|
+
});
|
|
127
|
+
const activeDescendantId = (0, _react.useMemo)(() => {
|
|
128
|
+
if (!isOpen || focusedIndex < 0 || focusedIndex >= optionItems.length) {
|
|
129
|
+
return undefined;
|
|
130
|
+
}
|
|
131
|
+
const focusedOption = optionItems[focusedIndex];
|
|
132
|
+
return `selectbox-options-${id || 'default'}-${focusedOption.id}`;
|
|
133
|
+
}, [isOpen, focusedIndex, optionItems, id]);
|
|
134
|
+
const handleOptionHover = (0, _react.useCallback)(index => {
|
|
135
|
+
handleMouseMove();
|
|
136
|
+
setFocusedIndex(index);
|
|
137
|
+
}, [handleMouseMove, setFocusedIndex]);
|
|
138
|
+
// Multiple select 관련 로직
|
|
139
|
+
const currentSelectedValues = multiple && Array.isArray(value) ? value : [];
|
|
140
|
+
const {
|
|
141
|
+
buttonText: selectAllButtonText,
|
|
142
|
+
toggleSelectAll,
|
|
143
|
+
getSelectedTagsData,
|
|
144
|
+
removeTag
|
|
145
|
+
} = (0, _multiSelect.useMultiSelect)(currentSelectedValues, optionItems);
|
|
146
|
+
const handleSelectAll = () => {
|
|
147
|
+
if (!multiple || !onChange) return;
|
|
148
|
+
const newSelectedValues = toggleSelectAll();
|
|
149
|
+
onChange(newSelectedValues);
|
|
150
|
+
};
|
|
151
|
+
const handleEdit = () => {
|
|
152
|
+
onEdit?.();
|
|
153
|
+
};
|
|
154
|
+
const handleComplete = () => {
|
|
155
|
+
if (multiple) {
|
|
156
|
+
const tags = getSelectedTagsData();
|
|
157
|
+
setSelectedTags(tags);
|
|
158
|
+
}
|
|
159
|
+
closeDropdown();
|
|
160
|
+
};
|
|
161
|
+
const handleRemoveTag = tagId => {
|
|
162
|
+
if (!onChange) return;
|
|
163
|
+
if (multiple) {
|
|
164
|
+
const newSelectedValues = removeTag(tagId);
|
|
165
|
+
onChange(newSelectedValues);
|
|
166
|
+
setSelectedTags(prev => prev.filter(tag => tag.id !== tagId));
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
(0, _dropdown.useScrollLock)(isOpen, dropdownRef);
|
|
170
|
+
(0, _react.useLayoutEffect)(() => {
|
|
171
|
+
if (autoWidth && isOpen && dropdownRef.current && internalRef.current) {
|
|
172
|
+
const dropdownWidth = dropdownRef.current.offsetWidth;
|
|
173
|
+
internalRef.current.style.width = `${dropdownWidth}px`;
|
|
174
|
+
}
|
|
175
|
+
}, [autoWidth, isOpen, optionItems]);
|
|
176
|
+
(0, _react.useImperativeHandle)(ref, () => internalRef.current, []);
|
|
177
|
+
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
178
|
+
children: [(0, _jsxRuntime.jsxs)("div", {
|
|
179
|
+
ref: internalRef,
|
|
180
|
+
className: (0, _classnames.default)('ncua-selectbox', `ncua-selectbox--${size}`, {
|
|
181
|
+
'ncua-selectbox--open': isOpen,
|
|
182
|
+
'ncua-selectbox--disabled': disabled,
|
|
183
|
+
'ncua-selectbox--simple': type === 'simple',
|
|
184
|
+
'ncua-selectbox--multiple': multiple,
|
|
185
|
+
destructive: destructive
|
|
186
|
+
}, className),
|
|
187
|
+
...props,
|
|
188
|
+
children: [(0, _jsxRuntime.jsxs)("div", {
|
|
189
|
+
className: (0, _classnames.default)('ncua-selectbox__content'),
|
|
190
|
+
onClick: toggleDropdown,
|
|
191
|
+
onKeyDown: handleKeyDown,
|
|
192
|
+
tabIndex: disabled ? -1 : 0,
|
|
193
|
+
role: "combobox",
|
|
194
|
+
"aria-expanded": isOpen,
|
|
195
|
+
"aria-haspopup": "listbox",
|
|
196
|
+
"aria-controls": `selectbox-options-${id || 'default'}`,
|
|
197
|
+
"aria-disabled": disabled,
|
|
198
|
+
"aria-label": selectedOption ? selectedOption.label : placeholder,
|
|
199
|
+
"aria-activedescendant": activeDescendantId,
|
|
200
|
+
children: [(0, _jsxRuntime.jsxs)("div", {
|
|
201
|
+
className: "ncua-selectbox__content-inner",
|
|
202
|
+
children: [(0, _jsxRuntime.jsx)("div", {
|
|
203
|
+
className: "ncua-selectbox__value",
|
|
204
|
+
children: (0, _jsxRuntime.jsx)(DisplayValue, {
|
|
205
|
+
displayValue: displayValue
|
|
206
|
+
})
|
|
207
|
+
}), (0, _jsxRuntime.jsx)(_uiAdminIcon.ChevronDown, {
|
|
208
|
+
width: size === 'xs' ? ICON_SIZE_XS : ICON_SIZE_SM,
|
|
209
|
+
height: size === 'xs' ? ICON_SIZE_XS : ICON_SIZE_SM,
|
|
210
|
+
color: disabled ? _color.COLOR.gray300 : _color.COLOR.gray500,
|
|
211
|
+
className: (0, _classnames.default)('ncua-selectbox__arrow', {
|
|
212
|
+
'ncua-selectbox__arrow--up': isOpen
|
|
213
|
+
})
|
|
214
|
+
})]
|
|
215
|
+
}), (0, _jsxRuntime.jsx)(_selectDropdown.SelectDropdown, {
|
|
216
|
+
ref: dropdownRef,
|
|
217
|
+
isOpen: isOpen,
|
|
218
|
+
direction: dropdownDirection,
|
|
219
|
+
size: size,
|
|
220
|
+
options: optionItems,
|
|
221
|
+
value: value,
|
|
222
|
+
focusedIndex: focusedIndex,
|
|
223
|
+
maxHeight: maxHeight,
|
|
224
|
+
listboxId: `selectbox-options-${id || 'default'}`,
|
|
225
|
+
multiple: multiple,
|
|
226
|
+
showFooterButtons: multiple,
|
|
227
|
+
selectAllButtonText: selectAllButtonText,
|
|
228
|
+
componentType: "selectbox",
|
|
229
|
+
isKeyboardNavigation: isKeyboardNavigation,
|
|
230
|
+
activeDescendantId: activeDescendantId,
|
|
231
|
+
align: align,
|
|
232
|
+
onOptionSelect: handleDropdownSelect,
|
|
233
|
+
onMouseMove: handleMouseMove,
|
|
234
|
+
onOptionHover: handleOptionHover,
|
|
235
|
+
onSelectAll: handleSelectAll,
|
|
236
|
+
onEdit: handleEdit,
|
|
237
|
+
onComplete: handleComplete,
|
|
238
|
+
children: children
|
|
239
|
+
})]
|
|
240
|
+
}), hintText && (0, _jsxRuntime.jsx)(_HintText.HintText, {
|
|
241
|
+
destructive: destructive,
|
|
242
|
+
className: "ncua-hint-text",
|
|
243
|
+
children: hintText
|
|
244
|
+
}), register && (0, _jsxRuntime.jsx)("input", {
|
|
245
|
+
type: "hidden",
|
|
246
|
+
...register,
|
|
247
|
+
value: multiple ? JSON.stringify(value || []) : String(value || '')
|
|
248
|
+
})]
|
|
249
|
+
}), selectedTags.length > 0 && (0, _jsxRuntime.jsx)("div", {
|
|
250
|
+
className: "ncua-selectbox__tags",
|
|
251
|
+
children: selectedTags.map(tag => (0, _jsxRuntime.jsx)(_tag.Tag, {
|
|
252
|
+
text: tag.label,
|
|
253
|
+
size: "sm",
|
|
254
|
+
close: true,
|
|
255
|
+
onButtonClick: () => handleRemoveTag(tag.id)
|
|
256
|
+
}, tag.id))
|
|
257
|
+
})]
|
|
258
|
+
});
|
|
259
|
+
});
|
|
260
|
+
SelectBox.displayName = 'SelectBox';
|