@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
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
// 알림 컴포넌트 사이즈 관련 상수들
|
|
2
2
|
// FeaturedIcon 사이즈
|
|
3
|
-
export
|
|
3
|
+
export const FEATURED_ICON_SIZES = {
|
|
4
4
|
MOBILE: 'md',
|
|
5
5
|
DESKTOP: 'sm',
|
|
6
6
|
};
|
|
7
7
|
// SVG 아이콘 픽셀 사이즈
|
|
8
|
-
export
|
|
8
|
+
export const ICON_PIXEL_SIZES = {
|
|
9
9
|
MOBILE: '20',
|
|
10
10
|
DESKTOP: '16',
|
|
11
11
|
FULL_WIDTH: '16', // Full-width는 항상 고정
|
|
12
12
|
};
|
|
13
13
|
// 닫기 버튼 사이즈
|
|
14
|
-
export
|
|
14
|
+
export const CLOSE_BUTTON_SIZES = {
|
|
15
15
|
MOBILE: 'sm',
|
|
16
16
|
DESKTOP: 'xs',
|
|
17
17
|
};
|
|
18
18
|
// 닫기 버튼 SVG 픽셀 사이즈
|
|
19
|
-
export
|
|
19
|
+
export const CLOSE_BUTTON_SVG_SIZES = {
|
|
20
20
|
xs: 16,
|
|
21
21
|
sm: 20,
|
|
22
22
|
};
|
|
23
23
|
// Full-width 알림 고정 사이즈
|
|
24
|
-
export
|
|
24
|
+
export const FULL_WIDTH_SIZES = {
|
|
25
25
|
ICON: '16',
|
|
26
26
|
CLOSE_BUTTON: '20',
|
|
27
27
|
};
|
|
28
28
|
// Message 알림 고정 사이즈
|
|
29
|
-
export
|
|
29
|
+
export const MESSAGE_SIZES = {
|
|
30
30
|
FEATURED_ICON: 'lg',
|
|
31
31
|
ICON_PIXEL: '24',
|
|
32
32
|
CLOSE_BUTTON: '20',
|
|
33
33
|
};
|
|
34
34
|
// 사이즈 유틸리티 함수들
|
|
35
|
-
export
|
|
36
|
-
featuredIcon:
|
|
37
|
-
iconPixel:
|
|
38
|
-
closeButton:
|
|
39
|
-
closeButtonSvg:
|
|
35
|
+
export const getSizes = {
|
|
36
|
+
featuredIcon: (isMobile) => (isMobile ? FEATURED_ICON_SIZES.MOBILE : FEATURED_ICON_SIZES.DESKTOP),
|
|
37
|
+
iconPixel: (isMobile) => (isMobile ? ICON_PIXEL_SIZES.MOBILE : ICON_PIXEL_SIZES.DESKTOP),
|
|
38
|
+
closeButton: (isMobile) => (isMobile ? CLOSE_BUTTON_SIZES.MOBILE : CLOSE_BUTTON_SIZES.DESKTOP),
|
|
39
|
+
closeButtonSvg: (size) => CLOSE_BUTTON_SVG_SIZES[size],
|
|
40
40
|
};
|
|
@@ -2,13 +2,13 @@ import { CLASS_NAMES } from './const';
|
|
|
2
2
|
import { BREAKPOINT } from '../../../src/constant/breakpoint';
|
|
3
3
|
// 공통 유틸리티 함수들
|
|
4
4
|
export function createWrapperElement(baseClass, color, className) {
|
|
5
|
-
|
|
5
|
+
const wrapper = document.createElement('div');
|
|
6
6
|
wrapper.className = buildClassName(baseClass, color, className);
|
|
7
7
|
wrapper.setAttribute('role', 'alert');
|
|
8
8
|
return wrapper;
|
|
9
9
|
}
|
|
10
10
|
export function buildClassName(baseClass, color, className) {
|
|
11
|
-
|
|
11
|
+
const classes = [baseClass, `${baseClass}--${color}`];
|
|
12
12
|
if (className) {
|
|
13
13
|
classes.push(className);
|
|
14
14
|
}
|
|
@@ -18,50 +18,55 @@ export function renderSupportingText(supportingText, className, supportTextLink)
|
|
|
18
18
|
if (!supportingText)
|
|
19
19
|
return '';
|
|
20
20
|
if (supportTextLink) {
|
|
21
|
-
return
|
|
21
|
+
return `<a href="${supportTextLink}" class="ncua-full-width-notification__link"><span class="${className}">${supportingText}</span></a>`;
|
|
22
22
|
}
|
|
23
|
-
return
|
|
23
|
+
return `<span class="${className}">${supportingText}</span>`;
|
|
24
24
|
}
|
|
25
25
|
export function renderActions(actions, wrapperClass) {
|
|
26
26
|
// 액션이 없으면 빈 문자열 반환
|
|
27
27
|
if (!actions || actions.length === 0) {
|
|
28
28
|
return '';
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
.map(
|
|
32
|
-
|
|
30
|
+
const buttonsHtml = actions
|
|
31
|
+
.map((action) => {
|
|
32
|
+
const buttonHtml = `
|
|
33
|
+
<button
|
|
34
|
+
class="ncua-btn ncua-btn--sm ncua-btn--${action.hierarchy || 'text'}"
|
|
35
|
+
data-action="${action.label}-${action.hierarchy}"
|
|
36
|
+
>
|
|
37
|
+
${action.label}
|
|
38
|
+
</button>`;
|
|
33
39
|
return buttonHtml;
|
|
34
40
|
})
|
|
35
41
|
.join('');
|
|
36
|
-
return
|
|
42
|
+
return `<div class="${wrapperClass}">${buttonsHtml}</div>`;
|
|
37
43
|
}
|
|
38
44
|
// 공통 이벤트 처리
|
|
39
45
|
export function bindNotificationEvents(element, actions, onClose, onRemove) {
|
|
40
|
-
element.addEventListener('click',
|
|
41
|
-
|
|
46
|
+
element.addEventListener('click', (event) => {
|
|
47
|
+
const target = event.target;
|
|
42
48
|
// 닫기 버튼 클릭 처리
|
|
43
|
-
if (target.matches(
|
|
44
|
-
target.closest(
|
|
45
|
-
target.closest(
|
|
46
|
-
onClose
|
|
47
|
-
onRemove
|
|
49
|
+
if (target.matches(`.${CLASS_NAMES.FULL_WIDTH.CLOSE_BUTTON}, .${CLASS_NAMES.FLOATING.CLOSE_BUTTON}`) ||
|
|
50
|
+
target.closest(`.${CLASS_NAMES.FULL_WIDTH.CLOSE_BUTTON}, .${CLASS_NAMES.FLOATING.CLOSE_BUTTON}`) ||
|
|
51
|
+
target.closest(`.${CLASS_NAMES.MESSAGE.CLOSE_BUTTON}`)) {
|
|
52
|
+
onClose?.();
|
|
53
|
+
onRemove?.();
|
|
48
54
|
return;
|
|
49
55
|
}
|
|
50
56
|
// 액션 버튼 클릭 처리
|
|
51
|
-
|
|
57
|
+
const actionButton = target.closest('.ncua-btn[data-action]');
|
|
52
58
|
if (actionButton && actions) {
|
|
53
|
-
|
|
59
|
+
const actionData = actionButton.getAttribute('data-action');
|
|
54
60
|
if (actionData) {
|
|
55
|
-
|
|
56
|
-
for (
|
|
57
|
-
|
|
58
|
-
var expectedDataAction = "".concat(action.label, "-").concat(action.hierarchy || 'link');
|
|
61
|
+
let matchedAction = null;
|
|
62
|
+
for (const action of actions) {
|
|
63
|
+
const expectedDataAction = `${action.label}-${action.hierarchy || 'link'}`;
|
|
59
64
|
if (actionData === expectedDataAction) {
|
|
60
65
|
matchedAction = action;
|
|
61
66
|
break;
|
|
62
67
|
}
|
|
63
68
|
}
|
|
64
|
-
if (matchedAction
|
|
69
|
+
if (matchedAction?.onClick) {
|
|
65
70
|
matchedAction.onClick();
|
|
66
71
|
}
|
|
67
72
|
}
|
|
@@ -71,14 +76,14 @@ export function bindNotificationEvents(element, actions, onClose, onRemove) {
|
|
|
71
76
|
// 자동 닫기 설정
|
|
72
77
|
export function setupAutoClose(autoClose, onClose, onRemove) {
|
|
73
78
|
if (autoClose > 0) {
|
|
74
|
-
return window.setTimeout(
|
|
75
|
-
onClose
|
|
76
|
-
onRemove
|
|
79
|
+
return window.setTimeout(() => {
|
|
80
|
+
onClose?.();
|
|
81
|
+
onRemove?.();
|
|
77
82
|
}, autoClose);
|
|
78
83
|
}
|
|
79
84
|
return undefined;
|
|
80
85
|
}
|
|
81
86
|
// Mobile detection utility
|
|
82
|
-
export
|
|
87
|
+
export const isMobile = () => {
|
|
83
88
|
return window.innerWidth <= parseInt(BREAKPOINT.mobile);
|
|
84
89
|
};
|
|
@@ -2,17 +2,6 @@
|
|
|
2
2
|
* ProgressBar 클래스
|
|
3
3
|
* 프로그레스 바를 생성하고 관리하는 역할을 합니다.
|
|
4
4
|
*/
|
|
5
|
-
var __assign = (this && this.__assign) || function () {
|
|
6
|
-
__assign = Object.assign || function(t) {
|
|
7
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
8
|
-
s = arguments[i];
|
|
9
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
10
|
-
t[p] = s[p];
|
|
11
|
-
}
|
|
12
|
-
return t;
|
|
13
|
-
};
|
|
14
|
-
return __assign.apply(this, arguments);
|
|
15
|
-
};
|
|
16
5
|
/**
|
|
17
6
|
* 값을 0-100 범위로 제한
|
|
18
7
|
*/
|
|
@@ -25,8 +14,8 @@ function clampValue(value) {
|
|
|
25
14
|
function getFillColorClass(color) {
|
|
26
15
|
if (!color)
|
|
27
16
|
return '';
|
|
28
|
-
|
|
29
|
-
return
|
|
17
|
+
const normalizedColor = color.toLowerCase().trim();
|
|
18
|
+
return `ncua-progress-bar__fill--color-${normalizedColor}`;
|
|
30
19
|
}
|
|
31
20
|
/**
|
|
32
21
|
* 색상 이름을 label 색상 클래스명으로 변환
|
|
@@ -34,79 +23,84 @@ function getFillColorClass(color) {
|
|
|
34
23
|
function getLabelColorClass(color) {
|
|
35
24
|
if (!color)
|
|
36
25
|
return '';
|
|
37
|
-
|
|
38
|
-
return
|
|
26
|
+
const normalizedColor = color.toLowerCase().trim();
|
|
27
|
+
return `ncua-progress-bar__label--color-${normalizedColor}`;
|
|
39
28
|
}
|
|
40
29
|
/**
|
|
41
30
|
* ProgressBar 클래스
|
|
42
31
|
*/
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (options === void 0) { options = {}; }
|
|
32
|
+
export class ProgressBar {
|
|
33
|
+
constructor(options = {}) {
|
|
46
34
|
this.element = null;
|
|
47
|
-
this.options =
|
|
35
|
+
this.options = {
|
|
36
|
+
showZeroLabel: false,
|
|
37
|
+
valueToPercent: true,
|
|
38
|
+
...options,
|
|
39
|
+
};
|
|
48
40
|
}
|
|
49
41
|
/**
|
|
50
42
|
* segments 처리 로직
|
|
51
43
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
var segmentCount = (_a = segments === null || segments === void 0 ? void 0 : segments.length) !== null && _a !== void 0 ? _a : 0;
|
|
44
|
+
processSegments() {
|
|
45
|
+
const { segments, label, valueToPercent } = this.options;
|
|
46
|
+
const hasSegments = Boolean(segments && segments.length > 0);
|
|
47
|
+
const segmentCount = segments?.length ?? 0;
|
|
57
48
|
if (hasSegments) {
|
|
58
49
|
// segment가 2개 이상일 때만 valueToPercent 적용 (기본값: true)
|
|
59
|
-
|
|
60
|
-
|
|
50
|
+
const shouldApplyValueToPercent = segmentCount >= 2 && valueToPercent !== false;
|
|
51
|
+
let segmentsToProcess = segments;
|
|
61
52
|
// valueToPercent 적용: segments의 합계를 100%로 규정하고 비율로 계산
|
|
62
53
|
if (shouldApplyValueToPercent) {
|
|
63
54
|
// 원본 값들의 합계 계산
|
|
64
|
-
|
|
65
|
-
if (
|
|
55
|
+
const originalTotal = segmentsToProcess.reduce((sum, seg) => sum + seg.value, 0);
|
|
56
|
+
if (originalTotal > 0) {
|
|
66
57
|
// 각 segment를 합계 대비 비율로 변환 (합계를 100%로 규정)
|
|
67
|
-
segmentsToProcess = segmentsToProcess.map(
|
|
68
|
-
value: (segment.value /
|
|
58
|
+
segmentsToProcess = segmentsToProcess.map((segment) => ({
|
|
59
|
+
value: (segment.value / originalTotal) * 100,
|
|
69
60
|
color: segment.color,
|
|
70
|
-
})
|
|
61
|
+
}));
|
|
71
62
|
}
|
|
72
63
|
}
|
|
73
64
|
// 각 값 제한 (0-100 범위)
|
|
74
|
-
|
|
65
|
+
const limitedSegments = segmentsToProcess.map((segment) => ({
|
|
75
66
|
value: clampValue(segment.value),
|
|
76
67
|
color: segment.color,
|
|
77
|
-
})
|
|
68
|
+
}));
|
|
78
69
|
// 전체 합계 계산
|
|
79
|
-
|
|
80
|
-
|
|
70
|
+
const actualTotal = limitedSegments.reduce((sum, seg) => sum + seg.value, 0);
|
|
71
|
+
const total = Math.min(actualTotal, 100);
|
|
81
72
|
// 모든 segments를 좌측에서부터 연속적으로 배치 (비율로 계산)
|
|
82
|
-
|
|
73
|
+
const processed = limitedSegments.map((segment) => ({
|
|
74
|
+
...segment,
|
|
75
|
+
width: actualTotal > 0 ? (segment.value / actualTotal) * total : 0,
|
|
76
|
+
}));
|
|
83
77
|
// segment의 개수가 2이상일때는 bottom 라벨로 고정
|
|
84
|
-
|
|
78
|
+
const effectiveLabel = segmentCount >= 2 ? 'bottom' : label;
|
|
85
79
|
// floating label 스타일
|
|
86
|
-
|
|
87
|
-
? { '--progress-value':
|
|
80
|
+
const progressValueStyle = effectiveLabel === 'top-float' || effectiveLabel === 'bottom-float'
|
|
81
|
+
? { '--progress-value': `${total}%` }
|
|
88
82
|
: undefined;
|
|
89
83
|
return {
|
|
90
|
-
totalValue:
|
|
91
|
-
displayValue:
|
|
84
|
+
totalValue: total,
|
|
85
|
+
displayValue: `${total.toFixed(0)}%`,
|
|
92
86
|
processedSegments: processed,
|
|
93
|
-
effectiveLabel
|
|
94
|
-
progressValueStyle
|
|
87
|
+
effectiveLabel,
|
|
88
|
+
progressValueStyle,
|
|
95
89
|
};
|
|
96
90
|
}
|
|
97
91
|
// value만 있을 때는 valueToPercent 무시 (이미 퍼센트로 간주)
|
|
98
92
|
if (this.options.value !== undefined) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
? { '--progress-value':
|
|
93
|
+
const clamped = clampValue(this.options.value);
|
|
94
|
+
const effectiveLabel = label;
|
|
95
|
+
const progressValueStyle = effectiveLabel === 'top-float' || effectiveLabel === 'bottom-float'
|
|
96
|
+
? { '--progress-value': `${clamped}%` }
|
|
103
97
|
: undefined;
|
|
104
98
|
return {
|
|
105
99
|
totalValue: clamped,
|
|
106
|
-
displayValue:
|
|
100
|
+
displayValue: `${clamped.toFixed(0)}%`,
|
|
107
101
|
processedSegments: [],
|
|
108
|
-
effectiveLabel
|
|
109
|
-
progressValueStyle
|
|
102
|
+
effectiveLabel,
|
|
103
|
+
progressValueStyle,
|
|
110
104
|
};
|
|
111
105
|
}
|
|
112
106
|
return {
|
|
@@ -116,52 +110,51 @@ var ProgressBar = /** @class */ (function () {
|
|
|
116
110
|
effectiveLabel: label,
|
|
117
111
|
progressValueStyle: undefined,
|
|
118
112
|
};
|
|
119
|
-
}
|
|
113
|
+
}
|
|
120
114
|
/**
|
|
121
115
|
* 단일 라벨 HTML 생성
|
|
122
116
|
*/
|
|
123
|
-
|
|
117
|
+
renderSingleLabel(labelType, displayValue, totalValue) {
|
|
124
118
|
// 0%이고 showZeroLabel이 false면 라벨 표시하지 않음
|
|
125
119
|
if (totalValue === 0 && !this.options.showZeroLabel) {
|
|
126
120
|
return '';
|
|
127
121
|
}
|
|
128
|
-
return
|
|
129
|
-
}
|
|
122
|
+
return `<span class="ncua-progress-bar__label ncua-progress-bar__label-${labelType}">${displayValue}</span>`;
|
|
123
|
+
}
|
|
130
124
|
/**
|
|
131
125
|
* segments 라벨 HTML 생성
|
|
132
126
|
*/
|
|
133
|
-
|
|
134
|
-
var _this = this;
|
|
127
|
+
renderSegmentLabels(segments, segmentCount) {
|
|
135
128
|
if (segmentCount < 2)
|
|
136
129
|
return '';
|
|
137
|
-
|
|
138
|
-
segments.forEach(
|
|
130
|
+
const labels = [];
|
|
131
|
+
segments.forEach((segment, index) => {
|
|
139
132
|
// 0%이고 showZeroLabel이 false면 라벨 표시하지 않음
|
|
140
|
-
if (segment.value === 0 && !
|
|
133
|
+
if (segment.value === 0 && !this.options.showZeroLabel) {
|
|
141
134
|
return;
|
|
142
135
|
}
|
|
143
|
-
|
|
144
|
-
for (
|
|
136
|
+
let leftPosition = 0;
|
|
137
|
+
for (let i = 0; i < index; i++) {
|
|
145
138
|
leftPosition += segments[i].width;
|
|
146
139
|
}
|
|
147
140
|
// 0%일 때는 segment 시작 위치에 맞추되, 라벨이 게이지 바를 넘어가지 않도록 조정
|
|
148
141
|
// 그 외에는 중앙에 정렬
|
|
149
|
-
|
|
142
|
+
const isZero = segment.value === 0;
|
|
150
143
|
// 0%일 때는 약간의 오프셋을 주어 자연스럽게 보이도록 함 (라벨 너비의 절반 정도)
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
labels.push(
|
|
144
|
+
const labelPosition = isZero ? Math.max(0, leftPosition - 1) : leftPosition + segment.width / 2;
|
|
145
|
+
const transform = isZero ? 'translateX(0)' : 'translateX(-50%)';
|
|
146
|
+
const colorClass = getLabelColorClass(segment.color);
|
|
147
|
+
labels.push(`<span class="ncua-progress-bar__label ncua-progress-bar__label--segment ${colorClass}" style="left: ${labelPosition}%; transform: ${transform};">${segment.value.toFixed(0)}%</span>`);
|
|
155
148
|
});
|
|
156
|
-
return labels.length > 0 ?
|
|
157
|
-
}
|
|
149
|
+
return labels.length > 0 ? `<div class="ncua-progress-bar__labels--multiple">${labels.join('')}</div>` : '';
|
|
150
|
+
}
|
|
158
151
|
/**
|
|
159
152
|
* segment bar HTML 생성
|
|
160
153
|
*/
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
segments.forEach(
|
|
164
|
-
|
|
154
|
+
renderSegmentBar(segments) {
|
|
155
|
+
const fills = [];
|
|
156
|
+
segments.forEach((segment, index) => {
|
|
157
|
+
const classes = [
|
|
165
158
|
'ncua-progress-bar__fill',
|
|
166
159
|
index === 0 ? 'ncua-progress-bar__fill--first' : '',
|
|
167
160
|
index === segments.length - 1 ? 'ncua-progress-bar__fill--last' : '',
|
|
@@ -169,90 +162,102 @@ var ProgressBar = /** @class */ (function () {
|
|
|
169
162
|
]
|
|
170
163
|
.filter(Boolean)
|
|
171
164
|
.join(' ');
|
|
172
|
-
fills.push(
|
|
165
|
+
fills.push(`<div class="${classes}" style="width: ${segment.width}%;"></div>`);
|
|
173
166
|
});
|
|
174
167
|
return fills.join('');
|
|
175
|
-
}
|
|
168
|
+
}
|
|
176
169
|
/**
|
|
177
170
|
* HTML 문자열 생성
|
|
178
171
|
*/
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
var isFloatingLabel = effectiveLabel === 'top-float' || effectiveLabel === 'bottom-float';
|
|
172
|
+
toHTML() {
|
|
173
|
+
const { totalValue, displayValue, processedSegments, effectiveLabel, progressValueStyle } = this.processSegments();
|
|
174
|
+
const hasSegments = Boolean(this.options.segments && this.options.segments.length > 0);
|
|
175
|
+
const segmentCount = this.options.segments?.length ?? 0;
|
|
176
|
+
const isFloatingLabel = effectiveLabel === 'top-float' || effectiveLabel === 'bottom-float';
|
|
185
177
|
// 스타일 문자열 생성
|
|
186
|
-
|
|
187
|
-
?
|
|
188
|
-
.map(
|
|
189
|
-
|
|
190
|
-
return "".concat(key.replace(/([A-Z])/g, '-$1').toLowerCase(), ": ").concat(value);
|
|
191
|
-
})
|
|
192
|
-
.join('; '), "\"")
|
|
178
|
+
const styleString = progressValueStyle
|
|
179
|
+
? `style="${Object.entries(progressValueStyle)
|
|
180
|
+
.map(([key, value]) => `${key.replace(/([A-Z])/g, '-$1').toLowerCase()}: ${value}`)
|
|
181
|
+
.join('; ')}"`
|
|
193
182
|
: '';
|
|
194
183
|
// segment가 1개이거나 value만 있을 때는 동일하게 처리 (단일 progress bar)
|
|
195
|
-
|
|
184
|
+
const isSingleBar = segmentCount < 2; // segment가 0개 또는 1개일 때
|
|
196
185
|
if (isSingleBar) {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
186
|
+
const fillColorClass = hasSegments && segmentCount === 1 ? getFillColorClass(processedSegments[0].color) : '';
|
|
187
|
+
const floatingLabel = isFloatingLabel ? this.renderSingleLabel(effectiveLabel, displayValue, totalValue) : '';
|
|
188
|
+
const rightLabel = effectiveLabel === 'right' ? this.renderSingleLabel('right', displayValue, totalValue) : '';
|
|
189
|
+
const bottomLabel = effectiveLabel === 'bottom' ? this.renderSingleLabel('bottom', displayValue, totalValue) : '';
|
|
201
190
|
// 단일 progress bar일 때는 text-align: left를 위한 클래스 추가
|
|
202
|
-
|
|
203
|
-
return
|
|
191
|
+
const singleSegmentClass = 'ncua-progress-bar--single-segment';
|
|
192
|
+
return `<div class="ncua-progress-bar ncua-progress-bar-${effectiveLabel || ''} ${singleSegmentClass}" ${styleString}>
|
|
193
|
+
${floatingLabel}
|
|
194
|
+
<div class="ncua-progress-bar__content">
|
|
195
|
+
<div class="ncua-progress-bar__bar">
|
|
196
|
+
<div class="ncua-progress-bar__fill ${fillColorClass}" style="width: ${totalValue}%;" aria-valuenow="${totalValue}" aria-valuemin="0" aria-valuemax="100"></div>
|
|
197
|
+
</div>
|
|
198
|
+
${rightLabel}
|
|
199
|
+
</div>
|
|
200
|
+
${bottomLabel}
|
|
201
|
+
</div>`;
|
|
204
202
|
}
|
|
205
203
|
// 일반 케이스
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
204
|
+
const floatingLabel = isFloatingLabel ? this.renderSingleLabel(effectiveLabel, displayValue, totalValue) : '';
|
|
205
|
+
const rightLabel = effectiveLabel === 'right' ? this.renderSingleLabel('right', displayValue, totalValue) : '';
|
|
206
|
+
const bottomLabel = effectiveLabel === 'bottom' ? this.renderSingleLabel('bottom', displayValue, totalValue) : '';
|
|
207
|
+
const segmentLabels = hasSegments && segmentCount >= 2 ? this.renderSegmentLabels(processedSegments, segmentCount) : '';
|
|
208
|
+
const segmentBar = hasSegments
|
|
211
209
|
? this.renderSegmentBar(processedSegments)
|
|
212
|
-
:
|
|
213
|
-
|
|
214
|
-
return
|
|
215
|
-
|
|
210
|
+
: `<div class="ncua-progress-bar__fill" style="width: ${totalValue}%;" aria-valuenow="${totalValue}" aria-valuemin="0" aria-valuemax="100"></div>`;
|
|
211
|
+
const segmentsClass = hasSegments ? 'ncua-progress-bar__bar--segments' : '';
|
|
212
|
+
return `<div class="ncua-progress-bar ncua-progress-bar-${effectiveLabel || ''}" ${styleString}>
|
|
213
|
+
${floatingLabel}
|
|
214
|
+
<div class="ncua-progress-bar__content">
|
|
215
|
+
<div class="ncua-progress-bar__bar ${segmentsClass}">
|
|
216
|
+
${segmentBar}
|
|
217
|
+
</div>
|
|
218
|
+
${rightLabel}
|
|
219
|
+
</div>
|
|
220
|
+
${hasSegments && segmentCount >= 2 ? segmentLabels : bottomLabel}
|
|
221
|
+
</div>`;
|
|
222
|
+
}
|
|
216
223
|
/**
|
|
217
224
|
* DOM 요소 생성
|
|
218
225
|
*/
|
|
219
|
-
|
|
220
|
-
|
|
226
|
+
toElement() {
|
|
227
|
+
const div = document.createElement('div');
|
|
221
228
|
div.innerHTML = this.toHTML();
|
|
222
229
|
this.element = div.firstElementChild;
|
|
223
230
|
return this.element;
|
|
224
|
-
}
|
|
231
|
+
}
|
|
225
232
|
/**
|
|
226
233
|
* 요소 반환
|
|
227
234
|
*/
|
|
228
|
-
|
|
235
|
+
getElement() {
|
|
229
236
|
return this.toElement();
|
|
230
|
-
}
|
|
237
|
+
}
|
|
231
238
|
/**
|
|
232
239
|
* 옵션 업데이트
|
|
233
240
|
*/
|
|
234
|
-
|
|
235
|
-
this.options =
|
|
241
|
+
updateOptions(newOptions) {
|
|
242
|
+
this.options = { ...this.options, ...newOptions };
|
|
236
243
|
if (this.element) {
|
|
237
|
-
|
|
244
|
+
const newElement = this.toElement();
|
|
238
245
|
if (this.element.parentNode) {
|
|
239
246
|
this.element.parentNode.replaceChild(newElement, this.element);
|
|
240
247
|
}
|
|
241
248
|
this.element = newElement;
|
|
242
249
|
}
|
|
243
|
-
}
|
|
250
|
+
}
|
|
244
251
|
/**
|
|
245
252
|
* Static factory method
|
|
246
253
|
*/
|
|
247
|
-
|
|
254
|
+
static create(options) {
|
|
248
255
|
return new ProgressBar(options);
|
|
249
|
-
}
|
|
256
|
+
}
|
|
250
257
|
/**
|
|
251
258
|
* Static method: HTML 문자열 생성
|
|
252
259
|
*/
|
|
253
|
-
|
|
260
|
+
static toHTML(options) {
|
|
254
261
|
return new ProgressBar(options).toHTML();
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
}());
|
|
258
|
-
export { ProgressBar };
|
|
262
|
+
}
|
|
263
|
+
}
|