@neurocle/synapse-react 0.0.0-bootstrap → 0.0.0-stage
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/README.md +2 -162
- package/package.json +4 -409
- package/LICENSE +0 -21
- package/dist/_virtual/_rolldown/runtime.mjs +0 -13
- package/dist/components/accordion/accordion.d.mts +0 -38
- package/dist/components/accordion/accordion.d.mts.map +0 -1
- package/dist/components/accordion/accordion.mjs +0 -29
- package/dist/components/accordion/accordion.mjs.map +0 -1
- package/dist/components/accordion/accordion.recipe.mjs +0 -191
- package/dist/components/accordion/accordion.recipe.mjs.map +0 -1
- package/dist/components/accordion/index.d.mts +0 -2
- package/dist/components/accordion/index.mjs +0 -2
- package/dist/components/alert/alert.anatomy.mjs +0 -8
- package/dist/components/alert/alert.anatomy.mjs.map +0 -1
- package/dist/components/alert/alert.connect.d.mts +0 -4
- package/dist/components/alert/alert.connect.d.mts.map +0 -1
- package/dist/components/alert/alert.connect.mjs +0 -39
- package/dist/components/alert/alert.connect.mjs.map +0 -1
- package/dist/components/alert/alert.d.mts +0 -14
- package/dist/components/alert/alert.d.mts.map +0 -1
- package/dist/components/alert/alert.mjs +0 -37
- package/dist/components/alert/alert.mjs.map +0 -1
- package/dist/components/alert/alert.recipe.mjs +0 -141
- package/dist/components/alert/alert.recipe.mjs.map +0 -1
- package/dist/components/alert/index.d.mts +0 -3
- package/dist/components/alert/index.mjs +0 -2
- package/dist/components/angle-slider/angle-slider.d.mts +0 -35
- package/dist/components/angle-slider/angle-slider.d.mts.map +0 -1
- package/dist/components/angle-slider/angle-slider.mjs +0 -41
- package/dist/components/angle-slider/angle-slider.mjs.map +0 -1
- package/dist/components/angle-slider/angle-slider.recipe.mjs +0 -201
- package/dist/components/angle-slider/angle-slider.recipe.mjs.map +0 -1
- package/dist/components/angle-slider/index.d.mts +0 -2
- package/dist/components/angle-slider/index.mjs +0 -2
- package/dist/components/avatar/avatar.d.mts +0 -18
- package/dist/components/avatar/avatar.d.mts.map +0 -1
- package/dist/components/avatar/avatar.mjs +0 -35
- package/dist/components/avatar/avatar.mjs.map +0 -1
- package/dist/components/avatar/avatar.recipe.mjs +0 -113
- package/dist/components/avatar/avatar.recipe.mjs.map +0 -1
- package/dist/components/avatar/index.d.mts +0 -2
- package/dist/components/avatar/index.mjs +0 -2
- package/dist/components/badge/badge.anatomy.mjs +0 -8
- package/dist/components/badge/badge.anatomy.mjs.map +0 -1
- package/dist/components/badge/badge.connect.d.mts +0 -4
- package/dist/components/badge/badge.connect.d.mts.map +0 -1
- package/dist/components/badge/badge.connect.mjs +0 -32
- package/dist/components/badge/badge.connect.mjs.map +0 -1
- package/dist/components/badge/badge.d.mts +0 -14
- package/dist/components/badge/badge.d.mts.map +0 -1
- package/dist/components/badge/badge.mjs +0 -18
- package/dist/components/badge/badge.mjs.map +0 -1
- package/dist/components/badge/badge.recipe.mjs +0 -84
- package/dist/components/badge/badge.recipe.mjs.map +0 -1
- package/dist/components/badge/index.d.mts +0 -3
- package/dist/components/badge/index.mjs +0 -2
- package/dist/components/breadcrumb/breadcrumb.anatomy.mjs +0 -8
- package/dist/components/breadcrumb/breadcrumb.anatomy.mjs.map +0 -1
- package/dist/components/breadcrumb/breadcrumb.connect.mjs +0 -30
- package/dist/components/breadcrumb/breadcrumb.connect.mjs.map +0 -1
- package/dist/components/breadcrumb/breadcrumb.d.mts +0 -10
- package/dist/components/breadcrumb/breadcrumb.d.mts.map +0 -1
- package/dist/components/breadcrumb/breadcrumb.mjs +0 -31
- package/dist/components/breadcrumb/breadcrumb.mjs.map +0 -1
- package/dist/components/breadcrumb/breadcrumb.recipe.mjs +0 -121
- package/dist/components/breadcrumb/breadcrumb.recipe.mjs.map +0 -1
- package/dist/components/breadcrumb/index.d.mts +0 -2
- package/dist/components/breadcrumb/index.mjs +0 -2
- package/dist/components/button/button.anatomy.mjs +0 -8
- package/dist/components/button/button.anatomy.mjs.map +0 -1
- package/dist/components/button/button.connect.mjs +0 -35
- package/dist/components/button/button.connect.mjs.map +0 -1
- package/dist/components/button/button.d.mts +0 -19
- package/dist/components/button/button.d.mts.map +0 -1
- package/dist/components/button/button.mjs +0 -25
- package/dist/components/button/button.mjs.map +0 -1
- package/dist/components/button/button.recipe.mjs +0 -377
- package/dist/components/button/button.recipe.mjs.map +0 -1
- package/dist/components/button/index.d.mts +0 -2
- package/dist/components/button/index.mjs +0 -2
- package/dist/components/card/card.anatomy.mjs +0 -8
- package/dist/components/card/card.anatomy.mjs.map +0 -1
- package/dist/components/card/card.connect.mjs +0 -24
- package/dist/components/card/card.connect.mjs.map +0 -1
- package/dist/components/card/card.d.mts +0 -9
- package/dist/components/card/card.d.mts.map +0 -1
- package/dist/components/card/card.mjs +0 -23
- package/dist/components/card/card.mjs.map +0 -1
- package/dist/components/card/card.recipe.mjs +0 -58
- package/dist/components/card/card.recipe.mjs.map +0 -1
- package/dist/components/card/index.d.mts +0 -2
- package/dist/components/card/index.mjs +0 -2
- package/dist/components/carousel/carousel.d.mts +0 -67
- package/dist/components/carousel/carousel.d.mts.map +0 -1
- package/dist/components/carousel/carousel.mjs +0 -123
- package/dist/components/carousel/carousel.mjs.map +0 -1
- package/dist/components/carousel/carousel.recipe.mjs +0 -131
- package/dist/components/carousel/carousel.recipe.mjs.map +0 -1
- package/dist/components/carousel/index.d.mts +0 -2
- package/dist/components/carousel/index.mjs +0 -2
- package/dist/components/cascade-select/cascade-select.d.mts +0 -102
- package/dist/components/cascade-select/cascade-select.d.mts.map +0 -1
- package/dist/components/cascade-select/cascade-select.mjs +0 -169
- package/dist/components/cascade-select/cascade-select.mjs.map +0 -1
- package/dist/components/cascade-select/cascade-select.recipe.mjs +0 -309
- package/dist/components/cascade-select/cascade-select.recipe.mjs.map +0 -1
- package/dist/components/cascade-select/index.d.mts +0 -2
- package/dist/components/cascade-select/index.mjs +0 -2
- package/dist/components/checkbox/checkbox.d.mts +0 -37
- package/dist/components/checkbox/checkbox.d.mts.map +0 -1
- package/dist/components/checkbox/checkbox.mjs +0 -55
- package/dist/components/checkbox/checkbox.mjs.map +0 -1
- package/dist/components/checkbox/checkbox.recipe.mjs +0 -170
- package/dist/components/checkbox/checkbox.recipe.mjs.map +0 -1
- package/dist/components/checkbox/index.d.mts +0 -2
- package/dist/components/checkbox/index.mjs +0 -2
- package/dist/components/clipboard/clipboard.d.mts +0 -26
- package/dist/components/clipboard/clipboard.d.mts.map +0 -1
- package/dist/components/clipboard/clipboard.mjs +0 -76
- package/dist/components/clipboard/clipboard.mjs.map +0 -1
- package/dist/components/clipboard/clipboard.recipe.mjs +0 -119
- package/dist/components/clipboard/clipboard.recipe.mjs.map +0 -1
- package/dist/components/clipboard/index.d.mts +0 -2
- package/dist/components/clipboard/index.mjs +0 -2
- package/dist/components/collapsible/collapsible.d.mts +0 -21
- package/dist/components/collapsible/collapsible.d.mts.map +0 -1
- package/dist/components/collapsible/collapsible.mjs +0 -23
- package/dist/components/collapsible/collapsible.mjs.map +0 -1
- package/dist/components/collapsible/collapsible.recipe.mjs +0 -159
- package/dist/components/collapsible/collapsible.recipe.mjs.map +0 -1
- package/dist/components/collapsible/index.d.mts +0 -2
- package/dist/components/collapsible/index.mjs +0 -2
- package/dist/components/collection-window.mjs +0 -299
- package/dist/components/collection-window.mjs.map +0 -1
- package/dist/components/color-picker/color-picker.d.mts +0 -67
- package/dist/components/color-picker/color-picker.d.mts.map +0 -1
- package/dist/components/color-picker/color-picker.mjs +0 -230
- package/dist/components/color-picker/color-picker.mjs.map +0 -1
- package/dist/components/color-picker/color-picker.recipe.mjs +0 -345
- package/dist/components/color-picker/color-picker.recipe.mjs.map +0 -1
- package/dist/components/color-picker/index.d.mts +0 -2
- package/dist/components/color-picker/index.mjs +0 -2
- package/dist/components/combobox/combobox.d.mts +0 -129
- package/dist/components/combobox/combobox.d.mts.map +0 -1
- package/dist/components/combobox/combobox.mjs +0 -92
- package/dist/components/combobox/combobox.mjs.map +0 -1
- package/dist/components/combobox/combobox.recipe.mjs +0 -336
- package/dist/components/combobox/combobox.recipe.mjs.map +0 -1
- package/dist/components/combobox/index.d.mts +0 -2
- package/dist/components/combobox/index.mjs +0 -2
- package/dist/components/date-input/date-input.d.mts +0 -69
- package/dist/components/date-input/date-input.d.mts.map +0 -1
- package/dist/components/date-input/date-input.mjs +0 -106
- package/dist/components/date-input/date-input.mjs.map +0 -1
- package/dist/components/date-input/date-input.recipe.mjs +0 -142
- package/dist/components/date-input/date-input.recipe.mjs.map +0 -1
- package/dist/components/date-input/index.d.mts +0 -2
- package/dist/components/date-input/index.mjs +0 -2
- package/dist/components/date-picker/date-picker.d.mts +0 -114
- package/dist/components/date-picker/date-picker.d.mts.map +0 -1
- package/dist/components/date-picker/date-picker.mjs +0 -269
- package/dist/components/date-picker/date-picker.mjs.map +0 -1
- package/dist/components/date-picker/date-picker.recipe.mjs +0 -495
- package/dist/components/date-picker/date-picker.recipe.mjs.map +0 -1
- package/dist/components/date-picker/index.d.mts +0 -2
- package/dist/components/date-picker/index.mjs +0 -2
- package/dist/components/details.d.mts +0 -9
- package/dist/components/details.d.mts.map +0 -1
- package/dist/components/dialog/dialog.d.mts +0 -45
- package/dist/components/dialog/dialog.d.mts.map +0 -1
- package/dist/components/dialog/dialog.mjs +0 -49
- package/dist/components/dialog/dialog.mjs.map +0 -1
- package/dist/components/dialog/dialog.recipe.mjs +0 -138
- package/dist/components/dialog/dialog.recipe.mjs.map +0 -1
- package/dist/components/dialog/index.d.mts +0 -2
- package/dist/components/dialog/index.mjs +0 -2
- package/dist/components/drawer/drawer.d.mts +0 -62
- package/dist/components/drawer/drawer.d.mts.map +0 -1
- package/dist/components/drawer/drawer.mjs +0 -65
- package/dist/components/drawer/drawer.mjs.map +0 -1
- package/dist/components/drawer/drawer.recipe.mjs +0 -201
- package/dist/components/drawer/drawer.recipe.mjs.map +0 -1
- package/dist/components/drawer/index.d.mts +0 -2
- package/dist/components/drawer/index.mjs +0 -2
- package/dist/components/editable/editable.d.mts +0 -62
- package/dist/components/editable/editable.d.mts.map +0 -1
- package/dist/components/editable/editable.mjs +0 -78
- package/dist/components/editable/editable.mjs.map +0 -1
- package/dist/components/editable/editable.recipe.mjs +0 -152
- package/dist/components/editable/editable.recipe.mjs.map +0 -1
- package/dist/components/editable/index.d.mts +0 -2
- package/dist/components/editable/index.mjs +0 -2
- package/dist/components/empty-state/empty-state.anatomy.mjs +0 -8
- package/dist/components/empty-state/empty-state.anatomy.mjs.map +0 -1
- package/dist/components/empty-state/empty-state.connect.mjs +0 -26
- package/dist/components/empty-state/empty-state.connect.mjs.map +0 -1
- package/dist/components/empty-state/empty-state.d.mts +0 -10
- package/dist/components/empty-state/empty-state.d.mts.map +0 -1
- package/dist/components/empty-state/empty-state.mjs +0 -24
- package/dist/components/empty-state/empty-state.mjs.map +0 -1
- package/dist/components/empty-state/empty-state.recipe.mjs +0 -134
- package/dist/components/empty-state/empty-state.recipe.mjs.map +0 -1
- package/dist/components/empty-state/index.d.mts +0 -2
- package/dist/components/empty-state/index.mjs +0 -2
- package/dist/components/field/field.anatomy.mjs +0 -8
- package/dist/components/field/field.anatomy.mjs.map +0 -1
- package/dist/components/field/field.connect.mjs +0 -117
- package/dist/components/field/field.connect.mjs.map +0 -1
- package/dist/components/field/field.d.mts +0 -19
- package/dist/components/field/field.d.mts.map +0 -1
- package/dist/components/field/field.mjs +0 -77
- package/dist/components/field/field.mjs.map +0 -1
- package/dist/components/field/field.recipe.mjs +0 -60
- package/dist/components/field/field.recipe.mjs.map +0 -1
- package/dist/components/field/index.d.mts +0 -2
- package/dist/components/field/index.mjs +0 -2
- package/dist/components/fieldset/fieldset.anatomy.mjs +0 -8
- package/dist/components/fieldset/fieldset.anatomy.mjs.map +0 -1
- package/dist/components/fieldset/fieldset.connect.mjs +0 -60
- package/dist/components/fieldset/fieldset.connect.mjs.map +0 -1
- package/dist/components/fieldset/fieldset.d.mts +0 -13
- package/dist/components/fieldset/fieldset.d.mts.map +0 -1
- package/dist/components/fieldset/fieldset.mjs +0 -26
- package/dist/components/fieldset/fieldset.mjs.map +0 -1
- package/dist/components/fieldset/fieldset.recipe.mjs +0 -42
- package/dist/components/fieldset/fieldset.recipe.mjs.map +0 -1
- package/dist/components/fieldset/index.d.mts +0 -2
- package/dist/components/fieldset/index.mjs +0 -2
- package/dist/components/file-upload/file-upload.d.mts +0 -105
- package/dist/components/file-upload/file-upload.d.mts.map +0 -1
- package/dist/components/file-upload/file-upload.mjs +0 -127
- package/dist/components/file-upload/file-upload.mjs.map +0 -1
- package/dist/components/file-upload/file-upload.recipe.mjs +0 -236
- package/dist/components/file-upload/file-upload.recipe.mjs.map +0 -1
- package/dist/components/file-upload/index.d.mts +0 -2
- package/dist/components/file-upload/index.mjs +0 -2
- package/dist/components/floating-panel/floating-panel.d.mts +0 -87
- package/dist/components/floating-panel/floating-panel.d.mts.map +0 -1
- package/dist/components/floating-panel/floating-panel.mjs +0 -89
- package/dist/components/floating-panel/floating-panel.mjs.map +0 -1
- package/dist/components/floating-panel/floating-panel.recipe.mjs +0 -156
- package/dist/components/floating-panel/floating-panel.recipe.mjs.map +0 -1
- package/dist/components/floating-panel/index.d.mts +0 -2
- package/dist/components/floating-panel/index.mjs +0 -2
- package/dist/components/hover-card/hover-card.d.mts +0 -48
- package/dist/components/hover-card/hover-card.d.mts.map +0 -1
- package/dist/components/hover-card/hover-card.mjs +0 -31
- package/dist/components/hover-card/hover-card.mjs.map +0 -1
- package/dist/components/hover-card/hover-card.recipe.mjs +0 -133
- package/dist/components/hover-card/hover-card.recipe.mjs.map +0 -1
- package/dist/components/hover-card/index.d.mts +0 -2
- package/dist/components/hover-card/index.mjs +0 -2
- package/dist/components/image-cropper/image-cropper.d.mts +0 -111
- package/dist/components/image-cropper/image-cropper.d.mts.map +0 -1
- package/dist/components/image-cropper/image-cropper.mjs +0 -71
- package/dist/components/image-cropper/image-cropper.mjs.map +0 -1
- package/dist/components/image-cropper/image-cropper.recipe.mjs +0 -126
- package/dist/components/image-cropper/image-cropper.recipe.mjs.map +0 -1
- package/dist/components/image-cropper/index.d.mts +0 -2
- package/dist/components/image-cropper/index.mjs +0 -2
- package/dist/components/input/index.d.mts +0 -2
- package/dist/components/input/index.mjs +0 -2
- package/dist/components/input/input.anatomy.mjs +0 -8
- package/dist/components/input/input.anatomy.mjs.map +0 -1
- package/dist/components/input/input.connect.mjs +0 -82
- package/dist/components/input/input.connect.mjs.map +0 -1
- package/dist/components/input/input.d.mts +0 -31
- package/dist/components/input/input.d.mts.map +0 -1
- package/dist/components/input/input.mjs +0 -37
- package/dist/components/input/input.mjs.map +0 -1
- package/dist/components/input/input.recipe.mjs +0 -111
- package/dist/components/input/input.recipe.mjs.map +0 -1
- package/dist/components/kbd/index.d.mts +0 -2
- package/dist/components/kbd/index.mjs +0 -2
- package/dist/components/kbd/kbd.anatomy.mjs +0 -8
- package/dist/components/kbd/kbd.anatomy.mjs.map +0 -1
- package/dist/components/kbd/kbd.connect.mjs +0 -17
- package/dist/components/kbd/kbd.connect.mjs.map +0 -1
- package/dist/components/kbd/kbd.d.mts +0 -10
- package/dist/components/kbd/kbd.d.mts.map +0 -1
- package/dist/components/kbd/kbd.mjs +0 -18
- package/dist/components/kbd/kbd.mjs.map +0 -1
- package/dist/components/kbd/kbd.recipe.mjs +0 -55
- package/dist/components/kbd/kbd.recipe.mjs.map +0 -1
- package/dist/components/listbox/index.d.mts +0 -2
- package/dist/components/listbox/index.mjs +0 -2
- package/dist/components/listbox/listbox.d.mts +0 -70
- package/dist/components/listbox/listbox.d.mts.map +0 -1
- package/dist/components/listbox/listbox.mjs +0 -79
- package/dist/components/listbox/listbox.mjs.map +0 -1
- package/dist/components/listbox/listbox.recipe.mjs +0 -169
- package/dist/components/listbox/listbox.recipe.mjs.map +0 -1
- package/dist/components/machine-translations.mjs +0 -8
- package/dist/components/machine-translations.mjs.map +0 -1
- package/dist/components/marquee/index.d.mts +0 -2
- package/dist/components/marquee/index.mjs +0 -2
- package/dist/components/marquee/marquee.d.mts +0 -53
- package/dist/components/marquee/marquee.d.mts.map +0 -1
- package/dist/components/marquee/marquee.mjs +0 -30
- package/dist/components/marquee/marquee.mjs.map +0 -1
- package/dist/components/marquee/marquee.recipe.mjs +0 -123
- package/dist/components/marquee/marquee.recipe.mjs.map +0 -1
- package/dist/components/menu/index.d.mts +0 -2
- package/dist/components/menu/index.mjs +0 -2
- package/dist/components/menu/menu.d.mts +0 -66
- package/dist/components/menu/menu.d.mts.map +0 -1
- package/dist/components/menu/menu.mjs +0 -68
- package/dist/components/menu/menu.mjs.map +0 -1
- package/dist/components/menu/menu.recipe.mjs +0 -285
- package/dist/components/menu/menu.recipe.mjs.map +0 -1
- package/dist/components/navigation-menu/index.d.mts +0 -2
- package/dist/components/navigation-menu/index.mjs +0 -2
- package/dist/components/navigation-menu/navigation-menu.d.mts +0 -42
- package/dist/components/navigation-menu/navigation-menu.d.mts.map +0 -1
- package/dist/components/navigation-menu/navigation-menu.mjs +0 -47
- package/dist/components/navigation-menu/navigation-menu.mjs.map +0 -1
- package/dist/components/navigation-menu/navigation-menu.recipe.mjs +0 -271
- package/dist/components/navigation-menu/navigation-menu.recipe.mjs.map +0 -1
- package/dist/components/number-input/index.d.mts +0 -2
- package/dist/components/number-input/index.mjs +0 -2
- package/dist/components/number-input/number-input.d.mts +0 -88
- package/dist/components/number-input/number-input.d.mts.map +0 -1
- package/dist/components/number-input/number-input.mjs +0 -70
- package/dist/components/number-input/number-input.mjs.map +0 -1
- package/dist/components/number-input/number-input.recipe.mjs +0 -231
- package/dist/components/number-input/number-input.recipe.mjs.map +0 -1
- package/dist/components/pagination/index.d.mts +0 -2
- package/dist/components/pagination/index.mjs +0 -2
- package/dist/components/pagination/pagination.d.mts +0 -51
- package/dist/components/pagination/pagination.d.mts.map +0 -1
- package/dist/components/pagination/pagination.mjs +0 -74
- package/dist/components/pagination/pagination.mjs.map +0 -1
- package/dist/components/pagination/pagination.recipe.mjs +0 -144
- package/dist/components/pagination/pagination.recipe.mjs.map +0 -1
- package/dist/components/password-input/index.d.mts +0 -2
- package/dist/components/password-input/index.mjs +0 -2
- package/dist/components/password-input/password-input.d.mts +0 -37
- package/dist/components/password-input/password-input.d.mts.map +0 -1
- package/dist/components/password-input/password-input.mjs +0 -58
- package/dist/components/password-input/password-input.mjs.map +0 -1
- package/dist/components/password-input/password-input.recipe.mjs +0 -180
- package/dist/components/password-input/password-input.recipe.mjs.map +0 -1
- package/dist/components/pin-input/index.d.mts +0 -2
- package/dist/components/pin-input/index.mjs +0 -2
- package/dist/components/pin-input/pin-input.d.mts +0 -68
- package/dist/components/pin-input/pin-input.d.mts.map +0 -1
- package/dist/components/pin-input/pin-input.mjs +0 -51
- package/dist/components/pin-input/pin-input.mjs.map +0 -1
- package/dist/components/pin-input/pin-input.recipe.mjs +0 -81
- package/dist/components/pin-input/pin-input.recipe.mjs.map +0 -1
- package/dist/components/popover/index.d.mts +0 -2
- package/dist/components/popover/index.mjs +0 -2
- package/dist/components/popover/popover.d.mts +0 -42
- package/dist/components/popover/popover.d.mts.map +0 -1
- package/dist/components/popover/popover.mjs +0 -50
- package/dist/components/popover/popover.mjs.map +0 -1
- package/dist/components/popover/popover.recipe.mjs +0 -162
- package/dist/components/popover/popover.recipe.mjs.map +0 -1
- package/dist/components/progress/index.d.mts +0 -2
- package/dist/components/progress/index.mjs +0 -2
- package/dist/components/progress/progress.d.mts +0 -31
- package/dist/components/progress/progress.d.mts.map +0 -1
- package/dist/components/progress/progress.mjs +0 -42
- package/dist/components/progress/progress.mjs.map +0 -1
- package/dist/components/progress/progress.recipe.mjs +0 -189
- package/dist/components/progress/progress.recipe.mjs.map +0 -1
- package/dist/components/qr-code/index.d.mts +0 -2
- package/dist/components/qr-code/index.mjs +0 -2
- package/dist/components/qr-code/qr-code.d.mts +0 -36
- package/dist/components/qr-code/qr-code.d.mts.map +0 -1
- package/dist/components/qr-code/qr-code.mjs +0 -41
- package/dist/components/qr-code/qr-code.mjs.map +0 -1
- package/dist/components/qr-code/qr-code.recipe.mjs +0 -70
- package/dist/components/qr-code/qr-code.recipe.mjs.map +0 -1
- package/dist/components/radio-group/index.d.mts +0 -2
- package/dist/components/radio-group/index.mjs +0 -2
- package/dist/components/radio-group/radio-group.d.mts +0 -33
- package/dist/components/radio-group/radio-group.d.mts.map +0 -1
- package/dist/components/radio-group/radio-group.mjs +0 -47
- package/dist/components/radio-group/radio-group.mjs.map +0 -1
- package/dist/components/radio-group/radio-group.recipe.mjs +0 -189
- package/dist/components/radio-group/radio-group.recipe.mjs.map +0 -1
- package/dist/components/rating-group/index.d.mts +0 -2
- package/dist/components/rating-group/index.mjs +0 -2
- package/dist/components/rating-group/rating-group.d.mts +0 -43
- package/dist/components/rating-group/rating-group.d.mts.map +0 -1
- package/dist/components/rating-group/rating-group.mjs +0 -39
- package/dist/components/rating-group/rating-group.mjs.map +0 -1
- package/dist/components/rating-group/rating-group.recipe.mjs +0 -133
- package/dist/components/rating-group/rating-group.recipe.mjs.map +0 -1
- package/dist/components/scroll-area/index.d.mts +0 -2
- package/dist/components/scroll-area/index.mjs +0 -2
- package/dist/components/scroll-area/scroll-area.d.mts +0 -12
- package/dist/components/scroll-area/scroll-area.d.mts.map +0 -1
- package/dist/components/scroll-area/scroll-area.mjs +0 -31
- package/dist/components/scroll-area/scroll-area.mjs.map +0 -1
- package/dist/components/scroll-area/scroll-area.recipe.mjs +0 -76
- package/dist/components/scroll-area/scroll-area.recipe.mjs.map +0 -1
- package/dist/components/select/index.d.mts +0 -2
- package/dist/components/select/index.mjs +0 -2
- package/dist/components/select/select.d.mts +0 -90
- package/dist/components/select/select.d.mts.map +0 -1
- package/dist/components/select/select.mjs +0 -83
- package/dist/components/select/select.mjs.map +0 -1
- package/dist/components/select/select.recipe.mjs +0 -298
- package/dist/components/select/select.recipe.mjs.map +0 -1
- package/dist/components/separator/index.d.mts +0 -2
- package/dist/components/separator/index.mjs +0 -2
- package/dist/components/separator/separator.anatomy.mjs +0 -8
- package/dist/components/separator/separator.anatomy.mjs.map +0 -1
- package/dist/components/separator/separator.connect.mjs +0 -28
- package/dist/components/separator/separator.connect.mjs.map +0 -1
- package/dist/components/separator/separator.d.mts +0 -11
- package/dist/components/separator/separator.d.mts.map +0 -1
- package/dist/components/separator/separator.mjs +0 -15
- package/dist/components/separator/separator.mjs.map +0 -1
- package/dist/components/separator/separator.recipe.mjs +0 -22
- package/dist/components/separator/separator.recipe.mjs.map +0 -1
- package/dist/components/signature-pad/index.d.mts +0 -2
- package/dist/components/signature-pad/index.mjs +0 -2
- package/dist/components/signature-pad/signature-pad.d.mts +0 -44
- package/dist/components/signature-pad/signature-pad.d.mts.map +0 -1
- package/dist/components/signature-pad/signature-pad.mjs +0 -90
- package/dist/components/signature-pad/signature-pad.mjs.map +0 -1
- package/dist/components/signature-pad/signature-pad.recipe.mjs +0 -111
- package/dist/components/signature-pad/signature-pad.recipe.mjs.map +0 -1
- package/dist/components/skeleton/index.d.mts +0 -2
- package/dist/components/skeleton/index.mjs +0 -2
- package/dist/components/skeleton/skeleton.anatomy.mjs +0 -8
- package/dist/components/skeleton/skeleton.anatomy.mjs.map +0 -1
- package/dist/components/skeleton/skeleton.connect.mjs +0 -26
- package/dist/components/skeleton/skeleton.connect.mjs.map +0 -1
- package/dist/components/skeleton/skeleton.d.mts +0 -9
- package/dist/components/skeleton/skeleton.d.mts.map +0 -1
- package/dist/components/skeleton/skeleton.mjs +0 -16
- package/dist/components/skeleton/skeleton.mjs.map +0 -1
- package/dist/components/skeleton/skeleton.recipe.mjs +0 -46
- package/dist/components/skeleton/skeleton.recipe.mjs.map +0 -1
- package/dist/components/slider/index.d.mts +0 -2
- package/dist/components/slider/index.mjs +0 -2
- package/dist/components/slider/slider.d.mts +0 -72
- package/dist/components/slider/slider.d.mts.map +0 -1
- package/dist/components/slider/slider.mjs +0 -34
- package/dist/components/slider/slider.mjs.map +0 -1
- package/dist/components/slider/slider.recipe.mjs +0 -219
- package/dist/components/slider/slider.recipe.mjs.map +0 -1
- package/dist/components/snackbar/index.d.mts +0 -2
- package/dist/components/snackbar/index.mjs +0 -2
- package/dist/components/snackbar/snackbar.d.mts +0 -57
- package/dist/components/snackbar/snackbar.d.mts.map +0 -1
- package/dist/components/snackbar/snackbar.mjs +0 -226
- package/dist/components/snackbar/snackbar.mjs.map +0 -1
- package/dist/components/snackbar/snackbar.recipe.mjs +0 -217
- package/dist/components/snackbar/snackbar.recipe.mjs.map +0 -1
- package/dist/components/spinner/index.d.mts +0 -2
- package/dist/components/spinner/index.mjs +0 -2
- package/dist/components/spinner/spinner.anatomy.mjs +0 -8
- package/dist/components/spinner/spinner.anatomy.mjs.map +0 -1
- package/dist/components/spinner/spinner.connect.mjs +0 -27
- package/dist/components/spinner/spinner.connect.mjs.map +0 -1
- package/dist/components/spinner/spinner.d.mts +0 -10
- package/dist/components/spinner/spinner.d.mts.map +0 -1
- package/dist/components/spinner/spinner.mjs +0 -25
- package/dist/components/spinner/spinner.mjs.map +0 -1
- package/dist/components/spinner/spinner.recipe.mjs +0 -70
- package/dist/components/spinner/spinner.recipe.mjs.map +0 -1
- package/dist/components/splitter/index.d.mts +0 -2
- package/dist/components/splitter/index.mjs +0 -2
- package/dist/components/splitter/splitter.d.mts +0 -57
- package/dist/components/splitter/splitter.d.mts.map +0 -1
- package/dist/components/splitter/splitter.mjs +0 -40
- package/dist/components/splitter/splitter.mjs.map +0 -1
- package/dist/components/splitter/splitter.recipe.mjs +0 -129
- package/dist/components/splitter/splitter.recipe.mjs.map +0 -1
- package/dist/components/steps/index.d.mts +0 -2
- package/dist/components/steps/index.mjs +0 -2
- package/dist/components/steps/steps.d.mts +0 -42
- package/dist/components/steps/steps.d.mts.map +0 -1
- package/dist/components/steps/steps.mjs +0 -72
- package/dist/components/steps/steps.mjs.map +0 -1
- package/dist/components/steps/steps.recipe.mjs +0 -291
- package/dist/components/steps/steps.recipe.mjs.map +0 -1
- package/dist/components/switch/index.d.mts +0 -2
- package/dist/components/switch/index.mjs +0 -2
- package/dist/components/switch/switch.d.mts +0 -36
- package/dist/components/switch/switch.d.mts.map +0 -1
- package/dist/components/switch/switch.mjs +0 -50
- package/dist/components/switch/switch.mjs.map +0 -1
- package/dist/components/switch/switch.recipe.mjs +0 -171
- package/dist/components/switch/switch.recipe.mjs.map +0 -1
- package/dist/components/table/index.d.mts +0 -2
- package/dist/components/table/index.mjs +0 -2
- package/dist/components/table/table.anatomy.mjs +0 -8
- package/dist/components/table/table.anatomy.mjs.map +0 -1
- package/dist/components/table/table.connect.mjs +0 -50
- package/dist/components/table/table.connect.mjs.map +0 -1
- package/dist/components/table/table.d.mts +0 -10
- package/dist/components/table/table.d.mts.map +0 -1
- package/dist/components/table/table.mjs +0 -90
- package/dist/components/table/table.mjs.map +0 -1
- package/dist/components/table/table.recipe.mjs +0 -186
- package/dist/components/table/table.recipe.mjs.map +0 -1
- package/dist/components/tabs/index.d.mts +0 -2
- package/dist/components/tabs/index.mjs +0 -2
- package/dist/components/tabs/tabs.d.mts +0 -40
- package/dist/components/tabs/tabs.d.mts.map +0 -1
- package/dist/components/tabs/tabs.mjs +0 -23
- package/dist/components/tabs/tabs.mjs.map +0 -1
- package/dist/components/tabs/tabs.recipe.mjs +0 -182
- package/dist/components/tabs/tabs.recipe.mjs.map +0 -1
- package/dist/components/tags-input/index.d.mts +0 -2
- package/dist/components/tags-input/index.mjs +0 -2
- package/dist/components/tags-input/tags-input.d.mts +0 -77
- package/dist/components/tags-input/tags-input.d.mts.map +0 -1
- package/dist/components/tags-input/tags-input.mjs +0 -103
- package/dist/components/tags-input/tags-input.mjs.map +0 -1
- package/dist/components/tags-input/tags-input.recipe.mjs +0 -320
- package/dist/components/tags-input/tags-input.recipe.mjs.map +0 -1
- package/dist/components/textarea/index.d.mts +0 -2
- package/dist/components/textarea/index.mjs +0 -2
- package/dist/components/textarea/textarea.anatomy.mjs +0 -8
- package/dist/components/textarea/textarea.anatomy.mjs.map +0 -1
- package/dist/components/textarea/textarea.connect.mjs +0 -82
- package/dist/components/textarea/textarea.connect.mjs.map +0 -1
- package/dist/components/textarea/textarea.d.mts +0 -32
- package/dist/components/textarea/textarea.d.mts.map +0 -1
- package/dist/components/textarea/textarea.mjs +0 -41
- package/dist/components/textarea/textarea.mjs.map +0 -1
- package/dist/components/textarea/textarea.recipe.mjs +0 -58
- package/dist/components/textarea/textarea.recipe.mjs.map +0 -1
- package/dist/components/timer/index.d.mts +0 -2
- package/dist/components/timer/index.mjs +0 -2
- package/dist/components/timer/timer.d.mts +0 -31
- package/dist/components/timer/timer.d.mts.map +0 -1
- package/dist/components/timer/timer.mjs +0 -98
- package/dist/components/timer/timer.mjs.map +0 -1
- package/dist/components/timer/timer.recipe.mjs +0 -99
- package/dist/components/timer/timer.recipe.mjs.map +0 -1
- package/dist/components/toast/index.d.mts +0 -2
- package/dist/components/toast/index.mjs +0 -2
- package/dist/components/toast/toast.d.mts +0 -55
- package/dist/components/toast/toast.d.mts.map +0 -1
- package/dist/components/toast/toast.mjs +0 -194
- package/dist/components/toast/toast.mjs.map +0 -1
- package/dist/components/toast/toast.recipe.mjs +0 -172
- package/dist/components/toast/toast.recipe.mjs.map +0 -1
- package/dist/components/toc/index.d.mts +0 -2
- package/dist/components/toc/index.mjs +0 -2
- package/dist/components/toc/toc.d.mts +0 -47
- package/dist/components/toc/toc.d.mts.map +0 -1
- package/dist/components/toc/toc.mjs +0 -239
- package/dist/components/toc/toc.mjs.map +0 -1
- package/dist/components/toc/toc.recipe.mjs +0 -147
- package/dist/components/toc/toc.recipe.mjs.map +0 -1
- package/dist/components/toggle/index.d.mts +0 -2
- package/dist/components/toggle/index.mjs +0 -2
- package/dist/components/toggle/toggle.d.mts +0 -21
- package/dist/components/toggle/toggle.d.mts.map +0 -1
- package/dist/components/toggle/toggle.mjs +0 -34
- package/dist/components/toggle/toggle.mjs.map +0 -1
- package/dist/components/toggle/toggle.recipe.mjs +0 -175
- package/dist/components/toggle/toggle.recipe.mjs.map +0 -1
- package/dist/components/toggle-group/index.d.mts +0 -2
- package/dist/components/toggle-group/index.mjs +0 -2
- package/dist/components/toggle-group/toggle-group.d.mts +0 -29
- package/dist/components/toggle-group/toggle-group.d.mts.map +0 -1
- package/dist/components/toggle-group/toggle-group.mjs +0 -18
- package/dist/components/toggle-group/toggle-group.mjs.map +0 -1
- package/dist/components/toggle-group/toggle-group.recipe.mjs +0 -190
- package/dist/components/toggle-group/toggle-group.recipe.mjs.map +0 -1
- package/dist/components/tooltip/index.d.mts +0 -2
- package/dist/components/tooltip/index.mjs +0 -2
- package/dist/components/tooltip/tooltip.d.mts +0 -66
- package/dist/components/tooltip/tooltip.d.mts.map +0 -1
- package/dist/components/tooltip/tooltip.mjs +0 -64
- package/dist/components/tooltip/tooltip.mjs.map +0 -1
- package/dist/components/tooltip/tooltip.recipe.mjs +0 -149
- package/dist/components/tooltip/tooltip.recipe.mjs.map +0 -1
- package/dist/components/tour/index.d.mts +0 -2
- package/dist/components/tour/index.mjs +0 -2
- package/dist/components/tour/tour.d.mts +0 -92
- package/dist/components/tour/tour.d.mts.map +0 -1
- package/dist/components/tour/tour.mjs +0 -89
- package/dist/components/tour/tour.mjs.map +0 -1
- package/dist/components/tour/tour.recipe.mjs +0 -164
- package/dist/components/tour/tour.recipe.mjs.map +0 -1
- package/dist/components/tree-view/index.d.mts +0 -2
- package/dist/components/tree-view/index.mjs +0 -2
- package/dist/components/tree-view/tree-view.d.mts +0 -108
- package/dist/components/tree-view/tree-view.d.mts.map +0 -1
- package/dist/components/tree-view/tree-view.mjs +0 -145
- package/dist/components/tree-view/tree-view.mjs.map +0 -1
- package/dist/components/tree-view/tree-view.recipe.mjs +0 -458
- package/dist/components/tree-view/tree-view.recipe.mjs.map +0 -1
- package/dist/icons/src/calendar.mjs +0 -13
- package/dist/icons/src/calendar.mjs.map +0 -1
- package/dist/icons/src/checkmark.mjs +0 -13
- package/dist/icons/src/checkmark.mjs.map +0 -1
- package/dist/icons/src/chevron-down.mjs +0 -13
- package/dist/icons/src/chevron-down.mjs.map +0 -1
- package/dist/icons/src/chevron-left.mjs +0 -13
- package/dist/icons/src/chevron-left.mjs.map +0 -1
- package/dist/icons/src/chevron-right.mjs +0 -13
- package/dist/icons/src/chevron-right.mjs.map +0 -1
- package/dist/icons/src/chevron-up.mjs +0 -13
- package/dist/icons/src/chevron-up.mjs.map +0 -1
- package/dist/icons/src/chevrons-left.mjs +0 -13
- package/dist/icons/src/chevrons-left.mjs.map +0 -1
- package/dist/icons/src/chevrons-right.mjs +0 -13
- package/dist/icons/src/chevrons-right.mjs.map +0 -1
- package/dist/icons/src/chevrons-up-down.mjs +0 -13
- package/dist/icons/src/chevrons-up-down.mjs.map +0 -1
- package/dist/icons/src/close.mjs +0 -13
- package/dist/icons/src/close.mjs.map +0 -1
- package/dist/icons/src/copy.mjs +0 -13
- package/dist/icons/src/copy.mjs.map +0 -1
- package/dist/icons/src/edit.mjs +0 -13
- package/dist/icons/src/edit.mjs.map +0 -1
- package/dist/icons/src/error.mjs +0 -13
- package/dist/icons/src/error.mjs.map +0 -1
- package/dist/icons/src/eyedropper.mjs +0 -13
- package/dist/icons/src/eyedropper.mjs.map +0 -1
- package/dist/icons/src/file.mjs +0 -13
- package/dist/icons/src/file.mjs.map +0 -1
- package/dist/icons/src/hide.mjs +0 -13
- package/dist/icons/src/hide.mjs.map +0 -1
- package/dist/icons/src/index.mjs +0 -58
- package/dist/icons/src/index.mjs.map +0 -1
- package/dist/icons/src/info.mjs +0 -13
- package/dist/icons/src/info.mjs.map +0 -1
- package/dist/icons/src/maximize.mjs +0 -13
- package/dist/icons/src/maximize.mjs.map +0 -1
- package/dist/icons/src/minus.mjs +0 -13
- package/dist/icons/src/minus.mjs.map +0 -1
- package/dist/icons/src/pause.mjs +0 -13
- package/dist/icons/src/pause.mjs.map +0 -1
- package/dist/icons/src/play.mjs +0 -13
- package/dist/icons/src/play.mjs.map +0 -1
- package/dist/icons/src/reset.mjs +0 -13
- package/dist/icons/src/reset.mjs.map +0 -1
- package/dist/icons/src/restore.mjs +0 -13
- package/dist/icons/src/restore.mjs.map +0 -1
- package/dist/icons/src/show.mjs +0 -13
- package/dist/icons/src/show.mjs.map +0 -1
- package/dist/icons/src/star.mjs +0 -13
- package/dist/icons/src/star.mjs.map +0 -1
- package/dist/icons/src/success.mjs +0 -2
- package/dist/icons/src/trash.mjs +0 -13
- package/dist/icons/src/trash.mjs.map +0 -1
- package/dist/icons/src/user.mjs +0 -13
- package/dist/icons/src/user.mjs.map +0 -1
- package/dist/icons/src/warning.mjs +0 -13
- package/dist/icons/src/warning.mjs.map +0 -1
- package/dist/index.d.mts +0 -139
- package/dist/index.mjs +0 -71
- package/dist/preset.d.mts +0 -2
- package/dist/preset.mjs +0 -2
- package/dist/provider/locale-context.mjs +0 -36
- package/dist/provider/locale-context.mjs.map +0 -1
- package/dist/provider/synapse-provider.d.mts +0 -17
- package/dist/provider/synapse-provider.d.mts.map +0 -1
- package/dist/provider/synapse-provider.mjs +0 -59
- package/dist/provider/synapse-provider.mjs.map +0 -1
- package/dist/provider/translations.d.mts +0 -179
- package/dist/provider/translations.d.mts.map +0 -1
- package/dist/provider/translations.mjs +0 -201
- package/dist/provider/translations.mjs.map +0 -1
- package/dist/provider/use-theme.d.mts +0 -7
- package/dist/provider/use-theme.d.mts.map +0 -1
- package/dist/provider/use-theme.mjs +0 -37
- package/dist/provider/use-theme.mjs.map +0 -1
- package/dist/react/styled-system/css/conditions.mjs +0 -29
- package/dist/react/styled-system/css/conditions.mjs.map +0 -1
- package/dist/react/styled-system/css/css.mjs +0 -39
- package/dist/react/styled-system/css/css.mjs.map +0 -1
- package/dist/react/styled-system/css/cva.mjs +0 -66
- package/dist/react/styled-system/css/cva.mjs.map +0 -1
- package/dist/react/styled-system/css/cx.mjs +0 -13
- package/dist/react/styled-system/css/cx.mjs.map +0 -1
- package/dist/react/styled-system/css/sva.mjs +0 -44
- package/dist/react/styled-system/css/sva.mjs.map +0 -1
- package/dist/react/styled-system/helpers.mjs +0 -231
- package/dist/react/styled-system/helpers.mjs.map +0 -1
- package/dist/shared/button-style.mjs +0 -10
- package/dist/shared/button-style.mjs.map +0 -1
- package/dist/shared/character-count.mjs +0 -29
- package/dist/shared/character-count.mjs.map +0 -1
- package/dist/shared/collection-internal.mjs +0 -24
- package/dist/shared/collection-internal.mjs.map +0 -1
- package/dist/shared/collection.d.mts +0 -120
- package/dist/shared/collection.d.mts.map +0 -1
- package/dist/shared/collection.mjs +0 -395
- package/dist/shared/collection.mjs.map +0 -1
- package/dist/shared/controller.d.mts +0 -4
- package/dist/shared/controller.d.mts.map +0 -1
- package/dist/shared/controller.mjs +0 -53
- package/dist/shared/controller.mjs.map +0 -1
- package/dist/shared/field-context.mjs +0 -47
- package/dist/shared/field-context.mjs.map +0 -1
- package/dist/shared/field-description.mjs +0 -13
- package/dist/shared/field-description.mjs.map +0 -1
- package/dist/shared/icon.mjs +0 -23
- package/dist/shared/icon.mjs.map +0 -1
- package/dist/shared/input-modality.mjs +0 -47
- package/dist/shared/input-modality.mjs.map +0 -1
- package/dist/shared/input-style.mjs +0 -10
- package/dist/shared/input-style.mjs.map +0 -1
- package/dist/shared/layering.d.mts +0 -17
- package/dist/shared/layering.d.mts.map +0 -1
- package/dist/shared/layering.mjs +0 -37
- package/dist/shared/layering.mjs.map +0 -1
- package/dist/shared/notification.d.mts +0 -10
- package/dist/shared/notification.d.mts.map +0 -1
- package/dist/shared/notification.mjs +0 -105
- package/dist/shared/notification.mjs.map +0 -1
- package/dist/shared/reduced-motion.mjs +0 -19
- package/dist/shared/reduced-motion.mjs.map +0 -1
- package/dist/shared/select-indicator.mjs +0 -40
- package/dist/shared/select-indicator.mjs.map +0 -1
- package/dist/shared/size-scale.d.mts +0 -6
- package/dist/shared/size-scale.d.mts.map +0 -1
- package/dist/shared/size-scale.mjs +0 -28
- package/dist/shared/size-scale.mjs.map +0 -1
- package/dist/shared/state-parts.mjs +0 -123
- package/dist/shared/state-parts.mjs.map +0 -1
- package/dist/shared/text-entry.mjs +0 -54
- package/dist/shared/text-entry.mjs.map +0 -1
- package/dist/styles.css +0 -6238
- package/dist/system/as-child.mjs +0 -42
- package/dist/system/as-child.mjs.map +0 -1
- package/dist/system/context.mjs +0 -54
- package/dist/system/context.mjs.map +0 -1
- package/dist/system/controlled.mjs +0 -45
- package/dist/system/controlled.mjs.map +0 -1
- package/dist/system/create-component.mjs +0 -285
- package/dist/system/create-component.mjs.map +0 -1
- package/dist/system/create-part.mjs +0 -123
- package/dist/system/create-part.mjs.map +0 -1
- package/dist/system/dev-warn.mjs +0 -13
- package/dist/system/dev-warn.mjs.map +0 -1
- package/dist/system/getters.mjs +0 -24
- package/dist/system/getters.mjs.map +0 -1
- package/dist/system/merge-props.d.mts +0 -5
- package/dist/system/merge-props.d.mts.map +0 -1
- package/dist/system/merge-props.mjs +0 -95
- package/dist/system/merge-props.mjs.map +0 -1
- package/dist/system/react-node.mjs +0 -17
- package/dist/system/react-node.mjs.map +0 -1
- package/dist/system/refs.mjs +0 -21
- package/dist/system/refs.mjs.map +0 -1
- package/dist/system/styled-component.mjs +0 -15
- package/dist/system/styled-component.mjs.map +0 -1
- package/dist/system/types.d.mts +0 -47
- package/dist/system/types.d.mts.map +0 -1
- package/dist/tokens/dist/preset.d.mts +0 -6
- package/dist/tokens/dist/preset.d.mts.map +0 -1
- package/dist/tokens/dist/preset.mjs +0 -997
- package/dist/tokens/dist/preset.mjs.map +0 -1
- package/skills/components/accordion/SKILL.md +0 -138
- package/skills/components/alert/SKILL.md +0 -126
- package/skills/components/angle-slider/SKILL.md +0 -155
- package/skills/components/avatar/SKILL.md +0 -123
- package/skills/components/badge/SKILL.md +0 -117
- package/skills/components/breadcrumb/SKILL.md +0 -128
- package/skills/components/button/SKILL.md +0 -122
- package/skills/components/card/SKILL.md +0 -126
- package/skills/components/carousel/SKILL.md +0 -176
- package/skills/components/cascade-select/SKILL.md +0 -206
- package/skills/components/checkbox/SKILL.md +0 -149
- package/skills/components/clipboard/SKILL.md +0 -139
- package/skills/components/collapsible/SKILL.md +0 -130
- package/skills/components/color-picker/SKILL.md +0 -216
- package/skills/components/combobox/SKILL.md +0 -218
- package/skills/components/date-input/SKILL.md +0 -157
- package/skills/components/date-picker/SKILL.md +0 -235
- package/skills/components/dialog/SKILL.md +0 -159
- package/skills/components/drawer/SKILL.md +0 -192
- package/skills/components/editable/SKILL.md +0 -162
- package/skills/components/empty-state/SKILL.md +0 -125
- package/skills/components/field/SKILL.md +0 -133
- package/skills/components/fieldset/SKILL.md +0 -123
- package/skills/components/file-upload/SKILL.md +0 -184
- package/skills/components/floating-panel/SKILL.md +0 -206
- package/skills/components/hover-card/SKILL.md +0 -173
- package/skills/components/image-cropper/SKILL.md +0 -158
- package/skills/components/input/SKILL.md +0 -131
- package/skills/components/kbd/SKILL.md +0 -116
- package/skills/components/listbox/SKILL.md +0 -172
- package/skills/components/marquee/SKILL.md +0 -151
- package/skills/components/menu/SKILL.md +0 -202
- package/skills/components/navigation-menu/SKILL.md +0 -172
- package/skills/components/number-input/SKILL.md +0 -177
- package/skills/components/pagination/SKILL.md +0 -159
- package/skills/components/password-input/SKILL.md +0 -156
- package/skills/components/pin-input/SKILL.md +0 -157
- package/skills/components/popover/SKILL.md +0 -166
- package/skills/components/progress/SKILL.md +0 -144
- package/skills/components/qr-code/SKILL.md +0 -132
- package/skills/components/radio-group/SKILL.md +0 -153
- package/skills/components/rating-group/SKILL.md +0 -151
- package/skills/components/scroll-area/SKILL.md +0 -149
- package/skills/components/select/SKILL.md +0 -202
- package/skills/components/separator/SKILL.md +0 -114
- package/skills/components/signature-pad/SKILL.md +0 -161
- package/skills/components/skeleton/SKILL.md +0 -114
- package/skills/components/slider/SKILL.md +0 -178
- package/skills/components/snackbar/SKILL.md +0 -154
- package/skills/components/spinner/SKILL.md +0 -122
- package/skills/components/splitter/SKILL.md +0 -136
- package/skills/components/steps/SKILL.md +0 -150
- package/skills/components/switch/SKILL.md +0 -144
- package/skills/components/table/SKILL.md +0 -144
- package/skills/components/tabs/SKILL.md +0 -138
- package/skills/components/tags-input/SKILL.md +0 -194
- package/skills/components/textarea/SKILL.md +0 -131
- package/skills/components/timer/SKILL.md +0 -142
- package/skills/components/toast/SKILL.md +0 -129
- package/skills/components/toc/SKILL.md +0 -141
- package/skills/components/toggle/SKILL.md +0 -125
- package/skills/components/toggle-group/SKILL.md +0 -129
- package/skills/components/tooltip/SKILL.md +0 -188
- package/skills/components/tour/SKILL.md +0 -158
- package/skills/components/tree-view/SKILL.md +0 -180
- package/skills/synapse/SKILL.md +0 -301
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { sva } from "../../react/styled-system/css/sva.mjs";
|
|
2
|
-
//#region src/components/toast/toast.recipe.ts
|
|
3
|
-
const toastRecipe = sva({
|
|
4
|
-
slots: [
|
|
5
|
-
"group",
|
|
6
|
-
"root",
|
|
7
|
-
"title",
|
|
8
|
-
"description",
|
|
9
|
-
"actionTrigger",
|
|
10
|
-
"closeTrigger"
|
|
11
|
-
],
|
|
12
|
-
base: {
|
|
13
|
-
group: {
|
|
14
|
-
display: "flex",
|
|
15
|
-
flexDirection: "column",
|
|
16
|
-
gap: "gap.related",
|
|
17
|
-
zIndex: "calc(var(--synapse-layer-base, 1000) + 1000)",
|
|
18
|
-
width: "notification.toastMax",
|
|
19
|
-
"--toast-group-max-width": "calc(100vw - var(--viewport-offset-left) - var(--viewport-offset-right))",
|
|
20
|
-
maxWidth: "var(--toast-group-max-width)",
|
|
21
|
-
listStyle: "none",
|
|
22
|
-
margin: "inset.none",
|
|
23
|
-
padding: "inset.none",
|
|
24
|
-
"&[data-align=\"center\"]": { marginInline: "auto" }
|
|
25
|
-
},
|
|
26
|
-
root: {
|
|
27
|
-
translate: "var(--x) var(--y)",
|
|
28
|
-
scale: "var(--scale, 1)",
|
|
29
|
-
height: "var(--height)",
|
|
30
|
-
opacity: "var(--opacity)",
|
|
31
|
-
"--toast-motion-properties": "translate, scale, opacity, height, box-shadow",
|
|
32
|
-
transitionProperty: "var(--toast-motion-properties)",
|
|
33
|
-
transitionDuration: "reveal",
|
|
34
|
-
transitionTimingFunction: "enter",
|
|
35
|
-
_closed: {
|
|
36
|
-
transitionDuration: "interaction",
|
|
37
|
-
transitionTimingFunction: "exit"
|
|
38
|
-
},
|
|
39
|
-
display: "flex",
|
|
40
|
-
alignItems: "flex-start",
|
|
41
|
-
gap: "rhythm.tight",
|
|
42
|
-
"--toast-width": "fit-content",
|
|
43
|
-
width: "var(--toast-width)",
|
|
44
|
-
maxWidth: "fill",
|
|
45
|
-
paddingBlock: "inset.control",
|
|
46
|
-
paddingInline: "inset.overlay",
|
|
47
|
-
rounded: "overlay",
|
|
48
|
-
bg: "background.inverse",
|
|
49
|
-
color: "foreground.onEmphasis",
|
|
50
|
-
boxShadow: "overlay",
|
|
51
|
-
outlineColor: "border.focus",
|
|
52
|
-
_focusVisible: {
|
|
53
|
-
outlineStyle: "solid",
|
|
54
|
-
outlineWidth: "focus",
|
|
55
|
-
outlineOffset: "inset.compact",
|
|
56
|
-
outlineColor: "border.focus"
|
|
57
|
-
},
|
|
58
|
-
"&[data-type=\"success\"] [data-part=\"title\"] svg": { color: "success.onInverse" },
|
|
59
|
-
"&[data-type=\"error\"] [data-part=\"title\"] svg": { color: "error.onInverse" },
|
|
60
|
-
"&[data-type=\"warning\"] [data-part=\"title\"] svg": { color: "warning.onInverse" },
|
|
61
|
-
"&[data-type=\"info\"] [data-part=\"title\"] svg": { display: "none" }
|
|
62
|
-
},
|
|
63
|
-
title: {
|
|
64
|
-
display: "flex",
|
|
65
|
-
alignItems: "flex-start",
|
|
66
|
-
gap: "gap.related",
|
|
67
|
-
"--toast-title-inset": "max(token(spacing.inset.none), calc((token(sizes.target.minimum) - 1lh) / 2))",
|
|
68
|
-
"--toast-icon-nudge": "calc((1lh - token(sizes.icon.sm)) / 2)",
|
|
69
|
-
paddingBlock: "var(--toast-title-inset)",
|
|
70
|
-
"& svg": {
|
|
71
|
-
width: "icon.sm",
|
|
72
|
-
height: "icon.sm",
|
|
73
|
-
flexShrink: 0,
|
|
74
|
-
marginBlockStart: "var(--toast-icon-nudge)"
|
|
75
|
-
},
|
|
76
|
-
textStyle: "body",
|
|
77
|
-
color: "foreground.onEmphasis",
|
|
78
|
-
margin: "inset.none",
|
|
79
|
-
overflowWrap: "anywhere"
|
|
80
|
-
},
|
|
81
|
-
description: {},
|
|
82
|
-
actionTrigger: {},
|
|
83
|
-
closeTrigger: {
|
|
84
|
-
display: "inline-flex",
|
|
85
|
-
alignItems: "center",
|
|
86
|
-
justifyContent: "center",
|
|
87
|
-
flexShrink: 0,
|
|
88
|
-
minWidth: "target.minimum",
|
|
89
|
-
minHeight: "target.minimum",
|
|
90
|
-
rounded: "control",
|
|
91
|
-
color: "foreground.onEmphasis",
|
|
92
|
-
cursor: "pointer",
|
|
93
|
-
transitionProperty: "common",
|
|
94
|
-
transitionDuration: "interaction",
|
|
95
|
-
transitionTimingFunction: "interaction",
|
|
96
|
-
outlineColor: "border.focusOnInverse",
|
|
97
|
-
"& svg": {
|
|
98
|
-
width: "icon.sm",
|
|
99
|
-
height: "icon.sm"
|
|
100
|
-
},
|
|
101
|
-
"&:not(:disabled, [data-disabled]):hover": {
|
|
102
|
-
bg: "foreground.onEmphasis",
|
|
103
|
-
color: "background.inverse"
|
|
104
|
-
},
|
|
105
|
-
"&:not(:disabled, [data-disabled]):active": {
|
|
106
|
-
bg: "foreground.onEmphasis",
|
|
107
|
-
color: "background.inverse",
|
|
108
|
-
transform: "scale(0.96)"
|
|
109
|
-
},
|
|
110
|
-
_focusVisible: {
|
|
111
|
-
outlineWidth: "focus",
|
|
112
|
-
outlineStyle: "solid",
|
|
113
|
-
outlineColor: "border.focusOnInverse",
|
|
114
|
-
outlineOffset: "inset.compact"
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
|
-
variants: { size: {
|
|
119
|
-
xs: {
|
|
120
|
-
root: {
|
|
121
|
-
paddingBlock: "inset.none",
|
|
122
|
-
paddingInline: "inset.control",
|
|
123
|
-
gap: "inset.control"
|
|
124
|
-
},
|
|
125
|
-
title: { textStyle: "detail" },
|
|
126
|
-
closeTrigger: { "& svg": {
|
|
127
|
-
width: "icon.xs",
|
|
128
|
-
height: "icon.xs"
|
|
129
|
-
} }
|
|
130
|
-
},
|
|
131
|
-
sm: {
|
|
132
|
-
root: {
|
|
133
|
-
paddingBlock: "inset.compact",
|
|
134
|
-
paddingInline: "inset.overlay"
|
|
135
|
-
},
|
|
136
|
-
title: { textStyle: "detail" },
|
|
137
|
-
closeTrigger: { "& svg": {
|
|
138
|
-
width: "icon.xs",
|
|
139
|
-
height: "icon.xs"
|
|
140
|
-
} }
|
|
141
|
-
},
|
|
142
|
-
md: {},
|
|
143
|
-
lg: {
|
|
144
|
-
root: {
|
|
145
|
-
paddingBlock: "inset.overlay",
|
|
146
|
-
paddingInline: "inset.surface"
|
|
147
|
-
},
|
|
148
|
-
title: { textStyle: "label" },
|
|
149
|
-
closeTrigger: { "& svg": {
|
|
150
|
-
width: "icon.md",
|
|
151
|
-
height: "icon.md"
|
|
152
|
-
} }
|
|
153
|
-
},
|
|
154
|
-
xl: {
|
|
155
|
-
root: {
|
|
156
|
-
paddingBlock: "inset.surface",
|
|
157
|
-
paddingInline: "inset.surface",
|
|
158
|
-
gap: "inset.surface"
|
|
159
|
-
},
|
|
160
|
-
title: { textStyle: "subtitle" },
|
|
161
|
-
closeTrigger: { "& svg": {
|
|
162
|
-
width: "icon.lg",
|
|
163
|
-
height: "icon.lg"
|
|
164
|
-
} }
|
|
165
|
-
}
|
|
166
|
-
} },
|
|
167
|
-
defaultVariants: { size: "md" }
|
|
168
|
-
});
|
|
169
|
-
//#endregion
|
|
170
|
-
export { toastRecipe };
|
|
171
|
-
|
|
172
|
-
//# sourceMappingURL=toast.recipe.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toast.recipe.mjs","names":[],"sources":["../../../src/components/toast/toast.recipe.ts"],"sourcesContent":["import { sva } from '#styled-system/css/index.js'\n\nexport const toastRecipe = sva({\n slots: ['group', 'root', 'title', 'description', 'actionTrigger', 'closeTrigger'],\n base: {\n group: {\n display: 'flex',\n flexDirection: 'column',\n gap: 'gap.related',\n zIndex: 'calc(var(--synapse-layer-base, 1000) + 1000)',\n width: 'notification.toastMax',\n '--toast-group-max-width':\n 'calc(100vw - var(--viewport-offset-left) - var(--viewport-offset-right))',\n maxWidth: 'var(--toast-group-max-width)',\n listStyle: 'none',\n margin: 'inset.none',\n padding: 'inset.none',\n '&[data-align=\"center\"]': { marginInline: 'auto' },\n },\n root: {\n translate: 'var(--x) var(--y)',\n scale: 'var(--scale, 1)',\n height: 'var(--height)',\n opacity: 'var(--opacity)',\n '--toast-motion-properties': 'translate, scale, opacity, height, box-shadow',\n transitionProperty: 'var(--toast-motion-properties)',\n transitionDuration: 'reveal',\n transitionTimingFunction: 'enter',\n _closed: {\n transitionDuration: 'interaction',\n transitionTimingFunction: 'exit',\n },\n display: 'flex',\n alignItems: 'flex-start',\n gap: 'rhythm.tight',\n '--toast-width': 'fit-content',\n width: 'var(--toast-width)',\n maxWidth: 'fill',\n paddingBlock: 'inset.control',\n paddingInline: 'inset.overlay',\n rounded: 'overlay',\n bg: 'background.inverse',\n color: 'foreground.onEmphasis',\n boxShadow: 'overlay',\n outlineColor: 'border.focus',\n _focusVisible: {\n outlineStyle: 'solid',\n outlineWidth: 'focus',\n outlineOffset: 'inset.compact',\n outlineColor: 'border.focus',\n },\n '&[data-type=\"success\"] [data-part=\"title\"] svg': { color: 'success.onInverse' },\n '&[data-type=\"error\"] [data-part=\"title\"] svg': { color: 'error.onInverse' },\n '&[data-type=\"warning\"] [data-part=\"title\"] svg': { color: 'warning.onInverse' },\n '&[data-type=\"info\"] [data-part=\"title\"] svg': { display: 'none' },\n },\n title: {\n display: 'flex',\n alignItems: 'flex-start',\n gap: 'gap.related',\n '--toast-title-inset':\n 'max(token(spacing.inset.none), calc((token(sizes.target.minimum) - 1lh) / 2))',\n '--toast-icon-nudge': 'calc((1lh - token(sizes.icon.sm)) / 2)',\n paddingBlock: 'var(--toast-title-inset)',\n '& svg': {\n width: 'icon.sm',\n height: 'icon.sm',\n flexShrink: 0,\n marginBlockStart: 'var(--toast-icon-nudge)',\n },\n textStyle: 'body',\n color: 'foreground.onEmphasis',\n margin: 'inset.none',\n overflowWrap: 'anywhere',\n },\n description: {},\n actionTrigger: {},\n closeTrigger: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n minWidth: 'target.minimum',\n minHeight: 'target.minimum',\n rounded: 'control',\n color: 'foreground.onEmphasis',\n cursor: 'pointer',\n transitionProperty: 'common',\n transitionDuration: 'interaction',\n transitionTimingFunction: 'interaction',\n outlineColor: 'border.focusOnInverse',\n '& svg': { width: 'icon.sm', height: 'icon.sm' },\n '&:not(:disabled, [data-disabled]):hover': {\n bg: 'foreground.onEmphasis',\n color: 'background.inverse',\n },\n '&:not(:disabled, [data-disabled]):active': {\n bg: 'foreground.onEmphasis',\n color: 'background.inverse',\n transform: 'scale(0.96)',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'border.focusOnInverse',\n outlineOffset: 'inset.compact',\n },\n },\n },\n variants: {\n size: {\n xs: {\n root: { paddingBlock: 'inset.none', paddingInline: 'inset.control', gap: 'inset.control' },\n title: { textStyle: 'detail' },\n closeTrigger: { '& svg': { width: 'icon.xs', height: 'icon.xs' } },\n },\n sm: {\n root: { paddingBlock: 'inset.compact', paddingInline: 'inset.overlay' },\n title: { textStyle: 'detail' },\n closeTrigger: { '& svg': { width: 'icon.xs', height: 'icon.xs' } },\n },\n md: {},\n lg: {\n root: { paddingBlock: 'inset.overlay', paddingInline: 'inset.surface' },\n title: { textStyle: 'label' },\n closeTrigger: { '& svg': { width: 'icon.md', height: 'icon.md' } },\n },\n xl: {\n root: {\n paddingBlock: 'inset.surface',\n paddingInline: 'inset.surface',\n gap: 'inset.surface',\n },\n title: { textStyle: 'subtitle' },\n closeTrigger: { '& svg': { width: 'icon.lg', height: 'icon.lg' } },\n },\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n"],"mappings":";;AAEA,MAAa,cAAc,IAAI;CAC7B,OAAO;EAAC;EAAS;EAAQ;EAAS;EAAe;EAAiB;CAAc;CAChF,MAAM;EACJ,OAAO;GACL,SAAS;GACT,eAAe;GACf,KAAK;GACL,QAAQ;GACR,OAAO;GACP,2BACE;GACF,UAAU;GACV,WAAW;GACX,QAAQ;GACR,SAAS;GACT,4BAA0B,EAAE,cAAc,OAAO;EACnD;EACA,MAAM;GACJ,WAAW;GACX,OAAO;GACP,QAAQ;GACR,SAAS;GACT,6BAA6B;GAC7B,oBAAoB;GACpB,oBAAoB;GACpB,0BAA0B;GAC1B,SAAS;IACP,oBAAoB;IACpB,0BAA0B;GAC5B;GACA,SAAS;GACT,YAAY;GACZ,KAAK;GACL,iBAAiB;GACjB,OAAO;GACP,UAAU;GACV,cAAc;GACd,eAAe;GACf,SAAS;GACT,IAAI;GACJ,OAAO;GACP,WAAW;GACX,cAAc;GACd,eAAe;IACb,cAAc;IACd,cAAc;IACd,eAAe;IACf,cAAc;GAChB;GACA,sDAAkD,EAAE,OAAO,oBAAoB;GAC/E,oDAAgD,EAAE,OAAO,kBAAkB;GAC3E,sDAAkD,EAAE,OAAO,oBAAoB;GAC/E,mDAA+C,EAAE,SAAS,OAAO;EACnE;EACA,OAAO;GACL,SAAS;GACT,YAAY;GACZ,KAAK;GACL,uBACE;GACF,sBAAsB;GACtB,cAAc;GACd,SAAS;IACP,OAAO;IACP,QAAQ;IACR,YAAY;IACZ,kBAAkB;GACpB;GACA,WAAW;GACX,OAAO;GACP,QAAQ;GACR,cAAc;EAChB;EACA,aAAa,CAAC;EACd,eAAe,CAAC;EAChB,cAAc;GACZ,SAAS;GACT,YAAY;GACZ,gBAAgB;GAChB,YAAY;GACZ,UAAU;GACV,WAAW;GACX,SAAS;GACT,OAAO;GACP,QAAQ;GACR,oBAAoB;GACpB,oBAAoB;GACpB,0BAA0B;GAC1B,cAAc;GACd,SAAS;IAAE,OAAO;IAAW,QAAQ;GAAU;GAC/C,2CAA2C;IACzC,IAAI;IACJ,OAAO;GACT;GACA,4CAA4C;IAC1C,IAAI;IACJ,OAAO;IACP,WAAW;GACb;GACA,eAAe;IACb,cAAc;IACd,cAAc;IACd,cAAc;IACd,eAAe;GACjB;EACF;CACF;CACA,UAAU,EACR,MAAM;EACJ,IAAI;GACF,MAAM;IAAE,cAAc;IAAc,eAAe;IAAiB,KAAK;GAAgB;GACzF,OAAO,EAAE,WAAW,SAAS;GAC7B,cAAc,EAAE,SAAS;IAAE,OAAO;IAAW,QAAQ;GAAU,EAAE;EACnE;EACA,IAAI;GACF,MAAM;IAAE,cAAc;IAAiB,eAAe;GAAgB;GACtE,OAAO,EAAE,WAAW,SAAS;GAC7B,cAAc,EAAE,SAAS;IAAE,OAAO;IAAW,QAAQ;GAAU,EAAE;EACnE;EACA,IAAI,CAAC;EACL,IAAI;GACF,MAAM;IAAE,cAAc;IAAiB,eAAe;GAAgB;GACtE,OAAO,EAAE,WAAW,QAAQ;GAC5B,cAAc,EAAE,SAAS;IAAE,OAAO;IAAW,QAAQ;GAAU,EAAE;EACnE;EACA,IAAI;GACF,MAAM;IACJ,cAAc;IACd,eAAe;IACf,KAAK;GACP;GACA,OAAO,EAAE,WAAW,WAAW;GAC/B,cAAc,EAAE,SAAS;IAAE,OAAO;IAAW,QAAQ;GAAU,EAAE;EACnE;CACF,EACF;CACA,iBAAiB,EACf,MAAM,KACR;AACF,CAAC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { SynapseComponent } from "../../system/types.mjs";
|
|
2
|
-
import { ValueChangeDetails } from "../details.mjs";
|
|
3
|
-
import { Size } from "../../shared/size-scale.mjs";
|
|
4
|
-
//#region src/components/toc/toc.d.ts
|
|
5
|
-
export interface TocEntry {
|
|
6
|
-
value: string;
|
|
7
|
-
depth: number;
|
|
8
|
-
}
|
|
9
|
-
export type TocScrollBehavior = 'auto' | 'instant' | 'smooth';
|
|
10
|
-
export interface TocRootProps {
|
|
11
|
-
/**
|
|
12
|
-
* 모든 제목을 문서 순서대로 담습니다.
|
|
13
|
-
*
|
|
14
|
-
* 필수입니다. 내용이 없는 목차는 이 컴포넌트가 가질 수 있는 상태가 아니라, 애초에 렌더하지
|
|
15
|
-
* 말았어야 할 컴포넌트입니다.
|
|
16
|
-
*/
|
|
17
|
-
items: readonly TocEntry[];
|
|
18
|
-
/** 지금 화면에 보이는 제목들이며 제어 모드입니다. */
|
|
19
|
-
value?: readonly string[];
|
|
20
|
-
/** 비제어 모드의 초기 활성 집합. `value`를 주면 무시됩니다. */
|
|
21
|
-
defaultValue?: readonly string[];
|
|
22
|
-
/** 제어 여부와 무관하게 활성 집합이 바뀔 때마다 호출됩니다. */
|
|
23
|
-
onValueChange?: (details: ValueChangeDetails<readonly string[]>) => void;
|
|
24
|
-
/**
|
|
25
|
-
* 옵저버의 루트 마진. 무엇까지를 화면 안으로 칠지 정합니다.
|
|
26
|
-
*
|
|
27
|
-
* CSS 마진 문자열이며 기본값은 `"-20px 0px -40% 0px"`입니다. 활성 제목을 뷰포트 위쪽으로
|
|
28
|
-
* 치우치게 잡아서, 긴 섹션의 중간쯤을 읽고 있는 사람이 다음 섹션이 아니라 지금 그 섹션이 표시된
|
|
29
|
-
* 것을 보게 합니다.
|
|
30
|
-
*/
|
|
31
|
-
rootMargin?: string;
|
|
32
|
-
/** 제목이 얼마나 보여야 하는지 정합니다. `0`이면 1픽셀만 보여도 됩니다. */
|
|
33
|
-
threshold?: number | readonly number[];
|
|
34
|
-
/** 관찰의 기준이 될 스크롤 컨테이너. 기본값은 문서입니다. */
|
|
35
|
-
scrollEl?: () => HTMLElement | null;
|
|
36
|
-
/** 활성 엔트리를 Toc 자체의 스크롤 박스 안에 계속 보이게 합니다. 기본값은 true입니다. */
|
|
37
|
-
autoScroll?: boolean;
|
|
38
|
-
/** 엔트리를 따라갈 때 페이지가 움직이는 방식. 기본값은 `smooth`이며, 동작 줄이기 설정에서는 `smooth`가 `instant`로 바뀝니다. */
|
|
39
|
-
scrollBehavior?: TocScrollBehavior;
|
|
40
|
-
/** 하나뿐인 공용 척도를 따릅니다. 모든 컴포넌트와 마찬가지로 기본값은 `md`입니다. */
|
|
41
|
-
size?: Size;
|
|
42
|
-
/** 팩토리가 만드는 식별자를 덮어씁니다. 서버와 클라이언트에서 같은 값으로 유지됩니다. */
|
|
43
|
-
id?: string;
|
|
44
|
-
}
|
|
45
|
-
export declare const Toc: SynapseComponent<"indicator" | "item" | "link" | "list" | "root" | "title", "root", TocRootProps, never>;
|
|
46
|
-
//#endregion
|
|
47
|
-
//# sourceMappingURL=toc.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toc.d.mts","names":[],"sources":["../../../src/components/toc/toc.tsx"],"mappings":";;;;iBAWiB;EACf;EACA;;YAGU;iBAEK;;;;;;;EAOf,gBAAgB;;EAEhB;;EAEA;;EAEA,iBAAiB,SAAS;;;;;;;;EAQ1B;;EAEA;;EAEA,iBAAiB;;EAEjB;;EAEA,iBAAiB;;EAEjB,OAAO;;EAEP;;qBAoQW,KAAG,oFAAA"}
|
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { resolveSize } from "../../shared/size-scale.mjs";
|
|
3
|
-
import { defineComponent } from "../../system/create-component.mjs";
|
|
4
|
-
import { tocRecipe } from "./toc.recipe.mjs";
|
|
5
|
-
import { useReducedMotion } from "../../shared/reduced-motion.mjs";
|
|
6
|
-
import { createElement, useLayoutEffect, useRef, useState } from "react";
|
|
7
|
-
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
-
import * as toc from "@zag-js/toc";
|
|
9
|
-
//#region src/components/toc/toc.tsx
|
|
10
|
-
const toMachineProps = (props) => ({
|
|
11
|
-
...props.value === void 0 ? {} : { activeIds: props.value },
|
|
12
|
-
...props.defaultValue === void 0 ? {} : { defaultActiveIds: props.defaultValue },
|
|
13
|
-
...props.onValueChange === void 0 ? {} : { onActiveChange: (details) => props.onValueChange?.({ value: details.activeIds }) }
|
|
14
|
-
});
|
|
15
|
-
const useMachineProps = (props) => {
|
|
16
|
-
const reducedMotion = useReducedMotion();
|
|
17
|
-
const smooth = (props.scrollBehavior ?? "smooth") === "smooth";
|
|
18
|
-
return {
|
|
19
|
-
...toMachineProps(props),
|
|
20
|
-
...reducedMotion && smooth ? { scrollBehavior: "instant" } : {}
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
/** 토큰이 풀린 길이 값(px 또는 rem)을 px로 바꿉니다. */
|
|
24
|
-
const pixelsOf = (value) => {
|
|
25
|
-
const amount = Number.parseFloat(value);
|
|
26
|
-
if (Number.isNaN(amount)) return 0;
|
|
27
|
-
if (!value.trim().endsWith("rem")) return amount;
|
|
28
|
-
return amount * (Number.parseFloat(getComputedStyle(document.documentElement).fontSize) || 0);
|
|
29
|
-
};
|
|
30
|
-
const strokeOf = (element) => element === null ? 0 : Number.parseFloat(getComputedStyle(element).strokeWidth) || 0;
|
|
31
|
-
/** 항목 글자의 세로 범위. 여러 줄이면 첫 줄 위부터 마지막 줄 아래까지입니다. */
|
|
32
|
-
const textExtent = (item, fallback) => {
|
|
33
|
-
const range = item.ownerDocument.createRange();
|
|
34
|
-
range.selectNodeContents(item.querySelector("[data-part=\"link\"]") ?? item);
|
|
35
|
-
const lines = [...range.getClientRects()].filter((rect) => rect.width > 0 && rect.height > 0);
|
|
36
|
-
if (lines.length === 0) return {
|
|
37
|
-
top: fallback.top,
|
|
38
|
-
bottom: fallback.bottom
|
|
39
|
-
};
|
|
40
|
-
return {
|
|
41
|
-
top: Math.min(...lines.map((rect) => rect.top)),
|
|
42
|
-
bottom: Math.max(...lines.map((rect) => rect.bottom))
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* 항목마다 들여쓴 자리의 인라인 시작 가장자리와 글자의 세로 범위를 목록 박스 기준으로 잽니다.
|
|
47
|
-
* 브라우저는 SVG의 원점을 기기 픽셀에 맞춰 그리므로, 세로 구간이 번지지 않도록 이 가장자리도
|
|
48
|
-
* 원점 기준의 기기 픽셀에 맞춥니다.
|
|
49
|
-
*/
|
|
50
|
-
const measureTrack = (list, rail, active) => {
|
|
51
|
-
const box = list.getBoundingClientRect();
|
|
52
|
-
const rtl = getComputedStyle(list).direction === "rtl";
|
|
53
|
-
const ratio = window.devicePixelRatio || 1;
|
|
54
|
-
const snap = (value) => Math.round(value * ratio) / ratio;
|
|
55
|
-
const rows = [...list.querySelectorAll(":scope > [data-part=\"item\"]")].flatMap((item) => {
|
|
56
|
-
const rect = item.getBoundingClientRect();
|
|
57
|
-
if (rect.height === 0) return [];
|
|
58
|
-
const inset = Number.parseFloat(getComputedStyle(item).paddingInlineStart) || 0;
|
|
59
|
-
const edge = rtl ? snap(rect.right - inset - box.left) : snap(rect.left + inset - box.left);
|
|
60
|
-
const text = textExtent(item, rect);
|
|
61
|
-
return [{
|
|
62
|
-
value: item.getAttribute("data-value"),
|
|
63
|
-
start: edge,
|
|
64
|
-
top: rect.top - box.top,
|
|
65
|
-
bottom: rect.bottom - box.top,
|
|
66
|
-
textTop: text.top - box.top,
|
|
67
|
-
textBottom: text.bottom - box.top
|
|
68
|
-
}];
|
|
69
|
-
});
|
|
70
|
-
return {
|
|
71
|
-
width: box.width,
|
|
72
|
-
height: box.height,
|
|
73
|
-
rtl,
|
|
74
|
-
rows,
|
|
75
|
-
clearance: pixelsOf(getComputedStyle(list).getPropertyValue("--toc-bend-clearance")),
|
|
76
|
-
railStroke: strokeOf(rail),
|
|
77
|
-
activeStroke: strokeOf(active)
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
const sameTrack = (a, b) => a !== null && JSON.stringify(a) === JSON.stringify(b);
|
|
81
|
-
const round = (value) => String(Math.round(value * 100) / 100);
|
|
82
|
-
/**
|
|
83
|
-
* 꺾임의 세로 범위. 위 항목 글자의 아래와 아래 항목 글자의 위에서 각각 `--toc-bend-clearance`만큼
|
|
84
|
-
* 떨어진 틈 안에만 놓여서, 사선이 글자 옆을 지나거나 글자에 붙지 않습니다. 틈이 들여쓰기 폭보다
|
|
85
|
-
* 넓으면 그 가운데에 45도로 꺾고, 좁으면 틈 전체를 씁니다. 그 틈은 모든 항목 사이에 똑같이 둔 목록의
|
|
86
|
-
* 행 간격이 만듭니다.
|
|
87
|
-
*/
|
|
88
|
-
const bendBetween = (upper, lower, run, clearance) => {
|
|
89
|
-
const from = upper.textBottom + clearance;
|
|
90
|
-
const to = lower.textTop - clearance;
|
|
91
|
-
const room = to - from;
|
|
92
|
-
if (room <= 0) {
|
|
93
|
-
const middle = (upper.textBottom + lower.textTop) / 2;
|
|
94
|
-
return [middle, middle];
|
|
95
|
-
}
|
|
96
|
-
if (room <= run) return [from, to];
|
|
97
|
-
const offset = (room - run) / 2;
|
|
98
|
-
return [from + offset, to - offset];
|
|
99
|
-
};
|
|
100
|
-
/**
|
|
101
|
-
* 모든 항목을 잇는 하나의 경로입니다. 항목마다 들여쓴 자리에 세로로 긋고, 깊이가 바뀌는 곳은
|
|
102
|
-
* 두 항목의 글자 사이에서 사선으로 잇습니다. 한 경로라서 이음매에 겹침이나 틈이 없습니다. 선의 시작
|
|
103
|
-
* 가장자리가 들여쓰기 자리에 오도록 획 두께의 절반만큼 안쪽으로 옮깁니다.
|
|
104
|
-
*/
|
|
105
|
-
const trackPath = (track, stroke) => {
|
|
106
|
-
const xs = track.rows.map((row) => round(track.rtl ? row.start - stroke / 2 : row.start + stroke / 2));
|
|
107
|
-
const first = track.rows[0];
|
|
108
|
-
if (first === void 0) return "";
|
|
109
|
-
let path = `M${xs[0] ?? 0} ${round(first.top)}`;
|
|
110
|
-
track.rows.forEach((row, index) => {
|
|
111
|
-
const x = xs[index] ?? "0";
|
|
112
|
-
const next = track.rows[index + 1];
|
|
113
|
-
const nextX = xs[index + 1] ?? x;
|
|
114
|
-
if (next === void 0) {
|
|
115
|
-
path += `L${x} ${round(row.bottom)}`;
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
if (nextX === x) return;
|
|
119
|
-
const [from, to] = bendBetween(row, next, Math.abs(Number(nextX) - Number(x)), track.clearance);
|
|
120
|
-
path += `L${x} ${round(from)}L${nextX} ${round(to)}`;
|
|
121
|
-
});
|
|
122
|
-
return path;
|
|
123
|
-
};
|
|
124
|
-
/**
|
|
125
|
-
* 활성 표시가 보이는 세로 범위입니다. 첫 활성 항목의 세로 구간이 시작하는 곳(들어오는 꺾임이
|
|
126
|
-
* 끝나는 곳, 없으면 항목의 위)부터 마지막 활성 항목의 세로 구간이 끝나는 곳(나가는 꺾임이
|
|
127
|
-
* 시작하는 곳, 없으면 항목의 아래)까지입니다. 그래서 꺾임은 두 활성 항목 사이에 있을 때만, 그리고
|
|
128
|
-
* 언제나 통째로 강조됩니다.
|
|
129
|
-
*/
|
|
130
|
-
const activeRange = (track, active) => {
|
|
131
|
-
const rows = track.rows;
|
|
132
|
-
const firstIndex = rows.findIndex((row) => row.value !== null && active.includes(row.value));
|
|
133
|
-
if (firstIndex < 0) return null;
|
|
134
|
-
const lastIndex = rows.findLastIndex((row) => row.value !== null && active.includes(row.value));
|
|
135
|
-
const first = rows[firstIndex];
|
|
136
|
-
const last = rows[lastIndex];
|
|
137
|
-
if (first === void 0 || last === void 0) return null;
|
|
138
|
-
const previous = rows[firstIndex - 1];
|
|
139
|
-
const next = rows[lastIndex + 1];
|
|
140
|
-
const top = previous !== void 0 && previous.start !== first.start ? bendBetween(previous, first, Math.abs(first.start - previous.start), track.clearance)[1] : first.top;
|
|
141
|
-
const bottom = next !== void 0 && next.start !== last.start ? bendBetween(last, next, Math.abs(next.start - last.start), track.clearance)[0] : last.bottom;
|
|
142
|
-
return {
|
|
143
|
-
"--toc-active-top": `${round(top)}px`,
|
|
144
|
-
"--toc-active-height": `${round(Math.max(bottom - top, 0))}px`
|
|
145
|
-
};
|
|
146
|
-
};
|
|
147
|
-
/**
|
|
148
|
-
* Indicator가 그리는 레일과 활성 표시입니다. 둘은 같은 경로이며, 활성 표시는 `activeRange`로만
|
|
149
|
-
* 잘라 보입니다. 경로는 하이드레이션 직후 첫 그리기 전에 재고, 재기 전에는 아무것도 그리지 않습니다.
|
|
150
|
-
* 곧은 선을 먼저 보였다가 꺾인 선으로 바꾸는 일이 없습니다.
|
|
151
|
-
*/
|
|
152
|
-
function TocTrack({ active }) {
|
|
153
|
-
const railRef = useRef(null);
|
|
154
|
-
const activeRef = useRef(null);
|
|
155
|
-
const [track, setTrack] = useState(null);
|
|
156
|
-
useLayoutEffect(() => {
|
|
157
|
-
const list = railRef.current?.parentElement?.parentElement?.querySelector(":scope > [data-scope=\"toc\"][data-part=\"list\"]");
|
|
158
|
-
if (!(list instanceof HTMLElement)) return void 0;
|
|
159
|
-
let live = true;
|
|
160
|
-
const update = () => {
|
|
161
|
-
if (!live) return;
|
|
162
|
-
const next = measureTrack(list, railRef.current, activeRef.current);
|
|
163
|
-
setTrack((current) => sameTrack(current, next) ? current : next);
|
|
164
|
-
};
|
|
165
|
-
const sizes = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(update);
|
|
166
|
-
const observeRows = () => {
|
|
167
|
-
sizes?.observe(list);
|
|
168
|
-
for (const item of list.children) sizes?.observe(item);
|
|
169
|
-
};
|
|
170
|
-
const mutations = new MutationObserver(() => {
|
|
171
|
-
observeRows();
|
|
172
|
-
update();
|
|
173
|
-
});
|
|
174
|
-
update();
|
|
175
|
-
observeRows();
|
|
176
|
-
mutations.observe(list, { childList: true });
|
|
177
|
-
document.fonts?.ready.then(update);
|
|
178
|
-
return () => {
|
|
179
|
-
live = false;
|
|
180
|
-
mutations.disconnect();
|
|
181
|
-
sizes?.disconnect();
|
|
182
|
-
};
|
|
183
|
-
}, []);
|
|
184
|
-
const drawn = track !== null && track.rows.length > 0;
|
|
185
|
-
const size = drawn ? {
|
|
186
|
-
width: track.width,
|
|
187
|
-
height: track.height
|
|
188
|
-
} : {};
|
|
189
|
-
const range = drawn ? activeRange(track, active) : null;
|
|
190
|
-
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("svg", {
|
|
191
|
-
ref: railRef,
|
|
192
|
-
"data-toc-path": "rail",
|
|
193
|
-
"aria-hidden": "true",
|
|
194
|
-
fill: "none",
|
|
195
|
-
"data-hidden": drawn ? void 0 : "",
|
|
196
|
-
...size,
|
|
197
|
-
children: /* @__PURE__ */ jsx("path", { d: drawn ? trackPath(track, track.railStroke) : void 0 })
|
|
198
|
-
}), /* @__PURE__ */ jsx("svg", {
|
|
199
|
-
ref: activeRef,
|
|
200
|
-
"data-toc-path": "active",
|
|
201
|
-
"aria-hidden": "true",
|
|
202
|
-
fill: "none",
|
|
203
|
-
"data-hidden": range === null ? "" : void 0,
|
|
204
|
-
style: range ?? void 0,
|
|
205
|
-
...size,
|
|
206
|
-
children: /* @__PURE__ */ jsx("path", { d: drawn ? trackPath(track, track.activeStroke) : void 0 })
|
|
207
|
-
})] });
|
|
208
|
-
}
|
|
209
|
-
const Toc = defineComponent()({
|
|
210
|
-
name: "Toc",
|
|
211
|
-
module: toc,
|
|
212
|
-
rootPart: "root",
|
|
213
|
-
rootElement: "nav",
|
|
214
|
-
elements: {
|
|
215
|
-
title: "div",
|
|
216
|
-
list: "ul",
|
|
217
|
-
item: "li",
|
|
218
|
-
link: "a",
|
|
219
|
-
indicator: "span"
|
|
220
|
-
},
|
|
221
|
-
getterProps: {
|
|
222
|
-
item: ["item"],
|
|
223
|
-
link: ["item"]
|
|
224
|
-
},
|
|
225
|
-
defaultContent: { indicator: (api) => createElement(TocTrack, { active: api.activeIds }) },
|
|
226
|
-
amendBehaviorProps: { indicator: () => ({ hidden: void 0 }) },
|
|
227
|
-
variantProps: [
|
|
228
|
-
"value",
|
|
229
|
-
"defaultValue",
|
|
230
|
-
"onValueChange",
|
|
231
|
-
"size"
|
|
232
|
-
],
|
|
233
|
-
useMachineProps,
|
|
234
|
-
slots: (props) => tocRecipe({ size: resolveSize(props.size, "Toc") })
|
|
235
|
-
});
|
|
236
|
-
//#endregion
|
|
237
|
-
export { Toc };
|
|
238
|
-
|
|
239
|
-
//# sourceMappingURL=toc.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toc.mjs","names":[],"sources":["../../../src/components/toc/toc.tsx"],"sourcesContent":["'use client'\n\nimport * as toc from '@zag-js/toc'\nimport { createElement, useLayoutEffect, useRef, useState, type ReactNode } from 'react'\n\nimport type { ValueChangeDetails } from '#/components/details.ts'\nimport { tocRecipe } from '#/components/toc/toc.recipe.ts'\nimport { useReducedMotion } from '#/shared/reduced-motion.ts'\nimport { resolveSize, type Size } from '#/shared/size-scale.ts'\nimport { defineComponent } from '#/system/create-component.ts'\n\nexport interface TocEntry {\n value: string\n depth: number\n}\n\nexport type TocScrollBehavior = 'auto' | 'instant' | 'smooth'\n\nexport interface TocRootProps {\n /**\n * 모든 제목을 문서 순서대로 담습니다.\n *\n * 필수입니다. 내용이 없는 목차는 이 컴포넌트가 가질 수 있는 상태가 아니라, 애초에 렌더하지\n * 말았어야 할 컴포넌트입니다.\n */\n items: readonly TocEntry[]\n /** 지금 화면에 보이는 제목들이며 제어 모드입니다. */\n value?: readonly string[]\n /** 비제어 모드의 초기 활성 집합. `value`를 주면 무시됩니다. */\n defaultValue?: readonly string[]\n /** 제어 여부와 무관하게 활성 집합이 바뀔 때마다 호출됩니다. */\n onValueChange?: (details: ValueChangeDetails<readonly string[]>) => void\n /**\n * 옵저버의 루트 마진. 무엇까지를 화면 안으로 칠지 정합니다.\n *\n * CSS 마진 문자열이며 기본값은 `\"-20px 0px -40% 0px\"`입니다. 활성 제목을 뷰포트 위쪽으로\n * 치우치게 잡아서, 긴 섹션의 중간쯤을 읽고 있는 사람이 다음 섹션이 아니라 지금 그 섹션이 표시된\n * 것을 보게 합니다.\n */\n rootMargin?: string\n /** 제목이 얼마나 보여야 하는지 정합니다. `0`이면 1픽셀만 보여도 됩니다. */\n threshold?: number | readonly number[]\n /** 관찰의 기준이 될 스크롤 컨테이너. 기본값은 문서입니다. */\n scrollEl?: () => HTMLElement | null\n /** 활성 엔트리를 Toc 자체의 스크롤 박스 안에 계속 보이게 합니다. 기본값은 true입니다. */\n autoScroll?: boolean\n /** 엔트리를 따라갈 때 페이지가 움직이는 방식. 기본값은 `smooth`이며, 동작 줄이기 설정에서는 `smooth`가 `instant`로 바뀝니다. */\n scrollBehavior?: TocScrollBehavior\n /** 하나뿐인 공용 척도를 따릅니다. 모든 컴포넌트와 마찬가지로 기본값은 `md`입니다. */\n size?: Size\n /** 팩토리가 만드는 식별자를 덮어씁니다. 서버와 클라이언트에서 같은 값으로 유지됩니다. */\n id?: string\n}\n\nconst toMachineProps = (props: TocRootProps): Record<string, unknown> => ({\n ...(props.value === undefined ? {} : { activeIds: props.value }),\n ...(props.defaultValue === undefined ? {} : { defaultActiveIds: props.defaultValue }),\n ...(props.onValueChange === undefined\n ? {}\n : {\n onActiveChange: (details: { activeIds: string[] }) =>\n props.onValueChange?.({ value: details.activeIds }),\n }),\n})\n\nconst useMachineProps = (props: TocRootProps): Record<string, unknown> => {\n const reducedMotion = useReducedMotion()\n const smooth = (props.scrollBehavior ?? 'smooth') === 'smooth'\n return {\n ...toMachineProps(props),\n ...(reducedMotion && smooth ? { scrollBehavior: 'instant' } : {}),\n }\n}\n\ninterface Row {\n value: string | null\n start: number\n top: number\n bottom: number\n textTop: number\n textBottom: number\n}\n\ninterface Track {\n width: number\n height: number\n rtl: boolean\n rows: readonly Row[]\n clearance: number\n railStroke: number\n activeStroke: number\n}\n\n/** 토큰이 풀린 길이 값(px 또는 rem)을 px로 바꿉니다. */\nconst pixelsOf = (value: string): number => {\n const amount = Number.parseFloat(value)\n if (Number.isNaN(amount)) return 0\n if (!value.trim().endsWith('rem')) return amount\n return amount * (Number.parseFloat(getComputedStyle(document.documentElement).fontSize) || 0)\n}\n\nconst strokeOf = (element: Element | null): number =>\n element === null ? 0 : Number.parseFloat(getComputedStyle(element).strokeWidth) || 0\n\n/** 항목 글자의 세로 범위. 여러 줄이면 첫 줄 위부터 마지막 줄 아래까지입니다. */\nconst textExtent = (item: Element, fallback: DOMRect): { top: number; bottom: number } => {\n const range = item.ownerDocument.createRange()\n range.selectNodeContents(item.querySelector('[data-part=\"link\"]') ?? item)\n const lines = [...range.getClientRects()].filter((rect) => rect.width > 0 && rect.height > 0)\n if (lines.length === 0) return { top: fallback.top, bottom: fallback.bottom }\n return {\n top: Math.min(...lines.map((rect) => rect.top)),\n bottom: Math.max(...lines.map((rect) => rect.bottom)),\n }\n}\n\n/**\n * 항목마다 들여쓴 자리의 인라인 시작 가장자리와 글자의 세로 범위를 목록 박스 기준으로 잽니다.\n * 브라우저는 SVG의 원점을 기기 픽셀에 맞춰 그리므로, 세로 구간이 번지지 않도록 이 가장자리도\n * 원점 기준의 기기 픽셀에 맞춥니다.\n */\nconst measureTrack = (list: HTMLElement, rail: Element | null, active: Element | null): Track => {\n const box = list.getBoundingClientRect()\n const rtl = getComputedStyle(list).direction === 'rtl'\n const ratio = window.devicePixelRatio || 1\n const snap = (value: number): number => Math.round(value * ratio) / ratio\n const rows = [...list.querySelectorAll(':scope > [data-part=\"item\"]')].flatMap((item) => {\n const rect = item.getBoundingClientRect()\n if (rect.height === 0) return []\n const inset = Number.parseFloat(getComputedStyle(item).paddingInlineStart) || 0\n const edge = rtl ? snap(rect.right - inset - box.left) : snap(rect.left + inset - box.left)\n const text = textExtent(item, rect)\n return [\n {\n value: item.getAttribute('data-value'),\n start: edge,\n top: rect.top - box.top,\n bottom: rect.bottom - box.top,\n textTop: text.top - box.top,\n textBottom: text.bottom - box.top,\n },\n ]\n })\n return {\n width: box.width,\n height: box.height,\n rtl,\n rows,\n clearance: pixelsOf(getComputedStyle(list).getPropertyValue('--toc-bend-clearance')),\n railStroke: strokeOf(rail),\n activeStroke: strokeOf(active),\n }\n}\n\nconst sameTrack = (a: Track | null, b: Track): boolean =>\n a !== null && JSON.stringify(a) === JSON.stringify(b)\n\nconst round = (value: number): string => String(Math.round(value * 100) / 100)\n\n/**\n * 꺾임의 세로 범위. 위 항목 글자의 아래와 아래 항목 글자의 위에서 각각 `--toc-bend-clearance`만큼\n * 떨어진 틈 안에만 놓여서, 사선이 글자 옆을 지나거나 글자에 붙지 않습니다. 틈이 들여쓰기 폭보다\n * 넓으면 그 가운데에 45도로 꺾고, 좁으면 틈 전체를 씁니다. 그 틈은 모든 항목 사이에 똑같이 둔 목록의\n * 행 간격이 만듭니다.\n */\nconst bendBetween = (\n upper: Row,\n lower: Row,\n run: number,\n clearance: number,\n): readonly [number, number] => {\n const from = upper.textBottom + clearance\n const to = lower.textTop - clearance\n const room = to - from\n if (room <= 0) {\n const middle = (upper.textBottom + lower.textTop) / 2\n return [middle, middle]\n }\n if (room <= run) return [from, to]\n const offset = (room - run) / 2\n return [from + offset, to - offset]\n}\n\n/**\n * 모든 항목을 잇는 하나의 경로입니다. 항목마다 들여쓴 자리에 세로로 긋고, 깊이가 바뀌는 곳은\n * 두 항목의 글자 사이에서 사선으로 잇습니다. 한 경로라서 이음매에 겹침이나 틈이 없습니다. 선의 시작\n * 가장자리가 들여쓰기 자리에 오도록 획 두께의 절반만큼 안쪽으로 옮깁니다.\n */\nconst trackPath = (track: Track, stroke: number): string => {\n const xs = track.rows.map((row) =>\n round(track.rtl ? row.start - stroke / 2 : row.start + stroke / 2),\n )\n const first = track.rows[0]\n if (first === undefined) return ''\n let path = `M${xs[0] ?? 0} ${round(first.top)}`\n track.rows.forEach((row, index) => {\n const x = xs[index] ?? '0'\n const next = track.rows[index + 1]\n const nextX = xs[index + 1] ?? x\n if (next === undefined) {\n path += `L${x} ${round(row.bottom)}`\n return\n }\n if (nextX === x) return\n const [from, to] = bendBetween(row, next, Math.abs(Number(nextX) - Number(x)), track.clearance)\n path += `L${x} ${round(from)}L${nextX} ${round(to)}`\n })\n return path\n}\n\n/**\n * 활성 표시가 보이는 세로 범위입니다. 첫 활성 항목의 세로 구간이 시작하는 곳(들어오는 꺾임이\n * 끝나는 곳, 없으면 항목의 위)부터 마지막 활성 항목의 세로 구간이 끝나는 곳(나가는 꺾임이\n * 시작하는 곳, 없으면 항목의 아래)까지입니다. 그래서 꺾임은 두 활성 항목 사이에 있을 때만, 그리고\n * 언제나 통째로 강조됩니다.\n */\nconst activeRange = (track: Track, active: readonly string[]): Record<string, string> | null => {\n const rows = track.rows\n const firstIndex = rows.findIndex((row) => row.value !== null && active.includes(row.value))\n if (firstIndex < 0) return null\n const lastIndex = rows.findLastIndex((row) => row.value !== null && active.includes(row.value))\n const first = rows[firstIndex]\n const last = rows[lastIndex]\n if (first === undefined || last === undefined) return null\n const previous = rows[firstIndex - 1]\n const next = rows[lastIndex + 1]\n const top =\n previous !== undefined && previous.start !== first.start\n ? bendBetween(previous, first, Math.abs(first.start - previous.start), track.clearance)[1]\n : first.top\n const bottom =\n next !== undefined && next.start !== last.start\n ? bendBetween(last, next, Math.abs(next.start - last.start), track.clearance)[0]\n : last.bottom\n return {\n '--toc-active-top': `${round(top)}px`,\n '--toc-active-height': `${round(Math.max(bottom - top, 0))}px`,\n }\n}\n\n/**\n * Indicator가 그리는 레일과 활성 표시입니다. 둘은 같은 경로이며, 활성 표시는 `activeRange`로만\n * 잘라 보입니다. 경로는 하이드레이션 직후 첫 그리기 전에 재고, 재기 전에는 아무것도 그리지 않습니다.\n * 곧은 선을 먼저 보였다가 꺾인 선으로 바꾸는 일이 없습니다.\n */\nfunction TocTrack({ active }: { active: readonly string[] }): ReactNode {\n const railRef = useRef<SVGSVGElement>(null)\n const activeRef = useRef<SVGSVGElement>(null)\n const [track, setTrack] = useState<Track | null>(null)\n\n useLayoutEffect(() => {\n const list = railRef.current?.parentElement?.parentElement?.querySelector(\n ':scope > [data-scope=\"toc\"][data-part=\"list\"]',\n )\n if (!(list instanceof HTMLElement)) return undefined\n let live = true\n const update = (): void => {\n if (!live) return\n const next = measureTrack(list, railRef.current, activeRef.current)\n setTrack((current) => (sameTrack(current, next) ? current : next))\n }\n const sizes = typeof ResizeObserver === 'undefined' ? null : new ResizeObserver(update)\n const observeRows = (): void => {\n sizes?.observe(list)\n for (const item of list.children) sizes?.observe(item)\n }\n const mutations = new MutationObserver(() => {\n observeRows()\n update()\n })\n update()\n observeRows()\n mutations.observe(list, { childList: true })\n void document.fonts?.ready.then(update)\n return () => {\n live = false\n mutations.disconnect()\n sizes?.disconnect()\n }\n }, [])\n\n const drawn = track !== null && track.rows.length > 0\n const size = drawn ? { width: track.width, height: track.height } : {}\n const range = drawn ? activeRange(track, active) : null\n return (\n <>\n <svg\n ref={railRef}\n data-toc-path=\"rail\"\n aria-hidden=\"true\"\n fill=\"none\"\n data-hidden={drawn ? undefined : ''}\n {...size}\n >\n <path d={drawn ? trackPath(track, track.railStroke) : undefined} />\n </svg>\n <svg\n ref={activeRef}\n data-toc-path=\"active\"\n aria-hidden=\"true\"\n fill=\"none\"\n data-hidden={range === null ? '' : undefined}\n style={range ?? undefined}\n {...size}\n >\n <path d={drawn ? trackPath(track, track.activeStroke) : undefined} />\n </svg>\n </>\n )\n}\n\nexport const Toc = defineComponent<TocRootProps>()({\n name: 'Toc',\n module: toc,\n rootPart: 'root',\n rootElement: 'nav',\n elements: { title: 'div', list: 'ul', item: 'li', link: 'a', indicator: 'span' },\n getterProps: {\n item: ['item'],\n link: ['item'],\n },\n defaultContent: {\n indicator: (api) => createElement(TocTrack, { active: api.activeIds }),\n },\n amendBehaviorProps: {\n indicator: () => ({ hidden: undefined }),\n },\n variantProps: ['value', 'defaultValue', 'onValueChange', 'size'],\n useMachineProps,\n slots: (props: TocRootProps) => tocRecipe({ size: resolveSize(props.size, 'Toc') }),\n})\n"],"mappings":"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"}
|