@gunkin/uiify 0.0.1-alpha
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 +37 -0
- package/dist/components/accordion/Accordion.d.ts +13 -0
- package/dist/components/accordion/Accordion.d.ts.map +1 -0
- package/dist/components/accordion/Accordion.js +34 -0
- package/dist/components/accordion/Accordion.js.map +1 -0
- package/dist/components/accordion/index.d.ts +3 -0
- package/dist/components/accordion/index.d.ts.map +1 -0
- package/dist/components/accordion/index.js +5 -0
- package/dist/components/accordion/index.js.map +1 -0
- package/dist/components/accordion/types.d.ts +12 -0
- package/dist/components/accordion/types.d.ts.map +1 -0
- package/dist/components/accordion/types.js +1 -0
- package/dist/components/accordion/types.js.map +1 -0
- package/dist/components/accordion.d.ts +1 -0
- package/dist/components/accordion.js +1 -0
- package/dist/components/alert-modal/AlertModal.d.ts +8 -0
- package/dist/components/alert-modal/AlertModal.d.ts.map +1 -0
- package/dist/components/alert-modal/AlertModal.js +47 -0
- package/dist/components/alert-modal/AlertModal.js.map +1 -0
- package/dist/components/alert-modal/AlertModalParts.d.ts +48 -0
- package/dist/components/alert-modal/AlertModalParts.d.ts.map +1 -0
- package/dist/components/alert-modal/AlertModalParts.js +60 -0
- package/dist/components/alert-modal/AlertModalParts.js.map +1 -0
- package/dist/components/alert-modal/index.d.ts +4 -0
- package/dist/components/alert-modal/index.d.ts.map +1 -0
- package/dist/components/alert-modal/index.js +15 -0
- package/dist/components/alert-modal/index.js.map +1 -0
- package/dist/components/alert-modal/types.d.ts +38 -0
- package/dist/components/alert-modal/types.d.ts.map +1 -0
- package/dist/components/alert-modal/types.js +1 -0
- package/dist/components/alert-modal/types.js.map +1 -0
- package/dist/components/alert-modal.d.ts +1 -0
- package/dist/components/alert-modal.js +1 -0
- package/dist/components/behavior.css +165 -0
- package/dist/components/behavior.css.map +1 -0
- package/dist/components/breadcrumb/Breadcrumb.d.ts +23 -0
- package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/components/breadcrumb/Breadcrumb.js +166 -0
- package/dist/components/breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-collapse.d.ts +12 -0
- package/dist/components/breadcrumb/breadcrumb-collapse.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-collapse.js +12 -0
- package/dist/components/breadcrumb/breadcrumb-collapse.js.map +1 -0
- package/dist/components/breadcrumb/index.d.ts +3 -0
- package/dist/components/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/breadcrumb/index.js +19 -0
- package/dist/components/breadcrumb/index.js.map +1 -0
- package/dist/components/breadcrumb/types.d.ts +52 -0
- package/dist/components/breadcrumb/types.d.ts.map +1 -0
- package/dist/components/breadcrumb/types.js +1 -0
- package/dist/components/breadcrumb/types.js.map +1 -0
- package/dist/components/breadcrumb.d.ts +1 -0
- package/dist/components/breadcrumb.js +1 -0
- package/dist/components/button/Button.d.ts +4 -0
- package/dist/components/button/Button.d.ts.map +1 -0
- package/dist/components/button/Button.js +29 -0
- package/dist/components/button/Button.js.map +1 -0
- package/dist/components/button/index.d.ts +3 -0
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/button/index.js +5 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/button/types.d.ts +11 -0
- package/dist/components/button/types.d.ts.map +1 -0
- package/dist/components/button/types.js +1 -0
- package/dist/components/button/types.js.map +1 -0
- package/dist/components/button.d.ts +1 -0
- package/dist/components/button.js +1 -0
- package/dist/components/candle-chart/CandleChart.d.ts +7 -0
- package/dist/components/candle-chart/CandleChart.d.ts.map +1 -0
- package/dist/components/candle-chart/CandleChart.js +287 -0
- package/dist/components/candle-chart/CandleChart.js.map +1 -0
- package/dist/components/candle-chart/client/CandleChartClient.d.ts +7 -0
- package/dist/components/candle-chart/client/CandleChartClient.d.ts.map +1 -0
- package/dist/components/candle-chart/client/CandleChartClient.js +67 -0
- package/dist/components/candle-chart/client/CandleChartClient.js.map +1 -0
- package/dist/components/candle-chart/client/index.d.ts +2 -0
- package/dist/components/candle-chart/client/index.d.ts.map +1 -0
- package/dist/components/candle-chart/client/index.js +5 -0
- package/dist/components/candle-chart/client/index.js.map +1 -0
- package/dist/components/candle-chart/client.d.ts +1 -0
- package/dist/components/candle-chart/client.js +1 -0
- package/dist/components/candle-chart/index.d.ts +3 -0
- package/dist/components/candle-chart/index.d.ts.map +1 -0
- package/dist/components/candle-chart/index.js +5 -0
- package/dist/components/candle-chart/index.js.map +1 -0
- package/dist/components/candle-chart/types.d.ts +34 -0
- package/dist/components/candle-chart/types.d.ts.map +1 -0
- package/dist/components/candle-chart/types.js +1 -0
- package/dist/components/candle-chart/types.js.map +1 -0
- package/dist/components/candle-chart.d.ts +1 -0
- package/dist/components/candle-chart.js +1 -0
- package/dist/components/carousel/Carousel.d.ts +8 -0
- package/dist/components/carousel/Carousel.d.ts.map +1 -0
- package/dist/components/carousel/Carousel.js +10 -0
- package/dist/components/carousel/Carousel.js.map +1 -0
- package/dist/components/carousel/CarouselMarkup.d.ts +7 -0
- package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -0
- package/dist/components/carousel/CarouselMarkup.js +148 -0
- package/dist/components/carousel/CarouselMarkup.js.map +1 -0
- package/dist/components/carousel/carousel-markup.d.ts +12 -0
- package/dist/components/carousel/carousel-markup.d.ts.map +1 -0
- package/dist/components/carousel/carousel-markup.js +53 -0
- package/dist/components/carousel/carousel-markup.js.map +1 -0
- package/dist/components/carousel/carousel-pages.d.ts +4 -0
- package/dist/components/carousel/carousel-pages.d.ts.map +1 -0
- package/dist/components/carousel/carousel-pages.js +50 -0
- package/dist/components/carousel/carousel-pages.js.map +1 -0
- package/dist/components/carousel/client/CarouselClient.d.ts +7 -0
- package/dist/components/carousel/client/CarouselClient.d.ts.map +1 -0
- package/dist/components/carousel/client/CarouselClient.js +110 -0
- package/dist/components/carousel/client/CarouselClient.js.map +1 -0
- package/dist/components/carousel/client/CarouselClientView.d.ts +10 -0
- package/dist/components/carousel/client/CarouselClientView.d.ts.map +1 -0
- package/dist/components/carousel/client/CarouselClientView.js +76 -0
- package/dist/components/carousel/client/CarouselClientView.js.map +1 -0
- package/dist/components/carousel/client/carousel-autoplay.d.ts +4 -0
- package/dist/components/carousel/client/carousel-autoplay.d.ts.map +1 -0
- package/dist/components/carousel/client/carousel-autoplay.js +231 -0
- package/dist/components/carousel/client/carousel-autoplay.js.map +1 -0
- package/dist/components/carousel/client/carousel-controller.d.ts +3 -0
- package/dist/components/carousel/client/carousel-controller.d.ts.map +1 -0
- package/dist/components/carousel/client/carousel-controller.js +221 -0
- package/dist/components/carousel/client/carousel-controller.js.map +1 -0
- package/dist/components/carousel/client/carousel-controls.d.ts +6 -0
- package/dist/components/carousel/client/carousel-controls.d.ts.map +1 -0
- package/dist/components/carousel/client/carousel-controls.js +57 -0
- package/dist/components/carousel/client/carousel-controls.js.map +1 -0
- package/dist/components/carousel/client/carousel-drag.d.ts +4 -0
- package/dist/components/carousel/client/carousel-drag.d.ts.map +1 -0
- package/dist/components/carousel/client/carousel-drag.js +140 -0
- package/dist/components/carousel/client/carousel-drag.js.map +1 -0
- package/dist/components/carousel/client/carousel-observer.d.ts +4 -0
- package/dist/components/carousel/client/carousel-observer.d.ts.map +1 -0
- package/dist/components/carousel/client/carousel-observer.js +69 -0
- package/dist/components/carousel/client/carousel-observer.js.map +1 -0
- package/dist/components/carousel/client/index.d.ts +3 -0
- package/dist/components/carousel/client/index.d.ts.map +1 -0
- package/dist/components/carousel/client/index.js +6 -0
- package/dist/components/carousel/client/index.js.map +1 -0
- package/dist/components/carousel/client.d.ts +1 -0
- package/dist/components/carousel/client.js +1 -0
- package/dist/components/carousel/commands.d.ts +14 -0
- package/dist/components/carousel/commands.d.ts.map +1 -0
- package/dist/components/carousel/commands.js +21 -0
- package/dist/components/carousel/commands.js.map +1 -0
- package/dist/components/carousel/fade/FadeCarouselClient.d.ts +7 -0
- package/dist/components/carousel/fade/FadeCarouselClient.d.ts.map +1 -0
- package/dist/components/carousel/fade/FadeCarouselClient.js +108 -0
- package/dist/components/carousel/fade/FadeCarouselClient.js.map +1 -0
- package/dist/components/carousel/fade/fade-controller.d.ts +4 -0
- package/dist/components/carousel/fade/fade-controller.d.ts.map +1 -0
- package/dist/components/carousel/fade/fade-controller.js +181 -0
- package/dist/components/carousel/fade/fade-controller.js.map +1 -0
- package/dist/components/carousel/fade/fade-swipe.d.ts +4 -0
- package/dist/components/carousel/fade/fade-swipe.d.ts.map +1 -0
- package/dist/components/carousel/fade/fade-swipe.js +98 -0
- package/dist/components/carousel/fade/fade-swipe.js.map +1 -0
- package/dist/components/carousel/fade/index.d.ts +3 -0
- package/dist/components/carousel/fade/index.d.ts.map +1 -0
- package/dist/components/carousel/fade/index.js +5 -0
- package/dist/components/carousel/fade/index.js.map +1 -0
- package/dist/components/carousel/fade.d.ts +1 -0
- package/dist/components/carousel/fade.js +1 -0
- package/dist/components/carousel/index.d.ts +3 -0
- package/dist/components/carousel/index.d.ts.map +1 -0
- package/dist/components/carousel/index.js +5 -0
- package/dist/components/carousel/index.js.map +1 -0
- package/dist/components/carousel/types.d.ts +185 -0
- package/dist/components/carousel/types.d.ts.map +1 -0
- package/dist/components/carousel/types.js +1 -0
- package/dist/components/carousel/types.js.map +1 -0
- package/dist/components/carousel.d.ts +1 -0
- package/dist/components/carousel.js +1 -0
- package/dist/components/checkbox/Checkbox.d.ts +7 -0
- package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/Checkbox.js +55 -0
- package/dist/components/checkbox/Checkbox.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +3 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/checkbox/index.js +5 -0
- package/dist/components/checkbox/index.js.map +1 -0
- package/dist/components/checkbox/types.d.ts +13 -0
- package/dist/components/checkbox/types.d.ts.map +1 -0
- package/dist/components/checkbox/types.js +1 -0
- package/dist/components/checkbox/types.js.map +1 -0
- package/dist/components/checkbox.d.ts +1 -0
- package/dist/components/checkbox.js +1 -0
- package/dist/components/collapsible/Collapsible.d.ts +12 -0
- package/dist/components/collapsible/Collapsible.d.ts.map +1 -0
- package/dist/components/collapsible/Collapsible.js +30 -0
- package/dist/components/collapsible/Collapsible.js.map +1 -0
- package/dist/components/collapsible/index.d.ts +3 -0
- package/dist/components/collapsible/index.d.ts.map +1 -0
- package/dist/components/collapsible/index.js +5 -0
- package/dist/components/collapsible/index.js.map +1 -0
- package/dist/components/collapsible/types.d.ts +10 -0
- package/dist/components/collapsible/types.d.ts.map +1 -0
- package/dist/components/collapsible/types.js +1 -0
- package/dist/components/collapsible/types.js.map +1 -0
- package/dist/components/collapsible.d.ts +1 -0
- package/dist/components/collapsible.js +1 -0
- package/dist/components/color-picker/ColorPicker.d.ts +37 -0
- package/dist/components/color-picker/ColorPicker.d.ts.map +1 -0
- package/dist/components/color-picker/ColorPicker.js +185 -0
- package/dist/components/color-picker/ColorPicker.js.map +1 -0
- package/dist/components/color-picker/color.d.ts +15 -0
- package/dist/components/color-picker/color.d.ts.map +1 -0
- package/dist/components/color-picker/color.js +190 -0
- package/dist/components/color-picker/color.js.map +1 -0
- package/dist/components/color-picker/index.d.ts +4 -0
- package/dist/components/color-picker/index.d.ts.map +1 -0
- package/dist/components/color-picker/index.js +43 -0
- package/dist/components/color-picker/index.js.map +1 -0
- package/dist/components/color-picker/types.d.ts +73 -0
- package/dist/components/color-picker/types.d.ts.map +1 -0
- package/dist/components/color-picker/types.js +1 -0
- package/dist/components/color-picker/types.js.map +1 -0
- package/dist/components/color-picker.d.ts +1 -0
- package/dist/components/color-picker.js +1 -0
- package/dist/components/combobox/Combobox.d.ts +34 -0
- package/dist/components/combobox/Combobox.d.ts.map +1 -0
- package/dist/components/combobox/Combobox.js +541 -0
- package/dist/components/combobox/Combobox.js.map +1 -0
- package/dist/components/combobox/combobox-store.d.ts +5 -0
- package/dist/components/combobox/combobox-store.d.ts.map +1 -0
- package/dist/components/combobox/combobox-store.js +64 -0
- package/dist/components/combobox/combobox-store.js.map +1 -0
- package/dist/components/combobox/combobox-values.d.ts +5 -0
- package/dist/components/combobox/combobox-values.d.ts.map +1 -0
- package/dist/components/combobox/combobox-values.js +20 -0
- package/dist/components/combobox/combobox-values.js.map +1 -0
- package/dist/components/combobox/index.d.ts +3 -0
- package/dist/components/combobox/index.d.ts.map +1 -0
- package/dist/components/combobox/index.js +23 -0
- package/dist/components/combobox/index.js.map +1 -0
- package/dist/components/combobox/types.d.ts +127 -0
- package/dist/components/combobox/types.d.ts.map +1 -0
- package/dist/components/combobox/types.js +1 -0
- package/dist/components/combobox/types.js.map +1 -0
- package/dist/components/combobox.d.ts +1 -0
- package/dist/components/combobox.js +1 -0
- package/dist/components/context-menu/ContextMenu.d.ts +52 -0
- package/dist/components/context-menu/ContextMenu.d.ts.map +1 -0
- package/dist/components/context-menu/ContextMenu.js +352 -0
- package/dist/components/context-menu/ContextMenu.js.map +1 -0
- package/dist/components/context-menu/index.d.ts +3 -0
- package/dist/components/context-menu/index.d.ts.map +1 -0
- package/dist/components/context-menu/index.js +29 -0
- package/dist/components/context-menu/index.js.map +1 -0
- package/dist/components/context-menu/types.d.ts +80 -0
- package/dist/components/context-menu/types.d.ts.map +1 -0
- package/dist/components/context-menu/types.js +1 -0
- package/dist/components/context-menu/types.js.map +1 -0
- package/dist/components/context-menu.d.ts +1 -0
- package/dist/components/context-menu.js +1 -0
- package/dist/components/drawer/Drawer.d.ts +22 -0
- package/dist/components/drawer/Drawer.d.ts.map +1 -0
- package/dist/components/drawer/Drawer.js +311 -0
- package/dist/components/drawer/Drawer.js.map +1 -0
- package/dist/components/drawer/DrawerNative.d.ts +21 -0
- package/dist/components/drawer/DrawerNative.d.ts.map +1 -0
- package/dist/components/drawer/DrawerNative.js +46 -0
- package/dist/components/drawer/DrawerNative.js.map +1 -0
- package/dist/components/drawer/client-types.d.ts +99 -0
- package/dist/components/drawer/client-types.d.ts.map +1 -0
- package/dist/components/drawer/client-types.js +1 -0
- package/dist/components/drawer/client-types.js.map +1 -0
- package/dist/components/drawer/drawer-store.d.ts +3 -0
- package/dist/components/drawer/drawer-store.d.ts.map +1 -0
- package/dist/components/drawer/drawer-store.js +112 -0
- package/dist/components/drawer/drawer-store.js.map +1 -0
- package/dist/components/drawer/index.d.ts +5 -0
- package/dist/components/drawer/index.d.ts.map +1 -0
- package/dist/components/drawer/index.js +23 -0
- package/dist/components/drawer/index.js.map +1 -0
- package/dist/components/drawer/types.d.ts +15 -0
- package/dist/components/drawer/types.d.ts.map +1 -0
- package/dist/components/drawer/types.js +1 -0
- package/dist/components/drawer/types.js.map +1 -0
- package/dist/components/drawer.d.ts +1 -0
- package/dist/components/drawer.js +1 -0
- package/dist/components/dropdown-menu/DropdownMenu.d.ts +110 -0
- package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenu.js +643 -0
- package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuBar.d.ts +13 -0
- package/dist/components/dropdown-menu/DropdownMenuBar.d.ts.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuBar.js +82 -0
- package/dist/components/dropdown-menu/DropdownMenuBar.js.map +1 -0
- package/dist/components/dropdown-menu/index.d.ts +5 -0
- package/dist/components/dropdown-menu/index.d.ts.map +1 -0
- package/dist/components/dropdown-menu/index.js +45 -0
- package/dist/components/dropdown-menu/index.js.map +1 -0
- package/dist/components/dropdown-menu/types.d.ts +134 -0
- package/dist/components/dropdown-menu/types.d.ts.map +1 -0
- package/dist/components/dropdown-menu/types.js +1 -0
- package/dist/components/dropdown-menu/types.js.map +1 -0
- package/dist/components/dropdown-menu.d.ts +1 -0
- package/dist/components/dropdown-menu.js +1 -0
- package/dist/components/enhance/UIEnhance.d.ts +17 -0
- package/dist/components/enhance/UIEnhance.d.ts.map +1 -0
- package/dist/components/enhance/UIEnhance.js +11 -0
- package/dist/components/enhance/UIEnhance.js.map +1 -0
- package/dist/components/enhance/index.d.ts +2 -0
- package/dist/components/enhance/index.d.ts.map +1 -0
- package/dist/components/enhance/index.js +5 -0
- package/dist/components/enhance/index.js.map +1 -0
- package/dist/components/enhance/invoker-fallback.d.ts +16 -0
- package/dist/components/enhance/invoker-fallback.d.ts.map +1 -0
- package/dist/components/enhance/invoker-fallback.js +67 -0
- package/dist/components/enhance/invoker-fallback.js.map +1 -0
- package/dist/components/enhance/listeners.d.ts +15 -0
- package/dist/components/enhance/listeners.d.ts.map +1 -0
- package/dist/components/enhance/listeners.js +28 -0
- package/dist/components/enhance/listeners.js.map +1 -0
- package/dist/components/enhance/sync.d.ts +18 -0
- package/dist/components/enhance/sync.d.ts.map +1 -0
- package/dist/components/enhance/sync.js +40 -0
- package/dist/components/enhance/sync.js.map +1 -0
- package/dist/components/enhance.d.ts +1 -0
- package/dist/components/enhance.js +1 -0
- package/dist/components/field/Field.d.ts +15 -0
- package/dist/components/field/Field.d.ts.map +1 -0
- package/dist/components/field/Field.js +133 -0
- package/dist/components/field/Field.js.map +1 -0
- package/dist/components/field/field-ids.d.ts +12 -0
- package/dist/components/field/field-ids.d.ts.map +1 -0
- package/dist/components/field/field-ids.js +12 -0
- package/dist/components/field/field-ids.js.map +1 -0
- package/dist/components/field/index.d.ts +3 -0
- package/dist/components/field/index.d.ts.map +1 -0
- package/dist/components/field/index.js +17 -0
- package/dist/components/field/index.js.map +1 -0
- package/dist/components/field/types.d.ts +40 -0
- package/dist/components/field/types.d.ts.map +1 -0
- package/dist/components/field/types.js +1 -0
- package/dist/components/field/types.js.map +1 -0
- package/dist/components/field.d.ts +1 -0
- package/dist/components/field.js +1 -0
- package/dist/components/file-upload/FileUpload.d.ts +23 -0
- package/dist/components/file-upload/FileUpload.d.ts.map +1 -0
- package/dist/components/file-upload/FileUpload.js +233 -0
- package/dist/components/file-upload/FileUpload.js.map +1 -0
- package/dist/components/file-upload/file-upload-store.d.ts +7 -0
- package/dist/components/file-upload/file-upload-store.d.ts.map +1 -0
- package/dist/components/file-upload/file-upload-store.js +66 -0
- package/dist/components/file-upload/file-upload-store.js.map +1 -0
- package/dist/components/file-upload/index.d.ts +5 -0
- package/dist/components/file-upload/index.d.ts.map +1 -0
- package/dist/components/file-upload/index.js +23 -0
- package/dist/components/file-upload/index.js.map +1 -0
- package/dist/components/file-upload/types.d.ts +81 -0
- package/dist/components/file-upload/types.d.ts.map +1 -0
- package/dist/components/file-upload/types.js +1 -0
- package/dist/components/file-upload/types.js.map +1 -0
- package/dist/components/file-upload.d.ts +1 -0
- package/dist/components/file-upload.js +1 -0
- package/dist/components/form/Form.d.ts +4 -0
- package/dist/components/form/Form.d.ts.map +1 -0
- package/dist/components/form/Form.js +25 -0
- package/dist/components/form/Form.js.map +1 -0
- package/dist/components/form/index.d.ts +3 -0
- package/dist/components/form/index.d.ts.map +1 -0
- package/dist/components/form/index.js +5 -0
- package/dist/components/form/index.js.map +1 -0
- package/dist/components/form/types.d.ts +8 -0
- package/dist/components/form/types.d.ts.map +1 -0
- package/dist/components/form/types.js +1 -0
- package/dist/components/form/types.js.map +1 -0
- package/dist/components/form.d.ts +1 -0
- package/dist/components/form.js +1 -0
- package/dist/components/header/Header.d.ts +26 -0
- package/dist/components/header/Header.d.ts.map +1 -0
- package/dist/components/header/Header.js +260 -0
- package/dist/components/header/Header.js.map +1 -0
- package/dist/components/header/index.d.ts +4 -0
- package/dist/components/header/index.d.ts.map +1 -0
- package/dist/components/header/index.js +19 -0
- package/dist/components/header/index.js.map +1 -0
- package/dist/components/header/types.d.ts +67 -0
- package/dist/components/header/types.d.ts.map +1 -0
- package/dist/components/header/types.js +1 -0
- package/dist/components/header/types.js.map +1 -0
- package/dist/components/header/use-header-scroll-state.d.ts +4 -0
- package/dist/components/header/use-header-scroll-state.d.ts.map +1 -0
- package/dist/components/header/use-header-scroll-state.js +83 -0
- package/dist/components/header/use-header-scroll-state.js.map +1 -0
- package/dist/components/header/use-header.d.ts +4 -0
- package/dist/components/header/use-header.d.ts.map +1 -0
- package/dist/components/header/use-header.js +80 -0
- package/dist/components/header/use-header.js.map +1 -0
- package/dist/components/header.d.ts +1 -0
- package/dist/components/header.js +1 -0
- package/dist/components/hover-card/HoverCard.d.ts +14 -0
- package/dist/components/hover-card/HoverCard.d.ts.map +1 -0
- package/dist/components/hover-card/HoverCard.js +165 -0
- package/dist/components/hover-card/HoverCard.js.map +1 -0
- package/dist/components/hover-card/index.d.ts +3 -0
- package/dist/components/hover-card/index.d.ts.map +1 -0
- package/dist/components/hover-card/index.js +5 -0
- package/dist/components/hover-card/index.js.map +1 -0
- package/dist/components/hover-card/types.d.ts +34 -0
- package/dist/components/hover-card/types.d.ts.map +1 -0
- package/dist/components/hover-card/types.js +1 -0
- package/dist/components/hover-card/types.js.map +1 -0
- package/dist/components/hover-card.d.ts +1 -0
- package/dist/components/hover-card.js +1 -0
- package/dist/components/index.d.ts +45 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +45 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/input/Input.d.ts +4 -0
- package/dist/components/input/Input.d.ts.map +1 -0
- package/dist/components/input/Input.js +41 -0
- package/dist/components/input/Input.js.map +1 -0
- package/dist/components/input/index.d.ts +3 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/input/index.js +5 -0
- package/dist/components/input/index.js.map +1 -0
- package/dist/components/input/types.d.ts +12 -0
- package/dist/components/input/types.d.ts.map +1 -0
- package/dist/components/input/types.js +1 -0
- package/dist/components/input/types.js.map +1 -0
- package/dist/components/input.d.ts +1 -0
- package/dist/components/input.js +1 -0
- package/dist/components/internal/choice-family/ChoiceGroup.d.ts +13 -0
- package/dist/components/internal/choice-family/ChoiceGroup.d.ts.map +1 -0
- package/dist/components/internal/choice-family/ChoiceGroup.js +78 -0
- package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -0
- package/dist/components/internal/choice-family/ids.d.ts +2 -0
- package/dist/components/internal/choice-family/ids.d.ts.map +1 -0
- package/dist/components/internal/choice-family/ids.js +9 -0
- package/dist/components/internal/choice-family/ids.js.map +1 -0
- package/dist/components/internal/choice-family/types.d.ts +49 -0
- package/dist/components/internal/choice-family/types.d.ts.map +1 -0
- package/dist/components/internal/choice-family/types.js +1 -0
- package/dist/components/internal/choice-family/types.js.map +1 -0
- package/dist/components/internal/menu/focus-menu-item.d.ts +4 -0
- package/dist/components/internal/menu/focus-menu-item.d.ts.map +1 -0
- package/dist/components/internal/menu/focus-menu-item.js +11 -0
- package/dist/components/internal/menu/focus-menu-item.js.map +1 -0
- package/dist/components/internal/menu/menu-parts.d.ts +6 -0
- package/dist/components/internal/menu/menu-parts.d.ts.map +1 -0
- package/dist/components/internal/menu/menu-parts.js +32 -0
- package/dist/components/internal/menu/menu-parts.js.map +1 -0
- package/dist/components/internal/menu/menu-utils.d.ts +3 -0
- package/dist/components/internal/menu/menu-utils.d.ts.map +1 -0
- package/dist/components/internal/menu/menu-utils.js +15 -0
- package/dist/components/internal/menu/menu-utils.js.map +1 -0
- package/dist/components/internal/menu/types.d.ts +48 -0
- package/dist/components/internal/menu/types.d.ts.map +1 -0
- package/dist/components/internal/menu/types.js +1 -0
- package/dist/components/internal/menu/types.js.map +1 -0
- package/dist/components/internal/menu/use-menu-surface.d.ts +12 -0
- package/dist/components/internal/menu/use-menu-surface.d.ts.map +1 -0
- package/dist/components/internal/menu/use-menu-surface.js +56 -0
- package/dist/components/internal/menu/use-menu-surface.js.map +1 -0
- package/dist/components/line-chart/LineChart.d.ts +7 -0
- package/dist/components/line-chart/LineChart.d.ts.map +1 -0
- package/dist/components/line-chart/LineChart.js +169 -0
- package/dist/components/line-chart/LineChart.js.map +1 -0
- package/dist/components/line-chart/client/LineChartClient.d.ts +7 -0
- package/dist/components/line-chart/client/LineChartClient.d.ts.map +1 -0
- package/dist/components/line-chart/client/LineChartClient.js +67 -0
- package/dist/components/line-chart/client/LineChartClient.js.map +1 -0
- package/dist/components/line-chart/client/index.d.ts +3 -0
- package/dist/components/line-chart/client/index.d.ts.map +1 -0
- package/dist/components/line-chart/client/index.js +5 -0
- package/dist/components/line-chart/client/index.js.map +1 -0
- package/dist/components/line-chart/client.d.ts +1 -0
- package/dist/components/line-chart/client.js +1 -0
- package/dist/components/line-chart/index.d.ts +3 -0
- package/dist/components/line-chart/index.d.ts.map +1 -0
- package/dist/components/line-chart/index.js +5 -0
- package/dist/components/line-chart/index.js.map +1 -0
- package/dist/components/line-chart/line-chart-geometry.d.ts +54 -0
- package/dist/components/line-chart/line-chart-geometry.d.ts.map +1 -0
- package/dist/components/line-chart/line-chart-geometry.js +124 -0
- package/dist/components/line-chart/line-chart-geometry.js.map +1 -0
- package/dist/components/line-chart/types.d.ts +31 -0
- package/dist/components/line-chart/types.d.ts.map +1 -0
- package/dist/components/line-chart/types.js +1 -0
- package/dist/components/line-chart/types.js.map +1 -0
- package/dist/components/line-chart.d.ts +1 -0
- package/dist/components/line-chart.js +1 -0
- package/dist/components/modal/Modal.d.ts +12 -0
- package/dist/components/modal/Modal.d.ts.map +1 -0
- package/dist/components/modal/Modal.js +39 -0
- package/dist/components/modal/Modal.js.map +1 -0
- package/dist/components/modal/ModalParts.d.ts +45 -0
- package/dist/components/modal/ModalParts.d.ts.map +1 -0
- package/dist/components/modal/ModalParts.js +36 -0
- package/dist/components/modal/ModalParts.js.map +1 -0
- package/dist/components/modal/client/ModalClientContent.d.ts +16 -0
- package/dist/components/modal/client/ModalClientContent.d.ts.map +1 -0
- package/dist/components/modal/client/ModalClientContent.js +81 -0
- package/dist/components/modal/client/ModalClientContent.js.map +1 -0
- package/dist/components/modal/client/index.d.ts +3 -0
- package/dist/components/modal/client/index.d.ts.map +1 -0
- package/dist/components/modal/client/index.js +5 -0
- package/dist/components/modal/client/index.js.map +1 -0
- package/dist/components/modal/client.d.ts +1 -0
- package/dist/components/modal/client.js +1 -0
- package/dist/components/modal/index.d.ts +4 -0
- package/dist/components/modal/index.d.ts.map +1 -0
- package/dist/components/modal/index.js +9 -0
- package/dist/components/modal/index.js.map +1 -0
- package/dist/components/modal/types.d.ts +58 -0
- package/dist/components/modal/types.d.ts.map +1 -0
- package/dist/components/modal/types.js +1 -0
- package/dist/components/modal/types.js.map +1 -0
- package/dist/components/modal.d.ts +1 -0
- package/dist/components/modal.js +1 -0
- package/dist/components/number-field/NumberField.d.ts +19 -0
- package/dist/components/number-field/NumberField.d.ts.map +1 -0
- package/dist/components/number-field/NumberField.js +303 -0
- package/dist/components/number-field/NumberField.js.map +1 -0
- package/dist/components/number-field/format.d.ts +6 -0
- package/dist/components/number-field/format.d.ts.map +1 -0
- package/dist/components/number-field/format.js +35 -0
- package/dist/components/number-field/format.js.map +1 -0
- package/dist/components/number-field/index.d.ts +3 -0
- package/dist/components/number-field/index.d.ts.map +1 -0
- package/dist/components/number-field/index.js +17 -0
- package/dist/components/number-field/index.js.map +1 -0
- package/dist/components/number-field/types.d.ts +56 -0
- package/dist/components/number-field/types.d.ts.map +1 -0
- package/dist/components/number-field/types.js +1 -0
- package/dist/components/number-field/types.js.map +1 -0
- package/dist/components/number-field/use-press-repeat.d.ts +8 -0
- package/dist/components/number-field/use-press-repeat.d.ts.map +1 -0
- package/dist/components/number-field/use-press-repeat.js +34 -0
- package/dist/components/number-field/use-press-repeat.js.map +1 -0
- package/dist/components/number-field.d.ts +1 -0
- package/dist/components/number-field.js +1 -0
- package/dist/components/otp-input/OtpInput.d.ts +14 -0
- package/dist/components/otp-input/OtpInput.d.ts.map +1 -0
- package/dist/components/otp-input/OtpInput.js +193 -0
- package/dist/components/otp-input/OtpInput.js.map +1 -0
- package/dist/components/otp-input/index.d.ts +3 -0
- package/dist/components/otp-input/index.d.ts.map +1 -0
- package/dist/components/otp-input/index.js +8 -0
- package/dist/components/otp-input/index.js.map +1 -0
- package/dist/components/otp-input/types.d.ts +46 -0
- package/dist/components/otp-input/types.d.ts.map +1 -0
- package/dist/components/otp-input/types.js +1 -0
- package/dist/components/otp-input/types.js.map +1 -0
- package/dist/components/otp-input.d.ts +1 -0
- package/dist/components/otp-input.js +1 -0
- package/dist/components/pagination/Pagination.d.ts +22 -0
- package/dist/components/pagination/Pagination.d.ts.map +1 -0
- package/dist/components/pagination/Pagination.js +195 -0
- package/dist/components/pagination/Pagination.js.map +1 -0
- package/dist/components/pagination/PaginationShell.d.ts +22 -0
- package/dist/components/pagination/PaginationShell.d.ts.map +1 -0
- package/dist/components/pagination/PaginationShell.js +216 -0
- package/dist/components/pagination/PaginationShell.js.map +1 -0
- package/dist/components/pagination/index.d.ts +5 -0
- package/dist/components/pagination/index.d.ts.map +1 -0
- package/dist/components/pagination/index.js +19 -0
- package/dist/components/pagination/index.js.map +1 -0
- package/dist/components/pagination/pagination-engine.d.ts +3 -0
- package/dist/components/pagination/pagination-engine.d.ts.map +1 -0
- package/dist/components/pagination/pagination-engine.js +70 -0
- package/dist/components/pagination/pagination-engine.js.map +1 -0
- package/dist/components/pagination/types.d.ts +67 -0
- package/dist/components/pagination/types.d.ts.map +1 -0
- package/dist/components/pagination/types.js +1 -0
- package/dist/components/pagination/types.js.map +1 -0
- package/dist/components/pagination/use-pagination.d.ts +3 -0
- package/dist/components/pagination/use-pagination.d.ts.map +1 -0
- package/dist/components/pagination/use-pagination.js +34 -0
- package/dist/components/pagination/use-pagination.js.map +1 -0
- package/dist/components/pagination.d.ts +1 -0
- package/dist/components/pagination.js +1 -0
- package/dist/components/popup/Popup.d.ts +25 -0
- package/dist/components/popup/Popup.d.ts.map +1 -0
- package/dist/components/popup/Popup.js +163 -0
- package/dist/components/popup/Popup.js.map +1 -0
- package/dist/components/popup/PopupParts.d.ts +41 -0
- package/dist/components/popup/PopupParts.d.ts.map +1 -0
- package/dist/components/popup/PopupParts.js +39 -0
- package/dist/components/popup/PopupParts.js.map +1 -0
- package/dist/components/popup/index.d.ts +4 -0
- package/dist/components/popup/index.d.ts.map +1 -0
- package/dist/components/popup/index.js +9 -0
- package/dist/components/popup/index.js.map +1 -0
- package/dist/components/popup/types.d.ts +68 -0
- package/dist/components/popup/types.d.ts.map +1 -0
- package/dist/components/popup/types.js +1 -0
- package/dist/components/popup/types.js.map +1 -0
- package/dist/components/popup.d.ts +1 -0
- package/dist/components/popup.js +1 -0
- package/dist/components/radio-group/RadioGroup.d.ts +7 -0
- package/dist/components/radio-group/RadioGroup.d.ts.map +1 -0
- package/dist/components/radio-group/RadioGroup.js +38 -0
- package/dist/components/radio-group/RadioGroup.js.map +1 -0
- package/dist/components/radio-group/index.d.ts +3 -0
- package/dist/components/radio-group/index.d.ts.map +1 -0
- package/dist/components/radio-group/index.js +5 -0
- package/dist/components/radio-group/index.js.map +1 -0
- package/dist/components/radio-group/types.d.ts +18 -0
- package/dist/components/radio-group/types.d.ts.map +1 -0
- package/dist/components/radio-group/types.js +1 -0
- package/dist/components/radio-group/types.js.map +1 -0
- package/dist/components/radio-group.d.ts +1 -0
- package/dist/components/radio-group.js +1 -0
- package/dist/components/rating/Rating.d.ts +7 -0
- package/dist/components/rating/Rating.d.ts.map +1 -0
- package/dist/components/rating/Rating.js +35 -0
- package/dist/components/rating/Rating.js.map +1 -0
- package/dist/components/rating/client/RatingClient.d.ts +16 -0
- package/dist/components/rating/client/RatingClient.d.ts.map +1 -0
- package/dist/components/rating/client/RatingClient.js +46 -0
- package/dist/components/rating/client/RatingClient.js.map +1 -0
- package/dist/components/rating/client/index.d.ts +3 -0
- package/dist/components/rating/client/index.d.ts.map +1 -0
- package/dist/components/rating/client/index.js +5 -0
- package/dist/components/rating/client/index.js.map +1 -0
- package/dist/components/rating/client.d.ts +1 -0
- package/dist/components/rating/client.js +1 -0
- package/dist/components/rating/index.d.ts +3 -0
- package/dist/components/rating/index.d.ts.map +1 -0
- package/dist/components/rating/index.js +5 -0
- package/dist/components/rating/index.js.map +1 -0
- package/dist/components/rating/rating-items.d.ts +15 -0
- package/dist/components/rating/rating-items.d.ts.map +1 -0
- package/dist/components/rating/rating-items.js +23 -0
- package/dist/components/rating/rating-items.js.map +1 -0
- package/dist/components/rating/types.d.ts +14 -0
- package/dist/components/rating/types.d.ts.map +1 -0
- package/dist/components/rating/types.js +1 -0
- package/dist/components/rating/types.js.map +1 -0
- package/dist/components/rating.d.ts +1 -0
- package/dist/components/rating.js +1 -0
- package/dist/components/segmented-control/SegmentedControl.d.ts +7 -0
- package/dist/components/segmented-control/SegmentedControl.d.ts.map +1 -0
- package/dist/components/segmented-control/SegmentedControl.js +42 -0
- package/dist/components/segmented-control/SegmentedControl.js.map +1 -0
- package/dist/components/segmented-control/client/SegmentedControlClient.d.ts +7 -0
- package/dist/components/segmented-control/client/SegmentedControlClient.d.ts.map +1 -0
- package/dist/components/segmented-control/client/SegmentedControlClient.js +55 -0
- package/dist/components/segmented-control/client/SegmentedControlClient.js.map +1 -0
- package/dist/components/segmented-control/client/index.d.ts +3 -0
- package/dist/components/segmented-control/client/index.d.ts.map +1 -0
- package/dist/components/segmented-control/client/index.js +5 -0
- package/dist/components/segmented-control/client/index.js.map +1 -0
- package/dist/components/segmented-control/client.d.ts +1 -0
- package/dist/components/segmented-control/client.js +1 -0
- package/dist/components/segmented-control/index.d.ts +3 -0
- package/dist/components/segmented-control/index.d.ts.map +1 -0
- package/dist/components/segmented-control/index.js +5 -0
- package/dist/components/segmented-control/index.js.map +1 -0
- package/dist/components/segmented-control/types.d.ts +19 -0
- package/dist/components/segmented-control/types.d.ts.map +1 -0
- package/dist/components/segmented-control/types.js +1 -0
- package/dist/components/segmented-control/types.js.map +1 -0
- package/dist/components/segmented-control.d.ts +1 -0
- package/dist/components/segmented-control.js +1 -0
- package/dist/components/select/Select.d.ts +21 -0
- package/dist/components/select/Select.d.ts.map +1 -0
- package/dist/components/select/Select.js +102 -0
- package/dist/components/select/Select.js.map +1 -0
- package/dist/components/select/index.d.ts +3 -0
- package/dist/components/select/index.d.ts.map +1 -0
- package/dist/components/select/index.js +17 -0
- package/dist/components/select/index.js.map +1 -0
- package/dist/components/select/types.d.ts +32 -0
- package/dist/components/select/types.d.ts.map +1 -0
- package/dist/components/select/types.js +1 -0
- package/dist/components/select/types.js.map +1 -0
- package/dist/components/select.d.ts +1 -0
- package/dist/components/select.js +1 -0
- package/dist/components/skeleton/Skeleton.d.ts +7 -0
- package/dist/components/skeleton/Skeleton.d.ts.map +1 -0
- package/dist/components/skeleton/Skeleton.js +64 -0
- package/dist/components/skeleton/Skeleton.js.map +1 -0
- package/dist/components/skeleton/index.d.ts +3 -0
- package/dist/components/skeleton/index.d.ts.map +1 -0
- package/dist/components/skeleton/index.js +5 -0
- package/dist/components/skeleton/index.js.map +1 -0
- package/dist/components/skeleton/types.d.ts +21 -0
- package/dist/components/skeleton/types.d.ts.map +1 -0
- package/dist/components/skeleton/types.js +1 -0
- package/dist/components/skeleton/types.js.map +1 -0
- package/dist/components/skeleton.d.ts +1 -0
- package/dist/components/skeleton.js +1 -0
- package/dist/components/slider/Slider.d.ts +4 -0
- package/dist/components/slider/Slider.d.ts.map +1 -0
- package/dist/components/slider/Slider.js +43 -0
- package/dist/components/slider/Slider.js.map +1 -0
- package/dist/components/slider/index.d.ts +3 -0
- package/dist/components/slider/index.d.ts.map +1 -0
- package/dist/components/slider/index.js +5 -0
- package/dist/components/slider/index.js.map +1 -0
- package/dist/components/slider/types.d.ts +13 -0
- package/dist/components/slider/types.d.ts.map +1 -0
- package/dist/components/slider/types.js +1 -0
- package/dist/components/slider/types.js.map +1 -0
- package/dist/components/slider.d.ts +1 -0
- package/dist/components/slider.js +1 -0
- package/dist/components/spinner/Spinner.d.ts +7 -0
- package/dist/components/spinner/Spinner.d.ts.map +1 -0
- package/dist/components/spinner/Spinner.js +42 -0
- package/dist/components/spinner/Spinner.js.map +1 -0
- package/dist/components/spinner/index.d.ts +3 -0
- package/dist/components/spinner/index.d.ts.map +1 -0
- package/dist/components/spinner/index.js +5 -0
- package/dist/components/spinner/index.js.map +1 -0
- package/dist/components/spinner/types.d.ts +16 -0
- package/dist/components/spinner/types.d.ts.map +1 -0
- package/dist/components/spinner/types.js +1 -0
- package/dist/components/spinner/types.js.map +1 -0
- package/dist/components/spinner.d.ts +1 -0
- package/dist/components/spinner.js +1 -0
- package/dist/components/stepper/Stepper.d.ts +7 -0
- package/dist/components/stepper/Stepper.d.ts.map +1 -0
- package/dist/components/stepper/Stepper.js +35 -0
- package/dist/components/stepper/Stepper.js.map +1 -0
- package/dist/components/stepper/index.d.ts +3 -0
- package/dist/components/stepper/index.d.ts.map +1 -0
- package/dist/components/stepper/index.js +5 -0
- package/dist/components/stepper/index.js.map +1 -0
- package/dist/components/stepper/types.d.ts +14 -0
- package/dist/components/stepper/types.d.ts.map +1 -0
- package/dist/components/stepper/types.js +1 -0
- package/dist/components/stepper/types.js.map +1 -0
- package/dist/components/stepper.d.ts +1 -0
- package/dist/components/stepper.js +1 -0
- package/dist/components/switch/Switch.d.ts +4 -0
- package/dist/components/switch/Switch.d.ts.map +1 -0
- package/dist/components/switch/Switch.js +39 -0
- package/dist/components/switch/Switch.js.map +1 -0
- package/dist/components/switch/index.d.ts +3 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/switch/index.js +5 -0
- package/dist/components/switch/index.js.map +1 -0
- package/dist/components/switch/types.d.ts +10 -0
- package/dist/components/switch/types.d.ts.map +1 -0
- package/dist/components/switch/types.js +1 -0
- package/dist/components/switch/types.js.map +1 -0
- package/dist/components/switch.d.ts +1 -0
- package/dist/components/switch.js +1 -0
- package/dist/components/table/Table.d.ts +41 -0
- package/dist/components/table/Table.d.ts.map +1 -0
- package/dist/components/table/Table.js +275 -0
- package/dist/components/table/Table.js.map +1 -0
- package/dist/components/table/TableShell.d.ts +20 -0
- package/dist/components/table/TableShell.d.ts.map +1 -0
- package/dist/components/table/TableShell.js +127 -0
- package/dist/components/table/TableShell.js.map +1 -0
- package/dist/components/table/index.d.ts +3 -0
- package/dist/components/table/index.d.ts.map +1 -0
- package/dist/components/table/index.js +25 -0
- package/dist/components/table/index.js.map +1 -0
- package/dist/components/table/table-store.d.ts +3 -0
- package/dist/components/table/table-store.d.ts.map +1 -0
- package/dist/components/table/table-store.js +182 -0
- package/dist/components/table/table-store.js.map +1 -0
- package/dist/components/table/types.d.ts +102 -0
- package/dist/components/table/types.d.ts.map +1 -0
- package/dist/components/table/types.js +1 -0
- package/dist/components/table/types.js.map +1 -0
- package/dist/components/table.d.ts +1 -0
- package/dist/components/table.js +1 -0
- package/dist/components/tabs/Tabs.d.ts +7 -0
- package/dist/components/tabs/Tabs.d.ts.map +1 -0
- package/dist/components/tabs/Tabs.js +33 -0
- package/dist/components/tabs/Tabs.js.map +1 -0
- package/dist/components/tabs/index.d.ts +3 -0
- package/dist/components/tabs/index.d.ts.map +1 -0
- package/dist/components/tabs/index.js +5 -0
- package/dist/components/tabs/index.js.map +1 -0
- package/dist/components/tabs/types.d.ts +21 -0
- package/dist/components/tabs/types.d.ts.map +1 -0
- package/dist/components/tabs/types.js +1 -0
- package/dist/components/tabs/types.js.map +1 -0
- package/dist/components/tabs.d.ts +1 -0
- package/dist/components/tabs.js +1 -0
- package/dist/components/tags-input/TagsInput.d.ts +24 -0
- package/dist/components/tags-input/TagsInput.d.ts.map +1 -0
- package/dist/components/tags-input/TagsInput.js +260 -0
- package/dist/components/tags-input/TagsInput.js.map +1 -0
- package/dist/components/tags-input/index.d.ts +4 -0
- package/dist/components/tags-input/index.d.ts.map +1 -0
- package/dist/components/tags-input/index.js +19 -0
- package/dist/components/tags-input/index.js.map +1 -0
- package/dist/components/tags-input/tags-input-store.d.ts +4 -0
- package/dist/components/tags-input/tags-input-store.d.ts.map +1 -0
- package/dist/components/tags-input/tags-input-store.js +67 -0
- package/dist/components/tags-input/tags-input-store.js.map +1 -0
- package/dist/components/tags-input/types.d.ts +75 -0
- package/dist/components/tags-input/types.d.ts.map +1 -0
- package/dist/components/tags-input/types.js +1 -0
- package/dist/components/tags-input/types.js.map +1 -0
- package/dist/components/tags-input.d.ts +1 -0
- package/dist/components/tags-input.js +1 -0
- package/dist/components/textarea/Textarea.d.ts +4 -0
- package/dist/components/textarea/Textarea.d.ts.map +1 -0
- package/dist/components/textarea/Textarea.js +43 -0
- package/dist/components/textarea/Textarea.js.map +1 -0
- package/dist/components/textarea/index.d.ts +3 -0
- package/dist/components/textarea/index.d.ts.map +1 -0
- package/dist/components/textarea/index.js +5 -0
- package/dist/components/textarea/index.js.map +1 -0
- package/dist/components/textarea/types.d.ts +13 -0
- package/dist/components/textarea/types.d.ts.map +1 -0
- package/dist/components/textarea/types.js +1 -0
- package/dist/components/textarea/types.js.map +1 -0
- package/dist/components/textarea.d.ts +1 -0
- package/dist/components/textarea.js +1 -0
- package/dist/components/toast/Toast.d.ts +39 -0
- package/dist/components/toast/Toast.d.ts.map +1 -0
- package/dist/components/toast/Toast.js +170 -0
- package/dist/components/toast/Toast.js.map +1 -0
- package/dist/components/toast/ToastElements.d.ts +25 -0
- package/dist/components/toast/ToastElements.d.ts.map +1 -0
- package/dist/components/toast/ToastElements.js +109 -0
- package/dist/components/toast/ToastElements.js.map +1 -0
- package/dist/components/toast/index.d.ts +4 -0
- package/dist/components/toast/index.d.ts.map +1 -0
- package/dist/components/toast/index.js +23 -0
- package/dist/components/toast/index.js.map +1 -0
- package/dist/components/toast/toast-store.d.ts +3 -0
- package/dist/components/toast/toast-store.d.ts.map +1 -0
- package/dist/components/toast/toast-store.js +103 -0
- package/dist/components/toast/toast-store.js.map +1 -0
- package/dist/components/toast/types.d.ts +91 -0
- package/dist/components/toast/types.d.ts.map +1 -0
- package/dist/components/toast/types.js +1 -0
- package/dist/components/toast/types.js.map +1 -0
- package/dist/components/toast.d.ts +1 -0
- package/dist/components/toast.js +1 -0
- package/dist/components/toggle/Toggle.d.ts +7 -0
- package/dist/components/toggle/Toggle.d.ts.map +1 -0
- package/dist/components/toggle/Toggle.js +34 -0
- package/dist/components/toggle/Toggle.js.map +1 -0
- package/dist/components/toggle/index.d.ts +3 -0
- package/dist/components/toggle/index.d.ts.map +1 -0
- package/dist/components/toggle/index.js +5 -0
- package/dist/components/toggle/index.js.map +1 -0
- package/dist/components/toggle/types.d.ts +10 -0
- package/dist/components/toggle/types.d.ts.map +1 -0
- package/dist/components/toggle/types.js +1 -0
- package/dist/components/toggle/types.js.map +1 -0
- package/dist/components/toggle-group/ToggleGroup.d.ts +7 -0
- package/dist/components/toggle-group/ToggleGroup.d.ts.map +1 -0
- package/dist/components/toggle-group/ToggleGroup.js +42 -0
- package/dist/components/toggle-group/ToggleGroup.js.map +1 -0
- package/dist/components/toggle-group/client/ToggleGroupClient.d.ts +7 -0
- package/dist/components/toggle-group/client/ToggleGroupClient.d.ts.map +1 -0
- package/dist/components/toggle-group/client/ToggleGroupClient.js +151 -0
- package/dist/components/toggle-group/client/ToggleGroupClient.js.map +1 -0
- package/dist/components/toggle-group/client/index.d.ts +3 -0
- package/dist/components/toggle-group/client/index.d.ts.map +1 -0
- package/dist/components/toggle-group/client/index.js +5 -0
- package/dist/components/toggle-group/client/index.js.map +1 -0
- package/dist/components/toggle-group/client.d.ts +1 -0
- package/dist/components/toggle-group/client.js +1 -0
- package/dist/components/toggle-group/index.d.ts +3 -0
- package/dist/components/toggle-group/index.d.ts.map +1 -0
- package/dist/components/toggle-group/index.js +5 -0
- package/dist/components/toggle-group/index.js.map +1 -0
- package/dist/components/toggle-group/types.d.ts +19 -0
- package/dist/components/toggle-group/types.d.ts.map +1 -0
- package/dist/components/toggle-group/types.js +1 -0
- package/dist/components/toggle-group/types.js.map +1 -0
- package/dist/components/toggle-group.d.ts +1 -0
- package/dist/components/toggle-group.js +1 -0
- package/dist/components/toggle.d.ts +1 -0
- package/dist/components/toggle.js +1 -0
- package/dist/components/toolbar/Toolbar.d.ts +40 -0
- package/dist/components/toolbar/Toolbar.d.ts.map +1 -0
- package/dist/components/toolbar/Toolbar.js +142 -0
- package/dist/components/toolbar/Toolbar.js.map +1 -0
- package/dist/components/toolbar/ToolbarShell.d.ts +31 -0
- package/dist/components/toolbar/ToolbarShell.d.ts.map +1 -0
- package/dist/components/toolbar/ToolbarShell.js +81 -0
- package/dist/components/toolbar/ToolbarShell.js.map +1 -0
- package/dist/components/toolbar/index.d.ts +3 -0
- package/dist/components/toolbar/index.d.ts.map +1 -0
- package/dist/components/toolbar/index.js +5 -0
- package/dist/components/toolbar/index.js.map +1 -0
- package/dist/components/toolbar/types.d.ts +32 -0
- package/dist/components/toolbar/types.d.ts.map +1 -0
- package/dist/components/toolbar/types.js +1 -0
- package/dist/components/toolbar/types.js.map +1 -0
- package/dist/components/toolbar.d.ts +1 -0
- package/dist/components/toolbar.js +1 -0
- package/dist/components/tooltip/Tooltip.d.ts +19 -0
- package/dist/components/tooltip/Tooltip.d.ts.map +1 -0
- package/dist/components/tooltip/Tooltip.js +191 -0
- package/dist/components/tooltip/Tooltip.js.map +1 -0
- package/dist/components/tooltip/index.d.ts +3 -0
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tooltip/index.js +15 -0
- package/dist/components/tooltip/index.js.map +1 -0
- package/dist/components/tooltip/tooltip-store.d.ts +5 -0
- package/dist/components/tooltip/tooltip-store.d.ts.map +1 -0
- package/dist/components/tooltip/tooltip-store.js +24 -0
- package/dist/components/tooltip/tooltip-store.js.map +1 -0
- package/dist/components/tooltip/types.d.ts +46 -0
- package/dist/components/tooltip/types.d.ts.map +1 -0
- package/dist/components/tooltip/types.js +1 -0
- package/dist/components/tooltip/types.js.map +1 -0
- package/dist/components/tooltip.d.ts +1 -0
- package/dist/components/tooltip.js +1 -0
- package/dist/components/virtual-scroll/VirtualScroll.d.ts +7 -0
- package/dist/components/virtual-scroll/VirtualScroll.d.ts.map +1 -0
- package/dist/components/virtual-scroll/VirtualScroll.js +459 -0
- package/dist/components/virtual-scroll/VirtualScroll.js.map +1 -0
- package/dist/components/virtual-scroll/VirtualScrollRowItem.d.ts +15 -0
- package/dist/components/virtual-scroll/VirtualScrollRowItem.d.ts.map +1 -0
- package/dist/components/virtual-scroll/VirtualScrollRowItem.js +18 -0
- package/dist/components/virtual-scroll/VirtualScrollRowItem.js.map +1 -0
- package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts +29 -0
- package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts.map +1 -0
- package/dist/components/virtual-scroll/VirtualScrollRowShell.js +47 -0
- package/dist/components/virtual-scroll/VirtualScrollRowShell.js.map +1 -0
- package/dist/components/virtual-scroll/index.d.ts +4 -0
- package/dist/components/virtual-scroll/index.d.ts.map +1 -0
- package/dist/components/virtual-scroll/index.js +15 -0
- package/dist/components/virtual-scroll/index.js.map +1 -0
- package/dist/components/virtual-scroll/types.d.ts +64 -0
- package/dist/components/virtual-scroll/types.d.ts.map +1 -0
- package/dist/components/virtual-scroll/types.js +11 -0
- package/dist/components/virtual-scroll/types.js.map +1 -0
- package/dist/components/virtual-scroll/virtual-scroll-anchor.d.ts +20 -0
- package/dist/components/virtual-scroll/virtual-scroll-anchor.d.ts.map +1 -0
- package/dist/components/virtual-scroll/virtual-scroll-anchor.js +22 -0
- package/dist/components/virtual-scroll/virtual-scroll-anchor.js.map +1 -0
- package/dist/components/virtual-scroll/virtual-scroll-ios.d.ts +16 -0
- package/dist/components/virtual-scroll/virtual-scroll-ios.d.ts.map +1 -0
- package/dist/components/virtual-scroll/virtual-scroll-ios.js +54 -0
- package/dist/components/virtual-scroll/virtual-scroll-ios.js.map +1 -0
- package/dist/components/virtual-scroll/virtual-scroll-measurements.d.ts +27 -0
- package/dist/components/virtual-scroll/virtual-scroll-measurements.d.ts.map +1 -0
- package/dist/components/virtual-scroll/virtual-scroll-measurements.js +91 -0
- package/dist/components/virtual-scroll/virtual-scroll-measurements.js.map +1 -0
- package/dist/components/virtual-scroll/virtual-scroll-range.d.ts +31 -0
- package/dist/components/virtual-scroll/virtual-scroll-range.d.ts.map +1 -0
- package/dist/components/virtual-scroll/virtual-scroll-range.js +58 -0
- package/dist/components/virtual-scroll/virtual-scroll-range.js.map +1 -0
- package/dist/components/virtual-scroll/virtual-scroll-scroll-state.d.ts +14 -0
- package/dist/components/virtual-scroll/virtual-scroll-scroll-state.d.ts.map +1 -0
- package/dist/components/virtual-scroll/virtual-scroll-scroll-state.js +45 -0
- package/dist/components/virtual-scroll/virtual-scroll-scroll-state.js.map +1 -0
- package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.d.ts +8 -0
- package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.d.ts.map +1 -0
- package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.js +19 -0
- package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.js.map +1 -0
- package/dist/components/virtual-scroll/virtual-scroll-scroll.d.ts +13 -0
- package/dist/components/virtual-scroll/virtual-scroll-scroll.d.ts.map +1 -0
- package/dist/components/virtual-scroll/virtual-scroll-scroll.js +56 -0
- package/dist/components/virtual-scroll/virtual-scroll-scroll.js.map +1 -0
- package/dist/components/virtual-scroll.d.ts +1 -0
- package/dist/components/virtual-scroll.js +1 -0
- package/dist/core/anchor-position/props.d.ts +6 -0
- package/dist/core/anchor-position/props.d.ts.map +1 -0
- package/dist/core/anchor-position/props.js +24 -0
- package/dist/core/anchor-position/props.js.map +1 -0
- package/dist/core/anchor-position/types.d.ts +30 -0
- package/dist/core/anchor-position/types.d.ts.map +1 -0
- package/dist/core/anchor-position/types.js +1 -0
- package/dist/core/anchor-position/types.js.map +1 -0
- package/dist/core/anchor-position.d.ts +6 -0
- package/dist/core/anchor-position.d.ts.map +1 -0
- package/dist/core/anchor-position.js +17 -0
- package/dist/core/anchor-position.js.map +1 -0
- package/dist/core/anchor.d.ts +18 -0
- package/dist/core/anchor.d.ts.map +1 -0
- package/dist/core/anchor.js +63 -0
- package/dist/core/anchor.js.map +1 -0
- package/dist/core/collection-store.d.ts +15 -0
- package/dist/core/collection-store.d.ts.map +1 -0
- package/dist/core/collection-store.js +49 -0
- package/dist/core/collection-store.js.map +1 -0
- package/dist/core/collection.d.ts +16 -0
- package/dist/core/collection.d.ts.map +1 -0
- package/dist/core/collection.js +42 -0
- package/dist/core/collection.js.map +1 -0
- package/dist/core/compose-event-handlers.d.ts +12 -0
- package/dist/core/compose-event-handlers.d.ts.map +1 -0
- package/dist/core/compose-event-handlers.js +10 -0
- package/dist/core/compose-event-handlers.js.map +1 -0
- package/dist/core/create-part-context.d.ts +15 -0
- package/dist/core/create-part-context.d.ts.map +1 -0
- package/dist/core/create-part-context.js +17 -0
- package/dist/core/create-part-context.js.map +1 -0
- package/dist/core/dialog.d.ts +3 -0
- package/dist/core/dialog.d.ts.map +1 -0
- package/dist/core/dialog.js +5 -0
- package/dist/core/dialog.js.map +1 -0
- package/dist/core/direction.d.ts +11 -0
- package/dist/core/direction.d.ts.map +1 -0
- package/dist/core/direction.js +19 -0
- package/dist/core/direction.js.map +1 -0
- package/dist/core/dismissable-layer-registry.d.ts +8 -0
- package/dist/core/dismissable-layer-registry.d.ts.map +1 -0
- package/dist/core/dismissable-layer-registry.js +50 -0
- package/dist/core/dismissable-layer-registry.js.map +1 -0
- package/dist/core/dismissable-layer.d.ts +12 -0
- package/dist/core/dismissable-layer.d.ts.map +1 -0
- package/dist/core/dismissable-layer.js +48 -0
- package/dist/core/dismissable-layer.js.map +1 -0
- package/dist/core/dom-order.d.ts +3 -0
- package/dist/core/dom-order.d.ts.map +1 -0
- package/dist/core/dom-order.js +13 -0
- package/dist/core/dom-order.js.map +1 -0
- package/dist/core/focus-scope.d.ts +14 -0
- package/dist/core/focus-scope.d.ts.map +1 -0
- package/dist/core/focus-scope.js +104 -0
- package/dist/core/focus-scope.js.map +1 -0
- package/dist/core/hover-intent-store.d.ts +22 -0
- package/dist/core/hover-intent-store.d.ts.map +1 -0
- package/dist/core/hover-intent-store.js +54 -0
- package/dist/core/hover-intent-store.js.map +1 -0
- package/dist/core/hover-overlay.d.ts +35 -0
- package/dist/core/hover-overlay.d.ts.map +1 -0
- package/dist/core/hover-overlay.js +66 -0
- package/dist/core/hover-overlay.js.map +1 -0
- package/dist/core/index.d.ts +21 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +21 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/open-change-details.d.ts +15 -0
- package/dist/core/open-change-details.d.ts.map +1 -0
- package/dist/core/open-change-details.js +21 -0
- package/dist/core/open-change-details.js.map +1 -0
- package/dist/core/platform.d.ts +25 -0
- package/dist/core/platform.d.ts.map +1 -0
- package/dist/core/platform.js +48 -0
- package/dist/core/platform.js.map +1 -0
- package/dist/core/polymorphic.d.ts +30 -0
- package/dist/core/polymorphic.d.ts.map +1 -0
- package/dist/core/polymorphic.js +1 -0
- package/dist/core/polymorphic.js.map +1 -0
- package/dist/core/popover.d.ts +3 -0
- package/dist/core/popover.d.ts.map +1 -0
- package/dist/core/popover.js +5 -0
- package/dist/core/popover.js.map +1 -0
- package/dist/core/portal.d.ts +8 -0
- package/dist/core/portal.d.ts.map +1 -0
- package/dist/core/portal.js +18 -0
- package/dist/core/portal.js.map +1 -0
- package/dist/core/presence.d.ts +13 -0
- package/dist/core/presence.d.ts.map +1 -0
- package/dist/core/presence.js +42 -0
- package/dist/core/presence.js.map +1 -0
- package/dist/core/render-native-invoker.d.ts +16 -0
- package/dist/core/render-native-invoker.d.ts.map +1 -0
- package/dist/core/render-native-invoker.js +15 -0
- package/dist/core/render-native-invoker.js.map +1 -0
- package/dist/core/render.d.ts +5 -0
- package/dist/core/render.d.ts.map +1 -0
- package/dist/core/render.js +7 -0
- package/dist/core/render.js.map +1 -0
- package/dist/core/roving-focus-store.d.ts +29 -0
- package/dist/core/roving-focus-store.d.ts.map +1 -0
- package/dist/core/roving-focus-store.js +125 -0
- package/dist/core/roving-focus-store.js.map +1 -0
- package/dist/core/roving-focus.d.ts +29 -0
- package/dist/core/roving-focus.d.ts.map +1 -0
- package/dist/core/roving-focus.js +115 -0
- package/dist/core/roving-focus.js.map +1 -0
- package/dist/core/split-ref.d.ts +9 -0
- package/dist/core/split-ref.d.ts.map +1 -0
- package/dist/core/split-ref.js +8 -0
- package/dist/core/split-ref.js.map +1 -0
- package/dist/core/tabbable.d.ts +8 -0
- package/dist/core/tabbable.d.ts.map +1 -0
- package/dist/core/tabbable.js +94 -0
- package/dist/core/tabbable.js.map +1 -0
- package/dist/core/use-anchor-position.d.ts +4 -0
- package/dist/core/use-anchor-position.d.ts.map +1 -0
- package/dist/core/use-anchor-position.js +24 -0
- package/dist/core/use-anchor-position.js.map +1 -0
- package/dist/core/use-controllable-open-change.d.ts +13 -0
- package/dist/core/use-controllable-open-change.d.ts.map +1 -0
- package/dist/core/use-controllable-open-change.js +33 -0
- package/dist/core/use-controllable-open-change.js.map +1 -0
- package/dist/core/use-dialog.d.ts +16 -0
- package/dist/core/use-dialog.d.ts.map +1 -0
- package/dist/core/use-dialog.js +85 -0
- package/dist/core/use-dialog.js.map +1 -0
- package/dist/core/use-popover.d.ts +20 -0
- package/dist/core/use-popover.d.ts.map +1 -0
- package/dist/core/use-popover.js +80 -0
- package/dist/core/use-popover.js.map +1 -0
- package/dist/core/use-render-element.d.ts +11 -0
- package/dist/core/use-render-element.d.ts.map +1 -0
- package/dist/core/use-render-element.js +15 -0
- package/dist/core/use-render-element.js.map +1 -0
- package/dist/core/visually-hidden.d.ts +5 -0
- package/dist/core/visually-hidden.d.ts.map +1 -0
- package/dist/core/visually-hidden.js +35 -0
- package/dist/core/visually-hidden.js.map +1 -0
- package/dist/elements/choice/Choice.d.ts +26 -0
- package/dist/elements/choice/Choice.d.ts.map +1 -0
- package/dist/elements/choice/Choice.js +75 -0
- package/dist/elements/choice/Choice.js.map +1 -0
- package/dist/elements/choice/ids.d.ts +11 -0
- package/dist/elements/choice/ids.d.ts.map +1 -0
- package/dist/elements/choice/ids.js +15 -0
- package/dist/elements/choice/ids.js.map +1 -0
- package/dist/elements/choice/index.d.ts +4 -0
- package/dist/elements/choice/index.d.ts.map +1 -0
- package/dist/elements/choice/index.js +10 -0
- package/dist/elements/choice/index.js.map +1 -0
- package/dist/elements/choice/types.d.ts +59 -0
- package/dist/elements/choice/types.d.ts.map +1 -0
- package/dist/elements/choice/types.js +1 -0
- package/dist/elements/choice/types.js.map +1 -0
- package/dist/elements/choice.d.ts +1 -0
- package/dist/elements/choice.js +1 -0
- package/dist/elements/details/Details.d.ts +36 -0
- package/dist/elements/details/Details.d.ts.map +1 -0
- package/dist/elements/details/Details.js +53 -0
- package/dist/elements/details/Details.js.map +1 -0
- package/dist/elements/details/index.d.ts +3 -0
- package/dist/elements/details/index.d.ts.map +1 -0
- package/dist/elements/details/index.js +8 -0
- package/dist/elements/details/index.js.map +1 -0
- package/dist/elements/details/types.d.ts +29 -0
- package/dist/elements/details/types.d.ts.map +1 -0
- package/dist/elements/details/types.js +1 -0
- package/dist/elements/details/types.js.map +1 -0
- package/dist/elements/details.d.ts +1 -0
- package/dist/elements/details.js +1 -0
- package/dist/elements/dialog/Dialog.d.ts +47 -0
- package/dist/elements/dialog/Dialog.d.ts.map +1 -0
- package/dist/elements/dialog/Dialog.js +47 -0
- package/dist/elements/dialog/Dialog.js.map +1 -0
- package/dist/elements/dialog/index.d.ts +3 -0
- package/dist/elements/dialog/index.d.ts.map +1 -0
- package/dist/elements/dialog/index.js +8 -0
- package/dist/elements/dialog/index.js.map +1 -0
- package/dist/elements/dialog/types.d.ts +37 -0
- package/dist/elements/dialog/types.d.ts.map +1 -0
- package/dist/elements/dialog/types.js +1 -0
- package/dist/elements/dialog/types.js.map +1 -0
- package/dist/elements/dialog.d.ts +1 -0
- package/dist/elements/dialog.js +1 -0
- package/dist/elements/index.d.ts +6 -0
- package/dist/elements/index.d.ts.map +1 -0
- package/dist/elements/index.js +6 -0
- package/dist/elements/index.js.map +1 -0
- package/dist/elements/invoker/Invoker.d.ts +16 -0
- package/dist/elements/invoker/Invoker.d.ts.map +1 -0
- package/dist/elements/invoker/Invoker.js +16 -0
- package/dist/elements/invoker/Invoker.js.map +1 -0
- package/dist/elements/invoker/index.d.ts +3 -0
- package/dist/elements/invoker/index.d.ts.map +1 -0
- package/dist/elements/invoker/index.js +5 -0
- package/dist/elements/invoker/index.js.map +1 -0
- package/dist/elements/invoker/types.d.ts +23 -0
- package/dist/elements/invoker/types.d.ts.map +1 -0
- package/dist/elements/invoker/types.js +1 -0
- package/dist/elements/invoker/types.js.map +1 -0
- package/dist/elements/invoker.d.ts +1 -0
- package/dist/elements/invoker.js +1 -0
- package/dist/elements/popover/Popover.d.ts +40 -0
- package/dist/elements/popover/Popover.d.ts.map +1 -0
- package/dist/elements/popover/Popover.js +72 -0
- package/dist/elements/popover/Popover.js.map +1 -0
- package/dist/elements/popover/index.d.ts +3 -0
- package/dist/elements/popover/index.d.ts.map +1 -0
- package/dist/elements/popover/index.js +8 -0
- package/dist/elements/popover/index.js.map +1 -0
- package/dist/elements/popover/types.d.ts +33 -0
- package/dist/elements/popover/types.d.ts.map +1 -0
- package/dist/elements/popover/types.js +1 -0
- package/dist/elements/popover/types.js.map +1 -0
- package/dist/elements/popover.d.ts +1 -0
- package/dist/elements/popover.js +1 -0
- package/dist/hooks/index.d.ts +36 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +56 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/use-chart-viewport.d.ts +33 -0
- package/dist/hooks/use-chart-viewport.d.ts.map +1 -0
- package/dist/hooks/use-chart-viewport.js +60 -0
- package/dist/hooks/use-chart-viewport.js.map +1 -0
- package/dist/hooks/use-click-outside.d.ts +4 -0
- package/dist/hooks/use-click-outside.d.ts.map +1 -0
- package/dist/hooks/use-click-outside.js +20 -0
- package/dist/hooks/use-click-outside.js.map +1 -0
- package/dist/hooks/use-controllable-state.d.ts +16 -0
- package/dist/hooks/use-controllable-state.d.ts.map +1 -0
- package/dist/hooks/use-controllable-state.js +32 -0
- package/dist/hooks/use-controllable-state.js.map +1 -0
- package/dist/hooks/use-debounce.d.ts +3 -0
- package/dist/hooks/use-debounce.d.ts.map +1 -0
- package/dist/hooks/use-debounce.js +14 -0
- package/dist/hooks/use-debounce.js.map +1 -0
- package/dist/hooks/use-debounced-callback.d.ts +5 -0
- package/dist/hooks/use-debounced-callback.d.ts.map +1 -0
- package/dist/hooks/use-debounced-callback.js +14 -0
- package/dist/hooks/use-debounced-callback.js.map +1 -0
- package/dist/hooks/use-event-callback.d.ts +7 -0
- package/dist/hooks/use-event-callback.d.ts.map +1 -0
- package/dist/hooks/use-event-callback.js +14 -0
- package/dist/hooks/use-event-callback.js.map +1 -0
- package/dist/hooks/use-event-listener.d.ts +4 -0
- package/dist/hooks/use-event-listener.d.ts.map +1 -0
- package/dist/hooks/use-event-listener.js +27 -0
- package/dist/hooks/use-event-listener.js.map +1 -0
- package/dist/hooks/use-focus-within.d.ts +15 -0
- package/dist/hooks/use-focus-within.d.ts.map +1 -0
- package/dist/hooks/use-focus-within.js +39 -0
- package/dist/hooks/use-focus-within.js.map +1 -0
- package/dist/hooks/use-hover.d.ts +11 -0
- package/dist/hooks/use-hover.d.ts.map +1 -0
- package/dist/hooks/use-hover.js +20 -0
- package/dist/hooks/use-hover.js.map +1 -0
- package/dist/hooks/use-id.d.ts +6 -0
- package/dist/hooks/use-id.d.ts.map +1 -0
- package/dist/hooks/use-id.js +11 -0
- package/dist/hooks/use-id.js.map +1 -0
- package/dist/hooks/use-intersection-observer.d.ts +8 -0
- package/dist/hooks/use-intersection-observer.d.ts.map +1 -0
- package/dist/hooks/use-intersection-observer.js +33 -0
- package/dist/hooks/use-intersection-observer.js.map +1 -0
- package/dist/hooks/use-interval.d.ts +3 -0
- package/dist/hooks/use-interval.d.ts.map +1 -0
- package/dist/hooks/use-interval.js +9 -0
- package/dist/hooks/use-interval.js.map +1 -0
- package/dist/hooks/use-is-mounted.d.ts +3 -0
- package/dist/hooks/use-is-mounted.d.ts.map +1 -0
- package/dist/hooks/use-is-mounted.js +16 -0
- package/dist/hooks/use-is-mounted.js.map +1 -0
- package/dist/hooks/use-isomorphic-layout-effect.d.ts +7 -0
- package/dist/hooks/use-isomorphic-layout-effect.d.ts.map +1 -0
- package/dist/hooks/use-isomorphic-layout-effect.js +7 -0
- package/dist/hooks/use-isomorphic-layout-effect.js.map +1 -0
- package/dist/hooks/use-local-storage.d.ts +6 -0
- package/dist/hooks/use-local-storage.d.ts.map +1 -0
- package/dist/hooks/use-local-storage.js +86 -0
- package/dist/hooks/use-local-storage.js.map +1 -0
- package/dist/hooks/use-lock-body-scroll.d.ts +3 -0
- package/dist/hooks/use-lock-body-scroll.d.ts.map +1 -0
- package/dist/hooks/use-lock-body-scroll.js +15 -0
- package/dist/hooks/use-lock-body-scroll.js.map +1 -0
- package/dist/hooks/use-media-query.d.ts +3 -0
- package/dist/hooks/use-media-query.d.ts.map +1 -0
- package/dist/hooks/use-media-query.js +51 -0
- package/dist/hooks/use-media-query.js.map +1 -0
- package/dist/hooks/use-merged-refs.d.ts +4 -0
- package/dist/hooks/use-merged-refs.d.ts.map +1 -0
- package/dist/hooks/use-merged-refs.js +31 -0
- package/dist/hooks/use-merged-refs.js.map +1 -0
- package/dist/hooks/use-previous.d.ts +3 -0
- package/dist/hooks/use-previous.d.ts.map +1 -0
- package/dist/hooks/use-previous.js +13 -0
- package/dist/hooks/use-previous.js.map +1 -0
- package/dist/hooks/use-ref-element.d.ts +8 -0
- package/dist/hooks/use-ref-element.d.ts.map +1 -0
- package/dist/hooks/use-ref-element.js +25 -0
- package/dist/hooks/use-ref-element.js.map +1 -0
- package/dist/hooks/use-resize-observer.d.ts +6 -0
- package/dist/hooks/use-resize-observer.d.ts.map +1 -0
- package/dist/hooks/use-resize-observer.js +25 -0
- package/dist/hooks/use-resize-observer.js.map +1 -0
- package/dist/hooks/use-throttled-callback.d.ts +5 -0
- package/dist/hooks/use-throttled-callback.d.ts.map +1 -0
- package/dist/hooks/use-throttled-callback.js +14 -0
- package/dist/hooks/use-throttled-callback.js.map +1 -0
- package/dist/hooks/use-timeout.d.ts +3 -0
- package/dist/hooks/use-timeout.d.ts.map +1 -0
- package/dist/hooks/use-timeout.js +9 -0
- package/dist/hooks/use-timeout.js.map +1 -0
- package/dist/hooks/use-timer.d.ts +5 -0
- package/dist/hooks/use-timer.d.ts.map +1 -0
- package/dist/hooks/use-timer.js +22 -0
- package/dist/hooks/use-timer.js.map +1 -0
- package/dist/hooks/use-toggle.d.ts +3 -0
- package/dist/hooks/use-toggle.d.ts.map +1 -0
- package/dist/hooks/use-toggle.js +13 -0
- package/dist/hooks/use-toggle.js.map +1 -0
- package/dist/hooks/use-unmount.d.ts +3 -0
- package/dist/hooks/use-unmount.d.ts.map +1 -0
- package/dist/hooks/use-unmount.js +16 -0
- package/dist/hooks/use-unmount.js.map +1 -0
- package/dist/hooks/use-update-effect.d.ts +4 -0
- package/dist/hooks/use-update-effect.d.ts.map +1 -0
- package/dist/hooks/use-update-effect.js +19 -0
- package/dist/hooks/use-update-effect.js.map +1 -0
- package/dist/hooks/use-window-size.d.ts +5 -0
- package/dist/hooks/use-window-size.d.ts.map +1 -0
- package/dist/hooks/use-window-size.js +39 -0
- package/dist/hooks/use-window-size.js.map +1 -0
- package/dist/hooks/utils/assign-ref.d.ts +5 -0
- package/dist/hooks/utils/assign-ref.d.ts.map +1 -0
- package/dist/hooks/utils/assign-ref.js +13 -0
- package/dist/hooks/utils/assign-ref.js.map +1 -0
- package/dist/hooks/utils/click-outside-subscription.d.ts +4 -0
- package/dist/hooks/utils/click-outside-subscription.d.ts.map +1 -0
- package/dist/hooks/utils/click-outside-subscription.js +25 -0
- package/dist/hooks/utils/click-outside-subscription.js.map +1 -0
- package/dist/hooks/utils/dimensions.d.ts +5 -0
- package/dist/hooks/utils/dimensions.d.ts.map +1 -0
- package/dist/hooks/utils/dimensions.js +1 -0
- package/dist/hooks/utils/dimensions.js.map +1 -0
- package/dist/hooks/utils/intersection.d.ts +3 -0
- package/dist/hooks/utils/intersection.d.ts.map +1 -0
- package/dist/hooks/utils/intersection.js +15 -0
- package/dist/hooks/utils/intersection.js.map +1 -0
- package/dist/hooks/utils/rate-limit.d.ts +9 -0
- package/dist/hooks/utils/rate-limit.d.ts.map +1 -0
- package/dist/hooks/utils/rate-limit.js +58 -0
- package/dist/hooks/utils/rate-limit.js.map +1 -0
- package/dist/hooks/utils/ref-target.d.ts +4 -0
- package/dist/hooks/utils/ref-target.d.ts.map +1 -0
- package/dist/hooks/utils/ref-target.js +18 -0
- package/dist/hooks/utils/ref-target.js.map +1 -0
- package/dist/hooks/utils/sanitize-react-id.d.ts +3 -0
- package/dist/hooks/utils/sanitize-react-id.d.ts.map +1 -0
- package/dist/hooks/utils/sanitize-react-id.js +7 -0
- package/dist/hooks/utils/sanitize-react-id.js.map +1 -0
- package/dist/hooks/utils/scroll-lock.d.ts +5 -0
- package/dist/hooks/utils/scroll-lock.d.ts.map +1 -0
- package/dist/hooks/utils/scroll-lock.js +29 -0
- package/dist/hooks/utils/scroll-lock.js.map +1 -0
- package/dist/hooks/utils/set-state-action.d.ts +4 -0
- package/dist/hooks/utils/set-state-action.d.ts.map +1 -0
- package/dist/hooks/utils/set-state-action.js +7 -0
- package/dist/hooks/utils/set-state-action.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/styles/index.css +1 -0
- package/dist/styles/reset.css +1 -0
- package/dist/styles/tailwind.css +69 -0
- package/dist/styles/tokens.css +1 -0
- package/package.json +143 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/dropdown-menu/DropdownMenu.tsx"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useMemo, useRef } from \"react\";\nimport type {\n ElementType,\n KeyboardEvent,\n MouseEvent,\n PointerEvent,\n ReactElement,\n RefObject,\n SyntheticEvent,\n} from \"react\";\nimport { useControllableState, useMergedRefs } from \"@gunkin/uiify/hooks\";\nimport { createPartContext, splitRef } from \"@gunkin/uiify/core\";\nimport { useAnchorPosition } from \"@gunkin/uiify/core/anchor-position\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { useDirection } from \"@gunkin/uiify/core/direction\";\nimport { createHoverIntentStore } from \"@gunkin/uiify/core/hover-intent-store\";\nimport type { HoverIntentStore } from \"@gunkin/uiify/core/hover-intent-store\";\nimport type { OpenChangeDetails } from \"@gunkin/uiify/core/open-change-details\";\nimport { usePopover } from \"@gunkin/uiify/core/popover\";\nimport { RovingFocusItem, RovingFocusRoot } from \"@gunkin/uiify/core/roving-focus\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport { createMenuSelectEvent } from \"../internal/menu/menu-utils.js\";\nimport { focusMenuItem } from \"../internal/menu/focus-menu-item.js\";\nimport { MenuGroup, MenuLabel, MenuSeparator } from \"../internal/menu/menu-parts.js\";\nimport { useMenuSurface } from \"../internal/menu/use-menu-surface.js\";\nimport { DropdownMenuBar } from \"./DropdownMenuBar.js\";\nimport type {\n DropdownMenuCheckedState,\n DropdownMenuCheckboxItemProps,\n DropdownMenuContentProps,\n DropdownMenuContextValue,\n DropdownMenuGroupProps,\n DropdownMenuItemDescriptionProps,\n DropdownMenuItemIconProps,\n DropdownMenuItemIndicatorProps,\n DropdownMenuItemProps,\n DropdownMenuItemTextProps,\n DropdownMenuLabelProps,\n DropdownMenuOpenChangeReason,\n DropdownMenuPartProps,\n DropdownMenuRadioGroupProps,\n DropdownMenuRadioItemProps,\n DropdownMenuRootProps,\n DropdownMenuSeparatorProps,\n DropdownMenuShortcutProps,\n DropdownMenuSubContentProps,\n DropdownMenuSubProps,\n DropdownMenuSubTriggerProps,\n DropdownMenuTriggerProps,\n} from \"./types.js\";\n\nexport type { MenuSelectEvent } from \"./types.js\";\n\nfunction mapReason(reason: OpenChangeDetails[\"reason\"]): DropdownMenuOpenChangeReason {\n if (reason === \"escape-key\") return \"escape\";\n if (reason === \"focus-outside\") return \"focus-out\";\n if (reason === \"native-toggle\") return \"trigger-press\";\n return reason;\n}\n\nconst [DropdownMenuProvider, useDropdownMenuContext] =\n createPartContext<DropdownMenuContextValue>(\"DropdownMenu\");\n\nexport function DropdownMenuRoot(props: DropdownMenuRootProps): ReactElement | null {\n const {\n children,\n defaultOpen,\n dir: localDir,\n disabled = false,\n loop = true,\n onOpenChange,\n open,\n } = props;\n const dir = useDirection(localDir);\n const surface = useMenuSurface({\n mode: \"auto\",\n ...(defaultOpen !== undefined ? { defaultOpen } : {}),\n ...(open !== undefined ? { open } : {}),\n ...(onOpenChange\n ? {\n onOpenChange: (next, details) =>\n onOpenChange(next, { event: details.event, reason: mapReason(details.reason) }),\n }\n : {}),\n });\n const intentRef = useRef<HoverIntentStore | null>(null);\n intentRef.current ??= createHoverIntentStore({ closeDelay: 150, openDelay: 0 });\n const intent = intentRef.current;\n const hoverEnabledRef = useRef(false);\n // Read by the scheduled close so a timer from a menu that already closed\n // cannot emit onOpenChange(false) over a sibling that opened since.\n const openRef = useRef(surface.open);\n openRef.current = surface.open;\n\n const cancelHoverClose = useCallback(() => intent.clearCloseTimer(), [intent]);\n const scheduleHoverClose = useCallback(() => {\n intent.scheduleClose(() => {\n if (openRef.current) surface.close();\n });\n }, [intent, surface]);\n\n const value = useMemo(\n () => ({\n ...surface,\n cancelHoverClose,\n dir,\n disabled,\n hoverEnabledRef,\n loop,\n scheduleHoverClose,\n }),\n [cancelHoverClose, surface, dir, disabled, loop, scheduleHoverClose],\n );\n return <DropdownMenuProvider value={value}>{children}</DropdownMenuProvider>;\n}\n\nexport function DropdownMenuTrigger<TAs extends ElementType = \"button\">(\n props: DropdownMenuTriggerProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n className,\n openOnHover = false,\n ...consumerProps\n } = props as DropdownMenuTriggerProps<\"button\"> & { openOnHover?: boolean };\n const {\n anchorProps,\n cancelHoverClose,\n close,\n disabled,\n focusTrigger,\n hoverEnabledRef,\n open,\n openPopover,\n openToItem,\n scheduleHoverClose,\n setTriggerElement,\n triggerProps,\n } = useDropdownMenuContext(\"Trigger\");\n hoverEnabledRef.current = openOnHover;\n const [consumerRef, withoutRef] = splitRef<HTMLElement, typeof consumerProps>(consumerProps);\n const mergedRef = useMergedRefs(setTriggerElement, consumerRef);\n const nativeButton = !as || as === \"button\";\n const {\n onClick: consumerOnClick,\n onKeyDown: consumerOnKeyDown,\n onPointerEnter: consumerOnPointerEnter,\n onPointerLeave: consumerOnPointerLeave,\n } = withoutRef as {\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n onKeyDown?: (event: KeyboardEvent<HTMLButtonElement>) => void;\n onPointerEnter?: (event: PointerEvent<HTMLElement>) => void;\n onPointerLeave?: (event: PointerEvent<HTMLElement>) => void;\n };\n const internalOnClick = triggerProps.onClick as (event: MouseEvent<HTMLButtonElement>) => void;\n const handlePointerEnter = () => {\n if (disabled) return;\n cancelHoverClose();\n if (!open) openPopover();\n };\n const handleKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n if (disabled) return;\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n if (open) close();\n else openToItem(false);\n } else if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n openToItem(event.key === \"ArrowUp\");\n } else if (event.key === \"Escape\" && open) {\n event.preventDefault();\n close();\n focusTrigger();\n }\n };\n return useRenderElement({\n as,\n defaultTag: \"button\",\n render,\n props: {\n ...withoutRef,\n ...triggerProps,\n ...anchorProps,\n ref: mergedRef,\n \"aria-haspopup\": \"menu\",\n \"data-part\": \"trigger\",\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : undefined,\n disabled: nativeButton && disabled ? true : undefined,\n ...(nativeButton && !triggerProps.type ? { type: \"button\" } : {}),\n ...(className ? { className } : {}),\n onClick: disabled ? consumerOnClick : composeEventHandlers(consumerOnClick, internalOnClick),\n onKeyDown: composeEventHandlers(consumerOnKeyDown, handleKeyDown),\n ...(openOnHover && !disabled\n ? {\n onPointerEnter: composeEventHandlers(consumerOnPointerEnter, handlePointerEnter),\n onPointerLeave: composeEventHandlers(consumerOnPointerLeave, scheduleHoverClose),\n }\n : {}),\n },\n state: { open },\n });\n}\n\nexport function DropdownMenuContent<TAs extends ElementType = \"div\">(\n props: DropdownMenuContentProps<TAs>,\n): ReactElement | null {\n const {\n align = \"start\",\n as,\n className,\n side = \"bottom\",\n children,\n render,\n ...consumerProps\n } = props as DropdownMenuContentProps<\"div\">;\n const {\n cancelHoverClose,\n close,\n contentRef,\n dir,\n focusTrigger,\n hoverEnabledRef,\n loop,\n open,\n popupProps,\n popupRef,\n positionerProps,\n scheduleHoverClose,\n } = useDropdownMenuContext(\"Content\");\n const [consumerRef, withoutRef] = splitRef<HTMLElement, typeof consumerProps>(consumerProps);\n const mergedRef = useMergedRefs(popupRef, contentRef, consumerRef);\n const {\n onKeyDown: consumerOnKeyDown,\n onPointerEnter: consumerOnPointerEnter,\n onPointerLeave: consumerOnPointerLeave,\n } = withoutRef as {\n onKeyDown?: (event: KeyboardEvent<HTMLElement>) => void;\n onPointerEnter?: (event: PointerEvent<HTMLElement>) => void;\n onPointerLeave?: (event: PointerEvent<HTMLElement>) => void;\n };\n const handleKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n close();\n focusTrigger();\n }\n };\n const contentProps = {\n ...withoutRef,\n ...popupProps,\n ...positionerProps,\n ref: mergedRef,\n role: \"menu\",\n \"data-part\": \"content\",\n \"data-align\": align,\n \"data-side\": side,\n \"data-state\": open ? \"open\" : \"closed\",\n ...(className ? { className } : {}),\n onKeyDown: composeEventHandlers(consumerOnKeyDown, handleKeyDown),\n ...(hoverEnabledRef.current\n ? {\n onPointerEnter: composeEventHandlers(consumerOnPointerEnter, cancelHoverClose),\n onPointerLeave: composeEventHandlers(consumerOnPointerLeave, scheduleHoverClose),\n }\n : {}),\n children,\n };\n if (render)\n return (\n <RovingFocusRoot\n direction={dir}\n loop={loop}\n orientation=\"vertical\"\n {...contentProps}\n render={(p) => render(p, { open })}\n />\n );\n return (\n <RovingFocusRoot\n as={as ?? \"div\"}\n direction={dir}\n loop={loop}\n orientation=\"vertical\"\n {...contentProps}\n />\n );\n}\n\ninterface ItemActivationOptions {\n closeOnSelect: boolean;\n disabled: boolean;\n onSelect?: DropdownMenuItemProps[\"onSelect\"];\n onStateChange?: () => void;\n}\nfunction useItemActivation({\n closeOnSelect,\n disabled,\n onSelect,\n onStateChange,\n}: ItemActivationOptions) {\n const { close, focusTrigger } = useDropdownMenuContext(\"Item\");\n const select = (event: SyntheticEvent<HTMLElement>) => {\n if (disabled) return;\n const selectEvent = createMenuSelectEvent();\n onSelect?.(selectEvent);\n if (!selectEvent.defaultPrevented) {\n onStateChange?.();\n if (closeOnSelect) {\n close();\n focusTrigger();\n }\n }\n event.preventDefault();\n };\n return {\n select,\n keyDown: (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === \"Enter\" || event.key === \" \") select(event);\n },\n };\n}\n\nfunction MenuItem<TAs extends ElementType>(\n props: DropdownMenuItemProps<TAs> & {\n roleName: string;\n checked?: boolean | \"mixed\";\n state?: string;\n onStateChange?: () => void;\n defaultClose: boolean;\n },\n): ReactElement | null {\n const {\n as,\n render,\n children,\n className,\n closeOnSelect,\n disabled = false,\n onSelect,\n textValue,\n roleName,\n checked,\n state,\n onStateChange,\n defaultClose,\n ...consumerProps\n } = props as DropdownMenuItemProps<\"div\"> & {\n roleName: string;\n checked?: boolean | \"mixed\";\n state?: string;\n onStateChange?: () => void;\n defaultClose: boolean;\n };\n const { onClick: consumerOnClick, onKeyDown: consumerOnKeyDown } = consumerProps as {\n onClick?: (event: SyntheticEvent<HTMLElement>) => void;\n onKeyDown?: (event: KeyboardEvent<HTMLElement>) => void;\n };\n const activation = useItemActivation({\n closeOnSelect: closeOnSelect ?? defaultClose,\n disabled,\n onSelect,\n ...(onStateChange ? { onStateChange } : {}),\n });\n const itemProps = {\n ...consumerProps,\n role: roleName,\n \"aria-checked\": checked,\n \"data-part\": roleName === \"menuitem\" ? \"item\" : roleName.replace(\"menuitem\", \"\") + \"-item\",\n \"data-state\": state,\n ...(className ? { className } : {}),\n onClick: composeEventHandlers(consumerOnClick, activation.select),\n onKeyDown: composeEventHandlers(consumerOnKeyDown, activation.keyDown),\n children,\n };\n if (render)\n return (\n <RovingFocusItem\n disabled={disabled}\n {...(textValue !== undefined ? { textValue } : {})}\n {...(itemProps as object)}\n render={(p) => render(p, { disabled })}\n />\n );\n return (\n <RovingFocusItem\n as={as ?? \"div\"}\n disabled={disabled}\n {...(textValue !== undefined ? { textValue } : {})}\n {...(itemProps as object)}\n />\n );\n}\n\nexport function DropdownMenuItem<TAs extends ElementType = \"div\">(\n props: DropdownMenuItemProps<TAs>,\n): ReactElement | null {\n return <MenuItem {...props} roleName=\"menuitem\" defaultClose />;\n}\n\ninterface SelectionContextValue {\n checked: DropdownMenuCheckedState;\n kind: \"checkbox\" | \"radio\";\n}\nconst [SelectionProvider, useSelectionContext] = createPartContext<SelectionContextValue>(\n \"DropdownMenu\",\n \"ItemIndicator\",\n);\n\nexport function DropdownMenuCheckboxItem<TAs extends ElementType = \"div\">(\n props: DropdownMenuCheckboxItemProps<TAs>,\n): ReactElement | null {\n const { checked: controlled, defaultChecked = false, onCheckedChange, ...itemProps } = props;\n const [checked, setChecked] = useControllableState<DropdownMenuCheckedState>({\n value: controlled,\n defaultValue: defaultChecked,\n });\n const next = checked === \"indeterminate\" ? true : !checked;\n return (\n <SelectionProvider value={{ checked, kind: \"checkbox\" }}>\n <MenuItem\n {...(itemProps as DropdownMenuItemProps<ElementType>)}\n roleName=\"menuitemcheckbox\"\n checked={checked === \"indeterminate\" ? \"mixed\" : checked}\n state={checked === \"indeterminate\" ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\"}\n defaultClose={false}\n onStateChange={() => {\n setChecked(next);\n onCheckedChange?.(next);\n }}\n />\n </SelectionProvider>\n );\n}\n\ninterface RadioContextValue {\n setValue: (value: string) => void;\n value: string | undefined;\n}\nconst [RadioProvider, useRadioContext] = createPartContext<RadioContextValue>(\n \"DropdownMenu\",\n \"RadioGroup\",\n);\nexport function DropdownMenuRadioGroup<TAs extends ElementType = \"div\">(\n props: DropdownMenuRadioGroupProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n children,\n defaultValue,\n onValueChange,\n value: controlled,\n ...consumerProps\n } = props as DropdownMenuRadioGroupProps<\"div\">;\n const [value, setValue] = useControllableState<string | undefined>({\n value: controlled,\n defaultValue,\n ...(onValueChange\n ? {\n onChange: (next) => {\n if (next !== undefined) onValueChange(next);\n },\n }\n : {}),\n });\n return (\n <RadioProvider value={{ value, setValue }}>\n {useRenderElement({\n as,\n defaultTag: \"div\",\n render,\n props: { ...consumerProps, role: \"group\", \"data-part\": \"radio-group\", children },\n state: { value },\n })}\n </RadioProvider>\n );\n}\nexport function DropdownMenuRadioItem<TAs extends ElementType = \"div\">(\n props: DropdownMenuRadioItemProps<TAs>,\n): ReactElement | null {\n const { value, ...itemProps } = props;\n const radio = useRadioContext(\"RadioItem\");\n const checked = radio.value === value;\n return (\n <SelectionProvider value={{ checked, kind: \"radio\" }}>\n <MenuItem\n {...(itemProps as DropdownMenuItemProps<ElementType>)}\n roleName=\"menuitemradio\"\n checked={checked}\n state={checked ? \"checked\" : \"unchecked\"}\n defaultClose={false}\n onStateChange={() => radio.setValue(value)}\n />\n </SelectionProvider>\n );\n}\n\nfunction Part<TAs extends ElementType = \"span\">({\n part,\n defaultTag,\n ...props\n}: DropdownMenuPartProps<TAs> & { part: string; defaultTag: ElementType }): ReactElement | null {\n const { as, render, children, className, ...consumerProps } =\n props as DropdownMenuPartProps<\"span\">;\n return useRenderElement({\n as,\n defaultTag,\n render,\n props: { ...consumerProps, \"data-part\": part, ...(className ? { className } : {}), children },\n state: {},\n });\n}\nexport const DropdownMenuItemIcon = <TAs extends ElementType = \"span\">(\n p: DropdownMenuItemIconProps<TAs>,\n) => <Part {...p} part=\"item-icon\" defaultTag=\"span\" />;\nexport const DropdownMenuItemText = <TAs extends ElementType = \"span\">(\n p: DropdownMenuItemTextProps<TAs>,\n) => <Part {...p} part=\"item-text\" defaultTag=\"span\" />;\nexport const DropdownMenuItemDescription = <TAs extends ElementType = \"span\">(\n p: DropdownMenuItemDescriptionProps<TAs>,\n) => <Part {...p} part=\"item-description\" defaultTag=\"span\" />;\nexport const DropdownMenuShortcut = <TAs extends ElementType = \"span\">(\n p: DropdownMenuShortcutProps<TAs>,\n) => <Part {...p} part=\"shortcut\" defaultTag=\"kbd\" />;\nexport function DropdownMenuItemIndicator<TAs extends ElementType = \"span\">(\n p: DropdownMenuItemIndicatorProps<TAs>,\n): ReactElement | null {\n const s = useSelectionContext(\"ItemIndicator\");\n return (\n <Part\n {...p}\n part=\"item-indicator\"\n defaultTag=\"span\"\n data-state={\n s.checked === \"indeterminate\" ? \"indeterminate\" : s.checked ? \"checked\" : \"unchecked\"\n }\n />\n );\n}\nexport function DropdownMenuGroup<TAs extends ElementType = \"div\">(\n p: DropdownMenuGroupProps<TAs>,\n): ReactElement | null {\n return <MenuGroup {...p} />;\n}\nexport function DropdownMenuLabel<TAs extends ElementType = \"div\">(\n p: DropdownMenuLabelProps<TAs>,\n): ReactElement | null {\n return <MenuLabel {...p} />;\n}\nexport function DropdownMenuSeparator<TAs extends ElementType = \"div\">(\n p: DropdownMenuSeparatorProps<TAs>,\n): ReactElement | null {\n return <MenuSeparator {...p} />;\n}\n\ninterface SubValue {\n clickedRef: RefObject<boolean>;\n contentRef: React.RefObject<HTMLElement | null>;\n open: boolean;\n popover: ReturnType<typeof usePopover>;\n anchor: ReturnType<typeof useAnchorPosition>;\n triggerRef: React.RefObject<HTMLElement | null>;\n}\nconst [SubProvider, useSubContext] = createPartContext<SubValue>(\"DropdownMenu\", \"Sub\");\nexport function DropdownMenuSub(props: DropdownMenuSubProps): ReactElement | null {\n const { children, defaultOpen, onOpenChange, open } = props;\n const contentRef = useRef<HTMLElement | null>(null);\n const triggerRef = useRef<HTMLElement | null>(null);\n const popover = usePopover({\n mode: \"auto\",\n ...(defaultOpen !== undefined ? { defaultOpen } : {}),\n ...(open !== undefined ? { open } : {}),\n ...(onOpenChange\n ? {\n onOpenChange: (next, details) =>\n onOpenChange(next, { event: details.event, reason: mapReason(details.reason) }),\n }\n : {}),\n });\n const anchor = useAnchorPosition();\n const clickedRef = useRef(false);\n const value = useMemo(\n () => ({ anchor, clickedRef, contentRef, open: popover.open, popover, triggerRef }),\n [anchor, popover, clickedRef],\n );\n return <SubProvider value={value}>{children}</SubProvider>;\n}\nexport function DropdownMenuSubTrigger<TAs extends ElementType = \"button\">(\n props: DropdownMenuSubTriggerProps<TAs>,\n): ReactElement | null {\n const {\n as,\n render,\n children,\n disabled = false,\n textValue,\n ...consumerProps\n } = props as DropdownMenuSubTriggerProps<\"div\">;\n const sub = useSubContext(\"SubTrigger\");\n const root = useDropdownMenuContext(\"SubTrigger\");\n const { clickedRef } = sub;\n const { onClick, onKeyDown, onPointerEnter, ...withoutEvents } =\n consumerProps as typeof consumerProps & {\n onClick?: (event: MouseEvent<HTMLElement>) => void;\n onKeyDown?: (event: KeyboardEvent<HTMLElement>) => void;\n onPointerEnter?: (event: PointerEvent<HTMLElement>) => void;\n };\n const handleKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n const openKey = root.dir === \"rtl\" ? \"ArrowLeft\" : \"ArrowRight\";\n if (event.key === openKey || event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n clickedRef.current = true;\n sub.popover.openPopover();\n queueMicrotask(() => focusMenuItem(sub.contentRef.current));\n }\n };\n const handlePointerEnter = () => {\n clickedRef.current = false;\n sub.popover.openPopover();\n };\n const handlePointerLeave = (event: PointerEvent<HTMLElement>) => {\n if (clickedRef.current) return;\n const nextTarget = event.relatedTarget;\n if (nextTarget instanceof Node && sub.contentRef.current?.contains(nextTarget)) return;\n sub.popover.close();\n };\n const handleClick = (event: MouseEvent<HTMLElement>) => {\n clickedRef.current = true;\n if (!sub.open) {\n (sub.popover.triggerProps.onClick as (event: MouseEvent<HTMLElement>) => void)(event);\n }\n };\n const triggerProps = {\n ...(withoutEvents as object),\n ...sub.popover.triggerProps,\n ...sub.anchor.anchorProps,\n command: \"show-popover\",\n ref: sub.triggerRef,\n role: \"menuitem\",\n \"aria-haspopup\": \"menu\" as const,\n \"aria-expanded\": sub.open,\n \"data-part\": \"sub-trigger\",\n \"data-state\": sub.open ? \"open\" : \"closed\",\n onClick: composeEventHandlers(onClick, handleClick),\n onKeyDown: composeEventHandlers(onKeyDown, handleKeyDown),\n onPointerEnter: composeEventHandlers(onPointerEnter, handlePointerEnter),\n onPointerLeave: handlePointerLeave,\n children,\n };\n if (render)\n return (\n <RovingFocusItem\n {...(triggerProps as object)}\n disabled={disabled}\n {...(textValue !== undefined ? { textValue } : {})}\n render={(p) => render(p, { disabled, open: sub.open })}\n />\n );\n return (\n <RovingFocusItem\n as={as ?? \"button\"}\n {...(triggerProps as object)}\n disabled={disabled}\n {...(textValue !== undefined ? { textValue } : {})}\n />\n );\n}\nexport function DropdownMenuSubContent<TAs extends ElementType = \"div\">(\n props: DropdownMenuSubContentProps<TAs>,\n): ReactElement | null {\n const {\n align = \"start\",\n as,\n render,\n side = \"right\",\n children,\n ...consumerProps\n } = props as DropdownMenuSubContentProps<\"div\">;\n const sub = useSubContext(\"SubContent\");\n const root = useDropdownMenuContext(\"SubContent\");\n const handleKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n const closeKey = root.dir === \"rtl\" ? \"ArrowRight\" : \"ArrowLeft\";\n if (event.key === closeKey || event.key === \"Escape\") {\n event.preventDefault();\n sub.popover.close();\n sub.triggerRef.current?.focus();\n }\n };\n const contentProps = {\n ...consumerProps,\n ...sub.popover.popupProps,\n ...sub.anchor.positionerProps,\n ref: useMergedRefs(sub.popover.popupRef, sub.contentRef),\n role: \"menu\",\n \"data-part\": \"sub-content\",\n \"data-state\": sub.open ? \"open\" : \"closed\",\n \"data-side\": side,\n \"data-align\": align,\n onKeyDown: handleKeyDown,\n onPointerLeave: (event: PointerEvent<HTMLElement>) => {\n if (sub.clickedRef.current) return;\n const nextTarget = event.relatedTarget;\n if (!(nextTarget instanceof Node) || !sub.triggerRef.current?.contains(nextTarget)) {\n sub.popover.close();\n }\n },\n children,\n };\n if (render)\n return (\n <RovingFocusRoot\n direction={root.dir}\n loop={root.loop}\n orientation=\"vertical\"\n {...contentProps}\n render={(p) => render(p, { open: sub.open })}\n />\n );\n return (\n <RovingFocusRoot\n as={as ?? \"div\"}\n direction={root.dir}\n loop={root.loop}\n orientation=\"vertical\"\n {...contentProps}\n />\n );\n}\n\nDropdownMenuRoot.displayName = \"DropdownMenuRoot\";\nDropdownMenuTrigger.displayName = \"DropdownMenuTrigger\";\nDropdownMenuContent.displayName = \"DropdownMenuContent\";\nMenuItem.displayName = \"DropdownMenuItemBase\";\nDropdownMenuItem.displayName = \"DropdownMenuItem\";\nDropdownMenuCheckboxItem.displayName = \"DropdownMenuCheckboxItem\";\nDropdownMenuRadioGroup.displayName = \"DropdownMenuRadioGroup\";\nDropdownMenuRadioItem.displayName = \"DropdownMenuRadioItem\";\nPart.displayName = \"DropdownMenuPart\";\nDropdownMenuItemIcon.displayName = \"DropdownMenuItemIcon\";\nDropdownMenuItemText.displayName = \"DropdownMenuItemText\";\nDropdownMenuItemDescription.displayName = \"DropdownMenuItemDescription\";\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\nDropdownMenuItemIndicator.displayName = \"DropdownMenuItemIndicator\";\nDropdownMenuGroup.displayName = \"DropdownMenuGroup\";\nDropdownMenuLabel.displayName = \"DropdownMenuLabel\";\nDropdownMenuSeparator.displayName = \"DropdownMenuSeparator\";\nDropdownMenuSub.displayName = \"DropdownMenuSub\";\nDropdownMenuSubTrigger.displayName = \"DropdownMenuSubTrigger\";\nDropdownMenuSubContent.displayName = \"DropdownMenuSubContent\";\n\nexport const DropdownMenu = {\n Bar: DropdownMenuBar,\n Root: DropdownMenuRoot,\n Trigger: DropdownMenuTrigger,\n Content: DropdownMenuContent,\n Group: DropdownMenuGroup,\n Label: DropdownMenuLabel,\n Item: DropdownMenuItem,\n ItemIcon: DropdownMenuItemIcon,\n ItemText: DropdownMenuItemText,\n ItemDescription: DropdownMenuItemDescription,\n Shortcut: DropdownMenuShortcut,\n Separator: DropdownMenuSeparator,\n CheckboxItem: DropdownMenuCheckboxItem,\n ItemIndicator: DropdownMenuItemIndicator,\n RadioGroup: DropdownMenuRadioGroup,\n RadioItem: DropdownMenuRadioItem,\n Sub: DropdownMenuSub,\n SubTrigger: DropdownMenuSubTrigger,\n SubContent: DropdownMenuSubContent,\n};\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactElement } from "react";
|
|
2
|
+
import type { DropdownMenuBarProps } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Roving focus and ArrowLeft/ArrowRight/Home/End across `data-uiify-menu-bar-item` descendants.
|
|
5
|
+
* Modeled on Toolbar's own delegated-listener pattern but scoped to one axis and addressed by its
|
|
6
|
+
* own marker: DropdownMenu.Trigger does not participate in @gunkin/uiify/core/roving-focus, and
|
|
7
|
+
* Toolbar.Button drops any prop it does not itself destructure, so neither can host this directly.
|
|
8
|
+
*/
|
|
9
|
+
export declare function DropdownMenuBar(props: DropdownMenuBarProps): ReactElement;
|
|
10
|
+
export declare namespace DropdownMenuBar {
|
|
11
|
+
var displayName: string;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=DropdownMenuBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownMenuBar.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown-menu/DropdownMenuBar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAgCvD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CAiEzE;yBAjEe,eAAe"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useRef } from "react";
|
|
4
|
+
import { useDirection } from "@gunkin/uiify/core/direction";
|
|
5
|
+
const ITEM_SELECTOR = "[data-uiify-menu-bar-item]";
|
|
6
|
+
function getItems(root) {
|
|
7
|
+
return Array.from(root.querySelectorAll(ITEM_SELECTOR));
|
|
8
|
+
}
|
|
9
|
+
function isDisabledItem(item) {
|
|
10
|
+
return item.getAttribute("aria-disabled") === "true" || item.hasAttribute("disabled");
|
|
11
|
+
}
|
|
12
|
+
function syncTabStops(root, current) {
|
|
13
|
+
const items = getItems(root);
|
|
14
|
+
const enabled = items.filter((item) => !isDisabledItem(item));
|
|
15
|
+
const next = current && enabled.includes(current) ? current : enabled[0] ?? null;
|
|
16
|
+
for (const item of items) item.tabIndex = next === item ? 0 : -1;
|
|
17
|
+
return next;
|
|
18
|
+
}
|
|
19
|
+
function moveIndex(currentIndex, offset, length, loop) {
|
|
20
|
+
if (length === 0) return null;
|
|
21
|
+
if (loop) return (currentIndex + offset + length) % length;
|
|
22
|
+
const nextIndex = currentIndex + offset;
|
|
23
|
+
return nextIndex < 0 || nextIndex >= length ? null : nextIndex;
|
|
24
|
+
}
|
|
25
|
+
function DropdownMenuBar(props) {
|
|
26
|
+
const { children, className, dir: localDir, loop = true } = props;
|
|
27
|
+
const dir = useDirection(localDir);
|
|
28
|
+
const rootRef = useRef(null);
|
|
29
|
+
const currentRef = useRef(null);
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
const root = rootRef.current;
|
|
32
|
+
if (!root) return;
|
|
33
|
+
currentRef.current = syncTabStops(root, currentRef.current);
|
|
34
|
+
});
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
const root = rootRef.current;
|
|
37
|
+
if (!root) return;
|
|
38
|
+
const handleFocusIn = (event) => {
|
|
39
|
+
const target = event.target;
|
|
40
|
+
if (!(target instanceof HTMLElement)) return;
|
|
41
|
+
const item = target.closest(ITEM_SELECTOR);
|
|
42
|
+
if (!item || !root.contains(item) || isDisabledItem(item)) return;
|
|
43
|
+
currentRef.current = syncTabStops(root, item);
|
|
44
|
+
};
|
|
45
|
+
const handleKeyDown = (event) => {
|
|
46
|
+
const target = event.target;
|
|
47
|
+
if (!(target instanceof HTMLElement)) return;
|
|
48
|
+
const item = target.closest(ITEM_SELECTOR);
|
|
49
|
+
if (!item || !root.contains(item)) return;
|
|
50
|
+
const enabled = getItems(root).filter((entry) => !isDisabledItem(entry));
|
|
51
|
+
const currentIndex = enabled.indexOf(item);
|
|
52
|
+
if (currentIndex === -1) return;
|
|
53
|
+
let nextIndex = null;
|
|
54
|
+
if (event.key === "Home") nextIndex = 0;
|
|
55
|
+
if (event.key === "End") nextIndex = enabled.length - 1;
|
|
56
|
+
if (event.key === "ArrowRight") {
|
|
57
|
+
nextIndex = moveIndex(currentIndex, dir === "rtl" ? -1 : 1, enabled.length, loop);
|
|
58
|
+
}
|
|
59
|
+
if (event.key === "ArrowLeft") {
|
|
60
|
+
nextIndex = moveIndex(currentIndex, dir === "rtl" ? 1 : -1, enabled.length, loop);
|
|
61
|
+
}
|
|
62
|
+
if (nextIndex === null) return;
|
|
63
|
+
event.preventDefault();
|
|
64
|
+
const nextItem = enabled[nextIndex];
|
|
65
|
+
if (!nextItem) return;
|
|
66
|
+
currentRef.current = syncTabStops(root, nextItem);
|
|
67
|
+
nextItem.focus();
|
|
68
|
+
};
|
|
69
|
+
root.addEventListener("focusin", handleFocusIn);
|
|
70
|
+
root.addEventListener("keydown", handleKeyDown);
|
|
71
|
+
return () => {
|
|
72
|
+
root.removeEventListener("focusin", handleFocusIn);
|
|
73
|
+
root.removeEventListener("keydown", handleKeyDown);
|
|
74
|
+
};
|
|
75
|
+
}, [dir, loop]);
|
|
76
|
+
return /* @__PURE__ */ jsx("div", { ...className ? { className } : {}, dir, ref: rootRef, role: "menubar", children });
|
|
77
|
+
}
|
|
78
|
+
DropdownMenuBar.displayName = "DropdownMenuBar";
|
|
79
|
+
export {
|
|
80
|
+
DropdownMenuBar
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=DropdownMenuBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/dropdown-menu/DropdownMenuBar.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef } from \"react\";\nimport type { ReactElement } from \"react\";\nimport { useDirection } from \"@gunkin/uiify/core/direction\";\nimport type { DropdownMenuBarProps } from \"./types.js\";\n\nconst ITEM_SELECTOR = \"[data-uiify-menu-bar-item]\";\n\nfunction getItems(root: HTMLElement): HTMLElement[] {\n return Array.from(root.querySelectorAll<HTMLElement>(ITEM_SELECTOR));\n}\n\nfunction isDisabledItem(item: HTMLElement): boolean {\n return item.getAttribute(\"aria-disabled\") === \"true\" || item.hasAttribute(\"disabled\");\n}\n\nfunction syncTabStops(root: HTMLElement, current: HTMLElement | null): HTMLElement | null {\n const items = getItems(root);\n const enabled = items.filter((item) => !isDisabledItem(item));\n const next = current && enabled.includes(current) ? current : (enabled[0] ?? null);\n for (const item of items) item.tabIndex = next === item ? 0 : -1;\n return next;\n}\n\nfunction moveIndex(\n currentIndex: number,\n offset: number,\n length: number,\n loop: boolean,\n): number | null {\n if (length === 0) return null;\n if (loop) return (currentIndex + offset + length) % length;\n const nextIndex = currentIndex + offset;\n return nextIndex < 0 || nextIndex >= length ? null : nextIndex;\n}\n\n/**\n * Roving focus and ArrowLeft/ArrowRight/Home/End across `data-uiify-menu-bar-item` descendants.\n * Modeled on Toolbar's own delegated-listener pattern but scoped to one axis and addressed by its\n * own marker: DropdownMenu.Trigger does not participate in @gunkin/uiify/core/roving-focus, and\n * Toolbar.Button drops any prop it does not itself destructure, so neither can host this directly.\n */\nexport function DropdownMenuBar(props: DropdownMenuBarProps): ReactElement {\n const { children, className, dir: localDir, loop = true } = props;\n const dir = useDirection(localDir);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const currentRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root) return;\n currentRef.current = syncTabStops(root, currentRef.current);\n });\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root) return;\n\n const handleFocusIn = (event: FocusEvent) => {\n const target = event.target;\n if (!(target instanceof HTMLElement)) return;\n const item = target.closest<HTMLElement>(ITEM_SELECTOR);\n if (!item || !root.contains(item) || isDisabledItem(item)) return;\n currentRef.current = syncTabStops(root, item);\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const target = event.target;\n if (!(target instanceof HTMLElement)) return;\n const item = target.closest<HTMLElement>(ITEM_SELECTOR);\n if (!item || !root.contains(item)) return;\n\n const enabled = getItems(root).filter((entry) => !isDisabledItem(entry));\n const currentIndex = enabled.indexOf(item);\n if (currentIndex === -1) return;\n\n let nextIndex: number | null = null;\n if (event.key === \"Home\") nextIndex = 0;\n if (event.key === \"End\") nextIndex = enabled.length - 1;\n if (event.key === \"ArrowRight\") {\n nextIndex = moveIndex(currentIndex, dir === \"rtl\" ? -1 : 1, enabled.length, loop);\n }\n if (event.key === \"ArrowLeft\") {\n nextIndex = moveIndex(currentIndex, dir === \"rtl\" ? 1 : -1, enabled.length, loop);\n }\n\n if (nextIndex === null) return;\n event.preventDefault();\n const nextItem = enabled[nextIndex];\n if (!nextItem) return;\n currentRef.current = syncTabStops(root, nextItem);\n nextItem.focus();\n };\n\n root.addEventListener(\"focusin\", handleFocusIn);\n root.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n root.removeEventListener(\"focusin\", handleFocusIn);\n root.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [dir, loop]);\n\n return (\n <div {...(className ? { className } : {})} dir={dir} ref={rootRef} role=\"menubar\">\n {children}\n </div>\n );\n}\nDropdownMenuBar.displayName = \"DropdownMenuBar\";\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuItemDescription, DropdownMenuItemIcon, DropdownMenuItemIndicator, DropdownMenuItemText, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRoot, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, } from "./DropdownMenu.js";
|
|
2
|
+
export { DropdownMenuBar } from "./DropdownMenuBar.js";
|
|
3
|
+
export type { MenuSelectEvent } from "./types.js";
|
|
4
|
+
export type { DropdownMenuBarOwnProps, DropdownMenuBarProps, DropdownMenuContentOwnProps, DropdownMenuContentProps, DropdownMenuCheckedState, DropdownMenuCheckboxItemOwnProps, DropdownMenuCheckboxItemProps, DropdownMenuGroupOwnProps, DropdownMenuItemDescriptionProps, DropdownMenuItemIconProps, DropdownMenuItemIndicatorProps, DropdownMenuItemOwnProps, DropdownMenuItemProps, DropdownMenuItemTextProps, DropdownMenuLabelOwnProps, DropdownMenuOpenChangeDetails, DropdownMenuOpenChangeReason, DropdownMenuPartOwnProps, DropdownMenuPartProps, DropdownMenuRadioGroupOwnProps, DropdownMenuRadioGroupProps, DropdownMenuRadioItemOwnProps, DropdownMenuRadioItemProps, DropdownMenuRootControlledOwnProps, DropdownMenuRootShellOwnProps, DropdownMenuRootShellProps, DropdownMenuRootOwnProps, DropdownMenuRootProps, DropdownMenuSeparatorOwnProps, DropdownMenuShortcutProps, DropdownMenuSubContentProps, DropdownMenuSubOwnProps, DropdownMenuSubProps, DropdownMenuSubTriggerOwnProps, DropdownMenuSubTriggerProps, DropdownMenuTriggerOwnProps, DropdownMenuTriggerProps, } from "./types.js";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown-menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,2BAA2B,EAC3B,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,gCAAgC,EAChC,6BAA6B,EAC7B,yBAAyB,EACzB,gCAAgC,EAChC,yBAAyB,EACzB,8BAA8B,EAC9B,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,4BAA4B,EAC5B,wBAAwB,EACxB,qBAAqB,EACrB,8BAA8B,EAC9B,2BAA2B,EAC3B,6BAA6B,EAC7B,0BAA0B,EAC1B,kCAAkC,EAClC,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC7B,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,8BAA8B,EAC9B,2BAA2B,EAC3B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DropdownMenu,
|
|
3
|
+
DropdownMenuCheckboxItem,
|
|
4
|
+
DropdownMenuContent,
|
|
5
|
+
DropdownMenuGroup,
|
|
6
|
+
DropdownMenuItem,
|
|
7
|
+
DropdownMenuItemDescription,
|
|
8
|
+
DropdownMenuItemIcon,
|
|
9
|
+
DropdownMenuItemIndicator,
|
|
10
|
+
DropdownMenuItemText,
|
|
11
|
+
DropdownMenuLabel,
|
|
12
|
+
DropdownMenuRadioGroup,
|
|
13
|
+
DropdownMenuRadioItem,
|
|
14
|
+
DropdownMenuRoot,
|
|
15
|
+
DropdownMenuSeparator,
|
|
16
|
+
DropdownMenuShortcut,
|
|
17
|
+
DropdownMenuSub,
|
|
18
|
+
DropdownMenuSubContent,
|
|
19
|
+
DropdownMenuSubTrigger,
|
|
20
|
+
DropdownMenuTrigger
|
|
21
|
+
} from "./DropdownMenu.js";
|
|
22
|
+
import { DropdownMenuBar } from "./DropdownMenuBar.js";
|
|
23
|
+
export {
|
|
24
|
+
DropdownMenu,
|
|
25
|
+
DropdownMenuBar,
|
|
26
|
+
DropdownMenuCheckboxItem,
|
|
27
|
+
DropdownMenuContent,
|
|
28
|
+
DropdownMenuGroup,
|
|
29
|
+
DropdownMenuItem,
|
|
30
|
+
DropdownMenuItemDescription,
|
|
31
|
+
DropdownMenuItemIcon,
|
|
32
|
+
DropdownMenuItemIndicator,
|
|
33
|
+
DropdownMenuItemText,
|
|
34
|
+
DropdownMenuLabel,
|
|
35
|
+
DropdownMenuRadioGroup,
|
|
36
|
+
DropdownMenuRadioItem,
|
|
37
|
+
DropdownMenuRoot,
|
|
38
|
+
DropdownMenuSeparator,
|
|
39
|
+
DropdownMenuShortcut,
|
|
40
|
+
DropdownMenuSub,
|
|
41
|
+
DropdownMenuSubContent,
|
|
42
|
+
DropdownMenuSubTrigger,
|
|
43
|
+
DropdownMenuTrigger
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/dropdown-menu/index.ts"],"sourcesContent":["export {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuItemDescription,\n DropdownMenuItemIcon,\n DropdownMenuItemIndicator,\n DropdownMenuItemText,\n DropdownMenuLabel,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuRoot,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n} from \"./DropdownMenu.js\";\nexport { DropdownMenuBar } from \"./DropdownMenuBar.js\";\nexport type { MenuSelectEvent } from \"./types.js\";\nexport type {\n DropdownMenuBarOwnProps,\n DropdownMenuBarProps,\n DropdownMenuContentOwnProps,\n DropdownMenuContentProps,\n DropdownMenuCheckedState,\n DropdownMenuCheckboxItemOwnProps,\n DropdownMenuCheckboxItemProps,\n DropdownMenuGroupOwnProps,\n DropdownMenuItemDescriptionProps,\n DropdownMenuItemIconProps,\n DropdownMenuItemIndicatorProps,\n DropdownMenuItemOwnProps,\n DropdownMenuItemProps,\n DropdownMenuItemTextProps,\n DropdownMenuLabelOwnProps,\n DropdownMenuOpenChangeDetails,\n DropdownMenuOpenChangeReason,\n DropdownMenuPartOwnProps,\n DropdownMenuPartProps,\n DropdownMenuRadioGroupOwnProps,\n DropdownMenuRadioGroupProps,\n DropdownMenuRadioItemOwnProps,\n DropdownMenuRadioItemProps,\n DropdownMenuRootControlledOwnProps,\n DropdownMenuRootShellOwnProps,\n DropdownMenuRootShellProps,\n DropdownMenuRootOwnProps,\n DropdownMenuRootProps,\n DropdownMenuSeparatorOwnProps,\n DropdownMenuShortcutProps,\n DropdownMenuSubContentProps,\n DropdownMenuSubOwnProps,\n DropdownMenuSubProps,\n DropdownMenuSubTriggerOwnProps,\n DropdownMenuSubTriggerProps,\n DropdownMenuTriggerOwnProps,\n DropdownMenuTriggerProps,\n} from \"./types.js\";\n"],"mappings":"AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,uBAAuB;","names":[]}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import type { ElementType, ReactNode, RefObject } from "react";
|
|
2
|
+
import type { AnchorAlign, AnchorSide } from "@gunkin/uiify/core/anchor-position";
|
|
3
|
+
import type { Direction } from "@gunkin/uiify/core/direction";
|
|
4
|
+
import type { RenderableProps } from "@gunkin/uiify/core/render";
|
|
5
|
+
import type { MenuGroupProps, MenuLabelProps, MenuSelectEvent, MenuSeparatorProps, UseMenuSurfaceReturn } from "../internal/menu/types.js";
|
|
6
|
+
export type { MenuSelectEvent };
|
|
7
|
+
export type DropdownMenuCheckedState = boolean | "indeterminate";
|
|
8
|
+
export type DropdownMenuOpenChangeReason = "trigger-press" | "item-select" | "escape" | "focus-out" | "outside-press" | "programmatic";
|
|
9
|
+
export interface DropdownMenuOpenChangeDetails {
|
|
10
|
+
readonly event: Event | null;
|
|
11
|
+
readonly reason: DropdownMenuOpenChangeReason;
|
|
12
|
+
}
|
|
13
|
+
export interface DropdownMenuContextValue extends UseMenuSurfaceReturn {
|
|
14
|
+
readonly cancelHoverClose: () => void;
|
|
15
|
+
readonly dir: Direction;
|
|
16
|
+
readonly disabled: boolean;
|
|
17
|
+
readonly hoverEnabledRef: RefObject<boolean>;
|
|
18
|
+
readonly loop: boolean;
|
|
19
|
+
readonly scheduleHoverClose: () => void;
|
|
20
|
+
}
|
|
21
|
+
export interface DropdownMenuBarOwnProps {
|
|
22
|
+
readonly children?: ReactNode;
|
|
23
|
+
readonly className?: string;
|
|
24
|
+
readonly dir?: Direction;
|
|
25
|
+
readonly loop?: boolean;
|
|
26
|
+
}
|
|
27
|
+
export type DropdownMenuBarProps = DropdownMenuBarOwnProps;
|
|
28
|
+
export interface DropdownMenuRootOwnProps {
|
|
29
|
+
readonly children?: ReactNode;
|
|
30
|
+
readonly defaultOpen?: boolean;
|
|
31
|
+
readonly dir?: Direction;
|
|
32
|
+
readonly disabled?: boolean;
|
|
33
|
+
readonly id?: string;
|
|
34
|
+
readonly loop?: boolean;
|
|
35
|
+
readonly onOpenChange?: (open: boolean, details: DropdownMenuOpenChangeDetails) => void;
|
|
36
|
+
readonly open?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export type DropdownMenuRootProps = DropdownMenuRootOwnProps;
|
|
39
|
+
export type DropdownMenuRootShellOwnProps = DropdownMenuRootOwnProps;
|
|
40
|
+
export type DropdownMenuRootControlledOwnProps = Pick<DropdownMenuRootOwnProps, "onOpenChange" | "open">;
|
|
41
|
+
export type DropdownMenuRootShellProps = DropdownMenuRootOwnProps;
|
|
42
|
+
export interface DropdownMenuTriggerOwnProps {
|
|
43
|
+
readonly children?: ReactNode;
|
|
44
|
+
readonly className?: string;
|
|
45
|
+
readonly openOnHover?: boolean;
|
|
46
|
+
}
|
|
47
|
+
export type DropdownMenuTriggerProps<TAs extends ElementType = "button"> = RenderableProps<TAs, DropdownMenuTriggerOwnProps, {
|
|
48
|
+
open: boolean;
|
|
49
|
+
}, HTMLElement>;
|
|
50
|
+
export interface DropdownMenuContentOwnProps {
|
|
51
|
+
readonly align?: AnchorAlign;
|
|
52
|
+
readonly children?: ReactNode;
|
|
53
|
+
readonly className?: string;
|
|
54
|
+
readonly side?: AnchorSide;
|
|
55
|
+
}
|
|
56
|
+
export type DropdownMenuContentProps<TAs extends ElementType = "div"> = RenderableProps<TAs, DropdownMenuContentOwnProps, {
|
|
57
|
+
open: boolean;
|
|
58
|
+
}, HTMLElement>;
|
|
59
|
+
export interface DropdownMenuItemOwnProps {
|
|
60
|
+
readonly children?: ReactNode;
|
|
61
|
+
readonly className?: string;
|
|
62
|
+
readonly closeOnSelect?: boolean;
|
|
63
|
+
readonly disabled?: boolean;
|
|
64
|
+
readonly onSelect?: (event: MenuSelectEvent) => void;
|
|
65
|
+
readonly textValue?: string;
|
|
66
|
+
}
|
|
67
|
+
export type DropdownMenuItemProps<TAs extends ElementType = "div"> = RenderableProps<TAs, DropdownMenuItemOwnProps, {
|
|
68
|
+
disabled: boolean;
|
|
69
|
+
}, HTMLElement>;
|
|
70
|
+
export interface DropdownMenuCheckboxItemOwnProps extends DropdownMenuItemOwnProps {
|
|
71
|
+
readonly checked?: DropdownMenuCheckedState;
|
|
72
|
+
readonly defaultChecked?: DropdownMenuCheckedState;
|
|
73
|
+
readonly onCheckedChange?: (checked: boolean) => void;
|
|
74
|
+
}
|
|
75
|
+
export type DropdownMenuCheckboxItemProps<TAs extends ElementType = "div"> = RenderableProps<TAs, DropdownMenuCheckboxItemOwnProps, {
|
|
76
|
+
checked: DropdownMenuCheckedState;
|
|
77
|
+
disabled: boolean;
|
|
78
|
+
}, HTMLElement>;
|
|
79
|
+
export interface DropdownMenuRadioGroupOwnProps {
|
|
80
|
+
readonly children?: ReactNode;
|
|
81
|
+
readonly className?: string;
|
|
82
|
+
readonly defaultValue?: string;
|
|
83
|
+
readonly onValueChange?: (value: string) => void;
|
|
84
|
+
readonly value?: string;
|
|
85
|
+
}
|
|
86
|
+
export type DropdownMenuRadioGroupProps<TAs extends ElementType = "div"> = RenderableProps<TAs, DropdownMenuRadioGroupOwnProps, {
|
|
87
|
+
value: string | undefined;
|
|
88
|
+
}, HTMLElement>;
|
|
89
|
+
export interface DropdownMenuRadioItemOwnProps extends DropdownMenuItemOwnProps {
|
|
90
|
+
readonly value: string;
|
|
91
|
+
}
|
|
92
|
+
export type DropdownMenuRadioItemProps<TAs extends ElementType = "div"> = RenderableProps<TAs, DropdownMenuRadioItemOwnProps, {
|
|
93
|
+
checked: boolean;
|
|
94
|
+
disabled: boolean;
|
|
95
|
+
}, HTMLElement>;
|
|
96
|
+
export interface DropdownMenuSubOwnProps {
|
|
97
|
+
readonly children?: ReactNode;
|
|
98
|
+
readonly defaultOpen?: boolean;
|
|
99
|
+
readonly onOpenChange?: (open: boolean, details: DropdownMenuOpenChangeDetails) => void;
|
|
100
|
+
readonly open?: boolean;
|
|
101
|
+
}
|
|
102
|
+
export type DropdownMenuSubProps = DropdownMenuSubOwnProps;
|
|
103
|
+
export interface DropdownMenuSubTriggerOwnProps extends DropdownMenuItemOwnProps {
|
|
104
|
+
}
|
|
105
|
+
export type DropdownMenuSubTriggerProps<TAs extends ElementType = "button"> = RenderableProps<TAs, DropdownMenuSubTriggerOwnProps, {
|
|
106
|
+
disabled: boolean;
|
|
107
|
+
open: boolean;
|
|
108
|
+
}, HTMLElement>;
|
|
109
|
+
export type DropdownMenuSubContentProps<TAs extends ElementType = "div"> = RenderableProps<TAs, DropdownMenuContentOwnProps, {
|
|
110
|
+
open: boolean;
|
|
111
|
+
}, HTMLElement>;
|
|
112
|
+
export interface DropdownMenuPartOwnProps {
|
|
113
|
+
readonly children?: ReactNode;
|
|
114
|
+
readonly className?: string;
|
|
115
|
+
}
|
|
116
|
+
export type DropdownMenuPartProps<TAs extends ElementType = "span"> = RenderableProps<TAs, DropdownMenuPartOwnProps, Record<string, never>, HTMLElement>;
|
|
117
|
+
export type DropdownMenuGroupOwnProps = DropdownMenuPartOwnProps;
|
|
118
|
+
export type DropdownMenuLabelOwnProps = DropdownMenuPartOwnProps;
|
|
119
|
+
export type DropdownMenuSeparatorOwnProps = Omit<DropdownMenuPartOwnProps, "children">;
|
|
120
|
+
export type DropdownMenuGroupProps<TAs extends ElementType = "div"> = MenuGroupProps<TAs>;
|
|
121
|
+
export type DropdownMenuLabelProps<TAs extends ElementType = "div"> = MenuLabelProps<TAs>;
|
|
122
|
+
export type DropdownMenuSeparatorProps<TAs extends ElementType = "div"> = MenuSeparatorProps<TAs>;
|
|
123
|
+
export type DropdownMenuItemIconProps<TAs extends ElementType = "span"> = DropdownMenuPartProps<TAs>;
|
|
124
|
+
export type DropdownMenuItemTextProps<TAs extends ElementType = "span"> = DropdownMenuPartProps<TAs>;
|
|
125
|
+
export type DropdownMenuItemDescriptionProps<TAs extends ElementType = "span"> = DropdownMenuPartProps<TAs>;
|
|
126
|
+
export type DropdownMenuShortcutProps<TAs extends ElementType = "span"> = DropdownMenuPartProps<TAs>;
|
|
127
|
+
export type DropdownMenuItemIndicatorProps<TAs extends ElementType = "span"> = DropdownMenuPartProps<TAs>;
|
|
128
|
+
export interface DropdownMenuSubContextValue {
|
|
129
|
+
readonly contentRef: RefObject<HTMLElement | null>;
|
|
130
|
+
readonly open: boolean;
|
|
131
|
+
readonly setOpen: (open: boolean, reason: DropdownMenuOpenChangeReason, event?: Event | null) => void;
|
|
132
|
+
readonly triggerRef: RefObject<HTMLElement | null>;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown-menu/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./dropdown-menu/index.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./dropdown-menu/index.js";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mount once per document, in the root layout.
|
|
3
|
+
*
|
|
4
|
+
* Every `uiify` component whose accessible state the browser does not maintain
|
|
5
|
+
* itself is served by these delegated listeners, so no component needs a client
|
|
6
|
+
* island of its own. One listener pair covers the whole page, including nodes
|
|
7
|
+
* rendered after mount.
|
|
8
|
+
*
|
|
9
|
+
* Ownership contract: this may only own attributes whose React-rendered value
|
|
10
|
+
* is a *constant*. React diffs DOM props against the previous render's virtual
|
|
11
|
+
* props, not against the live DOM, so a constant prop is written once at
|
|
12
|
+
* hydration and never rewritten — the enhancer's writes survive re-renders.
|
|
13
|
+
* Attributes React re-renders with a changing value (controlled mode) must stay
|
|
14
|
+
* with a real island. See docs/guides/client-enhancement.md.
|
|
15
|
+
*/
|
|
16
|
+
export declare function UIEnhance(): null;
|
|
17
|
+
//# sourceMappingURL=UIEnhance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UIEnhance.d.ts","sourceRoot":"","sources":["../../../src/components/enhance/UIEnhance.tsx"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAGhC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/enhance/UIEnhance.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect } from \"react\";\nimport { attachEnhancers } from \"./listeners.js\";\n\n/**\n * Mount once per document, in the root layout.\n *\n * Every `uiify` component whose accessible state the browser does not maintain\n * itself is served by these delegated listeners, so no component needs a client\n * island of its own. One listener pair covers the whole page, including nodes\n * rendered after mount.\n *\n * Ownership contract: this may only own attributes whose React-rendered value\n * is a *constant*. React diffs DOM props against the previous render's virtual\n * props, not against the live DOM, so a constant prop is written once at\n * hydration and never rewritten — the enhancer's writes survive re-renders.\n * Attributes React re-renders with a changing value (controlled mode) must stay\n * with a real island. See docs/guides/client-enhancement.md.\n */\nexport function UIEnhance(): null {\n useEffect(() => attachEnhancers(), []);\n return null;\n}\n"],"mappings":";AAEA,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAiBzB,SAAS,YAAkB;AAChC,YAAU,MAAM,gBAAgB,GAAG,CAAC,CAAC;AACrC,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/enhance/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/enhance/index.ts"],"sourcesContent":["export { UIEnhance } from \"./UIEnhance.js\";\n"],"mappings":"AAAA,SAAS,iBAAiB;","names":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Delegated fallback for `command`/`commandfor` on engines below the library
|
|
3
|
+
* baseline (Chrome < 135, Firefox < 144, Safari < 26.2), e.g. Firefox ESR 140
|
|
4
|
+
* and iOS 26.0/26.1. Feature-detected: engines that implement invoker commands
|
|
5
|
+
* get nothing attached. Clicks that happen before hydration on those engines
|
|
6
|
+
* are still lost — see docs/guides/native-composition.md.
|
|
7
|
+
*/
|
|
8
|
+
export declare function supportsInvokerCommands(view?: Window): boolean;
|
|
9
|
+
/** Execute the button's declared command against its target. Returns true when a command ran. */
|
|
10
|
+
export declare function runInvokerCommand(button: HTMLButtonElement): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Attach the delegated click listener when the engine lacks invoker commands.
|
|
13
|
+
* Returns a teardown; a no-op teardown when nothing was attached.
|
|
14
|
+
*/
|
|
15
|
+
export declare function attachInvokerFallback(doc?: Document): () => void;
|
|
16
|
+
//# sourceMappingURL=invoker-fallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoker-fallback.d.ts","sourceRoot":"","sources":["../../../src/components/enhance/invoker-fallback.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wBAAgB,uBAAuB,CAAC,IAAI,GAAE,MAAe,GAAG,OAAO,CAOtE;AAuCD,iGAAiG;AACjG,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAQpE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,QAAmB,GAAG,MAAM,IAAI,CAa1E"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
const INVOKER_SELECTOR = "button[command][commandfor]";
|
|
2
|
+
function supportsInvokerCommands(view = window) {
|
|
3
|
+
const { HTMLButtonElement: ButtonCtor } = view;
|
|
4
|
+
return "commandForElement" in ButtonCtor.prototype;
|
|
5
|
+
}
|
|
6
|
+
function runDialogCommand(dialog, command, value) {
|
|
7
|
+
switch (command) {
|
|
8
|
+
case "show-modal":
|
|
9
|
+
if (!dialog.open) dialog.showModal();
|
|
10
|
+
return true;
|
|
11
|
+
case "close":
|
|
12
|
+
if (dialog.open) dialog.close(value);
|
|
13
|
+
return true;
|
|
14
|
+
case "request-close": {
|
|
15
|
+
if (!dialog.open) return true;
|
|
16
|
+
const requestClose = dialog.requestClose;
|
|
17
|
+
if (typeof requestClose === "function") requestClose.call(dialog, value);
|
|
18
|
+
else dialog.close(value);
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
default:
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function runPopoverCommand(target, command) {
|
|
26
|
+
switch (command) {
|
|
27
|
+
case "toggle-popover":
|
|
28
|
+
target.togglePopover();
|
|
29
|
+
return true;
|
|
30
|
+
case "show-popover":
|
|
31
|
+
target.showPopover();
|
|
32
|
+
return true;
|
|
33
|
+
case "hide-popover":
|
|
34
|
+
target.hidePopover();
|
|
35
|
+
return true;
|
|
36
|
+
default:
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function runInvokerCommand(button) {
|
|
41
|
+
const command = button.getAttribute("command");
|
|
42
|
+
const targetId = button.getAttribute("commandfor");
|
|
43
|
+
if (!command || !targetId) return false;
|
|
44
|
+
const target = button.ownerDocument.getElementById(targetId);
|
|
45
|
+
if (!target) return false;
|
|
46
|
+
if (target instanceof HTMLDialogElement) return runDialogCommand(target, command, button.value);
|
|
47
|
+
return target.hasAttribute("popover") && runPopoverCommand(target, command);
|
|
48
|
+
}
|
|
49
|
+
function attachInvokerFallback(doc = document) {
|
|
50
|
+
if (supportsInvokerCommands(doc.defaultView ?? window)) return () => {
|
|
51
|
+
};
|
|
52
|
+
const onClick = (event) => {
|
|
53
|
+
if (event.defaultPrevented) return;
|
|
54
|
+
const origin = event.target instanceof Element ? event.target : null;
|
|
55
|
+
const button = origin?.closest(INVOKER_SELECTOR);
|
|
56
|
+
if (!(button instanceof HTMLButtonElement) || button.disabled) return;
|
|
57
|
+
if (runInvokerCommand(button)) event.preventDefault();
|
|
58
|
+
};
|
|
59
|
+
doc.addEventListener("click", onClick);
|
|
60
|
+
return () => doc.removeEventListener("click", onClick);
|
|
61
|
+
}
|
|
62
|
+
export {
|
|
63
|
+
attachInvokerFallback,
|
|
64
|
+
runInvokerCommand,
|
|
65
|
+
supportsInvokerCommands
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=invoker-fallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/enhance/invoker-fallback.ts"],"sourcesContent":["/**\n * Delegated fallback for `command`/`commandfor` on engines below the library\n * baseline (Chrome < 135, Firefox < 144, Safari < 26.2), e.g. Firefox ESR 140\n * and iOS 26.0/26.1. Feature-detected: engines that implement invoker commands\n * get nothing attached. Clicks that happen before hydration on those engines\n * are still lost — see docs/guides/native-composition.md.\n */\n\nconst INVOKER_SELECTOR = \"button[command][commandfor]\";\n\nexport function supportsInvokerCommands(view: Window = window): boolean {\n // `HTMLButtonElement` is a global constructor, not a member of the `Window`\n // interface itself, so TypeScript's DOM lib does not expose it on a plain\n // `Window`-typed value. `view` is always the global `window` (or another\n // document's `defaultView`, which carries the same globals) at runtime.\n const { HTMLButtonElement: ButtonCtor } = view as unknown as typeof globalThis;\n return \"commandForElement\" in ButtonCtor.prototype;\n}\n\nfunction runDialogCommand(dialog: HTMLDialogElement, command: string, value: string): boolean {\n switch (command) {\n case \"show-modal\":\n if (!dialog.open) dialog.showModal();\n return true;\n case \"close\":\n if (dialog.open) dialog.close(value);\n return true;\n case \"request-close\": {\n if (!dialog.open) return true;\n const requestClose = (dialog as HTMLDialogElement & { requestClose?: (v?: string) => void })\n .requestClose;\n if (typeof requestClose === \"function\") requestClose.call(dialog, value);\n else dialog.close(value);\n return true;\n }\n default:\n return false;\n }\n}\n\nfunction runPopoverCommand(target: HTMLElement, command: string): boolean {\n switch (command) {\n case \"toggle-popover\":\n target.togglePopover();\n return true;\n case \"show-popover\":\n target.showPopover();\n return true;\n case \"hide-popover\":\n target.hidePopover();\n return true;\n default:\n return false;\n }\n}\n\n/** Execute the button's declared command against its target. Returns true when a command ran. */\nexport function runInvokerCommand(button: HTMLButtonElement): boolean {\n const command = button.getAttribute(\"command\");\n const targetId = button.getAttribute(\"commandfor\");\n if (!command || !targetId) return false;\n const target = button.ownerDocument.getElementById(targetId);\n if (!target) return false;\n if (target instanceof HTMLDialogElement) return runDialogCommand(target, command, button.value);\n return target.hasAttribute(\"popover\") && runPopoverCommand(target, command);\n}\n\n/**\n * Attach the delegated click listener when the engine lacks invoker commands.\n * Returns a teardown; a no-op teardown when nothing was attached.\n */\nexport function attachInvokerFallback(doc: Document = document): () => void {\n if (supportsInvokerCommands(doc.defaultView ?? window)) return () => {};\n\n const onClick = (event: Event): void => {\n if (event.defaultPrevented) return;\n const origin = event.target instanceof Element ? event.target : null;\n const button = origin?.closest(INVOKER_SELECTOR);\n if (!(button instanceof HTMLButtonElement) || button.disabled) return;\n if (runInvokerCommand(button)) event.preventDefault();\n };\n\n doc.addEventListener(\"click\", onClick);\n return () => doc.removeEventListener(\"click\", onClick);\n}\n"],"mappings":"AAQA,MAAM,mBAAmB;AAElB,SAAS,wBAAwB,OAAe,QAAiB;AAKtE,QAAM,EAAE,mBAAmB,WAAW,IAAI;AAC1C,SAAO,uBAAuB,WAAW;AAC3C;AAEA,SAAS,iBAAiB,QAA2B,SAAiB,OAAwB;AAC5F,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,UAAI,CAAC,OAAO,KAAM,QAAO,UAAU;AACnC,aAAO;AAAA,IACT,KAAK;AACH,UAAI,OAAO,KAAM,QAAO,MAAM,KAAK;AACnC,aAAO;AAAA,IACT,KAAK,iBAAiB;AACpB,UAAI,CAAC,OAAO,KAAM,QAAO;AACzB,YAAM,eAAgB,OACnB;AACH,UAAI,OAAO,iBAAiB,WAAY,cAAa,KAAK,QAAQ,KAAK;AAAA,UAClE,QAAO,MAAM,KAAK;AACvB,aAAO;AAAA,IACT;AAAA,IACA;AACE,aAAO;AAAA,EACX;AACF;AAEA,SAAS,kBAAkB,QAAqB,SAA0B;AACxE,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO,cAAc;AACrB,aAAO;AAAA,IACT,KAAK;AACH,aAAO,YAAY;AACnB,aAAO;AAAA,IACT,KAAK;AACH,aAAO,YAAY;AACnB,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAGO,SAAS,kBAAkB,QAAoC;AACpE,QAAM,UAAU,OAAO,aAAa,SAAS;AAC7C,QAAM,WAAW,OAAO,aAAa,YAAY;AACjD,MAAI,CAAC,WAAW,CAAC,SAAU,QAAO;AAClC,QAAM,SAAS,OAAO,cAAc,eAAe,QAAQ;AAC3D,MAAI,CAAC,OAAQ,QAAO;AACpB,MAAI,kBAAkB,kBAAmB,QAAO,iBAAiB,QAAQ,SAAS,OAAO,KAAK;AAC9F,SAAO,OAAO,aAAa,SAAS,KAAK,kBAAkB,QAAQ,OAAO;AAC5E;AAMO,SAAS,sBAAsB,MAAgB,UAAsB;AAC1E,MAAI,wBAAwB,IAAI,eAAe,MAAM,EAAG,QAAO,MAAM;AAAA,EAAC;AAEtE,QAAM,UAAU,CAAC,UAAuB;AACtC,QAAI,MAAM,iBAAkB;AAC5B,UAAM,SAAS,MAAM,kBAAkB,UAAU,MAAM,SAAS;AAChE,UAAM,SAAS,QAAQ,QAAQ,gBAAgB;AAC/C,QAAI,EAAE,kBAAkB,sBAAsB,OAAO,SAAU;AAC/D,QAAI,kBAAkB,MAAM,EAAG,OAAM,eAAe;AAAA,EACtD;AAEA,MAAI,iBAAiB,SAAS,OAAO;AACrC,SAAO,MAAM,IAAI,oBAAoB,SAAS,OAAO;AACvD;","names":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Attach the document-level enhancement listeners. Returns a teardown.
|
|
3
|
+
*
|
|
4
|
+
* `toggle` is captured rather than bubbled: the event has `bubbles: false`, but
|
|
5
|
+
* the capture phase runs from the root down to the target for every dispatched
|
|
6
|
+
* event regardless of bubbling, so a single capture-phase listener on the
|
|
7
|
+
* document sees every popover on the page — including ones rendered later.
|
|
8
|
+
*
|
|
9
|
+
* `change` bubbles, so tabs are handled in the ordinary bubble phase.
|
|
10
|
+
*
|
|
11
|
+
* The invoker fallback attaches only on engines without `command`/`commandfor`
|
|
12
|
+
* (see invoker-fallback.ts); on the baseline it is a no-op.
|
|
13
|
+
*/
|
|
14
|
+
export declare function attachEnhancers(doc?: Document): () => void;
|
|
15
|
+
//# sourceMappingURL=listeners.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listeners.d.ts","sourceRoot":"","sources":["../../../src/components/enhance/listeners.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,GAAG,GAAE,QAAmB,GAAG,MAAM,IAAI,CA4BpE"}
|