@ncds/ui-admin 1.6.4-alpha.1 → 1.7.0
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 +148 -0
- package/dist/cjs/assets/scripts/comboBox.js +188 -0
- package/dist/cjs/assets/scripts/datePicker.js +706 -0
- package/dist/cjs/assets/scripts/featuredIcon.js +95 -0
- package/dist/cjs/assets/scripts/fileInput/const/classNames.js +31 -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/fileInput.js +79 -0
- package/dist/cjs/assets/scripts/fileInput/fileInputModel.js +61 -0
- package/dist/cjs/assets/scripts/fileInput/fileInputView.js +147 -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 +255 -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 +30 -0
- 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/MessageNotification.js +146 -0
- package/dist/cjs/assets/scripts/notification/Notification.js +116 -0
- package/dist/cjs/assets/scripts/notification/const/classNames.js +50 -0
- package/dist/cjs/assets/scripts/notification/const/icons.js +45 -0
- package/dist/cjs/assets/scripts/notification/const/index.js +87 -0
- package/dist/cjs/assets/scripts/notification/const/sizes.js +54 -0
- package/dist/cjs/assets/scripts/notification/const/types.js +14 -0
- package/dist/cjs/assets/scripts/notification/index.js +92 -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 +229 -0
- package/dist/cjs/assets/scripts/shared/ButtonCloseX.js +46 -0
- package/dist/cjs/assets/scripts/tab.js +40 -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/debounce.js +33 -0
- package/dist/cjs/assets/scripts/utils/unifiedBox/domRenderer.js +384 -0
- package/dist/cjs/assets/scripts/utils/unifiedBox/dropdownModel.js +326 -0
- package/dist/cjs/assets/scripts/utils/unifiedBox/unifiedBoxController.js +649 -0
- package/dist/cjs/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +669 -0
- package/dist/cjs/src/components/badge/Badge.js +1 -1
- package/dist/cjs/src/components/breadcrumb/BreadCrumb.js +1 -1
- package/dist/cjs/src/components/button/Button.js +13 -5
- package/dist/cjs/src/components/button/ButtonGroup.js +4 -4
- package/dist/cjs/src/components/carousel/CarouselArrow.js +2 -2
- package/dist/cjs/src/components/carousel/CarouselNumberGroup.js +4 -5
- package/dist/cjs/src/components/checkbox/CheckboxInput.js +1 -1
- package/dist/cjs/src/components/combobox/ComboBox.js +54 -43
- package/dist/cjs/src/components/date-picker/CustomInput.js +3 -1
- package/dist/cjs/src/components/date-picker/DatePicker.js +85 -65
- package/dist/cjs/src/components/date-picker/RangeDatePicker.js +46 -37
- package/dist/cjs/src/components/divider/Divider.js +1 -1
- package/dist/cjs/src/components/dot/Dot.js +1 -1
- package/dist/cjs/src/components/dropdown/Dropdown.js +3 -2
- package/dist/cjs/src/components/featured-icon/FeaturedIcon.js +1 -1
- package/dist/cjs/src/components/file-input/FileInput.js +3 -3
- package/dist/cjs/src/components/image-file-input/ImageFileInput.js +5 -2
- package/dist/cjs/src/components/input/InputBase.js +3 -2
- package/dist/cjs/src/components/input/NumberInput.js +1 -1
- package/dist/cjs/src/components/notification/index.js +11 -11
- package/dist/cjs/src/components/pagination/NavButton.js +3 -1
- package/dist/cjs/src/components/pagination/Pagination.js +65 -67
- package/dist/cjs/src/components/progress-bar/ProgressBar.js +13 -9
- package/dist/cjs/src/components/progress-bar/components/SegmentBar.js +1 -1
- package/dist/cjs/src/components/progress-bar/components/SegmentLabels.js +1 -1
- package/dist/cjs/src/components/progress-bar/hooks/useProgressBar.js +3 -2
- package/dist/cjs/src/components/progress-bar/utils.js +3 -2
- package/dist/cjs/src/components/progress-circle/ProgressCircle.js +41 -41
- package/dist/cjs/src/components/select/Select.js +2 -2
- package/dist/cjs/src/components/selectbox/SelectBox.js +57 -45
- package/dist/cjs/src/components/spinner/Spinner.js +5 -4
- package/dist/cjs/src/components/spinner/index.js +0 -11
- package/dist/cjs/src/components/switch/Switch.js +15 -10
- package/dist/cjs/src/components/tab/HorizontalTab.js +8 -5
- package/dist/cjs/src/components/tab/TabButton.js +1 -1
- package/dist/cjs/src/components/toggle/Toggle.js +13 -15
- package/dist/cjs/src/components/tooltip/Tooltip.js +28 -13
- package/dist/cjs/src/constant/index.js +8 -8
- package/dist/cjs/src/hooks/dropdown/useDropdownKeyboard.js +47 -56
- package/dist/cjs/src/hooks/dropdown/useScrollLock.js +26 -19
- package/dist/cjs/src/hooks/index.js +4 -4
- package/dist/cjs/src/utils/date-picker.js +14 -7
- package/dist/cjs/src/utils/dropdown/dropdownUtils.js +6 -8
- package/dist/esm/assets/scripts/baseBox.js +143 -0
- package/dist/esm/assets/scripts/comboBox.js +183 -0
- package/dist/esm/assets/scripts/datePicker.js +699 -0
- package/dist/esm/assets/scripts/featuredIcon.js +90 -0
- package/dist/esm/assets/scripts/fileInput/const/classNames.js +22 -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/fileInput.js +74 -0
- package/dist/esm/assets/scripts/fileInput/fileInputModel.js +56 -0
- package/dist/esm/assets/scripts/fileInput/fileInputView.js +142 -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 +250 -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 +28 -0
- 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/MessageNotification.js +141 -0
- package/dist/esm/assets/scripts/notification/Notification.js +111 -0
- package/dist/esm/assets/scripts/notification/const/classNames.js +44 -0
- package/dist/esm/assets/scripts/notification/const/icons.js +39 -0
- package/dist/esm/assets/scripts/notification/const/index.js +4 -0
- package/dist/esm/assets/scripts/notification/const/sizes.js +48 -0
- package/dist/esm/assets/scripts/notification/const/types.js +8 -0
- package/dist/esm/assets/scripts/notification/index.js +11 -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 +224 -0
- package/dist/esm/assets/scripts/shared/ButtonCloseX.js +38 -0
- package/dist/esm/assets/scripts/tab.js +35 -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/debounce.js +27 -0
- package/dist/esm/assets/scripts/utils/unifiedBox/domRenderer.js +379 -0
- package/dist/esm/assets/scripts/utils/unifiedBox/dropdownModel.js +320 -0
- package/dist/esm/assets/scripts/utils/unifiedBox/unifiedBoxController.js +644 -0
- package/dist/esm/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +664 -0
- package/dist/esm/src/components/badge/Badge.js +4 -3
- package/dist/esm/src/components/badge/BadgeGroup.js +3 -2
- package/dist/esm/src/components/badge/utils.js +3 -2
- package/dist/esm/src/components/breadcrumb/BreadCrumb.js +4 -3
- package/dist/esm/src/components/button/Button.js +13 -5
- package/dist/esm/src/components/button/ButtonCloseX.js +3 -2
- package/dist/esm/src/components/button/ButtonGroup.js +6 -4
- package/dist/esm/src/components/carousel/CarouselArrow.js +2 -2
- package/dist/esm/src/components/carousel/CarouselNumberGroup.js +4 -5
- package/dist/esm/src/components/checkbox/CheckboxInput.js +1 -1
- package/dist/esm/src/components/combobox/ComboBox.js +58 -46
- package/dist/esm/src/components/date-picker/CustomInput.js +6 -3
- package/dist/esm/src/components/date-picker/DatePicker.js +88 -67
- package/dist/esm/src/components/date-picker/RangeDatePicker.js +49 -39
- package/dist/esm/src/components/date-picker/RangeDatePickerWithButtons.js +3 -2
- package/dist/esm/src/components/divider/Divider.js +1 -1
- package/dist/esm/src/components/dot/Dot.js +4 -3
- package/dist/esm/src/components/dropdown/Dropdown.js +3 -2
- package/dist/esm/src/components/empty-state/EmptyState.js +3 -2
- package/dist/esm/src/components/featured-icon/FeaturedIcon.js +4 -3
- package/dist/esm/src/components/file-input/FileInput.js +3 -3
- package/dist/esm/src/components/image-file-input/ImageFileInput.js +6 -3
- package/dist/esm/src/components/input/InputBase.js +6 -4
- package/dist/esm/src/components/input/NumberInput.js +1 -1
- package/dist/esm/src/components/modal/Modal.js +3 -2
- package/dist/esm/src/components/notification/FloatingNotification.js +3 -2
- package/dist/esm/src/components/notification/FullWidthNotification.js +3 -2
- package/dist/esm/src/components/notification/MessageNotification.js +3 -2
- package/dist/esm/src/components/notification/Notification.js +3 -2
- package/dist/esm/src/components/notification/index.js +2 -2
- package/dist/esm/src/components/pagination/NavButton.js +3 -1
- package/dist/esm/src/components/pagination/Pagination.js +65 -67
- package/dist/esm/src/components/progress-bar/ProgressBar.js +13 -9
- package/dist/esm/src/components/progress-bar/components/SegmentBar.js +1 -1
- package/dist/esm/src/components/progress-bar/components/SegmentLabels.js +5 -4
- package/dist/esm/src/components/progress-bar/hooks/useProgressBar.js +3 -2
- package/dist/esm/src/components/progress-bar/utils.js +7 -5
- package/dist/esm/src/components/progress-circle/ProgressCircle.js +41 -41
- package/dist/esm/src/components/select/Select.js +2 -2
- package/dist/esm/src/components/select-dropdown/SelectDropdown.js +3 -2
- package/dist/esm/src/components/selectbox/SelectBox.js +61 -48
- package/dist/esm/src/components/spinner/Spinner.js +5 -4
- package/dist/esm/src/components/spinner/index.js +1 -2
- package/dist/esm/src/components/switch/Switch.js +19 -13
- package/dist/esm/src/components/tab/HorizontalTab.js +12 -8
- package/dist/esm/src/components/tab/TabButton.js +4 -3
- package/dist/esm/src/components/tag/Tag.js +3 -2
- package/dist/esm/src/components/toggle/Toggle.js +14 -16
- package/dist/esm/src/components/tooltip/Tooltip.js +29 -14
- package/dist/esm/src/constant/index.js +2 -2
- package/dist/esm/src/hooks/dropdown/useDropdownKeyboard.js +47 -56
- package/dist/esm/src/hooks/dropdown/useScrollLock.js +26 -19
- package/dist/esm/src/hooks/index.js +3 -3
- package/dist/esm/src/utils/date-picker.js +14 -7
- package/dist/esm/src/utils/dropdown/dropdownUtils.js +6 -8
- package/dist/temp/assets/scripts/baseBox.d.ts +55 -0
- package/dist/temp/assets/scripts/baseBox.js +144 -0
- package/dist/temp/assets/scripts/comboBox.d.ts +60 -0
- package/dist/temp/assets/scripts/comboBox.js +163 -0
- package/dist/temp/assets/scripts/datePicker.d.ts +86 -0
- package/dist/temp/assets/scripts/datePicker.js +706 -0
- package/dist/temp/assets/scripts/featuredIcon.d.ts +22 -0
- package/dist/temp/assets/scripts/featuredIcon.js +86 -0
- package/dist/temp/assets/scripts/fileInput/const/classNames.d.ts +15 -0
- package/dist/temp/assets/scripts/fileInput/const/classNames.js +20 -0
- package/dist/temp/assets/scripts/fileInput/const/index.d.ts +2 -0
- package/dist/temp/assets/scripts/fileInput/const/index.js +2 -0
- package/dist/temp/assets/scripts/fileInput/const/types.d.ts +88 -0
- package/dist/temp/assets/scripts/fileInput/const/types.js +7 -0
- package/dist/temp/assets/scripts/fileInput/fileInput.d.ts +13 -0
- package/dist/temp/assets/scripts/fileInput/fileInput.js +75 -0
- package/dist/temp/assets/scripts/fileInput/fileInputModel.d.ts +12 -0
- package/dist/temp/assets/scripts/fileInput/fileInputModel.js +45 -0
- package/dist/temp/assets/scripts/fileInput/fileInputView.d.ts +42 -0
- package/dist/temp/assets/scripts/fileInput/fileInputView.js +142 -0
- package/dist/temp/assets/scripts/fileInput/index.d.ts +3 -0
- package/dist/temp/assets/scripts/fileInput/index.js +9 -0
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInput.d.ts +63 -0
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInput.js +186 -0
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInputModel.d.ts +73 -0
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInputModel.js +234 -0
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInputView.d.ts +79 -0
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInputView.js +348 -0
- package/dist/temp/assets/scripts/imageFileInput/const/classNames.d.ts +19 -0
- package/dist/temp/assets/scripts/imageFileInput/const/classNames.js +24 -0
- package/dist/temp/assets/scripts/imageFileInput/const/index.d.ts +2 -0
- package/dist/temp/assets/scripts/imageFileInput/const/index.js +2 -0
- package/dist/temp/assets/scripts/imageFileInput/const/types.d.ts +125 -0
- package/dist/temp/assets/scripts/imageFileInput/const/types.js +7 -0
- package/dist/temp/assets/scripts/imageFileInput/index.d.ts +3 -0
- package/dist/temp/assets/scripts/imageFileInput/index.js +9 -0
- package/dist/temp/assets/scripts/index.d.ts +32 -0
- package/dist/temp/assets/scripts/index.js +28 -0
- package/dist/temp/assets/scripts/modal/Modal.d.ts +27 -0
- package/dist/temp/assets/scripts/modal/Modal.js +106 -0
- package/dist/temp/assets/scripts/modal/ModalActions.d.ts +18 -0
- package/dist/temp/assets/scripts/modal/ModalActions.js +125 -0
- package/dist/temp/assets/scripts/modal/ModalContent.d.ts +13 -0
- package/dist/temp/assets/scripts/modal/ModalContent.js +41 -0
- package/dist/temp/assets/scripts/modal/ModalHeader.d.ts +15 -0
- package/dist/temp/assets/scripts/modal/ModalHeader.js +102 -0
- package/dist/temp/assets/scripts/modal/const/classNames.d.ts +22 -0
- package/dist/temp/assets/scripts/modal/const/classNames.js +23 -0
- package/dist/temp/assets/scripts/modal/const/index.d.ts +2 -0
- package/dist/temp/assets/scripts/modal/const/index.js +2 -0
- package/dist/temp/assets/scripts/modal/const/types.d.ts +61 -0
- package/dist/temp/assets/scripts/modal/index.d.ts +7 -0
- package/dist/temp/assets/scripts/modal/index.js +15 -0
- package/dist/temp/assets/scripts/modal/utils/contentUtils.d.ts +10 -0
- package/dist/temp/assets/scripts/modal/utils/contentUtils.js +29 -0
- package/dist/temp/assets/scripts/notification/FloatingNotification.d.ts +24 -0
- package/dist/temp/assets/scripts/notification/FloatingNotification.js +154 -0
- package/dist/temp/assets/scripts/notification/FullWidthNotification.d.ts +21 -0
- package/dist/temp/assets/scripts/notification/FullWidthNotification.js +94 -0
- package/dist/temp/assets/scripts/notification/MessageNotification.d.ts +22 -0
- package/dist/temp/assets/scripts/notification/MessageNotification.js +123 -0
- package/dist/temp/assets/scripts/notification/Notification.d.ts +21 -0
- package/dist/temp/assets/scripts/notification/Notification.js +108 -0
- package/dist/temp/assets/scripts/notification/const/classNames.d.ts +43 -0
- package/dist/temp/assets/scripts/notification/const/classNames.js +44 -0
- package/dist/temp/assets/scripts/notification/const/icons.d.ts +25 -0
- package/dist/temp/assets/scripts/notification/const/icons.js +39 -0
- package/dist/temp/assets/scripts/notification/const/index.d.ts +5 -0
- package/dist/temp/assets/scripts/notification/const/index.js +4 -0
- package/dist/temp/assets/scripts/notification/const/sizes.d.ts +32 -0
- package/dist/temp/assets/scripts/notification/const/sizes.js +40 -0
- package/dist/temp/assets/scripts/notification/const/types.d.ts +19 -0
- package/dist/temp/assets/scripts/notification/const/types.js +8 -0
- package/dist/temp/assets/scripts/notification/index.d.ts +7 -0
- package/dist/temp/assets/scripts/notification/index.js +11 -0
- package/dist/temp/assets/scripts/notification/utils.d.ts +8 -0
- package/dist/temp/assets/scripts/notification/utils.js +84 -0
- package/dist/temp/assets/scripts/progress-bar/ProgressBar.d.ts +67 -0
- package/dist/temp/assets/scripts/progress-bar/ProgressBar.js +258 -0
- package/dist/temp/assets/scripts/progress-bar/index.d.ts +1 -0
- package/dist/temp/assets/scripts/progress-bar/index.js +1 -0
- package/dist/temp/assets/scripts/selectBox.d.ts +50 -0
- package/dist/temp/assets/scripts/selectBox.js +194 -0
- package/dist/temp/assets/scripts/shared/ButtonCloseX.d.ts +5 -0
- package/dist/temp/assets/scripts/shared/ButtonCloseX.js +32 -0
- package/dist/temp/assets/scripts/slider.d.ts +41 -0
- package/dist/temp/assets/scripts/slider.js +331 -0
- package/dist/temp/assets/scripts/tab.d.ts +7 -0
- package/dist/temp/assets/scripts/tab.js +35 -0
- package/dist/temp/assets/scripts/tag/Tag.d.ts +27 -0
- package/dist/temp/assets/scripts/tag/Tag.js +267 -0
- package/dist/temp/assets/scripts/tag/const/classNames.d.ts +11 -0
- package/dist/temp/assets/scripts/tag/const/classNames.js +12 -0
- package/dist/temp/assets/scripts/tag/const/index.d.ts +3 -0
- package/dist/temp/assets/scripts/tag/const/index.js +3 -0
- package/dist/temp/assets/scripts/tag/const/sizes.d.ts +7 -0
- package/dist/temp/assets/scripts/tag/const/sizes.js +7 -0
- package/dist/temp/assets/scripts/tag/const/types.d.ts +33 -0
- package/dist/temp/assets/scripts/tag/const/types.js +1 -0
- package/dist/temp/assets/scripts/tag/index.d.ts +3 -0
- package/dist/temp/assets/scripts/tag/index.js +9 -0
- package/dist/temp/assets/scripts/tooltip/Tooltip.d.ts +54 -0
- package/dist/temp/assets/scripts/tooltip/Tooltip.js +360 -0
- package/dist/temp/assets/scripts/tooltip/TooltipLayerManager.d.ts +21 -0
- package/dist/temp/assets/scripts/tooltip/TooltipLayerManager.js +74 -0
- package/dist/temp/assets/scripts/tooltip/const/classNames.d.ts +17 -0
- package/dist/temp/assets/scripts/tooltip/const/classNames.js +23 -0
- package/dist/temp/assets/scripts/tooltip/const/constants.d.ts +33 -0
- package/dist/temp/assets/scripts/tooltip/const/constants.js +46 -0
- package/dist/temp/assets/scripts/tooltip/const/icons.d.ts +4 -0
- package/dist/temp/assets/scripts/tooltip/const/icons.js +9 -0
- package/dist/temp/assets/scripts/tooltip/const/index.d.ts +5 -0
- package/dist/temp/assets/scripts/tooltip/const/index.js +4 -0
- package/dist/temp/assets/scripts/tooltip/const/templates.d.ts +16 -0
- package/dist/temp/assets/scripts/tooltip/const/templates.js +30 -0
- package/dist/temp/assets/scripts/tooltip/const/types.d.ts +14 -0
- package/dist/temp/assets/scripts/tooltip/const/types.js +1 -0
- package/dist/temp/assets/scripts/tooltip/index.d.ts +6 -0
- package/dist/temp/assets/scripts/tooltip/index.js +10 -0
- package/dist/temp/assets/scripts/tooltip/utils.d.ts +2 -0
- package/dist/temp/assets/scripts/tooltip/utils.js +35 -0
- package/dist/temp/assets/scripts/utils/debounce.d.ts +8 -0
- package/dist/temp/assets/scripts/utils/debounce.js +27 -0
- package/dist/temp/assets/scripts/utils/unifiedBox/domRenderer.d.ts +107 -0
- package/dist/temp/assets/scripts/utils/unifiedBox/domRenderer.js +376 -0
- package/dist/temp/assets/scripts/utils/unifiedBox/dropdownModel.d.ts +142 -0
- package/dist/temp/assets/scripts/utils/unifiedBox/dropdownModel.js +311 -0
- package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxController.d.ts +156 -0
- package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxController.js +627 -0
- package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxManager.d.ts +95 -0
- package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +559 -0
- package/dist/temp/constant/color.d.ts +36 -0
- package/dist/temp/constant/color.js +34 -0
- package/dist/temp/constant/size.d.ts +1 -0
- package/dist/temp/constant/size.js +1 -0
- package/dist/temp/index.d.ts +29 -0
- package/dist/temp/index.js +29 -0
- package/dist/temp/src/components/badge/Badge.d.ts +18 -0
- package/dist/temp/src/components/badge/Badge.js +23 -0
- package/dist/temp/src/components/badge/BadgeGroup.d.ts +18 -0
- package/dist/temp/src/components/badge/BadgeGroup.js +36 -0
- package/dist/temp/src/components/badge/index.d.ts +2 -0
- package/dist/temp/src/components/badge/index.js +2 -0
- package/dist/temp/src/components/badge/utils.d.ts +8 -0
- package/dist/temp/src/components/badge/utils.js +17 -0
- package/dist/temp/src/components/breadcrumb/BreadCrumb.d.ts +11 -0
- package/dist/temp/src/components/breadcrumb/BreadCrumb.js +33 -0
- package/dist/temp/src/components/breadcrumb/index.d.ts +1 -0
- package/dist/temp/src/components/breadcrumb/index.js +1 -0
- package/dist/temp/src/components/button/Button.d.ts +35 -0
- package/dist/temp/src/components/button/Button.js +69 -0
- package/dist/temp/src/components/button/ButtonCloseX.d.ts +10 -0
- package/dist/temp/src/components/button/ButtonCloseX.js +25 -0
- package/dist/temp/src/components/button/ButtonGroup.d.ts +311 -0
- package/dist/temp/src/components/button/ButtonGroup.js +72 -0
- package/dist/temp/src/components/button/ButtonStepper.d.ts +9 -0
- package/dist/temp/src/components/button/ButtonStepper.js +6 -0
- package/dist/temp/src/components/button/index.d.ts +4 -0
- package/dist/temp/src/components/button/index.js +4 -0
- package/dist/temp/src/components/carousel/CarouselArrow.d.ts +8 -0
- package/dist/temp/src/components/carousel/CarouselArrow.js +24 -0
- package/dist/temp/src/components/carousel/CarouselNumberGroup.d.ts +8 -0
- package/dist/temp/src/components/carousel/CarouselNumberGroup.js +24 -0
- package/dist/temp/src/components/carousel/index.d.ts +2 -0
- package/dist/temp/src/components/carousel/index.js +2 -0
- package/dist/temp/src/components/checkbox/Checkbox.d.ts +7 -0
- package/dist/temp/src/components/checkbox/Checkbox.js +30 -0
- package/dist/temp/src/components/checkbox/CheckboxInput.d.ts +9 -0
- package/dist/temp/src/components/checkbox/CheckboxInput.js +46 -0
- package/dist/temp/src/components/checkbox/index.d.ts +2 -0
- package/dist/temp/src/components/checkbox/index.js +2 -0
- package/dist/temp/src/components/combobox/ComboBox.d.ts +28 -0
- package/dist/temp/src/components/combobox/ComboBox.js +199 -0
- package/dist/temp/src/components/combobox/index.d.ts +2 -0
- package/dist/temp/src/components/combobox/index.js +1 -0
- package/dist/temp/src/components/date-picker/CustomInput.d.ts +10 -0
- package/dist/temp/src/components/date-picker/CustomInput.js +34 -0
- package/dist/temp/src/components/date-picker/DatePicker.d.ts +24 -0
- package/dist/temp/src/components/date-picker/DatePicker.js +326 -0
- package/dist/temp/src/components/date-picker/RangeDatePicker.d.ts +26 -0
- package/dist/temp/src/components/date-picker/RangeDatePicker.js +117 -0
- package/dist/temp/src/components/date-picker/RangeDatePickerWithButtons.d.ts +71 -0
- package/dist/temp/src/components/date-picker/RangeDatePickerWithButtons.js +55 -0
- package/dist/temp/src/components/date-picker/index.d.ts +4 -0
- package/dist/temp/src/components/date-picker/index.js +4 -0
- package/dist/temp/src/components/date-picker/utils.d.ts +2 -0
- package/dist/temp/src/components/date-picker/utils.js +8 -0
- package/dist/temp/src/components/divider/Divider.d.ts +15 -0
- package/dist/temp/src/components/divider/Divider.js +23 -0
- package/dist/temp/src/components/divider/index.d.ts +1 -0
- package/dist/temp/src/components/divider/index.js +1 -0
- package/dist/temp/src/components/dot/Dot.d.ts +24 -0
- package/dist/temp/src/components/dot/Dot.js +31 -0
- package/dist/temp/src/components/dot/index.d.ts +1 -0
- package/dist/temp/src/components/dot/index.js +1 -0
- package/dist/temp/src/components/dropdown/Dropdown.d.ts +52 -0
- package/dist/temp/src/components/dropdown/Dropdown.js +90 -0
- package/dist/temp/src/components/dropdown/index.d.ts +1 -0
- package/dist/temp/src/components/dropdown/index.js +1 -0
- package/dist/temp/src/components/empty-state/EmptyState.d.ts +14 -0
- package/dist/temp/src/components/empty-state/EmptyState.js +33 -0
- package/dist/temp/src/components/empty-state/index.d.ts +1 -0
- package/dist/temp/src/components/empty-state/index.js +1 -0
- package/dist/temp/src/components/featured-icon/FeaturedIcon.d.ts +15 -0
- package/dist/temp/src/components/featured-icon/FeaturedIcon.js +36 -0
- package/dist/temp/src/components/featured-icon/index.d.ts +1 -0
- package/dist/temp/src/components/featured-icon/index.js +1 -0
- package/dist/temp/src/components/file-input/FileInput.d.ts +61 -0
- package/dist/temp/src/components/file-input/FileInput.js +123 -0
- package/dist/temp/src/components/file-input/index.d.ts +1 -0
- package/dist/temp/src/components/file-input/index.js +1 -0
- package/dist/temp/src/components/image-file-input/ImageFileInput.d.ts +70 -0
- package/dist/temp/src/components/image-file-input/ImageFileInput.js +124 -0
- package/dist/temp/src/components/image-file-input/components/ImagePreview.d.ts +5 -0
- package/dist/temp/src/components/image-file-input/components/ImagePreview.js +18 -0
- package/dist/temp/src/components/image-file-input/index.d.ts +1 -0
- package/dist/temp/src/components/image-file-input/index.js +1 -0
- package/dist/temp/src/components/index.d.ts +33 -0
- package/dist/temp/src/components/index.js +32 -0
- package/dist/temp/src/components/input/InputBase.d.ts +54 -0
- package/dist/temp/src/components/input/InputBase.js +121 -0
- package/dist/temp/src/components/input/NumberInput.d.ts +9 -0
- package/dist/temp/src/components/input/NumberInput.js +93 -0
- package/dist/temp/src/components/input/PasswordInput.d.ts +2 -0
- package/dist/temp/src/components/input/PasswordInput.js +51 -0
- package/dist/temp/src/components/input/Textarea.d.ts +14 -0
- package/dist/temp/src/components/input/Textarea.js +60 -0
- package/dist/temp/src/components/input/index.d.ts +4 -0
- package/dist/temp/src/components/input/index.js +4 -0
- package/dist/temp/src/components/modal/Modal.d.ts +79 -0
- package/dist/temp/src/components/modal/Modal.js +101 -0
- package/dist/temp/src/components/modal/index.d.ts +1 -0
- package/dist/temp/src/components/modal/index.js +1 -0
- package/dist/temp/src/components/notification/FloatingNotification.d.ts +37 -0
- package/dist/temp/src/components/notification/FloatingNotification.js +79 -0
- package/dist/temp/src/components/notification/FullWidthNotification.d.ts +46 -0
- package/dist/temp/src/components/notification/FullWidthNotification.js +79 -0
- package/dist/temp/src/components/notification/MessageNotification.d.ts +41 -0
- package/dist/temp/src/components/notification/MessageNotification.js +57 -0
- package/dist/temp/src/components/notification/Notification.d.ts +72 -0
- package/dist/temp/src/components/notification/Notification.js +42 -0
- package/dist/temp/src/components/notification/index.d.ts +4 -0
- package/dist/temp/src/components/notification/index.js +4 -0
- package/dist/temp/src/components/pagination/NavButton.d.ts +31 -0
- package/dist/temp/src/components/pagination/NavButton.js +66 -0
- package/dist/temp/src/components/pagination/Pagination.d.ts +11 -0
- package/dist/temp/src/components/pagination/Pagination.js +93 -0
- package/dist/temp/src/components/pagination/index.d.ts +2 -0
- package/dist/temp/src/components/pagination/index.js +2 -0
- package/dist/temp/src/components/progress-bar/ProgressBar.d.ts +2 -0
- package/dist/temp/src/components/progress-bar/ProgressBar.js +31 -0
- package/dist/temp/src/components/progress-bar/components/SegmentBar.d.ts +7 -0
- package/dist/temp/src/components/progress-bar/components/SegmentBar.js +10 -0
- package/dist/temp/src/components/progress-bar/components/SegmentLabels.d.ts +15 -0
- package/dist/temp/src/components/progress-bar/components/SegmentLabels.js +45 -0
- package/dist/temp/src/components/progress-bar/hooks/useProgressBar.d.ts +13 -0
- package/dist/temp/src/components/progress-bar/hooks/useProgressBar.js +96 -0
- package/dist/temp/src/components/progress-bar/index.d.ts +2 -0
- package/dist/temp/src/components/progress-bar/index.js +2 -0
- package/dist/temp/src/components/progress-bar/types.d.ts +15 -0
- package/dist/temp/src/components/progress-bar/types.js +1 -0
- package/dist/temp/src/components/progress-bar/utils.d.ts +13 -0
- package/dist/temp/src/components/progress-bar/utils.js +26 -0
- package/dist/temp/src/components/progress-circle/ProgressCircle.d.ts +7 -0
- package/dist/temp/src/components/progress-circle/ProgressCircle.js +21 -0
- package/dist/temp/src/components/progress-circle/index.d.ts +1 -0
- package/dist/temp/src/components/progress-circle/index.js +1 -0
- package/dist/temp/src/components/radio/Radio.d.ts +7 -0
- package/dist/temp/src/components/radio/Radio.js +30 -0
- package/dist/temp/src/components/radio/RadioInput.d.ts +8 -0
- package/dist/temp/src/components/radio/RadioInput.js +29 -0
- package/dist/temp/src/components/radio/index.d.ts +2 -0
- package/dist/temp/src/components/radio/index.js +2 -0
- package/dist/temp/src/components/select/Select.d.ts +16 -0
- package/dist/temp/src/components/select/Select.js +33 -0
- package/dist/temp/src/components/select/index.d.ts +1 -0
- package/dist/temp/src/components/select/index.js +1 -0
- package/dist/temp/src/components/select-dropdown/SelectDropdown.d.ts +29 -0
- package/dist/temp/src/components/select-dropdown/SelectDropdown.js +49 -0
- package/dist/temp/src/components/select-dropdown/index.d.ts +1 -0
- package/dist/temp/src/components/select-dropdown/index.js +1 -0
- package/dist/temp/src/components/selectbox/SelectBox.d.ts +27 -0
- package/dist/temp/src/components/selectbox/SelectBox.js +163 -0
- package/dist/temp/src/components/selectbox/index.d.ts +1 -0
- package/dist/temp/src/components/selectbox/index.js +1 -0
- package/dist/temp/src/components/shared/hintText/HintText.d.ts +7 -0
- package/dist/temp/src/components/shared/hintText/HintText.js +28 -0
- package/dist/temp/src/components/shared/hintText/index.d.ts +1 -0
- package/dist/temp/src/components/shared/hintText/index.js +1 -0
- package/dist/temp/src/components/shared/index.d.ts +2 -0
- package/dist/temp/src/components/shared/index.js +2 -0
- package/dist/temp/src/components/shared/label/Label.d.ts +7 -0
- package/dist/temp/src/components/shared/label/Label.js +28 -0
- package/dist/temp/src/components/shared/label/index.d.ts +1 -0
- package/dist/temp/src/components/shared/label/index.js +1 -0
- package/dist/temp/src/components/slider/Slider.d.ts +14 -0
- package/dist/temp/src/components/slider/Slider.js +44 -0
- package/dist/temp/src/components/slider/index.d.ts +1 -0
- package/dist/temp/src/components/slider/index.js +1 -0
- package/dist/temp/src/components/spinner/Spinner.d.ts +9 -0
- package/dist/temp/src/components/spinner/Spinner.js +21 -0
- package/dist/temp/src/components/spinner/index.d.ts +1 -0
- package/dist/temp/src/components/spinner/index.js +1 -0
- package/dist/temp/src/components/switch/Switch.d.ts +22 -0
- package/dist/temp/src/components/switch/Switch.js +68 -0
- package/dist/temp/src/components/switch/index.d.ts +2 -0
- package/dist/temp/src/components/switch/index.js +1 -0
- package/dist/temp/src/components/tab/HorizontalTab.d.ts +12 -0
- package/dist/temp/src/components/tab/HorizontalTab.js +37 -0
- package/dist/temp/src/components/tab/TabButton.d.ts +23 -0
- package/dist/temp/src/components/tab/TabButton.js +37 -0
- package/dist/temp/src/components/tab/VerticalTab.d.ts +9 -0
- package/dist/temp/src/components/tab/VerticalTab.js +32 -0
- package/dist/temp/src/components/tab/index.d.ts +3 -0
- package/dist/temp/src/components/tab/index.js +3 -0
- package/dist/temp/src/components/tag/Tag.d.ts +17 -0
- package/dist/temp/src/components/tag/Tag.js +110 -0
- package/dist/temp/src/components/tag/index.d.ts +1 -0
- package/dist/temp/src/components/tag/index.js +1 -0
- package/dist/temp/src/components/toggle/Toggle.d.ts +10 -0
- package/dist/temp/src/components/toggle/Toggle.js +30 -0
- package/dist/temp/src/components/toggle/index.d.ts +1 -0
- package/dist/temp/src/components/toggle/index.js +1 -0
- package/dist/temp/src/components/tooltip/Tooltip.d.ts +15 -0
- package/dist/temp/src/components/tooltip/Tooltip.js +122 -0
- package/dist/temp/src/components/tooltip/index.d.ts +1 -0
- package/dist/temp/src/components/tooltip/index.js +1 -0
- package/dist/temp/src/constant/breakpoint.d.ts +6 -0
- package/dist/temp/src/constant/breakpoint.js +6 -0
- package/dist/temp/src/constant/date-picker.d.ts +63 -0
- package/dist/temp/src/constant/date-picker.js +53 -0
- package/dist/temp/src/constant/index.d.ts +2 -0
- package/dist/temp/src/constant/index.js +2 -0
- package/dist/temp/src/constant/size.d.ts +1 -0
- package/dist/temp/src/constant/size.js +1 -0
- package/dist/temp/src/hooks/dropdown/index.d.ts +6 -0
- package/dist/temp/src/hooks/dropdown/index.js +6 -0
- package/dist/temp/src/hooks/dropdown/useDropdown.d.ts +29 -0
- package/dist/temp/src/hooks/dropdown/useDropdown.js +84 -0
- package/dist/temp/src/hooks/dropdown/useDropdownKeyboard.d.ts +10 -0
- package/dist/temp/src/hooks/dropdown/useDropdownKeyboard.js +108 -0
- package/dist/temp/src/hooks/dropdown/useDropdownPosition.d.ts +9 -0
- package/dist/temp/src/hooks/dropdown/useDropdownPosition.js +18 -0
- package/dist/temp/src/hooks/dropdown/useOutsideClick.d.ts +5 -0
- package/dist/temp/src/hooks/dropdown/useOutsideClick.js +23 -0
- package/dist/temp/src/hooks/dropdown/useScrollLock.d.ts +4 -0
- package/dist/temp/src/hooks/dropdown/useScrollLock.js +72 -0
- package/dist/temp/src/hooks/dropdown/useWindowResize.d.ts +7 -0
- package/dist/temp/src/hooks/dropdown/useWindowResize.js +44 -0
- package/dist/temp/src/hooks/index.d.ts +4 -0
- package/dist/temp/src/hooks/index.js +6 -0
- package/dist/temp/src/hooks/useCallbackRef.d.ts +27 -0
- package/dist/temp/src/hooks/useCallbackRef.js +44 -0
- package/dist/temp/src/hooks/useMediaQuery.d.ts +5 -0
- package/dist/temp/src/hooks/useMediaQuery.js +20 -0
- package/dist/temp/src/hooks/useMergeRefs.d.ts +20 -0
- package/dist/temp/src/hooks/useMergeRefs.js +31 -0
- package/dist/temp/src/types/dropdown/dropdown.d.ts +39 -0
- package/dist/temp/src/types/dropdown/dropdown.js +1 -0
- package/dist/temp/src/types/dropdown/index.d.ts +2 -0
- package/dist/temp/src/types/dropdown/index.js +2 -0
- package/dist/temp/src/types/dropdown/option.d.ts +23 -0
- package/dist/temp/src/types/dropdown/option.js +1 -0
- package/dist/temp/src/types/index.d.ts +2 -0
- package/dist/temp/src/types/index.js +2 -0
- package/dist/temp/src/types/side-slot.d.ts +25 -0
- package/dist/temp/src/types/side-slot.js +1 -0
- package/dist/temp/src/utils/date-picker.d.ts +11 -0
- package/dist/temp/src/utils/date-picker.js +51 -0
- package/dist/temp/src/utils/dropdown/dropdownUtils.d.ts +17 -0
- package/dist/temp/src/utils/dropdown/dropdownUtils.js +79 -0
- package/dist/temp/src/utils/dropdown/index.d.ts +2 -0
- package/dist/temp/src/utils/dropdown/index.js +2 -0
- package/dist/temp/src/utils/dropdown/multiSelect.d.ts +31 -0
- package/dist/temp/src/utils/dropdown/multiSelect.js +68 -0
- package/dist/temp/src/utils/index.d.ts +2 -0
- package/dist/temp/src/utils/index.js +4 -0
- package/dist/types/assets/scripts/baseBox.d.ts +55 -0
- package/dist/types/assets/scripts/comboBox.d.ts +60 -0
- package/dist/types/assets/scripts/datePicker.d.ts +86 -0
- package/dist/types/assets/scripts/featuredIcon.d.ts +22 -0
- package/dist/types/assets/scripts/fileInput/const/classNames.d.ts +15 -0
- package/dist/types/assets/scripts/fileInput/const/index.d.ts +2 -0
- package/dist/types/assets/scripts/fileInput/const/types.d.ts +88 -0
- package/dist/types/assets/scripts/fileInput/fileInput.d.ts +13 -0
- package/dist/types/assets/scripts/fileInput/fileInputModel.d.ts +12 -0
- package/dist/types/assets/scripts/fileInput/fileInputView.d.ts +42 -0
- package/dist/types/assets/scripts/fileInput/index.d.ts +3 -0
- package/dist/types/assets/scripts/imageFileInput/ImageFileInput.d.ts +63 -0
- package/dist/types/assets/scripts/imageFileInput/ImageFileInputModel.d.ts +73 -0
- package/dist/types/assets/scripts/imageFileInput/ImageFileInputView.d.ts +79 -0
- package/dist/types/assets/scripts/imageFileInput/const/classNames.d.ts +19 -0
- package/dist/types/assets/scripts/imageFileInput/const/index.d.ts +2 -0
- package/dist/types/assets/scripts/imageFileInput/const/types.d.ts +125 -0
- package/dist/types/assets/scripts/imageFileInput/index.d.ts +3 -0
- package/dist/types/assets/scripts/index.d.ts +32 -0
- package/dist/types/assets/scripts/modal/Modal.d.ts +27 -0
- package/dist/types/assets/scripts/modal/ModalActions.d.ts +18 -0
- package/dist/types/assets/scripts/modal/ModalContent.d.ts +13 -0
- package/dist/types/assets/scripts/modal/ModalHeader.d.ts +15 -0
- package/dist/types/assets/scripts/modal/const/classNames.d.ts +22 -0
- package/dist/types/assets/scripts/modal/const/index.d.ts +2 -0
- package/dist/types/assets/scripts/modal/const/types.d.ts +61 -0
- package/dist/types/assets/scripts/modal/index.d.ts +7 -0
- package/dist/types/assets/scripts/modal/utils/contentUtils.d.ts +10 -0
- package/dist/types/assets/scripts/notification/FloatingNotification.d.ts +24 -0
- package/dist/types/assets/scripts/notification/FullWidthNotification.d.ts +21 -0
- package/dist/types/assets/scripts/notification/MessageNotification.d.ts +22 -0
- package/dist/types/assets/scripts/notification/Notification.d.ts +21 -0
- package/dist/types/assets/scripts/notification/const/classNames.d.ts +43 -0
- package/dist/types/assets/scripts/notification/const/icons.d.ts +25 -0
- package/dist/types/assets/scripts/notification/const/index.d.ts +5 -0
- package/dist/types/assets/scripts/notification/const/sizes.d.ts +32 -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 +8 -0
- package/dist/types/assets/scripts/progress-bar/ProgressBar.d.ts +67 -0
- package/dist/types/assets/scripts/progress-bar/index.d.ts +1 -0
- package/dist/types/assets/scripts/selectBox.d.ts +50 -0
- package/dist/types/assets/scripts/shared/ButtonCloseX.d.ts +5 -0
- package/dist/types/assets/scripts/slider.d.ts +0 -1
- package/dist/types/assets/scripts/tab.d.ts +7 -0
- package/dist/types/assets/scripts/tag/Tag.d.ts +27 -0
- package/dist/types/assets/scripts/tag/const/classNames.d.ts +11 -0
- package/dist/types/assets/scripts/tag/const/index.d.ts +3 -0
- package/dist/types/assets/scripts/tag/const/sizes.d.ts +7 -0
- package/dist/types/assets/scripts/tag/const/types.d.ts +33 -0
- package/dist/types/assets/scripts/tag/index.d.ts +3 -0
- package/dist/types/assets/scripts/tooltip/Tooltip.d.ts +54 -0
- package/dist/types/assets/scripts/tooltip/TooltipLayerManager.d.ts +21 -0
- package/dist/types/assets/scripts/tooltip/const/classNames.d.ts +17 -0
- package/dist/types/assets/scripts/tooltip/const/constants.d.ts +33 -0
- package/dist/types/assets/scripts/tooltip/const/icons.d.ts +4 -0
- package/dist/types/assets/scripts/tooltip/const/index.d.ts +5 -0
- package/dist/types/assets/scripts/tooltip/const/templates.d.ts +16 -0
- package/dist/types/assets/scripts/tooltip/const/types.d.ts +14 -0
- package/dist/types/assets/scripts/tooltip/index.d.ts +6 -0
- package/dist/types/assets/scripts/tooltip/utils.d.ts +2 -0
- package/dist/types/assets/scripts/utils/debounce.d.ts +8 -0
- package/dist/types/assets/scripts/utils/unifiedBox/domRenderer.d.ts +107 -0
- package/dist/types/assets/scripts/utils/unifiedBox/dropdownModel.d.ts +142 -0
- package/dist/types/assets/scripts/utils/unifiedBox/unifiedBoxController.d.ts +156 -0
- package/dist/types/assets/scripts/utils/unifiedBox/unifiedBoxManager.d.ts +95 -0
- package/dist/types/constant/color.d.ts +0 -1
- package/dist/types/constant/size.d.ts +0 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/src/components/badge/Badge.d.ts +10 -9
- package/dist/types/src/components/badge/BadgeGroup.d.ts +7 -6
- package/dist/types/src/components/badge/index.d.ts +0 -1
- package/dist/types/src/components/badge/utils.d.ts +4 -3
- package/dist/types/src/components/breadcrumb/BreadCrumb.d.ts +5 -4
- package/dist/types/src/components/breadcrumb/index.d.ts +0 -1
- package/dist/types/src/components/button/Button.d.ts +2 -1
- package/dist/types/src/components/button/ButtonCloseX.d.ts +4 -3
- package/dist/types/src/components/button/ButtonGroup.d.ts +9 -11
- package/dist/types/src/components/button/ButtonStepper.d.ts +1 -2
- package/dist/types/src/components/button/index.d.ts +0 -1
- package/dist/types/src/components/carousel/CarouselArrow.d.ts +1 -3
- package/dist/types/src/components/carousel/CarouselNumberGroup.d.ts +1 -3
- package/dist/types/src/components/carousel/index.d.ts +0 -1
- package/dist/types/src/components/checkbox/Checkbox.d.ts +2 -3
- package/dist/types/src/components/checkbox/CheckboxInput.d.ts +2 -3
- package/dist/types/src/components/checkbox/index.d.ts +0 -1
- package/dist/types/src/components/combobox/ComboBox.d.ts +7 -6
- package/dist/types/src/components/combobox/index.d.ts +1 -2
- package/dist/types/src/components/date-picker/CustomInput.d.ts +2 -3
- package/dist/types/src/components/date-picker/DatePicker.d.ts +7 -6
- package/dist/types/src/components/date-picker/RangeDatePicker.d.ts +6 -5
- package/dist/types/src/components/date-picker/RangeDatePickerWithButtons.d.ts +4 -4
- package/dist/types/src/components/date-picker/index.d.ts +0 -1
- package/dist/types/src/components/date-picker/utils.d.ts +0 -1
- package/dist/types/src/components/divider/Divider.d.ts +1 -2
- package/dist/types/src/components/divider/index.d.ts +0 -1
- package/dist/types/src/components/dot/Dot.d.ts +9 -8
- package/dist/types/src/components/dot/index.d.ts +0 -1
- package/dist/types/src/components/dropdown/Dropdown.d.ts +0 -1
- package/dist/types/src/components/dropdown/index.d.ts +0 -1
- package/dist/types/src/components/empty-state/EmptyState.d.ts +5 -5
- package/dist/types/src/components/empty-state/index.d.ts +0 -1
- package/dist/types/src/components/featured-icon/FeaturedIcon.d.ts +8 -7
- package/dist/types/src/components/featured-icon/index.d.ts +0 -1
- package/dist/types/src/components/file-input/FileInput.d.ts +0 -1
- package/dist/types/src/components/file-input/index.d.ts +0 -1
- package/dist/types/src/components/image-file-input/ImageFileInput.d.ts +0 -1
- package/dist/types/src/components/image-file-input/components/ImagePreview.d.ts +0 -1
- package/dist/types/src/components/image-file-input/index.d.ts +0 -1
- package/dist/types/src/components/index.d.ts +1 -2
- package/dist/types/src/components/input/InputBase.d.ts +4 -4
- package/dist/types/src/components/input/NumberInput.d.ts +1 -2
- package/dist/types/src/components/input/PasswordInput.d.ts +1 -2
- package/dist/types/src/components/input/Textarea.d.ts +2 -3
- package/dist/types/src/components/input/index.d.ts +0 -1
- package/dist/types/src/components/modal/Modal.d.ts +13 -12
- package/dist/types/src/components/modal/index.d.ts +0 -1
- package/dist/types/src/components/notification/FloatingNotification.d.ts +6 -5
- package/dist/types/src/components/notification/FullWidthNotification.d.ts +6 -5
- package/dist/types/src/components/notification/MessageNotification.d.ts +6 -5
- package/dist/types/src/components/notification/Notification.d.ts +11 -10
- package/dist/types/src/components/notification/index.d.ts +1 -2
- package/dist/types/src/components/pagination/NavButton.d.ts +0 -1
- package/dist/types/src/components/pagination/Pagination.d.ts +0 -1
- package/dist/types/src/components/pagination/index.d.ts +0 -1
- package/dist/types/src/components/progress-bar/ProgressBar.d.ts +0 -1
- package/dist/types/src/components/progress-bar/components/SegmentBar.d.ts +0 -1
- package/dist/types/src/components/progress-bar/components/SegmentLabels.d.ts +3 -4
- package/dist/types/src/components/progress-bar/hooks/useProgressBar.d.ts +1 -2
- package/dist/types/src/components/progress-bar/index.d.ts +0 -1
- package/dist/types/src/components/progress-bar/types.d.ts +0 -1
- package/dist/types/src/components/progress-bar/utils.d.ts +4 -4
- package/dist/types/src/components/progress-circle/ProgressCircle.d.ts +0 -1
- package/dist/types/src/components/progress-circle/index.d.ts +0 -1
- package/dist/types/src/components/radio/Radio.d.ts +2 -3
- package/dist/types/src/components/radio/RadioInput.d.ts +2 -3
- package/dist/types/src/components/radio/index.d.ts +0 -1
- package/dist/types/src/components/select/Select.d.ts +4 -5
- package/dist/types/src/components/select/index.d.ts +0 -1
- package/dist/types/src/components/select-dropdown/SelectDropdown.d.ts +6 -6
- package/dist/types/src/components/select-dropdown/index.d.ts +1 -2
- package/dist/types/src/components/selectbox/SelectBox.d.ts +5 -4
- package/dist/types/src/components/selectbox/index.d.ts +0 -1
- package/dist/types/src/components/shared/hintText/HintText.d.ts +0 -1
- package/dist/types/src/components/shared/hintText/index.d.ts +0 -1
- package/dist/types/src/components/shared/index.d.ts +0 -1
- package/dist/types/src/components/shared/label/Label.d.ts +0 -1
- package/dist/types/src/components/shared/label/index.d.ts +0 -1
- package/dist/types/src/components/slider/Slider.d.ts +1 -2
- package/dist/types/src/components/slider/index.d.ts +0 -1
- package/dist/types/src/components/spinner/Spinner.d.ts +1 -2
- package/dist/types/src/components/spinner/index.d.ts +0 -2
- package/dist/types/src/components/switch/Switch.d.ts +7 -7
- package/dist/types/src/components/switch/index.d.ts +1 -2
- package/dist/types/src/components/tab/HorizontalTab.d.ts +7 -5
- package/dist/types/src/components/tab/TabButton.d.ts +8 -8
- package/dist/types/src/components/tab/VerticalTab.d.ts +2 -3
- package/dist/types/src/components/tab/index.d.ts +0 -1
- package/dist/types/src/components/tag/Tag.d.ts +4 -4
- package/dist/types/src/components/tag/index.d.ts +0 -1
- package/dist/types/src/components/toggle/Toggle.d.ts +1 -2
- package/dist/types/src/components/toggle/index.d.ts +0 -1
- package/dist/types/src/components/tooltip/Tooltip.d.ts +0 -1
- package/dist/types/src/components/tooltip/index.d.ts +0 -1
- package/dist/types/src/constant/breakpoint.d.ts +0 -1
- package/dist/types/src/constant/date-picker.d.ts +0 -1
- package/dist/types/src/constant/index.d.ts +1 -2
- package/dist/types/src/constant/size.d.ts +0 -1
- package/dist/types/src/hooks/dropdown/index.d.ts +0 -1
- package/dist/types/src/hooks/dropdown/useDropdown.d.ts +1 -2
- package/dist/types/src/hooks/dropdown/useDropdownKeyboard.d.ts +2 -3
- package/dist/types/src/hooks/dropdown/useDropdownPosition.d.ts +1 -2
- package/dist/types/src/hooks/dropdown/useOutsideClick.d.ts +1 -2
- package/dist/types/src/hooks/dropdown/useScrollLock.d.ts +0 -1
- package/dist/types/src/hooks/dropdown/useWindowResize.d.ts +0 -1
- package/dist/types/src/hooks/index.d.ts +1 -2
- package/dist/types/src/hooks/useCallbackRef.d.ts +0 -1
- package/dist/types/src/hooks/useMediaQuery.d.ts +0 -1
- package/dist/types/src/hooks/useMergeRefs.d.ts +1 -2
- package/dist/types/src/types/dropdown/dropdown.d.ts +1 -2
- package/dist/types/src/types/dropdown/index.d.ts +0 -1
- package/dist/types/src/types/dropdown/option.d.ts +0 -1
- package/dist/types/src/types/index.d.ts +0 -1
- package/dist/types/src/types/side-slot.d.ts +0 -1
- package/dist/types/src/utils/date-picker.d.ts +1 -2
- package/dist/types/src/utils/dropdown/dropdownUtils.d.ts +2 -3
- package/dist/types/src/utils/dropdown/index.d.ts +0 -1
- package/dist/types/src/utils/dropdown/multiSelect.d.ts +1 -2
- package/dist/types/src/utils/index.d.ts +0 -1
- package/dist/ui-admin/assets/styles/style.css +115 -24
- package/package.json +50 -77
- package/mcp/bin/server.js +0 -67
- package/mcp/bin/server.mjs +0 -14
- package/mcp/bin/tools/getComponentHtml.d.ts +0 -3
- package/mcp/bin/tools/getComponentHtml.js +0 -30
- package/mcp/bin/tools/getComponentProps.d.ts +0 -3
- package/mcp/bin/tools/getComponentProps.js +0 -16
- package/mcp/bin/tools/listComponents.d.ts +0 -3
- package/mcp/bin/tools/listComponents.js +0 -15
- package/mcp/bin/tools/ping.d.ts +0 -11
- package/mcp/bin/tools/ping.js +0 -30
- package/mcp/bin/tools/searchComponent.d.ts +0 -3
- package/mcp/bin/tools/searchComponent.js +0 -20
- package/mcp/bin/tools/validateHtml.d.ts +0 -10
- package/mcp/bin/tools/validateHtml.js +0 -142
- package/mcp/bin/types.d.ts +0 -28
- package/mcp/bin/types.js +0 -5
- package/mcp/bin/utils/dataLoader.d.ts +0 -11
- package/mcp/bin/utils/dataLoader.js +0 -68
- package/mcp/bin/utils/logger.d.ts +0 -18
- package/mcp/bin/utils/logger.js +0 -27
- package/mcp/bin/utils/response.d.ts +0 -23
- package/mcp/bin/utils/response.js +0 -31
- package/mcp/bin/version.d.ts +0 -1
- package/mcp/bin/version.js +0 -4
- package/mcp/data/.gitkeep +0 -0
- package/mcp/data/_meta.json +0 -7
- package/mcp/data/badge-group.json +0 -73
- package/mcp/data/badge.json +0 -86
- package/mcp/data/bread-crumb.json +0 -22
- package/mcp/data/breadcrumb.json +0 -31
- package/mcp/data/button-group.json +0 -65
- package/mcp/data/button.json +0 -114
- package/mcp/data/carousel-arrow.json +0 -59
- package/mcp/data/carousel-number-group.json +0 -57
- package/mcp/data/carousel.json +0 -22
- package/mcp/data/checkbox.json +0 -31
- package/mcp/data/combobox.json +0 -114
- package/mcp/data/date-picker.json +0 -77
- package/mcp/data/divider.json +0 -56
- package/mcp/data/dot.json +0 -55
- package/mcp/data/dropdown.json +0 -81
- package/mcp/data/empty-state.json +0 -34
- package/mcp/data/featured-icon.json +0 -83
- package/mcp/data/file-input.json +0 -76
- package/mcp/data/horizontal-tab.json +0 -71
- package/mcp/data/image-file-input.json +0 -97
- package/mcp/data/input.json +0 -104
- package/mcp/data/modal.json +0 -85
- package/mcp/data/notification.json +0 -116
- package/mcp/data/number-input.json +0 -128
- package/mcp/data/pagination.json +0 -65
- package/mcp/data/password-input.json +0 -47
- package/mcp/data/progress-bar.json +0 -51
- package/mcp/data/progress-circle.json +0 -54
- package/mcp/data/radio.json +0 -31
- package/mcp/data/range-date-picker-with-buttons.json +0 -64
- package/mcp/data/range-date-picker.json +0 -55
- package/mcp/data/select-dropdown.json +0 -32
- package/mcp/data/select.json +0 -64
- package/mcp/data/selectbox.json +0 -129
- package/mcp/data/slider.json +0 -57
- package/mcp/data/spinner.json +0 -54
- package/mcp/data/switch.json +0 -71
- package/mcp/data/tab.json +0 -122
- package/mcp/data/tag.json +0 -66
- package/mcp/data/textarea.json +0 -88
- package/mcp/data/toggle.json +0 -59
- package/mcp/data/tooltip.json +0 -123
- package/mcp/data/vertical-tab.json +0 -64
- package/mcp/templates/.mcp.json.example +0 -8
- package/mcp/templates/README.md +0 -31
- /package/{mcp/bin/server.d.ts → dist/temp/assets/scripts/modal/const/types.js} +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type MouseEventHandler } from 'react';
|
|
2
|
+
import type { Size } from '../../../constant/size';
|
|
3
|
+
import type { SideSlotType } from '../../types/side-slot';
|
|
4
|
+
interface TagProps {
|
|
5
|
+
size?: Extract<Size, 'sm' | 'md'>;
|
|
6
|
+
icon?: SideSlotType;
|
|
7
|
+
text: string;
|
|
8
|
+
count?: string;
|
|
9
|
+
close?: boolean;
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
onButtonClick?: MouseEventHandler<HTMLButtonElement>;
|
|
12
|
+
maxLength?: number;
|
|
13
|
+
}
|
|
14
|
+
type CalculatedPosition = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
15
|
+
declare const Tag: ({ size, icon, text, count, close, onButtonClick, maxLength }: TagProps) => import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export type { CalculatedPosition };
|
|
17
|
+
export { Tag };
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { XClose } from '@ncds/ui-admin-icon';
|
|
14
|
+
import classNames from 'classnames';
|
|
15
|
+
import { useCallback, useRef, useState } from 'react';
|
|
16
|
+
import { COLOR } from '../../../constant/color';
|
|
17
|
+
import { Dot } from '../dot';
|
|
18
|
+
var MARGIN = 10;
|
|
19
|
+
var DEFAULT_TOOLTIP_WIDTH = 200;
|
|
20
|
+
var DEFAULT_TOOLTIP_HEIGHT = 60;
|
|
21
|
+
// 위치 계산 로직
|
|
22
|
+
var calculateOptimalPosition = function (triggerElement, tooltipElement) {
|
|
23
|
+
var triggerRect = triggerElement.getBoundingClientRect();
|
|
24
|
+
var tooltipRect = tooltipElement.getBoundingClientRect();
|
|
25
|
+
var viewportWidth = window.innerWidth, viewportHeight = window.innerHeight;
|
|
26
|
+
var tooltipWidth = tooltipRect.width || DEFAULT_TOOLTIP_WIDTH;
|
|
27
|
+
var tooltipHeight = tooltipRect.height || DEFAULT_TOOLTIP_HEIGHT;
|
|
28
|
+
var spaces = {
|
|
29
|
+
top: triggerRect.top,
|
|
30
|
+
bottom: viewportHeight - triggerRect.bottom,
|
|
31
|
+
left: triggerRect.left,
|
|
32
|
+
right: viewportWidth - triggerRect.right,
|
|
33
|
+
};
|
|
34
|
+
// 위/아래 공간을 먼저 확인하고 우선순위 결정
|
|
35
|
+
var hasTopSpace = spaces.top >= tooltipHeight + MARGIN;
|
|
36
|
+
// 위쪽 공간이 있으면 top 우선, 없으면 bottom 우선
|
|
37
|
+
var positions = hasTopSpace
|
|
38
|
+
? ['top-right', 'top-left', 'bottom-right', 'bottom-left']
|
|
39
|
+
: ['bottom-right', 'bottom-left', 'top-right', 'top-left'];
|
|
40
|
+
for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {
|
|
41
|
+
var position = positions_1[_i];
|
|
42
|
+
var isTop = position.includes('top');
|
|
43
|
+
var isRight = position.includes('right');
|
|
44
|
+
var hasVerticalSpace = isTop ? spaces.top >= tooltipHeight + MARGIN : spaces.bottom >= tooltipHeight + MARGIN;
|
|
45
|
+
var hasHorizontalSpace = isRight
|
|
46
|
+
? spaces.right >= tooltipWidth + MARGIN // right 정렬: 툴팁이 오른쪽으로 펼쳐짐
|
|
47
|
+
: spaces.left >= tooltipWidth + MARGIN; // left 정렬: 툴팁이 왼쪽으로 펼쳐짐
|
|
48
|
+
if (hasVerticalSpace && hasHorizontalSpace) {
|
|
49
|
+
return position;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// 모든 조건이 맞지 않으면 공간이 더 많은 쪽으로
|
|
53
|
+
var fallbackPosition = hasTopSpace ? 'top-right' : 'bottom-right';
|
|
54
|
+
return fallbackPosition;
|
|
55
|
+
};
|
|
56
|
+
var Tag = function (_a) {
|
|
57
|
+
var _b = _a.size, size = _b === void 0 ? 'sm' : _b, icon = _a.icon, text = _a.text, count = _a.count, close = _a.close, onButtonClick = _a.onButtonClick, _c = _a.maxLength, maxLength = _c === void 0 ? 20 : _c;
|
|
58
|
+
var _d = useState(false), isTooltipVisible = _d[0], setIsTooltipVisible = _d[1];
|
|
59
|
+
var _e = useState('top-right'), calculatedPosition = _e[0], setCalculatedPosition = _e[1];
|
|
60
|
+
var tagRef = useRef(null);
|
|
61
|
+
var tooltipRef = useRef(null);
|
|
62
|
+
var iconSize = {
|
|
63
|
+
sm: 14,
|
|
64
|
+
md: 16,
|
|
65
|
+
};
|
|
66
|
+
// 텍스트 길이 체크 및 말줄임 처리
|
|
67
|
+
var shouldTruncate = text.length > maxLength;
|
|
68
|
+
var displayText = shouldTruncate ? "".concat(text.slice(0, maxLength - 2), "...") : text;
|
|
69
|
+
var handleMouseEnter = useCallback(function () {
|
|
70
|
+
if (shouldTruncate) {
|
|
71
|
+
setIsTooltipVisible(true);
|
|
72
|
+
// 간단한 위치 계산 - 기본값 사용
|
|
73
|
+
if (tagRef.current && tooltipRef.current) {
|
|
74
|
+
var optimalPosition = calculateOptimalPosition(tagRef.current, tooltipRef.current);
|
|
75
|
+
setCalculatedPosition(optimalPosition);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
// ref가 없으면 다음 렌더링 사이클에서 시도
|
|
79
|
+
setTimeout(function () {
|
|
80
|
+
if (tagRef.current) {
|
|
81
|
+
// tooltipRef가 없어도 tagRef만으로 계산
|
|
82
|
+
var dummyTooltipElement = document.createElement('div');
|
|
83
|
+
dummyTooltipElement.style.width = "".concat(DEFAULT_TOOLTIP_WIDTH, "px");
|
|
84
|
+
dummyTooltipElement.style.height = "".concat(DEFAULT_TOOLTIP_HEIGHT, "px");
|
|
85
|
+
var optimalPosition = calculateOptimalPosition(tagRef.current, dummyTooltipElement);
|
|
86
|
+
setCalculatedPosition(optimalPosition);
|
|
87
|
+
}
|
|
88
|
+
}, 0);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}, [shouldTruncate]);
|
|
92
|
+
var handleMouseLeave = useCallback(function () {
|
|
93
|
+
setIsTooltipVisible(false);
|
|
94
|
+
}, []);
|
|
95
|
+
var sideSlotRender = function (slot) {
|
|
96
|
+
var _a;
|
|
97
|
+
if (slot.type === 'icon') {
|
|
98
|
+
var SlotIcon = slot.icon;
|
|
99
|
+
return _jsx(SlotIcon, { width: iconSize[size], height: iconSize[size], color: slot.color });
|
|
100
|
+
}
|
|
101
|
+
if (slot.type === 'dot') {
|
|
102
|
+
return _jsx(Dot, { color: slot.color, size: (_a = slot.size) !== null && _a !== void 0 ? _a : 'sm' });
|
|
103
|
+
}
|
|
104
|
+
return slot.children;
|
|
105
|
+
};
|
|
106
|
+
return (_jsxs("span", __assign({ ref: tagRef, className: classNames('ncua-tag', "ncua-tag--".concat(size), {
|
|
107
|
+
'ncua-tag--truncated': shouldTruncate,
|
|
108
|
+
}), onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave }, { children: [icon && sideSlotRender(icon), _jsx("span", __assign({ className: "ncua-tag__text" }, { children: displayText })), count && _jsx("span", __assign({ className: "ncua-tag__count" }, { children: count })), close && (_jsx("button", __assign({ type: "button", className: "ncua-tag__close", onClick: onButtonClick }, { children: _jsx(XClose, { color: COLOR.gray300, width: iconSize[size], height: iconSize[size] }) }))), shouldTruncate && isTooltipVisible && (_jsx("span", __assign({ ref: tooltipRef, className: classNames('ncua-tag__tooltip', "ncua-tag__tooltip--".concat(calculatedPosition)) }, { children: _jsx("span", __assign({ className: "ncua-tag__tooltip-content" }, { children: text })) })))] })));
|
|
109
|
+
};
|
|
110
|
+
export { Tag };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Tag';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Tag';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ChangeEvent, ComponentPropsWithRef } from 'react';
|
|
2
|
+
export interface ToggleProps extends Omit<ComponentPropsWithRef<'input'>, 'size'> {
|
|
3
|
+
size?: 'sm' | 'md';
|
|
4
|
+
text?: string;
|
|
5
|
+
supportText?: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const Toggle: ({ size, text, supportText, disabled, onChange, className, ...props }: ToggleProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
23
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
|
+
import classNames from 'classnames';
|
|
25
|
+
export var Toggle = function (_a) {
|
|
26
|
+
var _b = _a.size, size = _b === void 0 ? 'sm' : _b, _c = _a.text, text = _c === void 0 ? '' : _c, _d = _a.supportText, supportText = _d === void 0 ? '' : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, onChange = _a.onChange, className = _a.className, props = __rest(_a, ["size", "text", "supportText", "disabled", "onChange", "className"]);
|
|
27
|
+
return (_jsxs("label", __assign({ className: classNames('ncua-toggle', "ncua-toggle--".concat(size), {
|
|
28
|
+
'ncua-toggle--disabled': disabled,
|
|
29
|
+
}, className) }, { children: [_jsx("input", __assign({ type: "checkbox", className: "ncua-toggle__input", checked: props === null || props === void 0 ? void 0 : props.checked, disabled: disabled, onChange: onChange }, props)), _jsx("span", __assign({ className: "ncua-toggle__switch" }, { children: _jsx("span", { className: "ncua-toggle__slider" }) })), text && (_jsxs("span", __assign({ className: "ncua-toggle__text-wrapper" }, { children: [_jsx("span", __assign({ className: "ncua-toggle__text" }, { children: text })), supportText && _jsx("span", __assign({ className: "ncua-toggle__support-text" }, { children: supportText }))] })))] })));
|
|
30
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Toggle';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Toggle';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
interface TooltipProps {
|
|
2
|
+
tooltipType?: 'white' | 'black';
|
|
3
|
+
iconType?: 'stroke' | 'fill';
|
|
4
|
+
position?: 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'auto';
|
|
5
|
+
size?: 'sm' | 'md';
|
|
6
|
+
hideArrow?: boolean;
|
|
7
|
+
title?: string;
|
|
8
|
+
content?: React.ReactNode;
|
|
9
|
+
type?: 'long' | 'short';
|
|
10
|
+
className?: string;
|
|
11
|
+
iconColor?: string;
|
|
12
|
+
iconStyle?: 'help-circle' | 'alert-circle';
|
|
13
|
+
}
|
|
14
|
+
export declare const Tooltip: ({ tooltipType, iconType, position, size, title, content, hideArrow, type, iconColor, iconStyle, className, }: TooltipProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { AlertCircle, AlertCircleFill, HelpCircle, HelpCircleFill } from '@ncds/ui-admin-icon';
|
|
14
|
+
import classNames from 'classnames';
|
|
15
|
+
import { useCallback, useMemo, useRef, useState } from 'react';
|
|
16
|
+
import { ButtonCloseX } from '../button/ButtonCloseX';
|
|
17
|
+
var ICON_SIZE_SM = 14;
|
|
18
|
+
var ICON_SIZE_DEFAULT = 16;
|
|
19
|
+
var MARGIN = 10;
|
|
20
|
+
var DEFAULT_TOOLTIP_WIDTH = 200;
|
|
21
|
+
var DEFAULT_TOOLTIP_HEIGHT = 60;
|
|
22
|
+
var POSITION_PRIORITY = ['bottom', 'top', 'right', 'left'];
|
|
23
|
+
// 수직 위치(top/bottom)일 때 수평 정렬 보정
|
|
24
|
+
var resolveVerticalAlignment = function (position, triggerRect, tooltipWidth, viewportWidth) {
|
|
25
|
+
var centerX = triggerRect.left + triggerRect.width / 2;
|
|
26
|
+
var tooltipHalfWidth = tooltipWidth / 2;
|
|
27
|
+
if (centerX - tooltipHalfWidth < MARGIN) {
|
|
28
|
+
return "".concat(position, "-left");
|
|
29
|
+
}
|
|
30
|
+
if (centerX + tooltipHalfWidth > viewportWidth - MARGIN) {
|
|
31
|
+
return "".concat(position, "-right");
|
|
32
|
+
}
|
|
33
|
+
return position;
|
|
34
|
+
};
|
|
35
|
+
// 해당 위치에 툴팁을 배치할 충분한 공간이 있는지 확인
|
|
36
|
+
var hasEnoughSpace = function (position, spaces, tooltipWidth, tooltipHeight) {
|
|
37
|
+
var isVertical = position === 'bottom' || position === 'top';
|
|
38
|
+
var requiredSpace = isVertical ? tooltipHeight : tooltipWidth;
|
|
39
|
+
return spaces[position] >= requiredSpace + MARGIN;
|
|
40
|
+
};
|
|
41
|
+
// 위치 계산 position='auto' 일 때 사용
|
|
42
|
+
var calculateOptimalPosition = function (triggerElement, tooltipElement, preferredPosition) {
|
|
43
|
+
if (preferredPosition === void 0) { preferredPosition = 'bottom'; }
|
|
44
|
+
var triggerRect = triggerElement.getBoundingClientRect();
|
|
45
|
+
var tooltipRect = tooltipElement.getBoundingClientRect();
|
|
46
|
+
var viewportWidth = window.innerWidth, viewportHeight = window.innerHeight;
|
|
47
|
+
var spaces = {
|
|
48
|
+
top: triggerRect.top,
|
|
49
|
+
bottom: viewportHeight - triggerRect.bottom,
|
|
50
|
+
left: triggerRect.left,
|
|
51
|
+
right: viewportWidth - triggerRect.right,
|
|
52
|
+
};
|
|
53
|
+
var tooltipWidth = tooltipRect.width || DEFAULT_TOOLTIP_WIDTH;
|
|
54
|
+
var tooltipHeight = tooltipRect.height || DEFAULT_TOOLTIP_HEIGHT;
|
|
55
|
+
for (var _i = 0, POSITION_PRIORITY_1 = POSITION_PRIORITY; _i < POSITION_PRIORITY_1.length; _i++) {
|
|
56
|
+
var position = POSITION_PRIORITY_1[_i];
|
|
57
|
+
if (!hasEnoughSpace(position, spaces, tooltipWidth, tooltipHeight)) {
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
var isVertical = position === 'bottom' || position === 'top';
|
|
61
|
+
if (isVertical) {
|
|
62
|
+
return resolveVerticalAlignment(position, triggerRect, tooltipWidth, viewportWidth);
|
|
63
|
+
}
|
|
64
|
+
return position;
|
|
65
|
+
}
|
|
66
|
+
return preferredPosition;
|
|
67
|
+
};
|
|
68
|
+
export var Tooltip = function (_a) {
|
|
69
|
+
var _b = _a.tooltipType, tooltipType = _b === void 0 ? 'black' : _b, _c = _a.iconType, iconType = _c === void 0 ? 'stroke' : _c, _d = _a.position, position = _d === void 0 ? 'auto' : _d, _e = _a.size, size = _e === void 0 ? 'sm' : _e, title = _a.title, content = _a.content, _f = _a.hideArrow, hideArrow = _f === void 0 ? false : _f, _g = _a.type, type = _g === void 0 ? 'short' : _g, _h = _a.iconColor, iconColor = _h === void 0 ? 'var(--gray-300)' : _h, _j = _a.iconStyle, iconStyle = _j === void 0 ? 'help-circle' : _j, className = _a.className;
|
|
70
|
+
var iconSize = size === 'sm' ? ICON_SIZE_SM : ICON_SIZE_DEFAULT;
|
|
71
|
+
var tooltipRef = useRef(null);
|
|
72
|
+
var tooltipBgRef = useRef(null);
|
|
73
|
+
var _k = useState(position === 'auto' ? 'bottom' : position), calculatedPosition = _k[0], setCalculatedPosition = _k[1];
|
|
74
|
+
var _l = useState(false), isVisible = _l[0], setIsVisible = _l[1];
|
|
75
|
+
var _m = useState(false), isManuallyClose = _m[0], setIsManuallyClose = _m[1];
|
|
76
|
+
var _o = useState(false), isMeasuring = _o[0], setIsMeasuring = _o[1];
|
|
77
|
+
var handleMouseEnter = useCallback(function () {
|
|
78
|
+
if (isManuallyClose)
|
|
79
|
+
return;
|
|
80
|
+
setIsVisible(true);
|
|
81
|
+
if (position === 'auto' && tooltipRef.current && tooltipBgRef.current) {
|
|
82
|
+
// 크기 측정을 위해 임시로 measuring 클래스 추가
|
|
83
|
+
setIsMeasuring(true);
|
|
84
|
+
// 다음 렌더링 사이클에서 크기 측정
|
|
85
|
+
setTimeout(function () {
|
|
86
|
+
if (tooltipRef.current && tooltipBgRef.current) {
|
|
87
|
+
var optimalPosition = calculateOptimalPosition(tooltipRef.current, tooltipBgRef.current, 'bottom');
|
|
88
|
+
setCalculatedPosition(optimalPosition);
|
|
89
|
+
setIsMeasuring(false);
|
|
90
|
+
}
|
|
91
|
+
}, 0);
|
|
92
|
+
}
|
|
93
|
+
}, [position, isManuallyClose]);
|
|
94
|
+
var handleMouseLeave = useCallback(function () {
|
|
95
|
+
if (type === 'short') {
|
|
96
|
+
setIsVisible(false);
|
|
97
|
+
}
|
|
98
|
+
setIsManuallyClose(false);
|
|
99
|
+
}, [type]);
|
|
100
|
+
var handleCloseClick = useCallback(function () {
|
|
101
|
+
setIsVisible(false);
|
|
102
|
+
setIsManuallyClose(true);
|
|
103
|
+
}, []);
|
|
104
|
+
var finalPosition = position === 'auto' ? calculatedPosition : position;
|
|
105
|
+
var tooltipClassName = useMemo(function () {
|
|
106
|
+
return classNames('ncua-tooltip', "ncua-tooltip--".concat(size), "ncua-tooltip--".concat(type), {
|
|
107
|
+
'ncua-tooltip--hidden-arrow': hideArrow,
|
|
108
|
+
'ncua-tooltip--stroke': iconType === 'stroke',
|
|
109
|
+
'ncua-tooltip--auto': position === 'auto',
|
|
110
|
+
}, className);
|
|
111
|
+
}, [size, type, hideArrow, iconType, position, className]);
|
|
112
|
+
var tooltipBgClassName = useMemo(function () {
|
|
113
|
+
return classNames('ncua-tooltip__bg', "ncua-tooltip__bg--".concat(tooltipType), "ncua-tooltip__bg--".concat(finalPosition), {
|
|
114
|
+
'ncua-tooltip__bg--visible': isVisible,
|
|
115
|
+
'ncua-tooltip__bg--measuring': isMeasuring,
|
|
116
|
+
'ncua-tooltip__bg--force-hidden': isManuallyClose,
|
|
117
|
+
});
|
|
118
|
+
}, [tooltipType, finalPosition, isVisible, isMeasuring, isManuallyClose]);
|
|
119
|
+
return (_jsxs("span", __assign({ ref: tooltipRef, className: tooltipClassName, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave }, { children: [iconStyle === 'help-circle' &&
|
|
120
|
+
(iconType === 'stroke' ? (_jsx(HelpCircle, { width: iconSize, height: iconSize, color: iconColor })) : (_jsx(HelpCircleFill, { width: iconSize, height: iconSize, color: iconColor }))), iconStyle === 'alert-circle' &&
|
|
121
|
+
(iconType === 'stroke' ? (_jsx(AlertCircle, { width: iconSize, height: iconSize, color: iconColor })) : (_jsx(AlertCircleFill, { width: iconSize, height: iconSize, color: iconColor }))), _jsxs("span", __assign({ ref: tooltipBgRef, className: tooltipBgClassName }, { children: [title && _jsx("span", __assign({ className: "ncua-tooltip__title" }, { children: title })), content && _jsx("span", __assign({ className: "ncua-tooltip__content" }, { children: content })), type === 'long' && (_jsx(ButtonCloseX, { className: "ncua-tooltip__close-button", size: "xs", theme: tooltipType === 'white' ? 'dark' : 'light', onClick: handleCloseClick, "aria-label": "\uD234\uD301 \uB2EB\uAE30" }))] }))] })));
|
|
122
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Tooltip';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Tooltip';
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export type PeriodItem = {
|
|
2
|
+
text: string;
|
|
3
|
+
period: number;
|
|
4
|
+
unit: string | null;
|
|
5
|
+
};
|
|
6
|
+
export type PeriodItemMap = Record<string, PeriodItem>;
|
|
7
|
+
export declare const PERIOD_ITEM: {
|
|
8
|
+
TODAY: {
|
|
9
|
+
text: string;
|
|
10
|
+
period: number;
|
|
11
|
+
unit: string;
|
|
12
|
+
};
|
|
13
|
+
YESTERDAY: {
|
|
14
|
+
text: string;
|
|
15
|
+
period: number;
|
|
16
|
+
unit: string;
|
|
17
|
+
};
|
|
18
|
+
'3DAYS': {
|
|
19
|
+
text: string;
|
|
20
|
+
period: number;
|
|
21
|
+
unit: string;
|
|
22
|
+
};
|
|
23
|
+
'7DAYS': {
|
|
24
|
+
text: string;
|
|
25
|
+
period: number;
|
|
26
|
+
unit: string;
|
|
27
|
+
};
|
|
28
|
+
'1WEEK': {
|
|
29
|
+
text: string;
|
|
30
|
+
period: number;
|
|
31
|
+
unit: string;
|
|
32
|
+
};
|
|
33
|
+
'15DAYS': {
|
|
34
|
+
text: string;
|
|
35
|
+
period: number;
|
|
36
|
+
unit: string;
|
|
37
|
+
};
|
|
38
|
+
'1MONTHS': {
|
|
39
|
+
text: string;
|
|
40
|
+
period: number;
|
|
41
|
+
unit: string;
|
|
42
|
+
};
|
|
43
|
+
'3MONTHS': {
|
|
44
|
+
text: string;
|
|
45
|
+
period: number;
|
|
46
|
+
unit: string;
|
|
47
|
+
};
|
|
48
|
+
'1YEAR': {
|
|
49
|
+
text: string;
|
|
50
|
+
period: number;
|
|
51
|
+
unit: string;
|
|
52
|
+
};
|
|
53
|
+
ENTIRE: {
|
|
54
|
+
text: string;
|
|
55
|
+
period: number;
|
|
56
|
+
unit: null;
|
|
57
|
+
};
|
|
58
|
+
NONE: {
|
|
59
|
+
text: string;
|
|
60
|
+
period: number;
|
|
61
|
+
unit: null;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export var PERIOD_ITEM = {
|
|
2
|
+
TODAY: {
|
|
3
|
+
text: '오늘',
|
|
4
|
+
period: 0,
|
|
5
|
+
unit: 'days',
|
|
6
|
+
},
|
|
7
|
+
YESTERDAY: {
|
|
8
|
+
text: '어제',
|
|
9
|
+
period: 1,
|
|
10
|
+
unit: 'days',
|
|
11
|
+
},
|
|
12
|
+
'3DAYS': {
|
|
13
|
+
text: '3일',
|
|
14
|
+
period: 3,
|
|
15
|
+
unit: 'days',
|
|
16
|
+
},
|
|
17
|
+
'7DAYS': {
|
|
18
|
+
text: '7일',
|
|
19
|
+
period: 7,
|
|
20
|
+
unit: 'days',
|
|
21
|
+
},
|
|
22
|
+
'1WEEK': {
|
|
23
|
+
text: '1주일',
|
|
24
|
+
period: 1,
|
|
25
|
+
unit: 'week',
|
|
26
|
+
},
|
|
27
|
+
'15DAYS': {
|
|
28
|
+
text: '15일',
|
|
29
|
+
period: 15,
|
|
30
|
+
unit: 'days',
|
|
31
|
+
},
|
|
32
|
+
'1MONTHS': {
|
|
33
|
+
text: '1개월',
|
|
34
|
+
period: 1,
|
|
35
|
+
unit: 'months',
|
|
36
|
+
},
|
|
37
|
+
'3MONTHS': {
|
|
38
|
+
text: '3개월',
|
|
39
|
+
period: 3,
|
|
40
|
+
unit: 'months',
|
|
41
|
+
},
|
|
42
|
+
'1YEAR': {
|
|
43
|
+
text: '1년',
|
|
44
|
+
period: 1,
|
|
45
|
+
unit: 'years',
|
|
46
|
+
},
|
|
47
|
+
ENTIRE: {
|
|
48
|
+
text: '전체',
|
|
49
|
+
period: 0,
|
|
50
|
+
unit: null,
|
|
51
|
+
},
|
|
52
|
+
NONE: { text: '', period: 0, unit: null },
|
|
53
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const MINIMUM_PC_SIZE = 768;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export var MINIMUM_PC_SIZE = 768;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { useDropdown } from './useDropdown';
|
|
2
|
+
export { useDropdownKeyboard } from './useDropdownKeyboard';
|
|
3
|
+
export { useDropdownPosition } from './useDropdownPosition';
|
|
4
|
+
export { useOutsideClick } from './useOutsideClick';
|
|
5
|
+
export { useScrollLock } from './useScrollLock';
|
|
6
|
+
export { useWindowResize } from './useWindowResize';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { useDropdown } from './useDropdown';
|
|
2
|
+
export { useDropdownKeyboard } from './useDropdownKeyboard';
|
|
3
|
+
export { useDropdownPosition } from './useDropdownPosition';
|
|
4
|
+
export { useOutsideClick } from './useOutsideClick';
|
|
5
|
+
export { useScrollLock } from './useScrollLock';
|
|
6
|
+
export { useWindowResize } from './useWindowResize';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
interface UseDropdownConfig<T = any> {
|
|
3
|
+
triggerRef: RefObject<HTMLElement>;
|
|
4
|
+
dropdownRef?: RefObject<HTMLElement>;
|
|
5
|
+
maxHeight: number;
|
|
6
|
+
itemCount: number;
|
|
7
|
+
optionItems: T[];
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
multiple?: boolean;
|
|
10
|
+
onSelect: (option: T) => void;
|
|
11
|
+
onChange?: (isOpen: boolean) => void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 드롭다운 기능을 통합한 커스텀 훅
|
|
15
|
+
*/
|
|
16
|
+
export declare const useDropdown: <T = any>(config: UseDropdownConfig<T>) => {
|
|
17
|
+
isOpen: boolean;
|
|
18
|
+
direction: import("../../types").DropdownDirection;
|
|
19
|
+
focusedIndex: number;
|
|
20
|
+
toggleDropdown: () => void;
|
|
21
|
+
closeDropdown: () => void;
|
|
22
|
+
handleOptionSelect: (option: T) => void;
|
|
23
|
+
handleKeyDown: (e: import("react").KeyboardEvent<HTMLElement>) => void;
|
|
24
|
+
setFocusedIndex: import("react").Dispatch<import("react").SetStateAction<number>>;
|
|
25
|
+
handleMouseMove: () => void;
|
|
26
|
+
isKeyboardNavigation: () => boolean;
|
|
27
|
+
updatePosition: () => import("../../types").DropdownPositionResult;
|
|
28
|
+
};
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { useCallback, useState } from 'react';
|
|
2
|
+
import { useDropdownKeyboard } from './useDropdownKeyboard';
|
|
3
|
+
import { useDropdownPosition } from './useDropdownPosition';
|
|
4
|
+
import { useOutsideClick } from './useOutsideClick';
|
|
5
|
+
import { useWindowResize } from './useWindowResize';
|
|
6
|
+
/**
|
|
7
|
+
* 드롭다운 기능을 통합한 커스텀 훅
|
|
8
|
+
*/
|
|
9
|
+
export var useDropdown = function (config) {
|
|
10
|
+
var triggerRef = config.triggerRef, dropdownRef = config.dropdownRef, maxHeight = config.maxHeight, itemCount = config.itemCount, optionItems = config.optionItems, _a = config.disabled, disabled = _a === void 0 ? false : _a, _b = config.multiple, multiple = _b === void 0 ? false : _b, onSelect = config.onSelect, onChange = config.onChange;
|
|
11
|
+
var _c = useState(false), isOpen = _c[0], setIsOpen = _c[1];
|
|
12
|
+
var _d = useState(-1), focusedIndex = _d[0], setFocusedIndex = _d[1];
|
|
13
|
+
// 드롭다운 위치 계산
|
|
14
|
+
var _e = useDropdownPosition({
|
|
15
|
+
triggerRef: triggerRef,
|
|
16
|
+
maxHeight: maxHeight,
|
|
17
|
+
itemCount: itemCount,
|
|
18
|
+
}), direction = _e.direction, updatePosition = _e.updatePosition;
|
|
19
|
+
// 드롭다운 토글
|
|
20
|
+
var toggleDropdown = useCallback(function () {
|
|
21
|
+
if (disabled)
|
|
22
|
+
return;
|
|
23
|
+
var newIsOpen = !isOpen;
|
|
24
|
+
if (newIsOpen) {
|
|
25
|
+
updatePosition();
|
|
26
|
+
setFocusedIndex(-1);
|
|
27
|
+
}
|
|
28
|
+
setIsOpen(newIsOpen);
|
|
29
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(newIsOpen);
|
|
30
|
+
}, [disabled, isOpen, updatePosition, onChange]);
|
|
31
|
+
// 드롭다운 닫기
|
|
32
|
+
var closeDropdown = useCallback(function () {
|
|
33
|
+
setIsOpen(false);
|
|
34
|
+
setFocusedIndex(-1);
|
|
35
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(false);
|
|
36
|
+
}, [onChange]);
|
|
37
|
+
// 옵션 선택 처리
|
|
38
|
+
var handleOptionSelect = useCallback(function (option) {
|
|
39
|
+
onSelect(option);
|
|
40
|
+
// multiple 모드가 아니어야 드롭다운을 닫음
|
|
41
|
+
if (!multiple) {
|
|
42
|
+
closeDropdown();
|
|
43
|
+
}
|
|
44
|
+
}, [onSelect, closeDropdown, multiple]);
|
|
45
|
+
// 키보드 이벤트 처리
|
|
46
|
+
var _f = useDropdownKeyboard({
|
|
47
|
+
isOpen: isOpen,
|
|
48
|
+
disabled: disabled,
|
|
49
|
+
focusedIndex: focusedIndex,
|
|
50
|
+
optionItems: optionItems,
|
|
51
|
+
onToggle: toggleDropdown,
|
|
52
|
+
onSelect: handleOptionSelect,
|
|
53
|
+
onClose: closeDropdown,
|
|
54
|
+
onFocusChange: setFocusedIndex,
|
|
55
|
+
triggerRef: triggerRef,
|
|
56
|
+
dropdownRef: dropdownRef,
|
|
57
|
+
}), handleKeyDown = _f.handleKeyDown, handleMouseMove = _f.handleMouseMove, isKeyboardNavigation = _f.isKeyboardNavigation;
|
|
58
|
+
// 외부 클릭 감지
|
|
59
|
+
var refs = dropdownRef ? [triggerRef, dropdownRef] : [triggerRef];
|
|
60
|
+
useOutsideClick({
|
|
61
|
+
isOpen: isOpen,
|
|
62
|
+
refs: refs,
|
|
63
|
+
onClose: closeDropdown,
|
|
64
|
+
});
|
|
65
|
+
// 윈도우 리사이즈 시 위치 재계산
|
|
66
|
+
useWindowResize(updatePosition, isOpen, triggerRef.current);
|
|
67
|
+
return {
|
|
68
|
+
// 상태
|
|
69
|
+
isOpen: isOpen,
|
|
70
|
+
direction: direction,
|
|
71
|
+
focusedIndex: focusedIndex,
|
|
72
|
+
// 액션
|
|
73
|
+
toggleDropdown: toggleDropdown,
|
|
74
|
+
closeDropdown: closeDropdown,
|
|
75
|
+
handleOptionSelect: handleOptionSelect,
|
|
76
|
+
handleKeyDown: handleKeyDown,
|
|
77
|
+
setFocusedIndex: setFocusedIndex,
|
|
78
|
+
// 키보드 네비게이션
|
|
79
|
+
handleMouseMove: handleMouseMove,
|
|
80
|
+
isKeyboardNavigation: isKeyboardNavigation,
|
|
81
|
+
// 유틸리티
|
|
82
|
+
updatePosition: updatePosition,
|
|
83
|
+
};
|
|
84
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type KeyboardEvent } from 'react';
|
|
2
|
+
import type { DropdownKeyboardConfig } from '../../types/dropdown';
|
|
3
|
+
/**
|
|
4
|
+
* 드롭다운 키보드 네비게이션을 위한 커스텀 훅
|
|
5
|
+
*/
|
|
6
|
+
export declare const useDropdownKeyboard: <T = any>(config: DropdownKeyboardConfig<T>) => {
|
|
7
|
+
handleKeyDown: (e: KeyboardEvent<HTMLElement>) => void;
|
|
8
|
+
handleMouseMove: () => void;
|
|
9
|
+
isKeyboardNavigation: () => boolean;
|
|
10
|
+
};
|