@ncds/ui-admin 1.3.0 → 1.4.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/comboBox.js +262 -0
- package/dist/cjs/assets/scripts/datePicker.js +178 -60
- package/dist/cjs/assets/scripts/featuredIcon.js +95 -0
- package/dist/cjs/assets/scripts/fileInput/FileInput.js +183 -0
- package/dist/cjs/assets/scripts/fileInput/FileInputModel.js +246 -0
- package/dist/cjs/assets/scripts/fileInput/FileInputView.js +455 -0
- package/dist/cjs/assets/scripts/fileInput/const/classNames.js +35 -0
- package/dist/cjs/assets/scripts/fileInput/const/index.js +27 -0
- package/dist/cjs/assets/scripts/fileInput/const/types.js +13 -0
- package/dist/cjs/assets/scripts/fileInput/index.js +44 -0
- package/dist/cjs/assets/scripts/imageFileInput/ImageFileInput.js +187 -0
- package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputModel.js +268 -0
- package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputView.js +354 -0
- package/dist/cjs/assets/scripts/imageFileInput/const/classNames.js +41 -0
- package/dist/cjs/assets/scripts/imageFileInput/const/index.js +27 -0
- package/dist/cjs/assets/scripts/imageFileInput/const/types.js +13 -0
- package/dist/cjs/assets/scripts/imageFileInput/index.js +44 -0
- package/dist/cjs/assets/scripts/index.js +21 -1
- package/dist/cjs/assets/scripts/modal/Modal.js +116 -0
- package/dist/cjs/assets/scripts/modal/ModalActions.js +128 -0
- package/dist/cjs/assets/scripts/modal/ModalContent.js +46 -0
- package/dist/cjs/assets/scripts/modal/ModalHeader.js +115 -0
- package/dist/cjs/assets/scripts/modal/const/classNames.js +41 -0
- package/dist/cjs/assets/scripts/modal/const/index.js +27 -0
- package/dist/cjs/assets/scripts/modal/const/types.js +5 -0
- package/dist/cjs/assets/scripts/modal/index.js +61 -0
- package/dist/cjs/assets/scripts/modal/utils/contentUtils.js +35 -0
- package/dist/cjs/assets/scripts/notification/FloatingNotification.js +180 -0
- package/dist/cjs/assets/scripts/notification/FullWidthNotification.js +120 -0
- package/dist/cjs/assets/scripts/notification/Notification.js +113 -0
- package/dist/cjs/assets/scripts/notification/const/classNames.js +36 -0
- package/dist/cjs/assets/scripts/notification/const/icons.js +45 -0
- package/dist/cjs/assets/scripts/notification/const/index.js +74 -0
- package/dist/cjs/assets/scripts/notification/const/sizes.js +48 -0
- package/dist/cjs/assets/scripts/notification/const/types.js +5 -0
- package/dist/cjs/assets/scripts/notification/index.js +84 -0
- package/dist/cjs/assets/scripts/notification/utils.js +92 -0
- package/dist/cjs/assets/scripts/progress-bar/ProgressBar.js +272 -0
- package/dist/cjs/assets/scripts/progress-bar/index.js +12 -0
- package/dist/cjs/assets/scripts/selectBox.js +319 -0
- package/dist/cjs/assets/scripts/shared/ButtonCloseX.js +46 -0
- package/dist/cjs/assets/scripts/tag/Tag.js +268 -0
- package/dist/cjs/assets/scripts/tag/const/classNames.js +24 -0
- package/dist/cjs/assets/scripts/tag/const/index.js +38 -0
- package/dist/cjs/assets/scripts/tag/const/sizes.js +13 -0
- package/dist/cjs/assets/scripts/tag/const/types.js +5 -0
- package/dist/cjs/assets/scripts/tag/index.js +44 -0
- package/dist/cjs/assets/scripts/tooltip/Tooltip.js +380 -0
- package/dist/cjs/assets/scripts/tooltip/TooltipLayerManager.js +84 -0
- package/dist/cjs/assets/scripts/tooltip/const/classNames.js +29 -0
- package/dist/cjs/assets/scripts/tooltip/const/constants.js +56 -0
- package/dist/cjs/assets/scripts/tooltip/const/icons.js +15 -0
- package/dist/cjs/assets/scripts/tooltip/const/index.js +123 -0
- package/dist/cjs/assets/scripts/tooltip/const/templates.js +49 -0
- package/dist/cjs/assets/scripts/tooltip/const/types.js +5 -0
- package/dist/cjs/assets/scripts/tooltip/index.js +57 -0
- package/dist/cjs/assets/scripts/tooltip/utils.js +41 -0
- package/dist/cjs/assets/scripts/utils/selectbox/DOMRenderer.js +384 -0
- package/dist/cjs/assets/scripts/utils/selectbox/DropdownModel.js +361 -0
- package/dist/cjs/assets/scripts/utils/selectbox/SelectBoxController.js +681 -0
- package/dist/cjs/assets/scripts/utils/selectbox/UnifiedSelectBox.js +677 -0
- package/dist/cjs/constant/color.js +2 -0
- package/dist/cjs/src/components/button/Button.js +9 -35
- package/dist/cjs/src/components/button/ButtonGroup.js +9 -10
- package/dist/cjs/src/components/checkbox/Checkbox.js +20 -19
- package/dist/cjs/src/components/checkbox/CheckboxInput.js +22 -45
- package/dist/cjs/src/components/combobox/ComboBox.js +337 -0
- package/dist/cjs/src/components/combobox/index.js +12 -0
- package/dist/cjs/src/components/date-picker/CustomInput.js +52 -0
- package/dist/cjs/src/components/date-picker/DatePicker.js +86 -23
- package/dist/cjs/src/components/date-picker/RangeDatePicker.js +1 -1
- package/dist/cjs/src/components/{input → file-upload}/FileInput.js +17 -9
- package/dist/cjs/src/components/file-upload/index.js +16 -0
- package/dist/cjs/src/components/image-file-input/ImageFileInput.js +263 -0
- package/dist/cjs/src/components/image-file-input/components/ImagePreview.js +44 -0
- package/dist/cjs/src/components/image-file-input/index.js +16 -0
- package/dist/cjs/src/components/index.js +44 -0
- package/dist/cjs/src/components/input/InputBase.js +54 -10
- package/dist/cjs/src/components/input/Textarea.js +12 -20
- package/dist/cjs/src/components/input/index.js +0 -11
- package/dist/cjs/src/components/modal/Modal.js +7 -3
- package/dist/cjs/src/components/notification/FloatingNotification.js +34 -3
- package/dist/cjs/src/components/notification/FullWidthNotification.js +54 -5
- package/dist/cjs/src/components/pagination/NavButton.js +1 -13
- package/dist/cjs/src/components/pagination/Pagination.js +6 -20
- package/dist/cjs/src/components/progress-bar/ProgressBar.js +89 -20
- package/dist/cjs/src/components/progress-bar/components/SegmentBar.js +25 -0
- package/dist/cjs/src/components/progress-bar/components/SegmentLabels.js +74 -0
- package/dist/cjs/src/components/progress-bar/hooks/useProgressBar.js +119 -0
- package/dist/cjs/src/components/progress-bar/index.js +11 -0
- package/dist/cjs/src/components/progress-bar/types.js +5 -0
- package/dist/cjs/src/components/progress-bar/utils.js +31 -0
- package/dist/cjs/src/components/radio/Radio.js +5 -6
- package/dist/cjs/src/components/select/Select.js +7 -4
- package/dist/cjs/src/components/select-dropdown/SelectDropdown.js +146 -0
- package/dist/cjs/src/components/select-dropdown/index.js +12 -0
- package/dist/cjs/src/components/selectbox/SelectBox.js +283 -0
- package/dist/cjs/src/components/selectbox/index.js +12 -0
- package/dist/cjs/src/components/shared/hintText/HintText.js +1 -1
- package/dist/cjs/src/components/switch/Switch.js +123 -0
- package/dist/cjs/src/components/switch/index.js +12 -0
- package/dist/cjs/src/components/tab/HorizontalTab.js +8 -20
- package/dist/cjs/src/components/tab/TabButton.js +33 -16
- package/dist/cjs/src/components/tab/VerticalTab.js +15 -30
- package/dist/cjs/src/components/tag/Tag.js +92 -3
- package/dist/cjs/src/components/tooltip/Tooltip.js +125 -28
- package/dist/cjs/src/hooks/dropdown/index.js +47 -0
- package/dist/cjs/src/hooks/dropdown/useDropdown.js +109 -0
- package/dist/cjs/src/hooks/dropdown/useDropdownKeyboard.js +131 -0
- package/dist/cjs/src/hooks/dropdown/useDropdownPosition.js +27 -0
- package/dist/cjs/src/hooks/dropdown/useOutsideClick.js +33 -0
- package/dist/cjs/src/hooks/dropdown/useScrollLock.js +78 -0
- package/dist/cjs/src/hooks/dropdown/useWindowResize.js +52 -0
- package/dist/cjs/src/hooks/index.js +18 -1
- package/dist/cjs/src/types/dropdown/dropdown.js +5 -0
- package/dist/cjs/src/types/dropdown/index.js +27 -0
- package/dist/cjs/src/types/dropdown/option.js +5 -0
- package/dist/cjs/src/types/index.js +16 -0
- package/dist/cjs/src/utils/date-picker.js +37 -1
- package/dist/cjs/src/utils/dropdown/dropdownUtils.js +107 -0
- package/dist/cjs/src/utils/dropdown/index.js +27 -0
- package/dist/cjs/src/utils/dropdown/multiSelect.js +100 -0
- package/dist/cjs/src/utils/index.js +27 -0
- package/dist/esm/assets/scripts/comboBox.js +257 -0
- package/dist/esm/assets/scripts/datePicker.js +175 -59
- package/dist/esm/assets/scripts/featuredIcon.js +90 -0
- package/dist/esm/assets/scripts/fileInput/FileInput.js +178 -0
- package/dist/esm/assets/scripts/fileInput/FileInputModel.js +241 -0
- package/dist/esm/assets/scripts/fileInput/FileInputView.js +450 -0
- package/dist/esm/assets/scripts/fileInput/const/classNames.js +25 -0
- package/dist/esm/assets/scripts/fileInput/const/index.js +2 -0
- package/dist/esm/assets/scripts/fileInput/const/types.js +7 -0
- package/dist/esm/assets/scripts/fileInput/index.js +9 -0
- package/dist/esm/assets/scripts/imageFileInput/ImageFileInput.js +182 -0
- package/dist/esm/assets/scripts/imageFileInput/ImageFileInputModel.js +263 -0
- package/dist/esm/assets/scripts/imageFileInput/ImageFileInputView.js +349 -0
- package/dist/esm/assets/scripts/imageFileInput/const/classNames.js +30 -0
- package/dist/esm/assets/scripts/imageFileInput/const/index.js +2 -0
- package/dist/esm/assets/scripts/imageFileInput/const/types.js +7 -0
- package/dist/esm/assets/scripts/imageFileInput/index.js +9 -0
- package/dist/esm/assets/scripts/index.js +21 -1
- package/dist/esm/assets/scripts/modal/Modal.js +110 -0
- package/dist/esm/assets/scripts/modal/ModalActions.js +123 -0
- package/dist/esm/assets/scripts/modal/ModalContent.js +41 -0
- package/dist/esm/assets/scripts/modal/ModalHeader.js +110 -0
- package/dist/esm/assets/scripts/modal/const/classNames.js +31 -0
- package/dist/esm/assets/scripts/modal/const/index.js +2 -0
- package/dist/esm/assets/scripts/modal/const/types.js +1 -0
- package/dist/esm/assets/scripts/modal/index.js +15 -0
- package/dist/esm/assets/scripts/modal/utils/contentUtils.js +28 -0
- package/dist/esm/assets/scripts/notification/FloatingNotification.js +176 -0
- package/dist/esm/assets/scripts/notification/FullWidthNotification.js +115 -0
- package/dist/esm/assets/scripts/notification/Notification.js +108 -0
- package/dist/esm/assets/scripts/notification/const/classNames.js +30 -0
- package/dist/esm/assets/scripts/notification/const/icons.js +39 -0
- package/dist/esm/assets/scripts/notification/const/index.js +3 -0
- package/dist/esm/assets/scripts/notification/const/sizes.js +42 -0
- package/dist/esm/assets/scripts/notification/const/types.js +1 -0
- package/dist/esm/assets/scripts/notification/index.js +10 -0
- package/dist/esm/assets/scripts/notification/utils.js +79 -0
- package/dist/esm/assets/scripts/progress-bar/ProgressBar.js +267 -0
- package/dist/esm/assets/scripts/progress-bar/index.js +1 -0
- package/dist/esm/assets/scripts/selectBox.js +314 -0
- package/dist/esm/assets/scripts/shared/ButtonCloseX.js +38 -0
- package/dist/esm/assets/scripts/tag/Tag.js +263 -0
- package/dist/esm/assets/scripts/tag/const/classNames.js +16 -0
- package/dist/esm/assets/scripts/tag/const/index.js +3 -0
- package/dist/esm/assets/scripts/tag/const/sizes.js +7 -0
- package/dist/esm/assets/scripts/tag/const/types.js +1 -0
- package/dist/esm/assets/scripts/tag/index.js +9 -0
- package/dist/esm/assets/scripts/tooltip/Tooltip.js +375 -0
- package/dist/esm/assets/scripts/tooltip/TooltipLayerManager.js +79 -0
- package/dist/esm/assets/scripts/tooltip/const/classNames.js +23 -0
- package/dist/esm/assets/scripts/tooltip/const/constants.js +50 -0
- package/dist/esm/assets/scripts/tooltip/const/icons.js +9 -0
- package/dist/esm/assets/scripts/tooltip/const/index.js +4 -0
- package/dist/esm/assets/scripts/tooltip/const/templates.js +42 -0
- package/dist/esm/assets/scripts/tooltip/const/types.js +1 -0
- package/dist/esm/assets/scripts/tooltip/index.js +10 -0
- package/dist/esm/assets/scripts/tooltip/utils.js +35 -0
- package/dist/esm/assets/scripts/utils/selectbox/DOMRenderer.js +379 -0
- package/dist/esm/assets/scripts/utils/selectbox/DropdownModel.js +356 -0
- package/dist/esm/assets/scripts/utils/selectbox/SelectBoxController.js +676 -0
- package/dist/esm/assets/scripts/utils/selectbox/UnifiedSelectBox.js +672 -0
- package/dist/esm/constant/color.js +2 -0
- package/dist/esm/src/components/button/Button.js +10 -36
- package/dist/esm/src/components/button/ButtonGroup.js +9 -10
- package/dist/esm/src/components/checkbox/Checkbox.js +21 -19
- package/dist/esm/src/components/checkbox/CheckboxInput.js +24 -47
- package/dist/esm/src/components/combobox/ComboBox.js +330 -0
- package/dist/esm/src/components/combobox/index.js +1 -0
- package/dist/esm/src/components/date-picker/CustomInput.js +45 -0
- package/dist/esm/src/components/date-picker/DatePicker.js +87 -24
- package/dist/esm/src/components/date-picker/RangeDatePicker.js +1 -1
- package/dist/esm/src/components/{input → file-upload}/FileInput.js +17 -9
- package/dist/esm/src/components/file-upload/index.js +1 -0
- package/dist/esm/src/components/image-file-input/ImageFileInput.js +256 -0
- package/dist/esm/src/components/image-file-input/components/ImagePreview.js +37 -0
- package/dist/esm/src/components/image-file-input/index.js +1 -0
- package/dist/esm/src/components/index.js +4 -0
- package/dist/esm/src/components/input/InputBase.js +55 -11
- package/dist/esm/src/components/input/Textarea.js +12 -20
- package/dist/esm/src/components/input/index.js +1 -2
- package/dist/esm/src/components/modal/Modal.js +7 -3
- package/dist/esm/src/components/notification/FloatingNotification.js +35 -4
- package/dist/esm/src/components/notification/FullWidthNotification.js +55 -6
- package/dist/esm/src/components/pagination/NavButton.js +1 -13
- package/dist/esm/src/components/pagination/Pagination.js +6 -20
- package/dist/esm/src/components/progress-bar/ProgressBar.js +89 -20
- package/dist/esm/src/components/progress-bar/components/SegmentBar.js +18 -0
- package/dist/esm/src/components/progress-bar/components/SegmentLabels.js +66 -0
- package/dist/esm/src/components/progress-bar/hooks/useProgressBar.js +112 -0
- package/dist/esm/src/components/progress-bar/index.js +2 -1
- package/dist/esm/src/components/progress-bar/types.js +1 -0
- package/dist/esm/src/components/progress-bar/utils.js +22 -0
- package/dist/esm/src/components/radio/Radio.js +5 -5
- package/dist/esm/src/components/select/Select.js +7 -4
- package/dist/esm/src/components/select-dropdown/SelectDropdown.js +139 -0
- package/dist/esm/src/components/select-dropdown/index.js +1 -0
- package/dist/esm/src/components/selectbox/SelectBox.js +276 -0
- package/dist/esm/src/components/selectbox/index.js +1 -0
- package/dist/esm/src/components/shared/hintText/HintText.js +1 -1
- package/dist/esm/src/components/switch/Switch.js +116 -0
- package/dist/esm/src/components/switch/index.js +1 -0
- package/dist/esm/src/components/tab/HorizontalTab.js +7 -19
- package/dist/esm/src/components/tab/TabButton.js +34 -17
- package/dist/esm/src/components/tab/VerticalTab.js +15 -30
- package/dist/esm/src/components/tag/Tag.js +92 -3
- package/dist/esm/src/components/tooltip/Tooltip.js +125 -28
- package/dist/esm/src/hooks/dropdown/index.js +6 -0
- package/dist/esm/src/hooks/dropdown/useDropdown.js +102 -0
- package/dist/esm/src/hooks/dropdown/useDropdownKeyboard.js +124 -0
- package/dist/esm/src/hooks/dropdown/useDropdownPosition.js +20 -0
- package/dist/esm/src/hooks/dropdown/useOutsideClick.js +26 -0
- package/dist/esm/src/hooks/dropdown/useScrollLock.js +71 -0
- package/dist/esm/src/hooks/dropdown/useWindowResize.js +45 -0
- package/dist/esm/src/hooks/index.js +4 -1
- package/dist/esm/src/types/dropdown/dropdown.js +1 -0
- package/dist/esm/src/types/dropdown/index.js +2 -0
- package/dist/esm/src/types/dropdown/option.js +1 -0
- package/dist/esm/src/types/index.js +2 -0
- package/dist/esm/src/utils/date-picker.js +33 -1
- package/dist/esm/src/utils/dropdown/dropdownUtils.js +97 -0
- package/dist/esm/src/utils/dropdown/index.js +2 -0
- package/dist/esm/src/utils/dropdown/multiSelect.js +88 -0
- package/dist/esm/src/utils/index.js +4 -0
- package/dist/types/assets/scripts/comboBox.d.ts +79 -0
- package/dist/types/assets/scripts/datePicker.d.ts +16 -13
- package/dist/types/assets/scripts/featuredIcon.d.ts +23 -0
- package/dist/types/assets/scripts/fileInput/FileInput.d.ts +67 -0
- package/dist/types/assets/scripts/fileInput/FileInputModel.d.ts +70 -0
- package/dist/types/assets/scripts/fileInput/FileInputView.d.ts +77 -0
- package/dist/types/assets/scripts/fileInput/const/classNames.d.ts +17 -0
- package/dist/types/assets/scripts/fileInput/const/index.d.ts +3 -0
- package/dist/types/assets/scripts/fileInput/const/types.d.ts +132 -0
- package/dist/types/assets/scripts/fileInput/index.d.ts +4 -0
- package/dist/types/assets/scripts/imageFileInput/ImageFileInput.d.ts +64 -0
- package/dist/types/assets/scripts/imageFileInput/ImageFileInputModel.d.ts +74 -0
- package/dist/types/assets/scripts/imageFileInput/ImageFileInputView.d.ts +80 -0
- package/dist/types/assets/scripts/imageFileInput/const/classNames.d.ts +20 -0
- package/dist/types/assets/scripts/imageFileInput/const/index.d.ts +3 -0
- package/dist/types/assets/scripts/imageFileInput/const/types.d.ts +126 -0
- package/dist/types/assets/scripts/imageFileInput/index.d.ts +4 -0
- package/dist/types/assets/scripts/index.d.ts +28 -2
- package/dist/types/assets/scripts/modal/Modal.d.ts +28 -0
- package/dist/types/assets/scripts/modal/ModalActions.d.ts +19 -0
- package/dist/types/assets/scripts/modal/ModalContent.d.ts +14 -0
- package/dist/types/assets/scripts/modal/ModalHeader.d.ts +16 -0
- package/dist/types/assets/scripts/modal/const/classNames.d.ts +23 -0
- package/dist/types/assets/scripts/modal/const/index.d.ts +3 -0
- package/dist/types/assets/scripts/modal/const/types.d.ts +62 -0
- package/dist/types/assets/scripts/modal/index.d.ts +8 -0
- package/dist/types/assets/scripts/modal/utils/contentUtils.d.ts +11 -0
- package/dist/types/assets/scripts/notification/FloatingNotification.d.ts +25 -0
- package/dist/types/assets/scripts/notification/FullWidthNotification.d.ts +22 -0
- package/dist/types/assets/scripts/notification/Notification.d.ts +22 -0
- package/dist/types/assets/scripts/notification/const/classNames.d.ts +30 -0
- package/dist/types/assets/scripts/notification/const/icons.d.ts +26 -0
- package/dist/types/assets/scripts/notification/const/index.d.ts +5 -0
- package/dist/types/assets/scripts/notification/const/sizes.d.ts +28 -0
- package/dist/types/assets/scripts/notification/const/types.d.ts +19 -0
- package/dist/types/assets/scripts/notification/index.d.ts +7 -0
- package/dist/types/assets/scripts/notification/utils.d.ts +9 -0
- package/dist/types/assets/scripts/progress-bar/ProgressBar.d.ts +68 -0
- package/dist/types/assets/scripts/progress-bar/index.d.ts +2 -0
- package/dist/types/assets/scripts/selectBox.d.ts +77 -0
- package/dist/types/assets/scripts/shared/ButtonCloseX.d.ts +6 -0
- package/dist/types/assets/scripts/tag/Tag.d.ts +28 -0
- package/dist/types/assets/scripts/tag/const/classNames.d.ts +12 -0
- package/dist/types/assets/scripts/tag/const/index.d.ts +4 -0
- package/dist/types/assets/scripts/tag/const/sizes.d.ts +8 -0
- package/dist/types/assets/scripts/tag/const/types.d.ts +34 -0
- package/dist/types/assets/scripts/tag/index.d.ts +4 -0
- package/dist/types/assets/scripts/tooltip/Tooltip.d.ts +55 -0
- package/dist/types/assets/scripts/tooltip/TooltipLayerManager.d.ts +22 -0
- package/dist/types/assets/scripts/tooltip/const/classNames.d.ts +18 -0
- package/dist/types/assets/scripts/tooltip/const/constants.d.ts +34 -0
- package/dist/types/assets/scripts/tooltip/const/icons.d.ts +5 -0
- package/dist/types/assets/scripts/tooltip/const/index.d.ts +6 -0
- package/dist/types/assets/scripts/tooltip/const/templates.d.ts +17 -0
- package/dist/types/assets/scripts/tooltip/const/types.d.ts +15 -0
- package/dist/types/assets/scripts/tooltip/index.d.ts +7 -0
- package/dist/types/assets/scripts/tooltip/utils.d.ts +3 -0
- package/dist/types/assets/scripts/utils/selectbox/DOMRenderer.d.ts +108 -0
- package/dist/types/assets/scripts/utils/selectbox/DropdownModel.d.ts +154 -0
- package/dist/types/assets/scripts/utils/selectbox/SelectBoxController.d.ts +171 -0
- package/dist/types/assets/scripts/utils/selectbox/UnifiedSelectBox.d.ts +80 -0
- package/dist/types/constant/color.d.ts +3 -1
- package/dist/types/src/components/button/Button.d.ts +14 -12
- package/dist/types/src/components/button/ButtonGroup.d.ts +4 -289
- package/dist/types/src/components/checkbox/Checkbox.d.ts +2 -3
- package/dist/types/src/components/combobox/ComboBox.d.ts +28 -0
- package/dist/types/src/components/combobox/index.d.ts +3 -0
- package/dist/types/src/components/date-picker/CustomInput.d.ts +12 -0
- package/dist/types/src/components/date-picker/DatePicker.d.ts +2 -0
- package/dist/types/src/components/{input → file-upload}/FileInput.d.ts +1 -1
- package/dist/types/src/components/file-upload/index.d.ts +2 -0
- package/dist/types/src/components/image-file-input/ImageFileInput.d.ts +78 -0
- package/dist/types/src/components/image-file-input/components/ImagePreview.d.ts +6 -0
- package/dist/types/src/components/image-file-input/index.d.ts +2 -0
- package/dist/types/src/components/index.d.ts +4 -0
- package/dist/types/src/components/input/InputBase.d.ts +2 -0
- package/dist/types/src/components/input/index.d.ts +0 -1
- package/dist/types/src/components/modal/Modal.d.ts +3 -2
- package/dist/types/src/components/notification/FloatingNotification.d.ts +5 -0
- package/dist/types/src/components/notification/FullWidthNotification.d.ts +15 -1
- package/dist/types/src/components/notification/Notification.d.ts +8 -2
- package/dist/types/src/components/pagination/NavButton.d.ts +1 -4
- package/dist/types/src/components/pagination/Pagination.d.ts +2 -13
- package/dist/types/src/components/progress-bar/ProgressBar.d.ts +2 -6
- package/dist/types/src/components/progress-bar/components/SegmentBar.d.ts +8 -0
- package/dist/types/src/components/progress-bar/components/SegmentLabels.d.ts +16 -0
- package/dist/types/src/components/progress-bar/hooks/useProgressBar.d.ts +14 -0
- package/dist/types/src/components/progress-bar/index.d.ts +1 -0
- package/dist/types/src/components/progress-bar/types.d.ts +16 -0
- package/dist/types/src/components/progress-bar/utils.d.ts +13 -0
- package/dist/types/src/components/radio/Radio.d.ts +2 -3
- package/dist/types/src/components/select/Select.d.ts +1 -4
- package/dist/types/src/components/select-dropdown/SelectDropdown.d.ts +28 -0
- package/dist/types/src/components/select-dropdown/index.d.ts +2 -0
- package/dist/types/src/components/selectbox/SelectBox.d.ts +25 -0
- package/dist/types/src/components/selectbox/index.d.ts +2 -0
- package/dist/types/src/components/switch/Switch.d.ts +22 -0
- package/dist/types/src/components/switch/index.d.ts +3 -0
- package/dist/types/src/components/tab/HorizontalTab.d.ts +1 -2
- package/dist/types/src/components/tab/TabButton.d.ts +9 -12
- package/dist/types/src/components/tab/VerticalTab.d.ts +2 -2
- package/dist/types/src/components/tag/Tag.d.ts +3 -1
- package/dist/types/src/components/tooltip/Tooltip.d.ts +4 -2
- package/dist/types/src/hooks/dropdown/index.d.ts +7 -0
- package/dist/types/src/hooks/dropdown/useDropdown.d.ts +30 -0
- package/dist/types/src/hooks/dropdown/useDropdownKeyboard.d.ts +11 -0
- package/dist/types/src/hooks/dropdown/useDropdownPosition.d.ts +10 -0
- package/dist/types/src/hooks/dropdown/useOutsideClick.d.ts +6 -0
- package/dist/types/src/hooks/dropdown/useScrollLock.d.ts +5 -0
- package/dist/types/src/hooks/dropdown/useWindowResize.d.ts +8 -0
- package/dist/types/src/hooks/index.d.ts +2 -1
- package/dist/types/src/types/dropdown/dropdown.d.ts +40 -0
- package/dist/types/src/types/dropdown/index.d.ts +3 -0
- package/dist/types/src/types/dropdown/option.d.ts +20 -0
- package/dist/types/src/types/index.d.ts +2 -0
- package/dist/types/src/utils/date-picker.d.ts +3 -0
- package/dist/types/src/utils/dropdown/dropdownUtils.d.ts +18 -0
- package/dist/types/src/utils/dropdown/index.d.ts +3 -0
- package/dist/types/src/utils/dropdown/multiSelect.d.ts +32 -0
- package/dist/types/src/utils/index.d.ts +3 -0
- package/dist/ui-admin/assets/styles/style.css +1744 -358
- package/package.json +8 -4
|
@@ -1,22 +1,16 @@
|
|
|
1
|
+
import { Options as FlatpickrOptions } from 'flatpickr/dist/types/options';
|
|
1
2
|
export type DatePickerSize = 'xs' | 'sm';
|
|
2
3
|
interface Options {
|
|
3
4
|
buttons?: DatePickerButton[];
|
|
4
5
|
size: DatePickerSize;
|
|
6
|
+
autoComplete?: 'on' | 'off';
|
|
5
7
|
datePickerOptions: DatePickerOptionWrapper[];
|
|
6
8
|
}
|
|
7
9
|
interface DatePickerOptionWrapper {
|
|
8
10
|
element: string;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
defaultDate?: string | Date | Date[];
|
|
13
|
-
enableTime?: boolean;
|
|
14
|
-
dateFormat?: string;
|
|
15
|
-
locale?: string;
|
|
16
|
-
mode?: 'single' | 'range' | 'multiple';
|
|
17
|
-
maxDate?: string | Date;
|
|
18
|
-
minDate?: string | Date;
|
|
19
|
-
onChange?: (selectedDates: Date[], dateStr: string, instance: any) => void;
|
|
11
|
+
attrName?: string;
|
|
12
|
+
placeholder?: string;
|
|
13
|
+
options: FlatpickrOptions;
|
|
20
14
|
}
|
|
21
15
|
interface DatePickerButton {
|
|
22
16
|
text: string;
|
|
@@ -25,13 +19,20 @@ interface DatePickerButton {
|
|
|
25
19
|
isCurrent: boolean;
|
|
26
20
|
}
|
|
27
21
|
export declare class DatePicker {
|
|
28
|
-
private
|
|
22
|
+
private static instanceCounter;
|
|
23
|
+
private static usedWrappers;
|
|
24
|
+
private readonly contentWrapper;
|
|
29
25
|
private readonly datePickerOptions;
|
|
30
26
|
private readonly size;
|
|
27
|
+
private readonly instanceId;
|
|
28
|
+
private separator;
|
|
29
|
+
private autoComplete;
|
|
31
30
|
private buttons;
|
|
32
31
|
private flatpickrInstances;
|
|
33
32
|
private currentButton;
|
|
33
|
+
private dateFormat;
|
|
34
34
|
constructor(wrapper: HTMLElement, options: Options);
|
|
35
|
+
private validateWrapper;
|
|
35
36
|
private init;
|
|
36
37
|
private validationDependencies;
|
|
37
38
|
private initializeWrapper;
|
|
@@ -42,8 +43,10 @@ export declare class DatePicker {
|
|
|
42
43
|
private initializeFlatpickr;
|
|
43
44
|
private updateDateWithButton;
|
|
44
45
|
private setMultipleDates;
|
|
46
|
+
private updateButtonsByPeriod;
|
|
47
|
+
private calculateDatesFromButton;
|
|
45
48
|
setDate(dates: string[]): void;
|
|
46
|
-
getDates():
|
|
49
|
+
getDates(): string[];
|
|
47
50
|
}
|
|
48
51
|
export {};
|
|
49
52
|
//# sourceMappingURL=datePicker.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type FeaturedIconTheme = 'light-circle' | 'dark-circle' | 'outline-circle' | 'square-outline';
|
|
2
|
+
export type FeaturedIconColor = 'neutral' | 'error' | 'warning' | 'success';
|
|
3
|
+
export type FeaturedIconSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
4
|
+
export interface FeaturedIconOptions {
|
|
5
|
+
svgString: string;
|
|
6
|
+
theme?: FeaturedIconTheme;
|
|
7
|
+
color?: FeaturedIconColor;
|
|
8
|
+
size?: FeaturedIconSize;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class FeaturedIcon {
|
|
12
|
+
private element;
|
|
13
|
+
private options;
|
|
14
|
+
constructor(options: FeaturedIconOptions);
|
|
15
|
+
private createElement;
|
|
16
|
+
private addSizeToSvg;
|
|
17
|
+
getElement(): HTMLElement;
|
|
18
|
+
updateColor(color: FeaturedIconColor): void;
|
|
19
|
+
updateSize(size: FeaturedIconSize): void;
|
|
20
|
+
destroy(): void;
|
|
21
|
+
static create(options: FeaturedIconOptions): FeaturedIcon;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=featuredIcon.d.ts.map
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { BaseFileInputOptions, UploadedFile } from './const/types';
|
|
2
|
+
export declare class FileInput {
|
|
3
|
+
private model;
|
|
4
|
+
private view;
|
|
5
|
+
constructor(options: BaseFileInputOptions);
|
|
6
|
+
/**
|
|
7
|
+
* 컨테이너에 요소 추가
|
|
8
|
+
*/
|
|
9
|
+
private appendToContainer;
|
|
10
|
+
/**
|
|
11
|
+
* 이벤트 리스너 설정
|
|
12
|
+
*/
|
|
13
|
+
private setupEventListeners;
|
|
14
|
+
/**
|
|
15
|
+
* 파일 선택 버튼 클릭 핸들러
|
|
16
|
+
*/
|
|
17
|
+
private handleBrowseClick;
|
|
18
|
+
/**
|
|
19
|
+
* 파일 변경 핸들러
|
|
20
|
+
*/
|
|
21
|
+
private handleFileChange;
|
|
22
|
+
/**
|
|
23
|
+
* 파일 제거 핸들러
|
|
24
|
+
* 주의: 이 메서드는 renderFileTags에서 사용되지만,
|
|
25
|
+
* 파일 선택 시 자동 렌더링이 비활성화되어 있으므로 수동으로 호출해야 함
|
|
26
|
+
*/
|
|
27
|
+
private handleRemoveFile;
|
|
28
|
+
/**
|
|
29
|
+
* 변경 알림 (onChange/onFileSelect 호출)
|
|
30
|
+
* 주의: 이 메서드는 setFiles 등 내부적으로 파일 목록이 변경될 때만 사용됨
|
|
31
|
+
*/
|
|
32
|
+
private notifyChange;
|
|
33
|
+
/**
|
|
34
|
+
* 뷰 렌더링 (내부용)
|
|
35
|
+
*/
|
|
36
|
+
private render;
|
|
37
|
+
/**
|
|
38
|
+
* 파일 태그를 수동으로 렌더링
|
|
39
|
+
* 사용자가 콜백에서 직접 호출하여 태그를 렌더링할 수 있음
|
|
40
|
+
*/
|
|
41
|
+
renderFileTags(): void;
|
|
42
|
+
/**
|
|
43
|
+
* DOM 요소 반환
|
|
44
|
+
*/
|
|
45
|
+
getElement(): HTMLDivElement;
|
|
46
|
+
/**
|
|
47
|
+
* 현재 파일 목록 반환
|
|
48
|
+
*/
|
|
49
|
+
getFiles(): File[];
|
|
50
|
+
/**
|
|
51
|
+
* 초기 업로드된 파일 목록 설정
|
|
52
|
+
*/
|
|
53
|
+
setFiles(uploadedFiles: UploadedFile[]): void;
|
|
54
|
+
/**
|
|
55
|
+
* 모든 파일 제거
|
|
56
|
+
*/
|
|
57
|
+
clearFiles(): void;
|
|
58
|
+
/**
|
|
59
|
+
* disabled 상태 설정
|
|
60
|
+
*/
|
|
61
|
+
setDisabled(disabled: boolean): void;
|
|
62
|
+
/**
|
|
63
|
+
* 리소스 정리
|
|
64
|
+
*/
|
|
65
|
+
destroy(): void;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=FileInput.d.ts.map
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { BaseFileInputOptions, InvalidFile, RequiredFileInputProps, UploadedFile } from './const/types';
|
|
2
|
+
export declare class FileInputModel {
|
|
3
|
+
private options;
|
|
4
|
+
private internalFiles;
|
|
5
|
+
private initialFiles;
|
|
6
|
+
private newlyAddedFiles;
|
|
7
|
+
private deletedInitialFiles;
|
|
8
|
+
constructor(options: BaseFileInputOptions);
|
|
9
|
+
/**
|
|
10
|
+
* 옵션 반환
|
|
11
|
+
*/
|
|
12
|
+
getOptions(): RequiredFileInputProps;
|
|
13
|
+
/**
|
|
14
|
+
* 현재 파일 목록 반환 (초기 파일 + 새로 추가된 파일, 삭제 표시된 파일 제외)
|
|
15
|
+
*/
|
|
16
|
+
getFiles(): File[];
|
|
17
|
+
/**
|
|
18
|
+
* 파일명에서 MIME 타입 추론
|
|
19
|
+
*/
|
|
20
|
+
private getMimeTypeFromFileName;
|
|
21
|
+
/**
|
|
22
|
+
* 초기 업로드된 파일 목록 설정 (UploadedFile[] 타입만 허용)
|
|
23
|
+
*/
|
|
24
|
+
setFiles(uploadedFiles: UploadedFile[]): void;
|
|
25
|
+
/**
|
|
26
|
+
* 파일 추가
|
|
27
|
+
*/
|
|
28
|
+
addFiles(files: File[]): void;
|
|
29
|
+
/**
|
|
30
|
+
* 특정 인덱스의 파일 제거
|
|
31
|
+
*/
|
|
32
|
+
removeFile(index: number): void;
|
|
33
|
+
/**
|
|
34
|
+
* 모든 파일 제거
|
|
35
|
+
*/
|
|
36
|
+
clearFiles(): void;
|
|
37
|
+
/**
|
|
38
|
+
* 파일 유효성 검사
|
|
39
|
+
*/
|
|
40
|
+
validateFiles(fileList: File[]): {
|
|
41
|
+
validFiles: File[];
|
|
42
|
+
invalidFiles: InvalidFile[];
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* disabled 상태 설정
|
|
46
|
+
*/
|
|
47
|
+
setDisabled(disabled: boolean): void;
|
|
48
|
+
/**
|
|
49
|
+
* disabled 상태 반환
|
|
50
|
+
*/
|
|
51
|
+
isDisabled(): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Controlled mode 여부 확인
|
|
54
|
+
* onChange가 있으면 Controlled mode로 판단
|
|
55
|
+
*/
|
|
56
|
+
isControlled(): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* 파일이 초기 파일인지 확인 (UploadedFile로 설정된 기존 파일)
|
|
59
|
+
*/
|
|
60
|
+
isInitialFile(file: File): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* 파일이 새로 추가된 파일인지 확인
|
|
63
|
+
*/
|
|
64
|
+
isNewlyAddedFile(file: File): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* 파일이 삭제 표시된 초기 파일인지 확인
|
|
67
|
+
*/
|
|
68
|
+
isDeletedInitialFile(file: File): boolean;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=FileInputModel.d.ts.map
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { RequiredFileInputProps } from './const/types';
|
|
2
|
+
import { FileInputModel } from './FileInputModel';
|
|
3
|
+
export declare class FileInputView {
|
|
4
|
+
private element;
|
|
5
|
+
private fileInputElement;
|
|
6
|
+
private buttonElement;
|
|
7
|
+
private fileTagsContainer;
|
|
8
|
+
private tagInstances;
|
|
9
|
+
private options;
|
|
10
|
+
private model;
|
|
11
|
+
private renderedFiles;
|
|
12
|
+
constructor(options: RequiredFileInputProps, model: FileInputModel);
|
|
13
|
+
/**
|
|
14
|
+
* 메인 DOM 요소 생성
|
|
15
|
+
*/
|
|
16
|
+
private createElement;
|
|
17
|
+
/**
|
|
18
|
+
* Hidden file input 생성
|
|
19
|
+
*/
|
|
20
|
+
private createFileInput;
|
|
21
|
+
/**
|
|
22
|
+
* Input container 생성
|
|
23
|
+
*/
|
|
24
|
+
private createInputContainer;
|
|
25
|
+
/**
|
|
26
|
+
* Label container 생성
|
|
27
|
+
*/
|
|
28
|
+
private createLabelContainer;
|
|
29
|
+
/**
|
|
30
|
+
* Help icon 생성
|
|
31
|
+
*/
|
|
32
|
+
private createHelpIcon;
|
|
33
|
+
private createButton;
|
|
34
|
+
private createShareIcon;
|
|
35
|
+
/**
|
|
36
|
+
* Hint text 생성
|
|
37
|
+
*/
|
|
38
|
+
private createHintText;
|
|
39
|
+
/**
|
|
40
|
+
* Hint list 생성
|
|
41
|
+
*/
|
|
42
|
+
private createHintList;
|
|
43
|
+
/**
|
|
44
|
+
* 파일 태그 렌더링 (삭제 표시된 초기 파일 포함)
|
|
45
|
+
*/
|
|
46
|
+
renderFileTags(files: File[], onRemove: (index: number) => void): void;
|
|
47
|
+
/**
|
|
48
|
+
* 삭제 표시된 초기 파일을 포함한 전체 파일 목록 반환
|
|
49
|
+
*/
|
|
50
|
+
private getAllFilesIncludingDeleted;
|
|
51
|
+
/**
|
|
52
|
+
* 두 파일이 같은 파일인지 확인
|
|
53
|
+
*/
|
|
54
|
+
private isSameFile;
|
|
55
|
+
/**
|
|
56
|
+
* 특정 인덱스에 파일 태그 삽입
|
|
57
|
+
*/
|
|
58
|
+
private insertFileTagAtIndex;
|
|
59
|
+
/**
|
|
60
|
+
* 파일 태그 생성 (마지막에 추가)
|
|
61
|
+
*/
|
|
62
|
+
private createFileTag;
|
|
63
|
+
/**
|
|
64
|
+
* 파일 태그 컨테이너 생성
|
|
65
|
+
*/
|
|
66
|
+
private createFileTagContainer;
|
|
67
|
+
/**
|
|
68
|
+
* 파일 인덱스 업데이트
|
|
69
|
+
*/
|
|
70
|
+
private updateFileIndices;
|
|
71
|
+
setButtonDisabled(disabled: boolean): void;
|
|
72
|
+
getElement(): HTMLDivElement;
|
|
73
|
+
getFileInputElement(): HTMLInputElement;
|
|
74
|
+
getButtonElement(): HTMLButtonElement;
|
|
75
|
+
destroy(): void;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=FileInputView.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const FILE_INPUT_CLASS_NAMES: {
|
|
2
|
+
fileInput: string;
|
|
3
|
+
inputContainer: string;
|
|
4
|
+
label: string;
|
|
5
|
+
helpIcon: string;
|
|
6
|
+
hintText: string;
|
|
7
|
+
hintList: string;
|
|
8
|
+
hintItem: string;
|
|
9
|
+
fileTags: string;
|
|
10
|
+
fileTagContainer: string;
|
|
11
|
+
fileImage: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const getFileInputSizeClassName: (size: string) => string;
|
|
14
|
+
export declare const getButtonSizeClassName: (size: string) => string;
|
|
15
|
+
export declare const getLabelClassName: (isRequired?: boolean) => "ncua-label" | "ncua-label ncua-label--required";
|
|
16
|
+
export declare const getHintTextClassName: (destructive?: boolean) => "ncua-input__hint-text" | "ncua-input__hint-text ncua-input__hint-text--destructive";
|
|
17
|
+
//# sourceMappingURL=classNames.d.ts.map
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
export declare enum FileInputErrorType {
|
|
2
|
+
ALREADY_UPLOADED = "ALREADY_UPLOADED",
|
|
3
|
+
EXCEED_MAX_FILE_SIZE = "EXCEED_MAX_FILE_SIZE",
|
|
4
|
+
EXCEED_MAX_FILE_COUNT = "EXCEED_MAX_FILE_COUNT"
|
|
5
|
+
}
|
|
6
|
+
export interface InvalidFile extends Omit<File, 'constructor'> {
|
|
7
|
+
errorType: FileInputErrorType;
|
|
8
|
+
}
|
|
9
|
+
export type FileInputSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
10
|
+
export type UploadedFile = {
|
|
11
|
+
fileName: string;
|
|
12
|
+
fileImageUrl?: string;
|
|
13
|
+
};
|
|
14
|
+
export interface BaseFileInputOptions {
|
|
15
|
+
/**
|
|
16
|
+
* Size of the input
|
|
17
|
+
*/
|
|
18
|
+
size?: FileInputSize;
|
|
19
|
+
/**
|
|
20
|
+
* Accepted file types
|
|
21
|
+
* e.g. '.jpg,.png,.pdf' or 'image/*'
|
|
22
|
+
*/
|
|
23
|
+
accept?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Allow multiple file selection
|
|
26
|
+
*/
|
|
27
|
+
multiple?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Maximum number of files
|
|
30
|
+
*/
|
|
31
|
+
maxFileCount?: number;
|
|
32
|
+
/**
|
|
33
|
+
* Maximum file size in bytes
|
|
34
|
+
*/
|
|
35
|
+
maxFileSize?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Initial files (controlled mode)
|
|
38
|
+
*/
|
|
39
|
+
value?: File[];
|
|
40
|
+
/**
|
|
41
|
+
* Callback when files change (controlled mode)
|
|
42
|
+
*/
|
|
43
|
+
onChange?: (files: File[]) => void;
|
|
44
|
+
/**
|
|
45
|
+
* Callback when files are selected (uncontrolled mode)
|
|
46
|
+
*/
|
|
47
|
+
onFileSelect?: (files: File[]) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Callback when file selection fails
|
|
50
|
+
*/
|
|
51
|
+
onFail?: (files: InvalidFile[]) => void;
|
|
52
|
+
/**
|
|
53
|
+
* Label shown on the button
|
|
54
|
+
*/
|
|
55
|
+
buttonLabel?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Whether the input is disabled
|
|
58
|
+
*/
|
|
59
|
+
disabled?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Label text
|
|
62
|
+
*/
|
|
63
|
+
label?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Hint text items to display as a list
|
|
66
|
+
*/
|
|
67
|
+
hintItems?: string[];
|
|
68
|
+
/**
|
|
69
|
+
* Whether the input is required
|
|
70
|
+
*/
|
|
71
|
+
isRequired?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Whether to show the help icon
|
|
74
|
+
*/
|
|
75
|
+
showHelpIcon?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Hint text to display
|
|
78
|
+
*/
|
|
79
|
+
hintText?: string;
|
|
80
|
+
/**
|
|
81
|
+
* Validation state
|
|
82
|
+
*/
|
|
83
|
+
validation?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Destructive state
|
|
86
|
+
*/
|
|
87
|
+
destructive?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Show image preview for image files
|
|
90
|
+
*/
|
|
91
|
+
showImagePreview?: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Name attribute for file input (for PHP form submission)
|
|
94
|
+
*/
|
|
95
|
+
fileInputName?: string;
|
|
96
|
+
/**
|
|
97
|
+
* Name attribute for checkbox input (for existing files deletion)
|
|
98
|
+
*/
|
|
99
|
+
checkboxName?: string;
|
|
100
|
+
/**
|
|
101
|
+
* Container element or selector to automatically append the file input
|
|
102
|
+
* Can be a DOM element, element ID, or CSS selector
|
|
103
|
+
*/
|
|
104
|
+
container?: HTMLElement | string;
|
|
105
|
+
/**
|
|
106
|
+
* Additional CSS class names to add to the main file input element
|
|
107
|
+
*/
|
|
108
|
+
className?: string;
|
|
109
|
+
}
|
|
110
|
+
export interface RequiredFileInputProps extends Required<Pick<BaseFileInputOptions, 'size' | 'buttonLabel'>> {
|
|
111
|
+
accept?: string;
|
|
112
|
+
multiple: boolean;
|
|
113
|
+
maxFileCount?: number;
|
|
114
|
+
maxFileSize?: number;
|
|
115
|
+
value?: File[];
|
|
116
|
+
onChange?: (files: File[]) => void;
|
|
117
|
+
onFileSelect?: (files: File[]) => void;
|
|
118
|
+
onFail?: (files: InvalidFile[]) => void;
|
|
119
|
+
disabled: boolean;
|
|
120
|
+
label?: string;
|
|
121
|
+
hintItems?: string[];
|
|
122
|
+
isRequired?: boolean;
|
|
123
|
+
showHelpIcon?: boolean;
|
|
124
|
+
hintText?: string;
|
|
125
|
+
validation?: boolean;
|
|
126
|
+
destructive?: boolean;
|
|
127
|
+
showImagePreview: boolean;
|
|
128
|
+
fileInputName?: string;
|
|
129
|
+
checkboxName?: string;
|
|
130
|
+
className?: string;
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { BaseImageFileInputOptions, UploadedFile } from './const/types';
|
|
2
|
+
export declare class ImageFileInput {
|
|
3
|
+
private model;
|
|
4
|
+
private view;
|
|
5
|
+
constructor(options: BaseImageFileInputOptions);
|
|
6
|
+
/**
|
|
7
|
+
* 컨테이너에 요소 추가
|
|
8
|
+
*/
|
|
9
|
+
private appendToContainer;
|
|
10
|
+
/**
|
|
11
|
+
* 이벤트 리스너 설정
|
|
12
|
+
*/
|
|
13
|
+
private setupEventListeners;
|
|
14
|
+
/**
|
|
15
|
+
* 파일 선택 버튼 클릭 핸들러
|
|
16
|
+
*/
|
|
17
|
+
private handleBrowseClick;
|
|
18
|
+
/**
|
|
19
|
+
* 파일 변경 핸들러
|
|
20
|
+
*/
|
|
21
|
+
private handleFileChange;
|
|
22
|
+
/**
|
|
23
|
+
* 파일 제거 핸들러
|
|
24
|
+
*/
|
|
25
|
+
private handleRemoveFile;
|
|
26
|
+
/**
|
|
27
|
+
* 변경 알림 (onChange/onFileSelect 호출)
|
|
28
|
+
*/
|
|
29
|
+
private notifyChange;
|
|
30
|
+
/**
|
|
31
|
+
* 뷰 렌더링 (내부용)
|
|
32
|
+
*/
|
|
33
|
+
private render;
|
|
34
|
+
/**
|
|
35
|
+
* 이미지 프리뷰를 수동으로 렌더링
|
|
36
|
+
* 사용자가 콜백에서 직접 호출하여 프리뷰를 렌더링할 수 있음
|
|
37
|
+
*/
|
|
38
|
+
renderImagePreviews(): void;
|
|
39
|
+
/**
|
|
40
|
+
* DOM 요소 반환
|
|
41
|
+
*/
|
|
42
|
+
getElement(): HTMLDivElement;
|
|
43
|
+
/**
|
|
44
|
+
* 현재 파일 목록 반환
|
|
45
|
+
*/
|
|
46
|
+
getFiles(): File[];
|
|
47
|
+
/**
|
|
48
|
+
* 초기 업로드된 파일 목록 설정
|
|
49
|
+
*/
|
|
50
|
+
setFiles(uploadedFiles: UploadedFile[]): void;
|
|
51
|
+
/**
|
|
52
|
+
* 모든 파일 제거
|
|
53
|
+
*/
|
|
54
|
+
clearFiles(): void;
|
|
55
|
+
/**
|
|
56
|
+
* disabled 상태 설정
|
|
57
|
+
*/
|
|
58
|
+
setDisabled(disabled: boolean): void;
|
|
59
|
+
/**
|
|
60
|
+
* 리소스 정리
|
|
61
|
+
*/
|
|
62
|
+
destroy(): void;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=ImageFileInput.d.ts.map
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { BaseImageFileInputOptions, InvalidFile, RequiredImageFileInputProps, UploadedFile } from './const/types';
|
|
2
|
+
export declare class ImageFileInputModel {
|
|
3
|
+
private options;
|
|
4
|
+
private internalFiles;
|
|
5
|
+
private initialFiles;
|
|
6
|
+
private newlyAddedFiles;
|
|
7
|
+
private deletedInitialFiles;
|
|
8
|
+
constructor(options: BaseImageFileInputOptions);
|
|
9
|
+
/**
|
|
10
|
+
* 옵션 반환
|
|
11
|
+
*/
|
|
12
|
+
getOptions(): RequiredImageFileInputProps;
|
|
13
|
+
/**
|
|
14
|
+
* 현재 파일 목록 반환 (초기 파일 + 새로 추가된 파일, 삭제 표시된 파일 제외)
|
|
15
|
+
*/
|
|
16
|
+
getFiles(): File[];
|
|
17
|
+
/**
|
|
18
|
+
* 파일명에서 MIME 타입 추론
|
|
19
|
+
*/
|
|
20
|
+
private getMimeTypeFromFileName;
|
|
21
|
+
/**
|
|
22
|
+
* 초기 업로드된 파일 목록 설정 (UploadedFile[] 타입만 허용)
|
|
23
|
+
*/
|
|
24
|
+
setFiles(uploadedFiles: UploadedFile[]): void;
|
|
25
|
+
/**
|
|
26
|
+
* 파일 추가
|
|
27
|
+
*/
|
|
28
|
+
addFiles(files: File[]): void;
|
|
29
|
+
/**
|
|
30
|
+
* 특정 인덱스의 파일 제거
|
|
31
|
+
*/
|
|
32
|
+
removeFile(index: number): void;
|
|
33
|
+
/**
|
|
34
|
+
* 모든 파일 제거
|
|
35
|
+
*/
|
|
36
|
+
clearFiles(): void;
|
|
37
|
+
/**
|
|
38
|
+
* 파일 유효성 검사
|
|
39
|
+
*/
|
|
40
|
+
validateFiles(fileList: File[]): {
|
|
41
|
+
validFiles: File[];
|
|
42
|
+
invalidFiles: InvalidFile[];
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* disabled 상태 설정
|
|
46
|
+
*/
|
|
47
|
+
setDisabled(disabled: boolean): void;
|
|
48
|
+
/**
|
|
49
|
+
* disabled 상태 반환
|
|
50
|
+
*/
|
|
51
|
+
isDisabled(): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Controlled mode 여부 확인
|
|
54
|
+
* onChange가 있으면 Controlled mode로 판단
|
|
55
|
+
*/
|
|
56
|
+
isControlled(): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* 파일이 초기 파일인지 확인 (UploadedFile로 설정된 기존 파일)
|
|
59
|
+
*/
|
|
60
|
+
isInitialFile(file: File): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* 파일이 새로 추가된 파일인지 확인
|
|
63
|
+
*/
|
|
64
|
+
isNewlyAddedFile(file: File): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* 파일이 삭제 표시된 초기 파일인지 확인
|
|
67
|
+
*/
|
|
68
|
+
isDeletedInitialFile(file: File): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* 초기 파일의 이미지 URL 반환
|
|
71
|
+
*/
|
|
72
|
+
getInitialFileImageUrl(file: File): string | undefined;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=ImageFileInputModel.d.ts.map
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { RequiredImageFileInputProps } from './const/types';
|
|
2
|
+
import { ImageFileInputModel } from './ImageFileInputModel';
|
|
3
|
+
export declare class ImageFileInputView {
|
|
4
|
+
private element;
|
|
5
|
+
private fileInputElement;
|
|
6
|
+
private buttonElement;
|
|
7
|
+
private previewsContainer;
|
|
8
|
+
private options;
|
|
9
|
+
private model;
|
|
10
|
+
private renderedFiles;
|
|
11
|
+
private previewUrls;
|
|
12
|
+
constructor(options: RequiredImageFileInputProps, model: ImageFileInputModel);
|
|
13
|
+
/**
|
|
14
|
+
* 메인 DOM 요소 생성
|
|
15
|
+
*/
|
|
16
|
+
private createElement;
|
|
17
|
+
/**
|
|
18
|
+
* Hidden file input 생성
|
|
19
|
+
*/
|
|
20
|
+
private createFileInput;
|
|
21
|
+
/**
|
|
22
|
+
* Input container 생성
|
|
23
|
+
*/
|
|
24
|
+
private createInputContainer;
|
|
25
|
+
/**
|
|
26
|
+
* Label container 생성
|
|
27
|
+
*/
|
|
28
|
+
private createLabelContainer;
|
|
29
|
+
/**
|
|
30
|
+
* Help icon 생성
|
|
31
|
+
*/
|
|
32
|
+
private createHelpIcon;
|
|
33
|
+
/**
|
|
34
|
+
* Button 생성 (파일 찾기)
|
|
35
|
+
*/
|
|
36
|
+
private createButton;
|
|
37
|
+
/**
|
|
38
|
+
* Share icon (업로드 아이콘) 생성
|
|
39
|
+
*/
|
|
40
|
+
private createShareIcon;
|
|
41
|
+
/**
|
|
42
|
+
* Trash icon (삭제 아이콘) 생성
|
|
43
|
+
*/
|
|
44
|
+
private createTrashIcon;
|
|
45
|
+
/**
|
|
46
|
+
* Hint text 생성
|
|
47
|
+
*/
|
|
48
|
+
private createHintText;
|
|
49
|
+
/**
|
|
50
|
+
* Hint list 생성
|
|
51
|
+
* Note: 힌트 리스트는 컴포넌트 size와 관계없이 항상 xs 사이즈로 고정됨
|
|
52
|
+
*/
|
|
53
|
+
private createHintList;
|
|
54
|
+
/**
|
|
55
|
+
* 이미지 프리뷰 렌더링
|
|
56
|
+
*/
|
|
57
|
+
renderImagePreviews(files: File[], onRemove: (index: number) => void, onBrowseClick: () => void): void;
|
|
58
|
+
/**
|
|
59
|
+
* 이미지 프리뷰 생성
|
|
60
|
+
*/
|
|
61
|
+
private createImagePreview;
|
|
62
|
+
/**
|
|
63
|
+
* 빈 슬롯 생성 (파일 찾기 버튼)
|
|
64
|
+
*/
|
|
65
|
+
private createEmptySlot;
|
|
66
|
+
/**
|
|
67
|
+
* Tooltip 생성
|
|
68
|
+
*/
|
|
69
|
+
private createTooltip;
|
|
70
|
+
/**
|
|
71
|
+
* 기존 프리뷰 정리
|
|
72
|
+
*/
|
|
73
|
+
private cleanupPreviews;
|
|
74
|
+
setButtonDisabled(disabled: boolean): void;
|
|
75
|
+
getElement(): HTMLDivElement;
|
|
76
|
+
getFileInputElement(): HTMLInputElement;
|
|
77
|
+
getButtonElement(): HTMLButtonElement;
|
|
78
|
+
destroy(): void;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=ImageFileInputView.d.ts.map
|