@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 @@
|
|
|
1
|
+
{"version":3,"file":"listbox.mjs","names":[],"sources":["../../../src/components/listbox/listbox.tsx"],"sourcesContent":["'use client'\n\nimport { checkmark } from '@neurocle/synapse-icons'\nimport type { ListCollection } from '@zag-js/collection'\nimport * as listbox from '@zag-js/listbox'\nimport { createElement, type ReactNode } from 'react'\n\nimport {\n pinnedRowProps,\n positionProps,\n rememberCollection,\n windowedContent,\n} from '#/components/collection-window.tsx'\nimport { listboxRecipe } from '#/components/listbox/listbox.recipe.ts'\nimport type { SynapseCollection } from '#/shared/collection.ts'\nimport { Icon } from '#/shared/icon.tsx'\nimport { inputPartClass } from '#/shared/input-style.ts'\nimport { resolveSize, type Size } from '#/shared/size-scale.ts'\nimport { defineComponent } from '#/system/create-component.ts'\nimport type { DomAttributes, Orientation, PartOwnProps } from '#/system/types.ts'\n\nexport interface ListboxValueChangeDetails {\n readonly value: readonly string[]\n}\n\nexport interface ListboxHighlightChangeDetails {\n readonly highlightedValue: string | null\n}\n\nexport type ListboxSelectionMode = 'single' | 'multiple' | 'extended' | 'none'\n\nexport interface ListboxRootProps<TItem> {\n /** `createCollection`으로 만든 전체 컬렉션. 윈도잉은 이것을 바꾸지 않습니다. */\n collection: SynapseCollection<TItem>\n /**\n * 제어되는 선택입니다.\n *\n * 어느 선택 모드에서든 배열입니다. 값이 곧 선택이고, 하나짜리 선택도 여전히 선택이기 때문입니다.\n * Select와 같은 논리입니다. `selectionMode`에 따라 타입이 달라지는 prop은 어떤 사용처도 타입을\n * 맞춰 쓸 수 없는 prop입니다.\n */\n value?: readonly string[]\n /** 비제어 모드의 초기 선택. `value`를 주면 무시됩니다. */\n defaultValue?: readonly string[]\n /** 제어 여부와 무관하게 선택이 바뀔 때마다 호출됩니다. */\n onValueChange?: (details: ListboxValueChangeDetails) => void\n /** 제어되는 하이라이트 아이템. `aria-activedescendant`가 가리키는 대상입니다. */\n highlightedValue?: string | null\n /** 비제어 모드에서 처음 하이라이트되는 아이템. */\n defaultHighlightedValue?: string | null\n /** 하이라이트가 옮겨 갈 때 호출됩니다. 한 번도 렌더된 적 없는 아이템으로 갈 때도 포함합니다. */\n onHighlightChange?: (details: ListboxHighlightChangeDetails) => void\n /** 몇 개까지 선택할 수 있는지. 기본값은 `single`입니다. */\n selectionMode?: ListboxSelectionMode\n /** 이미 선택된 아이템을 다시 선택하면 선택이 해제됩니다. */\n deselectable?: boolean\n /** 다중 선택에서 전체 선택 단축키를 내주지 않습니다. */\n disallowSelectAll?: boolean\n /** 선택이 하이라이트를 따라갑니다. 선택이 상세 패널을 움직이는 목록에 씁니다. */\n selectOnHighlight?: boolean\n /** 몇 글자를 입력해 해당 아이템으로 건너뜁니다. 기본값은 true입니다. */\n typeahead?: boolean\n /** 키보드 이동이 양 끝을 넘어가면 반대쪽으로 돌아옵니다. */\n loopFocus?: boolean\n /** 아이템이 배치되는 축. 기본값은 `vertical`입니다. */\n orientation?: Orientation\n /** 비활성화된 Listbox는 반응하지 않습니다. */\n disabled?: boolean\n /** 하나뿐인 공용 척도를 따릅니다. 모든 컴포넌트와 마찬가지로 기본값은 `md`입니다. */\n size?: Size\n /** 팩토리가 만드는 식별자를 덮어씁니다. 서버와 클라이언트에서 같은 값으로 유지됩니다. */\n id?: string\n}\n\ntype ListboxDefinitionProps = Omit<ListboxRootProps<never>, 'collection'> & {\n collection: ListCollection<unknown>\n}\n\nconst base = defineComponent<ListboxDefinitionProps>()({\n name: 'Listbox',\n module: listbox,\n rootPart: 'root',\n elements: {\n valueText: 'span',\n itemText: 'span',\n itemIndicator: 'span',\n input: 'input',\n },\n defaultContent: {\n itemIndicator: () => <Icon icon={checkmark} />,\n valueText: (api) => api.valueAsString,\n content: windowedContent({\n renderRow: (row, hidden, collection) => (\n <base.Item\n key={row.value}\n item={row.item}\n {...positionProps(row.position)}\n {...pinnedRowProps(hidden)}\n >\n <base.ItemText item={row.item}>{collection.labelOf(row.value)}</base.ItemText>\n <base.ItemIndicator item={row.item} />\n </base.Item>\n ),\n }),\n },\n getterProps: {\n item: ['item', 'highlightOnHover'],\n itemText: ['item'],\n itemIndicator: ['item'],\n itemGroup: ['id'],\n itemGroupLabel: ['htmlFor'],\n input: ['autoHighlight', 'keyboardPriority'],\n },\n machineTranslations: null,\n field: { ids: (field) => ({ label: field.label }), describe: ['content'], labelable: false },\n amendBehaviorProps: {\n content: (_behaviorProps, api) => ({\n 'aria-disabled': api.disabled ? true : undefined,\n 'data-disabled': api.disabled ? '' : undefined,\n }),\n },\n variantProps: ['size'],\n slots: (props: ListboxDefinitionProps) => {\n const size = resolveSize(props.size, 'Listbox')\n return {\n ...listboxRecipe({ size }),\n input: inputPartClass(size, listboxRecipe.raw({ size }).input),\n }\n },\n})\n\nfunction ListboxRoot<TItem>(\n props: ListboxRootProps<TItem> & PartOwnProps<HTMLElement> & DomAttributes,\n): ReactNode {\n const { collection, ...rest } = props\n return createElement(base.Root, { ...rest, collection: rememberCollection(collection) })\n}\nListboxRoot.displayName = base.Root.displayName\n\nexport const Listbox = {\n ...base,\n Root: ListboxRoot,\n}\n"],"mappings":";;;;;;;;;;;;;AA8EA,MAAM,OAAO,gBAAwC,CAAC,CAAC;CACrD,MAAM;CACN,QAAQ;CACR,UAAU;CACV,UAAU;EACR,WAAW;EACX,UAAU;EACV,eAAe;EACf,OAAO;CACT;CACA,gBAAgB;EACd,qBAAqB,oBAAC,MAAD,EAAM,MAAM,UAAY,CAAA;EAC7C,YAAY,QAAQ,IAAI;EACxB,SAAS,gBAAgB,EACvB,YAAY,KAAK,QAAQ,eACvB,qBAAC,KAAK,MAAN;GAEE,MAAM,IAAI;GACV,GAAI,cAAc,IAAI,QAAQ;GAC9B,GAAI,eAAe,MAAM;GAJ3B,UAAA,CAME,oBAAC,KAAK,UAAN;IAAe,MAAM,IAAI;IAAO,UAAA,WAAW,QAAQ,IAAI,KAAK;GAAiB,CAAA,GAC7E,oBAAC,KAAK,eAAN,EAAoB,MAAM,IAAI,KAAO,CAAA,CAC5B;EAPJ,GAAA,IAAI,KAOA,EAEf,CAAC;CACH;CACA,aAAa;EACX,MAAM,CAAC,QAAQ,kBAAkB;EACjC,UAAU,CAAC,MAAM;EACjB,eAAe,CAAC,MAAM;EACtB,WAAW,CAAC,IAAI;EAChB,gBAAgB,CAAC,SAAS;EAC1B,OAAO,CAAC,iBAAiB,kBAAkB;CAC7C;CACA,qBAAqB;CACrB,OAAO;EAAE,MAAM,WAAW,EAAE,OAAO,MAAM,MAAM;EAAI,UAAU,CAAC,SAAS;EAAG,WAAW;CAAM;CAC3F,oBAAoB,EAClB,UAAU,gBAAgB,SAAS;EACjC,iBAAiB,IAAI,WAAW,OAAO,KAAA;EACvC,iBAAiB,IAAI,WAAW,KAAK,KAAA;CACvC,GACF;CACA,cAAc,CAAC,MAAM;CACrB,QAAQ,UAAkC;EACxC,MAAM,OAAO,YAAY,MAAM,MAAM,SAAS;EAC9C,OAAO;GACL,GAAG,cAAc,EAAE,KAAK,CAAC;GACzB,OAAO,eAAe,MAAM,cAAc,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK;EAC/D;CACF;AACF,CAAC;AAED,SAAS,YACP,OACW;CACX,MAAM,EAAE,YAAY,GAAG,SAAS;CAChC,OAAO,cAAc,KAAK,MAAM;EAAE,GAAG;EAAM,YAAY,mBAAmB,UAAU;CAAE,CAAC;AACzF;AACA,YAAY,cAAc,KAAK,KAAK;AAEpC,MAAa,UAAU;CACrB,GAAG;CACH,MAAM;AACR"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { sva } from "../../react/styled-system/css/sva.mjs";
|
|
2
|
+
//#region src/components/listbox/listbox.recipe.ts
|
|
3
|
+
const listboxRecipe = sva({
|
|
4
|
+
slots: [
|
|
5
|
+
"label",
|
|
6
|
+
"input",
|
|
7
|
+
"item",
|
|
8
|
+
"itemText",
|
|
9
|
+
"itemIndicator",
|
|
10
|
+
"itemGroup",
|
|
11
|
+
"itemGroupLabel",
|
|
12
|
+
"content",
|
|
13
|
+
"root",
|
|
14
|
+
"valueText"
|
|
15
|
+
],
|
|
16
|
+
base: {
|
|
17
|
+
root: {
|
|
18
|
+
display: "flex",
|
|
19
|
+
flexDirection: "column",
|
|
20
|
+
gap: "gap.inline"
|
|
21
|
+
},
|
|
22
|
+
label: {
|
|
23
|
+
textStyle: "detail",
|
|
24
|
+
color: "foreground.muted",
|
|
25
|
+
_disabled: { color: "foreground.disabled" }
|
|
26
|
+
},
|
|
27
|
+
input: {},
|
|
28
|
+
valueText: {
|
|
29
|
+
textStyle: "detail",
|
|
30
|
+
color: "foreground.subtle",
|
|
31
|
+
overflowWrap: "anywhere"
|
|
32
|
+
},
|
|
33
|
+
content: {
|
|
34
|
+
display: "flex",
|
|
35
|
+
flexDirection: "column",
|
|
36
|
+
maxHeight: "surface.overlayMax",
|
|
37
|
+
overflowY: "auto",
|
|
38
|
+
paddingBlock: "inset.compact",
|
|
39
|
+
paddingInline: "inset.none",
|
|
40
|
+
rounded: "surface",
|
|
41
|
+
borderWidth: "hairline",
|
|
42
|
+
borderStyle: "solid",
|
|
43
|
+
borderColor: "border.default",
|
|
44
|
+
bg: "surface.raised",
|
|
45
|
+
color: "foreground.default",
|
|
46
|
+
outline: "none",
|
|
47
|
+
"&:not([data-synapse-input=pointer] *):focus-visible": {
|
|
48
|
+
outlineStyle: "solid",
|
|
49
|
+
outlineWidth: "focus",
|
|
50
|
+
outlineOffset: "inset.compact",
|
|
51
|
+
outlineColor: "border.focus"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
itemGroup: {
|
|
55
|
+
display: "flex",
|
|
56
|
+
flexDirection: "column",
|
|
57
|
+
"&:not(:last-of-type)": {
|
|
58
|
+
paddingBlockEnd: "inset.compact",
|
|
59
|
+
marginBlockEnd: "inset.compact",
|
|
60
|
+
borderBlockEndWidth: "hairline",
|
|
61
|
+
borderBlockEndStyle: "solid",
|
|
62
|
+
borderColor: "border.muted"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
itemGroupLabel: {
|
|
66
|
+
paddingInline: "inset.control",
|
|
67
|
+
paddingBlock: "inset.compact",
|
|
68
|
+
textStyle: "detail",
|
|
69
|
+
color: "foreground.subtle"
|
|
70
|
+
},
|
|
71
|
+
item: {
|
|
72
|
+
display: "flex",
|
|
73
|
+
alignItems: "center",
|
|
74
|
+
justifyContent: "space-between",
|
|
75
|
+
gap: "gap.related",
|
|
76
|
+
minHeight: "target.minimum",
|
|
77
|
+
paddingInline: "inset.control",
|
|
78
|
+
color: "foreground.default",
|
|
79
|
+
cursor: "default",
|
|
80
|
+
userSelect: "none",
|
|
81
|
+
"&[data-state=checked]": { color: "primary.onSurface" },
|
|
82
|
+
_highlighted: {
|
|
83
|
+
bg: "secondary.default",
|
|
84
|
+
color: "foreground.default",
|
|
85
|
+
"&:not([data-synapse-input=pointer] *)": {
|
|
86
|
+
outlineStyle: "solid",
|
|
87
|
+
outlineWidth: "focus",
|
|
88
|
+
outlineOffset: "-inset.compact",
|
|
89
|
+
outlineColor: "border.focus"
|
|
90
|
+
},
|
|
91
|
+
"&[data-state=checked]": { color: "primary.onSurface" },
|
|
92
|
+
_highContrast: {
|
|
93
|
+
bg: "system.highlight",
|
|
94
|
+
color: "system.highlightText"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
_disabled: {
|
|
98
|
+
color: "foreground.disabled",
|
|
99
|
+
cursor: "not-allowed",
|
|
100
|
+
_highContrast: { color: "system.grayText" }
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
itemText: { overflowWrap: "anywhere" },
|
|
104
|
+
itemIndicator: {
|
|
105
|
+
display: "inline-flex",
|
|
106
|
+
alignItems: "center",
|
|
107
|
+
justifyContent: "center",
|
|
108
|
+
flexShrink: 0,
|
|
109
|
+
color: "primary.onSurface"
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
variants: { size: {
|
|
113
|
+
xs: {
|
|
114
|
+
item: {
|
|
115
|
+
minHeight: "control.xs",
|
|
116
|
+
textStyle: "detail"
|
|
117
|
+
},
|
|
118
|
+
itemIndicator: { "& svg": {
|
|
119
|
+
width: "icon.xs",
|
|
120
|
+
height: "icon.xs"
|
|
121
|
+
} }
|
|
122
|
+
},
|
|
123
|
+
sm: {
|
|
124
|
+
item: {
|
|
125
|
+
minHeight: "target.minimum",
|
|
126
|
+
textStyle: "detail"
|
|
127
|
+
},
|
|
128
|
+
itemIndicator: { "& svg": {
|
|
129
|
+
width: "icon.sm",
|
|
130
|
+
height: "icon.sm"
|
|
131
|
+
} }
|
|
132
|
+
},
|
|
133
|
+
md: {
|
|
134
|
+
item: {
|
|
135
|
+
minHeight: "control.sm",
|
|
136
|
+
textStyle: "body"
|
|
137
|
+
},
|
|
138
|
+
itemIndicator: { "& svg": {
|
|
139
|
+
width: "icon.sm",
|
|
140
|
+
height: "icon.sm"
|
|
141
|
+
} }
|
|
142
|
+
},
|
|
143
|
+
lg: {
|
|
144
|
+
item: {
|
|
145
|
+
minHeight: "control.md",
|
|
146
|
+
textStyle: "body"
|
|
147
|
+
},
|
|
148
|
+
itemIndicator: { "& svg": {
|
|
149
|
+
width: "icon.md",
|
|
150
|
+
height: "icon.md"
|
|
151
|
+
} }
|
|
152
|
+
},
|
|
153
|
+
xl: {
|
|
154
|
+
item: {
|
|
155
|
+
minHeight: "control.lg",
|
|
156
|
+
textStyle: "body"
|
|
157
|
+
},
|
|
158
|
+
itemIndicator: { "& svg": {
|
|
159
|
+
width: "icon.lg",
|
|
160
|
+
height: "icon.lg"
|
|
161
|
+
} }
|
|
162
|
+
}
|
|
163
|
+
} },
|
|
164
|
+
defaultVariants: { size: "md" }
|
|
165
|
+
});
|
|
166
|
+
//#endregion
|
|
167
|
+
export { listboxRecipe };
|
|
168
|
+
|
|
169
|
+
//# sourceMappingURL=listbox.recipe.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listbox.recipe.mjs","names":[],"sources":["../../../src/components/listbox/listbox.recipe.ts"],"sourcesContent":["import { sva } from '#styled-system/css/index.js'\n\nexport const listboxRecipe = sva({\n slots: [\n 'label',\n 'input',\n 'item',\n 'itemText',\n 'itemIndicator',\n 'itemGroup',\n 'itemGroupLabel',\n 'content',\n 'root',\n 'valueText',\n ],\n base: {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: 'gap.inline',\n },\n label: {\n textStyle: 'detail',\n color: 'foreground.muted',\n _disabled: { color: 'foreground.disabled' },\n },\n input: {},\n valueText: {\n textStyle: 'detail',\n color: 'foreground.subtle',\n overflowWrap: 'anywhere',\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n maxHeight: 'surface.overlayMax',\n overflowY: 'auto',\n paddingBlock: 'inset.compact',\n paddingInline: 'inset.none',\n rounded: 'surface',\n borderWidth: 'hairline',\n borderStyle: 'solid',\n borderColor: 'border.default',\n bg: 'surface.raised',\n color: 'foreground.default',\n outline: 'none',\n '&:not([data-synapse-input=pointer] *):focus-visible': {\n outlineStyle: 'solid',\n outlineWidth: 'focus',\n outlineOffset: 'inset.compact',\n outlineColor: 'border.focus',\n },\n },\n itemGroup: {\n display: 'flex',\n flexDirection: 'column',\n '&:not(:last-of-type)': {\n paddingBlockEnd: 'inset.compact',\n marginBlockEnd: 'inset.compact',\n borderBlockEndWidth: 'hairline',\n borderBlockEndStyle: 'solid',\n borderColor: 'border.muted',\n },\n },\n itemGroupLabel: {\n paddingInline: 'inset.control',\n paddingBlock: 'inset.compact',\n textStyle: 'detail',\n color: 'foreground.subtle',\n },\n item: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 'gap.related',\n minHeight: 'target.minimum',\n paddingInline: 'inset.control',\n color: 'foreground.default',\n cursor: 'default',\n userSelect: 'none',\n '&[data-state=checked]': { color: 'primary.onSurface' },\n _highlighted: {\n bg: 'secondary.default',\n color: 'foreground.default',\n '&:not([data-synapse-input=pointer] *)': {\n outlineStyle: 'solid',\n outlineWidth: 'focus',\n outlineOffset: '-inset.compact',\n outlineColor: 'border.focus',\n },\n '&[data-state=checked]': { color: 'primary.onSurface' },\n _highContrast: { bg: 'system.highlight', color: 'system.highlightText' },\n },\n _disabled: {\n color: 'foreground.disabled',\n cursor: 'not-allowed',\n _highContrast: { color: 'system.grayText' },\n },\n },\n itemText: {\n overflowWrap: 'anywhere',\n },\n itemIndicator: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n color: 'primary.onSurface',\n },\n },\n variants: {\n size: {\n xs: {\n item: { minHeight: 'control.xs', textStyle: 'detail' },\n itemIndicator: { '& svg': { width: 'icon.xs', height: 'icon.xs' } },\n },\n sm: {\n item: { minHeight: 'target.minimum', textStyle: 'detail' },\n itemIndicator: { '& svg': { width: 'icon.sm', height: 'icon.sm' } },\n },\n md: {\n item: { minHeight: 'control.sm', textStyle: 'body' },\n itemIndicator: { '& svg': { width: 'icon.sm', height: 'icon.sm' } },\n },\n lg: {\n item: { minHeight: 'control.md', textStyle: 'body' },\n itemIndicator: { '& svg': { width: 'icon.md', height: 'icon.md' } },\n },\n xl: {\n item: { minHeight: 'control.lg', textStyle: 'body' },\n itemIndicator: { '& svg': { width: 'icon.lg', height: 'icon.lg' } },\n },\n },\n },\n defaultVariants: { size: 'md' },\n})\n"],"mappings":";;AAEA,MAAa,gBAAgB,IAAI;CAC/B,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,MAAM;EACJ,MAAM;GACJ,SAAS;GACT,eAAe;GACf,KAAK;EACP;EACA,OAAO;GACL,WAAW;GACX,OAAO;GACP,WAAW,EAAE,OAAO,sBAAsB;EAC5C;EACA,OAAO,CAAC;EACR,WAAW;GACT,WAAW;GACX,OAAO;GACP,cAAc;EAChB;EACA,SAAS;GACP,SAAS;GACT,eAAe;GACf,WAAW;GACX,WAAW;GACX,cAAc;GACd,eAAe;GACf,SAAS;GACT,aAAa;GACb,aAAa;GACb,aAAa;GACb,IAAI;GACJ,OAAO;GACP,SAAS;GACT,uDAAuD;IACrD,cAAc;IACd,cAAc;IACd,eAAe;IACf,cAAc;GAChB;EACF;EACA,WAAW;GACT,SAAS;GACT,eAAe;GACf,wBAAwB;IACtB,iBAAiB;IACjB,gBAAgB;IAChB,qBAAqB;IACrB,qBAAqB;IACrB,aAAa;GACf;EACF;EACA,gBAAgB;GACd,eAAe;GACf,cAAc;GACd,WAAW;GACX,OAAO;EACT;EACA,MAAM;GACJ,SAAS;GACT,YAAY;GACZ,gBAAgB;GAChB,KAAK;GACL,WAAW;GACX,eAAe;GACf,OAAO;GACP,QAAQ;GACR,YAAY;GACZ,yBAAyB,EAAE,OAAO,oBAAoB;GACtD,cAAc;IACZ,IAAI;IACJ,OAAO;IACP,yCAAyC;KACvC,cAAc;KACd,cAAc;KACd,eAAe;KACf,cAAc;IAChB;IACA,yBAAyB,EAAE,OAAO,oBAAoB;IACtD,eAAe;KAAE,IAAI;KAAoB,OAAO;IAAuB;GACzE;GACA,WAAW;IACT,OAAO;IACP,QAAQ;IACR,eAAe,EAAE,OAAO,kBAAkB;GAC5C;EACF;EACA,UAAU,EACR,cAAc,WAChB;EACA,eAAe;GACb,SAAS;GACT,YAAY;GACZ,gBAAgB;GAChB,YAAY;GACZ,OAAO;EACT;CACF;CACA,UAAU,EACR,MAAM;EACJ,IAAI;GACF,MAAM;IAAE,WAAW;IAAc,WAAW;GAAS;GACrD,eAAe,EAAE,SAAS;IAAE,OAAO;IAAW,QAAQ;GAAU,EAAE;EACpE;EACA,IAAI;GACF,MAAM;IAAE,WAAW;IAAkB,WAAW;GAAS;GACzD,eAAe,EAAE,SAAS;IAAE,OAAO;IAAW,QAAQ;GAAU,EAAE;EACpE;EACA,IAAI;GACF,MAAM;IAAE,WAAW;IAAc,WAAW;GAAO;GACnD,eAAe,EAAE,SAAS;IAAE,OAAO;IAAW,QAAQ;GAAU,EAAE;EACpE;EACA,IAAI;GACF,MAAM;IAAE,WAAW;IAAc,WAAW;GAAO;GACnD,eAAe,EAAE,SAAS;IAAE,OAAO;IAAW,QAAQ;GAAU,EAAE;EACpE;EACA,IAAI;GACF,MAAM;IAAE,WAAW;IAAc,WAAW;GAAO;GACnD,eAAe,EAAE,SAAS;IAAE,OAAO;IAAW,QAAQ;GAAU,EAAE;EACpE;CACF,EACF;CACA,iBAAiB,EAAE,MAAM,KAAK;AAChC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/components/machine-translations.ts
|
|
2
|
+
function resolveMachineTranslations(map, translate) {
|
|
3
|
+
return Object.fromEntries(Object.entries(map).map(([key, value]) => [key, translate(value)]));
|
|
4
|
+
}
|
|
5
|
+
//#endregion
|
|
6
|
+
export { resolveMachineTranslations };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=machine-translations.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machine-translations.mjs","names":[],"sources":["../../src/components/machine-translations.ts"],"sourcesContent":["import type { TranslationKey, Translator } from '#/provider/translations.ts'\n\nexport function resolveMachineTranslations(\n map: Readonly<Record<string, TranslationKey>>,\n translate: Translator,\n): Record<string, string> {\n return Object.fromEntries(Object.entries(map).map(([key, value]) => [key, translate(value)]))\n}\n"],"mappings":";AAEA,SAAgB,2BACd,KACA,WACwB;CACxB,OAAO,OAAO,YAAY,OAAO,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,UAAU,KAAK,CAAC,CAAC,CAAC;AAC9F"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { SynapseComponent } from "../../system/types.mjs";
|
|
2
|
+
import { Size } from "../../shared/size-scale.mjs";
|
|
3
|
+
//#region src/components/marquee/marquee.d.ts
|
|
4
|
+
export type MarqueeSide = 'start' | 'end' | 'top' | 'bottom';
|
|
5
|
+
export interface MarqueePauseChangeDetails {
|
|
6
|
+
readonly paused: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface MarqueeLoopCompleteDetails {
|
|
9
|
+
readonly loopCount: number;
|
|
10
|
+
}
|
|
11
|
+
export interface MarqueeRootProps {
|
|
12
|
+
/**
|
|
13
|
+
* 마퀴가 멈춰 있는지 여부이며 제어 모드입니다.
|
|
14
|
+
*
|
|
15
|
+
* `open`이 아닙니다. 드러나는 것이 아무것도 없으므로, 어휘의 공개 3종 세트를 쓰면 다른 개념에
|
|
16
|
+
* 이름만 빌려 오는 꼴이 됩니다. `paused`는 machine이 부르는 이름이자 이 상태 그 자체입니다.
|
|
17
|
+
*/
|
|
18
|
+
paused?: boolean;
|
|
19
|
+
/** 비제어 모드의 초기 멈춤 상태. `paused`를 주면 무시됩니다. */
|
|
20
|
+
defaultPaused?: boolean;
|
|
21
|
+
/** 제어 여부와 무관하게 마퀴가 멈추거나 다시 움직일 때마다 호출됩니다. */
|
|
22
|
+
onPauseChange?: (details: MarqueePauseChangeDetails) => void;
|
|
23
|
+
/** 포인터가 마퀴 위에 있거나 자식에 포커스가 있는 동안 멈춥니다. 기본값은 `true`입니다. */
|
|
24
|
+
pauseOnInteraction?: boolean;
|
|
25
|
+
/** 내용이 흘러가는 방향. 기본값은 `start`입니다. */
|
|
26
|
+
side?: MarqueeSide;
|
|
27
|
+
/**
|
|
28
|
+
* 초당 움직이는 픽셀 수이며, 기본값은 50입니다. 한 바퀴의 지속 시간이 아니라서 내용이 길어져도
|
|
29
|
+
* 흐르는 속도는 같습니다.
|
|
30
|
+
*/
|
|
31
|
+
speed?: number;
|
|
32
|
+
/** 첫 루프가 시작되기까지의 시간(초). */
|
|
33
|
+
delay?: number;
|
|
34
|
+
/** 몇 번 돌지. 기본값인 `0`은 끝없이 돕니다. */
|
|
35
|
+
loopCount?: number;
|
|
36
|
+
/** `side`를 바꾸지 않은 채 진행 방향만 뒤집습니다. */
|
|
37
|
+
reverse?: boolean;
|
|
38
|
+
/** 뷰포트가 찰 때까지 내용을 복제해, 루프에 빈틈이 생기지 않게 합니다. */
|
|
39
|
+
autoFill?: boolean;
|
|
40
|
+
/** 아이템 사이의 간격이며 CSS 길이입니다. */
|
|
41
|
+
spacing?: string;
|
|
42
|
+
/** 루프가 한 번 끝날 때마다 호출됩니다. */
|
|
43
|
+
onLoopComplete?: (details: MarqueeLoopCompleteDetails) => void;
|
|
44
|
+
/** `loopCount`만큼 돌았을 때 한 번 호출됩니다. */
|
|
45
|
+
onComplete?: () => void;
|
|
46
|
+
/** 하나뿐인 공용 척도를 따릅니다. 모든 컴포넌트와 마찬가지로 기본값은 `md`입니다. */
|
|
47
|
+
size?: Size;
|
|
48
|
+
/** 팩토리가 만드는 식별자를 덮어씁니다. 서버와 클라이언트에서 같은 값으로 유지됩니다. */
|
|
49
|
+
id?: string;
|
|
50
|
+
}
|
|
51
|
+
export declare const Marquee: SynapseComponent<"content" | "edge" | "item" | "root" | "viewport", "root", MarqueeRootProps, never>;
|
|
52
|
+
//#endregion
|
|
53
|
+
//# sourceMappingURL=marquee.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marquee.d.mts","names":[],"sources":["../../../src/components/marquee/marquee.tsx"],"mappings":";;;YAQY;iBAEK;WACN;;iBAGM;WACN;;iBAGM;;;;;;;EAOf;;EAEA;;EAEA,iBAAiB,SAAS;;EAE1B;;EAEA,OAAO;;;;;EAKP;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA,kBAAkB,SAAS;;EAE3B;;EAEA,OAAO;;EAEP;;qBAGW,SAAO,4EAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { resolveSize } from "../../shared/size-scale.mjs";
|
|
3
|
+
import { defineComponent } from "../../system/create-component.mjs";
|
|
4
|
+
import { marqueeRecipe } from "./marquee.recipe.mjs";
|
|
5
|
+
import * as marquee from "@zag-js/marquee";
|
|
6
|
+
//#region src/components/marquee/marquee.tsx
|
|
7
|
+
const Marquee = defineComponent()({
|
|
8
|
+
name: "Marquee",
|
|
9
|
+
module: marquee,
|
|
10
|
+
rootPart: "root",
|
|
11
|
+
elements: {
|
|
12
|
+
viewport: "div",
|
|
13
|
+
content: "div",
|
|
14
|
+
edge: "div",
|
|
15
|
+
item: "div"
|
|
16
|
+
},
|
|
17
|
+
getterProps: {
|
|
18
|
+
content: ["index"],
|
|
19
|
+
edge: ["side"]
|
|
20
|
+
},
|
|
21
|
+
machineTranslations: { root: "marquee.root.label" },
|
|
22
|
+
amendBehaviorProps: { root: (_behaviorProps, _api, _getterArgs, translate) => ({ "aria-roledescription": translate("marquee.root.roleDescription") }) },
|
|
23
|
+
variantProps: ["size"],
|
|
24
|
+
useMachineProps: (props) => ({ pauseOnInteraction: props.pauseOnInteraction ?? true }),
|
|
25
|
+
slots: (props) => marqueeRecipe({ size: resolveSize(props.size, "Marquee") })
|
|
26
|
+
});
|
|
27
|
+
//#endregion
|
|
28
|
+
export { Marquee };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=marquee.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marquee.mjs","names":[],"sources":["../../../src/components/marquee/marquee.tsx"],"sourcesContent":["'use client'\n\nimport * as marquee from '@zag-js/marquee'\n\nimport { marqueeRecipe } from '#/components/marquee/marquee.recipe.ts'\nimport { resolveSize, type Size } from '#/shared/size-scale.ts'\nimport { defineComponent } from '#/system/create-component.ts'\n\nexport type MarqueeSide = 'start' | 'end' | 'top' | 'bottom'\n\nexport interface MarqueePauseChangeDetails {\n readonly paused: boolean\n}\n\nexport interface MarqueeLoopCompleteDetails {\n readonly loopCount: number\n}\n\nexport interface MarqueeRootProps {\n /**\n * 마퀴가 멈춰 있는지 여부이며 제어 모드입니다.\n *\n * `open`이 아닙니다. 드러나는 것이 아무것도 없으므로, 어휘의 공개 3종 세트를 쓰면 다른 개념에\n * 이름만 빌려 오는 꼴이 됩니다. `paused`는 machine이 부르는 이름이자 이 상태 그 자체입니다.\n */\n paused?: boolean\n /** 비제어 모드의 초기 멈춤 상태. `paused`를 주면 무시됩니다. */\n defaultPaused?: boolean\n /** 제어 여부와 무관하게 마퀴가 멈추거나 다시 움직일 때마다 호출됩니다. */\n onPauseChange?: (details: MarqueePauseChangeDetails) => void\n /** 포인터가 마퀴 위에 있거나 자식에 포커스가 있는 동안 멈춥니다. 기본값은 `true`입니다. */\n pauseOnInteraction?: boolean\n /** 내용이 흘러가는 방향. 기본값은 `start`입니다. */\n side?: MarqueeSide\n /**\n * 초당 움직이는 픽셀 수이며, 기본값은 50입니다. 한 바퀴의 지속 시간이 아니라서 내용이 길어져도\n * 흐르는 속도는 같습니다.\n */\n speed?: number\n /** 첫 루프가 시작되기까지의 시간(초). */\n delay?: number\n /** 몇 번 돌지. 기본값인 `0`은 끝없이 돕니다. */\n loopCount?: number\n /** `side`를 바꾸지 않은 채 진행 방향만 뒤집습니다. */\n reverse?: boolean\n /** 뷰포트가 찰 때까지 내용을 복제해, 루프에 빈틈이 생기지 않게 합니다. */\n autoFill?: boolean\n /** 아이템 사이의 간격이며 CSS 길이입니다. */\n spacing?: string\n /** 루프가 한 번 끝날 때마다 호출됩니다. */\n onLoopComplete?: (details: MarqueeLoopCompleteDetails) => void\n /** `loopCount`만큼 돌았을 때 한 번 호출됩니다. */\n onComplete?: () => void\n /** 하나뿐인 공용 척도를 따릅니다. 모든 컴포넌트와 마찬가지로 기본값은 `md`입니다. */\n size?: Size\n /** 팩토리가 만드는 식별자를 덮어씁니다. 서버와 클라이언트에서 같은 값으로 유지됩니다. */\n id?: string\n}\n\nexport const Marquee = defineComponent<MarqueeRootProps>()({\n name: 'Marquee',\n module: marquee,\n rootPart: 'root',\n elements: { viewport: 'div', content: 'div', edge: 'div', item: 'div' },\n getterProps: {\n content: ['index'],\n edge: ['side'],\n },\n machineTranslations: {\n root: 'marquee.root.label',\n },\n amendBehaviorProps: {\n root: (_behaviorProps, _api, _getterArgs, translate) => ({\n 'aria-roledescription': translate('marquee.root.roleDescription'),\n }),\n },\n variantProps: ['size'],\n useMachineProps: (props: MarqueeRootProps) => ({\n pauseOnInteraction: props.pauseOnInteraction ?? true,\n }),\n slots: (props: MarqueeRootProps) => marqueeRecipe({ size: resolveSize(props.size, 'Marquee') }),\n})\n"],"mappings":";;;;;;AA2DA,MAAa,UAAU,gBAAkC,CAAC,CAAC;CACzD,MAAM;CACN,QAAQ;CACR,UAAU;CACV,UAAU;EAAE,UAAU;EAAO,SAAS;EAAO,MAAM;EAAO,MAAM;CAAM;CACtE,aAAa;EACX,SAAS,CAAC,OAAO;EACjB,MAAM,CAAC,MAAM;CACf;CACA,qBAAqB,EACnB,MAAM,qBACR;CACA,oBAAoB,EAClB,OAAO,gBAAgB,MAAM,aAAa,eAAe,EACvD,wBAAwB,UAAU,8BAA8B,EAClE,GACF;CACA,cAAc,CAAC,MAAM;CACrB,kBAAkB,WAA6B,EAC7C,oBAAoB,MAAM,sBAAsB,KAClD;CACA,QAAQ,UAA4B,cAAc,EAAE,MAAM,YAAY,MAAM,MAAM,SAAS,EAAE,CAAC;AAChG,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { sva } from "../../react/styled-system/css/sva.mjs";
|
|
2
|
+
//#region src/components/marquee/marquee.recipe.ts
|
|
3
|
+
const marqueeRecipe = sva({
|
|
4
|
+
slots: [
|
|
5
|
+
"root",
|
|
6
|
+
"viewport",
|
|
7
|
+
"content",
|
|
8
|
+
"edge",
|
|
9
|
+
"item"
|
|
10
|
+
],
|
|
11
|
+
base: {
|
|
12
|
+
root: {
|
|
13
|
+
position: "relative",
|
|
14
|
+
display: "flex",
|
|
15
|
+
overflow: "hidden",
|
|
16
|
+
width: "fill",
|
|
17
|
+
minWidth: "0",
|
|
18
|
+
color: "foreground.muted"
|
|
19
|
+
},
|
|
20
|
+
viewport: {
|
|
21
|
+
display: "flex",
|
|
22
|
+
overflow: "hidden",
|
|
23
|
+
width: "fill"
|
|
24
|
+
},
|
|
25
|
+
content: {
|
|
26
|
+
display: "flex",
|
|
27
|
+
alignItems: "center",
|
|
28
|
+
flexShrink: 0,
|
|
29
|
+
animationName: "marqueeX",
|
|
30
|
+
animationDuration: "var(--marquee-duration)",
|
|
31
|
+
animationTimingFunction: "linear",
|
|
32
|
+
animationDelay: "var(--marquee-delay)",
|
|
33
|
+
animationIterationCount: "var(--marquee-loop-count)",
|
|
34
|
+
"&[data-orientation=\"vertical\"]": { animationName: "marqueeY" },
|
|
35
|
+
"&[data-reverse]": { animationDirection: "reverse" },
|
|
36
|
+
"[data-paused] &": { animationPlayState: "paused" },
|
|
37
|
+
_motionReduce: { animationPlayState: "paused" }
|
|
38
|
+
},
|
|
39
|
+
edge: {
|
|
40
|
+
position: "absolute",
|
|
41
|
+
zIndex: 1,
|
|
42
|
+
pointerEvents: "none",
|
|
43
|
+
gradientFrom: "background.canvas",
|
|
44
|
+
gradientTo: "surface.transparent",
|
|
45
|
+
"&[data-side=start]": {
|
|
46
|
+
bgGradient: "to-r",
|
|
47
|
+
_rtl: { bgGradient: "to-l" }
|
|
48
|
+
},
|
|
49
|
+
"&[data-side=end]": {
|
|
50
|
+
bgGradient: "to-l",
|
|
51
|
+
_rtl: { bgGradient: "to-r" }
|
|
52
|
+
},
|
|
53
|
+
"&[data-side=top]": { bgGradient: "to-b" },
|
|
54
|
+
"&[data-side=bottom]": { bgGradient: "to-t" }
|
|
55
|
+
},
|
|
56
|
+
item: {
|
|
57
|
+
display: "inline-flex",
|
|
58
|
+
alignItems: "center",
|
|
59
|
+
justifyContent: "center",
|
|
60
|
+
flexShrink: 0,
|
|
61
|
+
minWidth: "target.minimum",
|
|
62
|
+
minHeight: "target.minimum",
|
|
63
|
+
whiteSpace: "nowrap"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
variants: { size: {
|
|
67
|
+
xs: {
|
|
68
|
+
item: {
|
|
69
|
+
paddingInline: "inset.compact",
|
|
70
|
+
textStyle: "caption"
|
|
71
|
+
},
|
|
72
|
+
edge: {
|
|
73
|
+
width: "control.xs",
|
|
74
|
+
height: "control.xs"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
sm: {
|
|
78
|
+
item: {
|
|
79
|
+
paddingInline: "inset.control",
|
|
80
|
+
textStyle: "label"
|
|
81
|
+
},
|
|
82
|
+
edge: {
|
|
83
|
+
width: "control.sm",
|
|
84
|
+
height: "control.sm"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
md: {
|
|
88
|
+
item: {
|
|
89
|
+
paddingInline: "inset.control",
|
|
90
|
+
textStyle: "body"
|
|
91
|
+
},
|
|
92
|
+
edge: {
|
|
93
|
+
width: "control.md",
|
|
94
|
+
height: "control.md"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
lg: {
|
|
98
|
+
item: {
|
|
99
|
+
paddingInline: "inset.overlay",
|
|
100
|
+
textStyle: "body"
|
|
101
|
+
},
|
|
102
|
+
edge: {
|
|
103
|
+
width: "control.lg",
|
|
104
|
+
height: "control.lg"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
xl: {
|
|
108
|
+
item: {
|
|
109
|
+
paddingInline: "inset.surface",
|
|
110
|
+
textStyle: "body"
|
|
111
|
+
},
|
|
112
|
+
edge: {
|
|
113
|
+
width: "control.xl",
|
|
114
|
+
height: "control.xl"
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
} },
|
|
118
|
+
defaultVariants: { size: "md" }
|
|
119
|
+
});
|
|
120
|
+
//#endregion
|
|
121
|
+
export { marqueeRecipe };
|
|
122
|
+
|
|
123
|
+
//# sourceMappingURL=marquee.recipe.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marquee.recipe.mjs","names":[],"sources":["../../../src/components/marquee/marquee.recipe.ts"],"sourcesContent":["import { sva } from '#styled-system/css/index.js'\n\nexport const marqueeRecipe = sva({\n slots: ['root', 'viewport', 'content', 'edge', 'item'],\n base: {\n root: {\n position: 'relative',\n display: 'flex',\n overflow: 'hidden',\n width: 'fill',\n // flex 아이템의 min-width 기본값은 콘텐츠 크기인데, Marquee의 콘텐츠는 루프 전체라 그대로 두면\n // 옆의 다른 요소를 밀어냅니다. 주어진 자리만 차지하고 그 안에서 흘러가도록 0으로 지정합니다.\n minWidth: '0',\n color: 'foreground.muted',\n },\n viewport: {\n display: 'flex',\n overflow: 'hidden',\n width: 'fill',\n },\n content: {\n display: 'flex',\n alignItems: 'center',\n flexShrink: 0,\n animationName: 'marqueeX',\n animationDuration: 'var(--marquee-duration)',\n // machine이 콘텐츠 길이로 duration을 정해 모든 Marquee가 `speed` px/s로 흐르게 하는데,\n // linear가 아닌 곡선은 루프마다 속도가 달라지며 이를 깨뜨립니다.\n animationTimingFunction: 'linear',\n animationDelay: 'var(--marquee-delay)',\n animationIterationCount: 'var(--marquee-loop-count)',\n '&[data-orientation=\"vertical\"]': { animationName: 'marqueeY' },\n '&[data-reverse]': { animationDirection: 'reverse' },\n '[data-paused] &': { animationPlayState: 'paused' },\n _motionReduce: { animationPlayState: 'paused' },\n },\n edge: {\n position: 'absolute',\n zIndex: 1,\n pointerEvents: 'none',\n gradientFrom: 'background.canvas',\n gradientTo: 'surface.transparent',\n '&[data-side=start]': { bgGradient: 'to-r', _rtl: { bgGradient: 'to-l' } },\n '&[data-side=end]': { bgGradient: 'to-l', _rtl: { bgGradient: 'to-r' } },\n '&[data-side=top]': { bgGradient: 'to-b' },\n '&[data-side=bottom]': { bgGradient: 'to-t' },\n },\n item: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n minWidth: 'target.minimum',\n minHeight: 'target.minimum',\n whiteSpace: 'nowrap',\n },\n },\n variants: {\n size: {\n xs: {\n item: { paddingInline: 'inset.compact', textStyle: 'caption' },\n edge: { width: 'control.xs', height: 'control.xs' },\n },\n sm: {\n item: { paddingInline: 'inset.control', textStyle: 'label' },\n edge: { width: 'control.sm', height: 'control.sm' },\n },\n md: {\n item: { paddingInline: 'inset.control', textStyle: 'body' },\n edge: { width: 'control.md', height: 'control.md' },\n },\n lg: {\n item: { paddingInline: 'inset.overlay', textStyle: 'body' },\n edge: { width: 'control.lg', height: 'control.lg' },\n },\n xl: {\n item: { paddingInline: 'inset.surface', textStyle: 'body' },\n edge: { width: 'control.xl', height: 'control.xl' },\n },\n },\n },\n defaultVariants: { size: 'md' },\n})\n"],"mappings":";;AAEA,MAAa,gBAAgB,IAAI;CAC/B,OAAO;EAAC;EAAQ;EAAY;EAAW;EAAQ;CAAM;CACrD,MAAM;EACJ,MAAM;GACJ,UAAU;GACV,SAAS;GACT,UAAU;GACV,OAAO;GAGP,UAAU;GACV,OAAO;EACT;EACA,UAAU;GACR,SAAS;GACT,UAAU;GACV,OAAO;EACT;EACA,SAAS;GACP,SAAS;GACT,YAAY;GACZ,YAAY;GACZ,eAAe;GACf,mBAAmB;GAGnB,yBAAyB;GACzB,gBAAgB;GAChB,yBAAyB;GACzB,oCAAkC,EAAE,eAAe,WAAW;GAC9D,mBAAmB,EAAE,oBAAoB,UAAU;GACnD,mBAAmB,EAAE,oBAAoB,SAAS;GAClD,eAAe,EAAE,oBAAoB,SAAS;EAChD;EACA,MAAM;GACJ,UAAU;GACV,QAAQ;GACR,eAAe;GACf,cAAc;GACd,YAAY;GACZ,sBAAsB;IAAE,YAAY;IAAQ,MAAM,EAAE,YAAY,OAAO;GAAE;GACzE,oBAAoB;IAAE,YAAY;IAAQ,MAAM,EAAE,YAAY,OAAO;GAAE;GACvE,oBAAoB,EAAE,YAAY,OAAO;GACzC,uBAAuB,EAAE,YAAY,OAAO;EAC9C;EACA,MAAM;GACJ,SAAS;GACT,YAAY;GACZ,gBAAgB;GAChB,YAAY;GACZ,UAAU;GACV,WAAW;GACX,YAAY;EACd;CACF;CACA,UAAU,EACR,MAAM;EACJ,IAAI;GACF,MAAM;IAAE,eAAe;IAAiB,WAAW;GAAU;GAC7D,MAAM;IAAE,OAAO;IAAc,QAAQ;GAAa;EACpD;EACA,IAAI;GACF,MAAM;IAAE,eAAe;IAAiB,WAAW;GAAQ;GAC3D,MAAM;IAAE,OAAO;IAAc,QAAQ;GAAa;EACpD;EACA,IAAI;GACF,MAAM;IAAE,eAAe;IAAiB,WAAW;GAAO;GAC1D,MAAM;IAAE,OAAO;IAAc,QAAQ;GAAa;EACpD;EACA,IAAI;GACF,MAAM;IAAE,eAAe;IAAiB,WAAW;GAAO;GAC1D,MAAM;IAAE,OAAO;IAAc,QAAQ;GAAa;EACpD;EACA,IAAI;GACF,MAAM;IAAE,eAAe;IAAiB,WAAW;GAAO;GAC1D,MAAM;IAAE,OAAO;IAAc,QAAQ;GAAa;EACpD;CACF,EACF;CACA,iBAAiB,EAAE,MAAM,KAAK;AAChC,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { TranslationOverrides } from "../../provider/translations.mjs";
|
|
2
|
+
import { SynapseComponent } from "../../system/types.mjs";
|
|
3
|
+
import { OpenChangeDetails, ValueChangeDetails } from "../details.mjs";
|
|
4
|
+
import { Size } from "../../shared/size-scale.mjs";
|
|
5
|
+
//#region src/components/menu/menu.d.ts
|
|
6
|
+
export type MenuPlacement = 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end';
|
|
7
|
+
export interface MenuPositioning {
|
|
8
|
+
placement?: MenuPlacement;
|
|
9
|
+
gutter?: number;
|
|
10
|
+
flip?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface MenuAnchorPoint {
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
}
|
|
16
|
+
export interface MenuHighlightChangeDetails {
|
|
17
|
+
readonly highlightedValue: string | null;
|
|
18
|
+
}
|
|
19
|
+
export interface MenuRootProps {
|
|
20
|
+
/** 제어되는 열림 상태. */
|
|
21
|
+
open?: boolean;
|
|
22
|
+
/** 비제어 모드의 초기 열림 상태. `open`을 주면 무시됩니다. */
|
|
23
|
+
defaultOpen?: boolean;
|
|
24
|
+
/** 제어 여부와 무관하게 메뉴가 열리거나 닫힐 때마다 호출됩니다. */
|
|
25
|
+
onOpenChange?: (details: OpenChangeDetails) => void;
|
|
26
|
+
/**
|
|
27
|
+
* 아이템이 선택됐을 때 그 아이템의 `value`와 함께 호출됩니다.
|
|
28
|
+
*
|
|
29
|
+
* machine은 이 prop을 `onSelect`라 부르는데, 어휘는 그것을 단 하나뿐인 변경 콜백의 경쟁 표기로
|
|
30
|
+
* 보고 거부합니다(`COMPETING_NAMES`). 변환은 이음매의 machine 쪽인 `useMachineProps`에서
|
|
31
|
+
* 일어나므로, 사용처는 이름 하나만 익히면 됩니다.
|
|
32
|
+
*/
|
|
33
|
+
onValueChange?: (details: ValueChangeDetails<string>) => void;
|
|
34
|
+
/** 제어되는 하이라이트 아이템. `aria-activedescendant`가 가리키는 대상입니다. */
|
|
35
|
+
highlightedValue?: string | null;
|
|
36
|
+
/** 비제어 모드에서 처음 하이라이트되는 아이템. */
|
|
37
|
+
defaultHighlightedValue?: string | null;
|
|
38
|
+
/** 하이라이트가 옮겨 갈 때 호출됩니다. */
|
|
39
|
+
onHighlightChange?: (details: MenuHighlightChangeDetails) => void;
|
|
40
|
+
/** 아이템이 선택되면 메뉴를 닫습니다. 기본값은 true입니다. */
|
|
41
|
+
closeOnSelect?: boolean;
|
|
42
|
+
/** 키보드 이동이 양 끝을 넘어가면 반대쪽으로 돌아옵니다. */
|
|
43
|
+
loopFocus?: boolean;
|
|
44
|
+
/** 레이블을 입력해 해당 아이템으로 건너뜁니다. 기본값은 true입니다. */
|
|
45
|
+
typeahead?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* 내용을 아이템이 복합 자식인 `menu`로 알립니다. 기본값은 true입니다. 복합이 아닌 메뉴는
|
|
48
|
+
* `dialog`로 알려지며, 임의의 내용을 담은 메뉴에 씁니다.
|
|
49
|
+
*/
|
|
50
|
+
composite?: boolean;
|
|
51
|
+
/** 메뉴가 trigger를 기준으로 놓이는 위치. */
|
|
52
|
+
positioning?: MenuPositioning;
|
|
53
|
+
/** trigger가 아니라 한 지점에 메뉴를 붙입니다. 컨텍스트 메뉴는 이렇게 자리를 잡습니다. */
|
|
54
|
+
anchorPoint?: MenuAnchorPoint;
|
|
55
|
+
/** 어떤 trigger도 이름을 주지 않을 때 쓰는 메뉴의 접근성 이름. */
|
|
56
|
+
'aria-label'?: string;
|
|
57
|
+
/** 이 Menu에만 적용되는 접근성 문자열로, provider의 값보다 우선합니다. */
|
|
58
|
+
translations?: TranslationOverrides;
|
|
59
|
+
/** 하나뿐인 공용 척도를 따릅니다. 모든 컴포넌트와 마찬가지로 기본값은 `md`입니다. */
|
|
60
|
+
size?: Size;
|
|
61
|
+
/** 팩토리가 만드는 식별자를 덮어씁니다. 서버와 클라이언트에서 같은 값으로 유지됩니다. */
|
|
62
|
+
id?: string;
|
|
63
|
+
}
|
|
64
|
+
export declare const Menu: SynapseComponent<"arrow" | "arrowTip" | "content" | "contextTrigger" | "indicator" | "item" | "itemGroup" | "itemGroupLabel" | "itemIndicator" | "itemText" | "positioner" | "separator" | "trigger" | "triggerItem", null, MenuRootProps, never>;
|
|
65
|
+
//#endregion
|
|
66
|
+
//# sourceMappingURL=menu.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.d.mts","names":[],"sources":["../../../src/components/menu/menu.tsx"],"mappings":";;;;;YAaY;iBAcK;EACf,YAAY;EACZ;EACA;;iBAGe;EACf;EACA;;iBAGe;WACN;;iBAGM;;EAEf;;EAEA;;EAEA,gBAAgB,SAAS;;;;;;;;EAQzB,iBAAiB,SAAS;;EAE1B;;EAEA;;EAEA,qBAAqB,SAAS;;EAE9B;;EAEA;;EAEA;;;;;EAKA;;EAEA,cAAc;;EAEd,cAAc;;EAEd;;EAEA,eAAe;;EAEf,OAAO;;EAEP;;qBAGW,MAAI,4NAAA"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { resolveSize } from "../../shared/size-scale.mjs";
|
|
3
|
+
import { checkmark } from "../../icons/src/checkmark.mjs";
|
|
4
|
+
import { chevronDown } from "../../icons/src/chevron-down.mjs";
|
|
5
|
+
import "../../icons/src/index.mjs";
|
|
6
|
+
import { Icon } from "../../shared/icon.mjs";
|
|
7
|
+
import { defineComponent } from "../../system/create-component.mjs";
|
|
8
|
+
import { buttonPartClass } from "../../shared/button-style.mjs";
|
|
9
|
+
import { menuRecipe } from "./menu.recipe.mjs";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
import * as menu from "@zag-js/menu";
|
|
12
|
+
//#region src/components/menu/menu.tsx
|
|
13
|
+
const Menu = defineComponent()({
|
|
14
|
+
name: "Menu",
|
|
15
|
+
module: menu,
|
|
16
|
+
rootPart: null,
|
|
17
|
+
elements: {
|
|
18
|
+
indicator: "span",
|
|
19
|
+
itemText: "span",
|
|
20
|
+
itemIndicator: "span"
|
|
21
|
+
},
|
|
22
|
+
defaultContent: {
|
|
23
|
+
indicator: () => /* @__PURE__ */ jsx(Icon, { icon: chevronDown }),
|
|
24
|
+
itemIndicator: () => /* @__PURE__ */ jsx(Icon, { icon: checkmark })
|
|
25
|
+
},
|
|
26
|
+
getterProps: {
|
|
27
|
+
item: [
|
|
28
|
+
"value",
|
|
29
|
+
"disabled",
|
|
30
|
+
"closeOnSelect",
|
|
31
|
+
"valueText"
|
|
32
|
+
],
|
|
33
|
+
itemText: [
|
|
34
|
+
"value",
|
|
35
|
+
"disabled",
|
|
36
|
+
"closeOnSelect",
|
|
37
|
+
"valueText"
|
|
38
|
+
],
|
|
39
|
+
itemIndicator: [
|
|
40
|
+
"value",
|
|
41
|
+
"disabled",
|
|
42
|
+
"closeOnSelect",
|
|
43
|
+
"valueText"
|
|
44
|
+
],
|
|
45
|
+
itemGroup: ["id"],
|
|
46
|
+
itemGroupLabel: ["htmlFor"]
|
|
47
|
+
},
|
|
48
|
+
unrenderedGetters: ["getOptionItemProps"],
|
|
49
|
+
machineTranslations: null,
|
|
50
|
+
variantProps: ["size", "onValueChange"],
|
|
51
|
+
useMachineProps: (props) => props.onValueChange === void 0 ? {} : { onSelect: props.onValueChange },
|
|
52
|
+
slots: (props) => {
|
|
53
|
+
const size = resolveSize(props.size, "Menu");
|
|
54
|
+
const own = menuRecipe.raw({ size });
|
|
55
|
+
return {
|
|
56
|
+
...menuRecipe({ size }),
|
|
57
|
+
trigger: buttonPartClass({
|
|
58
|
+
variant: "outline",
|
|
59
|
+
tone: "neutral",
|
|
60
|
+
size
|
|
61
|
+
}, own.trigger)
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
//#endregion
|
|
66
|
+
export { Menu };
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=menu.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.mjs","names":[],"sources":["../../../src/components/menu/menu.tsx"],"sourcesContent":["'use client'\n\nimport { checkmark, chevronDown } from '@neurocle/synapse-icons'\nimport * as menu from '@zag-js/menu'\n\nimport type { OpenChangeDetails, ValueChangeDetails } from '#/components/details.ts'\nimport { menuRecipe } from '#/components/menu/menu.recipe.ts'\nimport type { TranslationOverrides } from '#/provider/translations.ts'\nimport { buttonPartClass } from '#/shared/button-style.ts'\nimport { Icon } from '#/shared/icon.tsx'\nimport { resolveSize, type Size } from '#/shared/size-scale.ts'\nimport { defineComponent } from '#/system/create-component.ts'\n\nexport type MenuPlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end'\n\nexport interface MenuPositioning {\n placement?: MenuPlacement\n gutter?: number\n flip?: boolean\n}\n\nexport interface MenuAnchorPoint {\n x: number\n y: number\n}\n\nexport interface MenuHighlightChangeDetails {\n readonly highlightedValue: string | null\n}\n\nexport interface MenuRootProps {\n /** 제어되는 열림 상태. */\n open?: boolean\n /** 비제어 모드의 초기 열림 상태. `open`을 주면 무시됩니다. */\n defaultOpen?: boolean\n /** 제어 여부와 무관하게 메뉴가 열리거나 닫힐 때마다 호출됩니다. */\n onOpenChange?: (details: OpenChangeDetails) => void\n /**\n * 아이템이 선택됐을 때 그 아이템의 `value`와 함께 호출됩니다.\n *\n * machine은 이 prop을 `onSelect`라 부르는데, 어휘는 그것을 단 하나뿐인 변경 콜백의 경쟁 표기로\n * 보고 거부합니다(`COMPETING_NAMES`). 변환은 이음매의 machine 쪽인 `useMachineProps`에서\n * 일어나므로, 사용처는 이름 하나만 익히면 됩니다.\n */\n onValueChange?: (details: ValueChangeDetails<string>) => void\n /** 제어되는 하이라이트 아이템. `aria-activedescendant`가 가리키는 대상입니다. */\n highlightedValue?: string | null\n /** 비제어 모드에서 처음 하이라이트되는 아이템. */\n defaultHighlightedValue?: string | null\n /** 하이라이트가 옮겨 갈 때 호출됩니다. */\n onHighlightChange?: (details: MenuHighlightChangeDetails) => void\n /** 아이템이 선택되면 메뉴를 닫습니다. 기본값은 true입니다. */\n closeOnSelect?: boolean\n /** 키보드 이동이 양 끝을 넘어가면 반대쪽으로 돌아옵니다. */\n loopFocus?: boolean\n /** 레이블을 입력해 해당 아이템으로 건너뜁니다. 기본값은 true입니다. */\n typeahead?: boolean\n /**\n * 내용을 아이템이 복합 자식인 `menu`로 알립니다. 기본값은 true입니다. 복합이 아닌 메뉴는\n * `dialog`로 알려지며, 임의의 내용을 담은 메뉴에 씁니다.\n */\n composite?: boolean\n /** 메뉴가 trigger를 기준으로 놓이는 위치. */\n positioning?: MenuPositioning\n /** trigger가 아니라 한 지점에 메뉴를 붙입니다. 컨텍스트 메뉴는 이렇게 자리를 잡습니다. */\n anchorPoint?: MenuAnchorPoint\n /** 어떤 trigger도 이름을 주지 않을 때 쓰는 메뉴의 접근성 이름. */\n 'aria-label'?: string\n /** 이 Menu에만 적용되는 접근성 문자열로, provider의 값보다 우선합니다. */\n translations?: TranslationOverrides\n /** 하나뿐인 공용 척도를 따릅니다. 모든 컴포넌트와 마찬가지로 기본값은 `md`입니다. */\n size?: Size\n /** 팩토리가 만드는 식별자를 덮어씁니다. 서버와 클라이언트에서 같은 값으로 유지됩니다. */\n id?: string\n}\n\nexport const Menu = defineComponent<MenuRootProps>()({\n name: 'Menu',\n module: menu,\n rootPart: null,\n elements: {\n indicator: 'span',\n itemText: 'span',\n itemIndicator: 'span',\n },\n defaultContent: {\n indicator: () => <Icon icon={chevronDown} />,\n itemIndicator: () => <Icon icon={checkmark} />,\n },\n getterProps: {\n item: ['value', 'disabled', 'closeOnSelect', 'valueText'],\n itemText: ['value', 'disabled', 'closeOnSelect', 'valueText'],\n itemIndicator: ['value', 'disabled', 'closeOnSelect', 'valueText'],\n itemGroup: ['id'],\n itemGroupLabel: ['htmlFor'],\n },\n unrenderedGetters: ['getOptionItemProps'],\n machineTranslations: null,\n variantProps: ['size', 'onValueChange'],\n useMachineProps: (props: MenuRootProps) =>\n props.onValueChange === undefined ? {} : { onSelect: props.onValueChange },\n slots: (props: MenuRootProps) => {\n const size = resolveSize(props.size, 'Menu')\n const own = menuRecipe.raw({ size })\n return {\n ...menuRecipe({ size }),\n trigger: buttonPartClass({ variant: 'outline', tone: 'neutral', size }, own.trigger),\n }\n },\n})\n"],"mappings":";;;;;;;;;;;;AAwFA,MAAa,OAAO,gBAA+B,CAAC,CAAC;CACnD,MAAM;CACN,QAAQ;CACR,UAAU;CACV,UAAU;EACR,WAAW;EACX,UAAU;EACV,eAAe;CACjB;CACA,gBAAgB;EACd,iBAAiB,oBAAC,MAAD,EAAM,MAAM,YAAc,CAAA;EAC3C,qBAAqB,oBAAC,MAAD,EAAM,MAAM,UAAY,CAAA;CAC/C;CACA,aAAa;EACX,MAAM;GAAC;GAAS;GAAY;GAAiB;EAAW;EACxD,UAAU;GAAC;GAAS;GAAY;GAAiB;EAAW;EAC5D,eAAe;GAAC;GAAS;GAAY;GAAiB;EAAW;EACjE,WAAW,CAAC,IAAI;EAChB,gBAAgB,CAAC,SAAS;CAC5B;CACA,mBAAmB,CAAC,oBAAoB;CACxC,qBAAqB;CACrB,cAAc,CAAC,QAAQ,eAAe;CACtC,kBAAkB,UAChB,MAAM,kBAAkB,KAAA,IAAY,CAAC,IAAI,EAAE,UAAU,MAAM,cAAc;CAC3E,QAAQ,UAAyB;EAC/B,MAAM,OAAO,YAAY,MAAM,MAAM,MAAM;EAC3C,MAAM,MAAM,WAAW,IAAI,EAAE,KAAK,CAAC;EACnC,OAAO;GACL,GAAG,WAAW,EAAE,KAAK,CAAC;GACtB,SAAS,gBAAgB;IAAE,SAAS;IAAW,MAAM;IAAW;GAAK,GAAG,IAAI,OAAO;EACrF;CACF;AACF,CAAC"}
|