@iyulab/components 0.3.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +67 -0
- package/README.md +42 -236
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js +9 -0
- package/dist/_virtual/_@oxc-project_runtime@0.122.0/helpers/decorateMetadata.js +6 -0
- package/dist/_virtual/_glob-assets_raw/bell-fill.svg.d37c41d9.js +4 -0
- package/dist/_virtual/_glob-assets_raw/check-circle-fill.svg.51c33a2a.js +4 -0
- package/dist/_virtual/_glob-assets_raw/check-lg.svg.371c5e78.js +4 -0
- package/dist/_virtual/_glob-assets_raw/chevron-down.svg.0ccd06ea.js +4 -0
- package/dist/_virtual/_glob-assets_raw/chevron-left.svg.b4601050.js +4 -0
- package/dist/_virtual/_glob-assets_raw/chevron-right.svg.0711bb67.js +4 -0
- package/dist/_virtual/_glob-assets_raw/chevron-up.svg.ed917211.js +4 -0
- package/dist/_virtual/_glob-assets_raw/dark.css.e8ac080d.js +4 -0
- package/dist/_virtual/_glob-assets_raw/dash-lg.svg.b40b8b3a.js +4 -0
- package/dist/_virtual/_glob-assets_raw/exclamation-circle-fill.svg.dc8c523e.js +4 -0
- package/dist/_virtual/_glob-assets_raw/exclamation-triangle-fill.svg.7949d2c7.js +4 -0
- package/dist/_virtual/_glob-assets_raw/eye-slash.svg.240afafa.js +4 -0
- package/dist/_virtual/_glob-assets_raw/eye.svg.2e5e9c4c.js +4 -0
- package/dist/_virtual/_glob-assets_raw/info-circle-fill.svg.6580071d.js +4 -0
- package/dist/_virtual/_glob-assets_raw/light.css.637cb2f8.js +4 -0
- package/dist/_virtual/_glob-assets_raw/plus-lg.svg.294e9073.js +4 -0
- package/dist/_virtual/_glob-assets_raw/search.svg.0ba2012d.js +4 -0
- package/dist/_virtual/_glob-assets_raw/star-fill.svg.f24b5a2d.js +4 -0
- package/dist/_virtual/_glob-assets_raw/star.svg.4af61468.js +4 -0
- package/dist/_virtual/_glob-assets_raw/three-dots-vertical.svg.9fee78c5.js +4 -0
- package/dist/_virtual/_glob-assets_raw/three-dots.svg.6a7a5b23.js +4 -0
- package/dist/_virtual/_glob-assets_raw/x-lg.svg.f34b882c.js +4 -0
- package/dist/components/UDataElement.d.ts +44 -0
- package/dist/components/UDataElement.js +101 -0
- package/dist/components/UDataElement.styles.js +95 -0
- package/dist/components/UElement.d.ts +54 -0
- package/dist/components/UElement.js +83 -0
- package/dist/components/UElement.styles.js +67 -0
- package/dist/components/UFloatingElement.d.ts +125 -0
- package/dist/components/UFloatingElement.js +238 -0
- package/dist/components/UFloatingElement.styles.d.ts +9 -0
- package/dist/components/UFloatingElement.styles.js +46 -0
- package/dist/components/UFormControlElement.d.ts +57 -0
- package/dist/components/UFormControlElement.js +68 -0
- package/dist/components/UFormControlElement.styles.js +14 -0
- package/dist/components/UOverlayElement.d.ts +66 -0
- package/dist/components/UOverlayElement.js +123 -0
- package/dist/components/UOverlayElement.styles.d.ts +1 -0
- package/dist/components/UOverlayElement.styles.js +35 -0
- package/dist/components/alert/UAlert.d.ts +58 -3
- package/dist/components/alert/UAlert.js +115 -4
- package/dist/components/alert/UAlert.styles.js +73 -48
- package/dist/components/avatar/UAvatar.d.ts +27 -0
- package/dist/components/avatar/UAvatar.js +42 -0
- package/dist/components/avatar/UAvatar.styles.d.ts +1 -0
- package/dist/components/avatar/UAvatar.styles.js +45 -0
- package/dist/components/badge/UBadge.d.ts +28 -0
- package/dist/components/badge/UBadge.js +40 -0
- package/dist/components/badge/UBadge.styles.d.ts +1 -0
- package/dist/components/badge/UBadge.styles.js +113 -0
- package/dist/components/breadcrumb/UBreadcrumb.d.ts +24 -0
- package/dist/components/breadcrumb/UBreadcrumb.js +65 -0
- package/dist/components/breadcrumb/UBreadcrumb.styles.d.ts +1 -0
- package/dist/components/breadcrumb/UBreadcrumb.styles.js +37 -0
- package/dist/components/breadcrumb-item/UBreadcrumbItem.d.ts +30 -0
- package/dist/components/breadcrumb-item/UBreadcrumbItem.js +52 -0
- package/dist/components/breadcrumb-item/UBreadcrumbItem.styles.d.ts +1 -0
- package/dist/components/breadcrumb-item/UBreadcrumbItem.styles.js +41 -0
- package/dist/components/button/UButton.d.ts +46 -3
- package/dist/components/button/UButton.js +104 -4
- package/dist/components/button/UButton.styles.js +121 -48
- package/dist/components/button-group/UButtonGroup.d.ts +28 -0
- package/dist/components/button-group/UButtonGroup.js +93 -0
- package/dist/components/button-group/UButtonGroup.styles.d.ts +1 -0
- package/dist/components/button-group/UButtonGroup.styles.js +34 -0
- package/dist/components/card/UCard.d.ts +30 -3
- package/dist/components/card/UCard.js +61 -4
- package/dist/components/card/UCard.styles.js +13 -12
- package/dist/components/carousel/UCarousel.d.ts +65 -3
- package/dist/components/carousel/UCarousel.js +219 -2
- package/dist/components/carousel/UCarousel.styles.js +32 -33
- package/dist/components/checkbox/UCheckbox.d.ts +39 -0
- package/dist/components/checkbox/UCheckbox.js +88 -0
- package/dist/components/checkbox/UCheckbox.styles.d.ts +1 -0
- package/dist/components/checkbox/UCheckbox.styles.js +211 -0
- package/dist/components/chip/UChip.d.ts +43 -0
- package/dist/components/chip/UChip.js +103 -0
- package/dist/components/chip/UChip.styles.d.ts +1 -0
- package/dist/components/chip/UChip.styles.js +31 -0
- package/dist/components/dialog/UDialog.d.ts +29 -2
- package/dist/components/dialog/UDialog.js +66 -4
- package/dist/components/dialog/UDialog.styles.js +90 -39
- package/dist/components/divider/UDivider.d.ts +27 -2
- package/dist/components/divider/UDivider.js +45 -4
- package/dist/components/divider/UDivider.styles.js +80 -10
- package/dist/components/drawer/UDrawer.d.ts +25 -3
- package/dist/components/drawer/UDrawer.js +54 -4
- package/dist/components/drawer/UDrawer.styles.js +67 -60
- package/dist/components/field/UField.d.ts +31 -0
- package/dist/components/field/UField.js +64 -0
- package/dist/components/field/UField.styles.d.ts +1 -0
- package/dist/components/field/UField.styles.js +47 -0
- package/dist/components/form/UForm.d.ts +38 -2
- package/dist/components/form/UForm.js +105 -4
- package/dist/components/form/UForm.styles.js +5 -5
- package/dist/components/icon/UIcon.d.ts +23 -4
- package/dist/components/icon/UIcon.js +55 -4
- package/dist/components/icon/UIcon.styles.js +5 -5
- package/dist/components/icon-button/UIconButton.d.ts +48 -0
- package/dist/components/icon-button/UIconButton.js +88 -0
- package/dist/components/icon-button/UIconButton.styles.d.ts +1 -0
- package/dist/components/icon-button/UIconButton.styles.js +24 -0
- package/dist/components/input/UInput.d.ts +95 -3
- package/dist/components/input/UInput.js +258 -2
- package/dist/components/input/UInput.styles.js +120 -86
- package/dist/components/menu/UMenu.d.ts +41 -3
- package/dist/components/menu/UMenu.js +178 -4
- package/dist/components/menu/UMenu.styles.js +16 -30
- package/dist/components/menu-item/UMenuItem.d.ts +48 -2
- package/dist/components/menu-item/UMenuItem.js +159 -2
- package/dist/components/menu-item/UMenuItem.styles.js +120 -34
- package/dist/components/option/UOption.d.ts +42 -0
- package/dist/components/option/UOption.js +64 -0
- package/dist/components/option/UOption.styles.d.ts +1 -0
- package/dist/components/option/UOption.styles.js +132 -0
- package/dist/components/panel/UPanel.d.ts +22 -0
- package/dist/components/panel/UPanel.js +36 -0
- package/dist/components/panel/UPanel.styles.d.ts +1 -0
- package/dist/components/panel/UPanel.styles.js +14 -0
- package/dist/components/popover/UPopover.d.ts +69 -0
- package/dist/components/popover/UPopover.js +235 -0
- package/dist/components/popover/UPopover.styles.d.ts +1 -0
- package/dist/components/popover/UPopover.styles.js +9 -0
- package/dist/components/progress-bar/UProgressBar.d.ts +46 -2
- package/dist/components/progress-bar/UProgressBar.js +94 -2
- package/dist/components/progress-bar/UProgressBar.styles.js +110 -36
- package/dist/components/progress-ring/UProgressRing.d.ts +46 -3
- package/dist/components/progress-ring/UProgressRing.js +152 -2
- package/dist/components/progress-ring/UProgressRing.styles.js +88 -25
- package/dist/components/radio/URadio.d.ts +41 -0
- package/dist/components/radio/URadio.js +151 -0
- package/dist/components/radio/URadio.styles.d.ts +1 -0
- package/dist/components/radio/URadio.styles.js +111 -0
- package/dist/components/rating/URating.d.ts +48 -0
- package/dist/components/rating/URating.js +196 -0
- package/dist/components/rating/URating.styles.d.ts +1 -0
- package/dist/components/rating/URating.styles.js +55 -0
- package/dist/components/select/USelect.d.ts +70 -0
- package/dist/components/select/USelect.js +315 -0
- package/dist/components/select/USelect.styles.d.ts +1 -0
- package/dist/components/select/USelect.styles.js +200 -0
- package/dist/components/skeleton/USkeleton.d.ts +27 -3
- package/dist/components/skeleton/USkeleton.js +37 -4
- package/dist/components/skeleton/USkeleton.styles.js +15 -18
- package/dist/components/slider/USlider.d.ts +88 -0
- package/dist/components/slider/USlider.js +286 -0
- package/dist/components/slider/USlider.styles.d.ts +1 -0
- package/dist/components/slider/USlider.styles.js +125 -0
- package/dist/components/spinner/USpinner.d.ts +23 -2
- package/dist/components/spinner/USpinner.js +37 -3
- package/dist/components/spinner/USpinner.styles.js +34 -13
- package/dist/components/split-panel/USplitPanel.d.ts +49 -2
- package/dist/components/split-panel/USplitPanel.js +239 -3
- package/dist/components/split-panel/USplitPanel.styles.js +47 -15
- package/dist/components/switch/USwitch.d.ts +43 -0
- package/dist/components/switch/USwitch.js +80 -0
- package/dist/components/switch/USwitch.styles.d.ts +1 -0
- package/dist/components/switch/USwitch.styles.js +191 -0
- package/dist/components/tab/UTab.d.ts +31 -0
- package/dist/components/tab/UTab.js +68 -0
- package/dist/components/tab/UTab.styles.d.ts +1 -0
- package/dist/components/tab/UTab.styles.js +46 -0
- package/dist/components/tab-panel/UTabPanel.d.ts +45 -0
- package/dist/components/tab-panel/UTabPanel.js +150 -0
- package/dist/components/tab-panel/UTabPanel.styles.d.ts +1 -0
- package/dist/components/tab-panel/UTabPanel.styles.js +201 -0
- package/dist/components/tag/UTag.d.ts +26 -3
- package/dist/components/tag/UTag.js +41 -4
- package/dist/components/tag/UTag.styles.js +206 -60
- package/dist/components/textarea/UTextarea.d.ts +65 -0
- package/dist/components/textarea/UTextarea.js +145 -0
- package/dist/components/textarea/UTextarea.styles.d.ts +1 -0
- package/dist/components/textarea/UTextarea.styles.js +157 -0
- package/dist/components/tooltip/UTooltip.d.ts +28 -2
- package/dist/components/tooltip/UTooltip.js +104 -4
- package/dist/components/tooltip/UTooltip.styles.js +10 -12
- package/dist/components/tree/UTree.d.ts +62 -2
- package/dist/components/tree/UTree.js +308 -3
- package/dist/components/tree/UTree.styles.js +13 -19
- package/dist/components/tree-item/UTreeItem.d.ts +61 -2
- package/dist/components/tree-item/UTreeItem.js +191 -2
- package/dist/components/tree-item/UTreeItem.styles.js +96 -37
- package/dist/events/CheckEvent.d.ts +7 -0
- package/dist/events/CollapseEvent.d.ts +7 -0
- package/dist/events/ExpandEvent.d.ts +7 -0
- package/dist/events/HideEvent.d.ts +7 -0
- package/dist/events/NavigateEvent.d.ts +7 -0
- package/dist/events/PickEvent.d.ts +18 -0
- package/dist/events/RemoveEvent.d.ts +7 -0
- package/dist/events/ShiftEvent.d.ts +16 -0
- package/dist/events/ShowEvent.d.ts +7 -0
- package/dist/index.d.ts +41 -8
- package/dist/index.js +56 -46
- package/dist/react/UAlert.d.ts +13 -0
- package/dist/{react-components → react}/UAlert.js +5 -2
- package/dist/react/UAvatar.d.ts +9 -0
- package/dist/react/UAvatar.js +10 -0
- package/dist/react/UBadge.d.ts +9 -0
- package/dist/react/UBadge.js +10 -0
- package/dist/react/UBreadcrumb.d.ts +9 -0
- package/dist/react/UBreadcrumb.js +10 -0
- package/dist/react/UBreadcrumbItem.d.ts +11 -0
- package/dist/react/UBreadcrumbItem.js +12 -0
- package/dist/{react-components → react}/UButton.d.ts +3 -2
- package/dist/{react-components → react}/UButton.js +2 -2
- package/dist/react/UButtonGroup.d.ts +9 -0
- package/dist/react/UButtonGroup.js +10 -0
- package/dist/{react-components → react}/UCard.d.ts +3 -2
- package/dist/{react-components → react}/UCard.js +2 -2
- package/dist/{react-components → react}/UCarousel.d.ts +3 -2
- package/dist/{react-components → react}/UCarousel.js +2 -2
- package/dist/react/UCheckbox.d.ts +9 -0
- package/dist/react/UCheckbox.js +10 -0
- package/dist/react/UChip.d.ts +13 -0
- package/dist/react/UChip.js +13 -0
- package/dist/{react-components → react}/UDialog.d.ts +3 -2
- package/dist/{react-components → react}/UDialog.js +2 -2
- package/dist/{react-components → react}/UDivider.d.ts +3 -2
- package/dist/{react-components → react}/UDivider.js +2 -2
- package/dist/{react-components → react}/UDrawer.d.ts +3 -2
- package/dist/{react-components → react}/UDrawer.js +2 -2
- package/dist/react/UField.d.ts +9 -0
- package/dist/react/UField.js +10 -0
- package/dist/react/UForm.d.ts +10 -0
- package/dist/{react-components → react}/UForm.js +4 -2
- package/dist/{react-components → react}/UIcon.d.ts +3 -2
- package/dist/{react-components → react}/UIcon.js +2 -2
- package/dist/react/UIconButton.d.ts +9 -0
- package/dist/react/UIconButton.js +10 -0
- package/dist/react/UInput.d.ts +11 -0
- package/dist/{react-components → react}/UInput.js +5 -2
- package/dist/react/UMenu.d.ts +10 -0
- package/dist/{react-components → react}/UMenu.js +4 -2
- package/dist/react/UMenuItem.d.ts +11 -0
- package/dist/{react-components → react}/UMenuItem.js +4 -2
- package/dist/react/UOption.d.ts +9 -0
- package/dist/react/UOption.js +10 -0
- package/dist/react/UPanel.d.ts +9 -0
- package/dist/react/UPanel.js +10 -0
- package/dist/react/UPopover.d.ts +11 -0
- package/dist/react/UPopover.js +13 -0
- package/dist/react/UProgressBar.d.ts +9 -0
- package/dist/{react-components → react}/UProgressBar.js +2 -2
- package/dist/react/UProgressRing.d.ts +9 -0
- package/dist/{react-components → react}/UProgressRing.js +2 -2
- package/dist/react/URadio.d.ts +10 -0
- package/dist/react/URadio.js +12 -0
- package/dist/react/URating.d.ts +10 -0
- package/dist/react/URating.js +12 -0
- package/dist/react/USelect.d.ts +10 -0
- package/dist/react/USelect.js +12 -0
- package/dist/{react-components → react}/USkeleton.d.ts +3 -2
- package/dist/{react-components → react}/USkeleton.js +2 -2
- package/dist/react/USlider.d.ts +10 -0
- package/dist/react/USlider.js +12 -0
- package/dist/{react-components → react}/USpinner.d.ts +3 -2
- package/dist/{react-components → react}/USpinner.js +2 -2
- package/dist/react/USplitPanel.d.ts +13 -0
- package/dist/{react-components → react}/USplitPanel.js +6 -2
- package/dist/react/USwitch.d.ts +10 -0
- package/dist/react/USwitch.js +12 -0
- package/dist/react/UTab.d.ts +11 -0
- package/dist/react/UTab.js +12 -0
- package/dist/react/UTabPanel.d.ts +9 -0
- package/dist/react/UTabPanel.js +10 -0
- package/dist/{react-components → react}/UTag.d.ts +3 -2
- package/dist/{react-components → react}/UTag.js +2 -2
- package/dist/react/UTextarea.d.ts +11 -0
- package/dist/react/UTextarea.js +13 -0
- package/dist/react/UTooltip.d.ts +11 -0
- package/dist/{react-components → react}/UTooltip.js +5 -2
- package/dist/react/UTree.d.ts +10 -0
- package/dist/{react-components → react}/UTree.js +4 -2
- package/dist/react/UTreeItem.d.ts +17 -0
- package/dist/{react-components → react}/UTreeItem.js +7 -2
- package/dist/{react-components → react}/index.d.ts +40 -27
- package/dist/{react-components → react}/index.js +40 -20
- package/dist/{assets/styles → styles}/dark.css +68 -3
- package/dist/{assets/styles → styles}/light.css +68 -3
- package/dist/utilities/BrowserStorage.d.ts +2 -1
- package/dist/utilities/BrowserStorage.js +69 -86
- package/dist/utilities/Dialog.d.ts +83 -0
- package/dist/utilities/Dialog.js +141 -0
- package/dist/utilities/OverlayManager.d.ts +37 -0
- package/dist/utilities/OverlayManager.js +68 -0
- package/dist/utilities/Theme.js +134 -141
- package/dist/utilities/Toast.d.ts +45 -0
- package/dist/utilities/Toast.js +114 -0
- package/dist/utilities/converters.d.ts +44 -1
- package/dist/utilities/converters.js +112 -14
- package/dist/utilities/elements.d.ts +23 -0
- package/dist/utilities/elements.js +67 -16
- package/dist/utilities/icons.d.ts +67 -0
- package/dist/utilities/icons.js +200 -0
- package/dist/utilities/sanitizers.d.ts +35 -0
- package/dist/utilities/sanitizers.js +75 -0
- package/package.json +24 -21
- package/plugins/vite-plugin-glob-resolve.d.ts +12 -0
- package/plugins/vite-plugin-glob-resolve.js +66 -0
- package/plugins/vite-plugin-react-wrapper.d.ts +12 -0
- package/plugins/vite-plugin-react-wrapper.js +206 -0
- package/skills/iyulab-components/SKILL.md +138 -0
- package/skills/iyulab-components/references/components/alert.md +74 -0
- package/skills/iyulab-components/references/components/avatar.md +41 -0
- package/skills/iyulab-components/references/components/badge.md +38 -0
- package/skills/iyulab-components/references/components/breadcrumb.md +75 -0
- package/skills/iyulab-components/references/components/button-group.md +38 -0
- package/skills/iyulab-components/references/components/button.md +56 -0
- package/skills/iyulab-components/references/components/card.md +53 -0
- package/skills/iyulab-components/references/components/carousel.md +63 -0
- package/skills/iyulab-components/references/components/checkbox.md +70 -0
- package/skills/iyulab-components/references/components/chip.md +64 -0
- package/skills/iyulab-components/references/components/dialog.md +71 -0
- package/skills/iyulab-components/references/components/divider.md +56 -0
- package/skills/iyulab-components/references/components/drawer.md +63 -0
- package/skills/iyulab-components/references/components/field.md +42 -0
- package/skills/iyulab-components/references/components/form.md +68 -0
- package/skills/iyulab-components/references/components/icon-button.md +56 -0
- package/skills/iyulab-components/references/components/icon.md +49 -0
- package/skills/iyulab-components/references/components/input.md +95 -0
- package/skills/iyulab-components/references/components/menu.md +106 -0
- package/skills/iyulab-components/references/components/option.md +70 -0
- package/skills/iyulab-components/references/components/panel.md +38 -0
- package/skills/iyulab-components/references/components/popover.md +62 -0
- package/skills/iyulab-components/references/components/progress-bar.md +61 -0
- package/skills/iyulab-components/references/components/progress-ring.md +58 -0
- package/skills/iyulab-components/references/components/radio.md +67 -0
- package/skills/iyulab-components/references/components/rating.md +74 -0
- package/skills/iyulab-components/references/components/select.md +86 -0
- package/skills/iyulab-components/references/components/skeleton.md +46 -0
- package/skills/iyulab-components/references/components/slider.md +89 -0
- package/skills/iyulab-components/references/components/spinner.md +47 -0
- package/skills/iyulab-components/references/components/split-panel.md +65 -0
- package/skills/iyulab-components/references/components/switch.md +81 -0
- package/skills/iyulab-components/references/components/tab-panel.md +93 -0
- package/skills/iyulab-components/references/components/tag.md +55 -0
- package/skills/iyulab-components/references/components/textarea.md +67 -0
- package/skills/iyulab-components/references/components/tooltip.md +58 -0
- package/skills/iyulab-components/references/components/tree.md +128 -0
- package/skills/iyulab-components/references/extensions/data.md +60 -0
- package/skills/iyulab-components/references/extensions/element.md +57 -0
- package/skills/iyulab-components/references/extensions/floating.md +60 -0
- package/skills/iyulab-components/references/extensions/form-control.md +79 -0
- package/skills/iyulab-components/references/extensions/overlay.md +76 -0
- package/skills/iyulab-components/references/usage.md +216 -0
- package/skills/iyulab-components/references/utilities/browser-storage.md +54 -0
- package/skills/iyulab-components/references/utilities/converters.md +42 -0
- package/skills/iyulab-components/references/utilities/dialog.md +75 -0
- package/skills/iyulab-components/references/utilities/elements.md +55 -0
- package/skills/iyulab-components/references/utilities/icons.md +53 -0
- package/skills/iyulab-components/references/utilities/overlay-manager.md +34 -0
- package/skills/iyulab-components/references/utilities/sanitizers.md +32 -0
- package/skills/iyulab-components/references/utilities/theme.md +45 -0
- package/skills/iyulab-components/references/utilities/toast.md +58 -0
- package/dist/assets/icons/arrow-down.svg.js +0 -3
- package/dist/assets/icons/arrow-repeat.svg.js +0 -3
- package/dist/assets/icons/arrow-up.svg.js +0 -3
- package/dist/assets/icons/ban.svg.js +0 -3
- package/dist/assets/icons/bell-fill.svg.js +0 -3
- package/dist/assets/icons/box-arrow-up-right.svg.js +0 -3
- package/dist/assets/icons/check-circle-fill.svg.js +0 -3
- package/dist/assets/icons/check-lg.svg.js +0 -3
- package/dist/assets/icons/chevron-down.svg.js +0 -3
- package/dist/assets/icons/chevron-left.svg.js +0 -3
- package/dist/assets/icons/chevron-right.svg.js +0 -3
- package/dist/assets/icons/chevron-up.svg.js +0 -3
- package/dist/assets/icons/copy.svg.js +0 -3
- package/dist/assets/icons/dash-lg.svg.js +0 -3
- package/dist/assets/icons/exclamation-circle-fill.svg.js +0 -3
- package/dist/assets/icons/exclamation-triangle-fill.svg.js +0 -3
- package/dist/assets/icons/eye-slash.svg.js +0 -3
- package/dist/assets/icons/eye.svg.js +0 -3
- package/dist/assets/icons/file-earmark.svg.js +0 -3
- package/dist/assets/icons/flag.svg.js +0 -3
- package/dist/assets/icons/globe.svg.js +0 -3
- package/dist/assets/icons/hand-thumbs-down-fill.svg.js +0 -3
- package/dist/assets/icons/hand-thumbs-down.svg.js +0 -3
- package/dist/assets/icons/hand-thumbs-up-fill.svg.js +0 -3
- package/dist/assets/icons/hand-thumbs-up.svg.js +0 -3
- package/dist/assets/icons/info-circle-fill.svg.js +0 -3
- package/dist/assets/icons/lightbulb-fill.svg.js +0 -3
- package/dist/assets/icons/lightbulb-off.svg.js +0 -3
- package/dist/assets/icons/lightbulb.svg.js +0 -3
- package/dist/assets/icons/mic-fill.svg.js +0 -3
- package/dist/assets/icons/mic-mute-fill.svg.js +0 -3
- package/dist/assets/icons/paperclip.svg.js +0 -3
- package/dist/assets/icons/pencil-square.svg.js +0 -3
- package/dist/assets/icons/plus-lg.svg.js +0 -3
- package/dist/assets/icons/search.svg.js +0 -3
- package/dist/assets/icons/share.svg.js +0 -3
- package/dist/assets/icons/stop-circle.svg.js +0 -3
- package/dist/assets/icons/tools.svg.js +0 -3
- package/dist/assets/icons/x-lg.svg.js +0 -3
- package/dist/assets/styles/dark.css.js +0 -3
- package/dist/assets/styles/light.css.js +0 -3
- package/dist/components/BaseElement.d.ts +0 -33
- package/dist/components/BaseElement.js +0 -59
- package/dist/components/BaseElement.styles.js +0 -28
- package/dist/components/FloatingElement.d.ts +0 -104
- package/dist/components/FloatingElement.js +0 -195
- package/dist/components/FloatingElement.styles.js +0 -23
- package/dist/components/ModalElement.d.ts +0 -70
- package/dist/components/ModalElement.js +0 -144
- package/dist/components/ModalElement.styles.js +0 -29
- package/dist/components/alert/UAlert.component.d.ts +0 -40
- package/dist/components/alert/UAlert.component.js +0 -146
- package/dist/components/button/UButton.component.d.ts +0 -23
- package/dist/components/button/UButton.component.js +0 -72
- package/dist/components/card/UCard.component.d.ts +0 -21
- package/dist/components/card/UCard.component.js +0 -66
- package/dist/components/carousel/UCarousel.component.d.ts +0 -67
- package/dist/components/carousel/UCarousel.component.js +0 -243
- package/dist/components/dialog/UDialog.component.d.ts +0 -17
- package/dist/components/dialog/UDialog.component.js +0 -70
- package/dist/components/divider/UDivider.component.d.ts +0 -10
- package/dist/components/divider/UDivider.component.js +0 -30
- package/dist/components/drawer/UDrawer.component.d.ts +0 -18
- package/dist/components/drawer/UDrawer.component.js +0 -64
- package/dist/components/form/UForm.component.d.ts +0 -24
- package/dist/components/form/UForm.component.js +0 -76
- package/dist/components/icon/UIcon.component.d.ts +0 -29
- package/dist/components/icon/UIcon.component.js +0 -57
- package/dist/components/input/UInput.component.d.ts +0 -92
- package/dist/components/input/UInput.component.js +0 -267
- package/dist/components/menu/UMenu.component.d.ts +0 -67
- package/dist/components/menu/UMenu.component.js +0 -338
- package/dist/components/menu-item/UMenuItem.component.d.ts +0 -25
- package/dist/components/menu-item/UMenuItem.component.js +0 -111
- package/dist/components/progress-bar/UProgressBar.component.d.ts +0 -27
- package/dist/components/progress-bar/UProgressBar.component.js +0 -99
- package/dist/components/progress-ring/UProgressRing.component.d.ts +0 -33
- package/dist/components/progress-ring/UProgressRing.component.js +0 -114
- package/dist/components/skeleton/USkeleton.component.d.ts +0 -22
- package/dist/components/skeleton/USkeleton.component.js +0 -58
- package/dist/components/spinner/USpinner.component.d.ts +0 -9
- package/dist/components/spinner/USpinner.component.js +0 -22
- package/dist/components/split-panel/USplitPanel.component.d.ts +0 -44
- package/dist/components/split-panel/USplitPanel.component.js +0 -185
- package/dist/components/tag/UTag.component.d.ts +0 -23
- package/dist/components/tag/UTag.component.js +0 -72
- package/dist/components/tooltip/UTooltip.component.d.ts +0 -27
- package/dist/components/tooltip/UTooltip.component.js +0 -88
- package/dist/components/tree/UTree.component.d.ts +0 -37
- package/dist/components/tree/UTree.component.js +0 -120
- package/dist/components/tree-item/UTreeItem.component.d.ts +0 -41
- package/dist/components/tree-item/UTreeItem.component.js +0 -161
- package/dist/events/UChangeEvent.d.ts +0 -6
- package/dist/events/UHideEvent.d.ts +0 -6
- package/dist/events/UInputEvent.d.ts +0 -6
- package/dist/events/UResizeEvent.d.ts +0 -6
- package/dist/events/USelectEvent.d.ts +0 -6
- package/dist/events/UShowEvent.d.ts +0 -6
- package/dist/react-components/UAlert.d.ts +0 -8
- package/dist/react-components/UForm.d.ts +0 -8
- package/dist/react-components/UInput.d.ts +0 -8
- package/dist/react-components/UMenu.d.ts +0 -8
- package/dist/react-components/UMenuItem.d.ts +0 -8
- package/dist/react-components/UProgressBar.d.ts +0 -8
- package/dist/react-components/UProgressRing.d.ts +0 -8
- package/dist/react-components/USplitPanel.d.ts +0 -8
- package/dist/react-components/UTooltip.d.ts +0 -8
- package/dist/react-components/UTree.d.ts +0 -8
- package/dist/react-components/UTreeItem.d.ts +0 -8
- package/dist/utilities/IconRegistry.d.ts +0 -40
- package/dist/utilities/IconRegistry.js +0 -119
- package/dist/utilities/Notifier.d.ts +0 -31
- package/dist/utilities/Notifier.js +0 -79
- package/dist/utilities/decorators.d.ts +0 -28
- /package/dist/components/{BaseElement.styles.d.ts → UDataElement.styles.d.ts} +0 -0
- /package/dist/components/{FloatingElement.styles.d.ts → UElement.styles.d.ts} +0 -0
- /package/dist/components/{ModalElement.styles.d.ts → UFormControlElement.styles.d.ts} +0 -0
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const pencilSquare = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path d=\"M15.502 1.94a.5.5 0 0 1 0 .706L14.459 3.69l-2-2L13.502.646a.5.5 0 0 1 .707 0l1.293 1.293zm-1.75 2.456-2-2L4.939 9.21a.5.5 0 0 0-.121.196l-.805 2.414a.25.25 0 0 0 .316.316l2.414-.805a.5.5 0 0 0 .196-.12l6.813-6.814z\"/>\n <path fill-rule=\"evenodd\" d=\"M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5z\"/>\n</svg>";
|
|
2
|
-
|
|
3
|
-
export { pencilSquare as default };
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const search = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path d=\"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0\"/>\n</svg>";
|
|
2
|
-
|
|
3
|
-
export { search as default };
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const share = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path d=\"M13.5 1a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M11 2.5a2.5 2.5 0 1 1 .603 1.628l-6.718 3.12a2.5 2.5 0 0 1 0 1.504l6.718 3.12a2.5 2.5 0 1 1-.488.876l-6.718-3.12a2.5 2.5 0 1 1 0-3.256l6.718-3.12A2.5 2.5 0 0 1 11 2.5m-8.5 4a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m11 5.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3\"/>\n</svg>";
|
|
2
|
-
|
|
3
|
-
export { share as default };
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const stopCircle = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path d=\"M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16\"/>\n <path d=\"M5 6.5A1.5 1.5 0 0 1 6.5 5h3A1.5 1.5 0 0 1 11 6.5v3A1.5 1.5 0 0 1 9.5 11h-3A1.5 1.5 0 0 1 5 9.5z\"/>\n</svg>";
|
|
2
|
-
|
|
3
|
-
export { stopCircle as default };
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const tools = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path d=\"M1 0 0 1l2.2 3.081a1 1 0 0 0 .815.419h.07a1 1 0 0 1 .708.293l2.675 2.675-2.617 2.654A3.003 3.003 0 0 0 0 13a3 3 0 1 0 5.878-.851l2.654-2.617.968.968-.305.914a1 1 0 0 0 .242 1.023l3.27 3.27a.997.997 0 0 0 1.414 0l1.586-1.586a.997.997 0 0 0 0-1.414l-3.27-3.27a1 1 0 0 0-1.023-.242L10.5 9.5l-.96-.96 2.68-2.643A3.005 3.005 0 0 0 16 3q0-.405-.102-.777l-2.14 2.141L12 4l-.364-1.757L13.777.102a3 3 0 0 0-3.675 3.68L7.462 6.46 4.793 3.793a1 1 0 0 1-.293-.707v-.071a1 1 0 0 0-.419-.814zm9.646 10.646a.5.5 0 0 1 .708 0l2.914 2.915a.5.5 0 0 1-.707.707l-2.915-2.914a.5.5 0 0 1 0-.708M3 11l.471.242.529.026.287.445.445.287.026.529L5 13l-.242.471-.026.529-.445.287-.287.445-.529.026L3 15l-.471-.242L2 14.732l-.287-.445L1.268 14l-.026-.529L1 13l.242-.471.026-.529.445-.287.287-.445.529-.026z\"/>\n</svg>";
|
|
2
|
-
|
|
3
|
-
export { tools as default };
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const xLg = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path d=\"M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z\"/>\n</svg>";
|
|
2
|
-
|
|
3
|
-
export { xLg as default };
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const dark = ":root[theme=\"dark\"] {\n color-scheme: dark;\n\n /* Neutral Colors */\n --u-neutral-0: #000000;\n --u-neutral-50: #0A0A0A;\n --u-neutral-100: #121212;\n --u-neutral-200: #1E1E1E;\n --u-neutral-300: #2A2A2A;\n --u-neutral-400: #3D3D3D;\n --u-neutral-500: #525252;\n --u-neutral-600: #6E6E6E;\n --u-neutral-700: #8A8A8A;\n --u-neutral-800: #B0B0B0;\n --u-neutral-900: #D4D4D4;\n --u-neutral-1000: #FFFFFF;\n\n /* Blue Colors */\n --u-blue-0: #0A1E3D;\n --u-blue-100: #1E3A5F;\n --u-blue-200: #2B4F7E;\n --u-blue-300: #3D6B9E;\n --u-blue-400: #5284BE;\n --u-blue-500: #6BA3E3;\n --u-blue-600: #87B8F5;\n --u-blue-700: #A5CDFF;\n --u-blue-800: #C2DEFF;\n --u-blue-900: #DDEEFF;\n --u-blue-1000: #F0F7FF;\n\n /* Green Colors */\n --u-green-0: #0D2818;\n --u-green-100: #1A3F2A;\n --u-green-200: #285639;\n --u-green-300: #3A7450;\n --u-green-400: #4E9268;\n --u-green-500: #66B584;\n --u-green-600: #81D19D;\n --u-green-700: #9FE5B5;\n --u-green-800: #BEF2CD;\n --u-green-900: #DDF9E5;\n --u-green-1000: #F0FDF5;\n\n /* Yellow Colors */\n --u-yellow-0: #2E2200;\n --u-yellow-100: #4D3A00;\n --u-yellow-200: #6B5200;\n --u-yellow-300: #8A6B00;\n --u-yellow-400: #B08900;\n --u-yellow-500: #D4A712;\n --u-yellow-600: #F5C842;\n --u-yellow-700: #FFE066;\n --u-yellow-800: #FFED99;\n --u-yellow-900: #FFF5CC;\n --u-yellow-1000: #FFFBE6;\n\n /* Red Colors */\n --u-red-0: #2E0A0A;\n --u-red-100: #4D1717;\n --u-red-200: #6B2424;\n --u-red-300: #8F3535;\n --u-red-400: #B24848;\n --u-red-500: #D66060;\n --u-red-600: #F57878;\n --u-red-700: #FF9494;\n --u-red-800: #FFB3B3;\n --u-red-900: #FFD2D2;\n --u-red-1000: #FFF0F0;\n\n /* text Colors */\n --u-txt-color: var(--u-neutral-900);\n --u-txt-color-inverse: var(--u-neutral-100);\n --u-txt-color-hover: var(--u-blue-600);\n --u-txt-color-active: var(--u-blue-600);\n --u-txt-color-disabled: var(--u-neutral-500);\n --u-txt-color-weak: var(--u-neutral-700);\n --u-txt-color-strong: var(--u-neutral-1000);\n\n --u-link-txt-color: var(--u-blue-700);\n --u-tooltip-txt-color: var(--u-neutral-100);\n\n /* Icon Colors */\n --u-icon-color: var(--u-neutral-800);\n --u-icon-color-inverse: var(--u-neutral-100);\n --u-icon-color-hover: var(--u-blue-600);\n --u-icon-color-active: var(--u-blue-600);\n --u-icon-color-disabled: var(--u-neutral-500);\n\n /* border Colors */\n --u-border-color: var(--u-neutral-400);\n --u-border-color-weak: var(--u-neutral-300);\n --u-border-color-strong: var(--u-neutral-500);\n\n --u-input-border-color: var(--u-neutral-400);\n --u-input-border-color-hover: var(--u-neutral-500);\n --u-input-border-color-focus: var(--u-blue-600);\n --u-input-border-color-invalid: var(--u-red-600);\n\n /* background Colors */\n --u-bg-color: var(--u-neutral-100);\n --u-bg-color-inverse: var(--u-neutral-0);\n --u-bg-color-hover: var(--u-neutral-300);\n --u-bg-color-active: var(--u-neutral-400);\n --u-bg-color-disabled: var(--u-neutral-100);\n \n --u-input-bg-color: var(--u-neutral-200);\n --u-panel-bg-color: var(--u-neutral-200);\n --u-overlay-bg-color: rgba(0, 0, 0, 0.7);\n --u-tooltip-bg-color: rgba(255, 255, 255, 0.85);\n\n /* Shadow Colors */\n --u-shadow-color-weaker: rgba(0, 0, 0, 0.15);\n --u-shadow-color-weak: rgba(0, 0, 0, 0.25);\n --u-shadow-color-normal: rgba(0, 0, 0, 0.35);\n --u-shadow-color-strong: rgba(0, 0, 0, 0.45);\n --u-shadow-color-stronger: rgba(0, 0, 0, 0.60);\n\n /* Scrollbar Colors */\n --u-scrollbar-color: var(--u-neutral-500);\n --u-scrollbar-color-hover: var(--u-neutral-600);\n --u-scrollbar-track-color: transparent;\n\n /* Font Styles */\n --u-font-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';\n --u-font-mono: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Monaco, 'Courier New', monospace;\n --u-font-serif: 'Georgia', 'Times New Roman', Times, serif;\n --u-font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif;\n --u-font-modern: 'Inter', 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n --u-font-rounded: 'Nunito', 'Quicksand', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n}";
|
|
2
|
-
|
|
3
|
-
export { dark as default };
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const light = ":root {\n color-scheme: light;\n\n /* Neutral Colors */\n --u-neutral-0: #FFFFFF;\n --u-neutral-50: #FAFAFA;\n --u-neutral-100: #F5F5F5;\n --u-neutral-200: #EEEEEE;\n --u-neutral-300: #E0E0E0;\n --u-neutral-400: #BDBDBD;\n --u-neutral-500: #9E9E9E;\n --u-neutral-600: #757575;\n --u-neutral-700: #616161;\n --u-neutral-800: #424242;\n --u-neutral-900: #212121;\n --u-neutral-1000: #000000;\n\n /* Blue Colors */\n --u-blue-0: #E3F2FD;\n --u-blue-100: #BBDEFB;\n --u-blue-200: #90CAF9;\n --u-blue-300: #64B5F6;\n --u-blue-400: #42A5F5;\n --u-blue-500: #2196F3;\n --u-blue-600: #1E88E5;\n --u-blue-700: #1976D2;\n --u-blue-800: #1565C0;\n --u-blue-900: #0D47A1;\n --u-blue-1000: #062A5E;\n\n /* Green Colors */\n --u-green-0: #E8F5E9;\n --u-green-100: #C8E6C9;\n --u-green-200: #A5D6A7;\n --u-green-300: #81C784;\n --u-green-400: #66BB6A;\n --u-green-500: #4CAF50;\n --u-green-600: #43A047;\n --u-green-700: #388E3C;\n --u-green-800: #2E7D32;\n --u-green-900: #1B5E20;\n --u-green-1000: #0F3A12;\n\n /* Yellow Colors */\n --u-yellow-0: #FFFDE7;\n --u-yellow-100: #FFF9C4;\n --u-yellow-200: #FFF59D;\n --u-yellow-300: #FFF176;\n --u-yellow-400: #FFEE58;\n --u-yellow-500: #FFEB3B;\n --u-yellow-600: #FDD835;\n --u-yellow-700: #FBC02D;\n --u-yellow-800: #F9A825;\n --u-yellow-900: #F57F17;\n --u-yellow-1000: #8A4A00;\n\n /* Red Colors */\n --u-red-0: #FFEBEE;\n --u-red-100: #FFCDD2;\n --u-red-200: #EF9A9A;\n --u-red-300: #E57373;\n --u-red-400: #EF5350;\n --u-red-500: #F44336;\n --u-red-600: #E53935;\n --u-red-700: #D32F2F;\n --u-red-800: #C62828;\n --u-red-900: #B71C1C;\n --u-red-1000: #6B0F0F;\n\n /* text Colors */\n --u-txt-color: var(--u-neutral-900);\n --u-txt-color-inverse: var(--u-neutral-0);\n --u-txt-color-hover: var(--u-blue-600);\n --u-txt-color-active: var(--u-blue-600);\n --u-txt-color-disabled: var(--u-neutral-400);\n --u-txt-color-weak: var(--u-neutral-700);\n --u-txt-color-strong: var(--u-neutral-1000);\n\n --u-link-txt-color: var(--u-blue-700);\n --u-tooltip-txt-color: var(--u-neutral-0);\n\n /* Icon Colors */\n --u-icon-color: var(--u-neutral-700);\n --u-icon-color-inverse: var(--u-neutral-0);\n --u-icon-color-hover: var(--u-blue-600);\n --u-icon-color-active: var(--u-blue-600);\n --u-icon-color-disabled: var(--u-neutral-400);\n\n /* border Colors */\n --u-border-color: var(--u-neutral-300);\n --u-border-color-weak: var(--u-neutral-200);\n --u-border-color-strong: var(--u-neutral-400);\n\n --u-input-border-color: var(--u-neutral-300);\n --u-input-border-color-hover: var(--u-neutral-400);\n --u-input-border-color-focus: var(--u-blue-600);\n --u-input-border-color-invalid: var(--u-red-600);\n\n /* background Colors */\n --u-bg-color: var(--u-neutral-0);\n --u-bg-color-inverse: var(--u-neutral-900);\n --u-bg-color-hover: var(--u-neutral-100);\n --u-bg-color-active: var(--u-neutral-200);\n --u-bg-color-disabled: var(--u-neutral-50);\n \n --u-input-bg-color: var(--u-neutral-0);\n --u-panel-bg-color: var(--u-neutral-0);\n --u-overlay-bg-color: rgba(0, 0, 0, 0.5);\n --u-tooltip-bg-color: rgba(0, 0, 0, 0.75);\n\n /* Shadow Colors */\n --u-shadow-color-weaker: rgba(0, 0, 0, 0.04);\n --u-shadow-color-weak: rgba(0, 0, 0, 0.08);\n --u-shadow-color-normal: rgba(0, 0, 0, 0.12);\n --u-shadow-color-strong: rgba(0, 0, 0, 0.16);\n --u-shadow-color-stronger: rgba(0, 0, 0, 0.24);\n\n /* Scrollbar Colors */\n --u-scrollbar-color: var(--u-neutral-400);\n --u-scrollbar-color-hover: var(--u-neutral-500);\n --u-scrollbar-track-color: transparent;\n\n /* Font Styles */\n --u-font-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';\n --u-font-mono: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Monaco, 'Courier New', monospace;\n --u-font-serif: 'Georgia', 'Times New Roman', Times, serif;\n --u-font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif;\n --u-font-modern: 'Inter', 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n --u-font-rounded: 'Nunito', 'Quicksand', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n}";
|
|
2
|
-
|
|
3
|
-
export { light as default };
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { CSSResultGroup, LitElement } from 'lit';
|
|
2
|
-
/**
|
|
3
|
-
* BaseElement는 LitElement를 확장한 기본 Web Component 클래스입니다.
|
|
4
|
-
* 이 클래스는 자동으로 종속된 컴포넌트를 정의하며, 유용한 헬퍼 메서드들을 제공합니다.
|
|
5
|
-
*/
|
|
6
|
-
export declare class BaseElement extends LitElement {
|
|
7
|
-
/**
|
|
8
|
-
* 기본 스타일을 정의합니다.
|
|
9
|
-
*/
|
|
10
|
-
static styles: CSSResultGroup;
|
|
11
|
-
/**
|
|
12
|
-
* 현재 컴포넌트에 종속된 컴포넌트들을 정의하는 정적 속성입니다.
|
|
13
|
-
* 이 속성은 컴포넌트가 정의될 때 자동으로 호출되어
|
|
14
|
-
* 종속된 컴포넌트를 등록합니다.
|
|
15
|
-
*/
|
|
16
|
-
static dependencies: Record<string, typeof BaseElement>;
|
|
17
|
-
constructor();
|
|
18
|
-
/**
|
|
19
|
-
* 커스텀 엘리먼트를 정의합니다.
|
|
20
|
-
* 이미 정의된 엘리먼트는 다시 정의하지 않습니다.
|
|
21
|
-
* @param name - 커스텀 엘리먼트의 이름
|
|
22
|
-
* @param options - 엘리먼트 정의 옵션
|
|
23
|
-
*/
|
|
24
|
-
static define(name: string, options?: ElementDefinitionOptions): void;
|
|
25
|
-
/**
|
|
26
|
-
* 커스텀 이벤트를 디스패치합니다.
|
|
27
|
-
* @param name - 이벤트 이름
|
|
28
|
-
* @param value - 이벤트의 detail에 포함될 데이터
|
|
29
|
-
* @param options - 추가 이벤트 옵션 (예: bubbles, composed 등)
|
|
30
|
-
* @returns 이벤트가 성공적으로 디스패치되었는지 여부
|
|
31
|
-
*/
|
|
32
|
-
protected emit(name: string, value?: any, options?: CustomEventInit): boolean;
|
|
33
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
2
|
-
import { styles } from './BaseElement.styles.js';
|
|
3
|
-
|
|
4
|
-
class BaseElement extends LitElement {
|
|
5
|
-
static {
|
|
6
|
-
/**
|
|
7
|
-
* 기본 스타일을 정의합니다.
|
|
8
|
-
*/
|
|
9
|
-
this.styles = styles;
|
|
10
|
-
}
|
|
11
|
-
static {
|
|
12
|
-
/**
|
|
13
|
-
* 현재 컴포넌트에 종속된 컴포넌트들을 정의하는 정적 속성입니다.
|
|
14
|
-
* 이 속성은 컴포넌트가 정의될 때 자동으로 호출되어
|
|
15
|
-
* 종속된 컴포넌트를 등록합니다.
|
|
16
|
-
*/
|
|
17
|
-
this.dependencies = {};
|
|
18
|
-
}
|
|
19
|
-
constructor() {
|
|
20
|
-
super();
|
|
21
|
-
Object.entries(this.constructor.dependencies).forEach(([name, component]) => {
|
|
22
|
-
component.define(name);
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* 커스텀 엘리먼트를 정의합니다.
|
|
27
|
-
* 이미 정의된 엘리먼트는 다시 정의하지 않습니다.
|
|
28
|
-
* @param name - 커스텀 엘리먼트의 이름
|
|
29
|
-
* @param options - 엘리먼트 정의 옵션
|
|
30
|
-
*/
|
|
31
|
-
static define(name, options = {}) {
|
|
32
|
-
if (!customElements.get(name)) {
|
|
33
|
-
try {
|
|
34
|
-
customElements.define(name, this, options);
|
|
35
|
-
} catch (error) {
|
|
36
|
-
console.warn(`Failed to register component "${name}":`, error);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* 커스텀 이벤트를 디스패치합니다.
|
|
42
|
-
* @param name - 이벤트 이름
|
|
43
|
-
* @param value - 이벤트의 detail에 포함될 데이터
|
|
44
|
-
* @param options - 추가 이벤트 옵션 (예: bubbles, composed 등)
|
|
45
|
-
* @returns 이벤트가 성공적으로 디스패치되었는지 여부
|
|
46
|
-
*/
|
|
47
|
-
emit(name, value, options) {
|
|
48
|
-
const event = new CustomEvent(name, {
|
|
49
|
-
bubbles: true,
|
|
50
|
-
composed: true,
|
|
51
|
-
cancelable: false,
|
|
52
|
-
detail: value,
|
|
53
|
-
...options
|
|
54
|
-
});
|
|
55
|
-
return this.dispatchEvent(event);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export { BaseElement };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
|
|
3
|
-
const styles = css`
|
|
4
|
-
:host {
|
|
5
|
-
color: var(--u-txt-color, inherit);
|
|
6
|
-
font-family: var(--u-font-base, inherit);
|
|
7
|
-
box-sizing: border-box;
|
|
8
|
-
overflow-wrap: anywhere;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
:host *,
|
|
12
|
-
:host *::before,
|
|
13
|
-
:host *::after {
|
|
14
|
-
box-sizing: inherit;
|
|
15
|
-
overflow-wrap: inherit;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
[hidden] {
|
|
19
|
-
display: none !important;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
[scrollable] {
|
|
23
|
-
scrollbar-width: thin;
|
|
24
|
-
scrollbar-color: var(--u-scrollbar-color) var(--u-scrollbar-track-color);
|
|
25
|
-
}
|
|
26
|
-
`;
|
|
27
|
-
|
|
28
|
-
export { styles };
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { CSSResultGroup, PropertyValues } from 'lit';
|
|
2
|
-
import { Placement, VirtualElement } from '@floating-ui/dom';
|
|
3
|
-
import { BaseElement } from './BaseElement.js';
|
|
4
|
-
/**
|
|
5
|
-
* FloatingElement는 팝오버, 툴팁 등 화면에 떠 있는 엘리먼트를 구현하기 위한 기본 클래스입니다.
|
|
6
|
-
* 이 클래스를 상속하여 커스텀 팝오버 컴포넌트를 만들 수 있습니다.
|
|
7
|
-
*
|
|
8
|
-
* 1. for, anchor 속성을 통해 연결될 대상 엘리먼트를 지정할 수 있습니다.
|
|
9
|
-
* 2. visible 속성을 통해 엘리먼트의 표시 여부를 제어할 수 있습니다.
|
|
10
|
-
* 3. show() 및 hide() 메서드를 통해 프로그래밍적으로 표시하거나 숨길 수 있습니다.
|
|
11
|
-
* 4. strategy, placement, distance, shift 속성을 통해 표시 위치 결정 방식을 설정할 수 있습니다.
|
|
12
|
-
*/
|
|
13
|
-
export declare class FloatingElement extends BaseElement {
|
|
14
|
-
/** 기본 스타일을 정의합니다. */
|
|
15
|
-
static styles: CSSResultGroup;
|
|
16
|
-
/** 종속된 컴포넌트를 정의합니다. */
|
|
17
|
-
static dependencies: Record<string, typeof BaseElement>;
|
|
18
|
-
private rafId;
|
|
19
|
-
private cleanup;
|
|
20
|
-
/**
|
|
21
|
-
* 엘리먼트가 떠 있는 동안의 대상 엘리먼트 입니다.
|
|
22
|
-
*/
|
|
23
|
-
target?: HTMLElement | VirtualElement;
|
|
24
|
-
/**
|
|
25
|
-
* 연결될 대상 엘리먼트 입니다. 지정하지 않으면 부모 엘리먼트가 포함됩니다.
|
|
26
|
-
*/
|
|
27
|
-
anchors?: HTMLElement[];
|
|
28
|
-
/**
|
|
29
|
-
* 앵커 엘리먼트를 찾기 위한 CSS 선택자입니다. querySelector를 사용하여 DOM에서 대상을 검색합니다.
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* - `id`로 찾기: for="#target-id"
|
|
33
|
-
* - `class`로 찾기: for=".target-class"
|
|
34
|
-
* - `태그명`으로 찾기: for="target-tag-name"
|
|
35
|
-
* - `속성`으로 찾기: for="[data-role='target']"
|
|
36
|
-
*/
|
|
37
|
-
for?: string;
|
|
38
|
-
/**
|
|
39
|
-
* 현재 엘리먼트가 보여지는지 여부입니다.
|
|
40
|
-
*
|
|
41
|
-
* @default false
|
|
42
|
-
*/
|
|
43
|
-
visible: boolean;
|
|
44
|
-
/**
|
|
45
|
-
* 현재 엘리먼트의 위치 결정 전략입니다.
|
|
46
|
-
*
|
|
47
|
-
* @remarks
|
|
48
|
-
* - `absolute`: 엘리먼트가 문서 흐름에 따라 배치됩니다.
|
|
49
|
-
* - `fixed`: 엘리먼트가 뷰포트에 고정되어 스크롤과 무관하게 위치합니다.
|
|
50
|
-
*/
|
|
51
|
-
strategy: 'absolute' | 'fixed';
|
|
52
|
-
/**
|
|
53
|
-
* 대상 엘리먼트로부터의 배치 위치입니다.
|
|
54
|
-
* 지정하지 않으면 `floating-ui`의 `autoPlacement`가 적용됩니다.
|
|
55
|
-
*/
|
|
56
|
-
placement?: Placement;
|
|
57
|
-
/**
|
|
58
|
-
* 대상 엘리먼트로부터의 거리 (px) 입니다.
|
|
59
|
-
*
|
|
60
|
-
* @default 0
|
|
61
|
-
*/
|
|
62
|
-
distance: number;
|
|
63
|
-
/**
|
|
64
|
-
* 대상 엘리먼트로의 기준축에서의 오프셋 (px) 입니다.
|
|
65
|
-
*
|
|
66
|
-
* @default 0
|
|
67
|
-
*/
|
|
68
|
-
offset: number;
|
|
69
|
-
/**
|
|
70
|
-
* 엘리먼트가 화면 안에 머물도록 자동으로 조정할지 여부입니다.
|
|
71
|
-
*
|
|
72
|
-
* @default false
|
|
73
|
-
*/
|
|
74
|
-
shift: boolean;
|
|
75
|
-
connectedCallback(): void;
|
|
76
|
-
disconnectedCallback(): void;
|
|
77
|
-
protected willUpdate(changedProperties: PropertyValues): void;
|
|
78
|
-
protected updated(changedProperties: PropertyValues): void;
|
|
79
|
-
/**
|
|
80
|
-
* for 속성에 따라 element를 기준으로 앵커 엘리먼트를 탐색하여 anchors로 설정합니다.
|
|
81
|
-
*/
|
|
82
|
-
scan(element: Element): void;
|
|
83
|
-
/**
|
|
84
|
-
* 현재 엘리먼트를 표시합니다.
|
|
85
|
-
*
|
|
86
|
-
* @param target - 위치 계산에 사용할 타겟 엘리먼트입니다.
|
|
87
|
-
* @param auto - 표시 후 자동 위치 업데이트 활성화 여부입니다. 기본값은 true 입니다.
|
|
88
|
-
*/
|
|
89
|
-
show(target: Element | VirtualElement, auto?: boolean): Promise<void>;
|
|
90
|
-
/**
|
|
91
|
-
* 현재 엘리먼트를 숨깁니다.
|
|
92
|
-
*/
|
|
93
|
-
hide(): Promise<void>;
|
|
94
|
-
/**
|
|
95
|
-
* `floating-ui` 를 이용하여 위치를 계산하고 style 을 적용합니다.
|
|
96
|
-
*
|
|
97
|
-
* @param target - 위치 계산에 사용할 타겟 엘리먼트입니다.
|
|
98
|
-
*/
|
|
99
|
-
protected reposition(target: Element | VirtualElement): Promise<void>;
|
|
100
|
-
/** 표시 상태 변경 이벤트를 발생시킵니다. */
|
|
101
|
-
private updateVisibleState;
|
|
102
|
-
/** 애니메이션 프레임을 사용하여 표시 상태를 스케줄링합니다. */
|
|
103
|
-
private scheduleVisible;
|
|
104
|
-
}
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
import { state, property } from 'lit/decorators.js';
|
|
2
|
-
import { autoUpdate, computePosition, offset, shift, flip, autoPlacement } from '@floating-ui/dom';
|
|
3
|
-
import { getParentElement, querySelectorAllWithin } from '../utilities/elements.js';
|
|
4
|
-
import { BaseElement } from './BaseElement.js';
|
|
5
|
-
import { styles } from './FloatingElement.styles.js';
|
|
6
|
-
|
|
7
|
-
var __defProp = Object.defineProperty;
|
|
8
|
-
var __decorateClass = (decorators, target, key, kind) => {
|
|
9
|
-
var result = void 0 ;
|
|
10
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
11
|
-
if (decorator = decorators[i])
|
|
12
|
-
result = (decorator(target, key, result) ) || result;
|
|
13
|
-
if (result) __defProp(target, key, result);
|
|
14
|
-
return result;
|
|
15
|
-
};
|
|
16
|
-
class FloatingElement extends BaseElement {
|
|
17
|
-
constructor() {
|
|
18
|
-
super(...arguments);
|
|
19
|
-
// 애니메이션 프레임 아이디
|
|
20
|
-
this.rafId = null;
|
|
21
|
-
// 자동 위치 업데이트 정리 함수
|
|
22
|
-
this.cleanup = null;
|
|
23
|
-
this.visible = false;
|
|
24
|
-
this.strategy = "absolute";
|
|
25
|
-
this.distance = 0;
|
|
26
|
-
this.offset = 0;
|
|
27
|
-
this.shift = false;
|
|
28
|
-
}
|
|
29
|
-
static {
|
|
30
|
-
/** 기본 스타일을 정의합니다. */
|
|
31
|
-
this.styles = [super.styles, styles];
|
|
32
|
-
}
|
|
33
|
-
static {
|
|
34
|
-
/** 종속된 컴포넌트를 정의합니다. */
|
|
35
|
-
this.dependencies = {};
|
|
36
|
-
}
|
|
37
|
-
connectedCallback() {
|
|
38
|
-
super.connectedCallback();
|
|
39
|
-
if (!this.anchors || this.anchors.length === 0) {
|
|
40
|
-
const parent = getParentElement(this);
|
|
41
|
-
this.anchors = parent ? [parent] : [];
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
disconnectedCallback() {
|
|
45
|
-
if (this.rafId !== null) cancelAnimationFrame(this.rafId);
|
|
46
|
-
if (this.cleanup !== null) this.cleanup();
|
|
47
|
-
this.rafId = null;
|
|
48
|
-
this.cleanup = null;
|
|
49
|
-
super.disconnectedCallback();
|
|
50
|
-
}
|
|
51
|
-
willUpdate(changedProperties) {
|
|
52
|
-
super.willUpdate(changedProperties);
|
|
53
|
-
if (changedProperties.has("for")) {
|
|
54
|
-
this.scan(this);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
updated(changedProperties) {
|
|
58
|
-
super.updated(changedProperties);
|
|
59
|
-
if (changedProperties.has("visible")) {
|
|
60
|
-
this.toggleAttribute("aria-hidden", !this.visible);
|
|
61
|
-
this.toggleAttribute("inert", !this.visible);
|
|
62
|
-
this.updateVisibleState(this.visible);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* for 속성에 따라 element를 기준으로 앵커 엘리먼트를 탐색하여 anchors로 설정합니다.
|
|
67
|
-
*/
|
|
68
|
-
scan(element) {
|
|
69
|
-
if (this.for) {
|
|
70
|
-
const anchors = querySelectorAllWithin(element, this.for);
|
|
71
|
-
this.anchors = Array.from(anchors);
|
|
72
|
-
} else {
|
|
73
|
-
const parent = getParentElement(this);
|
|
74
|
-
this.anchors = parent ? [parent] : [];
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* 현재 엘리먼트를 표시합니다.
|
|
79
|
-
*
|
|
80
|
-
* @param target - 위치 계산에 사용할 타겟 엘리먼트입니다.
|
|
81
|
-
* @param auto - 표시 후 자동 위치 업데이트 활성화 여부입니다. 기본값은 true 입니다.
|
|
82
|
-
*/
|
|
83
|
-
async show(target, auto = true) {
|
|
84
|
-
await this.updateComplete;
|
|
85
|
-
await this.reposition(target);
|
|
86
|
-
if (auto === true) {
|
|
87
|
-
this.cleanup = autoUpdate(target, this, () => {
|
|
88
|
-
this.reposition(target);
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
this.scheduleVisible(true);
|
|
92
|
-
this.target = target;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* 현재 엘리먼트를 숨깁니다.
|
|
96
|
-
*/
|
|
97
|
-
async hide() {
|
|
98
|
-
await this.updateComplete;
|
|
99
|
-
if (this.cleanup !== null) this.cleanup();
|
|
100
|
-
this.cleanup = null;
|
|
101
|
-
this.scheduleVisible(false);
|
|
102
|
-
this.target = void 0;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* `floating-ui` 를 이용하여 위치를 계산하고 style 을 적용합니다.
|
|
106
|
-
*
|
|
107
|
-
* @param target - 위치 계산에 사용할 타겟 엘리먼트입니다.
|
|
108
|
-
*/
|
|
109
|
-
async reposition(target) {
|
|
110
|
-
const position = await computePosition(target, this, {
|
|
111
|
-
strategy: this.strategy,
|
|
112
|
-
placement: this.placement,
|
|
113
|
-
middleware: [
|
|
114
|
-
offset({ mainAxis: this.distance, crossAxis: this.offset }),
|
|
115
|
-
shift({ mainAxis: this.shift }),
|
|
116
|
-
this.placement ? flip() : autoPlacement()
|
|
117
|
-
]
|
|
118
|
-
});
|
|
119
|
-
Object.assign(this.style, {
|
|
120
|
-
left: `${position.x}px`,
|
|
121
|
-
top: `${position.y}px`,
|
|
122
|
-
// placement 에 따라 transform-origin 값을 결정합니다.(애니메이션용)
|
|
123
|
-
transformOrigin: (() => {
|
|
124
|
-
switch (position.placement) {
|
|
125
|
-
case "top":
|
|
126
|
-
case "top-start":
|
|
127
|
-
case "top-end":
|
|
128
|
-
return "center bottom";
|
|
129
|
-
case "bottom":
|
|
130
|
-
case "bottom-start":
|
|
131
|
-
case "bottom-end":
|
|
132
|
-
return "center top";
|
|
133
|
-
case "left":
|
|
134
|
-
case "left-start":
|
|
135
|
-
case "left-end":
|
|
136
|
-
return "right center";
|
|
137
|
-
case "right":
|
|
138
|
-
case "right-start":
|
|
139
|
-
case "right-end":
|
|
140
|
-
return "left center";
|
|
141
|
-
default:
|
|
142
|
-
return "center";
|
|
143
|
-
}
|
|
144
|
-
})()
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
/** 표시 상태 변경 이벤트를 발생시킵니다. */
|
|
148
|
-
updateVisibleState(visible) {
|
|
149
|
-
if (visible) {
|
|
150
|
-
this.emit("u-show");
|
|
151
|
-
} else {
|
|
152
|
-
this.emit("u-hide");
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
/** 애니메이션 프레임을 사용하여 표시 상태를 스케줄링합니다. */
|
|
156
|
-
scheduleVisible(visible) {
|
|
157
|
-
if (this.rafId !== null) {
|
|
158
|
-
cancelAnimationFrame(this.rafId);
|
|
159
|
-
this.rafId = null;
|
|
160
|
-
}
|
|
161
|
-
this.rafId = requestAnimationFrame(() => {
|
|
162
|
-
this.visible = visible;
|
|
163
|
-
this.rafId = null;
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
__decorateClass([
|
|
168
|
-
state()
|
|
169
|
-
], FloatingElement.prototype, "target");
|
|
170
|
-
__decorateClass([
|
|
171
|
-
state()
|
|
172
|
-
], FloatingElement.prototype, "anchors");
|
|
173
|
-
__decorateClass([
|
|
174
|
-
property({ type: String, reflect: true })
|
|
175
|
-
], FloatingElement.prototype, "for");
|
|
176
|
-
__decorateClass([
|
|
177
|
-
property({ type: Boolean, reflect: true })
|
|
178
|
-
], FloatingElement.prototype, "visible");
|
|
179
|
-
__decorateClass([
|
|
180
|
-
property({ type: String, reflect: true })
|
|
181
|
-
], FloatingElement.prototype, "strategy");
|
|
182
|
-
__decorateClass([
|
|
183
|
-
property({ type: String })
|
|
184
|
-
], FloatingElement.prototype, "placement");
|
|
185
|
-
__decorateClass([
|
|
186
|
-
property({ type: Number })
|
|
187
|
-
], FloatingElement.prototype, "distance");
|
|
188
|
-
__decorateClass([
|
|
189
|
-
property({ type: Number })
|
|
190
|
-
], FloatingElement.prototype, "offset");
|
|
191
|
-
__decorateClass([
|
|
192
|
-
property({ type: Boolean })
|
|
193
|
-
], FloatingElement.prototype, "shift");
|
|
194
|
-
|
|
195
|
-
export { FloatingElement };
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { css } from 'lit';
|
|
2
|
-
|
|
3
|
-
const styles = css`
|
|
4
|
-
:host {
|
|
5
|
-
position: absolute;
|
|
6
|
-
z-index: 1000;
|
|
7
|
-
top: 0;
|
|
8
|
-
left: 0;
|
|
9
|
-
width: max-content;
|
|
10
|
-
opacity: 0;
|
|
11
|
-
}
|
|
12
|
-
:host([visible]) {
|
|
13
|
-
opacity: 1;
|
|
14
|
-
}
|
|
15
|
-
:host([strategy="absolute"]) {
|
|
16
|
-
position: absolute;
|
|
17
|
-
}
|
|
18
|
-
:host([strategy="fixed"]) {
|
|
19
|
-
position: fixed;
|
|
20
|
-
}
|
|
21
|
-
`;
|
|
22
|
-
|
|
23
|
-
export { styles };
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { CSSResultGroup, PropertyValues } from 'lit';
|
|
2
|
-
import { BaseElement } from './BaseElement.js';
|
|
3
|
-
/**
|
|
4
|
-
* ModalElement는 다이얼로그, 드로어 등 화면에 오버레이로 표시되는 엘리먼트를 구현하기 위한 기본 클래스입니다.
|
|
5
|
-
* 이 클래스를 상속하여 커스텀 모달 컴포넌트를 만들 수 있습니다.
|
|
6
|
-
*
|
|
7
|
-
* 1. open 속성을 통해 엘리먼트의 표시 여부를 제어할 수 있습니다.
|
|
8
|
-
* 2. modal 속성을 통해 배경 차단 및 포커스 트랩을 활성화할 수 있습니다.
|
|
9
|
-
* 3. closable 속성을 통해 이벤트에 의한 닫기 허용 여부를 설정할 수 있습니다.
|
|
10
|
-
* 4. show() 및 hide() 메서드를 통해 프로그래밍적으로 표시하거나 숨길 수 있습니다.
|
|
11
|
-
*/
|
|
12
|
-
export declare abstract class ModalElement extends BaseElement {
|
|
13
|
-
/** 기본 스타일을 정의합니다. */
|
|
14
|
-
static styles: CSSResultGroup;
|
|
15
|
-
/** 종속된 컴포넌트를 정의합니다. */
|
|
16
|
-
static dependencies: Record<string, typeof BaseElement>;
|
|
17
|
-
/**
|
|
18
|
-
* 현재 엘리먼트의 열림/닫힘 상태입니다.
|
|
19
|
-
*
|
|
20
|
-
* @default false
|
|
21
|
-
*/
|
|
22
|
-
open: boolean;
|
|
23
|
-
/**
|
|
24
|
-
* 엘리먼트의 위치 결정 전략입니다.
|
|
25
|
-
* - `absolute`: 엘리먼트가 문서 흐름에 따라 배치됩니다.
|
|
26
|
-
* - `fixed`: 엘리먼트가 뷰포트에 고정되어 스크롤과 무관하게 위치합니다.
|
|
27
|
-
*
|
|
28
|
-
* @default 'fixed'
|
|
29
|
-
*/
|
|
30
|
-
strategy: 'absolute' | 'fixed';
|
|
31
|
-
/**
|
|
32
|
-
* 모달 모드 여부, true인 경우 배경이 차단되고 포커스 트랩이 활성화됩니다.
|
|
33
|
-
* false인 경우 배경이 차단되지 않고 포커스 트랩도 비활성화됩니다.
|
|
34
|
-
*
|
|
35
|
-
* @default true
|
|
36
|
-
*/
|
|
37
|
-
modal: boolean;
|
|
38
|
-
/**
|
|
39
|
-
* 이벤트에 의한 모달 닫기 허용 여부, 예: 오버레이 클릭, ESC 키 등
|
|
40
|
-
* 닫기를 시도해야할 경우, hide() 메서드를 호출합니다.
|
|
41
|
-
*
|
|
42
|
-
* @default true
|
|
43
|
-
*/
|
|
44
|
-
closable: boolean;
|
|
45
|
-
connectedCallback(): void;
|
|
46
|
-
disconnectedCallback(): void;
|
|
47
|
-
protected updated(changedProperties: PropertyValues): void;
|
|
48
|
-
/**
|
|
49
|
-
* 모달을 표시합니다
|
|
50
|
-
*/
|
|
51
|
-
show(): Promise<void>;
|
|
52
|
-
/**
|
|
53
|
-
* 모달을 숨깁니다
|
|
54
|
-
*/
|
|
55
|
-
hide(): Promise<void>;
|
|
56
|
-
/**
|
|
57
|
-
* 모달이 차단 상태일 때 호출 됩니다
|
|
58
|
-
*/
|
|
59
|
-
protected block(): Promise<void>;
|
|
60
|
-
/** 엘리먼트의 열림/닫힘 상태를 업데이트합니다 */
|
|
61
|
-
private updateOpenState;
|
|
62
|
-
/** 모달 모드 상태를 업데이트합니다 */
|
|
63
|
-
private updateModalState;
|
|
64
|
-
/** 백드롭 클릭 핸들러 */
|
|
65
|
-
private handlePointerdown;
|
|
66
|
-
/** 키보드 이벤트 핸들러 */
|
|
67
|
-
private handleWindowKeydown;
|
|
68
|
-
/** 포커스 트랩 핸들러 */
|
|
69
|
-
private handleWindowFocusin;
|
|
70
|
-
}
|