@ncds/ui-admin 1.8.1 → 1.8.2
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/src/components/badge/index.js +11 -0
- package/dist/cjs/src/components/date-picker/index.js +11 -0
- package/dist/cjs/src/components/image-file-input/components/index.js +16 -0
- package/dist/cjs/src/components/image-file-input/index.js +11 -0
- package/dist/cjs/src/components/progress-bar/components/index.js +27 -0
- package/dist/cjs/src/components/progress-bar/hooks/index.js +16 -0
- package/dist/cjs/src/components/progress-bar/index.js +33 -0
- package/dist/cjs/src/components/select/Select.js +0 -1
- package/dist/cjs/src/components/select-dropdown/index.js +11 -7
- package/dist/cjs/src/components/switch/index.js +11 -7
- package/dist/cjs/src/components/tooltip/Tooltip.js +170 -104
- package/dist/cjs/src/hooks/dropdown/index.js +61 -37
- package/dist/cjs/src/hooks/index.js +31 -25
- package/dist/cjs/vitest.config.js +13 -0
- package/dist/esm/src/components/badge/index.js +2 -1
- package/dist/esm/src/components/date-picker/index.js +1 -0
- package/dist/esm/src/components/empty-state/EmptyState.js +2 -3
- package/dist/esm/src/components/image-file-input/components/index.js +1 -0
- package/dist/esm/src/components/image-file-input/index.js +2 -1
- package/dist/esm/src/components/progress-bar/components/index.js +2 -0
- package/dist/esm/src/components/progress-bar/hooks/index.js +1 -0
- package/dist/esm/src/components/progress-bar/index.js +4 -1
- package/dist/esm/src/components/select/Select.js +0 -1
- package/dist/esm/src/components/select-dropdown/index.js +1 -1
- package/dist/esm/src/components/switch/index.js +1 -1
- package/dist/esm/src/components/tag/Tag.js +2 -3
- package/dist/esm/src/components/tooltip/Tooltip.js +172 -106
- package/dist/esm/src/hooks/dropdown/index.js +6 -6
- package/dist/esm/src/hooks/index.js +3 -3
- package/dist/esm/src/types/component-meta.js +2 -0
- package/dist/esm/vitest.config.js +7 -0
- package/dist/temp/src/components/badge/index.d.ts +1 -0
- package/dist/temp/src/components/badge/index.js +1 -0
- package/dist/temp/src/components/date-picker/index.d.ts +1 -0
- package/dist/temp/src/components/date-picker/index.js +1 -0
- package/dist/temp/src/components/empty-state/EmptyState.d.ts +3 -5
- package/dist/temp/src/components/empty-state/EmptyState.js +1 -2
- package/dist/temp/src/components/image-file-input/components/index.d.ts +1 -0
- package/dist/temp/src/components/image-file-input/components/index.js +1 -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/progress-bar/components/index.d.ts +2 -0
- package/dist/temp/src/components/progress-bar/components/index.js +2 -0
- package/dist/temp/src/components/progress-bar/hooks/index.d.ts +1 -0
- package/dist/temp/src/components/progress-bar/hooks/index.js +1 -0
- package/dist/temp/src/components/progress-bar/index.d.ts +3 -0
- package/dist/temp/src/components/progress-bar/index.js +3 -0
- package/dist/temp/src/components/select/Select.js +1 -1
- package/dist/temp/src/components/select-dropdown/index.d.ts +1 -1
- package/dist/temp/src/components/select-dropdown/index.js +1 -1
- package/dist/temp/src/components/spinner/Spinner.d.ts +1 -2
- package/dist/temp/src/components/switch/index.d.ts +1 -2
- package/dist/temp/src/components/switch/index.js +1 -1
- package/dist/temp/src/components/tag/Tag.d.ts +3 -5
- package/dist/temp/src/components/tag/Tag.js +1 -2
- package/dist/temp/src/components/tooltip/Tooltip.d.ts +4 -2
- package/dist/temp/src/components/tooltip/Tooltip.js +126 -68
- package/dist/temp/src/hooks/dropdown/index.d.ts +6 -6
- package/dist/temp/src/hooks/dropdown/index.js +6 -6
- package/dist/temp/src/hooks/index.d.ts +3 -3
- package/dist/temp/src/hooks/index.js +3 -3
- package/dist/temp/src/types/component-meta.d.ts +26 -0
- package/dist/temp/src/types/component-meta.js +2 -0
- package/dist/temp/src/types/dropdown/option.d.ts +2 -4
- package/dist/temp/src/types/side-slot.d.ts +9 -1
- package/dist/temp/vitest.config.d.ts +2 -0
- package/dist/temp/vitest.config.js +7 -0
- package/dist/types/src/components/badge/index.d.ts +1 -0
- package/dist/types/src/components/date-picker/index.d.ts +1 -0
- package/dist/types/src/components/empty-state/EmptyState.d.ts +3 -5
- package/dist/types/src/components/image-file-input/components/index.d.ts +1 -0
- package/dist/types/src/components/image-file-input/index.d.ts +1 -0
- package/dist/types/src/components/progress-bar/components/index.d.ts +2 -0
- package/dist/types/src/components/progress-bar/hooks/index.d.ts +1 -0
- package/dist/types/src/components/progress-bar/index.d.ts +3 -0
- package/dist/types/src/components/select-dropdown/index.d.ts +1 -1
- package/dist/types/src/components/spinner/Spinner.d.ts +1 -2
- package/dist/types/src/components/switch/index.d.ts +1 -2
- package/dist/types/src/components/tag/Tag.d.ts +3 -5
- package/dist/types/src/components/tooltip/Tooltip.d.ts +4 -2
- package/dist/types/src/hooks/dropdown/index.d.ts +6 -6
- package/dist/types/src/hooks/index.d.ts +3 -3
- package/dist/types/src/types/component-meta.d.ts +26 -0
- package/dist/types/src/types/dropdown/option.d.ts +2 -4
- package/dist/types/src/types/side-slot.d.ts +9 -1
- package/dist/types/vitest.config.d.ts +2 -0
- package/dist/ui-admin/assets/styles/style.css +18 -7
- package/package.json +6 -1
- package/dist/cjs/assets/scripts/baseBox.js +0 -146
- package/dist/cjs/assets/scripts/comboBox.js +0 -137
- package/dist/cjs/assets/scripts/datePicker.js +0 -671
- package/dist/cjs/assets/scripts/featuredIcon.js +0 -87
- package/dist/cjs/assets/scripts/fileInput/const/classNames.js +0 -25
- package/dist/cjs/assets/scripts/fileInput/const/index.js +0 -27
- package/dist/cjs/assets/scripts/fileInput/const/types.js +0 -13
- package/dist/cjs/assets/scripts/fileInput/fileInput.js +0 -78
- package/dist/cjs/assets/scripts/fileInput/fileInputModel.js +0 -53
- package/dist/cjs/assets/scripts/fileInput/fileInputView.js +0 -152
- package/dist/cjs/assets/scripts/fileInput/index.js +0 -44
- package/dist/cjs/assets/scripts/imageFileInput/ImageFileInput.js +0 -184
- package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputModel.js +0 -222
- package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputView.js +0 -356
- package/dist/cjs/assets/scripts/imageFileInput/const/classNames.js +0 -31
- package/dist/cjs/assets/scripts/imageFileInput/const/index.js +0 -27
- package/dist/cjs/assets/scripts/imageFileInput/const/types.js +0 -13
- package/dist/cjs/assets/scripts/imageFileInput/index.js +0 -44
- package/dist/cjs/assets/scripts/index.js +0 -32
- package/dist/cjs/assets/scripts/modal/Modal.js +0 -104
- package/dist/cjs/assets/scripts/modal/ModalActions.js +0 -116
- package/dist/cjs/assets/scripts/modal/ModalContent.js +0 -46
- package/dist/cjs/assets/scripts/modal/ModalHeader.js +0 -104
- package/dist/cjs/assets/scripts/modal/const/classNames.js +0 -33
- package/dist/cjs/assets/scripts/modal/const/index.js +0 -27
- package/dist/cjs/assets/scripts/modal/index.js +0 -61
- package/dist/cjs/assets/scripts/modal/utils/contentUtils.js +0 -35
- package/dist/cjs/assets/scripts/notification/FloatingNotification.js +0 -178
- package/dist/cjs/assets/scripts/notification/FullWidthNotification.js +0 -132
- package/dist/cjs/assets/scripts/notification/MessageNotification.js +0 -159
- package/dist/cjs/assets/scripts/notification/Notification.js +0 -101
- package/dist/cjs/assets/scripts/notification/const/classNames.js +0 -50
- package/dist/cjs/assets/scripts/notification/const/icons.js +0 -31
- package/dist/cjs/assets/scripts/notification/const/index.js +0 -87
- package/dist/cjs/assets/scripts/notification/const/sizes.js +0 -46
- package/dist/cjs/assets/scripts/notification/const/types.js +0 -14
- package/dist/cjs/assets/scripts/notification/index.js +0 -92
- package/dist/cjs/assets/scripts/notification/utils.js +0 -97
- package/dist/cjs/assets/scripts/progress-bar/ProgressBar.js +0 -271
- package/dist/cjs/assets/scripts/progress-bar/index.js +0 -12
- package/dist/cjs/assets/scripts/selectBox.js +0 -169
- package/dist/cjs/assets/scripts/shared/ButtonCloseX.js +0 -45
- package/dist/cjs/assets/scripts/tab.js +0 -40
- package/dist/cjs/assets/scripts/table/Table.js +0 -377
- package/dist/cjs/assets/scripts/table/const/classNames.js +0 -33
- package/dist/cjs/assets/scripts/table/const/index.js +0 -27
- package/dist/cjs/assets/scripts/table/const/types.js +0 -5
- package/dist/cjs/assets/scripts/table/index.js +0 -43
- package/dist/cjs/assets/scripts/tag/Tag.js +0 -261
- package/dist/cjs/assets/scripts/tag/const/classNames.js +0 -20
- package/dist/cjs/assets/scripts/tag/const/index.js +0 -38
- package/dist/cjs/assets/scripts/tag/const/sizes.js +0 -13
- package/dist/cjs/assets/scripts/tag/const/types.js +0 -5
- package/dist/cjs/assets/scripts/tag/index.js +0 -44
- package/dist/cjs/assets/scripts/tooltip/Tooltip.js +0 -353
- package/dist/cjs/assets/scripts/tooltip/TooltipLayerManager.js +0 -82
- package/dist/cjs/assets/scripts/tooltip/const/classNames.js +0 -29
- package/dist/cjs/assets/scripts/tooltip/const/constants.js +0 -56
- package/dist/cjs/assets/scripts/tooltip/const/icons.js +0 -15
- package/dist/cjs/assets/scripts/tooltip/const/index.js +0 -123
- package/dist/cjs/assets/scripts/tooltip/const/templates.js +0 -66
- package/dist/cjs/assets/scripts/tooltip/const/types.js +0 -5
- package/dist/cjs/assets/scripts/tooltip/index.js +0 -57
- package/dist/cjs/assets/scripts/tooltip/utils.js +0 -40
- package/dist/cjs/assets/scripts/utils/debounce.js +0 -32
- package/dist/cjs/assets/scripts/utils/unifiedBox/domRenderer.js +0 -370
- package/dist/cjs/assets/scripts/utils/unifiedBox/dropdownModel.js +0 -285
- package/dist/cjs/assets/scripts/utils/unifiedBox/unifiedBoxController.js +0 -622
- package/dist/cjs/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +0 -473
- package/dist/esm/assets/scripts/baseBox.js +0 -139
- package/dist/esm/assets/scripts/comboBox.js +0 -130
- package/dist/esm/assets/scripts/datePicker.js +0 -663
- package/dist/esm/assets/scripts/featuredIcon.js +0 -80
- package/dist/esm/assets/scripts/fileInput/const/classNames.js +0 -16
- package/dist/esm/assets/scripts/fileInput/const/index.js +0 -2
- package/dist/esm/assets/scripts/fileInput/const/types.js +0 -7
- package/dist/esm/assets/scripts/fileInput/fileInput.js +0 -71
- package/dist/esm/assets/scripts/fileInput/fileInputModel.js +0 -46
- package/dist/esm/assets/scripts/fileInput/fileInputView.js +0 -145
- package/dist/esm/assets/scripts/fileInput/index.js +0 -9
- package/dist/esm/assets/scripts/imageFileInput/ImageFileInput.js +0 -177
- package/dist/esm/assets/scripts/imageFileInput/ImageFileInputModel.js +0 -215
- package/dist/esm/assets/scripts/imageFileInput/ImageFileInputView.js +0 -349
- package/dist/esm/assets/scripts/imageFileInput/const/classNames.js +0 -20
- package/dist/esm/assets/scripts/imageFileInput/const/index.js +0 -2
- package/dist/esm/assets/scripts/imageFileInput/const/types.js +0 -7
- package/dist/esm/assets/scripts/imageFileInput/index.js +0 -9
- package/dist/esm/assets/scripts/index.js +0 -30
- package/dist/esm/assets/scripts/modal/Modal.js +0 -98
- package/dist/esm/assets/scripts/modal/ModalActions.js +0 -109
- package/dist/esm/assets/scripts/modal/ModalContent.js +0 -39
- package/dist/esm/assets/scripts/modal/ModalHeader.js +0 -97
- package/dist/esm/assets/scripts/modal/const/classNames.js +0 -23
- package/dist/esm/assets/scripts/modal/const/index.js +0 -2
- package/dist/esm/assets/scripts/modal/const/types.js +0 -1
- package/dist/esm/assets/scripts/modal/index.js +0 -15
- package/dist/esm/assets/scripts/modal/utils/contentUtils.js +0 -28
- package/dist/esm/assets/scripts/notification/FloatingNotification.js +0 -172
- package/dist/esm/assets/scripts/notification/FullWidthNotification.js +0 -125
- package/dist/esm/assets/scripts/notification/MessageNotification.js +0 -152
- package/dist/esm/assets/scripts/notification/Notification.js +0 -94
- package/dist/esm/assets/scripts/notification/const/classNames.js +0 -44
- package/dist/esm/assets/scripts/notification/const/icons.js +0 -25
- package/dist/esm/assets/scripts/notification/const/index.js +0 -4
- package/dist/esm/assets/scripts/notification/const/sizes.js +0 -40
- package/dist/esm/assets/scripts/notification/const/types.js +0 -8
- package/dist/esm/assets/scripts/notification/index.js +0 -11
- package/dist/esm/assets/scripts/notification/utils.js +0 -84
- package/dist/esm/assets/scripts/progress-bar/ProgressBar.js +0 -264
- package/dist/esm/assets/scripts/progress-bar/index.js +0 -1
- package/dist/esm/assets/scripts/selectBox.js +0 -162
- package/dist/esm/assets/scripts/shared/ButtonCloseX.js +0 -37
- package/dist/esm/assets/scripts/tab.js +0 -33
- package/dist/esm/assets/scripts/table/Table.js +0 -370
- package/dist/esm/assets/scripts/table/const/classNames.js +0 -27
- package/dist/esm/assets/scripts/table/const/index.js +0 -2
- package/dist/esm/assets/scripts/table/const/types.js +0 -1
- package/dist/esm/assets/scripts/table/index.js +0 -8
- package/dist/esm/assets/scripts/tag/Tag.js +0 -254
- package/dist/esm/assets/scripts/tag/const/classNames.js +0 -12
- package/dist/esm/assets/scripts/tag/const/index.js +0 -3
- package/dist/esm/assets/scripts/tag/const/sizes.js +0 -7
- package/dist/esm/assets/scripts/tag/const/types.js +0 -1
- package/dist/esm/assets/scripts/tag/index.js +0 -9
- package/dist/esm/assets/scripts/tooltip/Tooltip.js +0 -346
- package/dist/esm/assets/scripts/tooltip/TooltipLayerManager.js +0 -75
- package/dist/esm/assets/scripts/tooltip/const/classNames.js +0 -23
- package/dist/esm/assets/scripts/tooltip/const/constants.js +0 -50
- package/dist/esm/assets/scripts/tooltip/const/icons.js +0 -9
- package/dist/esm/assets/scripts/tooltip/const/index.js +0 -4
- package/dist/esm/assets/scripts/tooltip/const/templates.js +0 -59
- package/dist/esm/assets/scripts/tooltip/const/types.js +0 -1
- package/dist/esm/assets/scripts/tooltip/index.js +0 -10
- package/dist/esm/assets/scripts/tooltip/utils.js +0 -34
- package/dist/esm/assets/scripts/utils/debounce.js +0 -26
- package/dist/esm/assets/scripts/utils/unifiedBox/domRenderer.js +0 -363
- package/dist/esm/assets/scripts/utils/unifiedBox/dropdownModel.js +0 -279
- package/dist/esm/assets/scripts/utils/unifiedBox/unifiedBoxController.js +0 -615
- package/dist/esm/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +0 -466
- package/dist/temp/assets/scripts/baseBox.d.ts +0 -55
- package/dist/temp/assets/scripts/baseBox.js +0 -140
- package/dist/temp/assets/scripts/comboBox.d.ts +0 -60
- package/dist/temp/assets/scripts/comboBox.js +0 -132
- package/dist/temp/assets/scripts/datePicker.d.ts +0 -86
- package/dist/temp/assets/scripts/datePicker.js +0 -699
- package/dist/temp/assets/scripts/featuredIcon.d.ts +0 -22
- package/dist/temp/assets/scripts/featuredIcon.js +0 -79
- package/dist/temp/assets/scripts/fileInput/const/classNames.d.ts +0 -15
- package/dist/temp/assets/scripts/fileInput/const/classNames.js +0 -16
- package/dist/temp/assets/scripts/fileInput/const/index.d.ts +0 -2
- package/dist/temp/assets/scripts/fileInput/const/index.js +0 -2
- package/dist/temp/assets/scripts/fileInput/const/types.d.ts +0 -88
- package/dist/temp/assets/scripts/fileInput/const/types.js +0 -7
- package/dist/temp/assets/scripts/fileInput/fileInput.d.ts +0 -13
- package/dist/temp/assets/scripts/fileInput/fileInput.js +0 -71
- package/dist/temp/assets/scripts/fileInput/fileInputModel.d.ts +0 -12
- package/dist/temp/assets/scripts/fileInput/fileInputModel.js +0 -37
- package/dist/temp/assets/scripts/fileInput/fileInputView.d.ts +0 -42
- package/dist/temp/assets/scripts/fileInput/fileInputView.js +0 -145
- package/dist/temp/assets/scripts/fileInput/index.d.ts +0 -3
- package/dist/temp/assets/scripts/fileInput/index.js +0 -9
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInput.d.ts +0 -63
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInput.js +0 -180
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInputModel.d.ts +0 -73
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInputModel.js +0 -214
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInputView.d.ts +0 -79
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInputView.js +0 -350
- package/dist/temp/assets/scripts/imageFileInput/const/classNames.d.ts +0 -19
- package/dist/temp/assets/scripts/imageFileInput/const/classNames.js +0 -20
- package/dist/temp/assets/scripts/imageFileInput/const/index.d.ts +0 -2
- package/dist/temp/assets/scripts/imageFileInput/const/index.js +0 -2
- package/dist/temp/assets/scripts/imageFileInput/const/types.d.ts +0 -125
- package/dist/temp/assets/scripts/imageFileInput/const/types.js +0 -7
- package/dist/temp/assets/scripts/imageFileInput/index.d.ts +0 -3
- package/dist/temp/assets/scripts/imageFileInput/index.js +0 -9
- package/dist/temp/assets/scripts/index.d.ts +0 -34
- package/dist/temp/assets/scripts/index.js +0 -30
- package/dist/temp/assets/scripts/modal/Modal.d.ts +0 -27
- package/dist/temp/assets/scripts/modal/Modal.js +0 -100
- package/dist/temp/assets/scripts/modal/ModalActions.d.ts +0 -18
- package/dist/temp/assets/scripts/modal/ModalActions.js +0 -117
- package/dist/temp/assets/scripts/modal/ModalContent.d.ts +0 -13
- package/dist/temp/assets/scripts/modal/ModalContent.js +0 -39
- package/dist/temp/assets/scripts/modal/ModalHeader.d.ts +0 -15
- package/dist/temp/assets/scripts/modal/ModalHeader.js +0 -96
- package/dist/temp/assets/scripts/modal/const/classNames.d.ts +0 -22
- package/dist/temp/assets/scripts/modal/const/classNames.js +0 -23
- package/dist/temp/assets/scripts/modal/const/index.d.ts +0 -2
- package/dist/temp/assets/scripts/modal/const/index.js +0 -2
- package/dist/temp/assets/scripts/modal/const/types.d.ts +0 -61
- package/dist/temp/assets/scripts/modal/const/types.js +0 -1
- package/dist/temp/assets/scripts/modal/index.d.ts +0 -7
- package/dist/temp/assets/scripts/modal/index.js +0 -15
- package/dist/temp/assets/scripts/modal/utils/contentUtils.d.ts +0 -10
- package/dist/temp/assets/scripts/modal/utils/contentUtils.js +0 -29
- package/dist/temp/assets/scripts/notification/FloatingNotification.d.ts +0 -24
- package/dist/temp/assets/scripts/notification/FloatingNotification.js +0 -157
- package/dist/temp/assets/scripts/notification/FullWidthNotification.d.ts +0 -21
- package/dist/temp/assets/scripts/notification/FullWidthNotification.js +0 -110
- package/dist/temp/assets/scripts/notification/MessageNotification.d.ts +0 -22
- package/dist/temp/assets/scripts/notification/MessageNotification.js +0 -140
- package/dist/temp/assets/scripts/notification/Notification.d.ts +0 -21
- package/dist/temp/assets/scripts/notification/Notification.js +0 -94
- package/dist/temp/assets/scripts/notification/const/classNames.d.ts +0 -43
- package/dist/temp/assets/scripts/notification/const/classNames.js +0 -44
- package/dist/temp/assets/scripts/notification/const/icons.d.ts +0 -25
- package/dist/temp/assets/scripts/notification/const/icons.js +0 -25
- package/dist/temp/assets/scripts/notification/const/index.d.ts +0 -5
- package/dist/temp/assets/scripts/notification/const/index.js +0 -4
- package/dist/temp/assets/scripts/notification/const/sizes.d.ts +0 -32
- package/dist/temp/assets/scripts/notification/const/sizes.js +0 -40
- package/dist/temp/assets/scripts/notification/const/types.d.ts +0 -19
- package/dist/temp/assets/scripts/notification/const/types.js +0 -8
- package/dist/temp/assets/scripts/notification/index.d.ts +0 -7
- package/dist/temp/assets/scripts/notification/index.js +0 -11
- package/dist/temp/assets/scripts/notification/utils.d.ts +0 -8
- package/dist/temp/assets/scripts/notification/utils.js +0 -89
- package/dist/temp/assets/scripts/progress-bar/ProgressBar.d.ts +0 -67
- package/dist/temp/assets/scripts/progress-bar/ProgressBar.js +0 -263
- package/dist/temp/assets/scripts/progress-bar/index.d.ts +0 -1
- package/dist/temp/assets/scripts/progress-bar/index.js +0 -1
- package/dist/temp/assets/scripts/selectBox.d.ts +0 -50
- package/dist/temp/assets/scripts/selectBox.js +0 -170
- package/dist/temp/assets/scripts/shared/ButtonCloseX.d.ts +0 -5
- package/dist/temp/assets/scripts/shared/ButtonCloseX.js +0 -33
- package/dist/temp/assets/scripts/tab.d.ts +0 -7
- package/dist/temp/assets/scripts/tab.js +0 -33
- package/dist/temp/assets/scripts/table/Table.d.ts +0 -41
- package/dist/temp/assets/scripts/table/Table.js +0 -378
- package/dist/temp/assets/scripts/table/const/classNames.d.ts +0 -27
- package/dist/temp/assets/scripts/table/const/classNames.js +0 -27
- package/dist/temp/assets/scripts/table/const/index.d.ts +0 -2
- package/dist/temp/assets/scripts/table/const/index.js +0 -2
- package/dist/temp/assets/scripts/table/const/types.d.ts +0 -23
- package/dist/temp/assets/scripts/table/const/types.js +0 -1
- package/dist/temp/assets/scripts/table/index.d.ts +0 -3
- package/dist/temp/assets/scripts/table/index.js +0 -8
- package/dist/temp/assets/scripts/tag/Tag.d.ts +0 -27
- package/dist/temp/assets/scripts/tag/Tag.js +0 -259
- package/dist/temp/assets/scripts/tag/const/classNames.d.ts +0 -11
- package/dist/temp/assets/scripts/tag/const/classNames.js +0 -12
- package/dist/temp/assets/scripts/tag/const/index.d.ts +0 -3
- package/dist/temp/assets/scripts/tag/const/index.js +0 -3
- package/dist/temp/assets/scripts/tag/const/sizes.d.ts +0 -7
- package/dist/temp/assets/scripts/tag/const/sizes.js +0 -7
- package/dist/temp/assets/scripts/tag/const/types.d.ts +0 -33
- package/dist/temp/assets/scripts/tag/const/types.js +0 -1
- package/dist/temp/assets/scripts/tag/index.d.ts +0 -3
- package/dist/temp/assets/scripts/tag/index.js +0 -9
- package/dist/temp/assets/scripts/tooltip/Tooltip.d.ts +0 -54
- package/dist/temp/assets/scripts/tooltip/Tooltip.js +0 -335
- package/dist/temp/assets/scripts/tooltip/TooltipLayerManager.d.ts +0 -21
- package/dist/temp/assets/scripts/tooltip/TooltipLayerManager.js +0 -71
- package/dist/temp/assets/scripts/tooltip/const/classNames.d.ts +0 -17
- package/dist/temp/assets/scripts/tooltip/const/classNames.js +0 -23
- package/dist/temp/assets/scripts/tooltip/const/constants.d.ts +0 -33
- package/dist/temp/assets/scripts/tooltip/const/constants.js +0 -46
- package/dist/temp/assets/scripts/tooltip/const/icons.d.ts +0 -4
- package/dist/temp/assets/scripts/tooltip/const/icons.js +0 -9
- package/dist/temp/assets/scripts/tooltip/const/index.d.ts +0 -5
- package/dist/temp/assets/scripts/tooltip/const/index.js +0 -4
- package/dist/temp/assets/scripts/tooltip/const/templates.d.ts +0 -16
- package/dist/temp/assets/scripts/tooltip/const/templates.js +0 -59
- package/dist/temp/assets/scripts/tooltip/const/types.d.ts +0 -14
- package/dist/temp/assets/scripts/tooltip/const/types.js +0 -1
- package/dist/temp/assets/scripts/tooltip/index.d.ts +0 -6
- package/dist/temp/assets/scripts/tooltip/index.js +0 -10
- package/dist/temp/assets/scripts/tooltip/utils.d.ts +0 -2
- package/dist/temp/assets/scripts/tooltip/utils.js +0 -33
- package/dist/temp/assets/scripts/utils/debounce.d.ts +0 -8
- package/dist/temp/assets/scripts/utils/debounce.js +0 -23
- package/dist/temp/assets/scripts/utils/unifiedBox/domRenderer.d.ts +0 -107
- package/dist/temp/assets/scripts/utils/unifiedBox/domRenderer.js +0 -367
- package/dist/temp/assets/scripts/utils/unifiedBox/dropdownModel.d.ts +0 -142
- package/dist/temp/assets/scripts/utils/unifiedBox/dropdownModel.js +0 -286
- package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxController.d.ts +0 -156
- package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxController.js +0 -604
- package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxManager.d.ts +0 -95
- package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +0 -482
- package/dist/types/assets/scripts/baseBox.d.ts +0 -55
- package/dist/types/assets/scripts/comboBox.d.ts +0 -60
- package/dist/types/assets/scripts/datePicker.d.ts +0 -86
- package/dist/types/assets/scripts/featuredIcon.d.ts +0 -22
- package/dist/types/assets/scripts/fileInput/const/classNames.d.ts +0 -15
- package/dist/types/assets/scripts/fileInput/const/index.d.ts +0 -2
- package/dist/types/assets/scripts/fileInput/const/types.d.ts +0 -88
- package/dist/types/assets/scripts/fileInput/fileInput.d.ts +0 -13
- package/dist/types/assets/scripts/fileInput/fileInputModel.d.ts +0 -12
- package/dist/types/assets/scripts/fileInput/fileInputView.d.ts +0 -42
- package/dist/types/assets/scripts/fileInput/index.d.ts +0 -3
- package/dist/types/assets/scripts/imageFileInput/ImageFileInput.d.ts +0 -63
- package/dist/types/assets/scripts/imageFileInput/ImageFileInputModel.d.ts +0 -73
- package/dist/types/assets/scripts/imageFileInput/ImageFileInputView.d.ts +0 -79
- package/dist/types/assets/scripts/imageFileInput/const/classNames.d.ts +0 -19
- package/dist/types/assets/scripts/imageFileInput/const/index.d.ts +0 -2
- package/dist/types/assets/scripts/imageFileInput/const/types.d.ts +0 -125
- package/dist/types/assets/scripts/imageFileInput/index.d.ts +0 -3
- package/dist/types/assets/scripts/index.d.ts +0 -34
- package/dist/types/assets/scripts/modal/Modal.d.ts +0 -27
- package/dist/types/assets/scripts/modal/ModalActions.d.ts +0 -18
- package/dist/types/assets/scripts/modal/ModalContent.d.ts +0 -13
- package/dist/types/assets/scripts/modal/ModalHeader.d.ts +0 -15
- package/dist/types/assets/scripts/modal/const/classNames.d.ts +0 -22
- package/dist/types/assets/scripts/modal/const/index.d.ts +0 -2
- package/dist/types/assets/scripts/modal/const/types.d.ts +0 -61
- package/dist/types/assets/scripts/modal/index.d.ts +0 -7
- package/dist/types/assets/scripts/modal/utils/contentUtils.d.ts +0 -10
- package/dist/types/assets/scripts/notification/FloatingNotification.d.ts +0 -24
- package/dist/types/assets/scripts/notification/FullWidthNotification.d.ts +0 -21
- package/dist/types/assets/scripts/notification/MessageNotification.d.ts +0 -22
- package/dist/types/assets/scripts/notification/Notification.d.ts +0 -21
- package/dist/types/assets/scripts/notification/const/classNames.d.ts +0 -43
- package/dist/types/assets/scripts/notification/const/icons.d.ts +0 -25
- package/dist/types/assets/scripts/notification/const/index.d.ts +0 -5
- package/dist/types/assets/scripts/notification/const/sizes.d.ts +0 -32
- package/dist/types/assets/scripts/notification/const/types.d.ts +0 -19
- package/dist/types/assets/scripts/notification/index.d.ts +0 -7
- package/dist/types/assets/scripts/notification/utils.d.ts +0 -8
- package/dist/types/assets/scripts/progress-bar/ProgressBar.d.ts +0 -67
- package/dist/types/assets/scripts/progress-bar/index.d.ts +0 -1
- package/dist/types/assets/scripts/selectBox.d.ts +0 -50
- package/dist/types/assets/scripts/shared/ButtonCloseX.d.ts +0 -5
- package/dist/types/assets/scripts/tab.d.ts +0 -7
- package/dist/types/assets/scripts/table/Table.d.ts +0 -41
- package/dist/types/assets/scripts/table/const/classNames.d.ts +0 -27
- package/dist/types/assets/scripts/table/const/index.d.ts +0 -2
- package/dist/types/assets/scripts/table/const/types.d.ts +0 -23
- package/dist/types/assets/scripts/table/index.d.ts +0 -3
- package/dist/types/assets/scripts/tag/Tag.d.ts +0 -27
- package/dist/types/assets/scripts/tag/const/classNames.d.ts +0 -11
- package/dist/types/assets/scripts/tag/const/index.d.ts +0 -3
- package/dist/types/assets/scripts/tag/const/sizes.d.ts +0 -7
- package/dist/types/assets/scripts/tag/const/types.d.ts +0 -33
- package/dist/types/assets/scripts/tag/index.d.ts +0 -3
- package/dist/types/assets/scripts/tooltip/Tooltip.d.ts +0 -54
- package/dist/types/assets/scripts/tooltip/TooltipLayerManager.d.ts +0 -21
- package/dist/types/assets/scripts/tooltip/const/classNames.d.ts +0 -17
- package/dist/types/assets/scripts/tooltip/const/constants.d.ts +0 -33
- package/dist/types/assets/scripts/tooltip/const/icons.d.ts +0 -4
- package/dist/types/assets/scripts/tooltip/const/index.d.ts +0 -5
- package/dist/types/assets/scripts/tooltip/const/templates.d.ts +0 -16
- package/dist/types/assets/scripts/tooltip/const/types.d.ts +0 -14
- package/dist/types/assets/scripts/tooltip/index.d.ts +0 -6
- package/dist/types/assets/scripts/tooltip/utils.d.ts +0 -2
- package/dist/types/assets/scripts/utils/debounce.d.ts +0 -8
- package/dist/types/assets/scripts/utils/unifiedBox/domRenderer.d.ts +0 -107
- package/dist/types/assets/scripts/utils/unifiedBox/dropdownModel.d.ts +0 -142
- package/dist/types/assets/scripts/utils/unifiedBox/unifiedBoxController.d.ts +0 -156
- package/dist/types/assets/scripts/utils/unifiedBox/unifiedBoxManager.d.ts +0 -95
- /package/dist/cjs/{assets/scripts/modal/const/types.js → src/types/component-meta.js} +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
1
2
|
:root {
|
|
2
3
|
--primary-red-50: #fffafd;
|
|
3
4
|
--primary-red-100: #ffeaee;
|
|
@@ -112,6 +113,8 @@
|
|
|
112
113
|
--font-size-display-md: 36px;
|
|
113
114
|
--font-size-display-lg: 48px;
|
|
114
115
|
--font-size-display-xl: 60px;
|
|
116
|
+
/* z-index (고도몰 기준) */
|
|
117
|
+
--z-index-tooltip: 2000;
|
|
115
118
|
}
|
|
116
119
|
|
|
117
120
|
:root {
|
|
@@ -2808,6 +2811,8 @@ button {
|
|
|
2808
2811
|
display: flex;
|
|
2809
2812
|
flex-direction: column;
|
|
2810
2813
|
gap: 4px;
|
|
2814
|
+
max-width: 320px;
|
|
2815
|
+
font-size: var(--font-size-xxs);
|
|
2811
2816
|
box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5), 0 12px 16px -4px rgba(16, 24, 40, 0.08), 0 4px 6px -2px rgba(16, 24, 40, 0.03);
|
|
2812
2817
|
}
|
|
2813
2818
|
.ncua-tooltip__bg::after {
|
|
@@ -2818,7 +2823,9 @@ button {
|
|
|
2818
2823
|
.ncua-tooltip__content {
|
|
2819
2824
|
line-height: 14px;
|
|
2820
2825
|
width: max-content;
|
|
2826
|
+
max-width: 296px;
|
|
2821
2827
|
font-weight: 100;
|
|
2828
|
+
word-break: keep-all;
|
|
2822
2829
|
}
|
|
2823
2830
|
.ncua-tooltip__close-button {
|
|
2824
2831
|
position: absolute;
|
|
@@ -3065,7 +3072,7 @@ button {
|
|
|
3065
3072
|
position: fixed;
|
|
3066
3073
|
inset: 0;
|
|
3067
3074
|
pointer-events: none;
|
|
3068
|
-
z-index:
|
|
3075
|
+
z-index: var(--z-index-tooltip);
|
|
3069
3076
|
display: block;
|
|
3070
3077
|
}
|
|
3071
3078
|
|
|
@@ -3075,11 +3082,15 @@ button {
|
|
|
3075
3082
|
top: -99999px;
|
|
3076
3083
|
opacity: 0;
|
|
3077
3084
|
transition: opacity 0.18s ease;
|
|
3078
|
-
pointer-events:
|
|
3085
|
+
pointer-events: none;
|
|
3086
|
+
z-index: var(--z-index-tooltip);
|
|
3079
3087
|
right: auto;
|
|
3080
3088
|
bottom: auto;
|
|
3081
3089
|
transform: none;
|
|
3082
3090
|
}
|
|
3091
|
+
.ncua-tooltip-panel.ncua-tooltip__bg--visible {
|
|
3092
|
+
pointer-events: auto;
|
|
3093
|
+
}
|
|
3083
3094
|
|
|
3084
3095
|
:root {
|
|
3085
3096
|
--select-height-xs: 28px;
|
|
@@ -5769,21 +5780,21 @@ button {
|
|
|
5769
5780
|
background: color-mix(in srgb, var(--gray-50) 40%, transparent);
|
|
5770
5781
|
}
|
|
5771
5782
|
.ncua-table--hoverable .ncua-table__row--selected:not(.ncua-table__row--warning):not(.ncua-table__row--error):hover {
|
|
5772
|
-
background: color-mix(in srgb, var(--gray-200) 10%,
|
|
5783
|
+
background: color-mix(in srgb, var(--gray-200) 10%, var(--gray-50));
|
|
5773
5784
|
}
|
|
5774
5785
|
.ncua-table--hoverable .ncua-table__row--selected.ncua-table__row--warning:hover {
|
|
5775
|
-
background: var(--
|
|
5786
|
+
background: color-mix(in srgb, var(--gray-200) 10%, var(--orange-50));
|
|
5776
5787
|
}
|
|
5777
5788
|
.ncua-table--hoverable .ncua-table__row--selected.ncua-table__row--warning:hover td,
|
|
5778
5789
|
.ncua-table--hoverable .ncua-table__row--selected.ncua-table__row--warning:hover th {
|
|
5779
|
-
background:
|
|
5790
|
+
background: transparent;
|
|
5780
5791
|
}
|
|
5781
5792
|
.ncua-table--hoverable .ncua-table__row--selected.ncua-table__row--error:hover {
|
|
5782
|
-
background: var(--
|
|
5793
|
+
background: color-mix(in srgb, var(--gray-200) 10%, var(--primary-red-50));
|
|
5783
5794
|
}
|
|
5784
5795
|
.ncua-table--hoverable .ncua-table__row--selected.ncua-table__row--error:hover td,
|
|
5785
5796
|
.ncua-table--hoverable .ncua-table__row--selected.ncua-table__row--error:hover th {
|
|
5786
|
-
background:
|
|
5797
|
+
background: transparent;
|
|
5787
5798
|
}
|
|
5788
5799
|
.ncua-table__cell {
|
|
5789
5800
|
padding: 10px 8px;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ncds/ui-admin",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.2",
|
|
4
4
|
"description": "nhn-commerce의 어드민 디자인 시스템입니다.",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"barrel": "node barrel.js",
|
|
@@ -17,8 +17,11 @@
|
|
|
17
17
|
"patch": "pnpm version patch",
|
|
18
18
|
"prestart": "cross-env NODE_ENV=production pnpm run build",
|
|
19
19
|
"publish:npm": "pnpm run build:npm && npm publish --access=public",
|
|
20
|
+
"publish:npm:alpha": "pnpm run build:npm && npm publish --access=public --tag alpha",
|
|
20
21
|
"publish:cdn": "pnpm run build:cdn && node scripts/publish-cdn.js",
|
|
21
22
|
"start": "webpack --node-env development",
|
|
23
|
+
"check:meta": "tsx scripts/check-meta.ts",
|
|
24
|
+
"test": "vitest run --config vitest.config.ts",
|
|
22
25
|
"tsc": "tsc --pretty --listFiles"
|
|
23
26
|
},
|
|
24
27
|
"author": {
|
|
@@ -108,7 +111,9 @@
|
|
|
108
111
|
"style-loader": "3.3.4",
|
|
109
112
|
"ts-loader": "9.5.4",
|
|
110
113
|
"ts-node": "10.9.2",
|
|
114
|
+
"tsx": "^4.21.0",
|
|
111
115
|
"typescript": "5.0.4",
|
|
116
|
+
"vitest": "^4.1.4",
|
|
112
117
|
"webpack": "5.105.4",
|
|
113
118
|
"webpack-cli": "5.1.4",
|
|
114
119
|
"webpack-dev-server": "4.15.2"
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.BaseBox = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* SelectBox와 ComboBox의 공통 기능을 담는 베이스 클래스
|
|
9
|
-
*/
|
|
10
|
-
class BaseBox {
|
|
11
|
-
constructor(element) {
|
|
12
|
-
this.targetSelect = null;
|
|
13
|
-
this.isInitializing = true;
|
|
14
|
-
this.lastValue = '';
|
|
15
|
-
this.element = element;
|
|
16
|
-
this.targetSelect = this.findTargetSelect(element);
|
|
17
|
-
}
|
|
18
|
-
/** 초기화 완료 처리 (서브클래스 생성자 마지막에 호출) */
|
|
19
|
-
completeInitialization() {
|
|
20
|
-
setTimeout(() => {
|
|
21
|
-
this.isInitializing = false;
|
|
22
|
-
}, 0);
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* 타겟 select 요소 찾기
|
|
26
|
-
*/
|
|
27
|
-
findTargetSelect(element) {
|
|
28
|
-
// 1. 직접 select 태그인 경우
|
|
29
|
-
if (element.tagName === 'SELECT') {
|
|
30
|
-
return element;
|
|
31
|
-
}
|
|
32
|
-
// 2. 자식으로 select 태그가 있는 경우
|
|
33
|
-
const selectChild = element.querySelector('select');
|
|
34
|
-
if (selectChild) {
|
|
35
|
-
return selectChild;
|
|
36
|
-
}
|
|
37
|
-
// 3. data-target 속성으로 지정된 경우
|
|
38
|
-
const targetId = element.getAttribute('data-target');
|
|
39
|
-
if (targetId) {
|
|
40
|
-
const targetElement = document.getElementById(targetId);
|
|
41
|
-
if (targetElement && targetElement.tagName === 'SELECT') {
|
|
42
|
-
return targetElement;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* HTML에서 속성 파싱
|
|
49
|
-
*/
|
|
50
|
-
parseAttributesFromHTML() {
|
|
51
|
-
const attributes = {};
|
|
52
|
-
if (this.targetSelect) {
|
|
53
|
-
// select 요소의 속성들
|
|
54
|
-
if (this.targetSelect.disabled) attributes.disabled = true;
|
|
55
|
-
if (this.targetSelect.value) attributes.value = this.targetSelect.value;
|
|
56
|
-
// placeholder는 첫 번째 빈 option에서 가져오기
|
|
57
|
-
const firstOption = this.targetSelect.querySelector('option[value=""], option:not([value])');
|
|
58
|
-
if (firstOption) {
|
|
59
|
-
attributes.placeholder = firstOption.textContent || this.defaultPlaceholder;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
// 컨테이너 요소의 data 속성들
|
|
63
|
-
const containerAttributes = this.element.dataset;
|
|
64
|
-
if (containerAttributes.placeholder) attributes.placeholder = containerAttributes.placeholder;
|
|
65
|
-
if (containerAttributes.size) attributes.size = containerAttributes.size;
|
|
66
|
-
if (containerAttributes.disabled === 'true') attributes.disabled = true;
|
|
67
|
-
return attributes;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* 값 변환 훅 - SelectBox에서 originalValue 매핑을 위해 오버라이드
|
|
71
|
-
* 기본 동작: 그대로 문자열 변환
|
|
72
|
-
*/
|
|
73
|
-
resolveValue(value) {
|
|
74
|
-
return String(value);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* 타겟 select와 동기화 (Single 모드)
|
|
78
|
-
*/
|
|
79
|
-
syncWithTargetSelect(value) {
|
|
80
|
-
if (this.targetSelect) {
|
|
81
|
-
this.targetSelect.value = this.resolveValue(value);
|
|
82
|
-
const event = new Event('change', {
|
|
83
|
-
bubbles: true
|
|
84
|
-
});
|
|
85
|
-
this.targetSelect.dispatchEvent(event);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* 타겟 select와 동기화 (Multiple 모드)
|
|
90
|
-
*/
|
|
91
|
-
syncWithTargetSelectMultiple(values) {
|
|
92
|
-
if (this.targetSelect && this.targetSelect.multiple) {
|
|
93
|
-
// 모든 옵션 선택 해제
|
|
94
|
-
Array.from(this.targetSelect.options).forEach(option => {
|
|
95
|
-
option.selected = false;
|
|
96
|
-
});
|
|
97
|
-
// 선택된 값들에 해당하는 옵션들 선택
|
|
98
|
-
values.forEach(value => {
|
|
99
|
-
const resolved = this.resolveValue(value);
|
|
100
|
-
const option = this.targetSelect.querySelector(`option[value="${resolved}"]`);
|
|
101
|
-
if (option) {
|
|
102
|
-
option.selected = true;
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
const event = new Event('change', {
|
|
106
|
-
bubbles: true
|
|
107
|
-
});
|
|
108
|
-
this.targetSelect.dispatchEvent(event);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
// UnifiedBoxManager 위임 메서드들
|
|
112
|
-
getOptions() {
|
|
113
|
-
return this.unifiedSelectBox.getOptions();
|
|
114
|
-
}
|
|
115
|
-
updateOptions(newOptions) {
|
|
116
|
-
this.unifiedSelectBox.updateOptions(newOptions);
|
|
117
|
-
}
|
|
118
|
-
setDisabled(disabled) {
|
|
119
|
-
this.unifiedSelectBox.setDisabled(disabled);
|
|
120
|
-
}
|
|
121
|
-
open() {
|
|
122
|
-
this.unifiedSelectBox.open();
|
|
123
|
-
}
|
|
124
|
-
close() {
|
|
125
|
-
this.unifiedSelectBox.close();
|
|
126
|
-
}
|
|
127
|
-
focus() {
|
|
128
|
-
this.unifiedSelectBox.focus();
|
|
129
|
-
}
|
|
130
|
-
destroy() {
|
|
131
|
-
this.unifiedSelectBox.destroy();
|
|
132
|
-
}
|
|
133
|
-
selectAll() {
|
|
134
|
-
this.unifiedSelectBox.selectAll();
|
|
135
|
-
}
|
|
136
|
-
deselectAll() {
|
|
137
|
-
this.unifiedSelectBox.deselectAll();
|
|
138
|
-
}
|
|
139
|
-
isMultiple() {
|
|
140
|
-
return this.unifiedSelectBox.isMultiple();
|
|
141
|
-
}
|
|
142
|
-
toggleSelectAll() {
|
|
143
|
-
this.unifiedSelectBox.toggleSelectAll();
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
exports.BaseBox = BaseBox;
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ComboBox = void 0;
|
|
7
|
-
var _baseBox = require("./baseBox");
|
|
8
|
-
var _unifiedBoxManager = require("./utils/unifiedBox/unifiedBoxManager");
|
|
9
|
-
class ComboBox extends _baseBox.BaseBox {
|
|
10
|
-
get defaultPlaceholder() {
|
|
11
|
-
return '검색하고 선택하세요';
|
|
12
|
-
}
|
|
13
|
-
constructor(element) {
|
|
14
|
-
let config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
15
|
-
super(element);
|
|
16
|
-
// HTML에서 옵션 파싱 (config.options가 없을 경우)
|
|
17
|
-
const htmlOptions = this.parseOptionsFromHTML();
|
|
18
|
-
// JavaScript 옵션을 DropdownOption 형식으로 변환 (이제 구조가 동일하므로 단순 복사)
|
|
19
|
-
const normalizedOptions = config.options ? [...config.options] : htmlOptions;
|
|
20
|
-
const finalOptions = normalizedOptions;
|
|
21
|
-
// HTML에서 속성 파싱
|
|
22
|
-
const htmlAttributes = this.parseAttributesFromHTML();
|
|
23
|
-
// 기존 API를 새 API로 변환
|
|
24
|
-
const unifiedConfig = {
|
|
25
|
-
...config,
|
|
26
|
-
type: 'combobox',
|
|
27
|
-
multiple: config.multiple ?? false,
|
|
28
|
-
showFooterButtons: config.showFooterButtons ?? false,
|
|
29
|
-
onSelectAll: config.onSelectAll,
|
|
30
|
-
onSearchAll: config.onSearchAll,
|
|
31
|
-
onComplete: config.onComplete,
|
|
32
|
-
onScrollBottom: config.onScrollBottom,
|
|
33
|
-
searchDebounceMs: config.searchDebounceMs,
|
|
34
|
-
options: finalOptions,
|
|
35
|
-
placeholder: config.placeholder || htmlAttributes.placeholder || this.defaultPlaceholder,
|
|
36
|
-
value: config.value ?? htmlAttributes.value ?? (config.multiple ? [] : ''),
|
|
37
|
-
disabled: config.disabled ?? htmlAttributes.disabled ?? false,
|
|
38
|
-
size: config.size || htmlAttributes.size || 'md',
|
|
39
|
-
onChange: value => {
|
|
40
|
-
// 초기화 중에는 동기화하지 않음 (무한 루프 방지)
|
|
41
|
-
if (this.isInitializing) {
|
|
42
|
-
this.lastValue = value;
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
// 값이 실제로 변경되지 않았으면 동기화 생략 (무한 루프 방지)
|
|
46
|
-
if (JSON.stringify(this.lastValue) === JSON.stringify(value)) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
this.lastValue = value;
|
|
50
|
-
// 타겟 select와 동기화
|
|
51
|
-
if (config.multiple) {
|
|
52
|
-
this.syncWithTargetSelectMultiple(value);
|
|
53
|
-
} else {
|
|
54
|
-
this.syncWithTargetSelect(value);
|
|
55
|
-
}
|
|
56
|
-
config.onChange?.(value);
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
this.unifiedSelectBox = new _unifiedBoxManager.UnifiedBoxManager(element, unifiedConfig);
|
|
60
|
-
this.completeInitialization();
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* HTML select에서 옵션 파싱
|
|
64
|
-
*/
|
|
65
|
-
parseOptionsFromHTML() {
|
|
66
|
-
if (!this.targetSelect) return [];
|
|
67
|
-
const options = [];
|
|
68
|
-
const optionElements = this.targetSelect.querySelectorAll('option');
|
|
69
|
-
optionElements.forEach(optionElement => {
|
|
70
|
-
if (optionElement.value) {
|
|
71
|
-
// value가 있는 옵션만 추가
|
|
72
|
-
options.push({
|
|
73
|
-
id: optionElement.value,
|
|
74
|
-
label: optionElement.textContent || optionElement.value,
|
|
75
|
-
disabled: optionElement.disabled
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
});
|
|
79
|
-
return options;
|
|
80
|
-
}
|
|
81
|
-
// ComboBox 고유 API
|
|
82
|
-
getValues() {
|
|
83
|
-
return this.unifiedSelectBox.getValues();
|
|
84
|
-
}
|
|
85
|
-
setValues(value) {
|
|
86
|
-
// 옵션 객체 배열에서 id 배열로 변환하여 lastValue 비교
|
|
87
|
-
const ids = value.map(option => option.id);
|
|
88
|
-
const valueForComparison = this.unifiedSelectBox.isMultiple() ? ids : ids[0] || '';
|
|
89
|
-
// 값이 변경되지 않았으면 무시
|
|
90
|
-
if (JSON.stringify(this.lastValue) === JSON.stringify(valueForComparison)) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
this.lastValue = valueForComparison;
|
|
94
|
-
this.unifiedSelectBox.setValues(value);
|
|
95
|
-
// setValues 호출 시에도 타겟 select와 동기화
|
|
96
|
-
if (this.targetSelect) {
|
|
97
|
-
if (this.unifiedSelectBox.isMultiple()) {
|
|
98
|
-
this.syncWithTargetSelectMultiple(ids);
|
|
99
|
-
} else {
|
|
100
|
-
this.syncWithTargetSelect(ids[0] || '');
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
clearInput() {
|
|
105
|
-
// UnifiedBoxManager의 handleClearInput과 동일한 로직
|
|
106
|
-
this.unifiedSelectBox.close();
|
|
107
|
-
}
|
|
108
|
-
getDebugInfo() {
|
|
109
|
-
return this.unifiedSelectBox.getDebugInfo();
|
|
110
|
-
}
|
|
111
|
-
getSelectedCount() {
|
|
112
|
-
const value = this.getValues();
|
|
113
|
-
if (Array.isArray(value)) {
|
|
114
|
-
return value.length;
|
|
115
|
-
}
|
|
116
|
-
return value ? 1 : 0;
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* 드롭다운을 스크롤의 바닥으로 이동
|
|
120
|
-
*/
|
|
121
|
-
scrollToBottom() {
|
|
122
|
-
this.unifiedSelectBox.scrollToBottom();
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* 전체 선택 버튼의 텍스트를 외부에서 변경
|
|
126
|
-
*/
|
|
127
|
-
setSelectAllButtonText(text) {
|
|
128
|
-
this.unifiedSelectBox.setSelectAllButtonText(text);
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* 특정 인덱스의 옵션으로 포커스 이동
|
|
132
|
-
*/
|
|
133
|
-
setFocusIndex(index) {
|
|
134
|
-
this.unifiedSelectBox.setFocusIndex(index);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
exports.ComboBox = ComboBox;
|