@ncds/ui-admin 1.7.0 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/assets/scripts/baseBox.js +54 -56
- package/dist/cjs/assets/scripts/comboBox.js +54 -105
- package/dist/cjs/assets/scripts/datePicker.js +289 -324
- package/dist/cjs/assets/scripts/featuredIcon.js +41 -49
- package/dist/cjs/assets/scripts/fileInput/const/classNames.js +4 -10
- package/dist/cjs/assets/scripts/fileInput/fileInput.js +33 -34
- package/dist/cjs/assets/scripts/fileInput/fileInputModel.js +27 -35
- package/dist/cjs/assets/scripts/fileInput/fileInputView.js +53 -48
- package/dist/cjs/assets/scripts/imageFileInput/ImageFileInput.js +61 -64
- package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputModel.js +79 -112
- package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputView.js +107 -105
- package/dist/cjs/assets/scripts/imageFileInput/const/classNames.js +6 -16
- package/dist/cjs/assets/scripts/index.js +2 -0
- package/dist/cjs/assets/scripts/modal/Modal.js +43 -55
- package/dist/cjs/assets/scripts/modal/ModalActions.js +40 -52
- package/dist/cjs/assets/scripts/modal/ModalContent.js +22 -22
- package/dist/cjs/assets/scripts/modal/ModalHeader.js +37 -48
- package/dist/cjs/assets/scripts/modal/const/classNames.js +5 -13
- package/dist/cjs/assets/scripts/modal/utils/contentUtils.js +1 -1
- package/dist/cjs/assets/scripts/notification/FloatingNotification.js +91 -93
- package/dist/cjs/assets/scripts/notification/FullWidthNotification.js +92 -80
- package/dist/cjs/assets/scripts/notification/MessageNotification.js +92 -79
- package/dist/cjs/assets/scripts/notification/Notification.js +50 -65
- package/dist/cjs/assets/scripts/notification/const/classNames.js +1 -1
- package/dist/cjs/assets/scripts/notification/const/icons.js +11 -25
- package/dist/cjs/assets/scripts/notification/const/sizes.js +11 -19
- package/dist/cjs/assets/scripts/notification/const/types.js +1 -1
- package/dist/cjs/assets/scripts/notification/utils.js +28 -23
- package/dist/cjs/assets/scripts/progress-bar/ProgressBar.js +140 -141
- package/dist/cjs/assets/scripts/selectBox.js +72 -132
- package/dist/cjs/assets/scripts/shared/ButtonCloseX.js +18 -19
- package/dist/cjs/assets/scripts/slider.js +104 -122
- package/dist/cjs/assets/scripts/tab.js +8 -8
- package/dist/cjs/assets/scripts/table/Table.js +377 -0
- package/dist/cjs/assets/scripts/table/const/classNames.js +33 -0
- package/dist/cjs/assets/scripts/table/const/index.js +27 -0
- package/dist/cjs/assets/scripts/table/const/types.js +5 -0
- package/dist/cjs/assets/scripts/table/index.js +43 -0
- package/dist/cjs/assets/scripts/tag/Tag.js +108 -115
- package/dist/cjs/assets/scripts/tag/const/classNames.js +3 -7
- package/dist/cjs/assets/scripts/tag/const/sizes.js +4 -4
- package/dist/cjs/assets/scripts/tooltip/Tooltip.js +155 -182
- package/dist/cjs/assets/scripts/tooltip/TooltipLayerManager.js +23 -25
- package/dist/cjs/assets/scripts/tooltip/const/classNames.js +1 -1
- package/dist/cjs/assets/scripts/tooltip/const/constants.js +14 -14
- package/dist/cjs/assets/scripts/tooltip/const/icons.js +7 -7
- package/dist/cjs/assets/scripts/tooltip/const/templates.js +42 -25
- package/dist/cjs/assets/scripts/tooltip/utils.js +17 -18
- package/dist/cjs/assets/scripts/utils/debounce.js +7 -8
- package/dist/cjs/assets/scripts/utils/unifiedBox/domRenderer.js +102 -116
- package/dist/cjs/assets/scripts/utils/unifiedBox/dropdownModel.js +103 -144
- package/dist/cjs/assets/scripts/utils/unifiedBox/unifiedBoxController.js +180 -207
- package/dist/cjs/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +166 -362
- package/dist/cjs/constant/color.js +1 -1
- package/dist/cjs/index.js +0 -297
- package/dist/cjs/src/components/badge/Badge.js +17 -30
- package/dist/cjs/src/components/badge/index.js +0 -11
- package/dist/cjs/src/components/badge/utils.js +11 -10
- package/dist/cjs/src/components/badge-group/BadgeGroup.js +42 -0
- package/dist/cjs/src/components/badge-group/index.js +16 -0
- package/dist/cjs/src/components/bread-crumb/BreadCrumb.js +55 -0
- package/dist/cjs/src/components/button/Button.js +37 -58
- package/dist/cjs/src/components/button/ButtonCloseX.js +12 -22
- package/dist/cjs/src/components/button/ButtonStepper.js +9 -7
- package/dist/cjs/src/components/button/index.js +0 -11
- package/dist/cjs/src/components/button-group/ButtonGroup.js +97 -0
- package/dist/cjs/src/components/button-group/index.js +16 -0
- package/dist/cjs/src/components/carousel-arrow/CarouselArrow.js +34 -0
- package/dist/cjs/src/components/carousel-arrow/index.js +16 -0
- package/dist/cjs/src/components/carousel-number-group/CarouselNumberGroup.js +33 -0
- package/dist/cjs/src/components/{carousel → carousel-number-group}/index.js +0 -11
- package/dist/cjs/src/components/checkbox/Checkbox.js +28 -49
- package/dist/cjs/src/components/checkbox/CheckboxInput.js +23 -42
- package/dist/cjs/src/components/combo-box/ComboBox.js +291 -0
- package/dist/cjs/src/components/data-grid/DataGrid.js +182 -0
- package/dist/cjs/src/components/data-grid/DataGrid.types.js +5 -0
- package/dist/cjs/src/components/data-grid/index.js +27 -0
- package/dist/cjs/src/components/date-picker/CustomInput.js +16 -32
- package/dist/cjs/src/components/date-picker/DatePicker.js +416 -256
- package/dist/cjs/src/components/date-picker/index.js +0 -22
- package/dist/cjs/src/components/date-picker/utils.js +2 -4
- package/dist/cjs/src/components/divider/Divider.js +14 -25
- package/dist/cjs/src/components/dot/Dot.js +11 -28
- package/dist/cjs/src/components/dropdown/Dropdown.js +90 -132
- package/dist/cjs/src/components/empty-state/EmptyState.js +28 -45
- package/dist/cjs/src/components/featured-icon/FeaturedIcon.js +14 -33
- package/dist/cjs/src/components/file-input/FileInput.js +102 -148
- package/dist/cjs/src/components/horizontal-tab/HorizontalTab.js +53 -0
- package/dist/cjs/src/components/horizontal-tab/index.js +16 -0
- package/dist/cjs/src/components/image-file-input/ImageFileInput.js +109 -170
- package/dist/cjs/src/components/image-file-input/components/ImagePreview.js +8 -17
- package/dist/cjs/src/components/index.js +156 -24
- package/dist/cjs/src/components/input-base/InputBase.js +195 -0
- package/dist/cjs/src/components/input-base/index.js +16 -0
- package/dist/cjs/src/components/modal/Modal.js +76 -105
- package/dist/cjs/src/components/notification/FloatingNotification.js +52 -80
- package/dist/cjs/src/components/notification/FullWidthNotification.js +67 -101
- package/dist/cjs/src/components/notification/MessageNotification.js +60 -89
- package/dist/cjs/src/components/notification/Notification.js +18 -36
- package/dist/cjs/src/components/number-input/NumberInput.js +112 -0
- package/dist/cjs/src/components/number-input/index.js +16 -0
- package/dist/cjs/src/components/pagination/NavButton.js +28 -42
- package/dist/cjs/src/components/pagination/Pagination.js +58 -97
- package/dist/cjs/src/components/password-input/PasswordInput.js +55 -0
- package/dist/cjs/src/components/password-input/index.js +16 -0
- package/dist/cjs/src/components/progress-bar/ProgressBar.js +45 -60
- package/dist/cjs/src/components/progress-bar/components/SegmentBar.js +11 -9
- package/dist/cjs/src/components/progress-bar/components/SegmentLabels.js +32 -43
- package/dist/cjs/src/components/progress-bar/hooks/useProgressBar.js +59 -78
- package/dist/cjs/src/components/progress-bar/utils.js +8 -8
- package/dist/cjs/src/components/progress-circle/ProgressCircle.js +49 -72
- package/dist/cjs/src/components/radio/Radio.js +24 -43
- package/dist/cjs/src/components/radio/RadioInput.js +18 -36
- package/dist/cjs/src/components/range-date-picker/RangeDatePicker.js +147 -0
- package/dist/cjs/src/components/range-date-picker/index.js +16 -0
- package/dist/cjs/src/components/range-date-picker-with-buttons/RangeDatePickerWithButtons.js +81 -0
- package/dist/cjs/src/components/range-date-picker-with-buttons/index.js +16 -0
- package/dist/cjs/src/components/select/Select.js +36 -63
- package/dist/cjs/src/components/select-box/SelectBox.js +260 -0
- package/dist/cjs/src/components/select-dropdown/SelectDropdown.js +64 -100
- package/dist/cjs/src/components/shared/hintText/HintText.js +13 -30
- package/dist/cjs/src/components/shared/label/Label.js +12 -29
- package/dist/cjs/src/components/slider/Slider.js +25 -28
- package/dist/cjs/src/components/spinner/Spinner.js +25 -39
- package/dist/cjs/src/components/switch/Switch.js +44 -69
- package/dist/cjs/src/components/tab/TabButton.js +41 -61
- package/dist/cjs/src/components/tab/index.js +0 -22
- package/dist/cjs/src/components/table/Table.js +381 -0
- package/dist/cjs/src/components/table/index.js +16 -0
- package/dist/cjs/src/components/table/types.js +5 -0
- package/dist/cjs/src/components/tag/Tag.js +65 -85
- package/dist/cjs/src/components/textarea/Textarea.js +79 -0
- package/dist/cjs/src/components/textarea/index.js +16 -0
- package/dist/cjs/src/components/toggle/Toggle.js +28 -52
- package/dist/cjs/src/components/tooltip/Tooltip.js +75 -108
- package/dist/cjs/src/components/vertical-tab/VerticalTab.js +48 -0
- package/dist/cjs/src/components/vertical-tab/index.js +16 -0
- package/dist/cjs/src/constant/breakpoint.js +3 -3
- package/dist/cjs/src/constant/date-picker.js +1 -1
- package/dist/cjs/src/constant/size.js +1 -1
- package/dist/cjs/src/hooks/dropdown/useDropdown.js +58 -60
- package/dist/cjs/src/hooks/dropdown/useDropdownKeyboard.js +37 -40
- package/dist/cjs/src/hooks/dropdown/useDropdownPosition.js +7 -9
- package/dist/cjs/src/hooks/dropdown/useOutsideClick.js +11 -11
- package/dist/cjs/src/hooks/dropdown/useScrollLock.js +23 -19
- package/dist/cjs/src/hooks/dropdown/useWindowResize.js +12 -13
- package/dist/cjs/src/hooks/useCallbackRef.js +2 -2
- package/dist/cjs/src/hooks/useMediaQuery.js +8 -11
- package/dist/cjs/src/hooks/useMergeRefs.js +2 -2
- package/dist/cjs/src/utils/date-picker.js +29 -30
- package/dist/cjs/src/utils/dropdown/dropdownUtils.js +39 -35
- package/dist/cjs/src/utils/dropdown/multiSelect.js +25 -45
- package/dist/esm/assets/scripts/baseBox.js +53 -57
- package/dist/esm/assets/scripts/comboBox.js +54 -107
- package/dist/esm/assets/scripts/datePicker.js +288 -324
- package/dist/esm/assets/scripts/featuredIcon.js +40 -50
- package/dist/esm/assets/scripts/fileInput/const/classNames.js +4 -10
- package/dist/esm/assets/scripts/fileInput/fileInput.js +32 -35
- package/dist/esm/assets/scripts/fileInput/fileInputModel.js +26 -36
- package/dist/esm/assets/scripts/fileInput/fileInputView.js +52 -49
- package/dist/esm/assets/scripts/imageFileInput/ImageFileInput.js +60 -65
- package/dist/esm/assets/scripts/imageFileInput/ImageFileInputModel.js +78 -113
- package/dist/esm/assets/scripts/imageFileInput/ImageFileInputView.js +106 -106
- package/dist/esm/assets/scripts/imageFileInput/const/classNames.js +6 -16
- package/dist/esm/assets/scripts/index.js +2 -0
- package/dist/esm/assets/scripts/modal/Modal.js +43 -55
- package/dist/esm/assets/scripts/modal/ModalActions.js +39 -53
- package/dist/esm/assets/scripts/modal/ModalContent.js +21 -23
- package/dist/esm/assets/scripts/modal/ModalHeader.js +36 -49
- package/dist/esm/assets/scripts/modal/const/classNames.js +5 -13
- package/dist/esm/assets/scripts/modal/utils/contentUtils.js +1 -1
- package/dist/esm/assets/scripts/notification/FloatingNotification.js +90 -94
- package/dist/esm/assets/scripts/notification/FullWidthNotification.js +91 -81
- package/dist/esm/assets/scripts/notification/MessageNotification.js +91 -80
- package/dist/esm/assets/scripts/notification/Notification.js +49 -66
- package/dist/esm/assets/scripts/notification/const/classNames.js +1 -1
- package/dist/esm/assets/scripts/notification/const/icons.js +11 -25
- package/dist/esm/assets/scripts/notification/const/sizes.js +11 -19
- package/dist/esm/assets/scripts/notification/const/types.js +1 -1
- package/dist/esm/assets/scripts/notification/utils.js +28 -23
- package/dist/esm/assets/scripts/progress-bar/ProgressBar.js +139 -142
- package/dist/esm/assets/scripts/selectBox.js +71 -133
- package/dist/esm/assets/scripts/shared/ButtonCloseX.js +18 -19
- package/dist/esm/assets/scripts/slider.js +103 -123
- package/dist/esm/assets/scripts/tab.js +7 -9
- package/dist/esm/assets/scripts/table/Table.js +370 -0
- package/dist/esm/assets/scripts/table/const/classNames.js +27 -0
- package/dist/esm/assets/scripts/table/const/index.js +2 -0
- package/dist/esm/assets/scripts/table/const/types.js +1 -0
- package/dist/esm/assets/scripts/table/index.js +8 -0
- package/dist/esm/assets/scripts/tag/Tag.js +107 -116
- package/dist/esm/assets/scripts/tag/const/classNames.js +3 -7
- package/dist/esm/assets/scripts/tag/const/sizes.js +4 -4
- package/dist/esm/assets/scripts/tooltip/Tooltip.js +154 -183
- package/dist/esm/assets/scripts/tooltip/TooltipLayerManager.js +22 -26
- package/dist/esm/assets/scripts/tooltip/const/classNames.js +1 -1
- package/dist/esm/assets/scripts/tooltip/const/constants.js +14 -14
- package/dist/esm/assets/scripts/tooltip/const/icons.js +7 -7
- package/dist/esm/assets/scripts/tooltip/const/templates.js +42 -25
- package/dist/esm/assets/scripts/tooltip/utils.js +17 -18
- package/dist/esm/assets/scripts/utils/debounce.js +7 -8
- package/dist/esm/assets/scripts/utils/unifiedBox/domRenderer.js +101 -117
- package/dist/esm/assets/scripts/utils/unifiedBox/dropdownModel.js +103 -144
- package/dist/esm/assets/scripts/utils/unifiedBox/unifiedBoxController.js +179 -208
- package/dist/esm/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +165 -363
- package/dist/esm/constant/color.js +1 -1
- package/dist/esm/index.js +0 -27
- package/dist/esm/src/components/badge/Badge.js +17 -30
- package/dist/esm/src/components/badge/index.js +1 -2
- package/dist/esm/src/components/badge/utils.js +11 -10
- package/dist/esm/src/components/badge-group/BadgeGroup.js +35 -0
- package/dist/esm/src/components/badge-group/index.js +1 -0
- package/dist/esm/src/components/bread-crumb/BreadCrumb.js +48 -0
- package/dist/esm/src/components/button/Button.js +37 -58
- package/dist/esm/src/components/button/ButtonCloseX.js +12 -22
- package/dist/esm/src/components/button/ButtonStepper.js +9 -7
- package/dist/esm/src/components/button/index.js +0 -1
- package/dist/esm/src/components/button-group/ButtonGroup.js +89 -0
- package/dist/esm/src/components/button-group/index.js +1 -0
- package/dist/esm/src/components/carousel-arrow/CarouselArrow.js +26 -0
- package/dist/esm/src/components/carousel-arrow/index.js +1 -0
- package/dist/esm/src/components/carousel-number-group/CarouselNumberGroup.js +25 -0
- package/dist/esm/src/components/carousel-number-group/index.js +1 -0
- package/dist/esm/src/components/checkbox/Checkbox.js +28 -49
- package/dist/esm/src/components/checkbox/CheckboxInput.js +23 -42
- package/dist/esm/src/components/combo-box/ComboBox.js +285 -0
- package/dist/esm/src/components/data-grid/DataGrid.js +175 -0
- package/dist/esm/src/components/data-grid/DataGrid.types.js +1 -0
- package/dist/esm/src/components/data-grid/index.js +2 -0
- package/dist/esm/src/components/date-picker/CustomInput.js +16 -32
- package/dist/esm/src/components/date-picker/DatePicker.js +421 -260
- package/dist/esm/src/components/date-picker/index.js +0 -2
- package/dist/esm/src/components/date-picker/utils.js +2 -4
- package/dist/esm/src/components/divider/Divider.js +14 -25
- package/dist/esm/src/components/dot/Dot.js +11 -28
- package/dist/esm/src/components/dropdown/Dropdown.js +90 -132
- package/dist/esm/src/components/empty-state/EmptyState.js +28 -45
- package/dist/esm/src/components/featured-icon/FeaturedIcon.js +14 -33
- package/dist/esm/src/components/file-input/FileInput.js +102 -148
- package/dist/esm/src/components/horizontal-tab/HorizontalTab.js +46 -0
- package/dist/esm/src/components/horizontal-tab/index.js +1 -0
- package/dist/esm/src/components/image-file-input/ImageFileInput.js +109 -170
- package/dist/esm/src/components/image-file-input/components/ImagePreview.js +8 -17
- package/dist/esm/src/components/index.js +18 -6
- package/dist/esm/src/components/input-base/InputBase.js +189 -0
- package/dist/esm/src/components/input-base/index.js +1 -0
- package/dist/esm/src/components/modal/Modal.js +76 -105
- package/dist/esm/src/components/notification/FloatingNotification.js +52 -80
- package/dist/esm/src/components/notification/FullWidthNotification.js +67 -101
- package/dist/esm/src/components/notification/MessageNotification.js +60 -89
- package/dist/esm/src/components/notification/Notification.js +18 -36
- package/dist/esm/src/components/{input → number-input}/NumberInput.js +34 -54
- package/dist/esm/src/components/number-input/index.js +1 -0
- package/dist/esm/src/components/pagination/NavButton.js +28 -42
- package/dist/esm/src/components/pagination/Pagination.js +58 -97
- package/dist/esm/src/components/password-input/PasswordInput.js +48 -0
- package/dist/esm/src/components/password-input/index.js +1 -0
- package/dist/esm/src/components/progress-bar/ProgressBar.js +45 -60
- package/dist/esm/src/components/progress-bar/components/SegmentBar.js +11 -9
- package/dist/esm/src/components/progress-bar/components/SegmentLabels.js +32 -43
- package/dist/esm/src/components/progress-bar/hooks/useProgressBar.js +59 -78
- package/dist/esm/src/components/progress-bar/utils.js +8 -8
- package/dist/esm/src/components/progress-circle/ProgressCircle.js +49 -72
- package/dist/esm/src/components/radio/Radio.js +24 -43
- package/dist/esm/src/components/radio/RadioInput.js +18 -36
- package/dist/esm/src/components/range-date-picker/RangeDatePicker.js +141 -0
- package/dist/esm/src/components/range-date-picker/index.js +1 -0
- package/dist/esm/src/components/range-date-picker-with-buttons/RangeDatePickerWithButtons.js +75 -0
- package/dist/esm/src/components/range-date-picker-with-buttons/index.js +1 -0
- package/dist/esm/src/components/select/Select.js +36 -63
- package/dist/esm/src/components/select-box/SelectBox.js +254 -0
- package/dist/esm/src/components/select-dropdown/SelectDropdown.js +64 -100
- package/dist/esm/src/components/shared/hintText/HintText.js +13 -30
- package/dist/esm/src/components/shared/label/Label.js +12 -29
- package/dist/esm/src/components/slider/Slider.js +25 -28
- package/dist/esm/src/components/spinner/Spinner.js +25 -39
- package/dist/esm/src/components/switch/Switch.js +44 -69
- package/dist/esm/src/components/tab/TabButton.js +41 -61
- package/dist/esm/src/components/tab/index.js +1 -3
- package/dist/esm/src/components/table/Table.js +374 -0
- package/dist/esm/src/components/table/index.js +1 -0
- package/dist/esm/src/components/table/types.js +1 -0
- package/dist/esm/src/components/tag/Tag.js +65 -85
- package/dist/esm/src/components/textarea/Textarea.js +72 -0
- package/dist/esm/src/components/textarea/index.js +1 -0
- package/dist/esm/src/components/toggle/Toggle.js +28 -52
- package/dist/esm/src/components/tooltip/Tooltip.js +75 -108
- package/dist/esm/src/components/vertical-tab/VerticalTab.js +40 -0
- package/dist/esm/src/components/vertical-tab/index.js +1 -0
- package/dist/esm/src/constant/breakpoint.js +3 -3
- package/dist/esm/src/constant/date-picker.js +1 -1
- package/dist/esm/src/constant/size.js +1 -1
- package/dist/esm/src/hooks/dropdown/useDropdown.js +58 -60
- package/dist/esm/src/hooks/dropdown/useDropdownKeyboard.js +37 -40
- package/dist/esm/src/hooks/dropdown/useDropdownPosition.js +7 -9
- package/dist/esm/src/hooks/dropdown/useOutsideClick.js +11 -11
- package/dist/esm/src/hooks/dropdown/useScrollLock.js +23 -19
- package/dist/esm/src/hooks/dropdown/useWindowResize.js +12 -13
- package/dist/esm/src/hooks/useCallbackRef.js +2 -2
- package/dist/esm/src/hooks/useMediaQuery.js +8 -11
- package/dist/esm/src/hooks/useMergeRefs.js +2 -2
- package/dist/esm/src/utils/date-picker.js +29 -30
- package/dist/esm/src/utils/dropdown/dropdownUtils.js +39 -35
- package/dist/esm/src/utils/dropdown/multiSelect.js +25 -45
- package/dist/temp/assets/scripts/baseBox.js +53 -57
- package/dist/temp/assets/scripts/comboBox.js +62 -93
- package/dist/temp/assets/scripts/datePicker.js +286 -293
- package/dist/temp/assets/scripts/featuredIcon.js +40 -47
- package/dist/temp/assets/scripts/fileInput/const/classNames.js +4 -8
- package/dist/temp/assets/scripts/fileInput/fileInput.js +29 -33
- package/dist/temp/assets/scripts/fileInput/fileInputModel.js +24 -32
- package/dist/temp/assets/scripts/fileInput/fileInputView.js +52 -49
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInput.js +57 -63
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInputModel.js +79 -99
- package/dist/temp/assets/scripts/imageFileInput/ImageFileInputView.js +106 -104
- package/dist/temp/assets/scripts/imageFileInput/const/classNames.js +6 -10
- package/dist/temp/assets/scripts/index.d.ts +2 -0
- package/dist/temp/assets/scripts/index.js +2 -0
- package/dist/temp/assets/scripts/modal/Modal.js +46 -52
- package/dist/temp/assets/scripts/modal/ModalActions.js +42 -50
- package/dist/temp/assets/scripts/modal/ModalContent.js +21 -23
- package/dist/temp/assets/scripts/modal/ModalHeader.js +40 -46
- package/dist/temp/assets/scripts/modal/const/classNames.js +5 -5
- package/dist/temp/assets/scripts/modal/utils/contentUtils.js +1 -1
- package/dist/temp/assets/scripts/notification/FloatingNotification.js +80 -77
- package/dist/temp/assets/scripts/notification/FullWidthNotification.js +78 -62
- package/dist/temp/assets/scripts/notification/MessageNotification.js +81 -64
- package/dist/temp/assets/scripts/notification/Notification.js +48 -62
- package/dist/temp/assets/scripts/notification/const/classNames.js +1 -1
- package/dist/temp/assets/scripts/notification/const/icons.js +11 -25
- package/dist/temp/assets/scripts/notification/const/sizes.js +11 -11
- package/dist/temp/assets/scripts/notification/const/types.js +1 -1
- package/dist/temp/assets/scripts/notification/utils.js +31 -26
- package/dist/temp/assets/scripts/progress-bar/ProgressBar.js +124 -119
- package/dist/temp/assets/scripts/selectBox.js +81 -105
- package/dist/temp/assets/scripts/shared/ButtonCloseX.js +14 -13
- package/dist/temp/assets/scripts/slider.js +105 -113
- package/dist/temp/assets/scripts/tab.js +7 -9
- package/dist/temp/assets/scripts/table/Table.d.ts +41 -0
- package/dist/temp/assets/scripts/table/Table.js +378 -0
- package/dist/temp/assets/scripts/table/const/classNames.d.ts +27 -0
- package/dist/temp/assets/scripts/table/const/classNames.js +27 -0
- package/dist/temp/assets/scripts/table/const/index.d.ts +2 -0
- package/dist/temp/assets/scripts/table/const/index.js +2 -0
- package/dist/temp/assets/scripts/table/const/types.d.ts +23 -0
- package/dist/temp/assets/scripts/table/const/types.js +1 -0
- package/dist/temp/assets/scripts/table/index.d.ts +3 -0
- package/dist/temp/assets/scripts/table/index.js +8 -0
- package/dist/temp/assets/scripts/tag/Tag.js +104 -112
- package/dist/temp/assets/scripts/tag/const/classNames.js +3 -3
- package/dist/temp/assets/scripts/tag/const/sizes.js +4 -4
- package/dist/temp/assets/scripts/tooltip/Tooltip.js +125 -150
- package/dist/temp/assets/scripts/tooltip/TooltipLayerManager.js +20 -23
- package/dist/temp/assets/scripts/tooltip/const/classNames.js +1 -1
- package/dist/temp/assets/scripts/tooltip/const/constants.d.ts +1 -1
- package/dist/temp/assets/scripts/tooltip/const/constants.js +14 -14
- package/dist/temp/assets/scripts/tooltip/const/icons.js +7 -7
- package/dist/temp/assets/scripts/tooltip/const/templates.js +42 -13
- package/dist/temp/assets/scripts/tooltip/utils.js +13 -15
- package/dist/temp/assets/scripts/utils/debounce.js +5 -9
- package/dist/temp/assets/scripts/utils/unifiedBox/domRenderer.js +96 -105
- package/dist/temp/assets/scripts/utils/unifiedBox/dropdownModel.js +96 -121
- package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxController.js +170 -193
- package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +173 -250
- package/dist/temp/constant/color.js +1 -1
- package/dist/temp/index.d.ts +0 -27
- package/dist/temp/index.js +0 -27
- package/dist/temp/src/components/badge/Badge.js +3 -15
- package/dist/temp/src/components/badge/index.d.ts +0 -1
- package/dist/temp/src/components/badge/index.js +0 -1
- package/dist/temp/src/components/badge/utils.js +5 -7
- package/dist/{types/src/components/badge → temp/src/components/badge-group}/BadgeGroup.d.ts +1 -1
- package/dist/temp/src/components/badge-group/BadgeGroup.js +13 -0
- package/dist/temp/src/components/badge-group/index.d.ts +1 -0
- package/dist/temp/src/components/badge-group/index.js +1 -0
- package/dist/temp/src/components/bread-crumb/BreadCrumb.js +20 -0
- package/dist/temp/src/components/button/Button.js +21 -38
- package/dist/temp/src/components/button/ButtonCloseX.js +3 -15
- package/dist/temp/src/components/button/ButtonStepper.js +2 -3
- package/dist/temp/src/components/button/index.d.ts +0 -1
- package/dist/temp/src/components/button/index.js +0 -1
- package/dist/{types/src/components/button → temp/src/components/button-group}/ButtonGroup.d.ts +5 -4
- package/dist/temp/src/components/button-group/ButtonGroup.js +51 -0
- package/dist/temp/src/components/button-group/index.d.ts +1 -0
- package/dist/temp/src/components/button-group/index.js +1 -0
- package/dist/temp/src/components/carousel-arrow/CarouselArrow.js +9 -0
- package/dist/temp/src/components/carousel-arrow/index.d.ts +1 -0
- package/dist/temp/src/components/carousel-arrow/index.js +1 -0
- package/dist/temp/src/components/carousel-number-group/CarouselNumberGroup.js +10 -0
- package/dist/{types/src/components/carousel → temp/src/components/carousel-number-group}/index.d.ts +0 -1
- package/dist/temp/src/components/{carousel → carousel-number-group}/index.js +0 -1
- package/dist/temp/src/components/checkbox/Checkbox.js +2 -25
- package/dist/temp/src/components/checkbox/CheckboxInput.js +6 -29
- package/dist/temp/src/components/combo-box/ComboBox.js +166 -0
- package/dist/temp/src/components/data-grid/DataGrid.d.ts +28 -0
- package/dist/temp/src/components/data-grid/DataGrid.js +88 -0
- package/dist/temp/src/components/data-grid/DataGrid.types.d.ts +35 -0
- package/dist/temp/src/components/data-grid/DataGrid.types.js +1 -0
- package/dist/temp/src/components/data-grid/index.d.ts +2 -0
- package/dist/temp/src/components/data-grid/index.js +2 -0
- package/dist/temp/src/components/date-picker/CustomInput.js +5 -28
- package/dist/temp/src/components/date-picker/DatePicker.d.ts +11 -7
- package/dist/temp/src/components/date-picker/DatePicker.js +394 -221
- package/dist/temp/src/components/date-picker/index.d.ts +0 -2
- package/dist/temp/src/components/date-picker/index.js +0 -2
- package/dist/temp/src/components/date-picker/utils.js +1 -2
- package/dist/temp/src/components/divider/Divider.js +1 -15
- package/dist/temp/src/components/dot/Dot.js +2 -25
- package/dist/temp/src/components/dropdown/Dropdown.js +23 -39
- package/dist/temp/src/components/empty-state/EmptyState.js +3 -29
- package/dist/temp/src/components/featured-icon/FeaturedIcon.js +3 -26
- package/dist/temp/src/components/file-input/FileInput.d.ts +1 -1
- package/dist/temp/src/components/file-input/FileInput.js +33 -69
- package/dist/{types/src/components/tab → temp/src/components/horizontal-tab}/HorizontalTab.d.ts +1 -1
- package/dist/temp/src/components/horizontal-tab/HorizontalTab.js +24 -0
- package/dist/temp/src/components/horizontal-tab/index.d.ts +1 -0
- package/dist/temp/src/components/horizontal-tab/index.js +1 -0
- package/dist/temp/src/components/image-file-input/ImageFileInput.d.ts +1 -1
- package/dist/temp/src/components/image-file-input/ImageFileInput.js +45 -73
- package/dist/temp/src/components/image-file-input/components/ImagePreview.js +2 -14
- package/dist/temp/src/components/index.d.ts +17 -5
- package/dist/temp/src/components/index.js +17 -5
- package/dist/temp/src/components/{input → input-base}/InputBase.d.ts +1 -0
- package/dist/temp/src/components/input-base/InputBase.js +96 -0
- package/dist/temp/src/components/input-base/index.d.ts +1 -0
- package/dist/temp/src/components/input-base/index.js +1 -0
- package/dist/temp/src/components/modal/Modal.js +15 -41
- package/dist/temp/src/components/notification/FloatingNotification.js +11 -34
- package/dist/temp/src/components/notification/FullWidthNotification.js +12 -35
- package/dist/temp/src/components/notification/MessageNotification.js +8 -31
- package/dist/temp/src/components/notification/Notification.js +4 -27
- package/dist/{types/src/components/input → temp/src/components/number-input}/NumberInput.d.ts +1 -1
- package/dist/temp/src/components/number-input/NumberInput.js +68 -0
- package/dist/temp/src/components/number-input/index.d.ts +1 -0
- package/dist/temp/src/components/number-input/index.js +1 -0
- package/dist/temp/src/components/pagination/NavButton.js +19 -31
- package/dist/temp/src/components/pagination/Pagination.js +33 -60
- package/dist/temp/src/components/{input → password-input}/PasswordInput.d.ts +1 -1
- package/dist/temp/src/components/password-input/PasswordInput.js +28 -0
- package/dist/temp/src/components/password-input/index.d.ts +1 -0
- package/dist/temp/src/components/password-input/index.js +1 -0
- package/dist/temp/src/components/progress-bar/ProgressBar.js +10 -22
- package/dist/temp/src/components/progress-bar/components/SegmentBar.js +5 -6
- package/dist/temp/src/components/progress-bar/components/SegmentLabels.js +11 -24
- package/dist/temp/src/components/progress-bar/hooks/useProgressBar.js +36 -45
- package/dist/temp/src/components/progress-bar/utils.js +8 -8
- package/dist/temp/src/components/progress-circle/ProgressCircle.js +5 -17
- package/dist/temp/src/components/radio/Radio.js +2 -25
- package/dist/temp/src/components/radio/RadioInput.js +2 -25
- package/dist/{types/src/components/date-picker → temp/src/components/range-date-picker}/RangeDatePicker.d.ts +1 -1
- package/dist/temp/src/components/range-date-picker/RangeDatePicker.js +104 -0
- package/dist/temp/src/components/range-date-picker/index.d.ts +1 -0
- package/dist/temp/src/components/range-date-picker/index.js +1 -0
- package/dist/{types/src/components/date-picker → temp/src/components/range-date-picker-with-buttons}/RangeDatePickerWithButtons.d.ts +1 -1
- package/dist/temp/src/components/range-date-picker-with-buttons/RangeDatePickerWithButtons.js +43 -0
- package/dist/temp/src/components/range-date-picker-with-buttons/index.d.ts +1 -0
- package/dist/temp/src/components/range-date-picker-with-buttons/index.js +1 -0
- package/dist/temp/src/components/select/Select.js +3 -26
- package/dist/temp/src/components/select-box/SelectBox.js +130 -0
- package/dist/temp/src/components/select-dropdown/SelectDropdown.js +11 -34
- package/dist/temp/src/components/shared/hintText/HintText.js +2 -25
- package/dist/temp/src/components/shared/label/Label.js +2 -25
- package/dist/temp/src/components/slider/Slider.js +15 -16
- package/dist/temp/src/components/spinner/Spinner.js +4 -17
- package/dist/temp/src/components/switch/Switch.js +17 -30
- package/dist/temp/src/components/tab/TabButton.js +6 -29
- package/dist/temp/src/components/tab/index.d.ts +0 -2
- package/dist/temp/src/components/tab/index.js +0 -2
- package/dist/temp/src/components/table/Table.d.ts +48 -0
- package/dist/temp/src/components/table/Table.js +199 -0
- package/dist/temp/src/components/table/index.d.ts +1 -0
- package/dist/temp/src/components/table/index.js +1 -0
- package/dist/temp/src/components/table/types.d.ts +47 -0
- package/dist/temp/src/components/table/types.js +1 -0
- package/dist/temp/src/components/tag/Tag.js +39 -53
- package/dist/temp/src/components/textarea/Textarea.js +34 -0
- package/dist/temp/src/components/textarea/index.d.ts +1 -0
- package/dist/temp/src/components/textarea/index.js +1 -0
- package/dist/temp/src/components/toggle/Toggle.js +3 -26
- package/dist/temp/src/components/tooltip/Tooltip.js +49 -67
- package/dist/temp/src/components/{tab → vertical-tab}/VerticalTab.d.ts +1 -1
- package/dist/temp/src/components/vertical-tab/VerticalTab.js +20 -0
- package/dist/temp/src/components/vertical-tab/index.d.ts +1 -0
- package/dist/temp/src/components/vertical-tab/index.js +1 -0
- package/dist/temp/src/constant/breakpoint.js +3 -3
- package/dist/temp/src/constant/date-picker.js +1 -1
- package/dist/temp/src/constant/size.js +1 -1
- package/dist/temp/src/hooks/dropdown/useDropdown.js +37 -37
- package/dist/temp/src/hooks/dropdown/useDropdownKeyboard.js +26 -27
- package/dist/temp/src/hooks/dropdown/useDropdownPosition.js +7 -7
- package/dist/temp/src/hooks/dropdown/useOutsideClick.js +7 -7
- package/dist/temp/src/hooks/dropdown/useScrollLock.js +17 -17
- package/dist/temp/src/hooks/dropdown/useWindowResize.js +10 -11
- package/dist/temp/src/hooks/useCallbackRef.js +2 -2
- package/dist/temp/src/hooks/useMediaQuery.js +8 -9
- package/dist/temp/src/hooks/useMergeRefs.js +2 -2
- package/dist/temp/src/utils/date-picker.js +23 -25
- package/dist/temp/src/utils/dropdown/dropdownUtils.js +26 -27
- package/dist/temp/src/utils/dropdown/multiSelect.js +23 -25
- package/dist/types/assets/scripts/index.d.ts +2 -0
- package/dist/types/assets/scripts/table/Table.d.ts +41 -0
- package/dist/types/assets/scripts/table/const/classNames.d.ts +27 -0
- package/dist/types/assets/scripts/table/const/index.d.ts +2 -0
- package/dist/types/assets/scripts/table/const/types.d.ts +23 -0
- package/dist/types/assets/scripts/table/index.d.ts +3 -0
- package/dist/types/assets/scripts/tooltip/const/constants.d.ts +1 -1
- package/dist/types/index.d.ts +0 -27
- package/dist/types/src/components/badge/index.d.ts +0 -1
- package/dist/{temp/src/components/badge → types/src/components/badge-group}/BadgeGroup.d.ts +1 -1
- package/dist/types/src/components/badge-group/index.d.ts +1 -0
- package/dist/types/src/components/button/index.d.ts +0 -1
- package/dist/{temp/src/components/button → types/src/components/button-group}/ButtonGroup.d.ts +5 -4
- package/dist/types/src/components/button-group/index.d.ts +1 -0
- package/dist/types/src/components/carousel-arrow/index.d.ts +1 -0
- package/dist/{temp/src/components/carousel → types/src/components/carousel-number-group}/index.d.ts +0 -1
- package/dist/types/src/components/data-grid/DataGrid.d.ts +28 -0
- package/dist/types/src/components/data-grid/DataGrid.types.d.ts +35 -0
- package/dist/types/src/components/data-grid/index.d.ts +2 -0
- package/dist/types/src/components/date-picker/DatePicker.d.ts +11 -7
- package/dist/types/src/components/date-picker/index.d.ts +0 -2
- package/dist/types/src/components/file-input/FileInput.d.ts +1 -1
- package/dist/{temp/src/components/tab → types/src/components/horizontal-tab}/HorizontalTab.d.ts +1 -1
- package/dist/types/src/components/horizontal-tab/index.d.ts +1 -0
- package/dist/types/src/components/image-file-input/ImageFileInput.d.ts +1 -1
- package/dist/types/src/components/index.d.ts +17 -5
- package/dist/types/src/components/{input → input-base}/InputBase.d.ts +1 -0
- package/dist/types/src/components/input-base/index.d.ts +1 -0
- package/dist/{temp/src/components/input → types/src/components/number-input}/NumberInput.d.ts +1 -1
- package/dist/types/src/components/number-input/index.d.ts +1 -0
- package/dist/types/src/components/{input → password-input}/PasswordInput.d.ts +1 -1
- package/dist/types/src/components/password-input/index.d.ts +1 -0
- package/dist/{temp/src/components/date-picker → types/src/components/range-date-picker}/RangeDatePicker.d.ts +1 -1
- package/dist/types/src/components/range-date-picker/index.d.ts +1 -0
- package/dist/{temp/src/components/date-picker → types/src/components/range-date-picker-with-buttons}/RangeDatePickerWithButtons.d.ts +1 -1
- package/dist/types/src/components/range-date-picker-with-buttons/index.d.ts +1 -0
- package/dist/types/src/components/tab/index.d.ts +0 -2
- package/dist/types/src/components/table/Table.d.ts +48 -0
- package/dist/types/src/components/table/index.d.ts +1 -0
- package/dist/types/src/components/table/types.d.ts +47 -0
- package/dist/types/src/components/textarea/index.d.ts +1 -0
- package/dist/types/src/components/{tab → vertical-tab}/VerticalTab.d.ts +1 -1
- package/dist/types/src/components/vertical-tab/index.d.ts +1 -0
- package/dist/ui-admin/assets/styles/style.css +735 -168
- package/package.json +2 -1
- package/dist/cjs/src/components/badge/BadgeGroup.js +0 -62
- package/dist/cjs/src/components/breadcrumb/BreadCrumb.js +0 -66
- package/dist/cjs/src/components/button/ButtonGroup.js +0 -116
- package/dist/cjs/src/components/carousel/CarouselArrow.js +0 -41
- package/dist/cjs/src/components/carousel/CarouselNumberGroup.js +0 -45
- package/dist/cjs/src/components/combobox/ComboBox.js +0 -349
- package/dist/cjs/src/components/date-picker/RangeDatePicker.js +0 -154
- package/dist/cjs/src/components/date-picker/RangeDatePickerWithButtons.js +0 -99
- package/dist/cjs/src/components/input/InputBase.js +0 -229
- package/dist/cjs/src/components/input/NumberInput.js +0 -132
- package/dist/cjs/src/components/input/PasswordInput.js +0 -72
- package/dist/cjs/src/components/input/Textarea.js +0 -107
- package/dist/cjs/src/components/input/index.js +0 -49
- package/dist/cjs/src/components/selectbox/SelectBox.js +0 -318
- package/dist/cjs/src/components/tab/HorizontalTab.js +0 -68
- package/dist/cjs/src/components/tab/VerticalTab.js +0 -60
- package/dist/esm/src/components/badge/BadgeGroup.js +0 -55
- package/dist/esm/src/components/breadcrumb/BreadCrumb.js +0 -59
- package/dist/esm/src/components/button/ButtonGroup.js +0 -108
- package/dist/esm/src/components/carousel/CarouselArrow.js +0 -33
- package/dist/esm/src/components/carousel/CarouselNumberGroup.js +0 -37
- package/dist/esm/src/components/carousel/index.js +0 -2
- package/dist/esm/src/components/combobox/ComboBox.js +0 -343
- package/dist/esm/src/components/date-picker/RangeDatePicker.js +0 -148
- package/dist/esm/src/components/date-picker/RangeDatePickerWithButtons.js +0 -93
- package/dist/esm/src/components/input/InputBase.js +0 -223
- package/dist/esm/src/components/input/PasswordInput.js +0 -65
- package/dist/esm/src/components/input/Textarea.js +0 -100
- package/dist/esm/src/components/input/index.js +0 -4
- package/dist/esm/src/components/selectbox/SelectBox.js +0 -312
- package/dist/esm/src/components/tab/HorizontalTab.js +0 -61
- package/dist/esm/src/components/tab/VerticalTab.js +0 -52
- package/dist/temp/src/components/badge/BadgeGroup.js +0 -36
- package/dist/temp/src/components/breadcrumb/BreadCrumb.js +0 -33
- package/dist/temp/src/components/button/ButtonGroup.js +0 -72
- package/dist/temp/src/components/carousel/CarouselArrow.js +0 -24
- package/dist/temp/src/components/carousel/CarouselNumberGroup.js +0 -24
- package/dist/temp/src/components/combobox/ComboBox.js +0 -199
- package/dist/temp/src/components/date-picker/RangeDatePicker.js +0 -117
- package/dist/temp/src/components/date-picker/RangeDatePickerWithButtons.js +0 -55
- package/dist/temp/src/components/input/InputBase.js +0 -121
- package/dist/temp/src/components/input/NumberInput.js +0 -93
- package/dist/temp/src/components/input/PasswordInput.js +0 -51
- package/dist/temp/src/components/input/Textarea.js +0 -60
- package/dist/temp/src/components/input/index.d.ts +0 -4
- package/dist/temp/src/components/input/index.js +0 -4
- package/dist/temp/src/components/selectbox/SelectBox.js +0 -163
- package/dist/temp/src/components/tab/HorizontalTab.js +0 -37
- package/dist/temp/src/components/tab/VerticalTab.js +0 -32
- package/dist/types/src/components/input/index.d.ts +0 -4
- /package/dist/cjs/src/components/{breadcrumb → bread-crumb}/index.js +0 -0
- /package/dist/cjs/src/components/{combobox → combo-box}/index.js +0 -0
- /package/dist/cjs/src/components/{selectbox → select-box}/index.js +0 -0
- /package/dist/esm/src/components/{breadcrumb → bread-crumb}/index.js +0 -0
- /package/dist/esm/src/components/{combobox → combo-box}/index.js +0 -0
- /package/dist/esm/src/components/{selectbox → select-box}/index.js +0 -0
- /package/dist/temp/src/components/{breadcrumb → bread-crumb}/BreadCrumb.d.ts +0 -0
- /package/dist/temp/src/components/{breadcrumb → bread-crumb}/index.d.ts +0 -0
- /package/dist/temp/src/components/{breadcrumb → bread-crumb}/index.js +0 -0
- /package/dist/temp/src/components/{carousel → carousel-arrow}/CarouselArrow.d.ts +0 -0
- /package/dist/temp/src/components/{carousel → carousel-number-group}/CarouselNumberGroup.d.ts +0 -0
- /package/dist/temp/src/components/{combobox → combo-box}/ComboBox.d.ts +0 -0
- /package/dist/temp/src/components/{combobox → combo-box}/index.d.ts +0 -0
- /package/dist/temp/src/components/{combobox → combo-box}/index.js +0 -0
- /package/dist/temp/src/components/{selectbox → select-box}/SelectBox.d.ts +0 -0
- /package/dist/temp/src/components/{selectbox → select-box}/index.d.ts +0 -0
- /package/dist/temp/src/components/{selectbox → select-box}/index.js +0 -0
- /package/dist/temp/src/components/{input → textarea}/Textarea.d.ts +0 -0
- /package/dist/types/src/components/{breadcrumb → bread-crumb}/BreadCrumb.d.ts +0 -0
- /package/dist/types/src/components/{breadcrumb → bread-crumb}/index.d.ts +0 -0
- /package/dist/types/src/components/{carousel → carousel-arrow}/CarouselArrow.d.ts +0 -0
- /package/dist/types/src/components/{carousel → carousel-number-group}/CarouselNumberGroup.d.ts +0 -0
- /package/dist/types/src/components/{combobox → combo-box}/ComboBox.d.ts +0 -0
- /package/dist/types/src/components/{combobox → combo-box}/index.d.ts +0 -0
- /package/dist/types/src/components/{selectbox → select-box}/SelectBox.d.ts +0 -0
- /package/dist/types/src/components/{selectbox → select-box}/index.d.ts +0 -0
- /package/dist/types/src/components/{input → textarea}/Textarea.d.ts +0 -0
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
import { TABLE_CLASS_NAMES } from './const/classNames';
|
|
2
|
+
const TABLE_DIMENSIONS = {
|
|
3
|
+
CHECKBOX_CELL_WIDTH: '56px',
|
|
4
|
+
HEADER_HEIGHT: 40,
|
|
5
|
+
ROW_MIN_HEIGHT: 48,
|
|
6
|
+
CHECKBOX_PADDING: '16px',
|
|
7
|
+
};
|
|
8
|
+
const SORT_SVG = {
|
|
9
|
+
none: `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.5 6L8 2.5L11.5 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><path d="M4.5 10L8 13.5L11.5 10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>`,
|
|
10
|
+
asc: `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.5 9.5L8 6L11.5 9.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>`,
|
|
11
|
+
desc: `<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.5 6.5L8 10L11.5 6.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>`,
|
|
12
|
+
};
|
|
13
|
+
const ARIA_SORT_VALUES = {
|
|
14
|
+
asc: 'ascending',
|
|
15
|
+
desc: 'descending',
|
|
16
|
+
none: 'none',
|
|
17
|
+
};
|
|
18
|
+
export class Table {
|
|
19
|
+
constructor(options) {
|
|
20
|
+
this.theadElement = null;
|
|
21
|
+
this.sortState = new Map();
|
|
22
|
+
this.selectedIndices = new Set();
|
|
23
|
+
this.abortController = new AbortController();
|
|
24
|
+
this.options = {
|
|
25
|
+
type: 'horizontal',
|
|
26
|
+
hoverable: true,
|
|
27
|
+
selectable: false,
|
|
28
|
+
fixedHeader: false,
|
|
29
|
+
emptyText: '등록된 게시물이 없습니다.',
|
|
30
|
+
...options,
|
|
31
|
+
};
|
|
32
|
+
this.createElement();
|
|
33
|
+
}
|
|
34
|
+
createElement() {
|
|
35
|
+
this.createOuterElement();
|
|
36
|
+
this.createTableElement();
|
|
37
|
+
this.renderBody();
|
|
38
|
+
this.wrapWithScrollContainer();
|
|
39
|
+
}
|
|
40
|
+
createOuterElement() {
|
|
41
|
+
this.element = document.createElement('div');
|
|
42
|
+
this.updateOuterClasses();
|
|
43
|
+
}
|
|
44
|
+
createTableElement() {
|
|
45
|
+
this.tableElement = document.createElement('table');
|
|
46
|
+
this.tableElement.className = TABLE_CLASS_NAMES.tableElement;
|
|
47
|
+
this.tableElement.setAttribute('role', 'table');
|
|
48
|
+
if (this.options.columns) {
|
|
49
|
+
this.createColGroup();
|
|
50
|
+
if (this.options.type === 'horizontal') {
|
|
51
|
+
this.createHeader();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
this.tbodyElement = document.createElement('tbody');
|
|
55
|
+
this.tbodyElement.className = TABLE_CLASS_NAMES.body;
|
|
56
|
+
this.tableElement.appendChild(this.tbodyElement);
|
|
57
|
+
}
|
|
58
|
+
wrapWithScrollContainer() {
|
|
59
|
+
if (this.options.fixedHeader && this.options.maxHeight) {
|
|
60
|
+
const scrollContainer = document.createElement('div');
|
|
61
|
+
scrollContainer.className = TABLE_CLASS_NAMES.scrollContainer;
|
|
62
|
+
scrollContainer.style.maxHeight = this.options.maxHeight;
|
|
63
|
+
scrollContainer.appendChild(this.tableElement);
|
|
64
|
+
this.element.appendChild(scrollContainer);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
this.element.appendChild(this.tableElement);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
updateOuterClasses() {
|
|
71
|
+
const classes = [TABLE_CLASS_NAMES.table];
|
|
72
|
+
if (this.options.type === 'horizontal') {
|
|
73
|
+
classes.push(TABLE_CLASS_NAMES.horizontal);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
classes.push(TABLE_CLASS_NAMES.vertical);
|
|
77
|
+
}
|
|
78
|
+
if (this.options.hoverable && this.options.type === 'horizontal') {
|
|
79
|
+
classes.push(TABLE_CLASS_NAMES.hoverable);
|
|
80
|
+
}
|
|
81
|
+
if (this.options.fixedHeader) {
|
|
82
|
+
classes.push(TABLE_CLASS_NAMES.fixedHeader);
|
|
83
|
+
}
|
|
84
|
+
this.element.className = classes.join(' ');
|
|
85
|
+
}
|
|
86
|
+
createColGroup() {
|
|
87
|
+
const colgroup = document.createElement('colgroup');
|
|
88
|
+
if (this.options.selectable) {
|
|
89
|
+
const column = document.createElement('col');
|
|
90
|
+
column.style.width = TABLE_DIMENSIONS.CHECKBOX_CELL_WIDTH;
|
|
91
|
+
colgroup.appendChild(column);
|
|
92
|
+
}
|
|
93
|
+
for (const columnConfig of this.options.columns ?? []) {
|
|
94
|
+
const column = document.createElement('col');
|
|
95
|
+
if (columnConfig.width) {
|
|
96
|
+
column.style.width = columnConfig.width;
|
|
97
|
+
}
|
|
98
|
+
colgroup.appendChild(column);
|
|
99
|
+
}
|
|
100
|
+
this.tableElement.appendChild(colgroup);
|
|
101
|
+
}
|
|
102
|
+
createHeader() {
|
|
103
|
+
this.theadElement = document.createElement('thead');
|
|
104
|
+
this.theadElement.className = TABLE_CLASS_NAMES.header;
|
|
105
|
+
const tableRow = document.createElement('tr');
|
|
106
|
+
if (this.options.selectable) {
|
|
107
|
+
tableRow.appendChild(this.createHeaderCheckboxCell());
|
|
108
|
+
}
|
|
109
|
+
for (const column of this.options.columns ?? []) {
|
|
110
|
+
tableRow.appendChild(this.createHeaderDataCell(column));
|
|
111
|
+
}
|
|
112
|
+
this.theadElement.appendChild(tableRow);
|
|
113
|
+
this.tableElement.appendChild(this.theadElement);
|
|
114
|
+
}
|
|
115
|
+
createHeaderCheckboxCell() {
|
|
116
|
+
const headerCell = document.createElement('th');
|
|
117
|
+
headerCell.className = `${TABLE_CLASS_NAMES.checkboxCell} ${TABLE_CLASS_NAMES.checkboxCellHeader}`;
|
|
118
|
+
const wrapper = document.createElement('span');
|
|
119
|
+
wrapper.className = 'ncua-checkbox-input ncua-checkbox-input--sm';
|
|
120
|
+
const checkbox = document.createElement('input');
|
|
121
|
+
checkbox.type = 'checkbox';
|
|
122
|
+
checkbox.setAttribute('aria-label', '전체 선택');
|
|
123
|
+
checkbox.addEventListener('change', () => this.handleSelectAll(checkbox.checked), {
|
|
124
|
+
signal: this.abortController.signal,
|
|
125
|
+
});
|
|
126
|
+
wrapper.appendChild(checkbox);
|
|
127
|
+
headerCell.appendChild(wrapper);
|
|
128
|
+
return headerCell;
|
|
129
|
+
}
|
|
130
|
+
createHeaderDataCell(column) {
|
|
131
|
+
const headerCell = document.createElement('th');
|
|
132
|
+
headerCell.className = TABLE_CLASS_NAMES.headerCell;
|
|
133
|
+
if (column.width) {
|
|
134
|
+
headerCell.style.width = column.width;
|
|
135
|
+
}
|
|
136
|
+
const innerContainer = document.createElement('span');
|
|
137
|
+
innerContainer.className = 'ncua-table__header-cell-inner';
|
|
138
|
+
const textSpan = document.createElement('span');
|
|
139
|
+
textSpan.className = 'ncua-table__header-cell-text';
|
|
140
|
+
textSpan.textContent = column.label;
|
|
141
|
+
innerContainer.appendChild(textSpan);
|
|
142
|
+
if (column.sortable) {
|
|
143
|
+
headerCell.classList.add(TABLE_CLASS_NAMES.headerCellSortable);
|
|
144
|
+
this.sortState.set(column.key, 'none');
|
|
145
|
+
const sortIcon = document.createElement('span');
|
|
146
|
+
sortIcon.className = TABLE_CLASS_NAMES.sortIcon;
|
|
147
|
+
sortIcon.innerHTML = SORT_SVG.none;
|
|
148
|
+
innerContainer.appendChild(sortIcon);
|
|
149
|
+
headerCell.addEventListener('click', () => this.handleSort(column.key, headerCell), {
|
|
150
|
+
signal: this.abortController.signal,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
headerCell.appendChild(innerContainer);
|
|
154
|
+
return headerCell;
|
|
155
|
+
}
|
|
156
|
+
renderBody() {
|
|
157
|
+
this.tbodyElement.innerHTML = '';
|
|
158
|
+
const data = this.options.data || [];
|
|
159
|
+
if (data.length === 0) {
|
|
160
|
+
this.renderEmptyState();
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
if (this.options.type === 'vertical') {
|
|
164
|
+
this.renderVerticalBody(data);
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
this.renderHorizontalBody(data);
|
|
168
|
+
}
|
|
169
|
+
renderEmptyState() {
|
|
170
|
+
const columnCount = (this.options.columns?.length || 1) + (this.options.selectable ? 1 : 0);
|
|
171
|
+
const tableRow = document.createElement('tr');
|
|
172
|
+
const tableCell = document.createElement('td');
|
|
173
|
+
tableCell.colSpan = columnCount;
|
|
174
|
+
tableCell.className = TABLE_CLASS_NAMES.empty;
|
|
175
|
+
tableCell.setAttribute('role', 'status');
|
|
176
|
+
tableCell.setAttribute('aria-live', 'polite');
|
|
177
|
+
tableCell.textContent = this.options.emptyText;
|
|
178
|
+
tableRow.appendChild(tableCell);
|
|
179
|
+
this.tbodyElement.appendChild(tableRow);
|
|
180
|
+
}
|
|
181
|
+
renderHorizontalBody(data) {
|
|
182
|
+
for (let rowIndex = 0; rowIndex < data.length; rowIndex++) {
|
|
183
|
+
const tableRow = this.createHorizontalRow(data[rowIndex], rowIndex);
|
|
184
|
+
this.tbodyElement.appendChild(tableRow);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
createRowCheckboxCell(rowIndex) {
|
|
188
|
+
const tableCell = document.createElement('td');
|
|
189
|
+
tableCell.className = `${TABLE_CLASS_NAMES.checkboxCell} ${TABLE_CLASS_NAMES.checkboxCellBody}`;
|
|
190
|
+
const wrapper = document.createElement('span');
|
|
191
|
+
wrapper.className = 'ncua-checkbox-input ncua-checkbox-input--sm';
|
|
192
|
+
const checkbox = document.createElement('input');
|
|
193
|
+
checkbox.type = 'checkbox';
|
|
194
|
+
checkbox.checked = this.selectedIndices.has(rowIndex);
|
|
195
|
+
checkbox.setAttribute('aria-label', '행 선택');
|
|
196
|
+
checkbox.addEventListener('change', () => this.handleRowSelect(rowIndex, checkbox.checked), {
|
|
197
|
+
signal: this.abortController.signal,
|
|
198
|
+
});
|
|
199
|
+
if (this.selectedIndices.has(rowIndex)) {
|
|
200
|
+
wrapper.classList.add('has-checked');
|
|
201
|
+
}
|
|
202
|
+
wrapper.appendChild(checkbox);
|
|
203
|
+
tableCell.appendChild(wrapper);
|
|
204
|
+
return tableCell;
|
|
205
|
+
}
|
|
206
|
+
createHorizontalRow(row, rowIndex) {
|
|
207
|
+
const tableRow = document.createElement('tr');
|
|
208
|
+
tableRow.className = TABLE_CLASS_NAMES.row;
|
|
209
|
+
if (this.selectedIndices.has(rowIndex)) {
|
|
210
|
+
tableRow.classList.add(TABLE_CLASS_NAMES.rowSelected);
|
|
211
|
+
}
|
|
212
|
+
if (this.options.selectable) {
|
|
213
|
+
tableRow.appendChild(this.createRowCheckboxCell(rowIndex));
|
|
214
|
+
}
|
|
215
|
+
for (const column of this.options.columns ?? []) {
|
|
216
|
+
const tableCell = document.createElement('td');
|
|
217
|
+
tableCell.className = TABLE_CLASS_NAMES.cell;
|
|
218
|
+
if (column.align) {
|
|
219
|
+
tableCell.style.textAlign = column.align;
|
|
220
|
+
}
|
|
221
|
+
if (column.render) {
|
|
222
|
+
const rendered = column.render(row[column.key], row, rowIndex);
|
|
223
|
+
if (typeof rendered === 'string') {
|
|
224
|
+
tableCell.textContent = rendered;
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
tableCell.appendChild(rendered);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
const value = row[column.key];
|
|
232
|
+
tableCell.textContent = value != null ? String(value) : '-';
|
|
233
|
+
}
|
|
234
|
+
tableRow.appendChild(tableCell);
|
|
235
|
+
}
|
|
236
|
+
return tableRow;
|
|
237
|
+
}
|
|
238
|
+
renderVerticalBody(data) {
|
|
239
|
+
const row = data[0] || {};
|
|
240
|
+
for (const column of this.options.columns ?? []) {
|
|
241
|
+
const tableRow = this.createVerticalRow(column, row);
|
|
242
|
+
this.tbodyElement.appendChild(tableRow);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
createVerticalRow(column, row) {
|
|
246
|
+
const tableRow = document.createElement('tr');
|
|
247
|
+
tableRow.className = TABLE_CLASS_NAMES.row;
|
|
248
|
+
const labelCell = document.createElement('td');
|
|
249
|
+
labelCell.className = TABLE_CLASS_NAMES.cell;
|
|
250
|
+
labelCell.textContent = column.label;
|
|
251
|
+
tableRow.appendChild(labelCell);
|
|
252
|
+
const valueCell = this.createVerticalValueCell(column, row);
|
|
253
|
+
tableRow.appendChild(valueCell);
|
|
254
|
+
return tableRow;
|
|
255
|
+
}
|
|
256
|
+
createVerticalValueCell(column, row) {
|
|
257
|
+
const valueCell = document.createElement('td');
|
|
258
|
+
valueCell.className = TABLE_CLASS_NAMES.cell;
|
|
259
|
+
if (column.render) {
|
|
260
|
+
const rendered = column.render(row[column.key], row, 0);
|
|
261
|
+
if (typeof rendered === 'string') {
|
|
262
|
+
valueCell.textContent = rendered;
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
valueCell.appendChild(rendered);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
const value = row[column.key];
|
|
270
|
+
valueCell.textContent = value != null ? String(value) : '-';
|
|
271
|
+
}
|
|
272
|
+
return valueCell;
|
|
273
|
+
}
|
|
274
|
+
handleSort(key, thElement) {
|
|
275
|
+
const nextDirection = this.getNextSortDirection(key);
|
|
276
|
+
for (const [sortKey] of this.sortState) {
|
|
277
|
+
this.sortState.set(sortKey, 'none');
|
|
278
|
+
}
|
|
279
|
+
this.sortState.set(key, nextDirection);
|
|
280
|
+
this.updateSortIcons(thElement, nextDirection);
|
|
281
|
+
thElement.setAttribute('aria-sort', this.getAriaSortValue(nextDirection));
|
|
282
|
+
this.options.onSort?.(key, nextDirection);
|
|
283
|
+
}
|
|
284
|
+
getNextSortDirection(key) {
|
|
285
|
+
const currentDirection = this.sortState.get(key) || 'none';
|
|
286
|
+
if (currentDirection === 'none') {
|
|
287
|
+
return 'asc';
|
|
288
|
+
}
|
|
289
|
+
if (currentDirection === 'asc') {
|
|
290
|
+
return 'desc';
|
|
291
|
+
}
|
|
292
|
+
return 'none';
|
|
293
|
+
}
|
|
294
|
+
updateSortIcons(thElement, direction) {
|
|
295
|
+
const allHeaders = this.theadElement?.querySelectorAll(`.${TABLE_CLASS_NAMES.headerCell}`);
|
|
296
|
+
allHeaders?.forEach((header) => {
|
|
297
|
+
const icon = header.querySelector(`.${TABLE_CLASS_NAMES.sortIcon}`);
|
|
298
|
+
if (icon) {
|
|
299
|
+
icon.innerHTML = SORT_SVG.none;
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
const sortIcon = thElement.querySelector(`.${TABLE_CLASS_NAMES.sortIcon}`);
|
|
303
|
+
if (sortIcon) {
|
|
304
|
+
sortIcon.innerHTML = SORT_SVG[direction];
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
getAriaSortValue(direction) {
|
|
308
|
+
return ARIA_SORT_VALUES[direction];
|
|
309
|
+
}
|
|
310
|
+
handleSelectAll(checked) {
|
|
311
|
+
this.selectedIndices.clear();
|
|
312
|
+
if (checked && this.options.data) {
|
|
313
|
+
for (let index = 0; index < this.options.data.length; index++) {
|
|
314
|
+
this.selectedIndices.add(index);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
this.updateRowSelectionStyles();
|
|
318
|
+
this.updateHeaderCheckbox();
|
|
319
|
+
this.options.onSelect?.([...this.selectedIndices]);
|
|
320
|
+
}
|
|
321
|
+
handleRowSelect(index, checked) {
|
|
322
|
+
if (checked) {
|
|
323
|
+
this.selectedIndices.add(index);
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
this.selectedIndices.delete(index);
|
|
327
|
+
}
|
|
328
|
+
this.updateRowSelectionStyles();
|
|
329
|
+
this.updateHeaderCheckbox();
|
|
330
|
+
this.options.onSelect?.([...this.selectedIndices]);
|
|
331
|
+
}
|
|
332
|
+
updateRowSelectionStyles() {
|
|
333
|
+
const rows = this.tbodyElement.querySelectorAll(`.${TABLE_CLASS_NAMES.row}`);
|
|
334
|
+
rows.forEach((row, index) => {
|
|
335
|
+
const isSelected = this.selectedIndices.has(index);
|
|
336
|
+
row.classList.toggle(TABLE_CLASS_NAMES.rowSelected, isSelected);
|
|
337
|
+
const checkbox = row.querySelector('input[type="checkbox"]');
|
|
338
|
+
if (checkbox) {
|
|
339
|
+
checkbox.checked = isSelected;
|
|
340
|
+
}
|
|
341
|
+
const wrapper = row.querySelector('.ncua-checkbox-input');
|
|
342
|
+
if (wrapper) {
|
|
343
|
+
wrapper.classList.toggle('has-checked', isSelected);
|
|
344
|
+
}
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
updateHeaderCheckbox() {
|
|
348
|
+
const headerWrapper = this.theadElement?.querySelector('.ncua-checkbox-input');
|
|
349
|
+
const headerCheckbox = headerWrapper?.querySelector('input[type="checkbox"]');
|
|
350
|
+
if (!headerWrapper || !headerCheckbox || !this.options.data)
|
|
351
|
+
return;
|
|
352
|
+
const total = this.options.data.length;
|
|
353
|
+
const selectedCount = this.selectedIndices.size;
|
|
354
|
+
const isAllSelected = selectedCount === total && total > 0;
|
|
355
|
+
const isIndeterminate = selectedCount > 0 && selectedCount < total;
|
|
356
|
+
headerCheckbox.checked = isAllSelected;
|
|
357
|
+
headerCheckbox.indeterminate = isIndeterminate;
|
|
358
|
+
headerWrapper.classList.toggle('has-checked', isAllSelected);
|
|
359
|
+
headerWrapper.classList.toggle('has-indeterminate', isIndeterminate);
|
|
360
|
+
}
|
|
361
|
+
// ──────── Public API ────────
|
|
362
|
+
getElement() {
|
|
363
|
+
return this.element;
|
|
364
|
+
}
|
|
365
|
+
setData(data) {
|
|
366
|
+
this.options.data = data;
|
|
367
|
+
this.selectedIndices.clear();
|
|
368
|
+
this.renderBody();
|
|
369
|
+
this.updateHeaderCheckbox();
|
|
370
|
+
}
|
|
371
|
+
getSelectedIndices() {
|
|
372
|
+
return [...this.selectedIndices];
|
|
373
|
+
}
|
|
374
|
+
destroy() {
|
|
375
|
+
this.abortController.abort();
|
|
376
|
+
this.element.remove();
|
|
377
|
+
}
|
|
378
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare const TABLE_CLASS_NAMES: {
|
|
2
|
+
readonly table: "ncua-table";
|
|
3
|
+
readonly horizontal: "ncua-table--horizontal";
|
|
4
|
+
readonly vertical: "ncua-table--vertical";
|
|
5
|
+
readonly hoverable: "ncua-table--hoverable";
|
|
6
|
+
readonly fixedHeader: "ncua-table--fixed-header";
|
|
7
|
+
readonly scrollContainer: "ncua-table__scroll-container";
|
|
8
|
+
readonly tableElement: "ncua-table__table";
|
|
9
|
+
readonly header: "ncua-table__header";
|
|
10
|
+
readonly headerCell: "ncua-table__header-cell";
|
|
11
|
+
readonly headerCellSortable: "ncua-table__header-cell--sortable";
|
|
12
|
+
readonly sortIcon: "ncua-table__sort-icon";
|
|
13
|
+
readonly body: "ncua-table__body";
|
|
14
|
+
readonly row: "ncua-table__row";
|
|
15
|
+
readonly rowSelected: "ncua-table__row--selected";
|
|
16
|
+
readonly rowWarning: "ncua-table__row--warning";
|
|
17
|
+
readonly rowError: "ncua-table__row--error";
|
|
18
|
+
readonly cell: "ncua-table__cell";
|
|
19
|
+
readonly checkboxCell: "ncua-table__checkbox-cell";
|
|
20
|
+
readonly checkboxCellHeader: "ncua-table__checkbox-cell--header";
|
|
21
|
+
readonly checkboxCellBody: "ncua-table__checkbox-cell--body";
|
|
22
|
+
readonly footer: "ncua-table__footer";
|
|
23
|
+
readonly footerRow: "ncua-table__footer-row";
|
|
24
|
+
readonly pagination: "ncua-table__pagination";
|
|
25
|
+
readonly empty: "ncua-table__empty";
|
|
26
|
+
readonly required: "ncua-table__required";
|
|
27
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export const TABLE_CLASS_NAMES = {
|
|
2
|
+
table: 'ncua-table',
|
|
3
|
+
horizontal: 'ncua-table--horizontal',
|
|
4
|
+
vertical: 'ncua-table--vertical',
|
|
5
|
+
hoverable: 'ncua-table--hoverable',
|
|
6
|
+
fixedHeader: 'ncua-table--fixed-header',
|
|
7
|
+
scrollContainer: 'ncua-table__scroll-container',
|
|
8
|
+
tableElement: 'ncua-table__table',
|
|
9
|
+
header: 'ncua-table__header',
|
|
10
|
+
headerCell: 'ncua-table__header-cell',
|
|
11
|
+
headerCellSortable: 'ncua-table__header-cell--sortable',
|
|
12
|
+
sortIcon: 'ncua-table__sort-icon',
|
|
13
|
+
body: 'ncua-table__body',
|
|
14
|
+
row: 'ncua-table__row',
|
|
15
|
+
rowSelected: 'ncua-table__row--selected',
|
|
16
|
+
rowWarning: 'ncua-table__row--warning',
|
|
17
|
+
rowError: 'ncua-table__row--error',
|
|
18
|
+
cell: 'ncua-table__cell',
|
|
19
|
+
checkboxCell: 'ncua-table__checkbox-cell',
|
|
20
|
+
checkboxCellHeader: 'ncua-table__checkbox-cell--header',
|
|
21
|
+
checkboxCellBody: 'ncua-table__checkbox-cell--body',
|
|
22
|
+
footer: 'ncua-table__footer',
|
|
23
|
+
footerRow: 'ncua-table__footer-row',
|
|
24
|
+
pagination: 'ncua-table__pagination',
|
|
25
|
+
empty: 'ncua-table__empty',
|
|
26
|
+
required: 'ncua-table__required',
|
|
27
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type TableType = 'horizontal' | 'vertical';
|
|
2
|
+
export type SortDirection = 'asc' | 'desc' | 'none';
|
|
3
|
+
export type RowStatus = 'warning' | 'error';
|
|
4
|
+
export type TableColumn = {
|
|
5
|
+
key: string;
|
|
6
|
+
label: string;
|
|
7
|
+
width?: string;
|
|
8
|
+
sortable?: boolean;
|
|
9
|
+
align?: 'left' | 'center' | 'right';
|
|
10
|
+
render?: (value: unknown, row: Record<string, unknown>, rowIndex: number) => HTMLElement | string;
|
|
11
|
+
};
|
|
12
|
+
export type TableOptions = {
|
|
13
|
+
type?: TableType;
|
|
14
|
+
columns?: TableColumn[];
|
|
15
|
+
data?: Record<string, unknown>[];
|
|
16
|
+
hoverable?: boolean;
|
|
17
|
+
selectable?: boolean;
|
|
18
|
+
fixedHeader?: boolean;
|
|
19
|
+
maxHeight?: string;
|
|
20
|
+
emptyText?: string;
|
|
21
|
+
onSort?: (key: string, direction: SortDirection) => void;
|
|
22
|
+
onSelect?: (selectedIndices: number[]) => void;
|
|
23
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|