@neurocle/synapse-react 0.0.0-bootstrap
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/LICENSE +21 -0
- package/README.md +163 -0
- package/dist/_virtual/_rolldown/runtime.mjs +13 -0
- package/dist/components/accordion/accordion.d.mts +38 -0
- package/dist/components/accordion/accordion.d.mts.map +1 -0
- package/dist/components/accordion/accordion.mjs +29 -0
- package/dist/components/accordion/accordion.mjs.map +1 -0
- package/dist/components/accordion/accordion.recipe.mjs +191 -0
- package/dist/components/accordion/accordion.recipe.mjs.map +1 -0
- package/dist/components/accordion/index.d.mts +2 -0
- package/dist/components/accordion/index.mjs +2 -0
- package/dist/components/alert/alert.anatomy.mjs +8 -0
- package/dist/components/alert/alert.anatomy.mjs.map +1 -0
- package/dist/components/alert/alert.connect.d.mts +4 -0
- package/dist/components/alert/alert.connect.d.mts.map +1 -0
- package/dist/components/alert/alert.connect.mjs +39 -0
- package/dist/components/alert/alert.connect.mjs.map +1 -0
- package/dist/components/alert/alert.d.mts +14 -0
- package/dist/components/alert/alert.d.mts.map +1 -0
- package/dist/components/alert/alert.mjs +37 -0
- package/dist/components/alert/alert.mjs.map +1 -0
- package/dist/components/alert/alert.recipe.mjs +141 -0
- package/dist/components/alert/alert.recipe.mjs.map +1 -0
- package/dist/components/alert/index.d.mts +3 -0
- package/dist/components/alert/index.mjs +2 -0
- package/dist/components/angle-slider/angle-slider.d.mts +35 -0
- package/dist/components/angle-slider/angle-slider.d.mts.map +1 -0
- package/dist/components/angle-slider/angle-slider.mjs +41 -0
- package/dist/components/angle-slider/angle-slider.mjs.map +1 -0
- package/dist/components/angle-slider/angle-slider.recipe.mjs +201 -0
- package/dist/components/angle-slider/angle-slider.recipe.mjs.map +1 -0
- package/dist/components/angle-slider/index.d.mts +2 -0
- package/dist/components/angle-slider/index.mjs +2 -0
- package/dist/components/avatar/avatar.d.mts +18 -0
- package/dist/components/avatar/avatar.d.mts.map +1 -0
- package/dist/components/avatar/avatar.mjs +35 -0
- package/dist/components/avatar/avatar.mjs.map +1 -0
- package/dist/components/avatar/avatar.recipe.mjs +113 -0
- package/dist/components/avatar/avatar.recipe.mjs.map +1 -0
- package/dist/components/avatar/index.d.mts +2 -0
- package/dist/components/avatar/index.mjs +2 -0
- package/dist/components/badge/badge.anatomy.mjs +8 -0
- package/dist/components/badge/badge.anatomy.mjs.map +1 -0
- package/dist/components/badge/badge.connect.d.mts +4 -0
- package/dist/components/badge/badge.connect.d.mts.map +1 -0
- package/dist/components/badge/badge.connect.mjs +32 -0
- package/dist/components/badge/badge.connect.mjs.map +1 -0
- package/dist/components/badge/badge.d.mts +14 -0
- package/dist/components/badge/badge.d.mts.map +1 -0
- package/dist/components/badge/badge.mjs +18 -0
- package/dist/components/badge/badge.mjs.map +1 -0
- package/dist/components/badge/badge.recipe.mjs +84 -0
- package/dist/components/badge/badge.recipe.mjs.map +1 -0
- package/dist/components/badge/index.d.mts +3 -0
- package/dist/components/badge/index.mjs +2 -0
- package/dist/components/breadcrumb/breadcrumb.anatomy.mjs +8 -0
- package/dist/components/breadcrumb/breadcrumb.anatomy.mjs.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.connect.mjs +30 -0
- package/dist/components/breadcrumb/breadcrumb.connect.mjs.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.d.mts +10 -0
- package/dist/components/breadcrumb/breadcrumb.d.mts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.mjs +31 -0
- package/dist/components/breadcrumb/breadcrumb.mjs.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.recipe.mjs +121 -0
- package/dist/components/breadcrumb/breadcrumb.recipe.mjs.map +1 -0
- package/dist/components/breadcrumb/index.d.mts +2 -0
- package/dist/components/breadcrumb/index.mjs +2 -0
- package/dist/components/button/button.anatomy.mjs +8 -0
- package/dist/components/button/button.anatomy.mjs.map +1 -0
- package/dist/components/button/button.connect.mjs +35 -0
- package/dist/components/button/button.connect.mjs.map +1 -0
- package/dist/components/button/button.d.mts +19 -0
- package/dist/components/button/button.d.mts.map +1 -0
- package/dist/components/button/button.mjs +25 -0
- package/dist/components/button/button.mjs.map +1 -0
- package/dist/components/button/button.recipe.mjs +377 -0
- package/dist/components/button/button.recipe.mjs.map +1 -0
- package/dist/components/button/index.d.mts +2 -0
- package/dist/components/button/index.mjs +2 -0
- package/dist/components/card/card.anatomy.mjs +8 -0
- package/dist/components/card/card.anatomy.mjs.map +1 -0
- package/dist/components/card/card.connect.mjs +24 -0
- package/dist/components/card/card.connect.mjs.map +1 -0
- package/dist/components/card/card.d.mts +9 -0
- package/dist/components/card/card.d.mts.map +1 -0
- package/dist/components/card/card.mjs +23 -0
- package/dist/components/card/card.mjs.map +1 -0
- package/dist/components/card/card.recipe.mjs +58 -0
- package/dist/components/card/card.recipe.mjs.map +1 -0
- package/dist/components/card/index.d.mts +2 -0
- package/dist/components/card/index.mjs +2 -0
- package/dist/components/carousel/carousel.d.mts +67 -0
- package/dist/components/carousel/carousel.d.mts.map +1 -0
- package/dist/components/carousel/carousel.mjs +123 -0
- package/dist/components/carousel/carousel.mjs.map +1 -0
- package/dist/components/carousel/carousel.recipe.mjs +131 -0
- package/dist/components/carousel/carousel.recipe.mjs.map +1 -0
- package/dist/components/carousel/index.d.mts +2 -0
- package/dist/components/carousel/index.mjs +2 -0
- package/dist/components/cascade-select/cascade-select.d.mts +102 -0
- package/dist/components/cascade-select/cascade-select.d.mts.map +1 -0
- package/dist/components/cascade-select/cascade-select.mjs +169 -0
- package/dist/components/cascade-select/cascade-select.mjs.map +1 -0
- package/dist/components/cascade-select/cascade-select.recipe.mjs +309 -0
- package/dist/components/cascade-select/cascade-select.recipe.mjs.map +1 -0
- package/dist/components/cascade-select/index.d.mts +2 -0
- package/dist/components/cascade-select/index.mjs +2 -0
- package/dist/components/checkbox/checkbox.d.mts +37 -0
- package/dist/components/checkbox/checkbox.d.mts.map +1 -0
- package/dist/components/checkbox/checkbox.mjs +55 -0
- package/dist/components/checkbox/checkbox.mjs.map +1 -0
- package/dist/components/checkbox/checkbox.recipe.mjs +170 -0
- package/dist/components/checkbox/checkbox.recipe.mjs.map +1 -0
- package/dist/components/checkbox/index.d.mts +2 -0
- package/dist/components/checkbox/index.mjs +2 -0
- package/dist/components/clipboard/clipboard.d.mts +26 -0
- package/dist/components/clipboard/clipboard.d.mts.map +1 -0
- package/dist/components/clipboard/clipboard.mjs +76 -0
- package/dist/components/clipboard/clipboard.mjs.map +1 -0
- package/dist/components/clipboard/clipboard.recipe.mjs +119 -0
- package/dist/components/clipboard/clipboard.recipe.mjs.map +1 -0
- package/dist/components/clipboard/index.d.mts +2 -0
- package/dist/components/clipboard/index.mjs +2 -0
- package/dist/components/collapsible/collapsible.d.mts +21 -0
- package/dist/components/collapsible/collapsible.d.mts.map +1 -0
- package/dist/components/collapsible/collapsible.mjs +23 -0
- package/dist/components/collapsible/collapsible.mjs.map +1 -0
- package/dist/components/collapsible/collapsible.recipe.mjs +159 -0
- package/dist/components/collapsible/collapsible.recipe.mjs.map +1 -0
- package/dist/components/collapsible/index.d.mts +2 -0
- package/dist/components/collapsible/index.mjs +2 -0
- package/dist/components/collection-window.mjs +299 -0
- package/dist/components/collection-window.mjs.map +1 -0
- package/dist/components/color-picker/color-picker.d.mts +67 -0
- package/dist/components/color-picker/color-picker.d.mts.map +1 -0
- package/dist/components/color-picker/color-picker.mjs +230 -0
- package/dist/components/color-picker/color-picker.mjs.map +1 -0
- package/dist/components/color-picker/color-picker.recipe.mjs +345 -0
- package/dist/components/color-picker/color-picker.recipe.mjs.map +1 -0
- package/dist/components/color-picker/index.d.mts +2 -0
- package/dist/components/color-picker/index.mjs +2 -0
- package/dist/components/combobox/combobox.d.mts +129 -0
- package/dist/components/combobox/combobox.d.mts.map +1 -0
- package/dist/components/combobox/combobox.mjs +92 -0
- package/dist/components/combobox/combobox.mjs.map +1 -0
- package/dist/components/combobox/combobox.recipe.mjs +336 -0
- package/dist/components/combobox/combobox.recipe.mjs.map +1 -0
- package/dist/components/combobox/index.d.mts +2 -0
- package/dist/components/combobox/index.mjs +2 -0
- package/dist/components/date-input/date-input.d.mts +69 -0
- package/dist/components/date-input/date-input.d.mts.map +1 -0
- package/dist/components/date-input/date-input.mjs +106 -0
- package/dist/components/date-input/date-input.mjs.map +1 -0
- package/dist/components/date-input/date-input.recipe.mjs +142 -0
- package/dist/components/date-input/date-input.recipe.mjs.map +1 -0
- package/dist/components/date-input/index.d.mts +2 -0
- package/dist/components/date-input/index.mjs +2 -0
- package/dist/components/date-picker/date-picker.d.mts +114 -0
- package/dist/components/date-picker/date-picker.d.mts.map +1 -0
- package/dist/components/date-picker/date-picker.mjs +269 -0
- package/dist/components/date-picker/date-picker.mjs.map +1 -0
- package/dist/components/date-picker/date-picker.recipe.mjs +495 -0
- package/dist/components/date-picker/date-picker.recipe.mjs.map +1 -0
- package/dist/components/date-picker/index.d.mts +2 -0
- package/dist/components/date-picker/index.mjs +2 -0
- package/dist/components/details.d.mts +9 -0
- package/dist/components/details.d.mts.map +1 -0
- package/dist/components/dialog/dialog.d.mts +45 -0
- package/dist/components/dialog/dialog.d.mts.map +1 -0
- package/dist/components/dialog/dialog.mjs +49 -0
- package/dist/components/dialog/dialog.mjs.map +1 -0
- package/dist/components/dialog/dialog.recipe.mjs +138 -0
- package/dist/components/dialog/dialog.recipe.mjs.map +1 -0
- package/dist/components/dialog/index.d.mts +2 -0
- package/dist/components/dialog/index.mjs +2 -0
- package/dist/components/drawer/drawer.d.mts +62 -0
- package/dist/components/drawer/drawer.d.mts.map +1 -0
- package/dist/components/drawer/drawer.mjs +65 -0
- package/dist/components/drawer/drawer.mjs.map +1 -0
- package/dist/components/drawer/drawer.recipe.mjs +201 -0
- package/dist/components/drawer/drawer.recipe.mjs.map +1 -0
- package/dist/components/drawer/index.d.mts +2 -0
- package/dist/components/drawer/index.mjs +2 -0
- package/dist/components/editable/editable.d.mts +62 -0
- package/dist/components/editable/editable.d.mts.map +1 -0
- package/dist/components/editable/editable.mjs +78 -0
- package/dist/components/editable/editable.mjs.map +1 -0
- package/dist/components/editable/editable.recipe.mjs +152 -0
- package/dist/components/editable/editable.recipe.mjs.map +1 -0
- package/dist/components/editable/index.d.mts +2 -0
- package/dist/components/editable/index.mjs +2 -0
- package/dist/components/empty-state/empty-state.anatomy.mjs +8 -0
- package/dist/components/empty-state/empty-state.anatomy.mjs.map +1 -0
- package/dist/components/empty-state/empty-state.connect.mjs +26 -0
- package/dist/components/empty-state/empty-state.connect.mjs.map +1 -0
- package/dist/components/empty-state/empty-state.d.mts +10 -0
- package/dist/components/empty-state/empty-state.d.mts.map +1 -0
- package/dist/components/empty-state/empty-state.mjs +24 -0
- package/dist/components/empty-state/empty-state.mjs.map +1 -0
- package/dist/components/empty-state/empty-state.recipe.mjs +134 -0
- package/dist/components/empty-state/empty-state.recipe.mjs.map +1 -0
- package/dist/components/empty-state/index.d.mts +2 -0
- package/dist/components/empty-state/index.mjs +2 -0
- package/dist/components/field/field.anatomy.mjs +8 -0
- package/dist/components/field/field.anatomy.mjs.map +1 -0
- package/dist/components/field/field.connect.mjs +117 -0
- package/dist/components/field/field.connect.mjs.map +1 -0
- package/dist/components/field/field.d.mts +19 -0
- package/dist/components/field/field.d.mts.map +1 -0
- package/dist/components/field/field.mjs +77 -0
- package/dist/components/field/field.mjs.map +1 -0
- package/dist/components/field/field.recipe.mjs +60 -0
- package/dist/components/field/field.recipe.mjs.map +1 -0
- package/dist/components/field/index.d.mts +2 -0
- package/dist/components/field/index.mjs +2 -0
- package/dist/components/fieldset/fieldset.anatomy.mjs +8 -0
- package/dist/components/fieldset/fieldset.anatomy.mjs.map +1 -0
- package/dist/components/fieldset/fieldset.connect.mjs +60 -0
- package/dist/components/fieldset/fieldset.connect.mjs.map +1 -0
- package/dist/components/fieldset/fieldset.d.mts +13 -0
- package/dist/components/fieldset/fieldset.d.mts.map +1 -0
- package/dist/components/fieldset/fieldset.mjs +26 -0
- package/dist/components/fieldset/fieldset.mjs.map +1 -0
- package/dist/components/fieldset/fieldset.recipe.mjs +42 -0
- package/dist/components/fieldset/fieldset.recipe.mjs.map +1 -0
- package/dist/components/fieldset/index.d.mts +2 -0
- package/dist/components/fieldset/index.mjs +2 -0
- package/dist/components/file-upload/file-upload.d.mts +105 -0
- package/dist/components/file-upload/file-upload.d.mts.map +1 -0
- package/dist/components/file-upload/file-upload.mjs +127 -0
- package/dist/components/file-upload/file-upload.mjs.map +1 -0
- package/dist/components/file-upload/file-upload.recipe.mjs +236 -0
- package/dist/components/file-upload/file-upload.recipe.mjs.map +1 -0
- package/dist/components/file-upload/index.d.mts +2 -0
- package/dist/components/file-upload/index.mjs +2 -0
- package/dist/components/floating-panel/floating-panel.d.mts +87 -0
- package/dist/components/floating-panel/floating-panel.d.mts.map +1 -0
- package/dist/components/floating-panel/floating-panel.mjs +89 -0
- package/dist/components/floating-panel/floating-panel.mjs.map +1 -0
- package/dist/components/floating-panel/floating-panel.recipe.mjs +156 -0
- package/dist/components/floating-panel/floating-panel.recipe.mjs.map +1 -0
- package/dist/components/floating-panel/index.d.mts +2 -0
- package/dist/components/floating-panel/index.mjs +2 -0
- package/dist/components/hover-card/hover-card.d.mts +48 -0
- package/dist/components/hover-card/hover-card.d.mts.map +1 -0
- package/dist/components/hover-card/hover-card.mjs +31 -0
- package/dist/components/hover-card/hover-card.mjs.map +1 -0
- package/dist/components/hover-card/hover-card.recipe.mjs +133 -0
- package/dist/components/hover-card/hover-card.recipe.mjs.map +1 -0
- package/dist/components/hover-card/index.d.mts +2 -0
- package/dist/components/hover-card/index.mjs +2 -0
- package/dist/components/image-cropper/image-cropper.d.mts +111 -0
- package/dist/components/image-cropper/image-cropper.d.mts.map +1 -0
- package/dist/components/image-cropper/image-cropper.mjs +71 -0
- package/dist/components/image-cropper/image-cropper.mjs.map +1 -0
- package/dist/components/image-cropper/image-cropper.recipe.mjs +126 -0
- package/dist/components/image-cropper/image-cropper.recipe.mjs.map +1 -0
- package/dist/components/image-cropper/index.d.mts +2 -0
- package/dist/components/image-cropper/index.mjs +2 -0
- package/dist/components/input/index.d.mts +2 -0
- package/dist/components/input/index.mjs +2 -0
- package/dist/components/input/input.anatomy.mjs +8 -0
- package/dist/components/input/input.anatomy.mjs.map +1 -0
- package/dist/components/input/input.connect.mjs +82 -0
- package/dist/components/input/input.connect.mjs.map +1 -0
- package/dist/components/input/input.d.mts +31 -0
- package/dist/components/input/input.d.mts.map +1 -0
- package/dist/components/input/input.mjs +37 -0
- package/dist/components/input/input.mjs.map +1 -0
- package/dist/components/input/input.recipe.mjs +111 -0
- package/dist/components/input/input.recipe.mjs.map +1 -0
- package/dist/components/kbd/index.d.mts +2 -0
- package/dist/components/kbd/index.mjs +2 -0
- package/dist/components/kbd/kbd.anatomy.mjs +8 -0
- package/dist/components/kbd/kbd.anatomy.mjs.map +1 -0
- package/dist/components/kbd/kbd.connect.mjs +17 -0
- package/dist/components/kbd/kbd.connect.mjs.map +1 -0
- package/dist/components/kbd/kbd.d.mts +10 -0
- package/dist/components/kbd/kbd.d.mts.map +1 -0
- package/dist/components/kbd/kbd.mjs +18 -0
- package/dist/components/kbd/kbd.mjs.map +1 -0
- package/dist/components/kbd/kbd.recipe.mjs +55 -0
- package/dist/components/kbd/kbd.recipe.mjs.map +1 -0
- package/dist/components/listbox/index.d.mts +2 -0
- package/dist/components/listbox/index.mjs +2 -0
- package/dist/components/listbox/listbox.d.mts +70 -0
- package/dist/components/listbox/listbox.d.mts.map +1 -0
- package/dist/components/listbox/listbox.mjs +79 -0
- package/dist/components/listbox/listbox.mjs.map +1 -0
- package/dist/components/listbox/listbox.recipe.mjs +169 -0
- package/dist/components/listbox/listbox.recipe.mjs.map +1 -0
- package/dist/components/machine-translations.mjs +8 -0
- package/dist/components/machine-translations.mjs.map +1 -0
- package/dist/components/marquee/index.d.mts +2 -0
- package/dist/components/marquee/index.mjs +2 -0
- package/dist/components/marquee/marquee.d.mts +53 -0
- package/dist/components/marquee/marquee.d.mts.map +1 -0
- package/dist/components/marquee/marquee.mjs +30 -0
- package/dist/components/marquee/marquee.mjs.map +1 -0
- package/dist/components/marquee/marquee.recipe.mjs +123 -0
- package/dist/components/marquee/marquee.recipe.mjs.map +1 -0
- package/dist/components/menu/index.d.mts +2 -0
- package/dist/components/menu/index.mjs +2 -0
- package/dist/components/menu/menu.d.mts +66 -0
- package/dist/components/menu/menu.d.mts.map +1 -0
- package/dist/components/menu/menu.mjs +68 -0
- package/dist/components/menu/menu.mjs.map +1 -0
- package/dist/components/menu/menu.recipe.mjs +285 -0
- package/dist/components/menu/menu.recipe.mjs.map +1 -0
- package/dist/components/navigation-menu/index.d.mts +2 -0
- package/dist/components/navigation-menu/index.mjs +2 -0
- package/dist/components/navigation-menu/navigation-menu.d.mts +42 -0
- package/dist/components/navigation-menu/navigation-menu.d.mts.map +1 -0
- package/dist/components/navigation-menu/navigation-menu.mjs +47 -0
- package/dist/components/navigation-menu/navigation-menu.mjs.map +1 -0
- package/dist/components/navigation-menu/navigation-menu.recipe.mjs +271 -0
- package/dist/components/navigation-menu/navigation-menu.recipe.mjs.map +1 -0
- package/dist/components/number-input/index.d.mts +2 -0
- package/dist/components/number-input/index.mjs +2 -0
- package/dist/components/number-input/number-input.d.mts +88 -0
- package/dist/components/number-input/number-input.d.mts.map +1 -0
- package/dist/components/number-input/number-input.mjs +70 -0
- package/dist/components/number-input/number-input.mjs.map +1 -0
- package/dist/components/number-input/number-input.recipe.mjs +231 -0
- package/dist/components/number-input/number-input.recipe.mjs.map +1 -0
- package/dist/components/pagination/index.d.mts +2 -0
- package/dist/components/pagination/index.mjs +2 -0
- package/dist/components/pagination/pagination.d.mts +51 -0
- package/dist/components/pagination/pagination.d.mts.map +1 -0
- package/dist/components/pagination/pagination.mjs +74 -0
- package/dist/components/pagination/pagination.mjs.map +1 -0
- package/dist/components/pagination/pagination.recipe.mjs +144 -0
- package/dist/components/pagination/pagination.recipe.mjs.map +1 -0
- package/dist/components/password-input/index.d.mts +2 -0
- package/dist/components/password-input/index.mjs +2 -0
- package/dist/components/password-input/password-input.d.mts +37 -0
- package/dist/components/password-input/password-input.d.mts.map +1 -0
- package/dist/components/password-input/password-input.mjs +58 -0
- package/dist/components/password-input/password-input.mjs.map +1 -0
- package/dist/components/password-input/password-input.recipe.mjs +180 -0
- package/dist/components/password-input/password-input.recipe.mjs.map +1 -0
- package/dist/components/pin-input/index.d.mts +2 -0
- package/dist/components/pin-input/index.mjs +2 -0
- package/dist/components/pin-input/pin-input.d.mts +68 -0
- package/dist/components/pin-input/pin-input.d.mts.map +1 -0
- package/dist/components/pin-input/pin-input.mjs +51 -0
- package/dist/components/pin-input/pin-input.mjs.map +1 -0
- package/dist/components/pin-input/pin-input.recipe.mjs +81 -0
- package/dist/components/pin-input/pin-input.recipe.mjs.map +1 -0
- package/dist/components/popover/index.d.mts +2 -0
- package/dist/components/popover/index.mjs +2 -0
- package/dist/components/popover/popover.d.mts +42 -0
- package/dist/components/popover/popover.d.mts.map +1 -0
- package/dist/components/popover/popover.mjs +50 -0
- package/dist/components/popover/popover.mjs.map +1 -0
- package/dist/components/popover/popover.recipe.mjs +162 -0
- package/dist/components/popover/popover.recipe.mjs.map +1 -0
- package/dist/components/progress/index.d.mts +2 -0
- package/dist/components/progress/index.mjs +2 -0
- package/dist/components/progress/progress.d.mts +31 -0
- package/dist/components/progress/progress.d.mts.map +1 -0
- package/dist/components/progress/progress.mjs +42 -0
- package/dist/components/progress/progress.mjs.map +1 -0
- package/dist/components/progress/progress.recipe.mjs +189 -0
- package/dist/components/progress/progress.recipe.mjs.map +1 -0
- package/dist/components/qr-code/index.d.mts +2 -0
- package/dist/components/qr-code/index.mjs +2 -0
- package/dist/components/qr-code/qr-code.d.mts +36 -0
- package/dist/components/qr-code/qr-code.d.mts.map +1 -0
- package/dist/components/qr-code/qr-code.mjs +41 -0
- package/dist/components/qr-code/qr-code.mjs.map +1 -0
- package/dist/components/qr-code/qr-code.recipe.mjs +70 -0
- package/dist/components/qr-code/qr-code.recipe.mjs.map +1 -0
- package/dist/components/radio-group/index.d.mts +2 -0
- package/dist/components/radio-group/index.mjs +2 -0
- package/dist/components/radio-group/radio-group.d.mts +33 -0
- package/dist/components/radio-group/radio-group.d.mts.map +1 -0
- package/dist/components/radio-group/radio-group.mjs +47 -0
- package/dist/components/radio-group/radio-group.mjs.map +1 -0
- package/dist/components/radio-group/radio-group.recipe.mjs +189 -0
- package/dist/components/radio-group/radio-group.recipe.mjs.map +1 -0
- package/dist/components/rating-group/index.d.mts +2 -0
- package/dist/components/rating-group/index.mjs +2 -0
- package/dist/components/rating-group/rating-group.d.mts +43 -0
- package/dist/components/rating-group/rating-group.d.mts.map +1 -0
- package/dist/components/rating-group/rating-group.mjs +39 -0
- package/dist/components/rating-group/rating-group.mjs.map +1 -0
- package/dist/components/rating-group/rating-group.recipe.mjs +133 -0
- package/dist/components/rating-group/rating-group.recipe.mjs.map +1 -0
- package/dist/components/scroll-area/index.d.mts +2 -0
- package/dist/components/scroll-area/index.mjs +2 -0
- package/dist/components/scroll-area/scroll-area.d.mts +12 -0
- package/dist/components/scroll-area/scroll-area.d.mts.map +1 -0
- package/dist/components/scroll-area/scroll-area.mjs +31 -0
- package/dist/components/scroll-area/scroll-area.mjs.map +1 -0
- package/dist/components/scroll-area/scroll-area.recipe.mjs +76 -0
- package/dist/components/scroll-area/scroll-area.recipe.mjs.map +1 -0
- package/dist/components/select/index.d.mts +2 -0
- package/dist/components/select/index.mjs +2 -0
- package/dist/components/select/select.d.mts +90 -0
- package/dist/components/select/select.d.mts.map +1 -0
- package/dist/components/select/select.mjs +83 -0
- package/dist/components/select/select.mjs.map +1 -0
- package/dist/components/select/select.recipe.mjs +298 -0
- package/dist/components/select/select.recipe.mjs.map +1 -0
- package/dist/components/separator/index.d.mts +2 -0
- package/dist/components/separator/index.mjs +2 -0
- package/dist/components/separator/separator.anatomy.mjs +8 -0
- package/dist/components/separator/separator.anatomy.mjs.map +1 -0
- package/dist/components/separator/separator.connect.mjs +28 -0
- package/dist/components/separator/separator.connect.mjs.map +1 -0
- package/dist/components/separator/separator.d.mts +11 -0
- package/dist/components/separator/separator.d.mts.map +1 -0
- package/dist/components/separator/separator.mjs +15 -0
- package/dist/components/separator/separator.mjs.map +1 -0
- package/dist/components/separator/separator.recipe.mjs +22 -0
- package/dist/components/separator/separator.recipe.mjs.map +1 -0
- package/dist/components/signature-pad/index.d.mts +2 -0
- package/dist/components/signature-pad/index.mjs +2 -0
- package/dist/components/signature-pad/signature-pad.d.mts +44 -0
- package/dist/components/signature-pad/signature-pad.d.mts.map +1 -0
- package/dist/components/signature-pad/signature-pad.mjs +90 -0
- package/dist/components/signature-pad/signature-pad.mjs.map +1 -0
- package/dist/components/signature-pad/signature-pad.recipe.mjs +111 -0
- package/dist/components/signature-pad/signature-pad.recipe.mjs.map +1 -0
- package/dist/components/skeleton/index.d.mts +2 -0
- package/dist/components/skeleton/index.mjs +2 -0
- package/dist/components/skeleton/skeleton.anatomy.mjs +8 -0
- package/dist/components/skeleton/skeleton.anatomy.mjs.map +1 -0
- package/dist/components/skeleton/skeleton.connect.mjs +26 -0
- package/dist/components/skeleton/skeleton.connect.mjs.map +1 -0
- package/dist/components/skeleton/skeleton.d.mts +9 -0
- package/dist/components/skeleton/skeleton.d.mts.map +1 -0
- package/dist/components/skeleton/skeleton.mjs +16 -0
- package/dist/components/skeleton/skeleton.mjs.map +1 -0
- package/dist/components/skeleton/skeleton.recipe.mjs +46 -0
- package/dist/components/skeleton/skeleton.recipe.mjs.map +1 -0
- package/dist/components/slider/index.d.mts +2 -0
- package/dist/components/slider/index.mjs +2 -0
- package/dist/components/slider/slider.d.mts +72 -0
- package/dist/components/slider/slider.d.mts.map +1 -0
- package/dist/components/slider/slider.mjs +34 -0
- package/dist/components/slider/slider.mjs.map +1 -0
- package/dist/components/slider/slider.recipe.mjs +219 -0
- package/dist/components/slider/slider.recipe.mjs.map +1 -0
- package/dist/components/snackbar/index.d.mts +2 -0
- package/dist/components/snackbar/index.mjs +2 -0
- package/dist/components/snackbar/snackbar.d.mts +57 -0
- package/dist/components/snackbar/snackbar.d.mts.map +1 -0
- package/dist/components/snackbar/snackbar.mjs +226 -0
- package/dist/components/snackbar/snackbar.mjs.map +1 -0
- package/dist/components/snackbar/snackbar.recipe.mjs +217 -0
- package/dist/components/snackbar/snackbar.recipe.mjs.map +1 -0
- package/dist/components/spinner/index.d.mts +2 -0
- package/dist/components/spinner/index.mjs +2 -0
- package/dist/components/spinner/spinner.anatomy.mjs +8 -0
- package/dist/components/spinner/spinner.anatomy.mjs.map +1 -0
- package/dist/components/spinner/spinner.connect.mjs +27 -0
- package/dist/components/spinner/spinner.connect.mjs.map +1 -0
- package/dist/components/spinner/spinner.d.mts +10 -0
- package/dist/components/spinner/spinner.d.mts.map +1 -0
- package/dist/components/spinner/spinner.mjs +25 -0
- package/dist/components/spinner/spinner.mjs.map +1 -0
- package/dist/components/spinner/spinner.recipe.mjs +70 -0
- package/dist/components/spinner/spinner.recipe.mjs.map +1 -0
- package/dist/components/splitter/index.d.mts +2 -0
- package/dist/components/splitter/index.mjs +2 -0
- package/dist/components/splitter/splitter.d.mts +57 -0
- package/dist/components/splitter/splitter.d.mts.map +1 -0
- package/dist/components/splitter/splitter.mjs +40 -0
- package/dist/components/splitter/splitter.mjs.map +1 -0
- package/dist/components/splitter/splitter.recipe.mjs +129 -0
- package/dist/components/splitter/splitter.recipe.mjs.map +1 -0
- package/dist/components/steps/index.d.mts +2 -0
- package/dist/components/steps/index.mjs +2 -0
- package/dist/components/steps/steps.d.mts +42 -0
- package/dist/components/steps/steps.d.mts.map +1 -0
- package/dist/components/steps/steps.mjs +72 -0
- package/dist/components/steps/steps.mjs.map +1 -0
- package/dist/components/steps/steps.recipe.mjs +291 -0
- package/dist/components/steps/steps.recipe.mjs.map +1 -0
- package/dist/components/switch/index.d.mts +2 -0
- package/dist/components/switch/index.mjs +2 -0
- package/dist/components/switch/switch.d.mts +36 -0
- package/dist/components/switch/switch.d.mts.map +1 -0
- package/dist/components/switch/switch.mjs +50 -0
- package/dist/components/switch/switch.mjs.map +1 -0
- package/dist/components/switch/switch.recipe.mjs +171 -0
- package/dist/components/switch/switch.recipe.mjs.map +1 -0
- package/dist/components/table/index.d.mts +2 -0
- package/dist/components/table/index.mjs +2 -0
- package/dist/components/table/table.anatomy.mjs +8 -0
- package/dist/components/table/table.anatomy.mjs.map +1 -0
- package/dist/components/table/table.connect.mjs +50 -0
- package/dist/components/table/table.connect.mjs.map +1 -0
- package/dist/components/table/table.d.mts +10 -0
- package/dist/components/table/table.d.mts.map +1 -0
- package/dist/components/table/table.mjs +90 -0
- package/dist/components/table/table.mjs.map +1 -0
- package/dist/components/table/table.recipe.mjs +186 -0
- package/dist/components/table/table.recipe.mjs.map +1 -0
- package/dist/components/tabs/index.d.mts +2 -0
- package/dist/components/tabs/index.mjs +2 -0
- package/dist/components/tabs/tabs.d.mts +40 -0
- package/dist/components/tabs/tabs.d.mts.map +1 -0
- package/dist/components/tabs/tabs.mjs +23 -0
- package/dist/components/tabs/tabs.mjs.map +1 -0
- package/dist/components/tabs/tabs.recipe.mjs +182 -0
- package/dist/components/tabs/tabs.recipe.mjs.map +1 -0
- package/dist/components/tags-input/index.d.mts +2 -0
- package/dist/components/tags-input/index.mjs +2 -0
- package/dist/components/tags-input/tags-input.d.mts +77 -0
- package/dist/components/tags-input/tags-input.d.mts.map +1 -0
- package/dist/components/tags-input/tags-input.mjs +103 -0
- package/dist/components/tags-input/tags-input.mjs.map +1 -0
- package/dist/components/tags-input/tags-input.recipe.mjs +320 -0
- package/dist/components/tags-input/tags-input.recipe.mjs.map +1 -0
- package/dist/components/textarea/index.d.mts +2 -0
- package/dist/components/textarea/index.mjs +2 -0
- package/dist/components/textarea/textarea.anatomy.mjs +8 -0
- package/dist/components/textarea/textarea.anatomy.mjs.map +1 -0
- package/dist/components/textarea/textarea.connect.mjs +82 -0
- package/dist/components/textarea/textarea.connect.mjs.map +1 -0
- package/dist/components/textarea/textarea.d.mts +32 -0
- package/dist/components/textarea/textarea.d.mts.map +1 -0
- package/dist/components/textarea/textarea.mjs +41 -0
- package/dist/components/textarea/textarea.mjs.map +1 -0
- package/dist/components/textarea/textarea.recipe.mjs +58 -0
- package/dist/components/textarea/textarea.recipe.mjs.map +1 -0
- package/dist/components/timer/index.d.mts +2 -0
- package/dist/components/timer/index.mjs +2 -0
- package/dist/components/timer/timer.d.mts +31 -0
- package/dist/components/timer/timer.d.mts.map +1 -0
- package/dist/components/timer/timer.mjs +98 -0
- package/dist/components/timer/timer.mjs.map +1 -0
- package/dist/components/timer/timer.recipe.mjs +99 -0
- package/dist/components/timer/timer.recipe.mjs.map +1 -0
- package/dist/components/toast/index.d.mts +2 -0
- package/dist/components/toast/index.mjs +2 -0
- package/dist/components/toast/toast.d.mts +55 -0
- package/dist/components/toast/toast.d.mts.map +1 -0
- package/dist/components/toast/toast.mjs +194 -0
- package/dist/components/toast/toast.mjs.map +1 -0
- package/dist/components/toast/toast.recipe.mjs +172 -0
- package/dist/components/toast/toast.recipe.mjs.map +1 -0
- package/dist/components/toc/index.d.mts +2 -0
- package/dist/components/toc/index.mjs +2 -0
- package/dist/components/toc/toc.d.mts +47 -0
- package/dist/components/toc/toc.d.mts.map +1 -0
- package/dist/components/toc/toc.mjs +239 -0
- package/dist/components/toc/toc.mjs.map +1 -0
- package/dist/components/toc/toc.recipe.mjs +147 -0
- package/dist/components/toc/toc.recipe.mjs.map +1 -0
- package/dist/components/toggle/index.d.mts +2 -0
- package/dist/components/toggle/index.mjs +2 -0
- package/dist/components/toggle/toggle.d.mts +21 -0
- package/dist/components/toggle/toggle.d.mts.map +1 -0
- package/dist/components/toggle/toggle.mjs +34 -0
- package/dist/components/toggle/toggle.mjs.map +1 -0
- package/dist/components/toggle/toggle.recipe.mjs +175 -0
- package/dist/components/toggle/toggle.recipe.mjs.map +1 -0
- package/dist/components/toggle-group/index.d.mts +2 -0
- package/dist/components/toggle-group/index.mjs +2 -0
- package/dist/components/toggle-group/toggle-group.d.mts +29 -0
- package/dist/components/toggle-group/toggle-group.d.mts.map +1 -0
- package/dist/components/toggle-group/toggle-group.mjs +18 -0
- package/dist/components/toggle-group/toggle-group.mjs.map +1 -0
- package/dist/components/toggle-group/toggle-group.recipe.mjs +190 -0
- package/dist/components/toggle-group/toggle-group.recipe.mjs.map +1 -0
- package/dist/components/tooltip/index.d.mts +2 -0
- package/dist/components/tooltip/index.mjs +2 -0
- package/dist/components/tooltip/tooltip.d.mts +66 -0
- package/dist/components/tooltip/tooltip.d.mts.map +1 -0
- package/dist/components/tooltip/tooltip.mjs +64 -0
- package/dist/components/tooltip/tooltip.mjs.map +1 -0
- package/dist/components/tooltip/tooltip.recipe.mjs +149 -0
- package/dist/components/tooltip/tooltip.recipe.mjs.map +1 -0
- package/dist/components/tour/index.d.mts +2 -0
- package/dist/components/tour/index.mjs +2 -0
- package/dist/components/tour/tour.d.mts +92 -0
- package/dist/components/tour/tour.d.mts.map +1 -0
- package/dist/components/tour/tour.mjs +89 -0
- package/dist/components/tour/tour.mjs.map +1 -0
- package/dist/components/tour/tour.recipe.mjs +164 -0
- package/dist/components/tour/tour.recipe.mjs.map +1 -0
- package/dist/components/tree-view/index.d.mts +2 -0
- package/dist/components/tree-view/index.mjs +2 -0
- package/dist/components/tree-view/tree-view.d.mts +108 -0
- package/dist/components/tree-view/tree-view.d.mts.map +1 -0
- package/dist/components/tree-view/tree-view.mjs +145 -0
- package/dist/components/tree-view/tree-view.mjs.map +1 -0
- package/dist/components/tree-view/tree-view.recipe.mjs +458 -0
- package/dist/components/tree-view/tree-view.recipe.mjs.map +1 -0
- package/dist/icons/src/calendar.mjs +13 -0
- package/dist/icons/src/calendar.mjs.map +1 -0
- package/dist/icons/src/checkmark.mjs +13 -0
- package/dist/icons/src/checkmark.mjs.map +1 -0
- package/dist/icons/src/chevron-down.mjs +13 -0
- package/dist/icons/src/chevron-down.mjs.map +1 -0
- package/dist/icons/src/chevron-left.mjs +13 -0
- package/dist/icons/src/chevron-left.mjs.map +1 -0
- package/dist/icons/src/chevron-right.mjs +13 -0
- package/dist/icons/src/chevron-right.mjs.map +1 -0
- package/dist/icons/src/chevron-up.mjs +13 -0
- package/dist/icons/src/chevron-up.mjs.map +1 -0
- package/dist/icons/src/chevrons-left.mjs +13 -0
- package/dist/icons/src/chevrons-left.mjs.map +1 -0
- package/dist/icons/src/chevrons-right.mjs +13 -0
- package/dist/icons/src/chevrons-right.mjs.map +1 -0
- package/dist/icons/src/chevrons-up-down.mjs +13 -0
- package/dist/icons/src/chevrons-up-down.mjs.map +1 -0
- package/dist/icons/src/close.mjs +13 -0
- package/dist/icons/src/close.mjs.map +1 -0
- package/dist/icons/src/copy.mjs +13 -0
- package/dist/icons/src/copy.mjs.map +1 -0
- package/dist/icons/src/edit.mjs +13 -0
- package/dist/icons/src/edit.mjs.map +1 -0
- package/dist/icons/src/error.mjs +13 -0
- package/dist/icons/src/error.mjs.map +1 -0
- package/dist/icons/src/eyedropper.mjs +13 -0
- package/dist/icons/src/eyedropper.mjs.map +1 -0
- package/dist/icons/src/file.mjs +13 -0
- package/dist/icons/src/file.mjs.map +1 -0
- package/dist/icons/src/hide.mjs +13 -0
- package/dist/icons/src/hide.mjs.map +1 -0
- package/dist/icons/src/index.mjs +58 -0
- package/dist/icons/src/index.mjs.map +1 -0
- package/dist/icons/src/info.mjs +13 -0
- package/dist/icons/src/info.mjs.map +1 -0
- package/dist/icons/src/maximize.mjs +13 -0
- package/dist/icons/src/maximize.mjs.map +1 -0
- package/dist/icons/src/minus.mjs +13 -0
- package/dist/icons/src/minus.mjs.map +1 -0
- package/dist/icons/src/pause.mjs +13 -0
- package/dist/icons/src/pause.mjs.map +1 -0
- package/dist/icons/src/play.mjs +13 -0
- package/dist/icons/src/play.mjs.map +1 -0
- package/dist/icons/src/reset.mjs +13 -0
- package/dist/icons/src/reset.mjs.map +1 -0
- package/dist/icons/src/restore.mjs +13 -0
- package/dist/icons/src/restore.mjs.map +1 -0
- package/dist/icons/src/show.mjs +13 -0
- package/dist/icons/src/show.mjs.map +1 -0
- package/dist/icons/src/star.mjs +13 -0
- package/dist/icons/src/star.mjs.map +1 -0
- package/dist/icons/src/success.mjs +2 -0
- package/dist/icons/src/trash.mjs +13 -0
- package/dist/icons/src/trash.mjs.map +1 -0
- package/dist/icons/src/user.mjs +13 -0
- package/dist/icons/src/user.mjs.map +1 -0
- package/dist/icons/src/warning.mjs +13 -0
- package/dist/icons/src/warning.mjs.map +1 -0
- package/dist/index.d.mts +139 -0
- package/dist/index.mjs +71 -0
- package/dist/preset.d.mts +2 -0
- package/dist/preset.mjs +2 -0
- package/dist/provider/locale-context.mjs +36 -0
- package/dist/provider/locale-context.mjs.map +1 -0
- package/dist/provider/synapse-provider.d.mts +17 -0
- package/dist/provider/synapse-provider.d.mts.map +1 -0
- package/dist/provider/synapse-provider.mjs +59 -0
- package/dist/provider/synapse-provider.mjs.map +1 -0
- package/dist/provider/translations.d.mts +179 -0
- package/dist/provider/translations.d.mts.map +1 -0
- package/dist/provider/translations.mjs +201 -0
- package/dist/provider/translations.mjs.map +1 -0
- package/dist/provider/use-theme.d.mts +7 -0
- package/dist/provider/use-theme.d.mts.map +1 -0
- package/dist/provider/use-theme.mjs +37 -0
- package/dist/provider/use-theme.mjs.map +1 -0
- package/dist/react/styled-system/css/conditions.mjs +29 -0
- package/dist/react/styled-system/css/conditions.mjs.map +1 -0
- package/dist/react/styled-system/css/css.mjs +39 -0
- package/dist/react/styled-system/css/css.mjs.map +1 -0
- package/dist/react/styled-system/css/cva.mjs +66 -0
- package/dist/react/styled-system/css/cva.mjs.map +1 -0
- package/dist/react/styled-system/css/cx.mjs +13 -0
- package/dist/react/styled-system/css/cx.mjs.map +1 -0
- package/dist/react/styled-system/css/sva.mjs +44 -0
- package/dist/react/styled-system/css/sva.mjs.map +1 -0
- package/dist/react/styled-system/helpers.mjs +231 -0
- package/dist/react/styled-system/helpers.mjs.map +1 -0
- package/dist/shared/button-style.mjs +10 -0
- package/dist/shared/button-style.mjs.map +1 -0
- package/dist/shared/character-count.mjs +29 -0
- package/dist/shared/character-count.mjs.map +1 -0
- package/dist/shared/collection-internal.mjs +24 -0
- package/dist/shared/collection-internal.mjs.map +1 -0
- package/dist/shared/collection.d.mts +120 -0
- package/dist/shared/collection.d.mts.map +1 -0
- package/dist/shared/collection.mjs +395 -0
- package/dist/shared/collection.mjs.map +1 -0
- package/dist/shared/controller.d.mts +4 -0
- package/dist/shared/controller.d.mts.map +1 -0
- package/dist/shared/controller.mjs +53 -0
- package/dist/shared/controller.mjs.map +1 -0
- package/dist/shared/field-context.mjs +47 -0
- package/dist/shared/field-context.mjs.map +1 -0
- package/dist/shared/field-description.mjs +13 -0
- package/dist/shared/field-description.mjs.map +1 -0
- package/dist/shared/icon.mjs +23 -0
- package/dist/shared/icon.mjs.map +1 -0
- package/dist/shared/input-modality.mjs +47 -0
- package/dist/shared/input-modality.mjs.map +1 -0
- package/dist/shared/input-style.mjs +10 -0
- package/dist/shared/input-style.mjs.map +1 -0
- package/dist/shared/layering.d.mts +17 -0
- package/dist/shared/layering.d.mts.map +1 -0
- package/dist/shared/layering.mjs +37 -0
- package/dist/shared/layering.mjs.map +1 -0
- package/dist/shared/notification.d.mts +10 -0
- package/dist/shared/notification.d.mts.map +1 -0
- package/dist/shared/notification.mjs +105 -0
- package/dist/shared/notification.mjs.map +1 -0
- package/dist/shared/reduced-motion.mjs +19 -0
- package/dist/shared/reduced-motion.mjs.map +1 -0
- package/dist/shared/select-indicator.mjs +40 -0
- package/dist/shared/select-indicator.mjs.map +1 -0
- package/dist/shared/size-scale.d.mts +6 -0
- package/dist/shared/size-scale.d.mts.map +1 -0
- package/dist/shared/size-scale.mjs +28 -0
- package/dist/shared/size-scale.mjs.map +1 -0
- package/dist/shared/state-parts.mjs +123 -0
- package/dist/shared/state-parts.mjs.map +1 -0
- package/dist/shared/text-entry.mjs +54 -0
- package/dist/shared/text-entry.mjs.map +1 -0
- package/dist/styles.css +6238 -0
- package/dist/system/as-child.mjs +42 -0
- package/dist/system/as-child.mjs.map +1 -0
- package/dist/system/context.mjs +54 -0
- package/dist/system/context.mjs.map +1 -0
- package/dist/system/controlled.mjs +45 -0
- package/dist/system/controlled.mjs.map +1 -0
- package/dist/system/create-component.mjs +285 -0
- package/dist/system/create-component.mjs.map +1 -0
- package/dist/system/create-part.mjs +123 -0
- package/dist/system/create-part.mjs.map +1 -0
- package/dist/system/dev-warn.mjs +13 -0
- package/dist/system/dev-warn.mjs.map +1 -0
- package/dist/system/getters.mjs +24 -0
- package/dist/system/getters.mjs.map +1 -0
- package/dist/system/merge-props.d.mts +5 -0
- package/dist/system/merge-props.d.mts.map +1 -0
- package/dist/system/merge-props.mjs +95 -0
- package/dist/system/merge-props.mjs.map +1 -0
- package/dist/system/react-node.mjs +17 -0
- package/dist/system/react-node.mjs.map +1 -0
- package/dist/system/refs.mjs +21 -0
- package/dist/system/refs.mjs.map +1 -0
- package/dist/system/styled-component.mjs +15 -0
- package/dist/system/styled-component.mjs.map +1 -0
- package/dist/system/types.d.mts +47 -0
- package/dist/system/types.d.mts.map +1 -0
- package/dist/tokens/dist/preset.d.mts +6 -0
- package/dist/tokens/dist/preset.d.mts.map +1 -0
- package/dist/tokens/dist/preset.mjs +997 -0
- package/dist/tokens/dist/preset.mjs.map +1 -0
- package/package.json +411 -0
- package/skills/components/accordion/SKILL.md +138 -0
- package/skills/components/alert/SKILL.md +126 -0
- package/skills/components/angle-slider/SKILL.md +155 -0
- package/skills/components/avatar/SKILL.md +123 -0
- package/skills/components/badge/SKILL.md +117 -0
- package/skills/components/breadcrumb/SKILL.md +128 -0
- package/skills/components/button/SKILL.md +122 -0
- package/skills/components/card/SKILL.md +126 -0
- package/skills/components/carousel/SKILL.md +176 -0
- package/skills/components/cascade-select/SKILL.md +206 -0
- package/skills/components/checkbox/SKILL.md +149 -0
- package/skills/components/clipboard/SKILL.md +139 -0
- package/skills/components/collapsible/SKILL.md +130 -0
- package/skills/components/color-picker/SKILL.md +216 -0
- package/skills/components/combobox/SKILL.md +218 -0
- package/skills/components/date-input/SKILL.md +157 -0
- package/skills/components/date-picker/SKILL.md +235 -0
- package/skills/components/dialog/SKILL.md +159 -0
- package/skills/components/drawer/SKILL.md +192 -0
- package/skills/components/editable/SKILL.md +162 -0
- package/skills/components/empty-state/SKILL.md +125 -0
- package/skills/components/field/SKILL.md +133 -0
- package/skills/components/fieldset/SKILL.md +123 -0
- package/skills/components/file-upload/SKILL.md +184 -0
- package/skills/components/floating-panel/SKILL.md +206 -0
- package/skills/components/hover-card/SKILL.md +173 -0
- package/skills/components/image-cropper/SKILL.md +158 -0
- package/skills/components/input/SKILL.md +131 -0
- package/skills/components/kbd/SKILL.md +116 -0
- package/skills/components/listbox/SKILL.md +172 -0
- package/skills/components/marquee/SKILL.md +151 -0
- package/skills/components/menu/SKILL.md +202 -0
- package/skills/components/navigation-menu/SKILL.md +172 -0
- package/skills/components/number-input/SKILL.md +177 -0
- package/skills/components/pagination/SKILL.md +159 -0
- package/skills/components/password-input/SKILL.md +156 -0
- package/skills/components/pin-input/SKILL.md +157 -0
- package/skills/components/popover/SKILL.md +166 -0
- package/skills/components/progress/SKILL.md +144 -0
- package/skills/components/qr-code/SKILL.md +132 -0
- package/skills/components/radio-group/SKILL.md +153 -0
- package/skills/components/rating-group/SKILL.md +151 -0
- package/skills/components/scroll-area/SKILL.md +149 -0
- package/skills/components/select/SKILL.md +202 -0
- package/skills/components/separator/SKILL.md +114 -0
- package/skills/components/signature-pad/SKILL.md +161 -0
- package/skills/components/skeleton/SKILL.md +114 -0
- package/skills/components/slider/SKILL.md +178 -0
- package/skills/components/snackbar/SKILL.md +154 -0
- package/skills/components/spinner/SKILL.md +122 -0
- package/skills/components/splitter/SKILL.md +136 -0
- package/skills/components/steps/SKILL.md +150 -0
- package/skills/components/switch/SKILL.md +144 -0
- package/skills/components/table/SKILL.md +144 -0
- package/skills/components/tabs/SKILL.md +138 -0
- package/skills/components/tags-input/SKILL.md +194 -0
- package/skills/components/textarea/SKILL.md +131 -0
- package/skills/components/timer/SKILL.md +142 -0
- package/skills/components/toast/SKILL.md +129 -0
- package/skills/components/toc/SKILL.md +141 -0
- package/skills/components/toggle/SKILL.md +125 -0
- package/skills/components/toggle-group/SKILL.md +129 -0
- package/skills/components/tooltip/SKILL.md +188 -0
- package/skills/components/tour/SKILL.md +158 -0
- package/skills/components/tree-view/SKILL.md +180 -0
- package/skills/synapse/SKILL.md +301 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'skeleton'
|
|
3
|
+
description: 'Skeleton โ ๋ถ๋ฌ์ค๋ ์ค์ธ ์ฝํ
์ธ ์ ์๋ฆฌ๋ฅผ ๊ทธ ์ฝํ
์ธ ์ ๋ชจ์ ๊ทธ๋๋ก ์ก์ ๋๋ ์๋ฆฌํ์์
๋๋ค. ์ค์ ์ฝํ
์ธ ๋ฅผ ๊ฐ์ธ ํฌ๊ธฐ์ ๋ฐฐ์น๋ ๊ทธ๋๋ก ๋๊ณ ๋ด์ฉ๋ง ๊ฐ๋ฆฐ ์ฑ ์์ํ๊ฒ ๋ฐ์ง์ด๋ฉฐ, `loading`์ด ๋๋๋ฉด ๊ฐ์ผ ์ฝํ
์ธ ๋ฅผ ๊ทธ๋๋ก ๋๋ฌ๋
๋๋ค. ๋ค๋ฅธ ์ด๋ฆ: skeleton, skeleton loader, placeholder, shimmer, content placeholder, ์ค์ผ๋ ํค, ์๋ฆฌํ์, ๋ก๋ฉ ์๋ฆฌ.'
|
|
4
|
+
metadata:
|
|
5
|
+
package: '@neurocle/synapse-react'
|
|
6
|
+
packageVersion: '0.3.0'
|
|
7
|
+
registryEntry: 'packages/registry/data/components/skeleton.json'
|
|
8
|
+
registryStructuralVersion: '0.3.0'
|
|
9
|
+
lifecycle: 'active'
|
|
10
|
+
generator: 'packages/react/src/skills/generate.ts'
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<!--
|
|
14
|
+
์์ฑ๋ ํ์ผ โ ์์ผ๋ก ๊ณ ์น์ง ์์ต๋๋ค.
|
|
15
|
+
|
|
16
|
+
Source: packages/registry/data/components/skeleton.json (ํญ๋ชฉ ๊ตฌ์กฐ 0.3.0)
|
|
17
|
+
Generator: packages/react/src/skills/generate.ts
|
|
18
|
+
Regenerate: npx nx run react:skills:generate
|
|
19
|
+
|
|
20
|
+
์๋์์ ์ด ์ปดํฌ๋ํธ์ ๋ํด ๋งํ๋ ๋ชจ๋ ๋ฌธ์ฅ์ ๊ทธ ํญ๋ชฉ์ ํ๋์
๋๋ค. ์ฌ๊ธฐ์ ๊ณ ์น ๋ด์ฉ์ ๋ค์
|
|
21
|
+
์ฌ์์ฑ ๋ ์ง์์ง๊ณ , ์์ผ๋ก ์ค๋ช
ํ ์ปดํฌ๋ํธ๋ ์๋ฌด๊ฒ๋ ์คํจํ์ง ์์ ์ฑ ์ค๋ช
๊ณผ ์ด๊ธ๋ฉ๋๋ค.
|
|
22
|
+
๋์ ํญ๋ชฉ์ ๊ณ ์นฉ๋๋ค.
|
|
23
|
+
-->
|
|
24
|
+
|
|
25
|
+
# Skeleton
|
|
26
|
+
|
|
27
|
+
> ๋ถ๋ฌ์ค๋ ์ค์ธ ์ฝํ
์ธ ์ ์๋ฆฌ๋ฅผ ๊ทธ ์ฝํ
์ธ ์ ๋ชจ์ ๊ทธ๋๋ก ์ก์ ๋๋ ์๋ฆฌํ์์
๋๋ค. ์ค์ ์ฝํ
์ธ ๋ฅผ ๊ฐ์ธ ํฌ๊ธฐ์ ๋ฐฐ์น๋ ๊ทธ๋๋ก ๋๊ณ ๋ด์ฉ๋ง ๊ฐ๋ฆฐ ์ฑ ์์ํ๊ฒ ๋ฐ์ง์ด๋ฉฐ, `loading`์ด ๋๋๋ฉด ๊ฐ์ผ ์ฝํ
์ธ ๋ฅผ ๊ทธ๋๋ก ๋๋ฌ๋
๋๋ค.
|
|
28
|
+
|
|
29
|
+
`@neurocle/synapse-react` 0.3.0์์ ์์ฑํ์ต๋๋ค. ์ค์น๋ ๋ฒ์ ์ด ์ด ๋ฒ์ ์ด ์๋๋ฉด, ์ด ํ์ด์ง์ ์ด๋ค ๋ด์ฉ๋ณด๋ค ์ค์น๋ ํจํค์ง ์์ ํจ๊ป ๋ฐฐํฌ๋ Registry๋ฅผ ์ฐ์ ํฉ๋๋ค.
|
|
30
|
+
|
|
31
|
+
- ํจํค์ง: `@neurocle/synapse-react`
|
|
32
|
+
- ๋ด๋ณด๋ด๊ธฐ: `Skeleton`
|
|
33
|
+
- ๋ถ๋ฅ: `disclosure-layout-display`
|
|
34
|
+
- ์๋ช
์ฃผ๊ธฐ: `active`
|
|
35
|
+
|
|
36
|
+
## Do
|
|
37
|
+
|
|
38
|
+
> ๋ถ๋ฌ์ฌ ์ฝํ
์ธ ์ ๋ชจ์์ ์ด๋ฏธ ์ ๋ ๊ทธ ์๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ์ก์ ๋๋ ๋ฐ ์ฐ์ธ์ โ ๋ชฉ๋ก์ ํ, ์นด๋์ ์ ๋ชฉ๊ณผ ๋ณธ๋ฌธ, ์๋ฐํ์ฒ๋ผ ๋ง์
๋๋ค. ์ค์ ์ฝํ
์ธ (๋๋ ๊ฐ์ ํฌ๊ธฐ์ ์๋ฆฌ ์ฑ์ ์ฝํ
์ธ )๋ฅผ Skeleton.Root๋ก ๊ฐ์ธ๋ฉด ๊ทธ ํฌ๊ธฐ์ ๋ฐฐ์น๊ฐ ๊ทธ๋๋ก ์๋ฆฌํ์๊ฐ ๋๊ณ , ๋ถ๋ฌ์ค๊ธฐ๊ฐ ๋๋๋ฉด `loading={false}`๋ก ๋๋ฌ๋
๋๋ค. ์ํ ์๋ฐํ์ฒ๋ผ ๋ชจ์๋ฆฌ๊ฐ ๋ค๋ฅธ ๋ชจ์์ ์ฌ์ฉ์ฒ๊ฐ Skeleton์ ๋ชจ์๋ฆฌ๋ฅผ ๋ง์ถ์ธ์.
|
|
39
|
+
|
|
40
|
+
## Don't
|
|
41
|
+
|
|
42
|
+
> ๋ชจ์์ ์ ์ ์๊ฑฐ๋ ์งง๊ฒ ๋๋๋ ์์
์๋ Spinner๋ฅผ ์ฐ์ธ์. ์งํ๋ฅ ์ด ์์ผ๋ฉด Progress๋ฅผ ์ฐ์ธ์. ๋ถ๋ฌ์ค๊ธฐ๊ฐ ๋๋ฌ๋๋ฐ ๊ฒฐ๊ณผ๊ฐ ์์์ ์๋ฆฌ๋ ๋ฐ ์ฐ์ง ๋ง์ธ์ โ ๊ทธ๊ฒ์ EmptyState์
๋๋ค.
|
|
43
|
+
|
|
44
|
+
## Anti-patterns
|
|
45
|
+
|
|
46
|
+
> ์ค์ ์ฝํ
์ธ ์ ๋ค๋ฅธ ํฌ๊ธฐ์ ๋น ์์๋ฅผ Skeleton์ผ๋ก ๊ทธ๋ ค ๋๋ ๊ฒ. ๋ถ๋ฌ์ค๊ธฐ๊ฐ ๋๋๋ ์๊ฐ ๋ ์ด์์์ด ๋ฐ๋ ค ์ฌ์ฉ์๊ฐ ๋๋ฅด๋ ค๋ ๊ฒ์ ๋์นฉ๋๋ค โ Skeleton์ ์ค์ ๋ชจ์์ ๊ฐ์ธ ์ฐ๋ ๊ฒ์ด ์์น์
๋๋ค. ํ๋ฉด ์ ์ฒด๋ฅผ Skeleton์ผ๋ก ๋ฎ๊ณ ์งํ ์ค์ด๋ผ๋ ์ฌ์ค์ ์ด๋์์๋ ์๋ฆฌ์ง ์๋ ๊ฒ๋ ๊ฐ์ ๋ถ๋ฅ์
๋๋ค. ๊ฐ์ธ๋ ์์ญ์ aria-busy๋ฅผ ์ฃผ๊ฑฐ๋ Spinner๋ก ์๋ฆฌ์ธ์.
|
|
47
|
+
|
|
48
|
+
Registry๋ ์ด ์ปดํฌ๋ํธ์ ์๋ด๋ฅผ `reviewed`๋ก ๊ธฐ๋กํฉ๋๋ค(๊ฒํ ์ผ 2026-09-26).
|
|
49
|
+
|
|
50
|
+
## ๊ด๋ จ ์ปดํฌ๋ํธ
|
|
51
|
+
|
|
52
|
+
- `Spinner` (`spinner`)
|
|
53
|
+
- `Progress` (`progress`)
|
|
54
|
+
- `Avatar` (`avatar`)
|
|
55
|
+
|
|
56
|
+
## ๊ฐ์ ธ์ค๊ธฐ
|
|
57
|
+
|
|
58
|
+
```tsx
|
|
59
|
+
import { Skeleton } from '@neurocle/synapse-react'
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Anatomy
|
|
63
|
+
|
|
64
|
+
React ๋ค์์คํ์ด์ค๊ฐ ๋
ธ์ถํ๋ part 1๊ฐ๋ฅผ ํญ๋ชฉ์ `parts.containment`๊ฐ ๊ธฐ๋กํ ๋๋ก ์กฐํฉํ์ต๋๋ค. ํ part๊ฐ ๋์ผ ์ ์๋ ์ ๋นํ ์๋ฆฌ๊ฐ ๋ ์ด์์ด๋ฉด ์ค๋ํซ์ ์ฒซ ๋ฒ์งธ๋ฅผ ์ฐ๊ณ , ์๋ ๋ชฉ๋ก์ด ๋๋จธ์ง๋ฅผ ์๋ ค ์ค๋๋ค.
|
|
65
|
+
|
|
66
|
+
```tsx
|
|
67
|
+
<Skeleton.Root />
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
- `Skeleton.Root` โ ์ต์์์ ๋์
๋๋ค
|
|
71
|
+
|
|
72
|
+
## Props
|
|
73
|
+
|
|
74
|
+
๋น๋๊ฐ ๋ฐฉ์ถํ๋ ์ ์ธ์์ ๋์ถํ prop 1๊ฐ. ์ ์ธ์๋ ๊ธฐ๋ณธ๊ฐ์ ๋ ์๋ฆฌ๊ฐ ์์ผ๋ฏ๋ก prop ๊ธฐ๋ก์๋ ๊ธฐ๋ณธ๊ฐ์ด ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ด ์๋ค๋ฉด ๊ทธ prop์ ์ค๋ช
์ ์ ํ ์์ต๋๋ค.
|
|
75
|
+
|
|
76
|
+
๋ชจ๋ prop์ด ์ ํ์
๋๋ค. ์๋ฌด๊ฒ๋ ๋๊ธฐ์ง ์์ผ๋ฉด ์ปดํฌ๋ํธ๋ ๋น์ ์ด๋ก ๋์ํฉ๋๋ค.
|
|
77
|
+
|
|
78
|
+
### ์ ํ
|
|
79
|
+
|
|
80
|
+
- `loading` โ `boolean`, ์ ํ. ์ฌ์ฉ์ฒ๊ฐ ์์ ํ ๋ถ๋ฌ์ค๊ธฐ๊ฐ ์งํ ์ค์ธ์ง. `true`(๊ธฐ๋ณธ๊ฐ)์ธ ๋์ ์์์ ์๋ฆฌ์ ํฌ๊ธฐ๋ง ๋จ๊ธด ์ฑ ๊ฐ๋ ค์ง๊ณ ๋ณด์กฐ๊ธฐ์ ๊ณผ ํฌ์ธํฐ์์ ๋น ์ง๋ฉฐ, ๊ทธ ์๋ฆฌ์ ์๋ฆฌํ์ ๋ชจ์์ด ๊ทธ๋ ค์ง๋๋ค. `false`๊ฐ ๋๋ฉด ์์์ด ๊ทธ๋๋ก ๋ํ๋๊ณ Skeleton์ ๋ ์ด์์์ ์๋ฌด ์์๋ ๋จ๊ธฐ์ง ์์ต๋๋ค.
|
|
81
|
+
|
|
82
|
+
## ํผ
|
|
83
|
+
|
|
84
|
+
ํผ ์ฐธ์ฌ: ์๋์.
|
|
85
|
+
|
|
86
|
+
> ํผ์ ์ ์ถํ๋ ๊ฐ์ด ์์ต๋๋ค. ๋ถ๋ฌ์ค๋ ๋์ ๊ฐ์ผ ํผ ์ปจํธ๋กค์ inert๋ผ ์กฐ์๋ ์ ์ถ ์ค๋น๋ ๋์ง ์์ต๋๋ค.
|
|
87
|
+
|
|
88
|
+
## ์ด ์ปดํฌ๋ํธ์ ์ผ๋ถ๋ฌ ์๋ ๊ฒ
|
|
89
|
+
|
|
90
|
+
- `size-axis` โ ์๋ฆฌํ์์ ํฌ๊ธฐ์ ๋ชจ์์ ๊ฐ์ผ ์ฝํ
์ธ ๊ฐ ์ ํฉ๋๋ค. Skeleton์ด ํฌ๊ธฐ ์ฒ๋๋ฅผ ๊ฐ์ง๋ฉด ์ค์ ์ฝํ
์ธ ์ ๋ค๋ฅธ ํฌ๊ธฐ๋ก ์๋ฆฌ๋ฅผ ์ก์, ๋ถ๋ฌ์ค๊ธฐ๊ฐ ๋๋๋ ์๊ฐ ๋ ์ด์์์ด ํ๋๋ค.
|
|
91
|
+
- `empty-state` โ Skeleton์ ๊ณง ์ฑ์์ง ์๋ฆฌ๋ฅผ ํ์ํ๋ ๊ฒ์ด์ง ๋น์ด ์์์ ์๋ฆฌ์ง ์์ต๋๋ค. ๋ถ๋ฌ์จ ๊ฒฐ๊ณผ๊ฐ ๋น์๋ค๋ฉด Skeleton์ ์น์ฐ๊ณ EmptyState๋ฅผ ๋ณด์ฌ ์ฃผ์ธ์.
|
|
92
|
+
- `loading-state` โ Skeleton ์์ฒด๊ฐ ๋ก๋ฉ ์ํ์ ํํ์
๋๋ค. `loading` prop์ด ๊ทธ ์ํ๋ฅผ ์ผ๊ณ ๋๋ฏ๋ก ๋ณ๋์ ๋ก๋ฉ part๊ฐ ์์ต๋๋ค.
|
|
93
|
+
- `error-state` โ ๋ถ๋ฌ์ค๊ธฐ๊ฐ ์คํจํ๋์ง๋ ์ฌ์ฉ์ฒ๋ง ์๋๋ค. ์คํจํ๋ฉด `loading`์ ๋๊ณ ์ฝํ
์ธ ๋์ ์คํจ๋ฅผ ์๋ฆฌ๋ ์์๋ฅผ ๋ ๋๋งํ์ธ์.
|
|
94
|
+
|
|
95
|
+
## ์ ๊ทผ์ฑ
|
|
96
|
+
|
|
97
|
+
### ์ ๊ทผ ๊ฐ๋ฅํ ์ด๋ฆ
|
|
98
|
+
|
|
99
|
+
> ์ด๋ฆ์ด ์์ต๋๋ค. ๋ถ๋ฌ์ค๋ ๋์ ์ ๊ทผ์ฑ ํธ๋ฆฌ์์ ๋น ์ง๋๋ค.
|
|
100
|
+
|
|
101
|
+
### ํฌ์ปค์ค
|
|
102
|
+
|
|
103
|
+
> ๋ถ๋ฌ์ค๋ ๋์ ์์ชฝ์ ํฌ์ปค์ค๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค. Skeleton์ ํฌ์ปค์ค๋ฅผ ์ฎ๊ธฐ์ง ์์ผ๋ฏ๋ก, ๋๋ฌ์ ๋ ํฌ์ปค์ค๋ฅผ ๋ ๊ณณ์ ์ฌ์ฉ์ฒ๊ฐ ์ ํฉ๋๋ค.
|
|
104
|
+
|
|
105
|
+
## ๋ก์ผ์ผ๊ณผ ์ปฌ๋ ์
|
|
106
|
+
|
|
107
|
+
- ๋ก์ผ์ผ ์์กด: ์๋์. ํญ๋ชฉ์ ์ด๋ฅผ ์ด์ ์์ด ์ฌ์ค๋ก๋ง ๊ธฐ๋กํฉ๋๋ค.
|
|
108
|
+
- ์ปฌ๋ ์
์๋์: ์๋์. ํญ๋ชฉ์ ์ด๋ฅผ ์ด์ ์์ด ์ฌ์ค๋ก๋ง ๊ธฐ๋กํฉ๋๋ค.
|
|
109
|
+
|
|
110
|
+
## ๊ธฐ๋ฅ ์ฉ์ด์ ๋ค๋ฅธ ์ด๋ฆ
|
|
111
|
+
|
|
112
|
+
- ๋ค๋ฃจ๋ ๊ธฐ๋ฅ: `skeleton-placeholder`, `indeterminate-progress`.
|
|
113
|
+
- ๋ค๋ฅธ ์ด๋ฆ: `skeleton`, `skeleton loader`, `placeholder`, `shimmer`, `content placeholder`, `์ค์ผ๋ ํค`, `์๋ฆฌํ์`, `๋ก๋ฉ ์๋ฆฌ`.
|
|
114
|
+
- ์ดํ ์ํ: `controlled`.
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'slider'
|
|
3
|
+
description: 'Slider โ ํธ๋ ์์ ์์น๋ก ๊ณ ๋ฅด๋ ๊ฐ์ผ๋ก, ์ ํํ ์๋ฆฟ์๋ณด๋ค ๋๋ต์ ์ธ ํฌ๊ธฐ๊ฐ ๋ ์ค์ํ ์์ ์๋๋ค. ๋ ๋ฒ์งธ ์ธ์ ๋ํ๋ฉด ๋ ๊ฐ ์ฌ์ด์ ๋ฒ์๋ฅผ ๊ณ ๋ฆ
๋๋ค. ๋ค๋ฅธ ์ด๋ฆ: slider, range, range slider, track, volume control, ์ฌ๋ผ์ด๋, ๋ฒ์ ์ฌ๋ผ์ด๋, ๋ ์ธ์ง ์ฌ๋ผ์ด๋, ์๋ ์กฐ์ .'
|
|
4
|
+
metadata:
|
|
5
|
+
package: '@neurocle/synapse-react'
|
|
6
|
+
packageVersion: '0.3.0'
|
|
7
|
+
registryEntry: 'packages/registry/data/components/slider.json'
|
|
8
|
+
registryStructuralVersion: '0.3.0'
|
|
9
|
+
lifecycle: 'active'
|
|
10
|
+
generator: 'packages/react/src/skills/generate.ts'
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<!--
|
|
14
|
+
์์ฑ๋ ํ์ผ โ ์์ผ๋ก ๊ณ ์น์ง ์์ต๋๋ค.
|
|
15
|
+
|
|
16
|
+
Source: packages/registry/data/components/slider.json (ํญ๋ชฉ ๊ตฌ์กฐ 0.3.0)
|
|
17
|
+
Generator: packages/react/src/skills/generate.ts
|
|
18
|
+
Regenerate: npx nx run react:skills:generate
|
|
19
|
+
|
|
20
|
+
์๋์์ ์ด ์ปดํฌ๋ํธ์ ๋ํด ๋งํ๋ ๋ชจ๋ ๋ฌธ์ฅ์ ๊ทธ ํญ๋ชฉ์ ํ๋์
๋๋ค. ์ฌ๊ธฐ์ ๊ณ ์น ๋ด์ฉ์ ๋ค์
|
|
21
|
+
์ฌ์์ฑ ๋ ์ง์์ง๊ณ , ์์ผ๋ก ์ค๋ช
ํ ์ปดํฌ๋ํธ๋ ์๋ฌด๊ฒ๋ ์คํจํ์ง ์์ ์ฑ ์ค๋ช
๊ณผ ์ด๊ธ๋ฉ๋๋ค.
|
|
22
|
+
๋์ ํญ๋ชฉ์ ๊ณ ์นฉ๋๋ค.
|
|
23
|
+
-->
|
|
24
|
+
|
|
25
|
+
# Slider
|
|
26
|
+
|
|
27
|
+
> ํธ๋ ์์ ์์น๋ก ๊ณ ๋ฅด๋ ๊ฐ์ผ๋ก, ์ ํํ ์๋ฆฟ์๋ณด๋ค ๋๋ต์ ์ธ ํฌ๊ธฐ๊ฐ ๋ ์ค์ํ ์์ ์๋๋ค. ๋ ๋ฒ์งธ ์ธ์ ๋ํ๋ฉด ๋ ๊ฐ ์ฌ์ด์ ๋ฒ์๋ฅผ ๊ณ ๋ฆ
๋๋ค.
|
|
28
|
+
|
|
29
|
+
`@neurocle/synapse-react` 0.3.0์์ ์์ฑํ์ต๋๋ค. ์ค์น๋ ๋ฒ์ ์ด ์ด ๋ฒ์ ์ด ์๋๋ฉด, ์ด ํ์ด์ง์ ์ด๋ค ๋ด์ฉ๋ณด๋ค ์ค์น๋ ํจํค์ง ์์ ํจ๊ป ๋ฐฐํฌ๋ Registry๋ฅผ ์ฐ์ ํฉ๋๋ค.
|
|
30
|
+
|
|
31
|
+
- ํจํค์ง: `@neurocle/synapse-react`
|
|
32
|
+
- ๋ด๋ณด๋ด๊ธฐ: `Slider`
|
|
33
|
+
- ๋ถ๋ฅ: `range-and-drawing`
|
|
34
|
+
- ์๋ช
์ฃผ๊ธฐ: `active`
|
|
35
|
+
|
|
36
|
+
## ์๋ ค์ง ์์ธ โ ์ฌ์ฉ ์ ์ ํ์ธ
|
|
37
|
+
|
|
38
|
+
์ด ์ปดํฌ๋ํธ๋ ์๋ ๊ธฐ์ค 1๊ฐ๋ฅผ **์๋์ ์ผ๋ก ์ถฉ์กฑํ์ง ์์ต๋๋ค**. ๊ธฐ๋ก๋ ๊ฒฐ์ ์ด๋ฏ๋ก ๊ณ ์น๋ ค ๋ค์ง ๋ง๊ณ , ๊ฐ ํญ๋ชฉ์ ์ ์์ ์ ์ง์ผ์ ์๋๋ค.
|
|
39
|
+
|
|
40
|
+
### HTML ํผ ์ ์ถ โ ์๋ ค์ง ๊ฒฐํจ
|
|
41
|
+
|
|
42
|
+
- ์ถฉ์กฑํ์ง ๋ชปํ๋ ๊ฒ: `name`๋ `form`๋ ์์ด ํผ์ ์๋ฌด๊ฒ๋ ์ ์ถํ์ง ์์ต๋๋ค. machine์ ๋ ๋๋ง๋์ง ์๋ ์
๋ ฅ์ ๊ฐ๋ฆฌํค๋ label `htmlFor`๋ฅผ ์ฌ์ ํ ๋ด๋ณด๋
๋๋ค.
|
|
43
|
+
- ์๋ํ ์ด์ : ์ธ๋ง๋ค ์จ๊ฒจ์ง ์
๋ ฅ์ ๋ ๋๋งํ๋ machine์ getter๋ฅผ ๊ธฐ๋ฐ ๊ณ์ธต์ด ํํํ์ง ๋ชปํฉ๋๋ค. ์๋ฌด๊ฒ๋ ์ ์ถํ์ง ์๋ `name`์ ์๋ ๊ฒ๋ณด๋ค ๋์๋ฏ๋ก ๋
ธ์ถํ์ง ์์ต๋๋ค.
|
|
44
|
+
- ์ฌ์ฉ ์ ์ ์์ : `onValueChange`๋ก ๊ฐ์ ๋ฐ์ ์ ํ์ ํ๋์ ๋ฃ์ด ์ ์ถํ์ธ์.
|
|
45
|
+
|
|
46
|
+
## Do
|
|
47
|
+
|
|
48
|
+
> ์ฌ์ฉ์๊ฐ ํ๋จํ๋ ๊ฒ์ด ๋๋ต์ ์ธ ํฌ๊ธฐ์ธ ๊ฒฝ๊ณ ์๋ ์์ ์ฐ์ธ์. ์๋, ๋ถํฌ๋ช
๋, ํ๋/์ถ์, ์์ฐ ์ํ์ด ๊ทธ๋ฐ ์์ด๋ฉฐ, ๊ฐ์ ์
๋ ฅํ๋ ๊ฒ๋ณด๋ค ํ๊ณ ๋๋น ๊ฐ์ ์์น๋ฅผ ๋ณด๋ ๊ฒ์ด ๋ ๊ฐ์น ์์ ๋์
๋๋ค. ๊ฐ๊ฒฉ ํํฐ๋ ๋ ์ง ๊ตฌ๊ฐ์ฒ๋ผ ์ ๋์ ๋ชจ๋ ์ฌ์ฉ์๊ฐ ์ ํด์ผ ํ ๋๋ ๋ฒ์ ํจํด์ ์ฐ์ธ์.
|
|
49
|
+
|
|
50
|
+
## Don't
|
|
51
|
+
|
|
52
|
+
> ์ ํํ ์ซ์๊ฐ ์ค์ํ๊ณ ๋ฒ์๊ฐ ๋์ ๋๋ Slider๋ฅผ ์ฐ์ง ๋ง์ธ์. NumberInput์ 1,247์ ์ฐพ์ ํค๋งฌ ํ์ ์์ด ๋ฐ๋ก ์
๋ ฅํ๊ฒ ํด ์ฃผ์ง๋ง, ๋จ์๋น 1ํฝ์
์ธ ์ฌ๋ผ์ด๋๋ ํฌ์ธํฐ๋ก ์ ๋ฐํ๊ฒ ์กฐ์ํ ์๊ฐ ์์ต๋๋ค. ์ด๋ฆ์ด ๋ถ์ ๋ช ๊ฐ์ ์ ํ์ง ์ค์์ ๊ณ ๋ฅผ ๋๋ ์ฐ์ง ๋ง์ธ์. ๊ทธ๊ฒ์ RadioGroup์ด๋ Select์ด๋ฉฐ, ์ฌ์ฉ์๊ฐ ๋๋๊ทธํด์ ์ ํ์ง๋ฅผ ์ฐพ์๋ด๊ฒ ํ์ง ์๊ณ ์ ํ์ง๋ฅผ ์ง์ ์๋ฆฝ๋๋ค. ์งํ ํ์๋ก๋ ์ฐ์ง ๋ง์ธ์. Progress๋ ์กฐ์ํ ์ ์์ผ๋ฉฐ ๊ทธ ์ฌ์ค์ ์๋ฆฝ๋๋ค.
|
|
53
|
+
|
|
54
|
+
## Anti-patterns
|
|
55
|
+
|
|
56
|
+
> ๋ฒ์ ํจํด์ ์ํด ๋ ๋ฒ์งธ ์ปดํฌ๋ํธ๋ฅผ ๋ด๋ณด๋ด๋ ๊ฒ. machine๋, anatomy๋, prop ์งํฉ๋ ํ๋์ด๋ฉฐ, ์ด๋ฅผ ์ชผ๊ฐ๋ฉด ์ฌ์ฉ์ฒ๊ฐ ๋ฐฐ์์ผ ํ API๊ฐ ๋ ๋ฐฐ๊ฐ ๋๊ณ ๊ฐ์ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ๋ ๋ฒ ์ธ๊ฒ ๋ฉ๋๋ค. ๋ํ `value`๋ฅผ ๋งจ ์ซ์๋ก ๋ฐ์ธ๋ฉํ๋ ๊ฒ๋ ํผํ์ธ์. ๋ ๋ฒ์งธ ์ธ์ด ๋ํ๋ ๋ ํ์
์ด ๋ฐ๋์ง ์๋๋ก, `value`๋ ๋ ํจํด ๋ชจ๋์์ ๋ฐฐ์ด์
๋๋ค.
|
|
57
|
+
|
|
58
|
+
Registry๋ ์ด ์ปดํฌ๋ํธ์ ์๋ด๋ฅผ `reviewed`๋ก ๊ธฐ๋กํฉ๋๋ค(๊ฒํ ์ผ 2026-09-22).
|
|
59
|
+
|
|
60
|
+
## ๊ด๋ จ ์ปดํฌ๋ํธ
|
|
61
|
+
|
|
62
|
+
- `AngleSlider` (`angle-slider`)
|
|
63
|
+
- `NumberInput` (`number-input`)
|
|
64
|
+
- `Progress` (`progress`)
|
|
65
|
+
- `RatingGroup` (`rating-group`)
|
|
66
|
+
|
|
67
|
+
## ๊ฐ์ ธ์ค๊ธฐ
|
|
68
|
+
|
|
69
|
+
```tsx
|
|
70
|
+
import { Slider } from '@neurocle/synapse-react'
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Anatomy
|
|
74
|
+
|
|
75
|
+
React ๋ค์์คํ์ด์ค๊ฐ ๋
ธ์ถํ๋ part 10๊ฐ๋ฅผ ํญ๋ชฉ์ `parts.containment`๊ฐ ๊ธฐ๋กํ ๋๋ก ์กฐํฉํ์ต๋๋ค. ํ part๊ฐ ๋์ผ ์ ์๋ ์ ๋นํ ์๋ฆฌ๊ฐ ๋ ์ด์์ด๋ฉด ์ค๋ํซ์ ์ฒซ ๋ฒ์งธ๋ฅผ ์ฐ๊ณ , ์๋ ๋ชฉ๋ก์ด ๋๋จธ์ง๋ฅผ ์๋ ค ์ค๋๋ค.
|
|
76
|
+
|
|
77
|
+
```tsx
|
|
78
|
+
<Slider.Root>
|
|
79
|
+
<Slider.Label />
|
|
80
|
+
<Slider.ValueText />
|
|
81
|
+
<Slider.Control>
|
|
82
|
+
<Slider.Thumb />
|
|
83
|
+
<Slider.Track>
|
|
84
|
+
<Slider.Range />
|
|
85
|
+
</Slider.Track>
|
|
86
|
+
<Slider.DraggingIndicator />
|
|
87
|
+
</Slider.Control>
|
|
88
|
+
<Slider.MarkerGroup>
|
|
89
|
+
<Slider.Marker />
|
|
90
|
+
</Slider.MarkerGroup>
|
|
91
|
+
</Slider.Root>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
- `Slider.Root` โ ์ต์์์ ๋์
๋๋ค
|
|
95
|
+
- `Slider.Label` โ `Root` ์์ ๋์
๋๋ค
|
|
96
|
+
- `Slider.Thumb` โ `Control` ์์ ๋์
๋๋ค
|
|
97
|
+
- `Slider.ValueText` โ `Root` ์์ ๋์
๋๋ค
|
|
98
|
+
- `Slider.Track` โ `Control` ์์ ๋์
๋๋ค
|
|
99
|
+
- `Slider.Range` โ `Track` ์์ ๋์
๋๋ค
|
|
100
|
+
- `Slider.Control` โ `Root` ์์ ๋์
๋๋ค
|
|
101
|
+
- `Slider.MarkerGroup` โ `Root` ์์ ๋์
๋๋ค
|
|
102
|
+
- `Slider.Marker` โ `MarkerGroup` ์์ ๋์
๋๋ค
|
|
103
|
+
- `Slider.DraggingIndicator` โ `Control` ์์ ๋์
๋๋ค
|
|
104
|
+
|
|
105
|
+
## Props
|
|
106
|
+
|
|
107
|
+
๋น๋๊ฐ ๋ฐฉ์ถํ๋ ์ ์ธ์์ ๋์ถํ prop 20๊ฐ. ์ ์ธ์๋ ๊ธฐ๋ณธ๊ฐ์ ๋ ์๋ฆฌ๊ฐ ์์ผ๋ฏ๋ก prop ๊ธฐ๋ก์๋ ๊ธฐ๋ณธ๊ฐ์ด ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ด ์๋ค๋ฉด ๊ทธ prop์ ์ค๋ช
์ ์ ํ ์์ต๋๋ค.
|
|
108
|
+
|
|
109
|
+
๋ชจ๋ prop์ด ์ ํ์
๋๋ค. ์๋ฌด๊ฒ๋ ๋๊ธฐ์ง ์์ผ๋ฉด ์ปดํฌ๋ํธ๋ ๋น์ ์ด๋ก ๋์ํฉ๋๋ค.
|
|
110
|
+
|
|
111
|
+
### ์ ํ
|
|
112
|
+
|
|
113
|
+
- `value` โ `readonly number[]`, ์ ํ. ์ ์ด๋๋ ๊ฐ์ด๋ฉฐ, ์ธ์ ๋ ๋ฐฐ์ด์
๋๋ค. ๋ฒ์ ํจํด์ ๋ณ๋ ์ปดํฌ๋ํธ๊ฐ ์๋๋ผ ๊ฐ์ Slider์ variant๋ผ์ ๊ฐ์ ํํ๋ ํ๋์
๋๋ค. ํญ๋ชฉ์ด ํ๋๋ฉด ๋จ์ผ ๊ฐ ํจํด์ด๊ณ , ๋์ด๋ฉด ๋ฒ์ ํจํด์ด๋ฉฐ, machine์ ๊ทธ๋ณด๋ค ๋ง์ ๊ฒฝ์ฐ๋ ์ง์ํฉ๋๋ค.
|
|
114
|
+
- `defaultValue` โ `readonly number[]`, ์ ํ. ๋น์ ์ด ๋ชจ๋์ ์ด๊ธฐ ๊ฐ. `value`๋ฅผ ์ฃผ๋ฉด ๋ฌด์๋ฉ๋๋ค.
|
|
115
|
+
- `onValueChange` โ `(details: SliderValueChangeDetails) => void`, ์ ํ. ๊ฐ์ด ๋ฐ๋ ๋๋ง๋ค ํธ์ถ๋ฉ๋๋ค. ๋๋๊ทธ ๋์ค์ ๊ฐ ๋จ๊ณ๋ ํฌํจํฉ๋๋ค.
|
|
116
|
+
- `onValueChangeEnd` โ `(details: SliderValueChangeDetails) => void`, ์ ํ. ๋๋๊ทธ๋ ํค ๋ฐ๋ณต์ด ๊ฐ๋ผ์์ ๋ค ํธ์ถ๋ฉ๋๋ค. ๊ฐ์ ์ ์ฅํ ์์ ์ ์ด์ชฝ์
๋๋ค.
|
|
117
|
+
- `onFocusChange` โ `(details: SliderFocusChangeDetails) => void`, ์ ํ. ๋ฒ์ Slider์์ ํค๋ณด๋๊ฐ ์ธ ์ฌ์ด๋ฅผ ์ค๊ฐ ๋ ํธ์ถ๋ฉ๋๋ค.
|
|
118
|
+
- `min` โ `number`, ์ ํ. ๊ฐ์ฅ ๋ฎ์ ๊ฐ. ๊ธฐ๋ณธ๊ฐ์ 0์
๋๋ค.
|
|
119
|
+
- `max` โ `number`, ์ ํ. ๊ฐ์ฅ ๋์ ๊ฐ. ๊ธฐ๋ณธ๊ฐ์ 100์
๋๋ค.
|
|
120
|
+
- `step` โ `number`, ์ ํ. ํ์ดํ ํค์ ๋๋๊ทธ์ ๋จ์. ๊ธฐ๋ณธ๊ฐ์ 1์
๋๋ค.
|
|
121
|
+
- `largeStep` โ `number`, ์ ํ. PageUp/PageDown๊ณผ Shift+ํ์ดํ์ ๋จ์. ๊ธฐ๋ณธ๊ฐ์ ์ด ์คํ
์
๋๋ค.
|
|
122
|
+
- `minStepsBetweenThumbs` โ `number`, ์ ํ. ๋ฒ์ ํจํด์ ๋ ์ธ์ด ์ง์ผ์ผ ํ๋ ๊ฐ๊ฒฉ์ด๋ฉฐ, ์คํ
์๋ก ์ธ์. ์ธ์ด ํ๋๋ฉด ์๋ฌด ํจ๊ณผ๊ฐ ์์ต๋๋ค.
|
|
123
|
+
- `thumbCollisionBehavior` โ `SliderThumbCollisionBehavior`, ์ ํ. ๋ฒ์ ํจํด์ ๋ ์ธ์ด ์๋ก์๊ฒ ๋๋ ค ๋ค์ด๊ฐ์ ๋ ๋ณด์ด๋ ๋์.
|
|
124
|
+
- `origin` โ `SliderOrigin`, ์ ํ. ์ฑ์์ง ๋ฒ์๊ฐ ์์๋๋ ์ง์ . ๊ธฐ๋ณธ๊ฐ์ `start`์
๋๋ค.
|
|
125
|
+
- `orientation` โ `Orientation`, ์ ํ. Slider๊ฐ ๋ฐฐ์น๋๋ ์ถ. ๊ธฐ๋ณธ๊ฐ์ `horizontal`์
๋๋ค.
|
|
126
|
+
- `thumbAlignment` โ `SliderThumbAlignment`, ์ ํ. ์ธ์ ํธ๋ ๊ฒฝ๊ณ ์์ ๋ถ์ก์ ๋์ง ์ฌ๋ถ. ๊ธฐ๋ณธ๊ฐ์ `center`์
๋๋ค.
|
|
127
|
+
- `getAriaValueText` โ `(details: SliderValueTextDetails) => string`, ์ ํ. ๋ณด์กฐ ๊ธฐ์ ์ ๊ฐ์ ์ด๋ฆ์ ์ง์ด ์ค๋๋ค โ `"42"`๊ฐ ์๋๋ผ `"42 percent"`์ฒ๋ผ. machine์ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ `aria-valuetext`์ ๋ฃ๊ณ , ์คํฌ๋ฆฐ ๋ฆฌ๋๋ ์ซ์ ๋์ ๊ทธ๊ฒ์ ์ฝ์ต๋๋ค. ์ด๊ฒ์ด ์์ผ๋ฉด ํตํ๋ ํ์ ์ด ๋งจ ์ ์๋ก ์ฝํ๋๋ค.
|
|
128
|
+
- `disabled` โ `boolean`, ์ ํ. ๋นํ์ฑํ๋ Slider๋ ๋ฐ์ํ์ง ์๊ณ ํญ ์์์๋ ๋ค์ด๊ฐ์ง ์์ต๋๋ค.
|
|
129
|
+
- `readOnly` โ `boolean`, ์ ํ. ์ฝ๊ธฐ ์ ์ฉ Slider๋ ํฌ์ปค์คํ๊ณ ์ฝ์ ์๋ ์์ง๋ง ๋ฐ๊ฟ ์๋ ์์ต๋๋ค.
|
|
130
|
+
- `invalid` โ `boolean`, ์ ํ. ๋ณด์กฐ ๊ธฐ์ ์ `aria-invalid`๋ก ์๋ฆฝ๋๋ค.
|
|
131
|
+
- `size` โ `Size`, ์ ํ. ํ๋๋ฟ์ธ ๊ณต์ฉ ์ฒ๋๋ฅผ ๋ฐ๋ฆ
๋๋ค. ๋ชจ๋ ์ปดํฌ๋ํธ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ธฐ๋ณธ๊ฐ์ `md`์
๋๋ค.
|
|
132
|
+
- `id` โ `string`, ์ ํ. ํฉํ ๋ฆฌ๊ฐ ๋ง๋๋ ์๋ณ์๋ฅผ ๋ฎ์ด์๋๋ค. ์๋ฒ์ ํด๋ผ์ด์ธํธ์์ ๊ฐ์ ๊ฐ์ผ๋ก ์ ์ง๋ฉ๋๋ค.
|
|
133
|
+
|
|
134
|
+
## Variants
|
|
135
|
+
|
|
136
|
+
- `size` โ `xs`, `sm`, `md`, `lg`, `xl`. ๊ธฐ๋ณธ๊ฐ์ `md`.
|
|
137
|
+
|
|
138
|
+
## ํผ
|
|
139
|
+
|
|
140
|
+
ํผ ์ฐธ์ฌ: ์๋์.
|
|
141
|
+
|
|
142
|
+
> ์ฌ๋ผ์ด๋์ ๋ํ ๊ฒฐ์ ์ด ์๋๋ผ ๊ธฐ๋ฐ ๊ณ์ธต์ ๊ฒฐํจ ๋๋ฌธ์ ๋งํ ์์ต๋๋ค. machine์ `getHiddenInputProps({ index })`๋ ์ธ๋ง๋ค ์จ๊ฒจ์ง ์
๋ ฅ์ ํ๋์ฉ ๋ ๋๋งํ๋ฉฐ ์ธ์๋ฅผ ๊ตฌ์กฐ ๋ถํดํฉ๋๋ค. ๋ฐ๋ฉด ๊ธฐ๋ฐ ๊ณ์ธต์ `rootOwnedGetters` ์ด์๋งค๋ getter๋ฅผ ์ธ์ ์์ด ํธ์ถํ๊ณ ์์๋ฅผ ์ ํํ ํ๋๋ง ๋ ๋๋งํ๋ฏ๋ก, ๋ ์ค ์ด๋ ์ชฝ๋ ํํํ ์ ์์ต๋๋ค. ์ด๋ tools/vocabulary-check/src/exceptions.ts์ ๊ธฐ๋ก๋์ด ์์ผ๋ฉฐ ์ค์์์ ๊ณ ์น ์์ ์
๋๋ค. ๊ทธ๋๊น์ง ์ปดํฌ๋ํธ๋ `name`๋ `form` prop๋ ์ ์ธํ์ง ์์ต๋๋ค. ํ์
๊ฒ์ฌ๋ ํต๊ณผํ์ง๋ง ์๋ฌด๊ฒ๋ ์ ์ถํ์ง ์๋ name์ ์๋ ๊ฒ๋ณด๋ค ๋์๊ธฐ ๋๋ฌธ์
๋๋ค. ์ฌ์ฉ์ฒ๋ `onValueChange`๋ฅผ ์์ ์ ํ๋์ ์ฐ๊ฒฐํด ๊ฐ์ ์ ์ถํฉ๋๋ค.
|
|
143
|
+
|
|
144
|
+
## ์ด ์ปดํฌ๋ํธ์ ์ผ๋ถ๋ฌ ์๋ ๊ฒ
|
|
145
|
+
|
|
146
|
+
- `empty-state` โ ์ปฌ๋ ์
์ด ์๋๋ผ ์ซ์ ํ๋ ๋๋ ๋์ ๊ฐ์ง๋ฏ๋ก ๋น์ด ์์ ์ ์๋ ์งํฉ์ด ์์ต๋๋ค. ๊ฐ์ด ์๋ ์ฌ๋ผ์ด๋๋ min๊ณผ max๊ฐ ๋ ๋ฒ์๋ฅผ ์ ํ๋ฏ๋ก ์ฌ์ ํ ์์น๋ฅผ ๊ฐ์ง๋๋ค.
|
|
147
|
+
- `loading-state` โ ๊ฐ์ด ์์ง ๋์ฐฉ ์ค์ธ ์ฌ๋ผ์ด๋๋ ๋นํ์ฑํ๋ ์ฌ๋ผ์ด๋์ ์ฌ์ฉ์ฒ์ ์ค์ผ๋ ํค์ ๋ํ ๊ฒ์
๋๋ค. ๋ก๋ฉ part๋ฅผ ๋๋ฉด ๋นํ์ฑํ ์ํ์ ์ค๋ณต๋์ด ๊ฐ์ ์ ๋ณด๋ฅผ ๋ ๋ฒ ์ฃผ๊ฒ ๋ฉ๋๋ค.
|
|
148
|
+
- `error-state` โ ์ ํจํ์ง ์์์ ์ปจํธ๋กค์ ์ํ์ด๋ฉฐ, `invalid`๋ก ์ ๋ฌ๋๊ณ ์ธ์ aria-invalid๋ก ์๋ ค์ง๋๋ค. ์ด๋ฅผ ์ค๋ช
ํ๋ ๋ฉ์์ง๋ ์ฌ๋ผ์ด๋๊ฐ ์๋๋ผ ์ฃผ๋ณ ํ๋์ ๋ชซ์
๋๋ค.
|
|
149
|
+
|
|
150
|
+
## ์ ๊ทผ์ฑ
|
|
151
|
+
|
|
152
|
+
### ์ ๊ทผ ๊ฐ๋ฅํ ์ด๋ฆ
|
|
153
|
+
|
|
154
|
+
> ๊ฐ ์ธ์ aria-labelledby๋ฅผ ํตํด Label part์์ ๊ฐ์ ธ์ต๋๋ค. Label์ด ์๋ ์ฌ๋ผ์ด๋๋ ์ด๋ฆ์ด ์์ผ๋ฉฐ, ์ด๋ ์กฐ์ฉํ ์ฑ์์ง์ง ์๊ณ ๊ฐ์ฌ์์ ๋๋ฌ๋ฉ๋๋ค.
|
|
155
|
+
|
|
156
|
+
### ํฌ์ปค์ค
|
|
157
|
+
|
|
158
|
+
> ๊ฐ ์ธ์ด ์ ๋ง๋ค ํฌ์ปค์ค๋ฅผ ๋ฐ์ผ๋ฏ๋ก, ๋ฒ์ ์ฌ๋ผ์ด๋์๋ ํญ ์ ์ง ์ง์ ์ด ๋ ์๊ณ ํค๋ณด๋ ์ฌ์ฉ์๋ ์ด๋ ๋์ด๋ ๋ค๋ฃฐ ์ ์์ต๋๋ค. ํฌ์ปค์ค ๋ง์ ์ธ์ ๊ทธ๋ ค์ง๋๋ค.
|
|
159
|
+
|
|
160
|
+
### ๊ฐ ํ
์คํธ
|
|
161
|
+
|
|
162
|
+
> `getAriaValueText`๋ aria-valuetext๋ฅผ ํตํด ์๋ด๋๋ ์ซ์๋ฅผ "42 percent", "14 US dollars" ๊ฐ์ ๊ตฌ์ ๋ก ๋ฐ๊ฟ๋๋ค. ์ด๊ฒ์ด ์์ผ๋ฉด ํตํ๋ ํ์ ์ด ๋งจ ์ ์๋ก ์๋ด๋ฉ๋๋ค.
|
|
163
|
+
|
|
164
|
+
## ๋ก์ผ์ผ๊ณผ ์ปฌ๋ ์
|
|
165
|
+
|
|
166
|
+
- ๋ก์ผ์ผ ์์กด: ์๋์. ํญ๋ชฉ์ ์ด๋ฅผ ์ด์ ์์ด ์ฌ์ค๋ก๋ง ๊ธฐ๋กํฉ๋๋ค.
|
|
167
|
+
- ์ปฌ๋ ์
์๋์: ์๋์. ํญ๋ชฉ์ ์ด๋ฅผ ์ด์ ์์ด ์ฌ์ค๋ก๋ง ๊ธฐ๋กํฉ๋๋ค.
|
|
168
|
+
|
|
169
|
+
## ์ด ์ปดํฌ๋ํธ๊ฐ ์ด๋ฏธ ๋ค๋ฃจ๋ ํจํด
|
|
170
|
+
|
|
171
|
+
- **single** โ ์ ํํ๋ ๋ฐฉ๋ฒ: value์ ๊ฐ์ด ํ๋๋ง ๋ค์ด ์์ ๋ ์ ํ๋ฉ๋๋ค. ์ธ์ด ํ๋์ธ ํ๋ฒํ ์ฌ๋ผ์ด๋์
๋๋ค. ์๋, ํ๋ ์์ค, ๋ฐฑ๋ถ์จ์ด ๊ทธ๋ฐ ์์
๋๋ค.
|
|
172
|
+
- **range** โ ์ ํํ๋ ๋ฐฉ๋ฒ: value์ ๊ฐ์ด ๋ ์ด์ ๋ค์ด ์์ ๋ ์ ํ๋ฉ๋๋ค. ์ธ ๋ ๊ฐ์ ๊ทธ ์ฌ์ด๋ฅผ ์ฑ์ด ๋ ๋ก ์ด๋ฃจ์ด์ง๋๋ค. ๊ฐ๊ฒฉ ๋ฒ์, ๋ ์ง ๊ตฌ๊ฐ, ํ์ฉ ์ค์ฐจ๊ฐ ๊ทธ๋ฐ ์์
๋๋ค. ๋ค๋ฅธ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ด๋ฅผ ๋ ๋ฒ์งธ ์ปดํฌ๋ํธ๋ก ๋ด๋ณด๋ด์ง๋ง, Synapse๋ `value`์ ๊ธธ์ด๋ก ์ ํ๋๋ ์ด ์ปดํฌ๋ํธ์ ํ ํํ๋ก ๋ด๋ณด๋
๋๋ค. machine์ด ํ๋์ด๋ฏ๋ก ๋ ๋ฒ ์ธ๋ฉด ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ๋ถํ๋ฆฌ๊ฒ ๋๊ธฐ ๋๋ฌธ์
๋๋ค. `minStepsBetweenThumbs`์ `thumbCollisionBehavior`๊ฐ ์ด ํํ๋ฅผ ์ค์ ํ์ง๋ง, ๋ ์ค ์ด๋ ๊ฒ๋ ์ด ํํ๋ฅผ ์ ์ธํ์ง๋ ์์ต๋๋ค.
|
|
173
|
+
|
|
174
|
+
## ๊ธฐ๋ฅ ์ฉ์ด์ ๋ค๋ฅธ ์ด๋ฆ
|
|
175
|
+
|
|
176
|
+
- ๋ค๋ฃจ๋ ๊ธฐ๋ฅ: `bounded-value`, `two-ended-range`, `stepped-value`, `axis-orientation`, `readonly-display`.
|
|
177
|
+
- ๋ค๋ฅธ ์ด๋ฆ: `slider`, `range`, `range slider`, `track`, `volume control`, `์ฌ๋ผ์ด๋`, `๋ฒ์ ์ฌ๋ผ์ด๋`, `๋ ์ธ์ง ์ฌ๋ผ์ด๋`, `์๋ ์กฐ์ `.
|
|
178
|
+
- ์ดํ ์ํ: `controlled`.
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'snackbar'
|
|
3
|
+
description: 'Snackbar โ ์ฌ์ฉ์๊ฐ ํ์ธํด์ผ ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์๋ฆฌ๋ ๋ฐ์ ์นด๋์
๋๋ค. ์ํ ๋ง๋์ ์์ด์ฝ, ๋ฌธ๊ตฌ, ๋์ ํ๋, ๋ซ๊ธฐ ๋ฒํผ์ ๋ด๊ณ , ์ฌ๋ฌ ๊ฐ๊ฐ ๊ฒน์ณ ์์ด๋ฉฐ, ๋ซ์ ๋๊น์ง ๋จ์ต๋๋ค. ๋ค๋ฅธ ์ด๋ฆ: snackbar, notification, action notification, alert card, ์ค๋ต๋ฐ, ์ค๋ต๋ฐ ์๋ฆผ, ๋์ ์๋ฆผ.'
|
|
4
|
+
metadata:
|
|
5
|
+
package: '@neurocle/synapse-react'
|
|
6
|
+
packageVersion: '0.3.0'
|
|
7
|
+
registryEntry: 'packages/registry/data/components/snackbar.json'
|
|
8
|
+
registryStructuralVersion: '0.3.0'
|
|
9
|
+
lifecycle: 'active'
|
|
10
|
+
generator: 'packages/react/src/skills/generate.ts'
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<!--
|
|
14
|
+
์์ฑ๋ ํ์ผ โ ์์ผ๋ก ๊ณ ์น์ง ์์ต๋๋ค.
|
|
15
|
+
|
|
16
|
+
Source: packages/registry/data/components/snackbar.json (ํญ๋ชฉ ๊ตฌ์กฐ 0.3.0)
|
|
17
|
+
Generator: packages/react/src/skills/generate.ts
|
|
18
|
+
Regenerate: npx nx run react:skills:generate
|
|
19
|
+
|
|
20
|
+
์๋์์ ์ด ์ปดํฌ๋ํธ์ ๋ํด ๋งํ๋ ๋ชจ๋ ๋ฌธ์ฅ์ ๊ทธ ํญ๋ชฉ์ ํ๋์
๋๋ค. ์ฌ๊ธฐ์ ๊ณ ์น ๋ด์ฉ์ ๋ค์
|
|
21
|
+
์ฌ์์ฑ ๋ ์ง์์ง๊ณ , ์์ผ๋ก ์ค๋ช
ํ ์ปดํฌ๋ํธ๋ ์๋ฌด๊ฒ๋ ์คํจํ์ง ์์ ์ฑ ์ค๋ช
๊ณผ ์ด๊ธ๋ฉ๋๋ค.
|
|
22
|
+
๋์ ํญ๋ชฉ์ ๊ณ ์นฉ๋๋ค.
|
|
23
|
+
-->
|
|
24
|
+
|
|
25
|
+
# Snackbar
|
|
26
|
+
|
|
27
|
+
> ์ฌ์ฉ์๊ฐ ํ์ธํด์ผ ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์๋ฆฌ๋ ๋ฐ์ ์นด๋์
๋๋ค. ์ํ ๋ง๋์ ์์ด์ฝ, ๋ฌธ๊ตฌ, ๋์ ํ๋, ๋ซ๊ธฐ ๋ฒํผ์ ๋ด๊ณ , ์ฌ๋ฌ ๊ฐ๊ฐ ๊ฒน์ณ ์์ด๋ฉฐ, ๋ซ์ ๋๊น์ง ๋จ์ต๋๋ค.
|
|
28
|
+
|
|
29
|
+
`@neurocle/synapse-react` 0.3.0์์ ์์ฑํ์ต๋๋ค. ์ค์น๋ ๋ฒ์ ์ด ์ด ๋ฒ์ ์ด ์๋๋ฉด, ์ด ํ์ด์ง์ ์ด๋ค ๋ด์ฉ๋ณด๋ค ์ค์น๋ ํจํค์ง ์์ ํจ๊ป ๋ฐฐํฌ๋ Registry๋ฅผ ์ฐ์ ํฉ๋๋ค.
|
|
30
|
+
|
|
31
|
+
- ํจํค์ง: `@neurocle/synapse-react`
|
|
32
|
+
- ๋ด๋ณด๋ด๊ธฐ: `Snackbar`
|
|
33
|
+
- ๋ถ๋ฅ: `floating-and-overlay`
|
|
34
|
+
- ์๋ช
์ฃผ๊ธฐ: `active`
|
|
35
|
+
|
|
36
|
+
## ์๋ ค์ง ์์ธ โ ์ฌ์ฉ ์ ์ ํ์ธ
|
|
37
|
+
|
|
38
|
+
์ด ์ปดํฌ๋ํธ๋ ์๋ ๊ธฐ์ค 3๊ฐ๋ฅผ **์๋์ ์ผ๋ก ์ถฉ์กฑํ์ง ์์ต๋๋ค**. ๊ธฐ๋ก๋ ๊ฒฐ์ ์ด๋ฏ๋ก ๊ณ ์น๋ ค ๋ค์ง ๋ง๊ณ , ๊ฐ ํญ๋ชฉ์ ์ ์์ ์ ์ง์ผ์ ์๋๋ค.
|
|
39
|
+
|
|
40
|
+
### WCAG 2.2 SC 1.4.11 ๋นํ
์คํธ ๋๋น (AA)
|
|
41
|
+
|
|
42
|
+
- ๋์ part: `root`
|
|
43
|
+
- ์ถฉ์กฑํ์ง ๋ชปํ๋ ๊ฒ: ์ํ ๋ง๋์ ์ํ ์์ด์ฝ์ croissant์ ์ํ ์(`*.onSurface`, ๋ฐ์ ํ
๋ง์ 400 ๋จ๊ณ)์ผ๋ก ๊ทธ๋ ค์ง๋ฉฐ, ํฐ ์นด๋ ์์์ ์ฑ๊ณต ์์ ์ฝ 2.45:1๋ก 3:1์ ๋ชป ๋ฏธ์นฉ๋๋ค.
|
|
44
|
+
- ์๋ํ ์ด์ : croissant ์ค๋ต๋ฐ์ ๋ชจ์์ ๊ทธ๋๋ก ๋ฐ๋ฆ
๋๋ค. ์ํ๋ ์๋ฟ ์๋๋ผ ์์ด์ฝ ๋ชจ์(์ฒดํฌ, ์ผ๊ฐํ)๊ณผ ๋ฌธ๊ตฌ ์์ฒด๋ก๋ ์ ๋ฌ๋๋ฏ๋ก ์์ ์ค๋ณต ์ ํธ์
๋๋ค. `contrast-pairs.json`์ `status-mark` ์ฉ๋๋ก ๊ธฐ๋ก๋์ด ์์ต๋๋ค.
|
|
45
|
+
- ์ฌ์ฉ ์ ์ ์์ : ์ํ๋ฅผ ์์๋ง ๋งก๊ธฐ์ง ๋ง์ธ์. ๋ฌธ๊ตฌ๊ฐ ์ฑ๊ณต์ธ์ง ์คํจ์ธ์ง ์ค์ค๋ก ๋งํ๊ฒ ์ฐ๊ณ , ํ์
(`success`, `error`)์ ๋ฐ๋์ ๋๊ฒจ ์์ด์ฝ์ด ํจ๊ป ๊ทธ๋ ค์ง๊ฒ ํ์ธ์.
|
|
46
|
+
|
|
47
|
+
### WCAG 2.2 SC 1.4.3 ๋๋น(์ต์) (AA)
|
|
48
|
+
|
|
49
|
+
- ๋์ part: `actionTrigger`
|
|
50
|
+
- ์ถฉ์กฑํ์ง ๋ชปํ๋ ๊ฒ: ๋์ ๋ฒํผ์ ๊ธ์๋ ์ํ ์ ๋ฐํ(`*.subtle`) ์์ ์ํ ์(`*.onSurface`)์ผ๋ก ์ฐ์ด๋ฉฐ, ์ฑ๊ณต ํ์
์์ ์ฝ 2.2:1๋ก 4.5:1์ ํฌ๊ฒ ๋ชป ๋ฏธ์นฉ๋๋ค.
|
|
51
|
+
- ์๋ํ ์ด์ : croissant ์ค๋ต๋ฐ์ ๋ฌผ๋ ๋์ ๋ฒํผ์ ๊ทธ๋๋ก ๋ฐ๋ฆ
๋๋ค. `contrast-pairs.json`์ `tinted-label` ์ฉ๋๋ก ๊ธฐ๋ก๋ ์๋์ ์์ธ์
๋๋ค.
|
|
52
|
+
- ์ฌ์ฉ ์ ์ ์์ : ๋์ ๋ ์ด๋ธ์ `View`, `Show`, `Retry`์ฒ๋ผ ํ ๋จ์ด๋ก ์งง๊ฒ ์ฐ์ธ์. ๊ฐ์ ๋์์ ๋ฟ๋ ๋ค๋ฅธ ๊ฒฝ๋ก(ํด๋น ํ๋ฉด์ ๋งํฌ๋ ๋ฉ๋ด)๋ฅผ ์ ํ์ ๋์ธ์.
|
|
53
|
+
|
|
54
|
+
### Synapse ์ค๋ต๋ฐ ์์ โ croissant์ ๋ค๋ฆ
|
|
55
|
+
|
|
56
|
+
- ๋์ part: `group`
|
|
57
|
+
- ์ถฉ์กฑํ์ง ๋ชปํ๋ ๊ฒ: croissant๋ ์ค๋ต๋ฐ๋ฅผ ๊ฒน์น์ง ์์ ๋ชฉ๋ก์ผ๋ก ๋์ด๋๊ณ ๊ฐ์ฅ ์ต๊ทผ ๊ฒ์ ๋งจ ์์ ๋์ง๋ง, Synapse๋ ๊ฐ์ฅ ์ต๊ทผ ์ค๋ต๋ฐ๋ฅผ ๋งจ ์์ ๋๊ณ ์ด์ ๊ฒ์ ๋ค๋ก ๊ฒน์ณ ์์ผ๋ฉฐ, ๊ฐ๋ฆฌํค๊ฑฐ๋ ํฌ์ปค์คํ๋ฉด ํผ์นฉ๋๋ค. ํผ์น ์ํ์์ ๊ฐ์ฅ ์ต๊ทผ ๊ฒ์ ๋งจ ์๋(ํ๋ฉด ๊ฐ์ฅ์๋ฆฌ ์ชฝ)์
๋๋ค.
|
|
58
|
+
- ์๋ํ ์ด์ : ์ฌ๋ฌ ์๋ฆผ์ด ํ๋ฉด์ ๊ฐ๋ฆฌ์ง ์๋๋ก ๊ฒน์ณ ์๋ ๊ตฌ์กฐ๋ฅผ ํํ์ต๋๋ค. ํผ์น ์์๋ `@zag-js/toast` machine์ด ์ ์๋ฆผ๋ถํฐ ๋์ด๋ฅผ ๋์ ํด ๊ณ์ฐํ๋ฉฐ, ์ด๋ฅผ ๋ค์ง๋ ์ค์ ์ด machine์ ์์ต๋๋ค.
|
|
59
|
+
- ์ฌ์ฉ ์ ์ ์์ : ๊ฒน์น ์ํ์์๋ ๊ฐ์ฅ ์ต๊ทผ ์ค๋ต๋ฐ๋ง ์ฝํ๋๋ค. ์ด์ ์ค๋ต๋ฐ์ ๋ด์ฉ์ด ์ค์ํ๋ฉด ๊ฐ์ ์ ๋ณด๋ฅผ ํ๋ฉด์ ๋ค๋ฅธ ๊ณณ์๋ ๋จ๊ธฐ์ธ์.
|
|
60
|
+
|
|
61
|
+
## Do
|
|
62
|
+
|
|
63
|
+
> ์ฌ์ฉ์๊ฐ ํ์ธํด์ผ ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์๋ฆด ๋ ์ฐ์ธ์ โ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์
์ ์๋ฃ๋ ์คํจ์ฒ๋ผ, ์ฌ์ฉ์๊ฐ ๋ค๋ฅธ ์ผ์ ํฉ๋๋ค ๋์์์๋ ๋ณผ ์ ์์ด์ผ ํ๋ ๊ฒฐ๊ณผ์
๋๋ค. ๊ฒฐ๊ณผ์ ๋ํด ๊ณง๋ฐ๋ก ํ ์ ์๋ ํ ๊ฐ์ง(๋ณดํต `View`๋ `Retry`)๊ฐ ์์ผ๋ฉด ๋์ ๋ฒํผ์ผ๋ก ์ฃผ์ธ์. croissant ์ค๋ต๋ฐ๋ฅผ ๋ฐ๋ผ ์ผ์ชฝ ๊ฐ์ฅ์๋ฆฌ์ ์ํ ๋ง๋, ์ํ ์์ด์ฝ, ๊ตต์ ๋ฌธ๊ตฌ, ๋ฌผ๋ ๋์ ๋ฒํผ, ๊ตฌ๋ถ์ ๋ค์ ๋ซ๊ธฐ ๋ฒํผ์ ๋ด์ต๋๋ค. ์ฌ๋ฌ ๊ฐ๊ฐ ๊ฒน์ณ ์์๋ค๊ฐ ๊ฐ๋ฆฌํค๊ฑฐ๋ ํฌ์ปค์คํ๋ฉด ํผ์ณ์ง๊ณ , ๊ธฐ๋ณธ ์์น๋ ์ค๋ฅธ์ชฝ ์๋์
๋๋ค.
|
|
64
|
+
|
|
65
|
+
## Don't
|
|
66
|
+
|
|
67
|
+
> ์ฌ์ฉ์๊ฐ ๋ฐ๋ก ํ ์ผ์ด ์๋ ํ ์ค ์ํ์๋ ์ฐ์ง ๋ง์ธ์ โ ๊ทธ๊ฒ์ ์ค์ค๋ก ์ฌ๋ผ์ง๋ Toast์
๋๋ค. ์ฌ์ฉ์๊ฐ ๋ฐ๋์ ๋์ํด์ผ ํ๋ ๊ฒฐ์ ์๋ ์ฐ์ง ๋ง์ธ์. ๊ทธ๊ฒ์ Dialog์
๋๋ค. ํ๋์ ์์
์ ๋ํด ์ฌ๋ฌ ๊ฐ๋ฅผ ํ๊บผ๋ฒ์ ์์ง ๋ง์ธ์.
|
|
68
|
+
|
|
69
|
+
## Anti-patterns
|
|
70
|
+
|
|
71
|
+
> ์๋ฆผ์ ๋ณด๋ด๋ ํธ๋ฆฌ ๋ถ๋ถ ์์ ์์ญ์ ๋ ๋๋งํ๋ ๊ฒ. ์ค๋ต๋ฐ๋ ์ ํ๋ฆฌ์ผ์ด์
๊ณณ๊ณณ์์ ๋ง๋ค์ด์ง๋ฏ๋ก, ํ๋ `createSnackbar`๋ก ํ ๋ฒ ๋ง๋ค์ด `SnackbarProvider`๋ก ํธ๋ฆฌ์ ์ ๋ฌํ๊ณ `Snackbar.Root`๋ ๊ฐ์ฅ์๋ฆฌ์ ํ ๋ฒ๋ง ๋ง์ดํธํ์ธ์.
|
|
72
|
+
|
|
73
|
+
Registry๋ ์ด ์ปดํฌ๋ํธ์ ์๋ด๋ฅผ `reviewed`๋ก ๊ธฐ๋กํฉ๋๋ค(๊ฒํ ์ผ 2026-09-26).
|
|
74
|
+
|
|
75
|
+
## ๊ด๋ จ ์ปดํฌ๋ํธ
|
|
76
|
+
|
|
77
|
+
- `Dialog` (`dialog`)
|
|
78
|
+
- `Drawer` (`drawer`)
|
|
79
|
+
- `Toast` (`toast`)
|
|
80
|
+
- `Tooltip` (`tooltip`)
|
|
81
|
+
|
|
82
|
+
## ๊ฐ์ ธ์ค๊ธฐ
|
|
83
|
+
|
|
84
|
+
```tsx
|
|
85
|
+
import { Snackbar } from '@neurocle/synapse-react'
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Anatomy
|
|
89
|
+
|
|
90
|
+
React ๋ค์์คํ์ด์ค๊ฐ ๋
ธ์ถํ๋ part 1๊ฐ๋ฅผ ํญ๋ชฉ์ `parts.containment`๊ฐ ๊ธฐ๋กํ ๋๋ก ์กฐํฉํ์ต๋๋ค. ํ part๊ฐ ๋์ผ ์ ์๋ ์ ๋นํ ์๋ฆฌ๊ฐ ๋ ์ด์์ด๋ฉด ์ค๋ํซ์ ์ฒซ ๋ฒ์งธ๋ฅผ ์ฐ๊ณ , ์๋ ๋ชฉ๋ก์ด ๋๋จธ์ง๋ฅผ ์๋ ค ์ค๋๋ค.
|
|
91
|
+
|
|
92
|
+
```tsx
|
|
93
|
+
<Snackbar.Root />
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
- `Snackbar.Root` โ `Group` ์์ ๋์
๋๋ค
|
|
97
|
+
|
|
98
|
+
### React ๋ค์์คํ์ด์ค๊ฐ ๋
ธ์ถํ์ง ์๋ anatomy part
|
|
99
|
+
|
|
100
|
+
- `Group`
|
|
101
|
+
- `Title`
|
|
102
|
+
- `Description`
|
|
103
|
+
- `ActionTrigger`
|
|
104
|
+
- `CloseTrigger`
|
|
105
|
+
|
|
106
|
+
## Props
|
|
107
|
+
|
|
108
|
+
๋น๋๊ฐ ๋ฐฉ์ถํ๋ ์ ์ธ์์ ๋์ถํ prop 4๊ฐ. ์ ์ธ์๋ ๊ธฐ๋ณธ๊ฐ์ ๋ ์๋ฆฌ๊ฐ ์์ผ๋ฏ๋ก prop ๊ธฐ๋ก์๋ ๊ธฐ๋ณธ๊ฐ์ด ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ด ์๋ค๋ฉด ๊ทธ prop์ ์ค๋ช
์ ์ ํ ์์ต๋๋ค.
|
|
109
|
+
|
|
110
|
+
๋ชจ๋ prop์ด ์ ํ์
๋๋ค. ์๋ฌด๊ฒ๋ ๋๊ธฐ์ง ์์ผ๋ฉด ์ปดํฌ๋ํธ๋ ๋น์ ์ด๋ก ๋์ํฉ๋๋ค.
|
|
111
|
+
|
|
112
|
+
### ์ ํ
|
|
113
|
+
|
|
114
|
+
- `queue` โ `SnackbarQueue`, ์ ํ. ์ด ์์ญ์ด ๋ ๋ํ๋ ์ค๋ต๋ฐ ํ์
๋๋ค. ์ ํ ์ฌํญ์ธ ์ด์ ๋ ๋ณดํต `SnackbarProvider`๋ก ๋ค์ด์ค๊ธฐ ๋๋ฌธ์
๋๋ค. ํธ๋ฆฌ๋ฅผ ๊ฐ์ผ ์ ํ์ ์ด๋ ํ์ธ์ง ์ด๋ฏธ ๋งํ ์
์ด๊ณ , ์์ญ์์ ๊ทธ๊ฒ์ ๋ํ์ดํ๋ฉด ๋์ด ์ด๊ธ๋ ์ ์๋ ์๋ฆฌ๊ฐ ํ๋ ๋ ์๊น๋๋ค.
|
|
115
|
+
- `translations` โ `TranslationOverrides`, ์ ํ. ์ด ์์ญ์๋ง ์ ์ฉ๋๋ ์ ๊ทผ์ฑ ๋ฌธ์์ด๋ก, provider์ ๊ฐ๋ณด๋ค ์ฐ์ ํฉ๋๋ค.
|
|
116
|
+
- `size` โ `Size`, ์ ํ. ํ๋๋ฟ์ธ ๊ณต์ฉ ์ฒ๋๋ฅผ ๋ฐ๋ฆ
๋๋ค. ๋ชจ๋ ์ปดํฌ๋ํธ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ธฐ๋ณธ๊ฐ์ `md`์
๋๋ค.
|
|
117
|
+
- `id` โ `string`, ์ ํ. ํฉํ ๋ฆฌ๊ฐ ๋ง๋๋ ์๋ณ์๋ฅผ ๋ฎ์ด์๋๋ค. ์๋ฒ์ ํด๋ผ์ด์ธํธ์์ ๊ฐ์ ๊ฐ์ผ๋ก ์ ์ง๋ฉ๋๋ค.
|
|
118
|
+
|
|
119
|
+
## Variants
|
|
120
|
+
|
|
121
|
+
- `size` โ `xs`, `sm`, `md`, `lg`, `xl`. ๊ธฐ๋ณธ๊ฐ์ `md`. ํฌ๊ธฐ ์ถ์ ์๋ฆผ ํ๋์ ํฌ๊ธฐ โ ํจ๋ฉ, ์ก์
๋ฒํผ, ๋ซ๊ธฐ ๋์ โ ๋ฅผ ์ ํฉ๋๋ค. ์์ญ ์์ฒด์ ๋ฒ์๋ ๋ทฐํฌํธ์ ๋ฒ์์
๋๋ค. ์๋ฆผ ์คํ์ ํ์ด์ง ์์ ๋ฐฐ์น๋๋ ๊ฒ์ด ์๋๋ผ ํ๋ฉด์ ๊ธฐ์ค์ผ๋ก ์์น๊ฐ ์ ํด์ง๊ธฐ ๋๋ฌธ์
๋๋ค.
|
|
122
|
+
|
|
123
|
+
## ํผ
|
|
124
|
+
|
|
125
|
+
ํผ ์ฐธ์ฌ: ์๋์.
|
|
126
|
+
|
|
127
|
+
> ํผ์ ์ ์ถํ๋ ๊ฐ์ด ์์ต๋๋ค.
|
|
128
|
+
|
|
129
|
+
## ์ด ์ปดํฌ๋ํธ์ ์ผ๋ถ๋ฌ ์๋ ๊ฒ
|
|
130
|
+
|
|
131
|
+
- `empty-state` โ ํ๊ฐ ๋น์ด ์์ผ๋ฉด ๋น ์์ญ์ด ์๋๋ผ ์์ญ ์์ฒด๋ฅผ ๋ ๋๋งํ์ง ์์ต๋๋ค. ์๋ฌด๊ฒ๋ ๋ด์ง ์์ ์ฑ ๋ณด์ด๋ ์๋ฆผ ์์ญ์ ์ ํ ๋ ์ด์์์ ๋ซ๋ฆฐ ์๊ตฌ์ ์ธ ๊ตฌ๋ฉ์ด๊ณ , ๊ทธ ์์ ๋ค์ด๊ฐ ๋ฉ์์ง๋ ์์ต๋๋ค.
|
|
132
|
+
- `loading-state` โ ๋ฌด์ธ๊ฐ๋ฅผ ๋ก๋ฉ ์ค์ด๋ผ๋ ์๋ฆผ ์์ฒด๊ฐ ์ค๋ต๋ฐ์ด๋ฉฐ, `loading` ํ์
์ผ๋ก ๋ง๋ค๊ณ ์์
์ด ๋๋๋ฉด ๊ฐฑ์ ํฉ๋๋ค. ๋ก๋ฉ part๋ machine์ด ์ด๋ฏธ ๊ฐ์ง ์ํ๋ณด๋ค ํ ๋จ๊ณ ์์์ ๊ฐ์ ๋ง์ ํ๋ ๋ ๋ฒ์งธ ๋ฐฉ์์ด ๋ ๋ฟ์
๋๋ค.
|
|
133
|
+
- `error-state` โ ์คํจ๋ ์์ญ์ ์ํ๊ฐ ์๋๋ผ `error` ํ์
์ ์ค๋ต๋ฐ์
๋๋ค. ์์ญ์๋ ์คํจํ ์ ์๋ ์์ฒด ์์
์ด ์์ต๋๋ค โ ์ ์ฅ์๊ฐ ๊ฐ์ง ๊ฒ์ ๋ ๋๋งํ ๋ฟ์
๋๋ค.
|
|
134
|
+
|
|
135
|
+
## ์ ๊ทผ์ฑ
|
|
136
|
+
|
|
137
|
+
### ์ ๊ทผ ๊ฐ๋ฅํ ์ด๋ฆ
|
|
138
|
+
|
|
139
|
+
> ์์ญ์ provider์ `snackbar.group.label`์์ ์ด๋ฆ์ ๊ฐ์ ธ์ค๊ณ , ๊ฐ ์ค๋ต๋ฐ๋ ์ ํ์ด `create`๋ก ์ ๊ณตํ ๋ฌธ๊ตฌ๋ก ์ด๋ฆ์ด ๋ถ์ต๋๋ค.
|
|
140
|
+
|
|
141
|
+
### ํฌ์ปค์ค
|
|
142
|
+
|
|
143
|
+
> ์๋ฆผ์ ๋ํ๋ ๋ ๊ฒฐ์ฝ ํฌ์ปค์ค๋ฅผ ๊ฐ์ ธ๊ฐ์ง ์์ต๋๋ค โ ์ด๊ฒ์ด ์ค๋ต๋ฐ์ ๋ํ์์๋ฅผ ๊ตฌ๋ถํ๋ ์์ฑ์ด๋ฉฐ, ํฌ์ปค์ค๋ฅผ ๋นผ์๋๋ค๋ฉด ์ฌ์ฉ์๊ฐ ํ๋ ์ผ์ ๋ฐฉํดํ๋ฉด์๊น์ง ์ฌ์ฉ์๊ฐ ์์ฒญํ์ง๋ ์์ ๊ฒ์ ์๋ฆฌ๊ฒ ๋ฉ๋๋ค. ํฌ์ปค์ค๋ machine์ ๋จ์ถํค๋ฅผ ํตํด์๋ง ์์ญ์ ๋ค์ด๊ฐ๋ฉฐ, ๊ฐ ์๋ฆผ ์์ชฝ์ ๊ณ ์คํธ ์์๊ฐ ๋ค์ด๊ฐ ๋ค์ ์์๋ฅผ ์์ธก ๊ฐ๋ฅํ๊ฒ ๋ง๋ญ๋๋ค.
|
|
144
|
+
|
|
145
|
+
## ๋ก์ผ์ผ๊ณผ ์ปฌ๋ ์
|
|
146
|
+
|
|
147
|
+
- ๋ก์ผ์ผ ์์กด: ์. ๋ซ๊ธฐ ๋ฒํผ๊ณผ ์ํ ๋จ์ด๋ provider์ ๋ฒ์ญ์์ ์ค๊ณ , ์์ญ์ ํ
์คํธ ๋ฐฉํฅ์ provider์์ ๊ฐ์ ธ์ค๋ฏ๋ก ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ์ฐ๋ ์ ํ์ ๊ทธ์ ๋ง๊ฒ ์๋ฆผ์ ์๊ณ ์ ๋ ฌํฉ๋๋ค.
|
|
148
|
+
- ์ปฌ๋ ์
์๋์: ์๋์. ํญ๋ชฉ์ ์ด๋ฅผ ์ด์ ์์ด ์ฌ์ค๋ก๋ง ๊ธฐ๋กํฉ๋๋ค.
|
|
149
|
+
|
|
150
|
+
## ๊ธฐ๋ฅ ์ฉ์ด์ ๋ค๋ฅธ ์ด๋ฆ
|
|
151
|
+
|
|
152
|
+
- ๋ค๋ฃจ๋ ๊ธฐ๋ฅ: `notification-queue`, `undo-action`, `translatable-strings`.
|
|
153
|
+
- ๋ค๋ฅธ ์ด๋ฆ: `snackbar`, `notification`, `action notification`, `alert card`, `์ค๋ต๋ฐ`, `์ค๋ต๋ฐ ์๋ฆผ`, `๋์ ์๋ฆผ`.
|
|
154
|
+
- ์ดํ ์ํ: `controlled`.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'spinner'
|
|
3
|
+
description: 'Spinner โ ๋์ ์ ์ ์๋ ์์
์ด ์งํ ์ค์์ ๋๋ ๊ณ ๋ฆฌ๋ก ๋ณด์ฌ ์ฃผ๋ ์ํ ํ์์
๋๋ค. `role="status"`์ด๋ฉฐ, ์๊ฐ์ ์ผ๋ก ์จ๊ธด ๋ฒ์ญ๋ ๋ฌธ๊ตฌ("Loading")๋ก ๋ณด์กฐ๊ธฐ์ ์ ์งํ ์ค์์ ์๋ฆฝ๋๋ค. ๋ค๋ฅธ ์ด๋ฆ: spinner, loading spinner, loader, activity indicator, throbber, ๋ก๋ฉ, ์คํผ๋, ๋ก๋ฉ ํ์.'
|
|
4
|
+
metadata:
|
|
5
|
+
package: '@neurocle/synapse-react'
|
|
6
|
+
packageVersion: '0.3.0'
|
|
7
|
+
registryEntry: 'packages/registry/data/components/spinner.json'
|
|
8
|
+
registryStructuralVersion: '0.3.0'
|
|
9
|
+
lifecycle: 'active'
|
|
10
|
+
generator: 'packages/react/src/skills/generate.ts'
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<!--
|
|
14
|
+
์์ฑ๋ ํ์ผ โ ์์ผ๋ก ๊ณ ์น์ง ์์ต๋๋ค.
|
|
15
|
+
|
|
16
|
+
Source: packages/registry/data/components/spinner.json (ํญ๋ชฉ ๊ตฌ์กฐ 0.3.0)
|
|
17
|
+
Generator: packages/react/src/skills/generate.ts
|
|
18
|
+
Regenerate: npx nx run react:skills:generate
|
|
19
|
+
|
|
20
|
+
์๋์์ ์ด ์ปดํฌ๋ํธ์ ๋ํด ๋งํ๋ ๋ชจ๋ ๋ฌธ์ฅ์ ๊ทธ ํญ๋ชฉ์ ํ๋์
๋๋ค. ์ฌ๊ธฐ์ ๊ณ ์น ๋ด์ฉ์ ๋ค์
|
|
21
|
+
์ฌ์์ฑ ๋ ์ง์์ง๊ณ , ์์ผ๋ก ์ค๋ช
ํ ์ปดํฌ๋ํธ๋ ์๋ฌด๊ฒ๋ ์คํจํ์ง ์์ ์ฑ ์ค๋ช
๊ณผ ์ด๊ธ๋ฉ๋๋ค.
|
|
22
|
+
๋์ ํญ๋ชฉ์ ๊ณ ์นฉ๋๋ค.
|
|
23
|
+
-->
|
|
24
|
+
|
|
25
|
+
# Spinner
|
|
26
|
+
|
|
27
|
+
> ๋์ ์ ์ ์๋ ์์
์ด ์งํ ์ค์์ ๋๋ ๊ณ ๋ฆฌ๋ก ๋ณด์ฌ ์ฃผ๋ ์ํ ํ์์
๋๋ค. `role="status"`์ด๋ฉฐ, ์๊ฐ์ ์ผ๋ก ์จ๊ธด ๋ฒ์ญ๋ ๋ฌธ๊ตฌ("Loading")๋ก ๋ณด์กฐ๊ธฐ์ ์ ์งํ ์ค์์ ์๋ฆฝ๋๋ค.
|
|
28
|
+
|
|
29
|
+
`@neurocle/synapse-react` 0.3.0์์ ์์ฑํ์ต๋๋ค. ์ค์น๋ ๋ฒ์ ์ด ์ด ๋ฒ์ ์ด ์๋๋ฉด, ์ด ํ์ด์ง์ ์ด๋ค ๋ด์ฉ๋ณด๋ค ์ค์น๋ ํจํค์ง ์์ ํจ๊ป ๋ฐฐํฌ๋ Registry๋ฅผ ์ฐ์ ํฉ๋๋ค.
|
|
30
|
+
|
|
31
|
+
- ํจํค์ง: `@neurocle/synapse-react`
|
|
32
|
+
- ๋ด๋ณด๋ด๊ธฐ: `Spinner`
|
|
33
|
+
- ๋ถ๋ฅ: `disclosure-layout-display`
|
|
34
|
+
- ์๋ช
์ฃผ๊ธฐ: `active`
|
|
35
|
+
|
|
36
|
+
## Do
|
|
37
|
+
|
|
38
|
+
> ์ผ๋ง๋ ๊ฑธ๋ฆด์ง ๋ชจ๋ฅด๋ ์งง์ ์์
์ด ์งํ ์ค์์ ์๋ฆด ๋ ์ฐ์ธ์ โ ์ ์ฅ ์ค์ธ ๋ฒํผ ์, ๋ค์ ๋ถ๋ฌ์ค๋ ํจ๋ ํ๊ฐ์ด๋ฐ์ฒ๋ผ ๋ง์
๋๋ค. ๋ฌด์์ ๊ธฐ๋ค๋ฆฌ๋์ง ๋ฌธ๋งฅ์ด ๋ถ์กฑํ๋ฉด `Spinner.Label`์ "๋ชจ๋ธ ๋ชฉ๋ก์ ๋ถ๋ฌ์ค๋ ์ค"์ฒ๋ผ ์ ์ผ์ธ์.
|
|
39
|
+
|
|
40
|
+
## Don't
|
|
41
|
+
|
|
42
|
+
> ์งํ๋ฅ ์ ์ ์ ์์ผ๋ฉด Progress๋ฅผ ์ฐ์ธ์ โ ๋น์จ์ด ๋ณด์ด๋ ํธ์ด ๊ธฐ๋ค๋ฆผ์ ๊ฒฌ๋๊ฒ ํฉ๋๋ค. ๋ถ๋ฌ์ฌ ์ฝํ
์ธ ์ ๋ชจ์์ ๋ฏธ๋ฆฌ ์๋ฉด Skeleton์ผ๋ก ์๋ฆฌ๋ฅผ ์ก์ ๋ ์ด์์์ด ํ์ง ์๊ฒ ํ์ธ์. ํ ํ๋ฉด์ ์ฌ๋ฌ Spinner๋ฅผ ๋์ง ๋ง์ธ์ โ ์์ญ๋ง๋ค ๋๋ฉด ๋ฌด์์ด ๋๋ฌ๋์ง ์ ์ ์์ต๋๋ค.
|
|
43
|
+
|
|
44
|
+
## Anti-patterns
|
|
45
|
+
|
|
46
|
+
> Spinner๋ฅผ aria-hidden์ผ๋ก ๊ฐ์ถ๊ฑฐ๋ status ์์ญ ๋ฐ์ ์จ๊ธด ๋ฌธ๊ตฌ ์์ด ๋๋ ๊ฒ. ์๊ฐ์ ์ผ๋ก๋ง ์งํ์ ์๋ฆฌ๋ฉด ์คํฌ๋ฆฐ ๋ฆฌ๋ ์ฌ์ฉ์๋ ํ๋ฉด์ด ๋ฉ์ท๋ค๊ณ ์๊ฐํฉ๋๋ค. ์์
์ด ๋๋ฌ๋๋ฐ Spinner๋ฅผ ๋จ๊ฒจ ๋๋ ๊ฒ๋ ๊ฐ์ ๋ถ๋ฅ์
๋๋ค.
|
|
47
|
+
|
|
48
|
+
Registry๋ ์ด ์ปดํฌ๋ํธ์ ์๋ด๋ฅผ `reviewed`๋ก ๊ธฐ๋กํฉ๋๋ค(๊ฒํ ์ผ 2026-09-26).
|
|
49
|
+
|
|
50
|
+
## ๊ด๋ จ ์ปดํฌ๋ํธ
|
|
51
|
+
|
|
52
|
+
- `Progress` (`progress`)
|
|
53
|
+
- `Skeleton` (`skeleton`)
|
|
54
|
+
- `Button` (`button`)
|
|
55
|
+
|
|
56
|
+
## ๊ฐ์ ธ์ค๊ธฐ
|
|
57
|
+
|
|
58
|
+
```tsx
|
|
59
|
+
import { Spinner } from '@neurocle/synapse-react'
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Anatomy
|
|
63
|
+
|
|
64
|
+
React ๋ค์์คํ์ด์ค๊ฐ ๋
ธ์ถํ๋ part 3๊ฐ๋ฅผ ํญ๋ชฉ์ `parts.containment`๊ฐ ๊ธฐ๋กํ ๋๋ก ์กฐํฉํ์ต๋๋ค. ํ part๊ฐ ๋์ผ ์ ์๋ ์ ๋นํ ์๋ฆฌ๊ฐ ๋ ์ด์์ด๋ฉด ์ค๋ํซ์ ์ฒซ ๋ฒ์งธ๋ฅผ ์ฐ๊ณ , ์๋ ๋ชฉ๋ก์ด ๋๋จธ์ง๋ฅผ ์๋ ค ์ค๋๋ค.
|
|
65
|
+
|
|
66
|
+
```tsx
|
|
67
|
+
<Spinner.Root>
|
|
68
|
+
<Spinner.Indicator />
|
|
69
|
+
<Spinner.Label />
|
|
70
|
+
</Spinner.Root>
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
- `Spinner.Root` โ ์ต์์์ ๋์
๋๋ค
|
|
74
|
+
- `Spinner.Indicator` โ `Root` ์์ ๋์
๋๋ค
|
|
75
|
+
- `Spinner.Label` โ `Root` ์์ ๋์
๋๋ค
|
|
76
|
+
|
|
77
|
+
## Props
|
|
78
|
+
|
|
79
|
+
๋น๋๊ฐ ๋ฐฉ์ถํ๋ ์ ์ธ์์ ๋์ถํ prop 1๊ฐ. ์ ์ธ์๋ ๊ธฐ๋ณธ๊ฐ์ ๋ ์๋ฆฌ๊ฐ ์์ผ๋ฏ๋ก prop ๊ธฐ๋ก์๋ ๊ธฐ๋ณธ๊ฐ์ด ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ด ์๋ค๋ฉด ๊ทธ prop์ ์ค๋ช
์ ์ ํ ์์ต๋๋ค.
|
|
80
|
+
|
|
81
|
+
๋ชจ๋ prop์ด ์ ํ์
๋๋ค. ์๋ฌด๊ฒ๋ ๋๊ธฐ์ง ์์ผ๋ฉด ์ปดํฌ๋ํธ๋ ๋น์ ์ด๋ก ๋์ํฉ๋๋ค.
|
|
82
|
+
|
|
83
|
+
### ์ ํ
|
|
84
|
+
|
|
85
|
+
- `size` โ `Size`, ์ ํ. ํ๋๋ฟ์ธ ๊ณต์ฉ ์ฒ๋๋ฅผ ๋ฐ๋ฆ
๋๋ค. ๋ชจ๋ ์ปดํฌ๋ํธ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ธฐ๋ณธ๊ฐ์ `md`์
๋๋ค.
|
|
86
|
+
|
|
87
|
+
## Variants
|
|
88
|
+
|
|
89
|
+
- `size` โ `xs`, `sm`, `md`, `lg`, `xl`. ๊ธฐ๋ณธ๊ฐ์ `md`.
|
|
90
|
+
|
|
91
|
+
## ํผ
|
|
92
|
+
|
|
93
|
+
ํผ ์ฐธ์ฌ: ์๋์.
|
|
94
|
+
|
|
95
|
+
> ํผ์ ์ ์ถํ๋ ๊ฐ์ด ์์ต๋๋ค.
|
|
96
|
+
|
|
97
|
+
## ์ด ์ปดํฌ๋ํธ์ ์ผ๋ถ๋ฌ ์๋ ๊ฒ
|
|
98
|
+
|
|
99
|
+
- `empty-state` โ Spinner๋ ๋ด๋ ์ฝํ
์ธ ๊ฐ ์๋ ํ์ ํ๋๋ผ ๋น์ด ์์ ์ ์๋ ์งํฉ์ด ์์ต๋๋ค.
|
|
100
|
+
- `loading-state` โ Spinner ์์ฒด๊ฐ ๋ค๋ฅธ ๊ฒ์ ๋ก๋ฉ ํ์์
๋๋ค. ์ค์ค๋ก ๋ถ๋ฌ์ค๋ ๊ฒ์ด ์์ด ๋ณ๋์ ๋ก๋ฉ part๋ฅผ ๋์ง ์์ต๋๋ค.
|
|
101
|
+
- `error-state` โ ์งํ ์ค์ด๋ผ๋ ์ฌ์ค๋ง ์๋ฆฌ๋ฉฐ ์์
์ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ฆ
๋๋ค. ์์
์ด ์คํจํ๋ฉด ์ฌ์ฉ์ฒ๊ฐ Spinner๋ฅผ ์น์ฐ๊ณ ๊ทธ ์๋ฆฌ์์ ์คํจ๋ฅผ ์๋ฆฌ์ธ์.
|
|
102
|
+
|
|
103
|
+
## ์ ๊ทผ์ฑ
|
|
104
|
+
|
|
105
|
+
### ์ ๊ทผ ๊ฐ๋ฅํ ์ด๋ฆ
|
|
106
|
+
|
|
107
|
+
> ์ํ ์์ญ์ ๋ด์ฉ์ธ ์จ๊ธด ๋ ์ด๋ธ์ด ์ฝํ๋๋ค. `aria-label`์ ๋ผ์ด๋ธ ์์ญ์ ์๋ฆผ์ผ๋ก ์ฝํ์ง ์์ ์ ์์ผ๋ฏ๋ก ๋ฌธ๊ตฌ๋ฅผ ๋ฐ๊พธ๋ ค๋ฉด `Spinner.Label`์ ์ฐ์ธ์.
|
|
108
|
+
|
|
109
|
+
### ํฌ์ปค์ค
|
|
110
|
+
|
|
111
|
+
> ํฌ์ปค์ค๋ฅผ ๋ฐ์ง ์์ต๋๋ค. ์งํ ์ค์ธ ์์ญ์ ํฌ์ปค์ค๋ ์ฌ์ฉ์ฒ๊ฐ ๊ด๋ฆฌํฉ๋๋ค.
|
|
112
|
+
|
|
113
|
+
## ๋ก์ผ์ผ๊ณผ ์ปฌ๋ ์
|
|
114
|
+
|
|
115
|
+
- ๋ก์ผ์ผ ์์กด: ์. ๋ณด์กฐ๊ธฐ์ ์ ์ฝํ๋ ๋ฌธ๊ตฌ๊ฐ ๋ฒ์ญ ํค `spinner.label.text`์์ ์ต๋๋ค.
|
|
116
|
+
- ์ปฌ๋ ์
์๋์: ์๋์. ํญ๋ชฉ์ ์ด๋ฅผ ์ด์ ์์ด ์ฌ์ค๋ก๋ง ๊ธฐ๋กํฉ๋๋ค.
|
|
117
|
+
|
|
118
|
+
## ๊ธฐ๋ฅ ์ฉ์ด์ ๋ค๋ฅธ ์ด๋ฆ
|
|
119
|
+
|
|
120
|
+
- ๋ค๋ฃจ๋ ๊ธฐ๋ฅ: `indeterminate-progress`, `circular-progress`, `translatable-strings`.
|
|
121
|
+
- ๋ค๋ฅธ ์ด๋ฆ: `spinner`, `loading spinner`, `loader`, `activity indicator`, `throbber`, `๋ก๋ฉ`, `์คํผ๋`, `๋ก๋ฉ ํ์`.
|
|
122
|
+
- ์ดํ ์ํ: `controlled`.
|