@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,25 +0,0 @@
|
|
|
1
|
-
import type { NotificationColor } from './types';
|
|
2
|
-
export declare const SVG_ICONS: {
|
|
3
|
-
readonly 'pin-02': (size: string) => string;
|
|
4
|
-
readonly 'alert-triangle': (size: string) => string;
|
|
5
|
-
readonly 'alert-circle': (size: string) => string;
|
|
6
|
-
readonly 'check-circle': (size: string) => string;
|
|
7
|
-
readonly 'info-circle': (size: string) => string;
|
|
8
|
-
readonly 'message-chat-square': (size: string) => string;
|
|
9
|
-
readonly 'x-close': (size: string) => string;
|
|
10
|
-
};
|
|
11
|
-
export declare const FLOATING_ICON_MAP: Partial<Record<NotificationColor, (size: string) => string>>;
|
|
12
|
-
export declare const FULL_WIDTH_ICON_MAP: {
|
|
13
|
-
readonly neutral: (size: string) => string;
|
|
14
|
-
readonly error: (size: string) => string;
|
|
15
|
-
readonly warning: (size: string) => string;
|
|
16
|
-
readonly success: (size: string) => string;
|
|
17
|
-
readonly info: (size: string) => string;
|
|
18
|
-
};
|
|
19
|
-
export declare const ICON_MAP: {
|
|
20
|
-
readonly neutral: (size: string) => string;
|
|
21
|
-
readonly error: (size: string) => string;
|
|
22
|
-
readonly warning: (size: string) => string;
|
|
23
|
-
readonly success: (size: string) => string;
|
|
24
|
-
readonly info: (size: string) => string;
|
|
25
|
-
};
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// SVG 아이콘들 (크기는 동적으로 설정)
|
|
2
|
-
export const SVG_ICONS = {
|
|
3
|
-
'pin-02': (size) => `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" fill="none" viewBox="0 0 24 24" stroke="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8.377 15.616 2.72 21.273m8.974-14.631-1.56 1.56a2 2 0 0 1-.264.242 1 1 0 0 1-.207.111c-.082.032-.17.05-.347.085l-3.665.733c-.952.19-1.428.286-1.65.537a1 1 0 0 0-.243.8c.046.333.39.677 1.076 1.363l7.086 7.086c.686.687 1.03 1.03 1.362 1.076a1 1 0 0 0 .801-.242c.251-.223.346-.7.537-1.651l.733-3.665c.035-.176.053-.265.085-.347a1 1 0 0 1 .11-.207c.051-.072.115-.136.242-.263l1.561-1.561c.082-.082.122-.122.167-.158q.06-.047.126-.085c.05-.029.103-.051.208-.097l2.495-1.069c.727-.312 1.091-.467 1.256-.72a1 1 0 0 0 .144-.747c-.06-.295-.34-.575-.9-1.135l-5.142-5.143c-.56-.56-.84-.84-1.135-.9a1 1 0 0 0-.748.145c-.252.165-.407.529-.72 1.256l-1.068 2.495a2 2 0 0 1-.097.208 1 1 0 0 1-.085.126 2 2 0 0 1-.158.167"></path></svg>`,
|
|
4
|
-
'alert-triangle': (size) => `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" fill="none" viewBox="0 0 24 24" stroke="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v4m0 4h.01M10.615 3.892 2.39 18.098c-.456.788-.684 1.182-.65 1.506a1 1 0 0 0 .406.705c.263.191.718.191 1.629.191h16.45c.91 0 1.365 0 1.628-.191a1 1 0 0 0 .407-.705c.034-.324-.195-.718-.65-1.506L13.383 3.892c-.454-.785-.681-1.178-.978-1.31a1 1 0 0 0-.812 0c-.297.132-.524.525-.979 1.31"></path></svg>`,
|
|
5
|
-
'alert-circle': (size) => `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" fill="none" viewBox="0 0 24 24" stroke="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4m0 4h.01M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10"></path></svg>`,
|
|
6
|
-
'check-circle': (size) => `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" fill="none" viewBox="0 0 24 24" stroke="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m7.5 12 3 3 6-6m5.5 3c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10"></path></svg>`,
|
|
7
|
-
'info-circle': (size) => `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" fill="none" viewBox="0 0 24 24" stroke="none" color="#5720B7" class="ncua-full-width-notification__icon"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 16v-4m0-4h.01M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10"></path></svg>`,
|
|
8
|
-
'message-chat-square': (size) => `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" fill="none" viewBox="0 0 24 24" stroke="none" color="#0C111D" class="ncua-full-width-notification__icon"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m10 15-3.075 3.114c-.43.434-.644.651-.828.666a.5.5 0 0 1-.421-.172c-.12-.14-.12-.446-.12-1.056v-1.56c0-.548-.449-.944-.99-1.024v0a3 3 0 0 1-2.534-2.533C2 12.219 2 11.96 2 11.445V6.8c0-1.68 0-2.52.327-3.162a3 3 0 0 1 1.311-1.311C4.28 2 5.12 2 6.8 2h7.4c1.68 0 2.52 0 3.162.327a3 3 0 0 1 1.311 1.311C19 4.28 19 5.12 19 6.8V11m0 11-2.176-1.513c-.306-.213-.46-.32-.626-.395a2 2 0 0 0-.462-.145c-.18-.033-.367-.033-.74-.033H13.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C10 18.394 10 17.834 10 16.714V14.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C11.52 11 12.08 11 13.2 11h5.6c1.12 0 1.68 0 2.108.218a2 2 0 0 1 .874.874C22 12.52 22 13.08 22 14.2v2.714c0 .932 0 1.398-.152 1.766a2 2 0 0 1-1.083 1.082c-.367.152-.833.152-1.765.152z"></path></svg>`,
|
|
9
|
-
'x-close': (size) => `<svg xmlns="http://www.w3.org/2000/svg" width="${size}" height="${size}" fill="none" viewBox="0 0 24 24" stroke="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18 6 6 18M6 6l12 12"></path></svg>`,
|
|
10
|
-
};
|
|
11
|
-
export const FLOATING_ICON_MAP = {
|
|
12
|
-
neutral: SVG_ICONS['pin-02'],
|
|
13
|
-
error: SVG_ICONS['alert-triangle'],
|
|
14
|
-
warning: SVG_ICONS['alert-circle'],
|
|
15
|
-
success: SVG_ICONS['check-circle'],
|
|
16
|
-
// info는 floating에서는 지원하지 않음
|
|
17
|
-
};
|
|
18
|
-
export const FULL_WIDTH_ICON_MAP = {
|
|
19
|
-
neutral: SVG_ICONS['message-chat-square'],
|
|
20
|
-
error: SVG_ICONS['alert-triangle'],
|
|
21
|
-
warning: SVG_ICONS['alert-triangle'],
|
|
22
|
-
success: SVG_ICONS['check-circle'],
|
|
23
|
-
info: SVG_ICONS['info-circle'],
|
|
24
|
-
};
|
|
25
|
-
export const ICON_MAP = FULL_WIDTH_ICON_MAP;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export type { NotificationColor, NotificationHierarchy, NotificationAction, BaseNotificationOptions } from './types';
|
|
2
|
-
export { SVG_ICONS, FLOATING_ICON_MAP, FULL_WIDTH_ICON_MAP, ICON_MAP } from './icons';
|
|
3
|
-
export { CLASS_NAMES } from './classNames';
|
|
4
|
-
export { FEATURED_ICON_SIZES, ICON_PIXEL_SIZES, CLOSE_BUTTON_SIZES, CLOSE_BUTTON_SVG_SIZES, FULL_WIDTH_SIZES, MESSAGE_SIZES, getSizes, } from './sizes';
|
|
5
|
-
export { MESSAGE_CLOSE_ICON_COLORS } from './types';
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export { SVG_ICONS, FLOATING_ICON_MAP, FULL_WIDTH_ICON_MAP, ICON_MAP } from './icons';
|
|
2
|
-
export { CLASS_NAMES } from './classNames';
|
|
3
|
-
export { FEATURED_ICON_SIZES, ICON_PIXEL_SIZES, CLOSE_BUTTON_SIZES, CLOSE_BUTTON_SVG_SIZES, FULL_WIDTH_SIZES, MESSAGE_SIZES, getSizes, } from './sizes';
|
|
4
|
-
export { MESSAGE_CLOSE_ICON_COLORS } from './types';
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
export declare const FEATURED_ICON_SIZES: {
|
|
2
|
-
readonly MOBILE: "md";
|
|
3
|
-
readonly DESKTOP: "sm";
|
|
4
|
-
};
|
|
5
|
-
export declare const ICON_PIXEL_SIZES: {
|
|
6
|
-
readonly MOBILE: "20";
|
|
7
|
-
readonly DESKTOP: "16";
|
|
8
|
-
readonly FULL_WIDTH: "16";
|
|
9
|
-
};
|
|
10
|
-
export declare const CLOSE_BUTTON_SIZES: {
|
|
11
|
-
readonly MOBILE: "sm";
|
|
12
|
-
readonly DESKTOP: "xs";
|
|
13
|
-
};
|
|
14
|
-
export declare const CLOSE_BUTTON_SVG_SIZES: {
|
|
15
|
-
readonly xs: 16;
|
|
16
|
-
readonly sm: 20;
|
|
17
|
-
};
|
|
18
|
-
export declare const FULL_WIDTH_SIZES: {
|
|
19
|
-
readonly ICON: "16";
|
|
20
|
-
readonly CLOSE_BUTTON: "20";
|
|
21
|
-
};
|
|
22
|
-
export declare const MESSAGE_SIZES: {
|
|
23
|
-
readonly FEATURED_ICON: "lg";
|
|
24
|
-
readonly ICON_PIXEL: "24";
|
|
25
|
-
readonly CLOSE_BUTTON: "20";
|
|
26
|
-
};
|
|
27
|
-
export declare const getSizes: {
|
|
28
|
-
readonly featuredIcon: (isMobile: boolean) => "sm" | "md";
|
|
29
|
-
readonly iconPixel: (isMobile: boolean) => "16" | "20";
|
|
30
|
-
readonly closeButton: (isMobile: boolean) => "xs" | "sm";
|
|
31
|
-
readonly closeButtonSvg: (size: keyof typeof CLOSE_BUTTON_SVG_SIZES) => 16 | 20;
|
|
32
|
-
};
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
// 알림 컴포넌트 사이즈 관련 상수들
|
|
2
|
-
// FeaturedIcon 사이즈
|
|
3
|
-
export const FEATURED_ICON_SIZES = {
|
|
4
|
-
MOBILE: 'md',
|
|
5
|
-
DESKTOP: 'sm',
|
|
6
|
-
};
|
|
7
|
-
// SVG 아이콘 픽셀 사이즈
|
|
8
|
-
export const ICON_PIXEL_SIZES = {
|
|
9
|
-
MOBILE: '20',
|
|
10
|
-
DESKTOP: '16',
|
|
11
|
-
FULL_WIDTH: '16', // Full-width는 항상 고정
|
|
12
|
-
};
|
|
13
|
-
// 닫기 버튼 사이즈
|
|
14
|
-
export const CLOSE_BUTTON_SIZES = {
|
|
15
|
-
MOBILE: 'sm',
|
|
16
|
-
DESKTOP: 'xs',
|
|
17
|
-
};
|
|
18
|
-
// 닫기 버튼 SVG 픽셀 사이즈
|
|
19
|
-
export const CLOSE_BUTTON_SVG_SIZES = {
|
|
20
|
-
xs: 16,
|
|
21
|
-
sm: 20,
|
|
22
|
-
};
|
|
23
|
-
// Full-width 알림 고정 사이즈
|
|
24
|
-
export const FULL_WIDTH_SIZES = {
|
|
25
|
-
ICON: '16',
|
|
26
|
-
CLOSE_BUTTON: '20',
|
|
27
|
-
};
|
|
28
|
-
// Message 알림 고정 사이즈
|
|
29
|
-
export const MESSAGE_SIZES = {
|
|
30
|
-
FEATURED_ICON: 'lg',
|
|
31
|
-
ICON_PIXEL: '24',
|
|
32
|
-
CLOSE_BUTTON: '20',
|
|
33
|
-
};
|
|
34
|
-
// 사이즈 유틸리티 함수들
|
|
35
|
-
export const getSizes = {
|
|
36
|
-
featuredIcon: (isMobile) => (isMobile ? FEATURED_ICON_SIZES.MOBILE : FEATURED_ICON_SIZES.DESKTOP),
|
|
37
|
-
iconPixel: (isMobile) => (isMobile ? ICON_PIXEL_SIZES.MOBILE : ICON_PIXEL_SIZES.DESKTOP),
|
|
38
|
-
closeButton: (isMobile) => (isMobile ? CLOSE_BUTTON_SIZES.MOBILE : CLOSE_BUTTON_SIZES.DESKTOP),
|
|
39
|
-
closeButtonSvg: (size) => CLOSE_BUTTON_SVG_SIZES[size],
|
|
40
|
-
};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export type NotificationColor = 'neutral' | 'error' | 'warning' | 'success' | 'info';
|
|
2
|
-
export type NotificationHierarchy = 'link' | 'link-gray';
|
|
3
|
-
export interface NotificationAction {
|
|
4
|
-
label: string;
|
|
5
|
-
onClick: () => void;
|
|
6
|
-
hierarchy?: NotificationHierarchy;
|
|
7
|
-
}
|
|
8
|
-
export interface BaseNotificationOptions {
|
|
9
|
-
title: string;
|
|
10
|
-
supportingText?: string;
|
|
11
|
-
color?: NotificationColor;
|
|
12
|
-
onClose?: () => void;
|
|
13
|
-
className?: string;
|
|
14
|
-
actions?: NotificationAction[];
|
|
15
|
-
autoClose?: number;
|
|
16
|
-
supportTextLink?: string;
|
|
17
|
-
onHidePermanently?: () => void;
|
|
18
|
-
}
|
|
19
|
-
export declare const MESSAGE_CLOSE_ICON_COLORS: Record<NotificationColor, string>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { Notification, type NotificationOptions } from './Notification';
|
|
2
|
-
export { FullWidthNotification, type FullWidthNotificationOptions } from './FullWidthNotification';
|
|
3
|
-
export { FloatingNotification, type FloatingNotificationOptions } from './FloatingNotification';
|
|
4
|
-
export { MessageNotification, type MessageNotificationOptions } from './MessageNotification';
|
|
5
|
-
export * from './utils';
|
|
6
|
-
export type { NotificationColor, NotificationHierarchy, NotificationAction, BaseNotificationOptions } from './const';
|
|
7
|
-
export { SVG_ICONS, CLASS_NAMES, ICON_MAP, FLOATING_ICON_MAP, FULL_WIDTH_ICON_MAP } from './const';
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export { Notification } from './Notification';
|
|
2
|
-
export { FullWidthNotification } from './FullWidthNotification';
|
|
3
|
-
export { FloatingNotification } from './FloatingNotification';
|
|
4
|
-
export { MessageNotification } from './MessageNotification';
|
|
5
|
-
export * from './utils';
|
|
6
|
-
export { SVG_ICONS, CLASS_NAMES, ICON_MAP, FLOATING_ICON_MAP, FULL_WIDTH_ICON_MAP } from './const';
|
|
7
|
-
// 전역 등록 ( 추후 index.ts와 개별동작 할 수 있게끔 대비 )
|
|
8
|
-
if (typeof window !== 'undefined') {
|
|
9
|
-
window.ncua = window.ncua || {};
|
|
10
|
-
window.ncua.Notification = Notification;
|
|
11
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { NotificationColor, NotificationAction } from './const';
|
|
2
|
-
export declare function createWrapperElement(baseClass: string, color: NotificationColor, className?: string): HTMLElement;
|
|
3
|
-
export declare function buildClassName(baseClass: string, color: NotificationColor, className?: string): string;
|
|
4
|
-
export declare function renderSupportingText(supportingText?: string, className?: string, supportTextLink?: string): string;
|
|
5
|
-
export declare function renderActions(actions: NotificationAction[], wrapperClass: string): string;
|
|
6
|
-
export declare function bindNotificationEvents(element: HTMLElement, actions: NotificationAction[], onClose?: () => void, onRemove?: () => void): void;
|
|
7
|
-
export declare function setupAutoClose(autoClose: number, onClose?: () => void, onRemove?: () => void): number | undefined;
|
|
8
|
-
export declare const isMobile: () => boolean;
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { CLASS_NAMES } from './const';
|
|
2
|
-
import { BREAKPOINT } from '../../../src/constant/breakpoint';
|
|
3
|
-
// 공통 유틸리티 함수들
|
|
4
|
-
export function createWrapperElement(baseClass, color, className) {
|
|
5
|
-
const wrapper = document.createElement('div');
|
|
6
|
-
wrapper.className = buildClassName(baseClass, color, className);
|
|
7
|
-
wrapper.setAttribute('role', 'alert');
|
|
8
|
-
return wrapper;
|
|
9
|
-
}
|
|
10
|
-
export function buildClassName(baseClass, color, className) {
|
|
11
|
-
const classes = [baseClass, `${baseClass}--${color}`];
|
|
12
|
-
if (className) {
|
|
13
|
-
classes.push(className);
|
|
14
|
-
}
|
|
15
|
-
return classes.join(' ');
|
|
16
|
-
}
|
|
17
|
-
export function renderSupportingText(supportingText, className, supportTextLink) {
|
|
18
|
-
if (!supportingText)
|
|
19
|
-
return '';
|
|
20
|
-
if (supportTextLink) {
|
|
21
|
-
return `<a href="${supportTextLink}" class="ncua-full-width-notification__link"><span class="${className}">${supportingText}</span></a>`;
|
|
22
|
-
}
|
|
23
|
-
return `<span class="${className}">${supportingText}</span>`;
|
|
24
|
-
}
|
|
25
|
-
export function renderActions(actions, wrapperClass) {
|
|
26
|
-
// 액션이 없으면 빈 문자열 반환
|
|
27
|
-
if (!actions || actions.length === 0) {
|
|
28
|
-
return '';
|
|
29
|
-
}
|
|
30
|
-
const buttonsHtml = actions
|
|
31
|
-
.map((action) => {
|
|
32
|
-
const buttonHtml = `
|
|
33
|
-
<button
|
|
34
|
-
class="ncua-btn ncua-btn--sm ncua-btn--${action.hierarchy || 'text'}"
|
|
35
|
-
data-action="${action.label}-${action.hierarchy}"
|
|
36
|
-
>
|
|
37
|
-
${action.label}
|
|
38
|
-
</button>`;
|
|
39
|
-
return buttonHtml;
|
|
40
|
-
})
|
|
41
|
-
.join('');
|
|
42
|
-
return `<div class="${wrapperClass}">${buttonsHtml}</div>`;
|
|
43
|
-
}
|
|
44
|
-
// 공통 이벤트 처리
|
|
45
|
-
export function bindNotificationEvents(element, actions, onClose, onRemove) {
|
|
46
|
-
element.addEventListener('click', (event) => {
|
|
47
|
-
const target = event.target;
|
|
48
|
-
// 닫기 버튼 클릭 처리
|
|
49
|
-
if (target.matches(`.${CLASS_NAMES.FULL_WIDTH.CLOSE_BUTTON}, .${CLASS_NAMES.FLOATING.CLOSE_BUTTON}`) ||
|
|
50
|
-
target.closest(`.${CLASS_NAMES.FULL_WIDTH.CLOSE_BUTTON}, .${CLASS_NAMES.FLOATING.CLOSE_BUTTON}`) ||
|
|
51
|
-
target.closest(`.${CLASS_NAMES.MESSAGE.CLOSE_BUTTON}`)) {
|
|
52
|
-
onClose?.();
|
|
53
|
-
onRemove?.();
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
// 액션 버튼 클릭 처리
|
|
57
|
-
const actionButton = target.closest('.ncua-btn[data-action]');
|
|
58
|
-
if (actionButton && actions) {
|
|
59
|
-
const actionData = actionButton.getAttribute('data-action');
|
|
60
|
-
if (actionData) {
|
|
61
|
-
let matchedAction = null;
|
|
62
|
-
for (const action of actions) {
|
|
63
|
-
const expectedDataAction = `${action.label}-${action.hierarchy || 'link'}`;
|
|
64
|
-
if (actionData === expectedDataAction) {
|
|
65
|
-
matchedAction = action;
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (matchedAction?.onClick) {
|
|
70
|
-
matchedAction.onClick();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
// 자동 닫기 설정
|
|
77
|
-
export function setupAutoClose(autoClose, onClose, onRemove) {
|
|
78
|
-
if (autoClose > 0) {
|
|
79
|
-
return window.setTimeout(() => {
|
|
80
|
-
onClose?.();
|
|
81
|
-
onRemove?.();
|
|
82
|
-
}, autoClose);
|
|
83
|
-
}
|
|
84
|
-
return undefined;
|
|
85
|
-
}
|
|
86
|
-
// Mobile detection utility
|
|
87
|
-
export const isMobile = () => {
|
|
88
|
-
return window.innerWidth <= parseInt(BREAKPOINT.mobile);
|
|
89
|
-
};
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ProgressBar 클래스
|
|
3
|
-
* 프로그레스 바를 생성하고 관리하는 역할을 합니다.
|
|
4
|
-
*/
|
|
5
|
-
export type ProgressLabel = 'right' | 'bottom' | 'top-float' | 'bottom-float';
|
|
6
|
-
export interface ProgressSegment {
|
|
7
|
-
value: number;
|
|
8
|
-
color?: string;
|
|
9
|
-
}
|
|
10
|
-
export interface ProcessedSegment extends ProgressSegment {
|
|
11
|
-
width: number;
|
|
12
|
-
}
|
|
13
|
-
export interface ProgressBarOptions {
|
|
14
|
-
label?: ProgressLabel;
|
|
15
|
-
value?: number;
|
|
16
|
-
segments?: ProgressSegment[];
|
|
17
|
-
showZeroLabel?: boolean;
|
|
18
|
-
valueToPercent?: boolean;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* ProgressBar 클래스
|
|
22
|
-
*/
|
|
23
|
-
export declare class ProgressBar {
|
|
24
|
-
private options;
|
|
25
|
-
private element;
|
|
26
|
-
constructor(options?: ProgressBarOptions);
|
|
27
|
-
/**
|
|
28
|
-
* segments 처리 로직
|
|
29
|
-
*/
|
|
30
|
-
private processSegments;
|
|
31
|
-
/**
|
|
32
|
-
* 단일 라벨 HTML 생성
|
|
33
|
-
*/
|
|
34
|
-
private renderSingleLabel;
|
|
35
|
-
/**
|
|
36
|
-
* segments 라벨 HTML 생성
|
|
37
|
-
*/
|
|
38
|
-
private renderSegmentLabels;
|
|
39
|
-
/**
|
|
40
|
-
* segment bar HTML 생성
|
|
41
|
-
*/
|
|
42
|
-
private renderSegmentBar;
|
|
43
|
-
/**
|
|
44
|
-
* HTML 문자열 생성
|
|
45
|
-
*/
|
|
46
|
-
toHTML(): string;
|
|
47
|
-
/**
|
|
48
|
-
* DOM 요소 생성
|
|
49
|
-
*/
|
|
50
|
-
toElement(): HTMLElement;
|
|
51
|
-
/**
|
|
52
|
-
* 요소 반환
|
|
53
|
-
*/
|
|
54
|
-
getElement(): HTMLElement | null;
|
|
55
|
-
/**
|
|
56
|
-
* 옵션 업데이트
|
|
57
|
-
*/
|
|
58
|
-
updateOptions(newOptions: Partial<ProgressBarOptions>): void;
|
|
59
|
-
/**
|
|
60
|
-
* Static factory method
|
|
61
|
-
*/
|
|
62
|
-
static create(options?: ProgressBarOptions): ProgressBar;
|
|
63
|
-
/**
|
|
64
|
-
* Static method: HTML 문자열 생성
|
|
65
|
-
*/
|
|
66
|
-
static toHTML(options: ProgressBarOptions): string;
|
|
67
|
-
}
|
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ProgressBar 클래스
|
|
3
|
-
* 프로그레스 바를 생성하고 관리하는 역할을 합니다.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* 값을 0-100 범위로 제한
|
|
7
|
-
*/
|
|
8
|
-
function clampValue(value) {
|
|
9
|
-
return Math.min(Math.max(0, value), 100);
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* 색상 이름을 fill 색상 클래스명으로 변환
|
|
13
|
-
*/
|
|
14
|
-
function getFillColorClass(color) {
|
|
15
|
-
if (!color)
|
|
16
|
-
return '';
|
|
17
|
-
const normalizedColor = color.toLowerCase().trim();
|
|
18
|
-
return `ncua-progress-bar__fill--color-${normalizedColor}`;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* 색상 이름을 label 색상 클래스명으로 변환
|
|
22
|
-
*/
|
|
23
|
-
function getLabelColorClass(color) {
|
|
24
|
-
if (!color)
|
|
25
|
-
return '';
|
|
26
|
-
const normalizedColor = color.toLowerCase().trim();
|
|
27
|
-
return `ncua-progress-bar__label--color-${normalizedColor}`;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* ProgressBar 클래스
|
|
31
|
-
*/
|
|
32
|
-
export class ProgressBar {
|
|
33
|
-
constructor(options = {}) {
|
|
34
|
-
this.element = null;
|
|
35
|
-
this.options = {
|
|
36
|
-
showZeroLabel: false,
|
|
37
|
-
valueToPercent: true,
|
|
38
|
-
...options,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* segments 처리 로직
|
|
43
|
-
*/
|
|
44
|
-
processSegments() {
|
|
45
|
-
const { segments, label, valueToPercent } = this.options;
|
|
46
|
-
const hasSegments = Boolean(segments && segments.length > 0);
|
|
47
|
-
const segmentCount = segments?.length ?? 0;
|
|
48
|
-
if (hasSegments) {
|
|
49
|
-
// segment가 2개 이상일 때만 valueToPercent 적용 (기본값: true)
|
|
50
|
-
const shouldApplyValueToPercent = segmentCount >= 2 && valueToPercent !== false;
|
|
51
|
-
let segmentsToProcess = segments;
|
|
52
|
-
// valueToPercent 적용: segments의 합계를 100%로 규정하고 비율로 계산
|
|
53
|
-
if (shouldApplyValueToPercent) {
|
|
54
|
-
// 원본 값들의 합계 계산
|
|
55
|
-
const originalTotal = segmentsToProcess.reduce((sum, seg) => sum + seg.value, 0);
|
|
56
|
-
if (originalTotal > 0) {
|
|
57
|
-
// 각 segment를 합계 대비 비율로 변환 (합계를 100%로 규정)
|
|
58
|
-
segmentsToProcess = segmentsToProcess.map((segment) => ({
|
|
59
|
-
value: (segment.value / originalTotal) * 100,
|
|
60
|
-
color: segment.color,
|
|
61
|
-
}));
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
// 각 값 제한 (0-100 범위)
|
|
65
|
-
const limitedSegments = segmentsToProcess.map((segment) => ({
|
|
66
|
-
value: clampValue(segment.value),
|
|
67
|
-
color: segment.color,
|
|
68
|
-
}));
|
|
69
|
-
// 전체 합계 계산
|
|
70
|
-
const actualTotal = limitedSegments.reduce((sum, seg) => sum + seg.value, 0);
|
|
71
|
-
const total = Math.min(actualTotal, 100);
|
|
72
|
-
// 모든 segments를 좌측에서부터 연속적으로 배치 (비율로 계산)
|
|
73
|
-
const processed = limitedSegments.map((segment) => ({
|
|
74
|
-
...segment,
|
|
75
|
-
width: actualTotal > 0 ? (segment.value / actualTotal) * total : 0,
|
|
76
|
-
}));
|
|
77
|
-
// segment의 개수가 2이상일때는 bottom 라벨로 고정
|
|
78
|
-
const effectiveLabel = segmentCount >= 2 ? 'bottom' : label;
|
|
79
|
-
// floating label 스타일
|
|
80
|
-
const progressValueStyle = effectiveLabel === 'top-float' || effectiveLabel === 'bottom-float'
|
|
81
|
-
? { '--progress-value': `${total}%` }
|
|
82
|
-
: undefined;
|
|
83
|
-
return {
|
|
84
|
-
totalValue: total,
|
|
85
|
-
displayValue: `${total.toFixed(0)}%`,
|
|
86
|
-
processedSegments: processed,
|
|
87
|
-
effectiveLabel,
|
|
88
|
-
progressValueStyle,
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
// value만 있을 때는 valueToPercent 무시 (이미 퍼센트로 간주)
|
|
92
|
-
if (this.options.value !== undefined) {
|
|
93
|
-
const clamped = clampValue(this.options.value);
|
|
94
|
-
const effectiveLabel = label;
|
|
95
|
-
const progressValueStyle = effectiveLabel === 'top-float' || effectiveLabel === 'bottom-float'
|
|
96
|
-
? { '--progress-value': `${clamped}%` }
|
|
97
|
-
: undefined;
|
|
98
|
-
return {
|
|
99
|
-
totalValue: clamped,
|
|
100
|
-
displayValue: `${clamped.toFixed(0)}%`,
|
|
101
|
-
processedSegments: [],
|
|
102
|
-
effectiveLabel,
|
|
103
|
-
progressValueStyle,
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
return {
|
|
107
|
-
totalValue: 0,
|
|
108
|
-
displayValue: '0%',
|
|
109
|
-
processedSegments: [],
|
|
110
|
-
effectiveLabel: label,
|
|
111
|
-
progressValueStyle: undefined,
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* 단일 라벨 HTML 생성
|
|
116
|
-
*/
|
|
117
|
-
renderSingleLabel(labelType, displayValue, totalValue) {
|
|
118
|
-
// 0%이고 showZeroLabel이 false면 라벨 표시하지 않음
|
|
119
|
-
if (totalValue === 0 && !this.options.showZeroLabel) {
|
|
120
|
-
return '';
|
|
121
|
-
}
|
|
122
|
-
return `<span class="ncua-progress-bar__label ncua-progress-bar__label-${labelType}">${displayValue}</span>`;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* segments 라벨 HTML 생성
|
|
126
|
-
*/
|
|
127
|
-
renderSegmentLabels(segments, segmentCount) {
|
|
128
|
-
if (segmentCount < 2)
|
|
129
|
-
return '';
|
|
130
|
-
const labels = [];
|
|
131
|
-
segments.forEach((segment, index) => {
|
|
132
|
-
// 0%이고 showZeroLabel이 false면 라벨 표시하지 않음
|
|
133
|
-
if (segment.value === 0 && !this.options.showZeroLabel) {
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
let leftPosition = 0;
|
|
137
|
-
for (let i = 0; i < index; i++) {
|
|
138
|
-
leftPosition += segments[i].width;
|
|
139
|
-
}
|
|
140
|
-
// 0%일 때는 segment 시작 위치에 맞추되, 라벨이 게이지 바를 넘어가지 않도록 조정
|
|
141
|
-
// 그 외에는 중앙에 정렬
|
|
142
|
-
const isZero = segment.value === 0;
|
|
143
|
-
// 0%일 때는 약간의 오프셋을 주어 자연스럽게 보이도록 함 (라벨 너비의 절반 정도)
|
|
144
|
-
const labelPosition = isZero ? Math.max(0, leftPosition - 1) : leftPosition + segment.width / 2;
|
|
145
|
-
const transform = isZero ? 'translateX(0)' : 'translateX(-50%)';
|
|
146
|
-
const colorClass = getLabelColorClass(segment.color);
|
|
147
|
-
labels.push(`<span class="ncua-progress-bar__label ncua-progress-bar__label--segment ${colorClass}" style="left: ${labelPosition}%; transform: ${transform};">${segment.value.toFixed(0)}%</span>`);
|
|
148
|
-
});
|
|
149
|
-
return labels.length > 0 ? `<div class="ncua-progress-bar__labels--multiple">${labels.join('')}</div>` : '';
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* segment bar HTML 생성
|
|
153
|
-
*/
|
|
154
|
-
renderSegmentBar(segments) {
|
|
155
|
-
const fills = [];
|
|
156
|
-
segments.forEach((segment, index) => {
|
|
157
|
-
const classes = [
|
|
158
|
-
'ncua-progress-bar__fill',
|
|
159
|
-
index === 0 ? 'ncua-progress-bar__fill--first' : '',
|
|
160
|
-
index === segments.length - 1 ? 'ncua-progress-bar__fill--last' : '',
|
|
161
|
-
getFillColorClass(segment.color),
|
|
162
|
-
]
|
|
163
|
-
.filter(Boolean)
|
|
164
|
-
.join(' ');
|
|
165
|
-
fills.push(`<div class="${classes}" style="width: ${segment.width}%;"></div>`);
|
|
166
|
-
});
|
|
167
|
-
return fills.join('');
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* HTML 문자열 생성
|
|
171
|
-
*/
|
|
172
|
-
toHTML() {
|
|
173
|
-
const { totalValue, displayValue, processedSegments, effectiveLabel, progressValueStyle } = this.processSegments();
|
|
174
|
-
const hasSegments = Boolean(this.options.segments && this.options.segments.length > 0);
|
|
175
|
-
const segmentCount = this.options.segments?.length ?? 0;
|
|
176
|
-
const isFloatingLabel = effectiveLabel === 'top-float' || effectiveLabel === 'bottom-float';
|
|
177
|
-
// 스타일 문자열 생성
|
|
178
|
-
const styleString = progressValueStyle
|
|
179
|
-
? `style="${Object.entries(progressValueStyle)
|
|
180
|
-
.map(([key, value]) => `${key.replace(/([A-Z])/g, '-$1').toLowerCase()}: ${value}`)
|
|
181
|
-
.join('; ')}"`
|
|
182
|
-
: '';
|
|
183
|
-
// segment가 1개이거나 value만 있을 때는 동일하게 처리 (단일 progress bar)
|
|
184
|
-
const isSingleBar = segmentCount < 2; // segment가 0개 또는 1개일 때
|
|
185
|
-
if (isSingleBar) {
|
|
186
|
-
const fillColorClass = hasSegments && segmentCount === 1 ? getFillColorClass(processedSegments[0].color) : '';
|
|
187
|
-
const floatingLabel = isFloatingLabel ? this.renderSingleLabel(effectiveLabel, displayValue, totalValue) : '';
|
|
188
|
-
const rightLabel = effectiveLabel === 'right' ? this.renderSingleLabel('right', displayValue, totalValue) : '';
|
|
189
|
-
const bottomLabel = effectiveLabel === 'bottom' ? this.renderSingleLabel('bottom', displayValue, totalValue) : '';
|
|
190
|
-
// 단일 progress bar일 때는 text-align: left를 위한 클래스 추가
|
|
191
|
-
const singleSegmentClass = 'ncua-progress-bar--single-segment';
|
|
192
|
-
return `<div class="ncua-progress-bar ncua-progress-bar-${effectiveLabel || ''} ${singleSegmentClass}" ${styleString}>
|
|
193
|
-
${floatingLabel}
|
|
194
|
-
<div class="ncua-progress-bar__content">
|
|
195
|
-
<div class="ncua-progress-bar__bar">
|
|
196
|
-
<div class="ncua-progress-bar__fill ${fillColorClass}" style="width: ${totalValue}%;" aria-valuenow="${totalValue}" aria-valuemin="0" aria-valuemax="100"></div>
|
|
197
|
-
</div>
|
|
198
|
-
${rightLabel}
|
|
199
|
-
</div>
|
|
200
|
-
${bottomLabel}
|
|
201
|
-
</div>`;
|
|
202
|
-
}
|
|
203
|
-
// 일반 케이스
|
|
204
|
-
const floatingLabel = isFloatingLabel ? this.renderSingleLabel(effectiveLabel, displayValue, totalValue) : '';
|
|
205
|
-
const rightLabel = effectiveLabel === 'right' ? this.renderSingleLabel('right', displayValue, totalValue) : '';
|
|
206
|
-
const bottomLabel = effectiveLabel === 'bottom' ? this.renderSingleLabel('bottom', displayValue, totalValue) : '';
|
|
207
|
-
const segmentLabels = hasSegments && segmentCount >= 2 ? this.renderSegmentLabels(processedSegments, segmentCount) : '';
|
|
208
|
-
const segmentBar = hasSegments
|
|
209
|
-
? this.renderSegmentBar(processedSegments)
|
|
210
|
-
: `<div class="ncua-progress-bar__fill" style="width: ${totalValue}%;" aria-valuenow="${totalValue}" aria-valuemin="0" aria-valuemax="100"></div>`;
|
|
211
|
-
const segmentsClass = hasSegments ? 'ncua-progress-bar__bar--segments' : '';
|
|
212
|
-
return `<div class="ncua-progress-bar ncua-progress-bar-${effectiveLabel || ''}" ${styleString}>
|
|
213
|
-
${floatingLabel}
|
|
214
|
-
<div class="ncua-progress-bar__content">
|
|
215
|
-
<div class="ncua-progress-bar__bar ${segmentsClass}">
|
|
216
|
-
${segmentBar}
|
|
217
|
-
</div>
|
|
218
|
-
${rightLabel}
|
|
219
|
-
</div>
|
|
220
|
-
${hasSegments && segmentCount >= 2 ? segmentLabels : bottomLabel}
|
|
221
|
-
</div>`;
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* DOM 요소 생성
|
|
225
|
-
*/
|
|
226
|
-
toElement() {
|
|
227
|
-
const div = document.createElement('div');
|
|
228
|
-
div.innerHTML = this.toHTML();
|
|
229
|
-
this.element = div.firstElementChild;
|
|
230
|
-
return this.element;
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* 요소 반환
|
|
234
|
-
*/
|
|
235
|
-
getElement() {
|
|
236
|
-
return this.toElement();
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* 옵션 업데이트
|
|
240
|
-
*/
|
|
241
|
-
updateOptions(newOptions) {
|
|
242
|
-
this.options = { ...this.options, ...newOptions };
|
|
243
|
-
if (this.element) {
|
|
244
|
-
const newElement = this.toElement();
|
|
245
|
-
if (this.element.parentNode) {
|
|
246
|
-
this.element.parentNode.replaceChild(newElement, this.element);
|
|
247
|
-
}
|
|
248
|
-
this.element = newElement;
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Static factory method
|
|
253
|
-
*/
|
|
254
|
-
static create(options) {
|
|
255
|
-
return new ProgressBar(options);
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Static method: HTML 문자열 생성
|
|
259
|
-
*/
|
|
260
|
-
static toHTML(options) {
|
|
261
|
-
return new ProgressBar(options).toHTML();
|
|
262
|
-
}
|
|
263
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { ProgressBar, type ProgressBarOptions, type ProgressLabel, type ProgressSegment } from './ProgressBar';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { ProgressBar } from './ProgressBar';
|