@d4gger/design-system 3.0.0 → 3.0.1
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/dist/{components/controlGroup/ControlGroup.cjs → _internal/floatingLayer.cjs} +11 -26
- package/dist/_internal/floatingLayer.cjs.map +7 -0
- package/dist/_internal/floatingLayer.d.cts +28 -0
- package/dist/_internal/floatingLayer.d.cts.map +1 -0
- package/dist/_internal/floatingLayer.d.mts +28 -0
- package/dist/_internal/floatingLayer.d.mts.map +1 -0
- package/dist/_internal/floatingLayer.d.ts +28 -0
- package/dist/_internal/floatingLayer.d.ts.map +1 -0
- package/dist/_internal/floatingLayer.js +11 -0
- package/dist/_internal/floatingLayer.js.map +7 -0
- package/dist/components/banner/Banner.cjs +105 -0
- package/dist/components/banner/Banner.cjs.map +7 -0
- package/dist/components/banner/Banner.d.cts +27 -0
- package/dist/components/banner/Banner.d.cts.map +1 -0
- package/dist/components/banner/Banner.d.mts +27 -0
- package/dist/components/banner/Banner.d.mts.map +1 -0
- package/dist/components/banner/Banner.d.ts +27 -0
- package/dist/components/banner/Banner.d.ts.map +1 -0
- package/dist/components/banner/Banner.js +80 -0
- package/dist/components/banner/Banner.js.map +7 -0
- package/dist/components/{controlGroup/controlGroup.props.cjs → banner/banner.props.cjs} +23 -16
- package/dist/components/banner/banner.props.cjs.map +7 -0
- package/dist/components/banner/banner.props.d.cts +32 -0
- package/dist/components/banner/banner.props.d.cts.map +1 -0
- package/dist/components/banner/banner.props.d.mts +32 -0
- package/dist/components/banner/banner.props.d.mts.map +1 -0
- package/dist/components/banner/banner.props.d.ts +32 -0
- package/dist/components/banner/banner.props.d.ts.map +1 -0
- package/dist/components/banner/banner.props.js +27 -0
- package/dist/components/banner/banner.props.js.map +7 -0
- package/dist/components/banner.css +60 -0
- package/dist/components/button-group.css +25 -0
- package/dist/components/button.css +9 -0
- package/dist/components/card.css +3 -0
- package/dist/components/carousel/Carousel.cjs +109 -39
- package/dist/components/carousel/Carousel.cjs.map +3 -3
- package/dist/components/carousel/Carousel.d.cts.map +1 -1
- package/dist/components/carousel/Carousel.d.mts.map +1 -1
- package/dist/components/carousel/Carousel.d.ts.map +1 -1
- package/dist/components/carousel/Carousel.js +111 -41
- package/dist/components/carousel/Carousel.js.map +3 -3
- package/dist/components/carousel.css +93 -26
- package/dist/components/chart/Chart.cjs +61 -11
- package/dist/components/chart/Chart.cjs.map +2 -2
- package/dist/components/chart/Chart.d.cts.map +1 -1
- package/dist/components/chart/Chart.d.mts.map +1 -1
- package/dist/components/chart/Chart.d.ts.map +1 -1
- package/dist/components/chart/Chart.js +62 -11
- package/dist/components/chart/Chart.js.map +2 -2
- package/dist/components/chart.css +10 -1
- package/dist/components/checkbox.css +14 -0
- package/dist/components/combobox/Combobox.cjs +3 -1
- package/dist/components/combobox/Combobox.cjs.map +2 -2
- package/dist/components/combobox/Combobox.d.cts.map +1 -1
- package/dist/components/combobox/Combobox.d.mts.map +1 -1
- package/dist/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.js +3 -1
- package/dist/components/combobox/Combobox.js.map +2 -2
- package/dist/components/combobox.css +5 -1
- package/dist/components/command/Command.cjs +1 -1
- package/dist/components/command/Command.cjs.map +2 -2
- package/dist/components/command/Command.js +1 -1
- package/dist/components/command/Command.js.map +2 -2
- package/dist/components/context-menu.css +1 -1
- package/dist/components/copy-field.css +18 -0
- package/dist/components/copyField/CopyField.cjs +3 -3
- package/dist/components/copyField/CopyField.cjs.map +2 -2
- package/dist/components/copyField/CopyField.d.cts.map +1 -1
- package/dist/components/copyField/CopyField.d.mts.map +1 -1
- package/dist/components/copyField/CopyField.d.ts.map +1 -1
- package/dist/components/copyField/CopyField.js +3 -3
- package/dist/components/copyField/CopyField.js.map +2 -2
- package/dist/components/data-list.css +19 -4
- package/dist/components/data-table.css +190 -0
- package/dist/components/dataTable/DataTable.cjs +193 -68
- package/dist/components/dataTable/DataTable.cjs.map +3 -3
- package/dist/components/dataTable/DataTable.d.cts +29 -1
- package/dist/components/dataTable/DataTable.d.cts.map +1 -1
- package/dist/components/dataTable/DataTable.d.mts +29 -1
- package/dist/components/dataTable/DataTable.d.mts.map +1 -1
- package/dist/components/dataTable/DataTable.d.ts +29 -1
- package/dist/components/dataTable/DataTable.d.ts.map +1 -1
- package/dist/components/dataTable/DataTable.js +193 -68
- package/dist/components/dataTable/DataTable.js.map +2 -2
- package/dist/components/dataTable/DataTableContext.cjs +41 -0
- package/dist/components/dataTable/DataTableContext.cjs.map +7 -0
- package/dist/components/dataTable/DataTableContext.d.cts +23 -0
- package/dist/components/dataTable/DataTableContext.d.cts.map +1 -0
- package/dist/components/dataTable/DataTableContext.d.mts +23 -0
- package/dist/components/dataTable/DataTableContext.d.mts.map +1 -0
- package/dist/components/dataTable/DataTableContext.d.ts +23 -0
- package/dist/components/dataTable/DataTableContext.d.ts.map +1 -0
- package/dist/components/dataTable/DataTableContext.js +11 -0
- package/dist/components/dataTable/DataTableContext.js.map +7 -0
- package/dist/components/dataTable/DataTablePagination.cjs +72 -47
- package/dist/components/dataTable/DataTablePagination.cjs.map +2 -2
- package/dist/components/dataTable/DataTablePagination.d.cts +5 -1
- package/dist/components/dataTable/DataTablePagination.d.cts.map +1 -1
- package/dist/components/dataTable/DataTablePagination.d.mts +5 -1
- package/dist/components/dataTable/DataTablePagination.d.mts.map +1 -1
- package/dist/components/dataTable/DataTablePagination.d.ts +5 -1
- package/dist/components/dataTable/DataTablePagination.d.ts.map +1 -1
- package/dist/components/dataTable/DataTablePagination.js +75 -47
- package/dist/components/dataTable/DataTablePagination.js.map +2 -2
- package/dist/components/dataTable/DataTableToolbar.cjs +122 -93
- package/dist/components/dataTable/DataTableToolbar.cjs.map +2 -2
- package/dist/components/dataTable/DataTableToolbar.d.cts +6 -5
- package/dist/components/dataTable/DataTableToolbar.d.cts.map +1 -1
- package/dist/components/dataTable/DataTableToolbar.d.mts +6 -5
- package/dist/components/dataTable/DataTableToolbar.d.mts.map +1 -1
- package/dist/components/dataTable/DataTableToolbar.d.ts +6 -5
- package/dist/components/dataTable/DataTableToolbar.d.ts.map +1 -1
- package/dist/components/dataTable/DataTableToolbar.js +123 -94
- package/dist/components/dataTable/DataTableToolbar.js.map +2 -2
- package/dist/components/dataTable/dataTable.export.cjs +83 -0
- package/dist/components/dataTable/dataTable.export.cjs.map +7 -0
- package/dist/components/dataTable/dataTable.export.d.cts +11 -0
- package/dist/components/dataTable/dataTable.export.d.cts.map +1 -0
- package/dist/components/dataTable/dataTable.export.d.mts +11 -0
- package/dist/components/dataTable/dataTable.export.d.mts.map +1 -0
- package/dist/components/dataTable/dataTable.export.d.ts +11 -0
- package/dist/components/dataTable/dataTable.export.d.ts.map +1 -0
- package/dist/components/dataTable/dataTable.export.js +63 -0
- package/dist/components/dataTable/dataTable.export.js.map +7 -0
- package/dist/components/dataTable/dataTable.props.cjs +23 -1
- package/dist/components/dataTable/dataTable.props.cjs.map +2 -2
- package/dist/components/dataTable/dataTable.props.d.cts +21 -1
- package/dist/components/dataTable/dataTable.props.d.cts.map +1 -1
- package/dist/components/dataTable/dataTable.props.d.mts +21 -1
- package/dist/components/dataTable/dataTable.props.d.mts.map +1 -1
- package/dist/components/dataTable/dataTable.props.d.ts +21 -1
- package/dist/components/dataTable/dataTable.props.d.ts.map +1 -1
- package/dist/components/dataTable/dataTable.props.js +23 -1
- package/dist/components/dataTable/dataTable.props.js.map +2 -2
- package/dist/components/dialog/Dialog.cjs +2 -1
- package/dist/components/dialog/Dialog.cjs.map +2 -2
- package/dist/components/dialog/Dialog.d.cts.map +1 -1
- package/dist/components/dialog/Dialog.d.mts.map +1 -1
- package/dist/components/dialog/Dialog.d.ts.map +1 -1
- package/dist/components/dialog/Dialog.js +2 -1
- package/dist/components/dialog/Dialog.js.map +2 -2
- package/dist/components/dropdown-menu.css +1 -1
- package/dist/components/empty-state.css +5 -0
- package/dist/components/fileUpload/FileUpload.cjs +10 -1
- package/dist/components/fileUpload/FileUpload.cjs.map +2 -2
- package/dist/components/fileUpload/FileUpload.d.cts +1 -0
- package/dist/components/fileUpload/FileUpload.d.cts.map +1 -1
- package/dist/components/fileUpload/FileUpload.d.mts +1 -0
- package/dist/components/fileUpload/FileUpload.d.mts.map +1 -1
- package/dist/components/fileUpload/FileUpload.d.ts +1 -0
- package/dist/components/fileUpload/FileUpload.d.ts.map +1 -1
- package/dist/components/fileUpload/FileUpload.js +10 -1
- package/dist/components/fileUpload/FileUpload.js.map +2 -2
- package/dist/components/filter-bar.css +380 -8
- package/dist/components/filterBar/FilterBar.cjs +630 -1
- package/dist/components/filterBar/FilterBar.cjs.map +2 -2
- package/dist/components/filterBar/FilterBar.d.cts +132 -2
- package/dist/components/filterBar/FilterBar.d.cts.map +1 -1
- package/dist/components/filterBar/FilterBar.d.mts +132 -2
- package/dist/components/filterBar/FilterBar.d.mts.map +1 -1
- package/dist/components/filterBar/FilterBar.d.ts +132 -2
- package/dist/components/filterBar/FilterBar.d.ts.map +1 -1
- package/dist/components/filterBar/FilterBar.js +631 -2
- package/dist/components/filterBar/FilterBar.js.map +2 -2
- package/dist/components/floating-panel.css +1 -1
- package/dist/components/fontProvider/FontProvider.cjs +1 -1
- package/dist/components/fontProvider/FontProvider.cjs.map +1 -1
- package/dist/components/fontProvider/FontProvider.js +1 -1
- package/dist/components/fontProvider/FontProvider.js.map +1 -1
- package/dist/components/icon/Icon.cjs +25 -2
- package/dist/components/icon/Icon.cjs.map +2 -2
- package/dist/components/icon/Icon.d.cts +29 -1
- package/dist/components/icon/Icon.d.cts.map +1 -1
- package/dist/components/icon/Icon.d.mts +29 -1
- package/dist/components/icon/Icon.d.mts.map +1 -1
- package/dist/components/icon/Icon.d.ts +29 -1
- package/dist/components/icon/Icon.d.ts.map +1 -1
- package/dist/components/icon/Icon.js +33 -2
- package/dist/components/icon/Icon.js.map +2 -2
- package/dist/components/icon/icons.cjs +16 -0
- package/dist/components/icon/icons.cjs.map +2 -2
- package/dist/components/icon/icons.d.cts +40 -0
- package/dist/components/icon/icons.d.cts.map +1 -1
- package/dist/components/icon/icons.d.mts +40 -0
- package/dist/components/icon/icons.d.mts.map +1 -1
- package/dist/components/icon/icons.d.ts +40 -0
- package/dist/components/icon/icons.d.ts.map +1 -1
- package/dist/components/icon/icons.js +16 -0
- package/dist/components/icon/icons.js.map +2 -2
- package/dist/components/icon-button.css +29 -0
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.cjs.map +2 -2
- package/dist/components/index.d.cts +1 -1
- package/dist/components/index.d.cts.map +1 -1
- package/dist/components/index.d.mts +1 -1
- package/dist/components/index.d.mts.map +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/item/Item.cjs +1 -1
- package/dist/components/item/Item.cjs.map +2 -2
- package/dist/components/item/Item.js +1 -1
- package/dist/components/item/Item.js.map +2 -2
- package/dist/components/item.css +12 -1
- package/dist/components/marquee/Marquee.cjs +1 -1
- package/dist/components/marquee/Marquee.cjs.map +2 -2
- package/dist/components/marquee/Marquee.js +1 -1
- package/dist/components/marquee/Marquee.js.map +2 -2
- package/dist/components/marquee.css +6 -0
- package/dist/components/menu/Menu.cjs +3 -1
- package/dist/components/menu/Menu.cjs.map +2 -2
- package/dist/components/menu/Menu.d.cts.map +1 -1
- package/dist/components/menu/Menu.d.mts.map +1 -1
- package/dist/components/menu/Menu.d.ts.map +1 -1
- package/dist/components/menu/Menu.js +3 -1
- package/dist/components/menu/Menu.js.map +2 -2
- package/dist/components/menubar.css +1 -1
- package/dist/components/metric.css +5 -0
- package/dist/components/pagination/Pagination.cjs +143 -17
- package/dist/components/pagination/Pagination.cjs.map +2 -2
- package/dist/components/pagination/Pagination.d.cts +64 -4
- package/dist/components/pagination/Pagination.d.cts.map +1 -1
- package/dist/components/pagination/Pagination.d.mts +64 -4
- package/dist/components/pagination/Pagination.d.mts.map +1 -1
- package/dist/components/pagination/Pagination.d.ts +64 -4
- package/dist/components/pagination/Pagination.d.ts.map +1 -1
- package/dist/components/pagination/Pagination.js +143 -17
- package/dist/components/pagination/Pagination.js.map +2 -2
- package/dist/components/pagination.css +50 -8
- package/dist/components/phoneInput/PhoneInput.cjs +18 -13
- package/dist/components/phoneInput/PhoneInput.cjs.map +2 -2
- package/dist/components/phoneInput/PhoneInput.d.cts.map +1 -1
- package/dist/components/phoneInput/PhoneInput.d.mts.map +1 -1
- package/dist/components/phoneInput/PhoneInput.d.ts.map +1 -1
- package/dist/components/phoneInput/PhoneInput.js +19 -14
- package/dist/components/phoneInput/PhoneInput.js.map +2 -2
- package/dist/components/popover/Popover.cjs +2 -1
- package/dist/components/popover/Popover.cjs.map +2 -2
- package/dist/components/popover/Popover.d.cts.map +1 -1
- package/dist/components/popover/Popover.d.mts.map +1 -1
- package/dist/components/popover/Popover.d.ts.map +1 -1
- package/dist/components/popover/Popover.js +2 -1
- package/dist/components/popover/Popover.js.map +2 -2
- package/dist/components/prose.css +1 -1
- package/dist/components/qr-code.css +5 -15
- package/dist/components/radio-group.css +19 -0
- package/dist/components/radioGroup/RadioGroup.cjs +3 -2
- package/dist/components/radioGroup/RadioGroup.cjs.map +2 -2
- package/dist/components/radioGroup/RadioGroup.d.cts.map +1 -1
- package/dist/components/radioGroup/RadioGroup.d.mts.map +1 -1
- package/dist/components/radioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/radioGroup/RadioGroup.js +3 -2
- package/dist/components/radioGroup/RadioGroup.js.map +2 -2
- package/dist/components/radioGroup/radioGroup.props.cjs +1 -1
- package/dist/components/radioGroup/radioGroup.props.cjs.map +2 -2
- package/dist/components/radioGroup/radioGroup.props.d.cts +1 -1
- package/dist/components/radioGroup/radioGroup.props.d.mts +1 -1
- package/dist/components/radioGroup/radioGroup.props.d.ts +1 -1
- package/dist/components/radioGroup/radioGroup.props.js +1 -1
- package/dist/components/radioGroup/radioGroup.props.js.map +2 -2
- package/dist/components/rating.css +12 -0
- package/dist/components/result.css +2 -1
- package/dist/components/richTextEditor/RichTextEditor.cjs +11 -3
- package/dist/components/richTextEditor/RichTextEditor.cjs.map +2 -2
- package/dist/components/richTextEditor/RichTextEditor.d.cts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.d.mts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.d.ts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.js +11 -3
- package/dist/components/richTextEditor/RichTextEditor.js.map +2 -2
- package/dist/components/segmented-control.css +80 -4
- package/dist/components/segmentedControl/SegmentedControl.cjs +18 -5
- package/dist/components/segmentedControl/SegmentedControl.cjs.map +2 -2
- package/dist/components/segmentedControl/SegmentedControl.d.cts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.d.mts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.js +18 -5
- package/dist/components/segmentedControl/SegmentedControl.js.map +2 -2
- package/dist/components/segmentedControl/segmentedControl.props.cjs +10 -0
- package/dist/components/segmentedControl/segmentedControl.props.cjs.map +2 -2
- package/dist/components/segmentedControl/segmentedControl.props.d.cts +9 -0
- package/dist/components/segmentedControl/segmentedControl.props.d.cts.map +1 -1
- package/dist/components/segmentedControl/segmentedControl.props.d.mts +9 -0
- package/dist/components/segmentedControl/segmentedControl.props.d.mts.map +1 -1
- package/dist/components/segmentedControl/segmentedControl.props.d.ts +9 -0
- package/dist/components/segmentedControl/segmentedControl.props.d.ts.map +1 -1
- package/dist/components/segmentedControl/segmentedControl.props.js +10 -0
- package/dist/components/segmentedControl/segmentedControl.props.js.map +2 -2
- package/dist/components/select/Select.cjs +3 -1
- package/dist/components/select/Select.cjs.map +2 -2
- package/dist/components/select/Select.d.cts.map +1 -1
- package/dist/components/select/Select.d.mts.map +1 -1
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/select/Select.js +3 -1
- package/dist/components/select/Select.js.map +2 -2
- package/dist/components/select.css +1 -1
- package/dist/components/sonner.css +1 -1
- package/dist/components/sortableList/SortableList.cjs +8 -2
- package/dist/components/sortableList/SortableList.cjs.map +2 -2
- package/dist/components/sortableList/SortableList.d.cts.map +1 -1
- package/dist/components/sortableList/SortableList.d.mts.map +1 -1
- package/dist/components/sortableList/SortableList.d.ts.map +1 -1
- package/dist/components/sortableList/SortableList.js +8 -2
- package/dist/components/sortableList/SortableList.js.map +2 -2
- package/dist/components/stat-card.css +2 -0
- package/dist/components/table/Table.cjs +3 -2
- package/dist/components/table/Table.cjs.map +2 -2
- package/dist/components/table/Table.d.cts.map +1 -1
- package/dist/components/table/Table.d.mts.map +1 -1
- package/dist/components/table/Table.d.ts.map +1 -1
- package/dist/components/table/Table.js +3 -2
- package/dist/components/table/Table.js.map +2 -2
- package/dist/components/table/table.props.cjs +6 -0
- package/dist/components/table/table.props.cjs.map +2 -2
- package/dist/components/table/table.props.d.cts +5 -0
- package/dist/components/table/table.props.d.cts.map +1 -1
- package/dist/components/table/table.props.d.mts +5 -0
- package/dist/components/table/table.props.d.mts.map +1 -1
- package/dist/components/table/table.props.d.ts +5 -0
- package/dist/components/table/table.props.d.ts.map +1 -1
- package/dist/components/table/table.props.js +6 -0
- package/dist/components/table/table.props.js.map +2 -2
- package/dist/components/table.css +20 -13
- package/dist/components/tabs.css +10 -0
- package/dist/components/timeline.css +54 -18
- package/dist/components/toast.css +33 -1
- package/dist/components/toggle-group.css +5 -0
- package/dist/components.css +1 -2
- package/dist/docs/README.md +1 -1
- package/dist/docs/component-contract.md +4 -4
- package/dist/docs/component-index.json +9 -9
- package/dist/docs/components/banner.md +152 -0
- package/dist/docs/components/button-group.md +4 -3
- package/dist/docs/components/button.md +2 -2
- package/dist/docs/components/card.md +1 -0
- package/dist/docs/components/carousel.md +55 -32
- package/dist/docs/components/chart.md +25 -7
- package/dist/docs/components/checkbox.md +4 -0
- package/dist/docs/components/combobox.md +3 -1
- package/dist/docs/components/command.md +2 -2
- package/dist/docs/components/copy-field.md +2 -2
- package/dist/docs/components/data-list.md +15 -3
- package/dist/docs/components/data-table.md +98 -17
- package/dist/docs/components/dialog.md +4 -0
- package/dist/docs/components/dropdown-menu.md +2 -1
- package/dist/docs/components/empty-state.md +3 -1
- package/dist/docs/components/file-upload.md +1 -0
- package/dist/docs/components/filter-bar.md +193 -8
- package/dist/docs/components/floating-panel.md +8 -8
- package/dist/docs/components/icon-button.md +4 -1
- package/dist/docs/components/item.md +18 -13
- package/dist/docs/components/marquee.md +2 -2
- package/dist/docs/components/menu.md +4 -1
- package/dist/docs/components/metric.md +4 -1
- package/dist/docs/components/pagination.md +88 -17
- package/dist/docs/components/pills.md +1 -1
- package/dist/docs/components/popover.md +2 -0
- package/dist/docs/components/prose.md +5 -1
- package/dist/docs/components/qr-code.md +14 -13
- package/dist/docs/components/radio-group.md +5 -2
- package/dist/docs/components/rating.md +2 -0
- package/dist/docs/components/result.md +6 -0
- package/dist/docs/components/segmented-control.md +7 -2
- package/dist/docs/components/select.md +3 -2
- package/dist/docs/components/sidebar.md +3 -1
- package/dist/docs/components/sonner.md +1 -1
- package/dist/docs/components/sortable-list.md +2 -0
- package/dist/docs/components/stat-card.md +5 -4
- package/dist/docs/components/stepper.md +1 -0
- package/dist/docs/components/table.md +14 -5
- package/dist/docs/components/tag.md +4 -2
- package/dist/docs/components/timeline.md +9 -5
- package/dist/docs/components/toast.md +1 -1
- package/dist/docs/components/toggle-group.md +2 -1
- package/dist/fonts.css +1 -1
- package/dist/generated/tokens.cjs +1 -1
- package/dist/generated/tokens.cjs.map +1 -1
- package/dist/generated/tokens.js +1 -1
- package/dist/generated/tokens.js.map +1 -1
- package/dist/motion.css +18 -3
- package/dist/styles.css +1249 -292
- package/dist/tokens.css +21 -15
- package/package.json +1 -1
- package/dist/components/control-group.css +0 -142
- package/dist/components/controlGroup/ControlGroup.cjs.map +0 -7
- package/dist/components/controlGroup/ControlGroup.d.cts +0 -16
- package/dist/components/controlGroup/ControlGroup.d.cts.map +0 -1
- package/dist/components/controlGroup/ControlGroup.d.mts +0 -16
- package/dist/components/controlGroup/ControlGroup.d.mts.map +0 -1
- package/dist/components/controlGroup/ControlGroup.d.ts +0 -16
- package/dist/components/controlGroup/ControlGroup.d.ts.map +0 -1
- package/dist/components/controlGroup/ControlGroup.js +0 -26
- package/dist/components/controlGroup/ControlGroup.js.map +0 -7
- package/dist/components/controlGroup/controlGroup.props.cjs.map +0 -7
- package/dist/components/controlGroup/controlGroup.props.d.cts +0 -18
- package/dist/components/controlGroup/controlGroup.props.d.cts.map +0 -1
- package/dist/components/controlGroup/controlGroup.props.d.mts +0 -18
- package/dist/components/controlGroup/controlGroup.props.d.mts.map +0 -1
- package/dist/components/controlGroup/controlGroup.props.d.ts +0 -18
- package/dist/components/controlGroup/controlGroup.props.d.ts.map +0 -1
- package/dist/components/controlGroup/controlGroup.props.js +0 -20
- package/dist/components/controlGroup/controlGroup.props.js.map +0 -7
- package/dist/docs/components/control-group.md +0 -261
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
.dsx-pagination__list {
|
|
9
9
|
display: inline-flex;
|
|
10
10
|
align-items: center;
|
|
11
|
+
flex-wrap: wrap;
|
|
12
|
+
row-gap: var(--dsx-space-xs);
|
|
11
13
|
gap: var(--dsx-space-xs);
|
|
12
14
|
padding: var(--dsx-space-xs);
|
|
13
15
|
border-radius: var(--dsx-rounded-lg);
|
|
@@ -51,13 +53,13 @@
|
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
.dsx-pagination__link--active {
|
|
54
|
-
background: var(--dsx-color-accent-
|
|
56
|
+
background: var(--dsx-color-accent-track);
|
|
55
57
|
color: var(--dsx-color-on-primary);
|
|
56
58
|
font-weight: var(--dsx-typography-label-large-font-weight, 600);
|
|
57
59
|
}
|
|
58
60
|
|
|
59
61
|
.dsx-pagination__link--active:hover:not(:disabled):not([data-disabled]) {
|
|
60
|
-
background: var(--dsx-color-accent-
|
|
62
|
+
background: var(--dsx-color-accent-track);
|
|
61
63
|
color: var(--dsx-color-on-primary);
|
|
62
64
|
}
|
|
63
65
|
|
|
@@ -94,19 +96,27 @@
|
|
|
94
96
|
white-space: nowrap;
|
|
95
97
|
}
|
|
96
98
|
|
|
99
|
+
.dsx-pagination__status {
|
|
100
|
+
display: inline-flex;
|
|
101
|
+
align-items: center;
|
|
102
|
+
justify-content: center;
|
|
103
|
+
color: var(--dsx-color-on-surface-variant);
|
|
104
|
+
font-family: var(--dsx-typography-body-medium-font-family), sans-serif;
|
|
105
|
+
font-size: var(--dsx-typography-body-medium-font-size);
|
|
106
|
+
white-space: nowrap;
|
|
107
|
+
}
|
|
108
|
+
|
|
97
109
|
.dsx-pagination__page-size {
|
|
98
|
-
appearance: none;
|
|
99
110
|
display: inline-flex;
|
|
100
111
|
align-items: center;
|
|
112
|
+
min-width: 8rem;
|
|
101
113
|
height: var(--dsx-size-lg);
|
|
102
114
|
padding: 0 var(--dsx-space-sm);
|
|
103
115
|
border: var(--dsx-border-width-sm) solid var(--dsx-color-outline);
|
|
104
116
|
border-radius: var(--dsx-rounded-md);
|
|
105
|
-
background: var(--dsx-color-surface);
|
|
106
117
|
color: var(--dsx-color-on-surface);
|
|
107
118
|
font-family: var(--dsx-typography-label-large-font-family), sans-serif;
|
|
108
119
|
font-size: var(--dsx-typography-label-large-font-size);
|
|
109
|
-
cursor: pointer;
|
|
110
120
|
}
|
|
111
121
|
|
|
112
122
|
.dsx-pagination__page-size:focus-visible {
|
|
@@ -114,6 +124,32 @@
|
|
|
114
124
|
box-shadow: var(--dsx-shadow-focus-ring);
|
|
115
125
|
}
|
|
116
126
|
|
|
127
|
+
.dsx-pagination__page-input {
|
|
128
|
+
display: inline-flex;
|
|
129
|
+
align-items: center;
|
|
130
|
+
gap: var(--dsx-space-xs);
|
|
131
|
+
color: var(--dsx-color-on-surface-variant);
|
|
132
|
+
font-family: var(--dsx-typography-body-medium-font-family), sans-serif;
|
|
133
|
+
font-size: var(--dsx-typography-body-medium-font-size);
|
|
134
|
+
white-space: nowrap;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.dsx-pagination__page-input input {
|
|
138
|
+
width: var(--dsx-size-3xl);
|
|
139
|
+
height: var(--dsx-size-lg);
|
|
140
|
+
padding: 0 var(--dsx-space-xs);
|
|
141
|
+
border: var(--dsx-border-width-sm) solid var(--dsx-color-outline);
|
|
142
|
+
border-radius: var(--dsx-rounded-md);
|
|
143
|
+
background: var(--dsx-color-surface);
|
|
144
|
+
color: var(--dsx-color-on-surface);
|
|
145
|
+
text-align: center;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.dsx-pagination__page-input input:focus-visible {
|
|
149
|
+
outline: none;
|
|
150
|
+
box-shadow: var(--dsx-shadow-focus-ring);
|
|
151
|
+
}
|
|
152
|
+
|
|
117
153
|
.dsx-pagination__item {
|
|
118
154
|
display: inline-flex;
|
|
119
155
|
align-items: center;
|
|
@@ -158,12 +194,18 @@
|
|
|
158
194
|
display: flex;
|
|
159
195
|
align-items: center;
|
|
160
196
|
justify-content: space-between;
|
|
161
|
-
|
|
197
|
+
flex-wrap: wrap;
|
|
198
|
+
row-gap: var(--dsx-space-sm);
|
|
199
|
+
column-gap: var(--dsx-space-md);
|
|
200
|
+
min-width: 0;
|
|
162
201
|
}
|
|
163
202
|
|
|
164
203
|
.dsx-pagination-bar__controls {
|
|
165
204
|
display: flex;
|
|
166
205
|
align-items: center;
|
|
167
|
-
|
|
168
|
-
flex-
|
|
206
|
+
flex: 1 1 auto;
|
|
207
|
+
flex-wrap: wrap;
|
|
208
|
+
row-gap: var(--dsx-space-xs);
|
|
209
|
+
column-gap: var(--dsx-space-sm);
|
|
210
|
+
min-width: 0;
|
|
169
211
|
}
|
|
@@ -104,11 +104,24 @@ const PhoneInput = React.forwardRef((props, forwardedRef) => {
|
|
|
104
104
|
const [countryOpen, setCountryOpen] = React.useState(false);
|
|
105
105
|
const [countryFilter, setCountryFilter] = React.useState("");
|
|
106
106
|
const countryListRef = React.useRef(null);
|
|
107
|
+
const maybeDetectCountry = React.useCallback((nextValue) => {
|
|
108
|
+
if (!nextValue) return;
|
|
109
|
+
try {
|
|
110
|
+
const parsed = (0, import_input.parsePhoneNumber)(nextValue);
|
|
111
|
+
if (parsed?.country && parsed.country !== country && countryOptions.includes(parsed.country) && (0, import_input.isPossiblePhoneNumber)(nextValue)) {
|
|
112
|
+
setCountry(parsed.country);
|
|
113
|
+
}
|
|
114
|
+
} catch {
|
|
115
|
+
}
|
|
116
|
+
}, [country, countryOptions]);
|
|
107
117
|
React.useEffect(() => {
|
|
108
|
-
if (controlledValue
|
|
109
|
-
|
|
118
|
+
if (controlledValue === void 0) return;
|
|
119
|
+
if (!controlledValue) {
|
|
120
|
+
setCountry(defaultCountry);
|
|
121
|
+
return;
|
|
110
122
|
}
|
|
111
|
-
|
|
123
|
+
maybeDetectCountry(controlledValue);
|
|
124
|
+
}, [controlledValue, defaultCountry, maybeDetectCountry]);
|
|
112
125
|
React.useEffect(() => {
|
|
113
126
|
if (!countryOpen) return void 0;
|
|
114
127
|
const onPointerDown = (event) => {
|
|
@@ -123,17 +136,9 @@ const PhoneInput = React.forwardRef((props, forwardedRef) => {
|
|
|
123
136
|
if (!isControlled) {
|
|
124
137
|
setUncontrolledValue(nextValue);
|
|
125
138
|
}
|
|
126
|
-
|
|
127
|
-
try {
|
|
128
|
-
const parsed = (0, import_input.parsePhoneNumber)(nextValue);
|
|
129
|
-
if (parsed?.country && parsed.country !== country && countryOptions.includes(parsed.country)) {
|
|
130
|
-
setCountry(parsed.country);
|
|
131
|
-
}
|
|
132
|
-
} catch {
|
|
133
|
-
}
|
|
134
|
-
}
|
|
139
|
+
maybeDetectCountry(nextValue);
|
|
135
140
|
onChange?.(nextValue);
|
|
136
|
-
}, [
|
|
141
|
+
}, [maybeDetectCountry, isControlled, onChange]);
|
|
137
142
|
const filteredCountries = React.useMemo(() => {
|
|
138
143
|
const query = countryFilter.trim().toLowerCase();
|
|
139
144
|
if (!query) return countryOptions;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/phoneInput/PhoneInput.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\nimport { ChevronDown } from 'lucide-react'\nimport PhoneInputInput, { getCountries, getCountryCallingCode, parsePhoneNumber } from 'react-phone-number-input/input'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { phoneInputPropDefs } from './phoneInput.props'\nimport { Label } from '../label/Label'\nimport { Text } from '../text/Text'\n\nimport type { Country as CountryCode, Value } from 'react-phone-number-input/input'\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype PhoneInputElement = React.ComponentRef<'div'>\ntype PhoneInputOwnProps = GetPropDefTypes<typeof phoneInputPropDefs> & {\n id?: string\n label?: string\n helperText?: string\n errorText?: string\n value?: string\n defaultValue?: string\n defaultCountry?: CountryCode\n countries?: readonly CountryCode[]\n placeholder?: string\n disabled?: boolean\n onChange?: (value: string | undefined) => void\n invalid?: boolean\n}\n\ninterface PhoneInputProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'defaultValue' | 'onChange'>, PhoneInputOwnProps {}\n\nfunction countryLabel(country: CountryCode) {\n try {\n const region = new Intl.DisplayNames(['en'], { type: 'region' }).of(country)\n return `${region} (+${getCountryCallingCode(country)})`\n } catch {\n return `${country} (+${getCountryCallingCode(country)})`\n }\n}\n\nfunction detectCountry(value: string | undefined, fallback: CountryCode): CountryCode {\n if (!value) return fallback\n try {\n const parsed = parsePhoneNumber(value)\n if (parsed?.country) return parsed.country\n } catch {\n }\n return fallback\n}\n\ntype NationalInputProps = React.ComponentPropsWithoutRef<'input'>\n\nconst NationalInput = React.forwardRef<HTMLInputElement, NationalInputProps>(\n ({ className, ...props }, forwardedRef) => (\n <input\n {...props}\n ref={forwardedRef}\n type=\"tel\"\n autoComplete=\"tel\"\n inputMode=\"tel\"\n className={classNames('dsx-phone-input__input', className)}\n />\n ),\n)\nNationalInput.displayName = 'PhoneInputNationalInput'\n\nconst PhoneInput = React.forwardRef<PhoneInputElement, PhoneInputProps>((props, forwardedRef) => {\n const {\n asChild,\n className,\n countries,\n defaultCountry = 'US',\n defaultValue,\n density = 'md',\n disabled = false,\n errorText,\n helperText,\n id,\n invalid = false,\n label,\n onChange,\n placeholder,\n value: controlledValue,\n variant = 'surface',\n ...phoneInputProps\n } = extractProps(props, phoneInputPropDefs)\n\n const countryOptions = React.useMemo(\n () => [...(countries ?? getCountries())].sort((a, b) => countryLabel(a).localeCompare(countryLabel(b))),\n [countries],\n )\n\n const [uncontrolledValue, setUncontrolledValue] = React.useState<string | undefined>(defaultValue)\n const isControlled = controlledValue !== undefined\n const value = (isControlled ? controlledValue : uncontrolledValue) as Value\n\n const [country, setCountry] = React.useState<CountryCode>(() => detectCountry(defaultValue, defaultCountry))\n const [countryOpen, setCountryOpen] = React.useState(false)\n const [countryFilter, setCountryFilter] = React.useState('')\n const countryListRef = React.useRef<HTMLDivElement>(null)\n\n React.
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,YAAuB;AACvB,wBAAuB;AACvB,wBAAqB;AACrB,0BAA4B;AAC5B,
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\nimport { ChevronDown } from 'lucide-react'\nimport PhoneInputInput, { getCountries, getCountryCallingCode, isPossiblePhoneNumber, parsePhoneNumber } from 'react-phone-number-input/input'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { phoneInputPropDefs } from './phoneInput.props'\nimport { Label } from '../label/Label'\nimport { Text } from '../text/Text'\n\nimport type { Country as CountryCode, Value } from 'react-phone-number-input/input'\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype PhoneInputElement = React.ComponentRef<'div'>\ntype PhoneInputOwnProps = GetPropDefTypes<typeof phoneInputPropDefs> & {\n id?: string\n label?: string\n helperText?: string\n errorText?: string\n value?: string\n defaultValue?: string\n defaultCountry?: CountryCode\n countries?: readonly CountryCode[]\n placeholder?: string\n disabled?: boolean\n onChange?: (value: string | undefined) => void\n invalid?: boolean\n}\n\ninterface PhoneInputProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'defaultValue' | 'onChange'>, PhoneInputOwnProps {}\n\nfunction countryLabel(country: CountryCode) {\n try {\n const region = new Intl.DisplayNames(['en'], { type: 'region' }).of(country)\n return `${region} (+${getCountryCallingCode(country)})`\n } catch {\n return `${country} (+${getCountryCallingCode(country)})`\n }\n}\n\nfunction detectCountry(value: string | undefined, fallback: CountryCode): CountryCode {\n if (!value) return fallback\n try {\n const parsed = parsePhoneNumber(value)\n if (parsed?.country) return parsed.country\n } catch {\n }\n return fallback\n}\n\ntype NationalInputProps = React.ComponentPropsWithoutRef<'input'>\n\nconst NationalInput = React.forwardRef<HTMLInputElement, NationalInputProps>(\n ({ className, ...props }, forwardedRef) => (\n <input\n {...props}\n ref={forwardedRef}\n type=\"tel\"\n autoComplete=\"tel\"\n inputMode=\"tel\"\n className={classNames('dsx-phone-input__input', className)}\n />\n ),\n)\nNationalInput.displayName = 'PhoneInputNationalInput'\n\nconst PhoneInput = React.forwardRef<PhoneInputElement, PhoneInputProps>((props, forwardedRef) => {\n const {\n asChild,\n className,\n countries,\n defaultCountry = 'US',\n defaultValue,\n density = 'md',\n disabled = false,\n errorText,\n helperText,\n id,\n invalid = false,\n label,\n onChange,\n placeholder,\n value: controlledValue,\n variant = 'surface',\n ...phoneInputProps\n } = extractProps(props, phoneInputPropDefs)\n\n const countryOptions = React.useMemo(\n () => [...(countries ?? getCountries())].sort((a, b) => countryLabel(a).localeCompare(countryLabel(b))),\n [countries],\n )\n\n const [uncontrolledValue, setUncontrolledValue] = React.useState<string | undefined>(defaultValue)\n const isControlled = controlledValue !== undefined\n const value = (isControlled ? controlledValue : uncontrolledValue) as Value\n\n const [country, setCountry] = React.useState<CountryCode>(() => detectCountry(defaultValue, defaultCountry))\n const [countryOpen, setCountryOpen] = React.useState(false)\n const [countryFilter, setCountryFilter] = React.useState('')\n const countryListRef = React.useRef<HTMLDivElement>(null)\n\n // Country auto-detect only fires for plausible-length numbers. Partial\n // prefixes misparse to foreign countries and each flip re-formats the\n // value, which re-parses foreign again \u2014 a render loop on rapid typing.\n const maybeDetectCountry = React.useCallback((nextValue: string | undefined) => {\n if (!nextValue) return\n try {\n const parsed = parsePhoneNumber(nextValue)\n if (\n parsed?.country &&\n parsed.country !== country &&\n countryOptions.includes(parsed.country) &&\n isPossiblePhoneNumber(nextValue)\n ) {\n setCountry(parsed.country)\n }\n } catch {\n }\n }, [country, countryOptions])\n\n React.useEffect(() => {\n if (controlledValue === undefined) return\n if (!controlledValue) {\n setCountry(defaultCountry)\n return\n }\n maybeDetectCountry(controlledValue)\n }, [controlledValue, defaultCountry, maybeDetectCountry])\n\n React.useEffect(() => {\n if (!countryOpen) return undefined\n const onPointerDown = (event: PointerEvent) => {\n if (countryListRef.current && !countryListRef.current.contains(event.target as Node)) {\n setCountryOpen(false)\n }\n }\n document.addEventListener('pointerdown', onPointerDown)\n return () => document.removeEventListener('pointerdown', onPointerDown)\n }, [countryOpen])\n\n const setValue = React.useCallback((nextValue: string | undefined) => {\n if (!isControlled) {\n setUncontrolledValue(nextValue)\n }\n maybeDetectCountry(nextValue)\n onChange?.(nextValue)\n }, [maybeDetectCountry, isControlled, onChange])\n\n const filteredCountries = React.useMemo(() => {\n const query = countryFilter.trim().toLowerCase()\n if (!query) return countryOptions\n return countryOptions.filter((option) => countryLabel(option).toLowerCase().includes(query))\n }, [countryFilter, countryOptions])\n\n const handleCountryPick = React.useCallback((nextCountry: CountryCode) => {\n setCountry(nextCountry)\n setCountryOpen(false)\n setCountryFilter('')\n }, [])\n\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n {...phoneInputProps}\n ref={forwardedRef}\n className={classNames(\n 'dsx-phone-input',\n `dsx-phone-input--${density}`,\n `dsx-phone-input--${variant}`,\n invalid && 'dsx-phone-input--invalid',\n className,\n )}\n data-size={density}\n data-variant={variant}\n >\n {label ? (\n <Label htmlFor={id} className=\"dsx-phone-input__label\">\n {label}\n </Label>\n ) : null}\n <div className=\"dsx-phone-input__shell\">\n <div className=\"dsx-phone-input__country\" ref={countryListRef}>\n <button\n type=\"button\"\n className=\"dsx-phone-input__country-button\"\n onClick={() => !disabled && setCountryOpen((open) => !open)}\n disabled={disabled}\n aria-haspopup=\"listbox\"\n aria-expanded={countryOpen}\n aria-label=\"Country code\"\n >\n <span aria-hidden className={`flag:${country} dsx-phone-input__flag`} />\n <span className=\"dsx-phone-input__country-code\">{country}</span>\n <span className=\"dsx-phone-input__country-dial\">+{getCountryCallingCode(country)}</span>\n <ChevronDown size={14} className=\"dsx-phone-input__country-chevron\" />\n </button>\n {countryOpen ? (\n <div className=\"dsx-phone-input__country-listbox\" role=\"listbox\" aria-label=\"Countries\">\n <input\n className=\"dsx-phone-input__country-filter\"\n placeholder=\"Search countries\"\n aria-label=\"Search countries\"\n value={countryFilter}\n onChange={(e) => setCountryFilter(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Escape') setCountryOpen(false)\n }}\n />\n <div className=\"dsx-phone-input__country-options\">\n {filteredCountries.map((option) => (\n <button\n key={option}\n type=\"button\"\n role=\"option\"\n aria-selected={option === country}\n className={classNames(\n 'dsx-phone-input__country-option',\n option === country && 'dsx-phone-input__country-option--selected',\n )}\n onClick={() => handleCountryPick(option)}\n >\n <span aria-hidden className={`flag:${option} dsx-phone-input__flag`} />\n <span className=\"dsx-phone-input__country-option-code\">{option}</span>\n <span className=\"dsx-phone-input__country-option-name\">{countryLabel(option)}</span>\n </button>\n ))}\n {filteredCountries.length === 0 ? (\n <span className=\"dsx-phone-input__country-empty\">No countries match</span>\n ) : null}\n </div>\n </div>\n ) : null}\n </div>\n <PhoneInputInput\n id={id}\n country={countryOptions.includes(country) ? country : defaultCountry}\n value={value}\n onChange={(nextValue) => setValue(nextValue as string | undefined)}\n inputComponent={NationalInput}\n placeholder={placeholder}\n disabled={disabled}\n aria-invalid={invalid || undefined}\n smartCaret\n />\n </div>\n {errorText && invalid ? (\n <Text variant=\"label-small\" className=\"dsx-phone-input__error\">\n {errorText}\n </Text>\n ) : null}\n {helperText && !invalid ? (\n <Text variant=\"label-small\" tone=\"muted\" className=\"dsx-phone-input__helper\">\n {helperText}\n </Text>\n ) : null}\n </Comp>\n )\n})\nPhoneInput.displayName = 'PhoneInput'\n\nexport { PhoneInput }\nexport type { PhoneInputProps }\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["classNames", "PhoneInputInput"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneInput.d.cts","sourceRoot":"","sources":["../../../src/components/phoneInput/PhoneInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAIvD,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAS,MAAM,gCAAgC,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAGpE,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,GAAG;IACrE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,SAAS,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,UAAU,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,EAAE,kBAAkB;CAAG;AAqCjI,QAAA,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"PhoneInput.d.cts","sourceRoot":"","sources":["../../../src/components/phoneInput/PhoneInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAIvD,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAS,MAAM,gCAAgC,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAGpE,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,GAAG;IACrE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,SAAS,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,UAAU,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,EAAE,kBAAkB;CAAG;AAqCjI,QAAA,MAAM,UAAU,wFAgMd,CAAA;AAGF,OAAO,EAAE,UAAU,EAAE,CAAA;AACrB,YAAY,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneInput.d.mts","sourceRoot":"","sources":["../../../src/components/phoneInput/PhoneInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAIvD,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAS,MAAM,gCAAgC,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAGpE,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,GAAG;IACrE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,SAAS,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,UAAU,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,EAAE,kBAAkB;CAAG;AAqCjI,QAAA,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"PhoneInput.d.mts","sourceRoot":"","sources":["../../../src/components/phoneInput/PhoneInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAIvD,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAS,MAAM,gCAAgC,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAGpE,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,GAAG;IACrE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,SAAS,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,UAAU,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,EAAE,kBAAkB;CAAG;AAqCjI,QAAA,MAAM,UAAU,wFAgMd,CAAA;AAGF,OAAO,EAAE,UAAU,EAAE,CAAA;AACrB,YAAY,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhoneInput.d.ts","sourceRoot":"","sources":["../../../src/components/phoneInput/PhoneInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAIvD,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAS,MAAM,gCAAgC,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAGpE,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,GAAG;IACrE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,SAAS,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,UAAU,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,EAAE,kBAAkB;CAAG;AAqCjI,QAAA,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"PhoneInput.d.ts","sourceRoot":"","sources":["../../../src/components/phoneInput/PhoneInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAO9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAIvD,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAS,MAAM,gCAAgC,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAGpE,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,kBAAkB,CAAC,GAAG;IACrE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,WAAW,CAAA;IAC5B,SAAS,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,UAAU,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,EAAE,kBAAkB;CAAG;AAqCjI,QAAA,MAAM,UAAU,wFAgMd,CAAA;AAGF,OAAO,EAAE,UAAU,EAAE,CAAA;AACrB,YAAY,EAAE,eAAe,EAAE,CAAA"}
|
|
@@ -3,7 +3,7 @@ import * as React from "react";
|
|
|
3
3
|
import classNames from "classnames";
|
|
4
4
|
import { Slot } from "@radix-ui/react-slot";
|
|
5
5
|
import { ChevronDown } from "lucide-react";
|
|
6
|
-
import PhoneInputInput, { getCountries, getCountryCallingCode, parsePhoneNumber } from "react-phone-number-input/input";
|
|
6
|
+
import PhoneInputInput, { getCountries, getCountryCallingCode, isPossiblePhoneNumber, parsePhoneNumber } from "react-phone-number-input/input";
|
|
7
7
|
import { extractProps } from "../../_internal/helpers/extractProps.js";
|
|
8
8
|
import { phoneInputPropDefs } from "./phoneInput.props.js";
|
|
9
9
|
import { Label } from "../label/Label.js";
|
|
@@ -71,11 +71,24 @@ const PhoneInput = React.forwardRef((props, forwardedRef) => {
|
|
|
71
71
|
const [countryOpen, setCountryOpen] = React.useState(false);
|
|
72
72
|
const [countryFilter, setCountryFilter] = React.useState("");
|
|
73
73
|
const countryListRef = React.useRef(null);
|
|
74
|
+
const maybeDetectCountry = React.useCallback((nextValue) => {
|
|
75
|
+
if (!nextValue) return;
|
|
76
|
+
try {
|
|
77
|
+
const parsed = parsePhoneNumber(nextValue);
|
|
78
|
+
if (parsed?.country && parsed.country !== country && countryOptions.includes(parsed.country) && isPossiblePhoneNumber(nextValue)) {
|
|
79
|
+
setCountry(parsed.country);
|
|
80
|
+
}
|
|
81
|
+
} catch {
|
|
82
|
+
}
|
|
83
|
+
}, [country, countryOptions]);
|
|
74
84
|
React.useEffect(() => {
|
|
75
|
-
if (controlledValue
|
|
76
|
-
|
|
85
|
+
if (controlledValue === void 0) return;
|
|
86
|
+
if (!controlledValue) {
|
|
87
|
+
setCountry(defaultCountry);
|
|
88
|
+
return;
|
|
77
89
|
}
|
|
78
|
-
|
|
90
|
+
maybeDetectCountry(controlledValue);
|
|
91
|
+
}, [controlledValue, defaultCountry, maybeDetectCountry]);
|
|
79
92
|
React.useEffect(() => {
|
|
80
93
|
if (!countryOpen) return void 0;
|
|
81
94
|
const onPointerDown = (event) => {
|
|
@@ -90,17 +103,9 @@ const PhoneInput = React.forwardRef((props, forwardedRef) => {
|
|
|
90
103
|
if (!isControlled) {
|
|
91
104
|
setUncontrolledValue(nextValue);
|
|
92
105
|
}
|
|
93
|
-
|
|
94
|
-
try {
|
|
95
|
-
const parsed = parsePhoneNumber(nextValue);
|
|
96
|
-
if (parsed?.country && parsed.country !== country && countryOptions.includes(parsed.country)) {
|
|
97
|
-
setCountry(parsed.country);
|
|
98
|
-
}
|
|
99
|
-
} catch {
|
|
100
|
-
}
|
|
101
|
-
}
|
|
106
|
+
maybeDetectCountry(nextValue);
|
|
102
107
|
onChange?.(nextValue);
|
|
103
|
-
}, [
|
|
108
|
+
}, [maybeDetectCountry, isControlled, onChange]);
|
|
104
109
|
const filteredCountries = React.useMemo(() => {
|
|
105
110
|
const query = countryFilter.trim().toLowerCase();
|
|
106
111
|
if (!query) return countryOptions;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/phoneInput/PhoneInput.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\nimport { ChevronDown } from 'lucide-react'\nimport PhoneInputInput, { getCountries, getCountryCallingCode, parsePhoneNumber } from 'react-phone-number-input/input'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { phoneInputPropDefs } from './phoneInput.props'\nimport { Label } from '../label/Label'\nimport { Text } from '../text/Text'\n\nimport type { Country as CountryCode, Value } from 'react-phone-number-input/input'\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype PhoneInputElement = React.ComponentRef<'div'>\ntype PhoneInputOwnProps = GetPropDefTypes<typeof phoneInputPropDefs> & {\n id?: string\n label?: string\n helperText?: string\n errorText?: string\n value?: string\n defaultValue?: string\n defaultCountry?: CountryCode\n countries?: readonly CountryCode[]\n placeholder?: string\n disabled?: boolean\n onChange?: (value: string | undefined) => void\n invalid?: boolean\n}\n\ninterface PhoneInputProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'defaultValue' | 'onChange'>, PhoneInputOwnProps {}\n\nfunction countryLabel(country: CountryCode) {\n try {\n const region = new Intl.DisplayNames(['en'], { type: 'region' }).of(country)\n return `${region} (+${getCountryCallingCode(country)})`\n } catch {\n return `${country} (+${getCountryCallingCode(country)})`\n }\n}\n\nfunction detectCountry(value: string | undefined, fallback: CountryCode): CountryCode {\n if (!value) return fallback\n try {\n const parsed = parsePhoneNumber(value)\n if (parsed?.country) return parsed.country\n } catch {\n }\n return fallback\n}\n\ntype NationalInputProps = React.ComponentPropsWithoutRef<'input'>\n\nconst NationalInput = React.forwardRef<HTMLInputElement, NationalInputProps>(\n ({ className, ...props }, forwardedRef) => (\n <input\n {...props}\n ref={forwardedRef}\n type=\"tel\"\n autoComplete=\"tel\"\n inputMode=\"tel\"\n className={classNames('dsx-phone-input__input', className)}\n />\n ),\n)\nNationalInput.displayName = 'PhoneInputNationalInput'\n\nconst PhoneInput = React.forwardRef<PhoneInputElement, PhoneInputProps>((props, forwardedRef) => {\n const {\n asChild,\n className,\n countries,\n defaultCountry = 'US',\n defaultValue,\n density = 'md',\n disabled = false,\n errorText,\n helperText,\n id,\n invalid = false,\n label,\n onChange,\n placeholder,\n value: controlledValue,\n variant = 'surface',\n ...phoneInputProps\n } = extractProps(props, phoneInputPropDefs)\n\n const countryOptions = React.useMemo(\n () => [...(countries ?? getCountries())].sort((a, b) => countryLabel(a).localeCompare(countryLabel(b))),\n [countries],\n )\n\n const [uncontrolledValue, setUncontrolledValue] = React.useState<string | undefined>(defaultValue)\n const isControlled = controlledValue !== undefined\n const value = (isControlled ? controlledValue : uncontrolledValue) as Value\n\n const [country, setCountry] = React.useState<CountryCode>(() => detectCountry(defaultValue, defaultCountry))\n const [countryOpen, setCountryOpen] = React.useState(false)\n const [countryFilter, setCountryFilter] = React.useState('')\n const countryListRef = React.useRef<HTMLDivElement>(null)\n\n React.
|
|
5
|
-
"mappings": ";AAEA,YAAY,WAAW;AACvB,OAAO,gBAAgB;AACvB,SAAS,YAAY;AACrB,SAAS,mBAAmB;AAC5B,OAAO,mBAAmB,cAAc,uBAAuB,wBAAwB;
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\nimport { ChevronDown } from 'lucide-react'\nimport PhoneInputInput, { getCountries, getCountryCallingCode, isPossiblePhoneNumber, parsePhoneNumber } from 'react-phone-number-input/input'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { phoneInputPropDefs } from './phoneInput.props'\nimport { Label } from '../label/Label'\nimport { Text } from '../text/Text'\n\nimport type { Country as CountryCode, Value } from 'react-phone-number-input/input'\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype PhoneInputElement = React.ComponentRef<'div'>\ntype PhoneInputOwnProps = GetPropDefTypes<typeof phoneInputPropDefs> & {\n id?: string\n label?: string\n helperText?: string\n errorText?: string\n value?: string\n defaultValue?: string\n defaultCountry?: CountryCode\n countries?: readonly CountryCode[]\n placeholder?: string\n disabled?: boolean\n onChange?: (value: string | undefined) => void\n invalid?: boolean\n}\n\ninterface PhoneInputProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'defaultValue' | 'onChange'>, PhoneInputOwnProps {}\n\nfunction countryLabel(country: CountryCode) {\n try {\n const region = new Intl.DisplayNames(['en'], { type: 'region' }).of(country)\n return `${region} (+${getCountryCallingCode(country)})`\n } catch {\n return `${country} (+${getCountryCallingCode(country)})`\n }\n}\n\nfunction detectCountry(value: string | undefined, fallback: CountryCode): CountryCode {\n if (!value) return fallback\n try {\n const parsed = parsePhoneNumber(value)\n if (parsed?.country) return parsed.country\n } catch {\n }\n return fallback\n}\n\ntype NationalInputProps = React.ComponentPropsWithoutRef<'input'>\n\nconst NationalInput = React.forwardRef<HTMLInputElement, NationalInputProps>(\n ({ className, ...props }, forwardedRef) => (\n <input\n {...props}\n ref={forwardedRef}\n type=\"tel\"\n autoComplete=\"tel\"\n inputMode=\"tel\"\n className={classNames('dsx-phone-input__input', className)}\n />\n ),\n)\nNationalInput.displayName = 'PhoneInputNationalInput'\n\nconst PhoneInput = React.forwardRef<PhoneInputElement, PhoneInputProps>((props, forwardedRef) => {\n const {\n asChild,\n className,\n countries,\n defaultCountry = 'US',\n defaultValue,\n density = 'md',\n disabled = false,\n errorText,\n helperText,\n id,\n invalid = false,\n label,\n onChange,\n placeholder,\n value: controlledValue,\n variant = 'surface',\n ...phoneInputProps\n } = extractProps(props, phoneInputPropDefs)\n\n const countryOptions = React.useMemo(\n () => [...(countries ?? getCountries())].sort((a, b) => countryLabel(a).localeCompare(countryLabel(b))),\n [countries],\n )\n\n const [uncontrolledValue, setUncontrolledValue] = React.useState<string | undefined>(defaultValue)\n const isControlled = controlledValue !== undefined\n const value = (isControlled ? controlledValue : uncontrolledValue) as Value\n\n const [country, setCountry] = React.useState<CountryCode>(() => detectCountry(defaultValue, defaultCountry))\n const [countryOpen, setCountryOpen] = React.useState(false)\n const [countryFilter, setCountryFilter] = React.useState('')\n const countryListRef = React.useRef<HTMLDivElement>(null)\n\n // Country auto-detect only fires for plausible-length numbers. Partial\n // prefixes misparse to foreign countries and each flip re-formats the\n // value, which re-parses foreign again \u2014 a render loop on rapid typing.\n const maybeDetectCountry = React.useCallback((nextValue: string | undefined) => {\n if (!nextValue) return\n try {\n const parsed = parsePhoneNumber(nextValue)\n if (\n parsed?.country &&\n parsed.country !== country &&\n countryOptions.includes(parsed.country) &&\n isPossiblePhoneNumber(nextValue)\n ) {\n setCountry(parsed.country)\n }\n } catch {\n }\n }, [country, countryOptions])\n\n React.useEffect(() => {\n if (controlledValue === undefined) return\n if (!controlledValue) {\n setCountry(defaultCountry)\n return\n }\n maybeDetectCountry(controlledValue)\n }, [controlledValue, defaultCountry, maybeDetectCountry])\n\n React.useEffect(() => {\n if (!countryOpen) return undefined\n const onPointerDown = (event: PointerEvent) => {\n if (countryListRef.current && !countryListRef.current.contains(event.target as Node)) {\n setCountryOpen(false)\n }\n }\n document.addEventListener('pointerdown', onPointerDown)\n return () => document.removeEventListener('pointerdown', onPointerDown)\n }, [countryOpen])\n\n const setValue = React.useCallback((nextValue: string | undefined) => {\n if (!isControlled) {\n setUncontrolledValue(nextValue)\n }\n maybeDetectCountry(nextValue)\n onChange?.(nextValue)\n }, [maybeDetectCountry, isControlled, onChange])\n\n const filteredCountries = React.useMemo(() => {\n const query = countryFilter.trim().toLowerCase()\n if (!query) return countryOptions\n return countryOptions.filter((option) => countryLabel(option).toLowerCase().includes(query))\n }, [countryFilter, countryOptions])\n\n const handleCountryPick = React.useCallback((nextCountry: CountryCode) => {\n setCountry(nextCountry)\n setCountryOpen(false)\n setCountryFilter('')\n }, [])\n\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n {...phoneInputProps}\n ref={forwardedRef}\n className={classNames(\n 'dsx-phone-input',\n `dsx-phone-input--${density}`,\n `dsx-phone-input--${variant}`,\n invalid && 'dsx-phone-input--invalid',\n className,\n )}\n data-size={density}\n data-variant={variant}\n >\n {label ? (\n <Label htmlFor={id} className=\"dsx-phone-input__label\">\n {label}\n </Label>\n ) : null}\n <div className=\"dsx-phone-input__shell\">\n <div className=\"dsx-phone-input__country\" ref={countryListRef}>\n <button\n type=\"button\"\n className=\"dsx-phone-input__country-button\"\n onClick={() => !disabled && setCountryOpen((open) => !open)}\n disabled={disabled}\n aria-haspopup=\"listbox\"\n aria-expanded={countryOpen}\n aria-label=\"Country code\"\n >\n <span aria-hidden className={`flag:${country} dsx-phone-input__flag`} />\n <span className=\"dsx-phone-input__country-code\">{country}</span>\n <span className=\"dsx-phone-input__country-dial\">+{getCountryCallingCode(country)}</span>\n <ChevronDown size={14} className=\"dsx-phone-input__country-chevron\" />\n </button>\n {countryOpen ? (\n <div className=\"dsx-phone-input__country-listbox\" role=\"listbox\" aria-label=\"Countries\">\n <input\n className=\"dsx-phone-input__country-filter\"\n placeholder=\"Search countries\"\n aria-label=\"Search countries\"\n value={countryFilter}\n onChange={(e) => setCountryFilter(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === 'Escape') setCountryOpen(false)\n }}\n />\n <div className=\"dsx-phone-input__country-options\">\n {filteredCountries.map((option) => (\n <button\n key={option}\n type=\"button\"\n role=\"option\"\n aria-selected={option === country}\n className={classNames(\n 'dsx-phone-input__country-option',\n option === country && 'dsx-phone-input__country-option--selected',\n )}\n onClick={() => handleCountryPick(option)}\n >\n <span aria-hidden className={`flag:${option} dsx-phone-input__flag`} />\n <span className=\"dsx-phone-input__country-option-code\">{option}</span>\n <span className=\"dsx-phone-input__country-option-name\">{countryLabel(option)}</span>\n </button>\n ))}\n {filteredCountries.length === 0 ? (\n <span className=\"dsx-phone-input__country-empty\">No countries match</span>\n ) : null}\n </div>\n </div>\n ) : null}\n </div>\n <PhoneInputInput\n id={id}\n country={countryOptions.includes(country) ? country : defaultCountry}\n value={value}\n onChange={(nextValue) => setValue(nextValue as string | undefined)}\n inputComponent={NationalInput}\n placeholder={placeholder}\n disabled={disabled}\n aria-invalid={invalid || undefined}\n smartCaret\n />\n </div>\n {errorText && invalid ? (\n <Text variant=\"label-small\" className=\"dsx-phone-input__error\">\n {errorText}\n </Text>\n ) : null}\n {helperText && !invalid ? (\n <Text variant=\"label-small\" tone=\"muted\" className=\"dsx-phone-input__helper\">\n {helperText}\n </Text>\n ) : null}\n </Comp>\n )\n})\nPhoneInput.displayName = 'PhoneInput'\n\nexport { PhoneInput }\nexport type { PhoneInputProps }\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -46,6 +46,7 @@ var import_classnames = __toESM(require("classnames"), 1);
|
|
|
46
46
|
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"), 1);
|
|
47
47
|
var import_Slot = require("../slot/Slot");
|
|
48
48
|
var import_BaseDialog = require("../../_internal/BaseDialog");
|
|
49
|
+
var import_floatingLayer = require("../../_internal/floatingLayer");
|
|
49
50
|
var import_internal = require("../../_internal");
|
|
50
51
|
var import_motion = require("../../_internal/motion");
|
|
51
52
|
var import_extractProps = require("../../_internal/helpers/extractProps");
|
|
@@ -170,7 +171,7 @@ const PopoverContent = React.forwardRef(
|
|
|
170
171
|
exit: prefersReducedMotion ? { opacity: 0 } : { opacity: 0, y: 2 },
|
|
171
172
|
transition: prefersReducedMotion ? import_motion.MOTION_TRANSITIONS.reduced : import_motion.MOTION_TRANSITIONS.popover,
|
|
172
173
|
children: [
|
|
173
|
-
children,
|
|
174
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_floatingLayer.FloatingLayerHostContext.Provider, { value: true, children }),
|
|
174
175
|
showArrow ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopoverPrimitive.Arrow, { className: "dsx-popover__arrow", width: 16, height: 8 }) : null
|
|
175
176
|
]
|
|
176
177
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/popover/Popover.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\nimport { Slot } from '../slot/Slot'\n\nimport { PortalThemeBoundary, PortalThemeWrapper } from '../../_internal/BaseDialog'\nimport { usePrefersReducedMotion } from '../../_internal'\nimport { MOTION_TRANSITIONS } from '../../_internal/motion'\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { AnimatePresence, motion } from '../../motion'\nimport { popoverContentPropDefs } from './popover.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\nconst PopoverOpenContext = React.createContext(false)\n\ntype PopoverAriaContextValue = {\n titleId: string\n descriptionId: string\n}\n\nconst PopoverAriaContext = React.createContext<PopoverAriaContextValue | null>(null)\n\nfunction usePopoverAriaContext() {\n return React.useContext(PopoverAriaContext)\n}\n\nfunction useControllablePopoverOpenState({\n open: openProp,\n defaultOpen,\n onOpenChange,\n}: Pick<PopoverRootProps, 'open' | 'defaultOpen' | 'onOpenChange'>) {\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen ?? false)\n const open = openProp ?? uncontrolledOpen\n\n const handleOpenChange = React.useCallback(\n (nextOpen: boolean) => {\n if (openProp === undefined) {\n setUncontrolledOpen(nextOpen)\n }\n\n onOpenChange?.(nextOpen)\n },\n [onOpenChange, openProp],\n )\n\n return [open, handleOpenChange] as const\n}\n\ntype PopoverContentOwnProps = GetPropDefTypes<typeof popoverContentPropDefs>\n\ntype PopoverRootProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Root>\ntype PopoverProps = PopoverRootProps\ntype PopoverContentProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & PopoverContentOwnProps\n\ntype PopoverSide = NonNullable<React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>['side']>\ntype PopoverAlign = NonNullable<React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>['align']>\n\ninterface PopoverPositionerProps extends React.ComponentPropsWithoutRef<'div'> {\n side?: PopoverSide\n sideOffset?: number\n align?: PopoverAlign\n alignOffset?: number\n asChild?: boolean\n}\n\ninterface PopoverArrowProps extends Omit<React.ComponentPropsWithoutRef<'svg'>, 'width' | 'height'> {\n width?: number\n height?: number\n asChild?: boolean\n}\n\nconst PopoverTrigger: typeof PopoverPrimitive.Trigger = PopoverPrimitive.Trigger\nconst PopoverAnchor: typeof PopoverPrimitive.Anchor = PopoverPrimitive.Anchor\n\nfunction PopoverRoot({ children, defaultOpen, onOpenChange, open: openProp, ...props }: PopoverRootProps) {\n const [open, setOpen] = useControllablePopoverOpenState({\n open: openProp,\n defaultOpen,\n onOpenChange,\n })\n\n return (\n <PortalThemeBoundary>\n <PopoverOpenContext.Provider value={open}>\n <PopoverPrimitive.Root {...props} open={open} onOpenChange={setOpen}>\n {children}\n </PopoverPrimitive.Root>\n </PopoverOpenContext.Provider>\n </PortalThemeBoundary>\n )\n}\nPopoverRoot.displayName = 'Popover'\n\nconst PopoverPositioner = React.forwardRef<HTMLDivElement, PopoverPositionerProps>(\n ({ className, side = 'bottom', sideOffset = 8, align = 'center', alignOffset = 0, asChild, children, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'div'\n return (\n <Comp\n ref={forwardedRef}\n className={classNames('dsx-popover__positioner', className)}\n data-slot=\"popover-positioner\"\n data-side={side}\n data-align={align}\n {...props}\n >\n {children}\n </Comp>\n )\n },\n)\nPopoverPositioner.displayName = 'PopoverPositioner'\n\nconst PopoverArrow = React.forwardRef<SVGSVGElement, PopoverArrowProps>(\n ({ className, width = 10, height = 5, asChild, ...props }, forwardedRef) => {\n if (asChild) {\n const { onCopy: _onCopy, ...slotProps } = props as React.ComponentPropsWithoutRef<'div'>\n return (\n <Slot\n ref={forwardedRef as React.ForwardedRef<HTMLElement>}\n className={classNames('dsx-popover__arrow', className)}\n data-slot=\"popover-arrow\"\n {...slotProps}\n />\n )\n }\n return (\n <svg\n ref={forwardedRef}\n className={classNames('dsx-popover__arrow', className)}\n data-slot=\"popover-arrow\"\n width={width}\n height={height}\n viewBox=\"0 0 10 5\"\n preserveAspectRatio=\"none\"\n {...props}\n >\n <path d=\"M0 0 L5 5 L10 0 Z\" fill=\"currentColor\" />\n </svg>\n )\n },\n)\nPopoverArrow.displayName = 'PopoverArrow'\n\nconst PopoverContent = React.forwardRef<React.ComponentRef<typeof PopoverPrimitive.Content>, PopoverContentProps>(\n ({ className: propClassName, forceMount: forceMountProp = false, sideOffset = 8, showArrow = false, size = 'md', children, ...props }, forwardedRef) => {\n const open = React.useContext(PopoverOpenContext)\n const prefersReducedMotion = usePrefersReducedMotion()\n const { className, ...contentProps } = extractProps(\n {\n ...props,\n className: propClassName,\n showArrow,\n },\n popoverContentPropDefs,\n )\n const isPresent = open || forceMountProp\n const titleId = React.useId()\n const descriptionId = React.useId()\n\n return (\n <PopoverPrimitive.Portal>\n <AnimatePresence initial={false}>\n {isPresent ? (\n <PortalThemeWrapper key=\"popover-content\">\n <PopoverAriaContext.Provider value={{ titleId, descriptionId }}>\n <PopoverPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n asChild\n sideOffset={sideOffset}\n aria-labelledby={titleId}\n aria-describedby={descriptionId}\n data-size={size}\n data-show-arrow={showArrow ? 'true' : 'false'}\n >\n <motion.div\n className={classNames('dsx-popover__content', className)}\n initial={prefersReducedMotion ? { opacity: 0 } : { opacity: 0, y: 4 }}\n animate={prefersReducedMotion ? { opacity: open ? 1 : 0 } : { opacity: open ? 1 : 0, y: open ? 0 : 2 }}\n exit={prefersReducedMotion ? { opacity: 0 } : { opacity: 0, y: 2 }}\n transition={prefersReducedMotion ? MOTION_TRANSITIONS.reduced : MOTION_TRANSITIONS.popover}\n >\n {children}\n {showArrow ? <PopoverPrimitive.Arrow className=\"dsx-popover__arrow\" width={16} height={8} /> : null}\n </motion.div>\n </PopoverPrimitive.Content>\n </PopoverAriaContext.Provider>\n </PortalThemeWrapper>\n ) : null}\n </AnimatePresence>\n </PopoverPrimitive.Portal>\n )\n },\n)\nPopoverContent.displayName = 'PopoverContent'\n\nconst PopoverTitle = React.forwardRef<React.ComponentRef<'h3'>, React.ComponentPropsWithoutRef<'h3'>>(\n ({ className, id, ...props }, forwardedRef) => {\n const ariaContext = usePopoverAriaContext()\n return (\n <h3\n {...props}\n ref={forwardedRef}\n id={id ?? ariaContext?.titleId}\n className={classNames('dsx-popover__title', className)}\n />\n )\n },\n)\nPopoverTitle.displayName = 'PopoverTitle'\n\nconst PopoverDescription = React.forwardRef<React.ComponentRef<'p'>, React.ComponentPropsWithoutRef<'p'>>(\n ({ className, id, ...props }, forwardedRef) => {\n const ariaContext = usePopoverAriaContext()\n return (\n <p\n {...props}\n ref={forwardedRef}\n id={id ?? ariaContext?.descriptionId}\n className={classNames('dsx-popover__description', className)}\n />\n )\n },\n)\nPopoverDescription.displayName = 'PopoverDescription'\n\nconst PopoverClose = React.forwardRef<\n React.ComponentRef<typeof PopoverPrimitive.Close>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Close>\n>(({ className, ...props }, forwardedRef) => (\n <PopoverPrimitive.Close\n {...props}\n ref={forwardedRef}\n className={classNames('dsx-popover__close', className)}\n />\n))\nPopoverClose.displayName = 'PopoverClose'\n\nconst Popover: typeof PopoverRoot & {\n Trigger: typeof PopoverTrigger\n Content: typeof PopoverContent\n Anchor: typeof PopoverAnchor\n Title: typeof PopoverTitle\n Description: typeof PopoverDescription\n Close: typeof PopoverClose\n Positioner: typeof PopoverPositioner\n Arrow: typeof PopoverArrow\n} = Object.assign(PopoverRoot, {\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n Anchor: PopoverAnchor,\n Title: PopoverTitle,\n Description: PopoverDescription,\n Close: PopoverClose,\n Positioner: PopoverPositioner,\n Arrow: PopoverArrow,\n})\nPopover.displayName = 'Popover'\n\nexport { Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverContent, PopoverDescription, PopoverPositioner, PopoverRoot, PopoverTitle, PopoverTrigger }\nexport type { PopoverArrowProps, PopoverContentProps, PopoverPositionerProps, PopoverProps, PopoverRootProps }\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,YAAuB;AACvB,wBAAuB;AACvB,uBAAkC;AAClC,kBAAqB;AAErB,wBAAwD;AACxD,sBAAwC;AACxC,oBAAmC;AACnC,0BAA6B;AAC7B,IAAAA,iBAAwC;AACxC,qBAAuC;AA2E/B;AAvER,MAAM,qBAAqB,MAAM,cAAc,KAAK;AAOpD,MAAM,qBAAqB,MAAM,cAA8C,IAAI;AAEnF,SAAS,wBAAwB;AAC/B,SAAO,MAAM,WAAW,kBAAkB;AAC5C;AAEA,SAAS,gCAAgC;AAAA,EACvC,MAAM;AAAA,EACN;AAAA,EACA;AACF,GAAoE;AAClE,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,MAAM,SAAS,eAAe,KAAK;AACnF,QAAM,OAAO,YAAY;AAEzB,QAAM,mBAAmB,MAAM;AAAA,IAC7B,CAAC,aAAsB;AACrB,UAAI,aAAa,QAAW;AAC1B,4BAAoB,QAAQ;AAAA,MAC9B;AAEA,qBAAe,QAAQ;AAAA,IACzB;AAAA,IACA,CAAC,cAAc,QAAQ;AAAA,EACzB;AAEA,SAAO,CAAC,MAAM,gBAAgB;AAChC;AAyBA,MAAM,iBAAkD,iBAAiB;AACzE,MAAM,gBAAgD,iBAAiB;AAEvE,SAAS,YAAY,EAAE,UAAU,aAAa,cAAc,MAAM,UAAU,GAAG,MAAM,GAAqB;AACxG,QAAM,CAAC,MAAM,OAAO,IAAI,gCAAgC;AAAA,IACtD,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF,CAAC;AAED,SACE,4CAAC,yCACC,sDAAC,mBAAmB,UAAnB,EAA4B,OAAO,MAClC,sDAAC,iBAAiB,MAAjB,EAAuB,GAAG,OAAO,MAAY,cAAc,SACzD,UACH,GACF,GACF;AAEJ;AACA,YAAY,cAAc;AAE1B,MAAM,oBAAoB,MAAM;AAAA,EAC9B,CAAC,EAAE,WAAW,OAAO,UAAU,aAAa,GAAG,QAAQ,UAAU,cAAc,GAAG,SAAS,UAAU,GAAG,MAAM,GAAG,iBAAiB;AAChI,UAAM,OAAO,UAAU,mBAAO;AAC9B,WACE;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,eAAW,kBAAAC,SAAW,2BAA2B,SAAS;AAAA,QAC1D,aAAU;AAAA,QACV,aAAW;AAAA,QACX,cAAY;AAAA,QACX,GAAG;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AACA,kBAAkB,cAAc;AAEhC,MAAM,eAAe,MAAM;AAAA,EACzB,CAAC,EAAE,WAAW,QAAQ,IAAI,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,iBAAiB;AAC1E,QAAI,SAAS;AACX,YAAM,EAAE,QAAQ,SAAS,GAAG,UAAU,IAAI;AAC1C,aACE;AAAA,QAAC;AAAA;AAAA,UACC,KAAK;AAAA,UACL,eAAW,kBAAAA,SAAW,sBAAsB,SAAS;AAAA,UACrD,aAAU;AAAA,UACT,GAAG;AAAA;AAAA,MACN;AAAA,IAEJ;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,eAAW,kBAAAA,SAAW,sBAAsB,SAAS;AAAA,QACrD,aAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA,SAAQ;AAAA,QACR,qBAAoB;AAAA,QACnB,GAAG;AAAA,QAEJ,sDAAC,UAAK,GAAE,qBAAoB,MAAK,gBAAe;AAAA;AAAA,IAClD;AAAA,EAEJ;AACF;AACA,aAAa,cAAc;AAE3B,MAAM,iBAAiB,MAAM;AAAA,EAC3B,CAAC,EAAE,WAAW,eAAe,YAAY,iBAAiB,OAAO,aAAa,GAAG,YAAY,OAAO,OAAO,MAAM,UAAU,GAAG,MAAM,GAAG,iBAAiB;AACtJ,UAAM,OAAO,MAAM,WAAW,kBAAkB;AAChD,UAAM,2BAAuB,yCAAwB;AACrD,UAAM,EAAE,WAAW,GAAG,aAAa,QAAI;AAAA,MACrC;AAAA,QACE,GAAG;AAAA,QACH,WAAW;AAAA,QACX;AAAA,MACF;AAAA,MACA;AAAA,IACF;AACA,UAAM,YAAY,QAAQ;AAC1B,UAAM,UAAU,MAAM,MAAM;AAC5B,UAAM,gBAAgB,MAAM,MAAM;AAElC,WACE,4CAAC,iBAAiB,QAAjB,EACC,sDAAC,kCAAgB,SAAS,OACvB,sBACC,4CAAC,wCACC,sDAAC,mBAAmB,UAAnB,EAA4B,OAAO,EAAE,SAAS,cAAc,GAC3D;AAAA,MAAC,iBAAiB;AAAA,MAAjB;AAAA,QACE,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,SAAO;AAAA,QACP;AAAA,QACA,mBAAiB;AAAA,QACjB,oBAAkB;AAAA,QAClB,aAAW;AAAA,QACX,mBAAiB,YAAY,SAAS;AAAA,QAEtC;AAAA,UAAC,sBAAO;AAAA,UAAP;AAAA,YACC,eAAW,kBAAAA,SAAW,wBAAwB,SAAS;AAAA,YACvD,SAAS,uBAAuB,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,GAAG,EAAE;AAAA,YACpE,SAAS,uBAAuB,EAAE,SAAS,OAAO,IAAI,EAAE,IAAI,EAAE,SAAS,OAAO,IAAI,GAAG,GAAG,OAAO,IAAI,EAAE;AAAA,YACrG,MAAM,uBAAuB,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,GAAG,EAAE;AAAA,YACjE,YAAY,uBAAuB,iCAAmB,UAAU,iCAAmB;AAAA,
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\nimport { Slot } from '../slot/Slot'\n\nimport { PortalThemeBoundary, PortalThemeWrapper } from '../../_internal/BaseDialog'\nimport { FloatingLayerHostContext } from '../../_internal/floatingLayer'\nimport { usePrefersReducedMotion } from '../../_internal'\nimport { MOTION_TRANSITIONS } from '../../_internal/motion'\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { AnimatePresence, motion } from '../../motion'\nimport { popoverContentPropDefs } from './popover.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\nconst PopoverOpenContext = React.createContext(false)\n\ntype PopoverAriaContextValue = {\n titleId: string\n descriptionId: string\n}\n\nconst PopoverAriaContext = React.createContext<PopoverAriaContextValue | null>(null)\n\nfunction usePopoverAriaContext() {\n return React.useContext(PopoverAriaContext)\n}\n\nfunction useControllablePopoverOpenState({\n open: openProp,\n defaultOpen,\n onOpenChange,\n}: Pick<PopoverRootProps, 'open' | 'defaultOpen' | 'onOpenChange'>) {\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen ?? false)\n const open = openProp ?? uncontrolledOpen\n\n const handleOpenChange = React.useCallback(\n (nextOpen: boolean) => {\n if (openProp === undefined) {\n setUncontrolledOpen(nextOpen)\n }\n\n onOpenChange?.(nextOpen)\n },\n [onOpenChange, openProp],\n )\n\n return [open, handleOpenChange] as const\n}\n\ntype PopoverContentOwnProps = GetPropDefTypes<typeof popoverContentPropDefs>\n\ntype PopoverRootProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Root>\ntype PopoverProps = PopoverRootProps\ntype PopoverContentProps = React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> & PopoverContentOwnProps\n\ntype PopoverSide = NonNullable<React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>['side']>\ntype PopoverAlign = NonNullable<React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>['align']>\n\ninterface PopoverPositionerProps extends React.ComponentPropsWithoutRef<'div'> {\n side?: PopoverSide\n sideOffset?: number\n align?: PopoverAlign\n alignOffset?: number\n asChild?: boolean\n}\n\ninterface PopoverArrowProps extends Omit<React.ComponentPropsWithoutRef<'svg'>, 'width' | 'height'> {\n width?: number\n height?: number\n asChild?: boolean\n}\n\nconst PopoverTrigger: typeof PopoverPrimitive.Trigger = PopoverPrimitive.Trigger\nconst PopoverAnchor: typeof PopoverPrimitive.Anchor = PopoverPrimitive.Anchor\n\nfunction PopoverRoot({ children, defaultOpen, onOpenChange, open: openProp, ...props }: PopoverRootProps) {\n const [open, setOpen] = useControllablePopoverOpenState({\n open: openProp,\n defaultOpen,\n onOpenChange,\n })\n\n return (\n <PortalThemeBoundary>\n <PopoverOpenContext.Provider value={open}>\n <PopoverPrimitive.Root {...props} open={open} onOpenChange={setOpen}>\n {children}\n </PopoverPrimitive.Root>\n </PopoverOpenContext.Provider>\n </PortalThemeBoundary>\n )\n}\nPopoverRoot.displayName = 'Popover'\n\nconst PopoverPositioner = React.forwardRef<HTMLDivElement, PopoverPositionerProps>(\n ({ className, side = 'bottom', sideOffset = 8, align = 'center', alignOffset = 0, asChild, children, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'div'\n return (\n <Comp\n ref={forwardedRef}\n className={classNames('dsx-popover__positioner', className)}\n data-slot=\"popover-positioner\"\n data-side={side}\n data-align={align}\n {...props}\n >\n {children}\n </Comp>\n )\n },\n)\nPopoverPositioner.displayName = 'PopoverPositioner'\n\nconst PopoverArrow = React.forwardRef<SVGSVGElement, PopoverArrowProps>(\n ({ className, width = 10, height = 5, asChild, ...props }, forwardedRef) => {\n if (asChild) {\n const { onCopy: _onCopy, ...slotProps } = props as React.ComponentPropsWithoutRef<'div'>\n return (\n <Slot\n ref={forwardedRef as React.ForwardedRef<HTMLElement>}\n className={classNames('dsx-popover__arrow', className)}\n data-slot=\"popover-arrow\"\n {...slotProps}\n />\n )\n }\n return (\n <svg\n ref={forwardedRef}\n className={classNames('dsx-popover__arrow', className)}\n data-slot=\"popover-arrow\"\n width={width}\n height={height}\n viewBox=\"0 0 10 5\"\n preserveAspectRatio=\"none\"\n {...props}\n >\n <path d=\"M0 0 L5 5 L10 0 Z\" fill=\"currentColor\" />\n </svg>\n )\n },\n)\nPopoverArrow.displayName = 'PopoverArrow'\n\nconst PopoverContent = React.forwardRef<React.ComponentRef<typeof PopoverPrimitive.Content>, PopoverContentProps>(\n ({ className: propClassName, forceMount: forceMountProp = false, sideOffset = 8, showArrow = false, size = 'md', children, ...props }, forwardedRef) => {\n const open = React.useContext(PopoverOpenContext)\n const prefersReducedMotion = usePrefersReducedMotion()\n const { className, ...contentProps } = extractProps(\n {\n ...props,\n className: propClassName,\n showArrow,\n },\n popoverContentPropDefs,\n )\n const isPresent = open || forceMountProp\n const titleId = React.useId()\n const descriptionId = React.useId()\n\n return (\n <PopoverPrimitive.Portal>\n <AnimatePresence initial={false}>\n {isPresent ? (\n <PortalThemeWrapper key=\"popover-content\">\n <PopoverAriaContext.Provider value={{ titleId, descriptionId }}>\n <PopoverPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n asChild\n sideOffset={sideOffset}\n aria-labelledby={titleId}\n aria-describedby={descriptionId}\n data-size={size}\n data-show-arrow={showArrow ? 'true' : 'false'}\n >\n <motion.div\n className={classNames('dsx-popover__content', className)}\n initial={prefersReducedMotion ? { opacity: 0 } : { opacity: 0, y: 4 }}\n animate={prefersReducedMotion ? { opacity: open ? 1 : 0 } : { opacity: open ? 1 : 0, y: open ? 0 : 2 }}\n exit={prefersReducedMotion ? { opacity: 0 } : { opacity: 0, y: 2 }}\n transition={prefersReducedMotion ? MOTION_TRANSITIONS.reduced : MOTION_TRANSITIONS.popover}\n >\n <FloatingLayerHostContext.Provider value>\n {children}\n </FloatingLayerHostContext.Provider>\n {showArrow ? <PopoverPrimitive.Arrow className=\"dsx-popover__arrow\" width={16} height={8} /> : null}\n </motion.div>\n </PopoverPrimitive.Content>\n </PopoverAriaContext.Provider>\n </PortalThemeWrapper>\n ) : null}\n </AnimatePresence>\n </PopoverPrimitive.Portal>\n )\n },\n)\nPopoverContent.displayName = 'PopoverContent'\n\nconst PopoverTitle = React.forwardRef<React.ComponentRef<'h3'>, React.ComponentPropsWithoutRef<'h3'>>(\n ({ className, id, ...props }, forwardedRef) => {\n const ariaContext = usePopoverAriaContext()\n return (\n <h3\n {...props}\n ref={forwardedRef}\n id={id ?? ariaContext?.titleId}\n className={classNames('dsx-popover__title', className)}\n />\n )\n },\n)\nPopoverTitle.displayName = 'PopoverTitle'\n\nconst PopoverDescription = React.forwardRef<React.ComponentRef<'p'>, React.ComponentPropsWithoutRef<'p'>>(\n ({ className, id, ...props }, forwardedRef) => {\n const ariaContext = usePopoverAriaContext()\n return (\n <p\n {...props}\n ref={forwardedRef}\n id={id ?? ariaContext?.descriptionId}\n className={classNames('dsx-popover__description', className)}\n />\n )\n },\n)\nPopoverDescription.displayName = 'PopoverDescription'\n\nconst PopoverClose = React.forwardRef<\n React.ComponentRef<typeof PopoverPrimitive.Close>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Close>\n>(({ className, ...props }, forwardedRef) => (\n <PopoverPrimitive.Close\n {...props}\n ref={forwardedRef}\n className={classNames('dsx-popover__close', className)}\n />\n))\nPopoverClose.displayName = 'PopoverClose'\n\nconst Popover: typeof PopoverRoot & {\n Trigger: typeof PopoverTrigger\n Content: typeof PopoverContent\n Anchor: typeof PopoverAnchor\n Title: typeof PopoverTitle\n Description: typeof PopoverDescription\n Close: typeof PopoverClose\n Positioner: typeof PopoverPositioner\n Arrow: typeof PopoverArrow\n} = Object.assign(PopoverRoot, {\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n Anchor: PopoverAnchor,\n Title: PopoverTitle,\n Description: PopoverDescription,\n Close: PopoverClose,\n Positioner: PopoverPositioner,\n Arrow: PopoverArrow,\n})\nPopover.displayName = 'Popover'\n\nexport { Popover, PopoverAnchor, PopoverArrow, PopoverClose, PopoverContent, PopoverDescription, PopoverPositioner, PopoverRoot, PopoverTitle, PopoverTrigger }\nexport type { PopoverArrowProps, PopoverContentProps, PopoverPositionerProps, PopoverProps, PopoverRootProps }\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_motion", "classNames"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.d.cts","sourceRoot":"","sources":["../../../src/components/popover/Popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"Popover.d.cts","sourceRoot":"","sources":["../../../src/components/popover/Popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAA;AAS3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAqCpE,KAAK,sBAAsB,GAAG,eAAe,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE5E,KAAK,gBAAgB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAA;AACpF,KAAK,YAAY,GAAG,gBAAgB,CAAA;AACpC,KAAK,mBAAmB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAA;AAEnH,KAAK,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AACvG,KAAK,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;AAEzG,UAAU,sBAAuB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC5E,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,UAAU,iBAAkB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACjG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,QAAA,MAAM,cAAc,EAAE,OAAO,gBAAgB,CAAC,OAAkC,CAAA;AAChF,QAAA,MAAM,aAAa,EAAE,OAAO,gBAAgB,CAAC,MAAgC,CAAA;AAE7E,iBAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAgBvG;kBAhBQ,WAAW;;;AAmBpB,QAAA,MAAM,iBAAiB,+FAgBtB,CAAA;AAGD,QAAA,MAAM,YAAY,yFA4BjB,CAAA;AAGD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;yCAoDnB,CAAA;AAGD,QAAA,MAAM,YAAY,+KAYjB,CAAA;AAGD,QAAA,MAAM,kBAAkB,qLAYvB,CAAA;AAGD,QAAA,MAAM,YAAY,oKAShB,CAAA;AAGF,QAAA,MAAM,OAAO,EAAE,OAAO,WAAW,GAAG;IAClC,OAAO,EAAE,OAAO,cAAc,CAAA;IAC9B,OAAO,EAAE,OAAO,cAAc,CAAA;IAC9B,MAAM,EAAE,OAAO,aAAa,CAAA;IAC5B,KAAK,EAAE,OAAO,YAAY,CAAA;IAC1B,WAAW,EAAE,OAAO,kBAAkB,CAAA;IACtC,KAAK,EAAE,OAAO,YAAY,CAAA;IAC1B,UAAU,EAAE,OAAO,iBAAiB,CAAA;IACpC,KAAK,EAAE,OAAO,YAAY,CAAA;CAU1B,CAAA;AAGF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,CAAA;AAC/J,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.d.mts","sourceRoot":"","sources":["../../../src/components/popover/Popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"Popover.d.mts","sourceRoot":"","sources":["../../../src/components/popover/Popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAA;AAS3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAqCpE,KAAK,sBAAsB,GAAG,eAAe,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE5E,KAAK,gBAAgB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAA;AACpF,KAAK,YAAY,GAAG,gBAAgB,CAAA;AACpC,KAAK,mBAAmB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAA;AAEnH,KAAK,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AACvG,KAAK,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;AAEzG,UAAU,sBAAuB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC5E,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,UAAU,iBAAkB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACjG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,QAAA,MAAM,cAAc,EAAE,OAAO,gBAAgB,CAAC,OAAkC,CAAA;AAChF,QAAA,MAAM,aAAa,EAAE,OAAO,gBAAgB,CAAC,MAAgC,CAAA;AAE7E,iBAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAgBvG;kBAhBQ,WAAW;;;AAmBpB,QAAA,MAAM,iBAAiB,+FAgBtB,CAAA;AAGD,QAAA,MAAM,YAAY,yFA4BjB,CAAA;AAGD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;yCAoDnB,CAAA;AAGD,QAAA,MAAM,YAAY,+KAYjB,CAAA;AAGD,QAAA,MAAM,kBAAkB,qLAYvB,CAAA;AAGD,QAAA,MAAM,YAAY,oKAShB,CAAA;AAGF,QAAA,MAAM,OAAO,EAAE,OAAO,WAAW,GAAG;IAClC,OAAO,EAAE,OAAO,cAAc,CAAA;IAC9B,OAAO,EAAE,OAAO,cAAc,CAAA;IAC9B,MAAM,EAAE,OAAO,aAAa,CAAA;IAC5B,KAAK,EAAE,OAAO,YAAY,CAAA;IAC1B,WAAW,EAAE,OAAO,kBAAkB,CAAA;IACtC,KAAK,EAAE,OAAO,YAAY,CAAA;IAC1B,UAAU,EAAE,OAAO,iBAAiB,CAAA;IACpC,KAAK,EAAE,OAAO,YAAY,CAAA;CAU1B,CAAA;AAGF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,CAAA;AAC/J,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/components/popover/Popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/components/popover/Popover.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAA;AAS3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAqCpE,KAAK,sBAAsB,GAAG,eAAe,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE5E,KAAK,gBAAgB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAA;AACpF,KAAK,YAAY,GAAG,gBAAgB,CAAA;AACpC,KAAK,mBAAmB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,GAAG,sBAAsB,CAAA;AAEnH,KAAK,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;AACvG,KAAK,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;AAEzG,UAAU,sBAAuB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC5E,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,UAAU,iBAAkB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACjG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,QAAA,MAAM,cAAc,EAAE,OAAO,gBAAgB,CAAC,OAAkC,CAAA;AAChF,QAAA,MAAM,aAAa,EAAE,OAAO,gBAAgB,CAAC,MAAgC,CAAA;AAE7E,iBAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAgBvG;kBAhBQ,WAAW;;;AAmBpB,QAAA,MAAM,iBAAiB,+FAgBtB,CAAA;AAGD,QAAA,MAAM,YAAY,yFA4BjB,CAAA;AAGD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;yCAoDnB,CAAA;AAGD,QAAA,MAAM,YAAY,+KAYjB,CAAA;AAGD,QAAA,MAAM,kBAAkB,qLAYvB,CAAA;AAGD,QAAA,MAAM,YAAY,oKAShB,CAAA;AAGF,QAAA,MAAM,OAAO,EAAE,OAAO,WAAW,GAAG;IAClC,OAAO,EAAE,OAAO,cAAc,CAAA;IAC9B,OAAO,EAAE,OAAO,cAAc,CAAA;IAC9B,MAAM,EAAE,OAAO,aAAa,CAAA;IAC5B,KAAK,EAAE,OAAO,YAAY,CAAA;IAC1B,WAAW,EAAE,OAAO,kBAAkB,CAAA;IACtC,KAAK,EAAE,OAAO,YAAY,CAAA;IAC1B,UAAU,EAAE,OAAO,iBAAiB,CAAA;IACpC,KAAK,EAAE,OAAO,YAAY,CAAA;CAU1B,CAAA;AAGF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,CAAA;AAC/J,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -4,6 +4,7 @@ import classNames from "classnames";
|
|
|
4
4
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
5
5
|
import { Slot } from "../slot/Slot.js";
|
|
6
6
|
import { PortalThemeBoundary, PortalThemeWrapper } from "../../_internal/BaseDialog.js";
|
|
7
|
+
import { FloatingLayerHostContext } from "../../_internal/floatingLayer.js";
|
|
7
8
|
import { usePrefersReducedMotion } from "../../_internal/index.js";
|
|
8
9
|
import { MOTION_TRANSITIONS } from "../../_internal/motion.js";
|
|
9
10
|
import { extractProps } from "../../_internal/helpers/extractProps.js";
|
|
@@ -128,7 +129,7 @@ const PopoverContent = React.forwardRef(
|
|
|
128
129
|
exit: prefersReducedMotion ? { opacity: 0 } : { opacity: 0, y: 2 },
|
|
129
130
|
transition: prefersReducedMotion ? MOTION_TRANSITIONS.reduced : MOTION_TRANSITIONS.popover,
|
|
130
131
|
children: [
|
|
131
|
-
children,
|
|
132
|
+
/* @__PURE__ */ jsx(FloatingLayerHostContext.Provider, { value: true, children }),
|
|
132
133
|
showArrow ? /* @__PURE__ */ jsx(PopoverPrimitive.Arrow, { className: "dsx-popover__arrow", width: 16, height: 8 }) : null
|
|
133
134
|
]
|
|
134
135
|
}
|