@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,142 +0,0 @@
|
|
|
1
|
-
export interface DropdownOption {
|
|
2
|
-
id: string | number;
|
|
3
|
-
label: string;
|
|
4
|
-
disabled?: boolean;
|
|
5
|
-
originalValue?: string;
|
|
6
|
-
}
|
|
7
|
-
export interface DropdownState {
|
|
8
|
-
isOpen: boolean;
|
|
9
|
-
focusedIndex: number;
|
|
10
|
-
selectedValues: (string | number)[];
|
|
11
|
-
searchValue: string;
|
|
12
|
-
showAllItems: boolean;
|
|
13
|
-
options: DropdownOption[];
|
|
14
|
-
filteredOptions: DropdownOption[];
|
|
15
|
-
}
|
|
16
|
-
export interface StateChangeListener {
|
|
17
|
-
onStateChange(newState: DropdownState, changedFields: string[]): void;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* 드롭다운 상태 관리 모델
|
|
21
|
-
* Observer Pattern을 통한 상태 변경 알림
|
|
22
|
-
*/
|
|
23
|
-
export type FilterStrategy = (options: DropdownOption[], searchValue: string, showAllItems: boolean) => DropdownOption[];
|
|
24
|
-
export declare class DropdownModel {
|
|
25
|
-
private state;
|
|
26
|
-
private listeners;
|
|
27
|
-
protected multiple: boolean;
|
|
28
|
-
private filterStrategy;
|
|
29
|
-
constructor(initialOptions: DropdownOption[], multiple?: boolean, filterStrategy?: FilterStrategy);
|
|
30
|
-
/** SelectBox 기본 전략: 항상 모든 옵션 표시 */
|
|
31
|
-
static defaultFilterStrategy: FilterStrategy;
|
|
32
|
-
/** ComboBox 전략: 검색어/전체보기 기반 필터링 */
|
|
33
|
-
static comboBoxFilterStrategy: FilterStrategy;
|
|
34
|
-
/**
|
|
35
|
-
* 상태 변경 리스너 등록
|
|
36
|
-
*/
|
|
37
|
-
addListener(listener: StateChangeListener): void;
|
|
38
|
-
/**
|
|
39
|
-
* 상태 변경 리스너 제거
|
|
40
|
-
*/
|
|
41
|
-
removeListener(listener: StateChangeListener): void;
|
|
42
|
-
/**
|
|
43
|
-
* 상태 변경 알림
|
|
44
|
-
*/
|
|
45
|
-
private notifyListeners;
|
|
46
|
-
/**
|
|
47
|
-
* 드롭다운 열기/닫기
|
|
48
|
-
*/
|
|
49
|
-
setOpen(isOpen: boolean): void;
|
|
50
|
-
/**
|
|
51
|
-
* 포커스 인덱스 설정
|
|
52
|
-
*/
|
|
53
|
-
setFocusedIndex(index: number): void;
|
|
54
|
-
/**
|
|
55
|
-
* 검색어 설정 및 필터링
|
|
56
|
-
*/
|
|
57
|
-
setSearchValue(searchValue: string): void;
|
|
58
|
-
/**
|
|
59
|
-
* 전체 보기 토글
|
|
60
|
-
*/
|
|
61
|
-
setShowAllItems(showAll: boolean): void;
|
|
62
|
-
/**
|
|
63
|
-
* 선택된 값들을 직접 설정 (protected)
|
|
64
|
-
*/
|
|
65
|
-
protected setSelectedValues(values: (string | number)[]): void;
|
|
66
|
-
/**
|
|
67
|
-
* 옵션 선택/해제
|
|
68
|
-
*/
|
|
69
|
-
toggleOption(optionId: string | number): void;
|
|
70
|
-
/**
|
|
71
|
-
* 옵션 업데이트
|
|
72
|
-
*/
|
|
73
|
-
updateOptions(newOptions: DropdownOption[]): void;
|
|
74
|
-
/**
|
|
75
|
-
* 필터링된 옵션 업데이트
|
|
76
|
-
*/
|
|
77
|
-
private updateFilteredOptions;
|
|
78
|
-
/**
|
|
79
|
-
* 현재 상태 반환 (읽기 전용)
|
|
80
|
-
*/
|
|
81
|
-
getState(): Readonly<DropdownState>;
|
|
82
|
-
/**
|
|
83
|
-
* 다중 선택 모드 여부 반환
|
|
84
|
-
*/
|
|
85
|
-
isMultiple(): boolean;
|
|
86
|
-
/**
|
|
87
|
-
* 선택된 옵션들 반환
|
|
88
|
-
*/
|
|
89
|
-
getSelectedOptions(): DropdownOption[];
|
|
90
|
-
/**
|
|
91
|
-
* 옵션이 선택되었는지 확인
|
|
92
|
-
*/
|
|
93
|
-
isOptionSelected(optionId: string | number): boolean;
|
|
94
|
-
/**
|
|
95
|
-
* 상태 리셋
|
|
96
|
-
*/
|
|
97
|
-
reset(): void;
|
|
98
|
-
/**
|
|
99
|
-
* 전체 선택/해제 토글 (MultiSelectUtils에서 이동)
|
|
100
|
-
*/
|
|
101
|
-
toggleSelectAll(): void;
|
|
102
|
-
/**
|
|
103
|
-
* 전체 선택 버튼 텍스트 반환 (MultiSelectUtils에서 이동)
|
|
104
|
-
*/
|
|
105
|
-
getSelectAllButtonText(): string;
|
|
106
|
-
/**
|
|
107
|
-
* 모든 항목이 선택되었는지 확인 (MultiSelectUtils에서 이동)
|
|
108
|
-
*/
|
|
109
|
-
isAllItemsSelected(): boolean;
|
|
110
|
-
/**
|
|
111
|
-
* 검색 및 필터링 업데이트 (SearchFilterUtils에서 이동)
|
|
112
|
-
*/
|
|
113
|
-
updateSearchAndFilter(searchValue: string, showAllItems?: boolean): void;
|
|
114
|
-
/**
|
|
115
|
-
* 검색어만 업데이트 (필터링 없이, API 모드용)
|
|
116
|
-
*/
|
|
117
|
-
updateSearchValue(searchValue: string): void;
|
|
118
|
-
/**
|
|
119
|
-
* 드롭다운이 열릴 수 있는지 확인 (ComboBox용)
|
|
120
|
-
*/
|
|
121
|
-
canOpenDropdown(): boolean;
|
|
122
|
-
/**
|
|
123
|
-
* 검색 결과가 없는지 확인
|
|
124
|
-
*/
|
|
125
|
-
hasNoResults(): boolean;
|
|
126
|
-
/**
|
|
127
|
-
* 값 설정 (API 호환성)
|
|
128
|
-
*/
|
|
129
|
-
setValue(value: string | number | (string | number)[]): void;
|
|
130
|
-
/**
|
|
131
|
-
* 값 가져오기 (API 호환성)
|
|
132
|
-
*/
|
|
133
|
-
getValue(): string | number | (string | number)[];
|
|
134
|
-
/**
|
|
135
|
-
* 입력 초기화 (ComboBox용)
|
|
136
|
-
*/
|
|
137
|
-
clearInput(): void;
|
|
138
|
-
/**
|
|
139
|
-
* 디버그 정보 (개발용)
|
|
140
|
-
*/
|
|
141
|
-
getDebugInfo(): any;
|
|
142
|
-
}
|
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
class DropdownModel {
|
|
2
|
-
constructor(initialOptions, multiple = false, filterStrategy) {
|
|
3
|
-
this.listeners = [];
|
|
4
|
-
this.multiple = multiple;
|
|
5
|
-
this.filterStrategy = filterStrategy ?? DropdownModel.defaultFilterStrategy;
|
|
6
|
-
this.state = {
|
|
7
|
-
isOpen: false,
|
|
8
|
-
focusedIndex: -1,
|
|
9
|
-
selectedValues: [],
|
|
10
|
-
searchValue: '',
|
|
11
|
-
showAllItems: false,
|
|
12
|
-
options: [...initialOptions],
|
|
13
|
-
filteredOptions: this.filterStrategy([...initialOptions], '', false),
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* 상태 변경 리스너 등록
|
|
18
|
-
*/
|
|
19
|
-
addListener(listener) {
|
|
20
|
-
this.listeners.push(listener);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* 상태 변경 리스너 제거
|
|
24
|
-
*/
|
|
25
|
-
removeListener(listener) {
|
|
26
|
-
const index = this.listeners.indexOf(listener);
|
|
27
|
-
if (index > -1) {
|
|
28
|
-
this.listeners.splice(index, 1);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* 상태 변경 알림
|
|
33
|
-
*/
|
|
34
|
-
notifyListeners(changedFields) {
|
|
35
|
-
this.listeners.forEach((listener) => {
|
|
36
|
-
listener.onStateChange({ ...this.state }, changedFields);
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* 드롭다운 열기/닫기
|
|
41
|
-
*/
|
|
42
|
-
setOpen(isOpen) {
|
|
43
|
-
if (this.state.isOpen !== isOpen) {
|
|
44
|
-
this.state.isOpen = isOpen;
|
|
45
|
-
if (!isOpen) {
|
|
46
|
-
this.state.focusedIndex = -1;
|
|
47
|
-
this.state.showAllItems = false;
|
|
48
|
-
}
|
|
49
|
-
this.notifyListeners(['isOpen', 'focusedIndex', 'showAllItems']);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* 포커스 인덱스 설정
|
|
54
|
-
*/
|
|
55
|
-
setFocusedIndex(index) {
|
|
56
|
-
const maxIndex = this.state.filteredOptions.length - 1;
|
|
57
|
-
const clampedIndex = Math.max(-1, Math.min(index, maxIndex));
|
|
58
|
-
if (this.state.focusedIndex !== clampedIndex) {
|
|
59
|
-
this.state.focusedIndex = clampedIndex;
|
|
60
|
-
this.notifyListeners(['focusedIndex']);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* 검색어 설정 및 필터링
|
|
65
|
-
*/
|
|
66
|
-
setSearchValue(searchValue) {
|
|
67
|
-
if (this.state.searchValue !== searchValue) {
|
|
68
|
-
this.state.searchValue = searchValue;
|
|
69
|
-
this.updateFilteredOptions();
|
|
70
|
-
this.notifyListeners(['searchValue', 'filteredOptions']);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* 전체 보기 토글
|
|
75
|
-
*/
|
|
76
|
-
setShowAllItems(showAll) {
|
|
77
|
-
if (this.state.showAllItems !== showAll) {
|
|
78
|
-
this.state.showAllItems = showAll;
|
|
79
|
-
this.updateFilteredOptions();
|
|
80
|
-
this.notifyListeners(['showAllItems', 'filteredOptions']);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* 선택된 값들을 직접 설정 (protected)
|
|
85
|
-
*/
|
|
86
|
-
setSelectedValues(values) {
|
|
87
|
-
this.state.selectedValues = [...values];
|
|
88
|
-
this.notifyListeners(['selectedValues']);
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* 옵션 선택/해제
|
|
92
|
-
*/
|
|
93
|
-
toggleOption(optionId) {
|
|
94
|
-
const currentValues = [...this.state.selectedValues];
|
|
95
|
-
if (this.multiple) {
|
|
96
|
-
const index = currentValues.indexOf(optionId);
|
|
97
|
-
if (index > -1) {
|
|
98
|
-
currentValues.splice(index, 1);
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
currentValues.push(optionId);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
currentValues.length = 0;
|
|
106
|
-
currentValues.push(optionId);
|
|
107
|
-
}
|
|
108
|
-
this.state.selectedValues = currentValues;
|
|
109
|
-
this.notifyListeners(['selectedValues']);
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* 옵션 업데이트
|
|
113
|
-
*/
|
|
114
|
-
updateOptions(newOptions) {
|
|
115
|
-
// 현재 상태 저장
|
|
116
|
-
const wasOpen = this.state.isOpen;
|
|
117
|
-
const wasShowAllItems = this.state.showAllItems;
|
|
118
|
-
this.state.options = [...newOptions];
|
|
119
|
-
this.state.selectedValues = this.state.selectedValues.filter((value) => newOptions.some((opt) => opt.id === value));
|
|
120
|
-
// 드롭다운이 열려있었다면 상태 유지
|
|
121
|
-
if (wasOpen) {
|
|
122
|
-
this.state.isOpen = true;
|
|
123
|
-
this.state.showAllItems = wasShowAllItems;
|
|
124
|
-
}
|
|
125
|
-
this.updateFilteredOptions();
|
|
126
|
-
this.notifyListeners(['options', 'selectedValues', 'filteredOptions', 'isOpen', 'showAllItems']);
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* 필터링된 옵션 업데이트
|
|
130
|
-
*/
|
|
131
|
-
updateFilteredOptions() {
|
|
132
|
-
this.state.filteredOptions = this.filterStrategy(this.state.options, this.state.searchValue, this.state.showAllItems);
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* 현재 상태 반환 (읽기 전용)
|
|
136
|
-
*/
|
|
137
|
-
getState() {
|
|
138
|
-
return { ...this.state };
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* 다중 선택 모드 여부 반환
|
|
142
|
-
*/
|
|
143
|
-
isMultiple() {
|
|
144
|
-
return this.multiple;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* 선택된 옵션들 반환
|
|
148
|
-
*/
|
|
149
|
-
getSelectedOptions() {
|
|
150
|
-
return this.state.options.filter((opt) => this.state.selectedValues.includes(opt.id));
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* 옵션이 선택되었는지 확인
|
|
154
|
-
*/
|
|
155
|
-
isOptionSelected(optionId) {
|
|
156
|
-
return this.state.selectedValues.includes(optionId);
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* 상태 리셋
|
|
160
|
-
*/
|
|
161
|
-
reset() {
|
|
162
|
-
this.state.isOpen = false;
|
|
163
|
-
this.state.focusedIndex = -1;
|
|
164
|
-
this.state.selectedValues = [];
|
|
165
|
-
this.state.searchValue = '';
|
|
166
|
-
this.state.showAllItems = false;
|
|
167
|
-
this.state.filteredOptions = [];
|
|
168
|
-
this.notifyListeners([
|
|
169
|
-
'isOpen',
|
|
170
|
-
'focusedIndex',
|
|
171
|
-
'selectedValues',
|
|
172
|
-
'searchValue',
|
|
173
|
-
'showAllItems',
|
|
174
|
-
'filteredOptions',
|
|
175
|
-
]);
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* 전체 선택/해제 토글 (MultiSelectUtils에서 이동)
|
|
179
|
-
*/
|
|
180
|
-
toggleSelectAll() {
|
|
181
|
-
if (!this.multiple)
|
|
182
|
-
return;
|
|
183
|
-
const availableOptions = this.state.options.filter((opt) => !opt.disabled);
|
|
184
|
-
const allSelected = this.state.selectedValues.length === availableOptions.length;
|
|
185
|
-
let newValue;
|
|
186
|
-
if (allSelected) {
|
|
187
|
-
newValue = [];
|
|
188
|
-
}
|
|
189
|
-
else {
|
|
190
|
-
newValue = availableOptions.map((opt) => opt.id);
|
|
191
|
-
}
|
|
192
|
-
this.state.selectedValues = newValue;
|
|
193
|
-
this.notifyListeners(['selectedValues']);
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* 전체 선택 버튼 텍스트 반환 (MultiSelectUtils에서 이동)
|
|
197
|
-
*/
|
|
198
|
-
getSelectAllButtonText() {
|
|
199
|
-
if (!this.multiple)
|
|
200
|
-
return '전체 선택';
|
|
201
|
-
return this.isAllItemsSelected() ? '전체 해제' : '전체 선택';
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* 모든 항목이 선택되었는지 확인 (MultiSelectUtils에서 이동)
|
|
205
|
-
*/
|
|
206
|
-
isAllItemsSelected() {
|
|
207
|
-
if (!this.multiple)
|
|
208
|
-
return false;
|
|
209
|
-
const availableOptions = this.state.options.filter((opt) => !opt.disabled);
|
|
210
|
-
if (availableOptions.length === 0)
|
|
211
|
-
return false;
|
|
212
|
-
const availableIds = availableOptions.map((opt) => opt.id);
|
|
213
|
-
return availableIds.length > 0 && availableIds.every((id) => this.state.selectedValues.includes(id));
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* 검색 및 필터링 업데이트 (SearchFilterUtils에서 이동)
|
|
217
|
-
*/
|
|
218
|
-
updateSearchAndFilter(searchValue, showAllItems = false) {
|
|
219
|
-
this.state.searchValue = searchValue;
|
|
220
|
-
this.state.showAllItems = showAllItems;
|
|
221
|
-
this.updateFilteredOptions();
|
|
222
|
-
this.notifyListeners(['searchValue', 'filteredOptions', 'showAllItems']);
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* 검색어만 업데이트 (필터링 없이, API 모드용)
|
|
226
|
-
*/
|
|
227
|
-
updateSearchValue(searchValue) {
|
|
228
|
-
this.state.searchValue = searchValue;
|
|
229
|
-
this.notifyListeners(['searchValue']);
|
|
230
|
-
}
|
|
231
|
-
/**
|
|
232
|
-
* 드롭다운이 열릴 수 있는지 확인 (ComboBox용)
|
|
233
|
-
*/
|
|
234
|
-
canOpenDropdown() {
|
|
235
|
-
return this.state.showAllItems || this.state.searchValue.trim().length > 0;
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* 검색 결과가 없는지 확인
|
|
239
|
-
*/
|
|
240
|
-
hasNoResults() {
|
|
241
|
-
return this.state.filteredOptions.length === 0 && (this.state.showAllItems || Boolean(this.state.searchValue));
|
|
242
|
-
}
|
|
243
|
-
/**
|
|
244
|
-
* 값 설정 (API 호환성)
|
|
245
|
-
*/
|
|
246
|
-
setValue(value) {
|
|
247
|
-
const values = Array.isArray(value) ? value : [value];
|
|
248
|
-
this.setSelectedValues(values);
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* 값 가져오기 (API 호환성)
|
|
252
|
-
*/
|
|
253
|
-
getValue() {
|
|
254
|
-
return this.multiple ? this.state.selectedValues : this.state.selectedValues[0] || '';
|
|
255
|
-
}
|
|
256
|
-
/**
|
|
257
|
-
* 입력 초기화 (ComboBox용)
|
|
258
|
-
*/
|
|
259
|
-
clearInput() {
|
|
260
|
-
this.updateSearchAndFilter('');
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* 디버그 정보 (개발용)
|
|
264
|
-
*/
|
|
265
|
-
getDebugInfo() {
|
|
266
|
-
return {
|
|
267
|
-
state: this.state,
|
|
268
|
-
multiple: this.multiple,
|
|
269
|
-
listeners: this.listeners.length,
|
|
270
|
-
};
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
/** SelectBox 기본 전략: 항상 모든 옵션 표시 */
|
|
274
|
-
DropdownModel.defaultFilterStrategy = (options) => [...options];
|
|
275
|
-
/** ComboBox 전략: 검색어/전체보기 기반 필터링 */
|
|
276
|
-
DropdownModel.comboBoxFilterStrategy = (options, searchValue, showAllItems) => {
|
|
277
|
-
if (!showAllItems && !searchValue) {
|
|
278
|
-
return [];
|
|
279
|
-
}
|
|
280
|
-
if (searchValue) {
|
|
281
|
-
const searchLower = searchValue.toLowerCase();
|
|
282
|
-
return options.filter((option) => option.label.toLowerCase().includes(searchLower));
|
|
283
|
-
}
|
|
284
|
-
return [...options];
|
|
285
|
-
};
|
|
286
|
-
export { DropdownModel };
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { DOMRenderer, DropdownRenderConfig } from './domRenderer';
|
|
2
|
-
import { DropdownModel, DropdownState, StateChangeListener } from './dropdownModel';
|
|
3
|
-
export interface UnifiedBoxControllerConfig {
|
|
4
|
-
triggerElement: HTMLElement;
|
|
5
|
-
dropdownElement: HTMLElement;
|
|
6
|
-
model: DropdownModel;
|
|
7
|
-
renderer: DOMRenderer;
|
|
8
|
-
renderConfig: DropdownRenderConfig;
|
|
9
|
-
onOpen?: () => void;
|
|
10
|
-
onClose?: () => void;
|
|
11
|
-
onSelectionChange?: (selectedValues: (string | number)[]) => void;
|
|
12
|
-
onSearch?: (searchValue: string) => void;
|
|
13
|
-
onScrollBottom?: () => void;
|
|
14
|
-
disabled?: boolean;
|
|
15
|
-
canToggle?: () => boolean;
|
|
16
|
-
type?: 'selectbox' | 'combobox';
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* SelectBox 통합 컨트롤러
|
|
20
|
-
* 이벤트 처리, UI 상태 제어, 사용자 인터랙션 담당
|
|
21
|
-
*/
|
|
22
|
-
export declare class UnifiedBoxController implements StateChangeListener {
|
|
23
|
-
private config;
|
|
24
|
-
private isOpen;
|
|
25
|
-
private focusedIndex;
|
|
26
|
-
private isKeyboardNavigation;
|
|
27
|
-
private outsideClickHandler;
|
|
28
|
-
private keyDownHandler;
|
|
29
|
-
private scrollLockHandlers;
|
|
30
|
-
private optionElements;
|
|
31
|
-
private handlerMap;
|
|
32
|
-
private scrollPosition;
|
|
33
|
-
private mouseMoveHandlerAttached;
|
|
34
|
-
private lastFilteredOptionsCount;
|
|
35
|
-
private lastFilteredOptionsHash;
|
|
36
|
-
private scrollBottomHandler?;
|
|
37
|
-
private lastScrollBottomTime;
|
|
38
|
-
constructor(config: UnifiedBoxControllerConfig);
|
|
39
|
-
/**
|
|
40
|
-
* 상태 변경 리스너 (Observer Pattern)
|
|
41
|
-
*/
|
|
42
|
-
onStateChange(newState: DropdownState, changedFields: string[]): void;
|
|
43
|
-
/**
|
|
44
|
-
* 이벤트 핸들러 설정
|
|
45
|
-
*/
|
|
46
|
-
private setupEventHandlers;
|
|
47
|
-
/**
|
|
48
|
-
* 드롭다운 열기
|
|
49
|
-
*/
|
|
50
|
-
open(): void;
|
|
51
|
-
/**
|
|
52
|
-
* 드롭다운 닫기
|
|
53
|
-
*/
|
|
54
|
-
close(): void;
|
|
55
|
-
/**
|
|
56
|
-
* 드롭다운 토글
|
|
57
|
-
*/
|
|
58
|
-
toggle(): void;
|
|
59
|
-
/**
|
|
60
|
-
* 키보드 입력 처리
|
|
61
|
-
*/
|
|
62
|
-
private handleKeyDown;
|
|
63
|
-
/**
|
|
64
|
-
* 옵션 검색
|
|
65
|
-
*/
|
|
66
|
-
private searchOption;
|
|
67
|
-
/**
|
|
68
|
-
* 드롭다운 표시/숨김 업데이트
|
|
69
|
-
*/
|
|
70
|
-
private updateDropdownVisibility;
|
|
71
|
-
/**
|
|
72
|
-
* 옵션 표시 업데이트
|
|
73
|
-
*/
|
|
74
|
-
private updateOptionsDisplay;
|
|
75
|
-
/**
|
|
76
|
-
* 포커스된 옵션 업데이트
|
|
77
|
-
*/
|
|
78
|
-
private updateFocusedOption;
|
|
79
|
-
/**
|
|
80
|
-
* 옵션 클릭 이벤트 핸들러 등록
|
|
81
|
-
*/
|
|
82
|
-
private attachOptionEventHandlers;
|
|
83
|
-
/**
|
|
84
|
-
* 옵션 이벤트 핸들러 제거
|
|
85
|
-
*/
|
|
86
|
-
private removeOptionEventHandlers;
|
|
87
|
-
/**
|
|
88
|
-
* 옵션 업데이트가 필요한지 판단
|
|
89
|
-
*/
|
|
90
|
-
private shouldUpdateOptions;
|
|
91
|
-
/**
|
|
92
|
-
* 외부 클릭 감지 활성화
|
|
93
|
-
*/
|
|
94
|
-
private enableOutsideClick;
|
|
95
|
-
/**
|
|
96
|
-
* 외부 클릭 감지 비활성화
|
|
97
|
-
*/
|
|
98
|
-
private disableOutsideClick;
|
|
99
|
-
/**
|
|
100
|
-
* 스크롤 잠금 활성화 (드롭다운 내부 스크롤은 허용)
|
|
101
|
-
* ComboBox 또는 multiple 모드에서는 스크롤 잠금 비활성화
|
|
102
|
-
*/
|
|
103
|
-
private enableScrollLock;
|
|
104
|
-
/**
|
|
105
|
-
* 스크롤 가능한 부모 요소 찾기
|
|
106
|
-
*/
|
|
107
|
-
private findScrollableParent;
|
|
108
|
-
/**
|
|
109
|
-
* 스크롤 잠금 해제
|
|
110
|
-
*/
|
|
111
|
-
private disableScrollLock;
|
|
112
|
-
/**
|
|
113
|
-
* 마우스 호버 처리 (외부에서 호출용)
|
|
114
|
-
*/
|
|
115
|
-
handleMouseHover(index: number): void;
|
|
116
|
-
/**
|
|
117
|
-
* 옵션 배열 업데이트
|
|
118
|
-
*/
|
|
119
|
-
updateOptions(options: any[]): void;
|
|
120
|
-
getIsOpen(): boolean;
|
|
121
|
-
setFocus(index: number): void;
|
|
122
|
-
getFocusedIndex(): number;
|
|
123
|
-
/**
|
|
124
|
-
* 드롭다운 위치 조정 (화면 크기에 따라 up/down 방향 결정)
|
|
125
|
-
* 단일 선택 모드에서만 적용
|
|
126
|
-
*/
|
|
127
|
-
private adjustDropdownPosition;
|
|
128
|
-
/**
|
|
129
|
-
* 드롭다운 위치 계산 (React dropdownUtils.ts 로직 참고)
|
|
130
|
-
*/
|
|
131
|
-
private calculateDropdownPosition;
|
|
132
|
-
/**
|
|
133
|
-
* 드롭다운 예상 높이 계산
|
|
134
|
-
*/
|
|
135
|
-
private estimateDropdownHeight;
|
|
136
|
-
/**
|
|
137
|
-
* 드롭다운 세부 위치 조정 (뷰포트 경계 처리)
|
|
138
|
-
*/
|
|
139
|
-
private adjustDropdownPositionDetails;
|
|
140
|
-
/**
|
|
141
|
-
* 스크롤 바닥 감지 활성화
|
|
142
|
-
*/
|
|
143
|
-
private enableScrollBottomDetection;
|
|
144
|
-
/**
|
|
145
|
-
* 스크롤 바닥 감지 비활성화
|
|
146
|
-
*/
|
|
147
|
-
private disableScrollBottomDetection;
|
|
148
|
-
/**
|
|
149
|
-
* disabled 상태 설정
|
|
150
|
-
*/
|
|
151
|
-
setDisabled(disabled: boolean): void;
|
|
152
|
-
/**
|
|
153
|
-
* 정리
|
|
154
|
-
*/
|
|
155
|
-
destroy(): void;
|
|
156
|
-
}
|